Skip to content

Add crater ROS topic to notify vehicle of nearest crater#5

Open
helkebir wants to merge 2 commits intoSERC-LEAPFROG:masterfrom
helkebir:master
Open

Add crater ROS topic to notify vehicle of nearest crater#5
helkebir wants to merge 2 commits intoSERC-LEAPFROG:masterfrom
helkebir:master

Conversation

@helkebir
Copy link

@helkebir helkebir commented Jun 15, 2021

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:

  1. A new Crater.proto message, in which the relative crater position (3-vector) and crater name are stored;
  2. A new gazebo_crater_catalog_plugin, which registers the craters in the world, and notifies the vehicle on the nearest crater by passing a Crater message on the ~/lander/crater_catalog topic;
  3. A sample implementation of a listener in gazebo_acs_controller, which automatically updates a ClosestCrater object that participants can access from within the controller.

helkebir added 2 commits June 14, 2021 22:20
…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.
@garrettgibo
Copy link
Member

garrettgibo commented Jun 15, 2021

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:
https://github.com/helkebir/LEAPFROG-Simulation/blob/51f64143b8bd6e46b9db4ad42c1e3b42c4e22470/src/gazebo_crater_catalog_plugin.cpp#L126-L141

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants