Available models
TheTURTLEBOT3_MODEL environment variable determines which robot configuration is loaded in simulations.
Burger
- Default model in this container
- Smallest and most affordable TurtleBot3
- 2-wheel differential drive
- LiDAR sensor (360° laser scanner)
- IMU sensor
- Ideal for learning and basic navigation
Waffle
- Larger platform with more sensors
- 2-wheel differential drive
- LiDAR sensor
- Intel RealSense R200 camera
- IMU sensor
- Better for advanced navigation and vision tasks
Waffle Pi
- Similar to Waffle but with Raspberry Pi Camera
- 2-wheel differential drive
- LiDAR sensor
- Raspberry Pi Camera v2
- IMU sensor
- Alternative to Waffle with different camera hardware
Current model configuration
The default model is set in.devcontainer/devcontainer.json:49-57:
Changing the model
Method 1: Rebuild container (permanent)
To permanently change the model:- Edit
.devcontainer/devcontainer.json - Change the
TURTLEBOT3_MODELvalue:
- Rebuild the container:
- Press
F1in VS Code - Select Dev Containers: Rebuild Container
- Wait for rebuild to complete (5-10 minutes)
- Press
Method 2: Set per-session (temporary)
To temporarily use a different model in your current terminal session:This method only affects the current terminal. Open a new terminal and it will revert to the default model.
Method 3: Set per-launch (one-time)
Override the model for a single launch:Verifying the active model
Check which model is currently configured:burger, waffle, or waffle_pi
Model differences in simulation
Visual differences
- Burger: Compact, circular base
- Waffle: Larger, square base with camera mount
- Waffle Pi: Similar to Waffle with different camera
Sensor topic differences
All models publish:/scan- LiDAR data/odom- Odometry/imu- IMU data/cmd_vel- Velocity commands (input)
/camera/image_raw- Camera images/camera/camera_info- Camera calibration
Performance differences
The Waffle and Waffle Pi models require slightly more computational resources due to camera simulation.Model files location
Model descriptions are stored in the TurtleBot3 source:Troubleshooting
No robot appears in Gazebo
Symptom: Gazebo launches but the world is empty Solution:- Verify the model is set:
- If empty, set it:
- Relaunch the simulation
Wrong model appears
Symptom: Expected Waffle but Burger appeared Solution: The environment variable may not be set in the terminal you’re using. Either:- Source your bashrc:
source ~/.bashrc - Export the model manually:
export TURTLEBOT3_MODEL=waffle - Restart the terminal
Model mismatch errors
Symptom: ROS2 topics don’t match expected model Solution: Make sure all terminals use the same model. Runecho $TURTLEBOT3_MODEL in each terminal and ensure they match.