Skip to content

Declare configured IMU topics in vehicle models - #54

Open
yeseorizi wants to merge 1 commit into
IOES-Lab:ros2from
yeseorizi:fix/vehicle-imu-topics
Open

Declare configured IMU topics in vehicle models#54
yeseorizi wants to merge 1 commit into
IOES-Lab:ros2from
yeseorizi:fix/vehicle-imu-topics

Conversation

@yeseorizi

Copy link
Copy Markdown
Collaborator

Summary

Declare the IMU sensor topic expected by each vehicle's ros_gz_bridge configuration.

Problem

The five vehicle descriptors contain an IMU sensor but do not set its <topic>. Gazebo therefore publishes IMU data on an automatically generated sensor path such as:

/world/.../model/<vehicle>/link/.../sensor/imu_sensor/imu

The corresponding robot_config.py files bridge a different, stable topic:

/model/<vehicle>/imu

The ROS bridge endpoint is created, but it receives no messages because no Gazebo publisher exists on the configured topic.

Change

Add the configured IMU topic to these model descriptors:

  • bluerov2
  • bluerov2_heavy
  • bluerov2_heavy_multibeam_sonar
  • glider_slocum
  • rexrov

No bridge names, message types, update rates, poses, or sensor parameters are changed.

Reproduction

Launch a vehicle and compare the configured topic with the Gazebo sensor topics:

ros2 launch dave_demos dave_robot.launch.py \
  namespace:=bluerov2 world_name:=dave_ocean_waves \
  paused:=false gui:=true headless:=true \
  use_ardusub:=false use_teleop:=false

gz topic -l | grep imu
ros2 topic echo /model/bluerov2/imu --once

Before the change, the default Gazebo sensor path publishes data while the configured short topic remains silent.

Validation

The topic correction was checked across all five affected descriptors:

  • rexrov: the patched run received all seven expected state/sensor streams, including IMU
  • glider_slocum: the patched run received all six expected state/sensor streams, including IMU
  • bluerov2: IMU payload received on /model/bluerov2/imu
  • bluerov2_heavy: IMU payload received on /model/bluerov2_heavy/imu
  • bluerov2_heavy_multibeam_sonar: a fresh ARM64 Docker run received an IMU payload on /model/bluerov2_heavy_multibeam_sonar/imu; the message contained orientation, angular velocity, and linear acceleration fields

The unpatched BlueROV sensor-contract run also confirmed that the default Gazebo IMU path had real data while all three configured short-name IMU topics were silent.

Repository checks:

pre-commit run --files \
  models/dave_robot_models/description/bluerov2/model.sdf \
  models/dave_robot_models/description/bluerov2_heavy/model.sdf \
  models/dave_robot_models/description/bluerov2_heavy_multibeam_sonar/model.sdf \
  models/dave_robot_models/description/glider_slocum/model.sdf \
  models/dave_robot_models/description/rexrov/model.sdf
# Passed

git diff --check
# Passed

Checklist

  • The change is limited to the missing IMU topic declarations.
  • Each topic matches its existing bridge configuration.
  • All five affected vehicle variants have runtime evidence.
  • Repository hooks passed.

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