• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

bdaiinstitute / spot_ros2 / 15394787838 / 2
52%
main: 52%

Build:
DEFAULT BRANCH: main
Ran 04 Jun 2025 07:50PM UTC
Files 50
Run time 2s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

02 Jun 2025 02:22PM UTC coverage: 69.449%. Remained the same
15394787838.2

push

github

web-flow
[SW-2538] Improve namespacing handling in spot ros2 control (#670)

## Change Overview

* We were previously autogenerating ros2 control config files at runtime to account for our ros2 control interfaces being namespaced.
  * For example, we have the command interface `front_left_hip_x.position` if the ros2 control stack is not launched in a namespace, and `Opal/front_left_hip_x.position` if launched in the `Opal` namespace. This mimics how we handle namespacing and frame prefixing in the spot driver.
  * Any controller that  needed a list of interfaces specified as a parameter needed to manually account for this at runtime
* This PR makes our controllers pick up this namespace automatically and apply it where relevant. This simplifies the controller config yaml significantly and we no longer have to autogenerate at runtime. 
  * This is implemented as a boolean parameter `use_namespace_as_prefix` to the relevant controllers. If we decide to rework how our ros2 control interfaces are set up in the future we can just turn that parameter off. 
* We were previously using the builtin ros2 control imu sensor broadcaster. This PR adds a new controller `spot_imu_broadcaster` that inherits from this standard controller to assist with picking up the namespace. 
* Includes a minor quality of life change to `spot_joint_controller`. If you launch in a namespace (i.e. `Opal`), the behavior before was you had to send a command of this form, where the joint name is prefixed with the namespace: `"name: ["Opal/arm_f1x"] position: [-0.5] ...`. This behavior is still a valid way to send a command, but now the user has the option of also sending a command where the joint does not have the prefix: `"name: ["arm_f1x"] position: [-0.5] ...`.

## Testing Done
- [x] Tested in mock hardware mode - with arm, without arm, with namespace, without namespace
- [x] Tested relevant examples on hardware both with and without namespace, on a robot with an arm

1173 of 1689 relevant lines covered (69.45%)

66.37 hits per line

Source Files on job unittests-cpp - 15394787838.2
  • Tree
  • List 50
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 15394787838
  • 54e338dc on github
  • Prev Job for on main (#15164131113.2)
  • Next Job for on main (#15638961429.2)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc