关于ROS(Robot OS 机器人操作系统),估计看这个博文的大兄弟之前已经都知道是啥了,我就不咋呼了...
对于ROS的安装,在它的官方网站: http://wiki.ros.org/ROS/Installation 中也有详细说明。但是对于像博主这样先天英语发育不全的人来说,直接看官网还是有点困难的。
所以博主痛定思痛,经过一番呕心沥血与含辛茹苦的调研后(其实就是看了几篇相关博客),终于在博主的电脑上成功安装了ROS,下面就是博主安装的全过程及所遇到的坑坑包包...
ROS 虽说也叫操作系统,但它是寄生在 LINUX 操作系统之下的,所以要求大兄弟你的电脑里至少要先有一个 LINUX 操作系统。
而对 ROS 兼容性最好的当属 Ubuntu 操作系统了,所以大兄弟,嘿嘿嘿,你自己看着办!
首先有一点需要说明,ROS是用来干“大事业”的,所以不推荐也不认同更不接受大家使用虚拟机。之前博主抱着玩一玩ROS的态度,在虚拟机里装了Ubuntu, 然后装ROS,结果,结果,结果被ROS给玩了...
即便是大兄弟用了Ubuntu,也是不能随便找一个版本的ROS装滴...
为啥呢,因为 Ubuntu 和 ROS 都是存在不同的版本滴,而且ROS各个版本之间还很接地气的(谁说的,打死他)互不兼容,所以每一个 ROS 版本都对应着一个或两个对应的 Ubuntu 版本。
具体咋对应的?请看:
ROS发布日期 | ROS版本 | 对应Ubutnu版本 |
2016.3 | ROS Kinetic Kame |
Ubuntu 16.04 (Xenial) / Ubuntu 15.10 (Wily) |
2015.3 | ROS Jade Turtle |
Ubuntu 15.04 (Wily) / Ubuntu LTS 14.04 (Trusty) |
2014.7 | ROS Indigo Igloo |
Ubuntu 14.04 (Trusty) |
2013.9 | ROS Hydro Medusa |
Ubuntu 12.04 LTS (Precise) |
2012.12 | ROS Groovy Galapagos |
Ubuntu 12.04 (Precise) |
... | ... | ... |
所以大兄弟,看到了吧,如果系统版本和ROS版本不对应,那是万万装不上滴。。。博主此处已嫩牛满面。。。
据博主的不完全统计(压根就没统计)的数据显示,现在学ROS的兄弟们普遍安装的是 Indigo 和 Hydro 版本, 但是现在已经时2016年啦,新的一年就要有新气象,所以,博主就能别人所不能(呵呵),安装了Kinetic。
具体配置如下:
博主分别用过 Indigo 和 Kinetic,其实在使用过程中差距并不大,除了极少数第三方库,只支持 Indigo版本,毕竟 Kinetic 刚刚发布,存在一些第三方库还没有及时跟进啦。。。
既然选定好版本,我们就开始安装啦!
前提还是大兄弟已经自己安装好了 Ubuntu 16.04 哦!如果是 Ubuntu 14.04,只需要把下面所有出现 *-kinetic-* 的地方换成 *-indigo-* 就好了。
首先打开软件和更新对话框,具体可以在 Ubuntu 最左上角的搜索按钮中搜索。
打开后按照下图进行配置(确保你的"restricted", "universe," 和 "multiverse."前是打上勾的):
配置完成后就可以关闭该窗口了。
打开一个控制台(Ctrl + Alt + T), 输入如下指令:
$ 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://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116
首先确保系统软件处于最新版
$ sudo apt-get update
然后我们就可以安装 ROS 啦,但是问题又出现了,ROS kinetic 也有很多版本,比如工业版,基础版,高级版,豪华版,至尊豪华...
既然我们想要学习ROS,那就安装至尊豪华全功能版吧,指令如下:
$ sudo apt-get install ros-kinetic-desktop-full
好,打完指令,就可以整瓶啤酒,撸个烤串,看看电视消遣消遣,坐等ROS安装完成。
如果大兄弟家的网够快的话,没准分分钟就完事儿了。。。
...3...
...2...
...1...
倒数三个数,好,现在就当大兄弟安装完了,而且一切顺利,没有小虫子(BUG)粗现...
安装完成后,可以用下面的命令来查看可使用的包:
$ apt-cache search ros-kinetic
到现在,虽然是安装完了,但是还不能用ROS哦,大兄弟别着急,心急吃不到豆腐...哦,是吃不到热豆腐...
首先呢,需要先初始化 rosdep,嗯?这是啥?这不就是那个啥嘛,对吧,哈哈哈。。。⊙﹏⊙b汗
具体如下:
$ sudo rosdep init $ rosdep update
##在初始化过程中可能出现以下问题,重复主要为了增加关键词##
##
sudo: rosdep:找不到命令
sudo: rosdep:找不到命令
sudo: rosdep:找不到命令
sudo: rosdep:找不到命令
sudo:rosdep:command not found
sudo:rosdep:command not found
sudo:rosdep:command not found
sudo:rosdep:command not found
##
问题如下:
coherence@coherence-Lenovo-Z50-70:~$ sudo rosdep init
sudo: rosdep:找不到命令
尽管我找到了这个package,但是却找不到这个命令
coherence@coherence-Lenovo-Z50-70:~$ apt-cache search rosdep
python-rosdep - rosdep package manager abstrction tool for ROS
python3-rosdep - rosdep package manager abstrction tool for ROS
然后我就不用超级用户权限再次试了一下,结果如下:
coherence@coherence-Lenovo-Z50-70:~$ rosdep init
程序“rosdep”尚未安装。 您可以使用以下命令安装:
sudo apt install python-rosdep
于是我将信将疑重新安装一次,就可以了。
coherence@coherence-Lenovo-Z50-70:~$ sudo rosdep init
Wrote /etc/ros/rosdep/sources.list.d/20-default.list
Recommended: please run
rosdep update
然后初始化环境变量:
$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc $ source ~/.bashrc
上面两句非常非常非常重要,很多小伙伴在日常的开发过程中,有的找不到 Package, 找不到node, 很多情况下都是没有添加source, 这里展开说就有点跑偏了,如果小伙伴们遇到问题,可以在留言中提出来...
##如果bush不到,博主自己第一次就失败了,重新来过一边就好,保证网络畅通安装成功##
最后呢,对,这是最后的最后了,安装一个非常常用的插件:
$ sudo apt-get install python-rosinstall
好,到这里,所有安装就都完事啦。。哈哈哈。。为了保险,重启一下,测试测试我们的ROS吧....
对了,这里要提醒一下,ros中很多的第三方插件的安装格式是:
$ sudo apt-get install ros-kinetic-... 例如: $ sudo apt-get install ros-kinetic-turtlebot*
安装完了好歹要测试一下吧,不然怎么对的起那瓶啤酒啊...大兄弟,你还清醒吗...
首先,启动ROS环境
$ roscore
看看显示 started core service [/rosout] 了没有?如果没问题,恭喜大兄弟,你成功了。
什么?出问题了?那好吧,估计是啤酒喝多了,再从头来一遍吧,这次就别喝了。。。
这里链接一下我总结的ROS指令字典,大兄弟今后想查什么指令,直接看这个就好了
http://www.cnblogs.com/liu-fa/p/5761448.html