astrobee
astrobee copied to clipboard
ROS2 Astrobee simulation - executive conversion
Hi. Recently I needed to run Astrobee in ROS2 and wanted to be able to do the following:
- See the images from dock/nav cam.
- Use the undock behavior.
- Send the Astrobee simple one-point goals.
- Run a multi-robot simulation, with Bumble and Honey.
To do this, the management/executive is needed. I took as reference Katie's PR: https://github.com/nasa/astrobee/pull/777 and added the following modifications:
- Converted sys_monitor.
- Fix the way in which ConfigClient is given a node argument (otherwise it crashes due to its using SyncParametersClient).
- Fix a few bugs in the time utilities (seconds were being converted to nanoseconds).
- Fix a few bugs in the launch files (specifically, use_sim_time was not being set in the right parameter field).
- Upgrade Gazebo to be version 11.14. Current version in the rolling image is 11.11 (which makes sense, as this is the latest version that was available last April, when the rolling image for astrobee was last built). This version is needed for the nav_cam/dock_cam sensors (wideanglecamera) to be parsed.
- Added a few edits to the launch files to support the namespacing of launch files (using PushRosNamespace)
- Add the robot_namespace parameter for the gazebo spawn node.
My changes are in this branch: https://github.com/traclabs/astrobee/tree/ros2_executive . With these changes I am currently able to undock the robot and move it around, either in the default setup or with Bumble/Honey (video attached).
I'd be happy to send a PR if it is helpful, thanks!
Multi-robot testing:
https://github.com/nasa/astrobee/assets/555379/da5ddd98-0854-466d-b0d2-17865a79b869
Default robot testing
https://github.com/nasa/astrobee/assets/555379/6a7efc22-96b6-4e38-a2fc-88773ff03eff