rosrun turtlesim turtlesim_node

发布时间:2025-06-24 20:46:34  作者:北方职教升学中心  阅读量:066


运行容器。
在这里插入图片描述
并在另一个命令行中重复之前的命令(别忘了source),启动turtlesim。

要求读者有基本的Docker使用经验。

此时,在windows中启动另一个命令行,执行以下命令,进入已启动容器的交互模式:docker exec -it <container-name> bash。

安装完成后,启动XLaunch,只需在下图中标注的步骤修改值为0,其他人一直点击下一步直到结束。

参考ROS1 Distribution Wiki和ROS2 Distribution Wiki,建议使用:

  • ROS1 Noetic 版本(2020/05发布,支持到2025/05) Humble版本(2022/05发布,支持到2027/05)。我们使用ROS1 Noetic和ROS2 以Humble为例演示
    环境要求。

    如果我们运行的ROS程序需要打开一些用户交互界面,例如Gazebo,RViz等󿀌如何处理Docker容器?

    经典的小乌龟(turtlesim)例,演示如何在docker容器中使用GUI。

    第二,三个指令是检查已安装ROS的环境变量和当前ROS Topic列表󿀌如果上述步骤࿰已正确完成c;您可以在下图中看到类似的内容:

    在这里插入图片描述
    GUI程序在Docker容器中。

    到目前为止,在Windows或Ubuntu环境下,然后执行󿄚
    在这里插入图片描述
    source /opt/ros/noetic/setup.bashprintenv | grep ROSrostopic list。

    ubuntu中,步骤基本相似,ROS启动时,建议使用bash文件启动容器,run_noetic_gui.bash:

    在这里插入图片描述
    xhost local:rootXAUTH=/tmp/.docker.xauthdocker run -it \ --name=noetic-gui \ --env="DISPLAY=$DISPLAY" \ --env="QT_X11_NO_MITSHM=1" \ --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \ --env="XAUTHORITY=$XAUTH" \ --volume="$XAUTH:$XAUTH" \ --net=host \ --privileged \ osrf/ros:noetic-desktop \ bashecho "Done."
    如何访问Docker容器中的文件?

    在后续的开发中,我们需要创建工作空间和自己的项目,目前的ROS在Docker容器中运行,怎样才能访问呢?

    在这里插入图片描述
    在后续的开发中,我们需要创建工作空间和自己的项目,目前的ROS在Docker容器中运行,如何访问?

    这里推荐VisualStudio。
    在这里插入图片描述
    在这里插入图片描述

    roscore。

    docker run --name <container-name> -it <image-name:tag>

    在这里插入图片描述
    上述指令是操作一个容器,容器名为’container-name替换内容,使用’image-name:tag指定的镜像文件,并在交互模式下运行(-it),指令示例:

    docker run --name noetic-gui -it osrf:noetic-desktop。a;
    在这里插入图片描述
    取镜像。

    本文主要介绍如何在Windows和Linux环境中部署Docker, Code,并安装插件Dev Container。您应该能够在计算机状态栏中看到启动XServer.。使用ROS,通过Docker container操作ROS,多个ROS版本可以方便我们在当地环境中运行。

    rosrun turtlesim turtlesim_node。

    ROS镜像,可以访问Docker Hub搜索相应版本的脚本,在本文中,

    桌面上正常显示我们的小乌龟。
    在这里插入图片描述
    然后运行。打开Docker container的文件目录。我们需要安装XLaunch来实现界面显示,您可以访问Xming网站获取󿀌或者通过SourceForge下载。
    在这里插入图片描述

    我相信你在执行上述指令后会犯以下错误:

    此时,如果您在命令行中也看到了上述内容,说明ROS1运行成功。
    更多内容,实时更新访问栏目录。

    在Windows环境中󿀌Docker需要安装 Desktop,docker命令࿱可以通过命令执行a;
    Ubuntuu用于Linux环境 22,docker࿱也已提前安装。通过以下指令运行:
    在这里插入图片描述
    docker run --name noetic-gui -e DISPLAY=host.docker.internal:0.0 -it osrf/ros:noetic-desktop。帮助这些程序找到依赖的包。

  • 拉ROS镜像,

    ROS版。运行ROS容器。在Windows环境中,首先需要启动Dockerer Desktop。#xff0c;它可以配置你的shell,安装时基本不允许任何配置,同时注意XLaunch的安装。

    启动ROS Master (仅针对ROS1版本的需求)。然后执行以下脚本,可拉取ROS1和ROS2的镜像文件:
    在这里插入图片描述

    docker pull osrf/ros:noetic-desktopdocker pull osrf/ros:humble-desktop。
    rosrun turtlesim turtlesim_node。
    第一条指令需要在每次启动shell时执行(除非您添加此指令.在bashrc文件中,

    指令运行后,命令行将在容器的交互模式下进行,在Docker 在Desktop中,可以看到当前运行的容器:

    操作ROS

    现在我们已经启动ROS了 Docker容器󿼌并进入交互模式,在命令行中执行。

    插件成功安装后,我们可以通过VS 打开Code,让你得到ROS程序,
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    执行完成后󿀌通过指令查看已拉取的镜像文件:

    docker images。

    确保XServer的正常运行c;此时,在这里插入图片描述
    roscore。启动另一个命令行,让我们通过键盘上下左右控制小乌龟:rosrun turtlesim turtle_teleop_key。

    如果有错误,欢迎留言或来信指正:64;163.com。Noetic容器࿰重新运行c;但是,我们成功地,ROS通过Docker运行 Noetic,并且可以显示用户界面,并通过VS Code访问容器中的文件和工程。