Implements the STDR server functionalities. More...
#include <stdr_server.h>
Public Member Functions | |
| void | deleteRobotCallback (const stdr_msgs::DeleteRobotGoalConstPtr &goal) |
| Action callback for robot deletion. | |
| bool | loadExternalMapCallback (stdr_msgs::LoadExternalMap::Request &req, stdr_msgs::LoadExternalMap::Response &res) |
| Service callback for loading the map from GUI. | |
| bool | loadMapCallback (stdr_msgs::LoadMap::Request &req, stdr_msgs::LoadMap::Response &res) |
| Service callback for loading the map. | |
| void | registerRobotCallback (const stdr_msgs::RegisterRobotGoalConstPtr &goal) |
| Action callback for robot registering. | |
| Server (int argc, char **argv) | |
| Default constructor. | |
| void | spawnRobotCallback (const stdr_msgs::SpawnRobotGoalConstPtr &goal) |
| Action callback for robot spawning. | |
Private Member Functions | |
| void | activateActionServers (void) |
| Initializes the spawn,delete,register action servers. | |
| bool | addCO2SourceCallback (stdr_msgs::AddCO2Source::Request &req, stdr_msgs::AddCO2Source::Response &res) |
| Service callback for adding new CO2 source to the environment. | |
| bool | addNewRobot (stdr_msgs::RobotMsg description, stdr_msgs::SpawnRobotResult *result) |
| Adds new robot to simulator. | |
| bool | addRfidTagCallback (stdr_msgs::AddRfidTag::Request &req, stdr_msgs::AddRfidTag::Response &res) |
| Service callback for adding new rfid tag to the environment. | |
| bool | addSoundSourceCallback (stdr_msgs::AddSoundSource::Request &req, stdr_msgs::AddSoundSource::Response &res) |
| Service callback for adding new sound source to the environment. | |
| bool | addThermalSourceCallback (stdr_msgs::AddThermalSource::Request &req, stdr_msgs::AddThermalSource::Response &res) |
| Service callback for adding new thermal source to the environment. | |
| bool | deleteCO2SourceCallback (stdr_msgs::DeleteCO2Source::Request &req, stdr_msgs::DeleteCO2Source::Response &res) |
| Service callback for deleting a CO2 source from the environment. | |
| bool | deleteRfidTagCallback (stdr_msgs::DeleteRfidTag::Request &req, stdr_msgs::DeleteRfidTag::Response &res) |
| Service callback for deleting an rfid tag from the environment. | |
| bool | deleteRobot (std::string name, stdr_msgs::DeleteRobotResult *result) |
| Deletes a robot from simulator. | |
| bool | deleteSoundSourceCallback (stdr_msgs::DeleteSoundSource::Request &req, stdr_msgs::DeleteSoundSource::Response &res) |
| Service callback for deleting a sound source from the environment. | |
| bool | deleteThermalSourceCallback (stdr_msgs::DeleteThermalSource::Request &req, stdr_msgs::DeleteThermalSource::Response &res) |
| Service callback for deleting a thermal source from the environment. | |
| bool | hasDublicateFrameIds (const stdr_msgs::RobotMsg &robot, std::string &f_id) |
Private Attributes | |
| ros::ServiceServer | _addCO2SourceServiceServer |
| The deleteCO2Source srv server. | |
| ros::ServiceServer | _addRfidTagServiceServer |
| The deleteRfidTag srv server. | |
| ros::ServiceServer | _addSoundSourceServiceServer |
| The deleteSoundSource srv server. | |
| ros::ServiceServer | _addThermalSourceServiceServer |
| The deleteThermalSource srv server. | |
| CO2SourceMap | _CO2SourceMap |
| An std::map that contains the thermal sources existent in the environment. | |
| ros::Publisher | _CO2SourceVectorPublisher |
| The addThermalSource srv server. | |
| ros::ServiceServer | _deleteCO2SourceServiceServer |
| The CO2 source list publisher. | |
| ros::ServiceServer | _deleteRfidTagServiceServer |
| The rfid tag list publisher. | |
| DeleteRobotServer | _deleteRobotServer |
| An std::map that contains the robots based on theor frame_id. | |
| ros::ServiceServer | _deleteSoundSourceServiceServer |
| The sound source list publisher. | |
| ros::ServiceServer | _deleteThermalSourceServiceServer |
| The thermal source list publisher. | |
| int | _id |
| An std::map that contains the rfid tags existent in the environment. | |
| ros::ServiceServer | _loadExternalMapService |
| Service server for moving robots. | |
| ros::ServiceServer | _loadMapService |
| Service server for loading maps from GUI. | |
| MapServerPtr | _mapServer |
| ROS publisher for the ensemble of robots. | |
| ros::ServiceServer | _moveRobotService |
| Action server for registering robots. | |
| boost::mutex | _mut |
| Boost condition variable for conflicting avoidance. | |
| ros::NodeHandle | _nh |
| < THe ROS node handle | |
| RegisterRobotServer | _registerRobotServer |
| Action server for spawning robots. | |
| RfidTagMap | _rfidTagMap |
| An std::map that contains the CO2 sources existent in the environment. | |
| ros::Publisher | _rfidTagVectorPublisher |
| The addCO2Source srv server. | |
| RobotMap | _robotMap |
| Index that shows the next robot id. | |
| ros::Publisher | _robotsPublisher |
| Action client for robot spawning. | |
| SoundSourceMap | _soundSourceMap |
| Boost mutex for conflict avoidance. | |
| ros::Publisher | _soundSourceVectorPublisher |
| ros::ServiceClient | _spawnRobotClient |
| Action client for robot unloading. | |
| SpawnRobotServer | _spawnRobotServer |
| Action server for deleting robots. | |
| ThermalSourceMap | _thermalSourceMap |
| An std::map that contains the sound sources existent in the environment. | |
| ros::Publisher | _thermalSourceVectorPublisher |
| The addSoundSource srv server. | |
| ros::ServiceClient | _unloadRobotClient |
| Service server for loading maps from files. | |
| boost::condition_variable | cond |
| The addRfidTag srv server. | |
Implements the STDR server functionalities.
Definition at line 96 of file stdr_server.h.
| stdr_server::Server::Server | ( | int | argc, |
| char ** | argv | ||
| ) |
Default constructor.
| argc | [int] Number of input arguments |
| argv | [char**] The input arguments |
< if we don't have map, no point to start servers
< Rfid tags
< CO2 sources
< Thermal sources
< Sound sources
Definition at line 30 of file stdr_server.cpp.
| void stdr_server::Server::activateActionServers | ( | void | ) | [private] |
Initializes the spawn,delete,register action servers.
Definition at line 519 of file stdr_server.cpp.
| bool stdr_server::Server::addCO2SourceCallback | ( | stdr_msgs::AddCO2Source::Request & | req, |
| stdr_msgs::AddCO2Source::Response & | res | ||
| ) | [private] |
Service callback for adding new CO2 source to the environment.
| req | [stdr_msgs::AddCO2Source::Request &] The request |
| res | [stdr_msgs::AddCO2Source::Response &] The Response |
< Sanity check for the source
< A source exists with the same id
< Publish the new source list
< Return success
Definition at line 176 of file stdr_server.cpp.
| bool stdr_server::Server::addNewRobot | ( | stdr_msgs::RobotMsg | description, |
| stdr_msgs::SpawnRobotResult * | result | ||
| ) | [private] |
Adds new robot to simulator.
| description | [stdr_msgs::RobotMsg] The new robot description |
| result | [stdr_msgs::SpawnRobotResult*] The action result |
< wait until robot calls RobotRegisterAction
Definition at line 532 of file stdr_server.cpp.
| bool stdr_server::Server::addRfidTagCallback | ( | stdr_msgs::AddRfidTag::Request & | req, |
| stdr_msgs::AddRfidTag::Response & | res | ||
| ) | [private] |
Service callback for adding new rfid tag to the environment.
| req | [stdr_msgs::AddRfidTag::Request &] The request |
| res | [stdr_msgs::AddRfidTag::Response &] The Response |
< Sanity check for the RFID tag
< A rfid tag exists with the same tag_id
< Publish the new RFID tag list
< Return success
Definition at line 143 of file stdr_server.cpp.
| bool stdr_server::Server::addSoundSourceCallback | ( | stdr_msgs::AddSoundSource::Request & | req, |
| stdr_msgs::AddSoundSource::Response & | res | ||
| ) | [private] |
Service callback for adding new sound source to the environment.
| req | [stdr_msgs::AddSoundSource::Request &] The request |
| res | [stdr_msgs::AddSoundSource::Response &] The Response |
< Sanity check for the source
< A source exists with the same id
< Publish the new source list
< Return success
Definition at line 244 of file stdr_server.cpp.
| bool stdr_server::Server::addThermalSourceCallback | ( | stdr_msgs::AddThermalSource::Request & | req, |
| stdr_msgs::AddThermalSource::Response & | res | ||
| ) | [private] |
Service callback for adding new thermal source to the environment.
| req | [stdr_msgs::AddThermalSource::Request &] The request |
| res | [stdr_msgs::AddThermalSource::Response &] The Response |
< Sanity check for the source
< A source exists with the same id
< Publish the new source list
< Return success
Definition at line 210 of file stdr_server.cpp.
| bool stdr_server::Server::deleteCO2SourceCallback | ( | stdr_msgs::DeleteCO2Source::Request & | req, |
| stdr_msgs::DeleteCO2Source::Response & | res | ||
| ) | [private] |
Service callback for deleting a CO2 source from the environment.
| req | [stdr_msgs::DeleteCO2Source::Request &] The request |
| res | [stdr_msgs::DeleteCO2Source::Response &] The Response |
< Publish the new sources list
< Source does not exist
Definition at line 307 of file stdr_server.cpp.
| bool stdr_server::Server::deleteRfidTagCallback | ( | stdr_msgs::DeleteRfidTag::Request & | req, |
| stdr_msgs::DeleteRfidTag::Response & | res | ||
| ) | [private] |
Service callback for deleting an rfid tag from the environment.
| req | [stdr_msgs::DeleteRfidTag::Request &] The request |
| res | [stdr_msgs::DeleteRfidTag::Response &] The Response |
< Publish the new RFID tag list
< Tag does not exist
Definition at line 278 of file stdr_server.cpp.
| bool stdr_server::Server::deleteRobot | ( | std::string | name, |
| stdr_msgs::DeleteRobotResult * | result | ||
| ) | [private] |
Deletes a robot from simulator.
| name | [std::string] The robot frame_id |
| result | [stdr_msgs::DeleteRobotResult*] The action result |
Definition at line 571 of file stdr_server.cpp.
| void stdr_server::Server::deleteRobotCallback | ( | const stdr_msgs::DeleteRobotGoalConstPtr & | goal | ) |
Action callback for robot deletion.
| goal | [const stdr_msgs::DeleteRobotGoalConstPtr&] The action goal |
Definition at line 475 of file stdr_server.cpp.
| bool stdr_server::Server::deleteSoundSourceCallback | ( | stdr_msgs::DeleteSoundSource::Request & | req, |
| stdr_msgs::DeleteSoundSource::Response & | res | ||
| ) | [private] |
Service callback for deleting a sound source from the environment.
| req | [stdr_msgs::DeleteSoundSource::Request &] The request |
| res | [stdr_msgs::DeleteSoundSource::Response &] The Response |
< Publish the new sources list
< Source does not exist
Definition at line 365 of file stdr_server.cpp.
| bool stdr_server::Server::deleteThermalSourceCallback | ( | stdr_msgs::DeleteThermalSource::Request & | req, |
| stdr_msgs::DeleteThermalSource::Response & | res | ||
| ) | [private] |
Service callback for deleting a thermal source from the environment.
| req | [stdr_msgs::DeleteThermalSource::Request &] The request |
| res | [stdr_msgs::DeleteThermalSource::Response &] The Response |
< Publish the new sources list
< Source does not exist
Definition at line 336 of file stdr_server.cpp.
| bool stdr_server::Server::hasDublicateFrameIds | ( | const stdr_msgs::RobotMsg & | robot, |
| std::string & | f_id | ||
| ) | [private] |
Definition at line 604 of file stdr_server.cpp.
| bool stdr_server::Server::loadExternalMapCallback | ( | stdr_msgs::LoadExternalMap::Request & | req, |
| stdr_msgs::LoadExternalMap::Response & | res | ||
| ) |
Service callback for loading the map from GUI.
| req | [stdr_msgs::LoadExternalMap::Request&] The service request |
| res | [stdr_msgs::LoadExternalMap::Response&] The service response |
| req | [stdr_msgs::LoadExternalMap::Request&] The service request |
| res | [stdr_msgs::LoadExternalMap::Response&] The service response |
< if we don't have map, no point to start servers
Definition at line 418 of file stdr_server.cpp.
| bool stdr_server::Server::loadMapCallback | ( | stdr_msgs::LoadMap::Request & | req, |
| stdr_msgs::LoadMap::Response & | res | ||
| ) |
Service callback for loading the map.
| req | [stdr_msgs::LoadMap::Request&] The service request |
| res | [stdr_msgs::LoadMap::Response&] The service response |
< if we don't have map, no point to start servers
Definition at line 397 of file stdr_server.cpp.
| void stdr_server::Server::registerRobotCallback | ( | const stdr_msgs::RegisterRobotGoalConstPtr & | goal | ) |
Action callback for robot registering.
| goal | [const stdr_msgs::RegisterRobotGoalConstPtr&] The action goal |
< notify spawn action, to reply to spawnner
Definition at line 503 of file stdr_server.cpp.
| void stdr_server::Server::spawnRobotCallback | ( | const stdr_msgs::SpawnRobotGoalConstPtr & | goal | ) |
Action callback for robot spawning.
| goal | [const stdr_msgs::SpawnRobotGoalConstPtr&] The action goal |
< publish to active_robots topic
Definition at line 439 of file stdr_server.cpp.
The deleteCO2Source srv server.
Definition at line 318 of file stdr_server.h.
The deleteRfidTag srv server.
Definition at line 311 of file stdr_server.h.
The deleteSoundSource srv server.
Definition at line 332 of file stdr_server.h.
The deleteThermalSource srv server.
Definition at line 325 of file stdr_server.h.
An std::map that contains the thermal sources existent in the environment.
Definition at line 299 of file stdr_server.h.
The addThermalSource srv server.
Definition at line 323 of file stdr_server.h.
The CO2 source list publisher.
Definition at line 320 of file stdr_server.h.
The rfid tag list publisher.
Definition at line 313 of file stdr_server.h.
An std::map that contains the robots based on theor frame_id.
Definition at line 290 of file stdr_server.h.
The sound source list publisher.
Definition at line 334 of file stdr_server.h.
The thermal source list publisher.
Definition at line 327 of file stdr_server.h.
int stdr_server::Server::_id [private] |
An std::map that contains the rfid tags existent in the environment.
Definition at line 295 of file stdr_server.h.
Service server for moving robots.
Definition at line 280 of file stdr_server.h.
Service server for loading maps from GUI.
Definition at line 278 of file stdr_server.h.
MapServerPtr stdr_server::Server::_mapServer [private] |
ROS publisher for the ensemble of robots.
Definition at line 269 of file stdr_server.h.
Action server for registering robots.
Definition at line 283 of file stdr_server.h.
boost::mutex stdr_server::Server::_mut [private] |
Boost condition variable for conflicting avoidance.
Definition at line 306 of file stdr_server.h.
ros::NodeHandle stdr_server::Server::_nh [private] |
Action server for spawning robots.
Definition at line 285 of file stdr_server.h.
RfidTagMap stdr_server::Server::_rfidTagMap [private] |
An std::map that contains the CO2 sources existent in the environment.
Definition at line 297 of file stdr_server.h.
The addCO2Source srv server.
Definition at line 316 of file stdr_server.h.
RobotMap stdr_server::Server::_robotMap [private] |
Index that shows the next robot id.
Definition at line 292 of file stdr_server.h.
Action client for robot spawning.
Definition at line 272 of file stdr_server.h.
Boost mutex for conflict avoidance.
Definition at line 304 of file stdr_server.h.
Definition at line 335 of file stdr_server.h.
Action client for robot unloading.
Definition at line 274 of file stdr_server.h.
Action server for deleting robots.
Definition at line 287 of file stdr_server.h.
An std::map that contains the sound sources existent in the environment.
Definition at line 301 of file stdr_server.h.
The addSoundSource srv server.
Definition at line 330 of file stdr_server.h.
Service server for loading maps from files.
Definition at line 276 of file stdr_server.h.
boost::condition_variable stdr_server::Server::cond [private] |
The addRfidTag srv server.
Definition at line 309 of file stdr_server.h.