ROS安装及遇到的相关问题总结

第一部分:虚拟机及Linux操作系统准备及网络配置

进入ROS官网,http://www.ros.org/ 找到自己要安装的ROS及对应的Ubuntu操作系统版本,我要使用的是ROS Kinetic Kame,其中用的操作系统为Ubuntu Xenial。Xenial对应的版本请参考本文后面的附录一(Ubuntu历史版本一览表)。

步骤一:在win10上安装VirtualBox,在VirtualBox上安装Ubuntu16.04操作系统

步骤二:VirtualBox网络配置,确保Linux操作系统能连接网络。

1、VirtualBox管理器 --> 全局工具 -->  主机网络管理器 --> 增加一个虚拟路由器(记得不要选择DHCP服务器)

2、虚拟机 --> 操作明细 --> 网络 --> 网卡1,连接方式选择“网络地址转换(NAT)”

3、进入Ubuntu之Linux操作系统,配置网络信息

A、编辑文件/etc/network/interfaces

参考命令:sudo gedit /etc/network/interfaces

# interfaces(5) file used by ifup(8) and ifdown(8)

auto lo

iface lo inet loopback

auto enp0s3

#iface enp0s3 inet static

address 192.168.121.99

netmask 255.255.255.0

gateway 192.168.121.1

dns-nameservers 8.8.8.8

B、保存,重启网卡

参考命令:sudo /etc/init.d/networking restart

注解:本案例配置时,win10连接的是WiFi无线网络

第二部分:ROS正式安装

进入ROS安装指导页面(http://wiki.ros.org/kinetic/Installation/Ubuntu),安装里面的步骤一步一步安装即可。

步骤一:配置ROS的源

参考命令:sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

注解:考虑到网络下载速度的情况,可以选择国内的镜像,参考网址为:http://wiki.ros.org/ROS/Installation/UbuntuMirrors

步骤二:配置ROS下载的公钥,不然Ubuntu无法更新相关的信息

参考脚本:sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

注解:其中hkp://ha.pool.sks-keyservers.net:80可以替换为 hkp://pgp.mit.edu:80 或者 hkp://keyserver.ubuntu.com:80,主要还是根据实际的网络情况进行选择。

步骤三:更新Ubuntu的源信息

参考脚本:sudo apt-get update

注解:Ubuntu的国内源的选择及注意点,请参考附录2(Ubuntu国内源选择及参考)。

步骤四:开始安装ROS,我选择安装完全版本的ROS。

参考脚本:sudo apt-get install ros-kinetic-desktop-full

注解:其它的选择性安装方式,请参考官网的安装详解:http://wiki.ros.org/kinetic/Installation/Ubuntu

步骤五:查看可以使用的ROS包

参考命令:apt-cache search ros-kinetic

步骤六:初始化rosdep

参考命令:

sudo rosdep init

rosdep update

 

步骤七:Linux环境配置

参考脚本:

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc

source ~/.bashrc

步骤八:安装其它的依赖包

参考脚本:sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

操作中遇到的问题总结:

1、运行sudo apt-get update 出错,报错:Err http://mirrors.163.com lenny Relese.gpg Temporary failure resolving 'mirrors.163.com'

问题分析及解决方案:这种错误,一般是DNS没有配置好,或者网络不可用引起的,配置好网络信息及DNS,问题就可以解决。

解决办法:vim /etc/resolv.conf

nameserver 8.8.8.8

注解:DNS选择,请参考附录3(2017年有哪些好用的DNS)

 

附录1:Ubuntu历史版本一览表

版本号 代号 发布时间
17.04 zesty
16.10 yakkety
16.04 LTS Xenial Xerus 好客的非洲地松鼠 2016/4
15.10 Wily Werewolf 狡诈的狼人 2015/10/22
15.04 Vivid Vervet 活泼的小猴 2015/04/23
14.10 Utopic Unicorn 乌托邦独角兽 2014/10/23
14.04 LTS Trusty Tahr 值得信赖的塔尔羊 2014/04/18
13.10 Saucy Salamander 活泼的蝾螈 2013/10/17
13.04 Raring Ringtail 铆劲浣熊 2013/04/25
12.10 Quantal Quetzal 缤纷的绿咬鹃 2012/10/18
12.04 LTS Precise Pangolin 精准的穿山甲 2012/04/26

参考资料:https://www.jianshu.com/p/5ce0dc0525c4

参考资料:http://blog.csdn.net/pingsoli/article/details/68128188

 

附录2:Ubuntu国内源选择及参考

ping测试 结果
ping mirrors.ustc.edu.cn 最短 = 21ms,最长 = 341ms,平均 = 122ms
ping cn.archive.ubuntu.com 最短 = 276ms,最长 = 283ms,平均 = 279ms
ping mirrors.163.com 最短 = 6ms,最长 = 10ms,平均 = 7ms
ping archive.ubuntu.com 最短 = 246ms,最长 = 264ms,平均 = 259ms

注解:根据自己的情况而定,优先选择延迟小的源。 从上面的情况来看,网易的源速度最快。

参考资料:http://blog.csdn.net/pingsoli/article/details/68128188

附录3:2017年有哪些好用的DNS

百度公共DNS 180.76.76.76 速度和稳定性没得说,但是关于百度DNS劫持请自行百度
阿里公共DNS 223.5.5.5 稳定性挺好,不过据网友使用反馈和我自己的感觉,有些网站是没办法打开的
AIXYZ DNS 115.159.146.99(南方)

123.206.21.48(北方)

一位程序员自己做的公益dns,干净,自由,无劫持。(不推荐公司使用,个人服务器性能有限,防止滥用,提供者做对DNS连接数做限制,超过之后不返回任何数据。即使如此,对于一个10人左右的局域网环境,是绝对够用的。 )
114DNS 114.114.114.114 总的来说比较满意,也就解析下国内网站。服务器在BGP机房,所以TTL值一直不稳定,TTL值不稳定不影响DNS解析速度。
DNSPOD 119.29.29.29 中国首家支持ECS的公共DNS, 号称安全零劫持,为用户提供精准的DNS解析服务。但是很多网友反馈并不好用,个人使用过一段时间,图片经常加载不出来,换个DNS就好了
oneDNS 112.124.47.27(南方)

114.215.126.16(北方)

42.236.82.22(备用)

一个能拦截不良信息的小众
DNSDNS派 101.226.4.6 360的合作伙伴
CNNIC(中国互联网络信息中心) 1.2.4.8 背景的DNS,不过表现一直中规中矩
中国科技大学(教育网) 202.38.64.1 考虑到中科大的各种LINUX源,我觉得还是挺可靠的
和记环球通讯的DNS 202.45.84.58 坐标香港,很多游戏爱好者喜欢设置这个地址
香港宽频 203.80.96.10 坐标香港
HKNet 宽频 DNS 202.67.240.222 解析到国外的比较块
openDNS 208.67.222.123 美国DNS,此为openDNS的安全解析,可以阻挡含有恶意的网站
DNS.WATCH (德国) 84.200.69.80 任何网站,提供的是纯粹的DNS服务,而且其DNS服务器主要在德国,更加适合欧洲用户
Comodo secure DNS 8.26.56.26 Comodo 国际著名安全厂商,该DNS帮助用户过滤不安全网页
GOOGLE DNS 8.8.8.8 如果说你有特殊需求的话可以用,长期解析国内网站的话建议用国内的,免费出去转一圈再回来很多国内网站打不开

参考网址:https://www.zhihu.com/question/57134920

附录4:ubuntu16.04 网易源(本系统使用的源)

修改文件地址:/etc/apt/sources.list

deb http://mirrors.163.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ xenial-backports main restricted universe multiverse

参考网址:http://blog.csdn.net/sharpwg/article/details/54406283

参考网址(清华大学的Ubuntu源):https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/

附录5:源后面的main restricted universe multiverse是什么意思?

main: 完全的自由软件。
restricted: 不完全的自由软件。
universe: Ubuntu官方不提供支持与补丁,全靠社区支持。
multiverse: 非自由软件,完全不提供支持和补丁。

参考网址:http://blog.csdn.net/pingsoli/article/details/68128188

其它参考资料:

机器人相关资料:http://robots.ros.org/

ADAS Development Vehicle Kit:http://robots.ros.org/adas-development-vehicle-kit/

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: