Skip to content

lite_biped: real base-IMU ros2_control sensor block - #11

Merged
T-K-233 merged 1 commit into
mainfrom
feat/lite-biped-real-imu
Jul 20, 2026
Merged

lite_biped: real base-IMU ros2_control sensor block#11
T-K-233 merged 1 commit into
mainfrom
feat/lite-biped-real-imu

Conversation

@T-K-233

@T-K-233 T-K-233 commented Jul 20, 2026

Copy link
Copy Markdown
Member

Adds a real base-IMU to lite_biped so the same imu_sensor_broadcaster publishes /imu/data on sim and real (previously the IMU existed only on the sim/mock block).

  • Generator (robot_assets): _real_imu_block() emits a standalone <ros2_control type="sensor"> block on the real branch when ros2_control.json's imu carries a real_plugin; imu_port threaded through the real/top macros + assembly. All conditional — regenerating every robot changes only lite_biped (verified).
  • ros2_control.json: imu.real_plugin = humanoid_devices_imu_hardware/YahboomImuSensor, real_block_name, imu_port arg.
  • Regenerated lite_biped.ros2_control.xacro + lite_biped.urdf.xacro (real block exposes the same 10 base_imu interfaces as sim; well-formed; test_ros2_artifacts invariants hold).

Pairs with Berkeley-Humanoids/humanoid_control_ros2 (the YahboomImuSensor plugin + imu_sensor_broadcaster wiring) — merge together.

🤖 Generated with Claude Code

https://claude.ai/code/session_012QKJQ9hze1hMWXJpdPcjp3

The lite_biped real (RobStride) branch previously had no IMU -- the base
IMU only existed on the sim/mock combined block (MujocoSystem). Emit a
standalone <ros2_control type="sensor"> block ("LiteBipedIMU") on the
real branch driven by imu.real_plugin, exposing the SAME base_imu
interfaces as sim, so imu_sensor_broadcaster republishes /imu/data
identically on sim and real (no standalone IMU driver node).

- robot_assets generator: _real_imu_block() + thread imu_port through the
  real macro / top macro / assembly, conditional on imu.real_plugin
  (no-op for robots without a real IMU -- regenerating the fleet only
  changes lite_biped)
- ros2_control.json: imu.real_plugin =
  humanoid_devices_imu_hardware/YahboomImuSensor, real_block_name, and an
  imu_port arg (default /dev/ttyUSB0)
- regenerated lite_biped.ros2_control.xacro + lite_biped.urdf.xacro

Pairs with Berkeley-Humanoids/humanoid_control_ros2 (the YahboomImuSensor
plugin + imu_sensor_broadcaster wiring).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012QKJQ9hze1hMWXJpdPcjp3
@T-K-233
T-K-233 merged commit 77509b5 into main Jul 20, 2026
2 checks passed
@T-K-233
T-K-233 deleted the feat/lite-biped-real-imu branch July 20, 2026 22:45
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.

1 participant