摘要
ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便。我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS基础知识进行详细的讲解,给不熟悉ROS的朋友起到一个抛砖引玉的作用。本章节主要内容: 1.ROS是什么 2.ROS系统整体架构 3.在ubuntu16.04中安装ROS kinetic 4.如何编写ROS的第一个程序hello_world 5.编写简单的消息发布器和订阅器 6.编写简单的service和client 7.理解tf的原理 8.理解roslaunch在大型项目中的作用 9.熟练使用rviz 10.在实际机器人上运行ROS高级功能预览
3.在ubuntu16.04中安装ROS kinetic
(图9)安装ROS软硬件配置总结
使用ROS进行机器人的学习和开发,一般需要一个机器人平台和一个调试工作平台。 机器人平台上出于性价比和功耗考虑一般采用ARM嵌入式板作为硬件设备,比如树莓派3、RK3399开发板、nvidia-jetson-tx2等;调试工作平台一般采用x86个人电脑,比如笔记本电脑、台式电脑等。 ARM嵌入式板的厂家一般都会提供相应定制化的ubuntu系统,定制化主要体现在硬件外设驱动和一些加快系统速度的优化,作为软件开发人员可以不必考虑这些问题直接当做普通ubuntu使用就行了,比如针对树莓派3定制化的ubuntu-mate系统;x86个人电脑上的话就可以直接安装ubuntu官方发布的系统就行了,你可以把ubuntu直接安装在物理机上,这样ubuntu运行会更加流畅,你也可以把ubuntu安装在虚拟机上,这样可以更方便的切换使用机器上原来的系统(如windows系统)和虚拟机上的ubuntu系统。 不管是采用何种硬件,在硬件上以何种方式安装上ubuntu及其定制化ubuntu,一旦我们拥有了一个可用的ubuntu系统,就可以在这个ubuntu系统上安装当下流行的ROS发行版了(本文写作时最流行的ROS发行版是ROS-kinetic)。安装ROS软硬件配置的总结,如图9。 机器人平台上安装ROS软硬件配置,推荐大家使用树莓派3作为硬件,ubuntu-mate-16.04作为操作系统,安装ROS-kinetic这个ROS发行版。这一部分的具体讲解将在后续的文章中展开。 调试工作平台上安装ROS软硬件配置,推荐大家使用x86个人电脑(笔记本电脑、台式电脑都可以)作为硬件,在虚拟机上运行ubuntu16.04系统,安装ROS-kinetic这个ROS发行版。由于在虚拟机上安装运行ubuntu16.04系统已经在前面的文章(一)Linux基础——2.安装Linux发行版ubuntu系统中详细讲解了,这里就默认我们已经拥有了一个运行在虚拟机上的ubuntu16.04系统了。接下来就着重讲解如何安装ROS发行版ROS-kinetic。 其实在ubuntu上安装ROS,有很详细的ROS官方教程,感兴趣的朋友可以直接参考官方教程http://wiki.ros.org/kinetic/Installation/Ubuntu。由于官方教程用英文书写,为了方便大家阅读,我将官方教程翻译过来,方便大家学习,下面正式进入安装。温馨提醒,由于不同的编辑器对过长的句子换行的规则不同,下面的命令被自动换行后可能影响正常的阅读,请直接参阅官方教程中的命令http://wiki.ros.org/kinetic/Installation/Ubuntu。
(1)配置ubuntu的资源库
系统设置->软件和更新->Ubuntu软件,可以打开如图10中的资源库配置界面,确保“universe”,“restricted”、“multiverse”被勾选了,“下载自”选项中选择“中国的服务器”,这样下载更新软件速度会更快点。不过一般情况下,以上选项都是默认设置好了的。
(图10)资源库配置界面
(2)设置ubuntu的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'
(3)设置keys
打开命令行终端,输入如下命令:
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
(4)安装ros-kinetic-desktop-full完整版
打开命令行终端,分别输入如下两条命令:
sudo apt-get update
sudo apt-get install ros-kinetic-desktop-full
小技巧,如果安装过程提示“下载错误”,请耐心重试上面的两条命令,这个错误多半是由于网络故障造成的。
(5)初始化rosdep
打开命令行终端,分别输入如下两条命令:
sudo rosdep init
rosdep update
(6)配置环境变量
打开命令行终端,分别输入如下两条命令:
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
(7)安装rosinstall
打开命令行终端,输入如下命令:
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
(8)测试ros安装成功与否
打开命令行终端,输入如下命令:
roscore
如果此时出现以下内容:
setting /run_id to 4cb2a932-06c0-11e9-9ff2-000c2985f3ab
process[rosout-1]: started with pid [38686]
started core service [/rosout]
那么恭喜你,ROS已经成功的安装上了!!!