一、相关知识
1.ROS系统简介
ROS---(Robot Operating System)是一个机器人软件平台,它能为异质计算机集群提供类似操作系统的功能。
ROS提供一些标准操作系统服务,例如硬件抽象,底层设备控制,常用功能实现,进程间消息以及数据包管理。
ROS可以分成两层,低层是上面描述的操作系统层,高层则是广大用户群贡献的实现不同功能的各种软件包,例如定位绘图,行动规划,感知,模拟等等。
ROS(低层)使用BSD许可证,所有是开源软件,并能免费用于研究和商业用途。而高层的用户提供的包则可以使用很多种不同的许可证。
总的来说,ROS是一个适用于机器人编程的框架,这个框架为我们将原本松散的部分整合起来,提供通信框架。ROS并不是传统的如Windows这样的操作系统,它连接了操作系统和开发的ROS应用程序,所以是一个中间件,起到了桥梁的作用。
2.ROS系统功能图示
3.ROS系统特点
(1)分布式点对点
ROS采用了分布式的框架,通过点对点的设计让机器人的进程可以分别运行,便于模块化的修改和定制,提高了系统的容错能力。
(2)多种语言支持
ROS支持多种编程语言。C++、Pyhton和已经在ROS中实现编译,是目前应用最广的ROS开发语言,Lisp、C#、Java等语言的测试库也已经实现。
(3)开源社区
ROS具有一个庞大的社区ROS WIKI(http://wiki.ros.org/ ),这个网站将会始终伴随着你ROS开发,无论是查阅功能包的参数、搜索问题还是。当此外,ROS遵从BSD协议,对个人和商业应用及修改完全免费。
4.ROS系统优缺点
(1)优点:提供框架、工具和功能;方便移植;庞大的用户群体;免费开源。
(2)缺点:通信实时性能有限;系统稳定性尚不满足工业级需求;安全性上没有防护措施;仅支持Linux。
二、安装步骤
1.检查Ubuntu环境是否正确
(1)在命令行中输入cat /etc/issu
检查自己的Ubuntu系统为16.04
(2)检查初始环境配置
进入软件与更新,勾选universe,restricted,multiverse三项。
2.添加sources.list
在命令行中输入:sudo sh -c '. /etc/lsb-release && echo "deb http://49.123.83.107/ros/ubuntu/ xenial main" > /etc/apt/sources.list.d/ros-latest.list'
在这里我用的是我们实验室的源,大家可以换成中科大的源,比较快。
3.添加keys
公钥是Ubuntu系统的一种安全机制,也是ROS安装中不可缺少的一部分。
在命令行中输入:sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
4.系统更新
在命令行中输入:sudo apt-get update && sudo apt-get upgrade
更新一下软件包。如果是新安装的环境,需要更新的比较多,可能会比较慢。
5.安装ROS完整包
在命令行中输入:sudo apt-get install ros-kinetic-desktop-full
这个过程同样比较缓慢。
6.查看是否安装成功
在命令行中输入:
cd /
cd opt
ls
查看是否有ros操作系统
证明安装成功。
7.初始化rosdep
在命令行中输入:
sudo rosdep init
rosdep update
8.配置环境
在命令行中输入命令如下:
echo “source /opt/ros/kinetic/setup.bash” >> ~/.bashrc
source ~/.bashrc
9.安装依赖包
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
10.测试ROS是否搭建成功
输入:roscore
等待程序不动后,再打开一个窗口。
输入:rosrun turtlesim turtlesim_node
出现一只小乌龟,再打开一个窗口;
输入:rosrun turtlesim turtle_teleop_key
此时,可以在终端窗口,键入方向键控制小乌龟的移动。
然后就可以愉快的进行ROS开发!