Multi-robot Playground
CSpaceNode Class Reference

#include <CSpaceNode.h>

Public Member Functions

 CSpaceNode ()
 
 ~CSpaceNode ()
 

Private Member Functions

void Inflate (nav_msgs::OccupancyGrid &occ, nav_msgs::OccupancyGrid &free, nav_msgs::OccupancyGrid &occupied, const double &freeInflationRadius, const double &occupiedInflationRadius, const int8_t &occupancyThreshold=90, const int8_t &freeThreshold=50, const int8_t &occupiedValue=100, const int8_t &freeVal=1)
 
void ApplyDynamicData (nav_msgs::OccupancyGrid &occ, nav_msgs::OccupancyGrid &dynamicOcc, std::vector< geometry_msgs::PoseArray > &lidarSources, const double &maxLidarRange=10.0, const int8_t &occupiedValue=100)
 
void ApplyDynamicData (nav_msgs::OccupancyGrid &occ, nav_msgs::OccupancyGrid &dynamicOcc, std::vector< geometry_msgs::PoseArray > &lidarSources, std::vector< geometry_msgs::PoseArray > &otherSources, const double &maxLidarRange=10.0, const int8_t &occupiedValue=100)
 
void GenerateCSpace (nav_msgs::OccupancyGrid &free, nav_msgs::OccupancyGrid &occupied, nav_msgs::OccupancyGrid &cspace, tf::Vector3 &occ_pose, const int8_t &unknownVal=-1)
 
void InflatePoseForPlanner (nav_msgs::OccupancyGrid &cspace, const double &freeInflationRadius, const int &x, const int &y, const int8_t &occupancyThreshold=90, const int8_t &freeVal=1)
 
void ClearLocalTrajectories (std::vector< geometry_msgs::PoseArray > &local, std_msgs::Int8MultiArray &comm)
 
void RobotsInCommCallback (std_msgs::Int8MultiArray::ConstPtr msg)
 
void OccCallback (nav_msgs::OccupancyGrid::ConstPtr msg)
 
void WorldPoseCallback (multirobotsimulations::CustomPose::ConstPtr msg)
 
void Update ()
 

Private Attributes

int aQueueSize
 
int aId
 
int aLidarSources
 
int aRobots
 
bool aHasOcc
 
bool aHasPose
 
bool aReceivedComm
 
double aRate
 
double aLidarRange
 
double aFreeInflateRadius
 
double aOccuInflateRadius
 
tf::Vector3 aOccPose
 
std::string aNamespace
 
std::vector< ros::Timer > aTimers
 
std::vector< ros::Subscriber > aSubscribers
 
ros::Publisher aCspacePublisher
 
nav_msgs::OccupancyGrid aOccMsg
 
nav_msgs::OccupancyGrid aFreeCellsMsg
 
nav_msgs::OccupancyGrid aOccupiedCellsMsg
 
nav_msgs::OccupancyGrid aOccWithDynamicDataMsg
 
nav_msgs::OccupancyGrid aCspaceMsg
 
multirobotsimulations::CustomPose aWorldPoseMsg
 
std_msgs::Int8MultiArray aRobotsInCommMsg
 
std::vector< geometry_msgs::PoseArray > aTrajectoriesArray
 
std::vector< geometry_msgs::PoseArray > aLidarsArray
 

Constructor & Destructor Documentation

◆ CSpaceNode()

CSpaceNode::CSpaceNode ( )

◆ ~CSpaceNode()

CSpaceNode::~CSpaceNode ( )

Member Function Documentation

◆ ApplyDynamicData() [1/2]

void CSpaceNode::ApplyDynamicData ( nav_msgs::OccupancyGrid &  occ,
nav_msgs::OccupancyGrid &  dynamicOcc,
std::vector< geometry_msgs::PoseArray > &  lidarSources,
const double &  maxLidarRange = 10.0,
const int8_t &  occupiedValue = 100 
)
private

◆ ApplyDynamicData() [2/2]

void CSpaceNode::ApplyDynamicData ( nav_msgs::OccupancyGrid &  occ,
nav_msgs::OccupancyGrid &  dynamicOcc,
std::vector< geometry_msgs::PoseArray > &  lidarSources,
std::vector< geometry_msgs::PoseArray > &  otherSources,
const double &  maxLidarRange = 10.0,
const int8_t &  occupiedValue = 100 
)
private

◆ ClearLocalTrajectories()

void CSpaceNode::ClearLocalTrajectories ( std::vector< geometry_msgs::PoseArray > &  local,
std_msgs::Int8MultiArray &  comm 
)
private

◆ GenerateCSpace()

void CSpaceNode::GenerateCSpace ( nav_msgs::OccupancyGrid &  free,
nav_msgs::OccupancyGrid &  occupied,
nav_msgs::OccupancyGrid &  cspace,
tf::Vector3 &  occ_pose,
const int8_t &  unknownVal = -1 
)
private

◆ Inflate()

void CSpaceNode::Inflate ( nav_msgs::OccupancyGrid &  occ,
nav_msgs::OccupancyGrid &  free,
nav_msgs::OccupancyGrid &  occupied,
const double &  freeInflationRadius,
const double &  occupiedInflationRadius,
const int8_t &  occupancyThreshold = 90,
const int8_t &  freeThreshold = 50,
const int8_t &  occupiedValue = 100,
const int8_t &  freeVal = 1 
)
private

◆ InflatePoseForPlanner()

void CSpaceNode::InflatePoseForPlanner ( nav_msgs::OccupancyGrid &  cspace,
const double &  freeInflationRadius,
const int &  x,
const int &  y,
const int8_t &  occupancyThreshold = 90,
const int8_t &  freeVal = 1 
)
private

◆ OccCallback()

void CSpaceNode::OccCallback ( nav_msgs::OccupancyGrid::ConstPtr  msg)
private

◆ RobotsInCommCallback()

void CSpaceNode::RobotsInCommCallback ( std_msgs::Int8MultiArray::ConstPtr  msg)
private

◆ Update()

void CSpaceNode::Update ( )
private

◆ WorldPoseCallback()

void CSpaceNode::WorldPoseCallback ( multirobotsimulations::CustomPose::ConstPtr  msg)
private

Member Data Documentation

◆ aCspaceMsg

nav_msgs::OccupancyGrid CSpaceNode::aCspaceMsg
private

◆ aCspacePublisher

ros::Publisher CSpaceNode::aCspacePublisher
private

◆ aFreeCellsMsg

nav_msgs::OccupancyGrid CSpaceNode::aFreeCellsMsg
private

◆ aFreeInflateRadius

double CSpaceNode::aFreeInflateRadius
private

◆ aHasOcc

bool CSpaceNode::aHasOcc
private

◆ aHasPose

bool CSpaceNode::aHasPose
private

◆ aId

int CSpaceNode::aId
private

◆ aLidarRange

double CSpaceNode::aLidarRange
private

◆ aLidarsArray

std::vector<geometry_msgs::PoseArray> CSpaceNode::aLidarsArray
private

◆ aLidarSources

int CSpaceNode::aLidarSources
private

◆ aNamespace

std::string CSpaceNode::aNamespace
private

◆ aOccMsg

nav_msgs::OccupancyGrid CSpaceNode::aOccMsg
private

◆ aOccPose

tf::Vector3 CSpaceNode::aOccPose
private

◆ aOccuInflateRadius

double CSpaceNode::aOccuInflateRadius
private

◆ aOccupiedCellsMsg

nav_msgs::OccupancyGrid CSpaceNode::aOccupiedCellsMsg
private

◆ aOccWithDynamicDataMsg

nav_msgs::OccupancyGrid CSpaceNode::aOccWithDynamicDataMsg
private

◆ aQueueSize

int CSpaceNode::aQueueSize
private

◆ aRate

double CSpaceNode::aRate
private

◆ aReceivedComm

bool CSpaceNode::aReceivedComm
private

◆ aRobots

int CSpaceNode::aRobots
private

◆ aRobotsInCommMsg

std_msgs::Int8MultiArray CSpaceNode::aRobotsInCommMsg
private

◆ aSubscribers

std::vector<ros::Subscriber> CSpaceNode::aSubscribers
private

◆ aTimers

std::vector<ros::Timer> CSpaceNode::aTimers
private

◆ aTrajectoriesArray

std::vector<geometry_msgs::PoseArray> CSpaceNode::aTrajectoriesArray
private

◆ aWorldPoseMsg

multirobotsimulations::CustomPose CSpaceNode::aWorldPoseMsg
private

The documentation for this class was generated from the following file: