首发于 菜鸟码农

docker Ubuntu 安装ROS-kinetic

如果没有特殊原因,Ubuntu版本较新,则建议直接安装ROS-melodic


wiki.ros.org/cn/kinetic


1.1 docker的Ubuntu容器系统没有权限问题,不需要配置安装模式,在后面的命令中也不需要使用sudo来获取管理员权限,相反,sudo会被认为是不可识别的命令

所以,所有命令均需要去掉sudo


1.2 直接使用国内的镜像路径吧



root@c224904495dd:/# apt-key adv --keyserver pgp . mit.edu:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation

安装公钥一直报错,原来是缺少gnupg库

root@c224904495dd:/# apt-get install gnupg2


安装完了,加载公钥的步骤可以过了,显示加载成功

# apt-key adv --keyserver keyserver . ubuntu.com:80 --recv-key F42ED6FBAB17C654

Executing: /tmp/apt-key-gpghome.QJUzXROMDq/gpg. 1.sh --keyserver keyserver . ubuntu.com:80 --recv-key F42ED6FBAB17C654

gpg: key F42ED6FBAB17C654: public key "Open Robotics < info@osrfoundation.org >" imported

gpg: Total number processed: 1

gpg: imported: 1


但是进行apt-get update还是报错

原因是ROS wiki上的公钥和镜像上的锁不匹配

chrisjean.com/fix-apt-g

按照报错信息里的公钥号码,重新加载一下公钥,替换公钥编号即可

如果加载不成功,再换一个key server的网址就好了



再次apt-get update

成功,出现了中科大的镜像路径:




然后死活装不上Kinetic,我要发狂了。。

后来搜索发现新的Ubantu可能不支持比较老的ROS-Kinetic了

所以在ROS wiki的步骤1.4之前,先运行

apt-cache search ros-kinetic

如果有,则进行步骤1.4的安装;如果没有任何返回值,则尝试

apt-cache search ros

我的返回值是一长串的 ros-melodic

这是最新版的ROS

查看ROS版本和更新情况: wiki.ros.org/Distributi


你有两个选择

1.4.a 继续寻找包含kinetic的镜像,并重复步骤1.2-1.4

1.4.b 直接安装melodic


好吧,我决定安装最新版的melodic了,应该没什么问题。

wiki.ros.org/melodic/In

还是参照ROS wiki的步骤

和kinetic大同小异


wait!安装之前,先在docker里给你的容器扩容,ros-melodic-desktop-full 总共3G。。。

256G的mac在颤抖。。。


下面是废话碎碎念

docker真是伟大的发明, great innovation!

在配置好一个Ubuntu容器后,我以为还需要打通一下我的主机和容器的通信链路,我以为容器只能在我主机内部routing,结果发现根本没有任何网络连接障碍,可以穿过docker直接对其他设备进行ssh访问,例如树莓派, 仿佛容器就是一个真实存在的独立主机电脑

容器不需要虚拟化硬件,而是直接共享host的硬件, 比虚拟机轻量化

如果没有障碍,我相当于拥有了无数个可以迁移的电脑, 我甚至不需要一台PC,

以后只要给我一个显示屏和键盘,直接连接网线,我就能在云端调用任何操作系统

以后的智能设备,或许不再需要算力超强的集成芯片,但一定需要一个优秀的网络模块,可以是wifi,可以是基带,

5G时代真的令人期待。

发布于 2020-12-21 23:18

文章被以下专栏收录