目录
第一篇:ROS之初识机器人操作系统[一]
什么是ROS
ROS(Robot Operating System)是一个机器人软件平台,它能为异质计算机集群提供类似操作系统的功能。
ROS的前身是斯坦福人工智能实验室为了支持斯坦福智能机器人STAIR而建立的交换庭(switchyard)项目。到2008年,主要由威楼加拉吉继续该项目的研发。
ROS提供一些标准操作系统服务,例如硬件抽象,底层设备控制,常用功能实现,进程间消息以及数据包管理。
ROS是基于一种图状架构,从而不同节点的进程能接受,发布,聚合各种信息(例如传感,控制,状态,规划等等)。
目前ROS主要支持Ubuntu。
ROS可以分成两层,低层是上面描述的操作系统层,高层则是广大用户群贡献的实现不同功能的各种软件包,例如定位绘图,行动规划,感知,模拟等等。
ROS(低层)使用BSD许可证,所有是开源软件,并能免费用于研究和商业用途。而高层的用户提供的包则可以使用很多种不同的许可证。
以下来自ROS wiki的描述:
ROS的主要特点
ROS不是一种编程语言
ROS的主要代码由C++语言编写,本书后续章节也会介绍如何在ROS中使用C++进行编程。客户端库的编写还可以使用Python4、Java5和Lisp6等其他多种语言编写。
ROS 不仅是一个函数库
除包含客户端库(Client Libraries)外,还包含一个中心服务器(Central Server)、一系列命令行工具、图形化界面工具以及编译环境。
ROS不是集成开发环境
几乎所有的主流IDE都可用于基于ROS的软件开发,甚至可以使用普通的文本编辑器和命令行来完成相应的开发,而无需任何IDE。
特点
ROS的运行架构是一种使用ROS通信模块实现模块间P2P的松耦合的网络连接的处理架构,它执行若干种类型的通讯,包括基于服务的同步RPC(远程过程调用)通讯、基于Topic的异步数据流通讯,还有参数服务器上的数据存储。但是ROS本身并没有实时性。
ROS发布版本介绍
为嘛都是乌龟???