docker 安装ROS

环境配置

  • 新建文件 /etc/docker/daemon.json, 输入国内docker hub地址(暂时可用)

    {
        "registry-mirrors": [
          "https://docker.m.daocloud.io",
          "https://dockerproxy.com",
          "https://docker.mirrors.ustc.edu.cn",
          "https://docker.nju.edu.cn"
        ]
    }
    
  • 修改/etc/resolv.conf

    nameserver 114.114.114.114
    nameserver 8.8.8.8
    
  • 运行一下命令生效修改

    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

安装ROS 1

安装ros1 melodic 版本

  • 按下“Ctrl+Alt+T” , 打开命令行终端, 在终端输入“docker pull ros:melodic”,下载ROS1镜像, 镜像下载需要一些时间, 请耐心等待一会

    docker pull ros:melodic
    
  • 镜像下载完成后,在终端运行一下命令,运行容器并指定名称为melodic

    docker run -it --network=host -d -v=/dev:/dev -v /tmp/.X11-unix:/tmp/.X11-unix --name melodic -e DISPLAY=${DISPLAY} --restart=always ros:melodic /bin/bash
    
  • 在终端输入“xhost +” ,开启 X Server 的访问控制。

    xhost +
    
  • 在终端输入“docker ps -a” 查看新创建容器的ID

  • 在终端输入“docker exec -it 75b6634e6227 /bin/bash” 进入容器。(75b6634e6227 为容器ID,请根据实际情况修改)

  • 在终端输入“useradd -m -s /bin/bash ubuntu” , 创建一个新用户ubuntu (请根据情况修改新用户名)
  • 在终端输入“passwd ubuntu” , 设置“ubuntu” 的密码, 输入密码按下之后,需要重新输入一遍密码
  • 在终端输入“usermod -aG sudo ubuntu” , 将新用户 ubuntu 添加sudo , 使其具有超级用户权限
  • 在终端输入“sudo apt-get update -y && sudo apt-get upgrade -y” , 更新可用软件包列表并升级系统上已安装的软件包
  • 在终端输入“sudo apt-get install vim -y” , 安装 Vim 文本编辑器
  • 在终端输入“sudo apt-get install ros-melodic-desktop-full -y” , 安装 ROS Melodic 版本的完整桌面环境, 下载需要一些时间, 请耐心等待一会

测试ROS 1环境

  • 输入“docker exec -it -u ubuntu -w /home/ubuntu 75b6 /bin/bash” 指令, 进入容器。 (注意: 75b6是装有ROS1环境的容器ID)

  • 输入“source /opt/ros/melodic/setup.bash” 指令,因为 每 一 次 打 开 终 端 都 执 行 步 骤1 加 载 工 作 空 间 , 可 以 在 终 端 输 入 “ echo “source /opt/ros/melodic/setup.bash” >> ~/.bashrc” 指令, 将该指令写入.bashrc文件中。

  • 输入“source ~/.bashrc” 指令, 让.bashrc文件生效。 这样就不需要每一次加载工作空间环境
  • 输入“rosrun turtlesim turtlesim_node” , 启动小海龟GUI界面, 启动成功即说明ROS1安装成功。

安装 ROS2

安装ROS2 humble版本

  • 按下“Ctrl+Alt+T” , 打开命令行终端, 在终端输入“docker pull ros:humble”,下载ROS2镜像, 镜像下载需要一些时间, 请耐心等待一会

    docker pull ros:humble
    
  • 镜像下载完成后, 在终端输入如下指令, 运行容器并指定名称为 humble。

    docker run -it --network=host -d -v=/dev:/dev -v /tmp/.X11-unix:/tmp/.X11-unix --name humble -e DISPLAY=${DISPLAY} --restart=always ros:humble /bin/bash
    
  • 在终端输入“xhost +” ,开启 X Server 的访问控制。

    xhost +
    
  • 在终端输入“docker ps -a” 查看新创建容器的ID

  • 在终端输入“docker exec -it 76a092503f2e /bin/bash” 进入容器。 (76a092503f2e是容器ID,请根据实际情况修改)

  • 在终端输入“useradd -m -s /bin/bash ubuntu” , 创建一个新用户

  • 在终端输入“passwd ubuntu” , 设置“ubuntu” 的密码, 这里我们设置为“ubuntu”输入密码按下之后, 需要重新输入一遍密码

  • 在终端输入“usermod -aG sudo ubuntu” , 将新用户 ubuntu 添加sudo , 使其具有超级用户权限

  • 在终端输入“sudo apt-get update -y && sudo apt-get upgrade -y” , 更新可用软件包列表并升级系统上已安装的软件包

  • 在终端输入“sudo apt-get install vim -y” , 安装 Vim 文本编辑器

  • 在终端输入“sudo apt-get install ros-humble-desktop-full -y” , 安装ROS Humble 版本的完整桌面环境

测试ROS2环境

  • 输入“docker exec -it -u ubuntu -w /home/ubuntu 55ce /bin/bash” 指令, 进入容器。 (注意: 55ce是装有ROS2环境的容器ID)

    docker exec -it -u ubuntu -w /home/ubuntu 55ce /bin/bash
    
  • 输入“source /opt/ros/humble/setup.bash” 指令, 手动配置ROS2环境。

  • 每一次打开终端都执行2) 步骤加载工作空间, 可以在终端输入“

    echo “source /opt/ros/humble/setup.bash” >> ~/.bashrc ” 指令, 将该指令写入.bashrc文件中

    echo “source /opt/ros/humble/setup.bash” >> ~/.bashrc
    
  • 输入“source ~/.bashrc” 指令, 让.bashrc文件生效。 这样就不需要每一次加载工作空间环境

  • 输入“ros2 run turtlesim turtlesim_node” , 启动小海龟GUI界面, 启动成功即说明ROS2安装成功

    ros2 run turtlesim turtlesim_node
    
Copyright © ZHOUWEN all right reserved,powered by GitbookLatest updated: 2024-11-04 00:53:46

results matching ""

    No results matching ""

    results matching ""

      No results matching ""