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

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions