如何在 docker 容器中安装 ROS

2023-05-16

本文记录在 docker ubuntu 18.04 环境下安装 ROS(机器人操作系统) 的过程。

目录

文章目录

  • 目录
  • 安装 ROS
  • 参考文献

安装 ROS

安装步骤如下:

# 拉取 ubuntu 18.04 镜像
docker pull ubuntu:18.04

# 启动容器
docker run --name "ros-melodic" -it -v ubuntu:18.04 /bin/bash

# 安装软件包
sudo apt-get update
sudo apt-get install -y lsb-release gnupg2

# 设置 ros 源:
sudo sh -c ' echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

# 设置秘钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

# 安装 ros melodic 桌面完整版
sudo apt-get update
sudo apt-get install -y ros-melodic-desktop-full

# 配置 ros 环境变量
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

# 安装打包工具依赖
sudo apt-get install -y python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential

# 初始化 rosdep
sudo rosdep init
rosdep update

注意:如果 rosdep 命令执行失败,解决方法参考 这篇 文章:更换 rosdep 为 rosdepc ,步骤如下:

sudo apt-get install python-pip
sudo pip install rosdepc  

sudo rosdepc init
rosdepc update

以后遇到 rosdep 的地方都换成 rosdepc 即可。

以上操作结束之后,使用如下命令验证 ros 是否安装成功:

# 启动 ros master
roscore

启动命令后,会输出以下日志:

... logging to /root/.ros/log/5cc57e14-a778-11ed-8d6c-0242ac110002/roslaunch-40d9b5a94774-21201.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://40d9b5a94774:36917/
ros_comm version 1.14.13


SUMMARY
========

PARAMETERS
 * /rosdistro: melodic
 * /rosversion: 1.14.13

NODES

auto-starting new master
process[master]: started with pid [21211]
ROS_MASTER_URI=http://40d9b5a94774:11311/

setting /run_id to 5cc57e14-a778-11ed-8d6c-0242ac110002
process[rosout-1]: started with pid [21222]
started core service [/rosout]

参考文献

  1. ROS Melodic安装
  2. Ubuntu18.04上安装ROS的详细教程
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 docker 容器中安装 ROS 的相关文章

随机推荐

  • 新建JSP无法运行出现错误The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Pat解决办法

    通常新建立一个JSP文件会出现一个 The superclass 34 javax servlet http HttpServlet 34 was not found on the Java Build Path 的错误导致整个JSP页面不
  • Eclipse中JDK版本切换

    此文章适用于服务器jdk版本过低 xff0c 开发时jdk版本选择过高的解决办法 右键项目propeties Project facets 此时更改JDK版本已经完成 xff0c 但是可能会出现一个错误 xff0c 项目名字前面有错误 xf
  • Hadoop五大守护进程的三种启动与关闭方式

    Hadoop五大守护进程的三种启动与关闭方式 第一种启动方式 xff1a 进入 Hadoop 1 x bin 目录 xff0c 执行start all sh xff0c JPS查看进程 xff0c 全部启动成功 19043 NameNode
  • 正则表达式

    笔记 xff1a 1 缩写 表示取相反 xff0c 但是必须要在 开头的地方才行 xff0c 结尾只代表自己 xff0c 0 9之间的 39 39 符号 xff0c 代表范围 xff0c 但是不在里面的 xff0c 也就是 号任意一边是空的
  • HIVE分区表指定location加载不到数据解决方案

    指定了表的location但是select不出来数据 xff0c 而目录确实存在hdfs上 xff0c 如图所示 xff08 我这里面是2级分区 xff09 解决方案 xff1a 1 Alter table test6 add partit
  • LINUX SHELL遍历日期(指定输入两个日期)

    LINUX SHELL遍历日期 xff0c 昨天写一个让我删了 xff0c 写的也太坑了 xff0c 很简单的东西墨迹那么长一串羞愧不已 xff01 bin bash first 61 1 second 61 2 while 34 firs
  • 虚拟机文件过多,如何删除?vmdk文件能删除吗?

    最近发现虚拟机使用一段时间后产生了很多文件 xff0c 不知道哪些文件有用还是没有用 xff1f 能否直接删除 xff1f 有没有高手能告诉我一下 xff1f 其中很多是 vmdk文件 xff0c 看看前面的部分能否删除 xff1f
  • 【直观理解】为什么梯度的负方向是局部下降最快的方向?

    推荐阅读时间 xff1a 8min 15min 主要内容 xff1a 为什么梯度的负方向是局部下降最快的方向 xff1f 刚接触梯度下降这个概念的时候 xff0c 是在学习机器学习算法的时候 xff0c 很多训练算法用的就是梯度下降 xff
  • RichEdit扩展控件–ekRichEdit简介

    原文地址 xff1a http www uieasy com cn blog p 61 419 易酷软件发布了RichEdit扩展控件ekRichEdit 此版本实现了在IM等聊天窗口中所需要的基本功能 xff0c 可以满足IM软件对Ric
  • 如何选择VC界面库产品

    客户经常来信询问该如何选择界面库产品 xff1a 你们的产品跟其他同类产品相比有什么优势 xff1f 你们的DSkinLite界面库跟DirectUI界面库有什么不同 xff0c 哪个产品更适合我们公司 xff1f 在此我们对这些问题做详细
  • 游戏大厅类软件 Demo系列(二)

    游戏大厅类软件 DSkinLite界面库Demo系列 xff08 二 xff09 游戏大厅类软件是UIEASY开发团队制作的又一个软件demo xff0c 此次发布只是一个雏形 xff0c 我们还将继续完善此Demo xff0c 使其各项功
  • 窗口控件透明效果的实现--DSkinLite界面库使用技巧

    DSkinLite 界面库使用技巧 二 窗口控件透明效果 界面设计中 xff0c 很多效果需要借助透明效果来实现 不幸的是 xff0c Windows 标准控件基本不支持透明效果 因此我们需要自己来实现透明效果 一般来说所谓控件透明 xff
  • DSkinControl( For MFC) 控件- dsCtrlComboBox

    原文地址 xff1a http www uieasy cn blog p 61 513 传统的combobox 在使用方面有很多限制 xff0c 很难满足我们combobox类型控件的需求 主要表现中combobox内置的listbox难以
  • 图像典型特征描述子Haar

    以下文章摘录自 xff1a 机器学习观止 核心原理与实践 京东 xff1a https item jd com 13166960 html 当当 xff1a http product dangdang com 29218274 html 由
  • oracle触发器执行用户和v$session的查询

    oracle触发器 xff0c 由针对表的动作触发 xff0c 其执行用户为当前表的所有者 xff0c 所以在触发器中涉及的权限问题 xff0c 应该和触发器所基于的表的所有者有关 对于v session的查询 xff1a 要明确的是 xf
  • springboot打包docker镜像部署

    springboot打包docker镜像部署 环境准备 机器 vultr一台 centos7 资源下载 jdk8 maven git yum install git docker yum install docker io 环境搭建 jdk
  • 深度学习基础——简单了解meta learning(来自李宏毅课程笔记)

    知乎同名账号同步发布 目录 一 初步了解二 和ML的差异三 应用了解 一 初步了解 我们以分类问题为例 xff0c 以前 xff0c 学习的目的是学习一个二元分类器 f f f xff1b 现在 xff0c 学习的
  • docker删除镜像及容器

    问题 清理服务器相关无用docker镜像及容器 删除镜像image 要删除 Docker 中的镜像 xff0c 可以使用 docker rmi 命令 请注意 xff0c 删除镜像前请确保不再需要它 xff0c 并且已经停止了使用该镜像的所有
  • 云技术:弹性计算ECS

    云计算 xff08 Cloud Computing xff09 被业界看作继大型计算机 个人计算机 互联网之后的第四次IT产业革命 xff0c 正日益成为未来互联网与移动技术相结合的一种新兴计算模式 云计算提供了IT基础设施和平台服务的新模
  • 如何在 docker 容器中安装 ROS

    本文记录在 docker ubuntu 18 04 环境下安装 ROS xff08 机器人操作系统 xff09 的过程 目录 文章目录 目录安装 ROS参考文献 安装 ROS 安装步骤如下 xff1a span class token co