Add crater ROS topic to notify vehicle of nearest crater#5
Add crater ROS topic to notify vehicle of nearest crater#5helkebir wants to merge 2 commits intoSERC-LEAPFROG:masterfrom
Conversation
…planar relative location of the nearest crater, as well as its name. This commit adds a new Crater.proto message, and a plugin gazebo_crater_catalog_plugin.h, which exposes a ROS topic at `~/lander/crater_catalog`. An example subscriber implementation is included in gazebo_acs_controller_plugin.cpp. lander.sdf was modified to accommodate the new plugin, as was CMakeLists.txt.
…planar relative location of the nearest crater, as well as its name. This commit adds a new Crater.proto message, and a plugin gazebo_crater_catalog_plugin.h, which exposes a ROS topic at `~/lander/crater_catalog`. An example subscriber implementation is included in gazebo_acs_controller_plugin.cpp. lander.sdf was modified to accommodate the new plugin, as was CMakeLists.txt.
|
Hi @helkebir Great work with what you have done so far with this plugin! The notable difference from a logic/usage standpoint is that this implementation is determining the closest crater to the vehicle at all times irrespective of how far away that closest crater actually is. This logic here is what I am referring to: The other main point to clarify for you and all teams is that the message that you are sending on a topic is not ROS topic, but rather it is using the internal messaging system fueled by the Gazebo transport system. This is an important distinction, because these messages would not be accessible via the normal ROS topic methods. |
At present, no mechanism has been provided to obtain the closest relative crater position and name, without disclosing the entire world to participants. This pull request provides a unified interface to obtain live updates about the nearest crater, using a new ROS topic
~/lander/crater_catalog.The proposed changes are three-fold:
Crater.protomessage, in which the relative crater position (3-vector) and crater name are stored;gazebo_crater_catalog_plugin, which registers the craters in the world, and notifies the vehicle on the nearest crater by passing aCratermessage on the~/lander/crater_catalogtopic;gazebo_acs_controller, which automatically updates aClosestCraterobject that participants can access from within the controller.