http://wiki.ros.org/cn/ROS/Tutorials/InstallingandConfiguringROSEnvironment
Description: 本教程详细描述了ROS的安装与环境配置。
Tutorial Level: BEGINNER
Next Tutorial: ROS文件系统介绍
Contents
在开始学习这些教程之前请先按照ROS安装说明完成安装。
注意: 如果你是使用类似apt这样的软件管理器来安装ROS的,那么安装后这些软件包将不具备写入权限,当前系统用户比如你自己也无法对这些软件包进行修改编辑。当你的开发涉及到ROS软件包源码层面的操作或者在创建一个新的ROS软件包时,你应该是在一个具备读写权限的目录下工作,就像在你当前系统用户的home目录下一样。
在安装ROS期间,你会看到提示说需要 source 多个setup.*sh文件中的某一个,或者甚至提示添加这条'source'命令到你的启动脚本里面。这些操作是必须的,因为ROS是依赖于某种组合空间的概念,而这种概念就是通过配置脚本环境来实现的。这可以让针对不同版本或者不同软件包集的开发更加容易。
如果你在查找和使用ROS软件包方面遇到了问题,请确保你已经正确配置了脚本环境。一个检查的好方法是确保你已经设置了像ROS_ROOT和ROS_PACKAGE_PATH这样的环境变量,可以通过以下命令查看:
$ export | grep ROS
如果发现没有配置,那这个时候你就需要'source'某些'setup.*sh’文件了。
ROS会帮你自动生成这些‘setup.*sh’文件,通过以下方式生成并保存在不同地方:
在rosbuild workspaces中通过类似rosws的工具生成。
在编译 或 安装 catkin 软件包时自动生成。
注意: 在所有教程中你将会经常看到分别针对rosbuild 和 catkin的不同操作说明,这是因为目前有两种不同的方法可以用来组织和编译ROS应用程序。一般而言,rosbuild比较简单也易于使用,而catkin使用了更加标准的CMake规则,所以比较复杂,但是也更加灵活,特别是对于那些想整合外部现有代码或者想发布自己代码的人。关于这些如果你想了解得更全面请参阅catkin or rosbuild。
如果你是通过ubuntu上的 apt 工具来安装ROS的,那么你将会在'/opt/ros/
# source /opt/ros//setup.bash
请使用具体的ROS发行版名称代替
比如你安装的是ROS Indigo,则上述命令改为:
$ source /opt/ros/indigo/setup.bash
在每次打开终端时你都需要先运行上面这条命令后才能运行ros相关的命令,为了避免这一繁琐过程,你可以事先在.bashrc文件(初学者请注意:该文件是在当前系统用户的home目录下。)中添加这条命令,这样当你每次登录后系统已经帮你执行这些命令配置好环境。这样做也可以方便你在同一台计算机上安装并随时切换到不同版本的ROS(比如fuerte和groovy)。
此外,你也可以在其它系统平台上相应的ROS安装目录下找到这些setup.*sh文件。
这些操作方法只适用于ROS Groovy及后期版本,对于ROS Fuerte及早期版本请选择rosbuild。
下面我们开始创建一个catkin 工作空间:
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
即使这个工作空间是空的(在'src'目录中没有任何软件包,只有一个CMakeLists.txt链接文件),你依然可以编译它:
$ cd ~/catkin_ws/
$ catkin_make
catkin_make命令在catkin 工作空间中是一个非常方便的工具。如果你查看一下当前目录应该能看到'build'和'devel'这两个文件夹。在'devel'文件夹里面你可以看到几个setup.*sh文件。source这些文件中的任何一个都可以将当前工作空间设置在ROS工作环境的最顶层,想了解更多请参考catkin文档。接下来首先source一下新生成的setup.*sh文件:
$ source devel/setup.bash
要想保证工作空间已配置正确需确保ROS_PACKAGE_PATH环境变量包含你的工作空间目录,采用以下命令查看:
$ echo $ROS_PACKAGE_PATH
/home//catkin_ws/src:/opt/ros/indigo/share:/opt/ros/indigo/stacks
到此你的工作环境已经搭建完成,接下来可以继续学习 ROS文件系统教程.
关于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。
具体配置如下:
华硕笔记本 + Windows 10 + Ubuntu 16.04 双系统
Ros版本:ROS Kinetic Kame
博主分别用过 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
然后初始化环境变量:
$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
上面两句非常非常非常重要,很多小伙伴在日常的开发过程中,有的找不到 Package, 找不到node, 很多情况下都是没有添加source, 这里展开说就有点跑偏了,如果小伙伴们遇到问题,可以在留言中提出来...
最后呢,对,这是最后的最后了,安装一个非常常用的插件:
$ 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] 了没有?如果没问题,恭喜大兄弟,你成功了
4 具体乌龟测试
为了保险起见,当然还是要测试一下喽~ first 先关机重启一下啦
打开terminal,来敲命令:
(1)启动ROS MASTER:
roscore
哈哈,是不是显示 started core service [/rosout]啦,那就哦了~顺利进行下一步吧
要是没有呢,哎那就再重新来一次ba~
(2)重新打开一个terminal,我们要启动小海龟仿真器滴滴滴:
rosrun turtlesim turtlesim_node
(3)哎呀,还是要重新打开一个终端哦,开启控制节点,认真点小海龟要动起来啦:
rosrun turtlesim turtle_teleop_key
选中我们的控制窗口,按方向键就可以指挥小海龟了哦~
(4)好不好奇它的节点关系呀,那就再打开一个界面,看一下ROS的图形化界面,展示一下结点关系:
rosrun rqt_graph rqt_graph
(5)测试OK,我们的ROS安装么有任何问题~
Ubuntu16.04上kinetic版本的ros的安装与卸载
1、添加ROS软件源(sources.list)
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
2、添加密钥
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
3、安装ROS
sudo apt-get update
sudo apt-get install ros-kinetic-desktop-full
4、初始化rosdep
sudo rosdep init
rosdep update
5、设置环境变量
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
如果你使用 zsh,替换其中的 bash, 你可以用以下命令来设置你的shell:
echo "source /opt/ros/kinetic/setup.zsh" >> ~/.zshrc
source ~/.zshrc
6、安装rosinstall
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
7、检测ros安装成功与否
roscore
8、卸载ROS
sudo apt-get purge ros-*
sudo rm -rf /etc/ros
gedit ~/.bashrc