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

bdaiinstitute / spot_ros2 / 15394787838
52%

Build:
DEFAULT BRANCH: main
Ran 04 Jun 2025 07:49PM UTC
Jobs 2
Files 57
Run time 1min
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: 51.184%. Remained the same
15394787838

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

2097 of 4097 relevant lines covered (51.18%)

27.59 hits per line

Jobs
ID Job ID Ran Files Coverage
1 unittests-python - 15394787838.1 04 Jun 2025 07:49PM UTC 7
38.37
GitHub Action Run
2 unittests-cpp - 15394787838.2 04 Jun 2025 07:49PM UTC 50
69.45
GitHub Action Run
Source Files on build 15394787838
  • Tree
  • List 57
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #15394787838
  • 54e338dc on github
  • Prev Build on main (#15164131113)
  • Next Build on main (#15638961429)
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