作者: Sam (甄峰) sam_code@hotmail.com
Sam搞机器人相关也很久了,但一直徘徊在ROS门外。外来会需要仿照ROS内一些组件来作为机器人模块,所以从头开始学习ROS,作为记录存放在这。
0. ROS介绍:
0.1:What is ROS?
分布式的进程框架,属于次级操作系统。
底层:硬件抽象描述,底层驱动程序管理,进程间消息传递和程序包管理。
顶层:开发者提供共享的各种软件功能包。
ROS=通信管道+工具+功能库+生态系统
0.2:ROS特点:
A:不依赖变成语言,或者说不指定编程语言,多种语言可以共存。
C++, Python, Lisp, Java
B:精简和集成:
封装:复杂的和重复使用的驱动和算法。
模块化:单独编译。
C:测试和调试方便:
1. 利用模拟器替代底层硬件,独立测试顶层部分。提高测试开发效率。
2. 按时间戳回放记录的传感器数据和消息数据。(调试方便)
3. 可以用一组记录的Sensor数据调试算法。也就是说,可以记录传感器的数据以及其他类型的消息数据,并在之后的开发中回放。不断调试算法。ROS中,这种数据叫做Bag, 有个rosbag的工具可以记录和回放数据。
D:丰富的功能包:
Rviz
rqt
Gazebo
rxplot
rxgraph
1. ROS 安装:
1.1: 平台和版本选择:
ROS可以安装在Linux(Ubuntu, Fedora, OpenSuse)系统,ARM-Linux,Windows, Mac OS X。 但最通用的做法还是安装在Ubuntu14.04 LTS上。
ROS新版本通常不够稳定,所以网上简易的版本还是indigo.
1.2:简易安装方法:
Ubuntu for ROS.
从一台裸机开始安装配置ROS,过程比较复杂,且天朝的国情决定了一些网络连接状况频出。所以很多开发者提供了一套非常简单的解决方案,Ubuntu for ROS.
下载这份ISO,安装后,ROS和相关软件和开发工具就已经安装配置好了。
http://blog.exbot.net/archives/1206
http://www.aicrobo.com/ubuntu_for_ros.html
均可以下载安装。