ROS简介
\quad
机器人操作系统(Robot Operating System, ROS)是一个应用于机器人上的操作系统,它操作方便、功能强大,特别适用于机器人这种多节点多任务的复杂场景。
\quad
ROS目前只支持在Linux系统上安装部署,它的首选开发平台是Ubuntu。时至今日ROS已经相继更新推出了多种版本,供不同版本的Ubuntu开发者使用。为了提供最稳定的开发环境,ROS的每个版本都有一个推荐运行的Ubuntu版本。如下表所示:
ROS版本 | Ubuntu版本 |
---|---|
Lunar | Ubuntu 17.04 |
Kinetic | Ubuntu 16.04 |
Jade | Ubuntu 15.04 |
Indigo | Ubuntu 14.04 |
\quad 本文使用的平台是Ubuntu 16.04,ROS版本是Kinetic。
安装ROS
\quad
在正式的安装前,先检查下Ubuntu初始环境是否配置正确。打开 Ubuntu的系统设置 -> 软件和更新 -> Ubuntu软件 ->勾选关键字 universe, restricted, multiverse三项。如图所示:
配置完成后,就可以开始安装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://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116
- 系统更新
$ sudo apt-get update
$ sudo apt-get upgrade
更新系统,确保自己的Debian软件包和索引是最新的。
- 安装ROS
$ sudo apt-get install ros-kinetic-desktop-full
安装完成后,可以用下面的命令来查看可使用的包:
$ apt-cache search ros-kinetic
下列软件包有未满足的依赖关系:ros-kinetic-desktop-full :
依赖: ros-kinetic-desktop 但是它将不会被安装;
依赖: ros-kinetic-perception 但是它将不会被安装;
依赖: ros-kinetic-simulators 但是它将不会被安装;
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
出现上述问题,有可能是自己的版本不合适不兼容造成,也可能是镜像源没有更新,具体的设置参考软件和更新的截图。当然也有可能是其他原因,比如更新了忘记刷新环境source一下,重开一个终端等等。
配置ROS
- 初始化rosdep
$ sudo rosdep init
$ rosdep update
- ROS环境配置
$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
- 安装依赖项
rosinstall 是ROS中一个独立分开的常用命令行工具,它可以方便让你通过一条命令就可以给某个ROS软件包下载很多源码树。在ubuntu上安装这个工具,请运行:
$ sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
测试ROS
\quad 首先启动ROS,输入代码运行roscore:
$ roscore
如果出现下图所示,那么说明ROS正常启动了!
启动roscore后,重新打开一个终端窗口,输入:
$ rosrun turtlesim turtlesim_node
你还看到一只萌萌的海龟出现在屏幕上,那么该怎么样来操纵这只小海龟呢?重新打开新的一个终端,输入:
$ rosrun turtlesim turtle_teleop_key
将鼠标聚焦在第三个终端窗口上,然后通过键盘上的方向键,进行操作小海龟,如果小海龟正常移动,并且在屏幕上留下自己的移动轨迹。
重新打开新的一个终端,输入以下命令,可以查看ROS节点信息:
$ rosrun rqt_graph rqt_graph
如果你能顺利进行到这一步,恭喜你,ROS已经成功的安装、配置并且运行!
安装ROS时遇到的错误
- ImportError: No module named rospkg
因为装了Anaconda的原因,解决如下:
$ conda install setuptools
$ pip install -U rosdep rosinstall_generator wstool rosinstall vcstools
或者可以注释Anaconda。(在终端输入 gedit ~/.bashrc)