bdaiinstitute / spot_ros2

ROS 2 driver package for Boston Dynamics' Spot
Other
185 stars 63 forks source link

[SW-1394] add option for odom/fiducial/camera publishing from ros2 control launchfile #485

Closed khughes-bdai closed 2 months ago

khughes-bdai commented 2 months ago

Change Overview

Some nodes we have written in spot_driver are compatible with the ros2 control interface -- specifically, the state publisher node, the object sync node, and the camera publishers. This by default will launch these nodes when the ros2 control stack is run on robot. There is the option to turn off image publishing in case of bandwidth issues / if the user does not need it.

Since I was copying and pasting the launch arguments for the image publishers a lot, this PR also moves these into spot_launch_helpers.py so they can simply be imported into all the launchfiles that use it.

Finally, this changes the topic name that the low level joint states are published on from /<robot>/joint_states to /<robot>/low_level/joint_states and updates the nodes that rely on this accordingly. This is useful here because the state publisher node publishes to /<robot>/joint_states and we want to have a clear distinction between these two, as they are being published from two different sources via different BD API calls (unclear if the values the high / low level query produces are the same).

Testing Done

frames_ros2control.png

khughes-bdai commented 2 months ago

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @khughes-bdai and the rest of your teammates on Graphite Graphite

coveralls commented 2 months ago

Pull Request Test Coverage Report for Build 10999106474

Details


Files with Coverage Reduction New Missed Lines %
spot_ros2/spot_ros2/spot_driver/spot_driver/launch/spot_launch_helpers.py 14 80.95%
<!-- Total: 14 -->
Totals Coverage Status
Change from base Build 10948915446: 0.2%
Covered Lines: 1929
Relevant Lines: 3767

💛 - Coveralls
khughes-bdai commented 2 months ago

Merge activity