You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Debian:buster系统用Docker部署TurtleBot3 ROS仿真(旧步骤失效)

Installing TurtleBot3 ROS Simulation on Debian Buster via Docker (Optimal Method)

If you’re working with Debian Buster and want to get TurtleBot3’s ROS simulation up and running without the headache of native package conflicts, using Docker is hands down the best approach. Here’s a straightforward, step-by-step guide to make it happen, plus an explanation of why older Debian Stretch/ROS Lunar steps won’t work for you.

1. First, Install Docker on Debian Buster

Start by setting up Docker correctly—this ensures you have a stable base to work from:

# Update your package list
sudo apt update && sudo apt install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common

# Add Docker's official GPG key
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

# Add the Docker repository to your sources
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

# Install Docker CE and verify it works
sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo docker run hello-world

2. Pull the Pre-configured TurtleBot3 ROS Melodic Image

Debian Buster plays nicely with ROS Melodic (the official ROS distribution for Ubuntu 18.04, which aligns well with Buster’s library versions). Use Robotis’ pre-built image to skip manual package setup:

sudo docker pull turtlebot3/turtlebot3:melodic

3. Run the Container with GUI Forwarding

Gazebo (the simulation tool) needs access to your host’s X11 display. Run this command to launch the container with proper GUI permissions:

# Grant temporary X11 access to Docker (safe for local use)
xhost +local:root

# Launch the container with GUI support
sudo docker run -it --rm \
    --env="DISPLAY" \
    --env="QT_X11_NO_MITSHM=1" \
    --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
    --name=turtlebot3_sim \
    turtlebot3/turtlebot3:melodic

Note: If you get a "cannot open display" error, double-check that $DISPLAY is set correctly on your host (run echo $DISPLAY), and ensure your user has permission to access the X server.

4. Set Up and Run the Simulation (per the official guide)

Once inside the container, follow these steps to launch the simulation exactly as outlined in the official manual:

  1. Source the ROS environment:
    source /opt/ros/melodic/setup.bash
    
  2. Set your TurtleBot3 model (use burger, waffle, or waffle_pi):
    export TURTLEBOT3_MODEL=burger
    
  3. Launch the empty world simulation:
    roslaunch turtlebot3_gazebo turtlebot3_empty_world.launch
    

You’ll see the Gazebo window pop up with your TurtleBot3 ready to go. From here, you can follow the rest of the official steps to control the robot, test navigation, or run other simulations.


Why Debian Stretch/ROS Lunar Steps Fail on Buster

If you tried using the ROS Lunar installation steps designed for Debian Stretch, you’ve probably hit frustrating errors—and here’s why they’re unfixable for Buster:

  • Official incompatibility: ROS Lunar is built for Ubuntu 17.04, which uses older system libraries than Debian Buster. There’s no official support for running Lunar on Buster.
  • rospkg conflict: The version of rospkg (a critical ROS Python package) required for Lunar doesn’t work with Python 3.7+, which is the default Python version on Buster. This breaks core ROS functionality, like initializing workspaces or parsing package manifests.

This is a well-documented compatibility issue within the ROS infrastructure that affects users trying to run older ROS releases on newer Debian versions.

内容的提问来源于stack exchange,提问作者Markus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:32:54