Skip to content

TB4 Gazebo Sim: LiDAR self-collision + Nav2 cmd_vel not reaching controller in turtlebot4_gz_bringup #676

@AlirezaPedram

Description

@AlirezaPedram

Robot Model

Turtlebot4 Standard

ROS distro

Jazzy

Networking Configuration

I do not know

OS

Ubuntu 24.04

Built from source or installed?

Installed

Package version

Built from source.

Repository: https://github.com/turtlebot/turtlebot4_simulator
Branch: jazzy

Type of issue

LIDAR

Expected behaviour

I am running the TurtleBot 4 simulator in Gazebo Harmonic (Gazebo Sim), and I am seeing two related issues when using turtlebot4_gz_bringup. These issues occur in simulation; I am not using physical hardware. In contrast, the Nav2 TB4 simulation works as expected. When I launch the simulation using
ros2 launch nav2_bringup tb4_simulation_launch.py headless:=False slam:=True, the LiDAR behaves correctly: /scan contains realistic ranges, RViz shows laser hits on walls, and SLAM Toolbox is able to build a map.

However, when I launch ros2 launch turtlebot4_gz_bringup turtlebot4_gz.launch.py slam:=true nav2:=true rviz:=true, the LiDAR appears unusable. In RViz I only see a small red ring around the robot, with no wall hits visible. Inspecting /scan shows that almost all range values are clamped to range_min (0.164), which suggests that the LiDAR rays are immediately intersecting the robot’s own collision geometry (self-collision). TF and odometry appear correct, and /scan has a single publisher.

In addition, when following the TurtleBot 4 navigation tutorial (https://turtlebot.github.io/turtlebot4-user-manual/tutorials/navigation.html), Nav2 goals are accepted but the robot does not move. It looks like Nav2 publishes velocity commands on /cmd_vel_nav, while the diff drive controller listens on /diffdrive_controller/cmd_vel. If I manually relay the topics using ros2 run topic_tools relay /cmd_vel_nav /diffdrive_controller/cmd_vel, the robot starts moving immediately.

I am wondering whether these are known issues with turtlebot4_gz_bringup in Gazebo Harmonic, and whether there is a recommended configuration or fix for the LiDAR self-collision and the cmd_vel topic mismatch.

Actual behaviour

See the previous section please.

Error messages

To Reproduce

  1. run: ros2 launch turtlebot4_gz_bringup turtlebot4_gz.launch.py slam:=true nav2:=true rviz:=true
  2. add LaserScan in Rviz
  3. /scan is clamped to range_min (0.164)

Other notes

No response

Metadata

Metadata

Labels

troubleshootingSystem not working as expected, may be user error.

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions