Skip to main content
The development container includes pre-configured aliases that simplify common ROS2 and TurtleBot3 operations. These shortcuts are automatically available in every terminal session.

Build and source aliases

These aliases help you quickly build and source your ROS2 workspace.

Build workspace

cb
This alias builds your entire workspace with colcon using symlink install for faster rebuilds.
cb

Source workspace

sb
Sources the workspace installation to make newly built packages available in your current terminal.
sb
You must run sb after building with cb to use your newly compiled packages.

Simulation world aliases

Launch different Gazebo simulation environments with a single command.

Empty world

tb3_empty
Launches a minimal empty world with the TurtleBot3 robot. Ideal for basic movement testing and teleoperation practice.
tb3_empty

TurtleBot3 world

tb3_world
Launches the TurtleBot3 world featuring obstacles and barriers. Perfect for testing navigation and obstacle avoidance.
tb3_world

House environment

tb3_house
Launches a complex indoor house environment. Excellent for advanced SLAM and navigation testing.
tb3_house

Robot control aliases

Teleoperation

tb3_teleop
Starts keyboard teleoperation for manual robot control.
tb3_teleop

SLAM and navigation aliases

SLAM mapping

tb3_slam
Launches Cartographer SLAM for real-time mapping. RViz2 opens automatically to visualize the map being created.
tb3_slam

Autonomous navigation

tb3_nav
Starts Navigation2 stack for autonomous navigation with your saved map.
tb3_nav
The tb3_nav alias expects a map file at ~/maps/my_map.yaml. Create a map using SLAM first before running autonomous navigation.

Software rendering aliases

If you experience GPU-related crashes with Gazebo, use these software rendering alternatives.

Software rendering variants

tb3_empty_sw   # Empty world with software rendering
tb3_world_sw   # TurtleBot3 world with software rendering
tb3_house_sw   # House environment with software rendering
These aliases set LIBGL_ALWAYS_SOFTWARE=1 to force software rendering, which provides better stability on systems without proper GPU acceleration.
Check ~/GPU_INFO.txt in your container to see your GPU detection results and rendering recommendations.

Common workflow examples

Basic simulation

1

Launch simulation

Open a terminal and start the empty world:
tb3_empty
2

Control the robot

Open a second terminal and start teleoperation:
tb3_teleop

Build custom package

1

Build workspace

cb
2

Source installation

sb
3

Use your package

Your newly built packages are now available in the current terminal.

SLAM workflow

1

Launch world

tb3_world
2

Start SLAM

In a second terminal:
tb3_slam
3

Drive to explore

In a third terminal:
tb3_teleop

Build docs developers (and LLMs) love