Multi-robot Playground
RandomizedSocialWelfareNode Class Reference

#include <RandomizedSocialWelfareNode.h>

Collaboration diagram for RandomizedSocialWelfareNode:

Public Member Functions

 RandomizedSocialWelfareNode ()
 
 ~RandomizedSocialWelfareNode ()
 

Private Member Functions

void EstimatePoseCallback (multirobotsimulations::CustomPose::ConstPtr msg)
 
void ClustersCallback (multirobotsimulations::Frontiers::ConstPtr msg)
 
void SubGoalFinishCallback (std_msgs::String::ConstPtr msg)
 
void CSpaceCallback (nav_msgs::OccupancyGrid::ConstPtr msg)
 
void SetExploringCallback (std_msgs::String::ConstPtr msg)
 
void SetBasestationCallback (std_msgs::String::ConstPtr msg)
 
void SetIdleCallback (std_msgs::String::ConstPtr msg)
 
void ChangeState (const ExplorerState &newState)
 
int SelectFrontier (multirobotsimulations::Frontiers &centroids, tf::Vector3 &selectFrontierWorld)
 
void CreateMarker (visualization_msgs::Marker &input, const char *ns, const int &id, const int &seq)
 
void SetGoal (const tf::Vector3 &goal)
 
void Update ()
 
bool CheckNear ()
 
int RandomizedFrontierSelection (multirobotsimulations::Frontiers &centroids, tf::Vector3 &selectFrontierWorld)
 
void CommCallback (std_msgs::Int8MultiArray::ConstPtr msg)
 

Private Attributes

int aQueueSize
 
int aRate
 
int aRobots
 
int aId
 
bool aHasPose
 
bool aHasOcc
 
bool aDirty
 
bool aFirst
 
double aDeltaTime
 
Vec2i aOccPos
 
ros::Time aLastTime
 
tf::Vector3 aWorldPos
 
tf::Vector3 aGoalFrontier
 
tf::Vector3 aGoalBasestation
 
std::string aNamespace
 
ExplorerState aCurrentState
 
std::vector< ros::Timer > aTimers
 
std::vector< ros::Subscriber > aSubscribers
 
ros::Publisher aGoalPublisher
 
ros::Publisher aFrontierComputePublisher
 
multirobotsimulations::Frontiers aFrontierCentroidsMsg
 
nav_msgs::OccupancyGrid aCSpaceMsg
 
bool aHasComm
 
std_msgs::Int8MultiArray aCommMsg
 
std::unique_ptr< std::mt19937 > aRandomNumberGenerator
 
std::random_device aRandomNumberDevice
 

Constructor & Destructor Documentation

◆ RandomizedSocialWelfareNode()

RandomizedSocialWelfareNode::RandomizedSocialWelfareNode ( )

◆ ~RandomizedSocialWelfareNode()

RandomizedSocialWelfareNode::~RandomizedSocialWelfareNode ( )

Member Function Documentation

◆ ChangeState()

void RandomizedSocialWelfareNode::ChangeState ( const ExplorerState newState)
private

◆ CheckNear()

bool RandomizedSocialWelfareNode::CheckNear ( )
private

◆ ClustersCallback()

void RandomizedSocialWelfareNode::ClustersCallback ( multirobotsimulations::Frontiers::ConstPtr  msg)
private

◆ CommCallback()

void RandomizedSocialWelfareNode::CommCallback ( std_msgs::Int8MultiArray::ConstPtr  msg)
private

◆ CreateMarker()

void RandomizedSocialWelfareNode::CreateMarker ( visualization_msgs::Marker &  input,
const char *  ns,
const int &  id,
const int &  seq 
)
private

◆ CSpaceCallback()

void RandomizedSocialWelfareNode::CSpaceCallback ( nav_msgs::OccupancyGrid::ConstPtr  msg)
private

◆ EstimatePoseCallback()

void RandomizedSocialWelfareNode::EstimatePoseCallback ( multirobotsimulations::CustomPose::ConstPtr  msg)
private

◆ RandomizedFrontierSelection()

int RandomizedSocialWelfareNode::RandomizedFrontierSelection ( multirobotsimulations::Frontiers &  centroids,
tf::Vector3 &  selectFrontierWorld 
)
private

◆ SelectFrontier()

int RandomizedSocialWelfareNode::SelectFrontier ( multirobotsimulations::Frontiers &  centroids,
tf::Vector3 &  selectFrontierWorld 
)
private

◆ SetBasestationCallback()

void RandomizedSocialWelfareNode::SetBasestationCallback ( std_msgs::String::ConstPtr  msg)
private

◆ SetExploringCallback()

void RandomizedSocialWelfareNode::SetExploringCallback ( std_msgs::String::ConstPtr  msg)
private

◆ SetGoal()

void RandomizedSocialWelfareNode::SetGoal ( const tf::Vector3 &  goal)
private

◆ SetIdleCallback()

void RandomizedSocialWelfareNode::SetIdleCallback ( std_msgs::String::ConstPtr  msg)
private

◆ SubGoalFinishCallback()

void RandomizedSocialWelfareNode::SubGoalFinishCallback ( std_msgs::String::ConstPtr  msg)
private

◆ Update()

void RandomizedSocialWelfareNode::Update ( )
private

Member Data Documentation

◆ aCommMsg

std_msgs::Int8MultiArray RandomizedSocialWelfareNode::aCommMsg
private

◆ aCSpaceMsg

nav_msgs::OccupancyGrid RandomizedSocialWelfareNode::aCSpaceMsg
private

◆ aCurrentState

ExplorerState RandomizedSocialWelfareNode::aCurrentState
private

◆ aDeltaTime

double RandomizedSocialWelfareNode::aDeltaTime
private

◆ aDirty

bool RandomizedSocialWelfareNode::aDirty
private

◆ aFirst

bool RandomizedSocialWelfareNode::aFirst
private

◆ aFrontierCentroidsMsg

multirobotsimulations::Frontiers RandomizedSocialWelfareNode::aFrontierCentroidsMsg
private

◆ aFrontierComputePublisher

ros::Publisher RandomizedSocialWelfareNode::aFrontierComputePublisher
private

◆ aGoalBasestation

tf::Vector3 RandomizedSocialWelfareNode::aGoalBasestation
private

◆ aGoalFrontier

tf::Vector3 RandomizedSocialWelfareNode::aGoalFrontier
private

◆ aGoalPublisher

ros::Publisher RandomizedSocialWelfareNode::aGoalPublisher
private

◆ aHasComm

bool RandomizedSocialWelfareNode::aHasComm
private

◆ aHasOcc

bool RandomizedSocialWelfareNode::aHasOcc
private

◆ aHasPose

bool RandomizedSocialWelfareNode::aHasPose
private

◆ aId

int RandomizedSocialWelfareNode::aId
private

◆ aLastTime

ros::Time RandomizedSocialWelfareNode::aLastTime
private

◆ aNamespace

std::string RandomizedSocialWelfareNode::aNamespace
private

◆ aOccPos

Vec2i RandomizedSocialWelfareNode::aOccPos
private

◆ aQueueSize

int RandomizedSocialWelfareNode::aQueueSize
private

◆ aRandomNumberDevice

std::random_device RandomizedSocialWelfareNode::aRandomNumberDevice
private

◆ aRandomNumberGenerator

std::unique_ptr<std::mt19937> RandomizedSocialWelfareNode::aRandomNumberGenerator
private

◆ aRate

int RandomizedSocialWelfareNode::aRate
private

◆ aRobots

int RandomizedSocialWelfareNode::aRobots
private

◆ aSubscribers

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

◆ aTimers

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

◆ aWorldPos

tf::Vector3 RandomizedSocialWelfareNode::aWorldPos
private

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