一、什么是ROS
ROS是一个适用于机器人编程的框架,这个框架把原本松散的零部件耦合在了一起,为他们提供了通信架构。
ROS虽然叫做操作系统,但并非 Windows、Mac 那样通常意义的操作系 统,它只是连接了操作系统和你开发的ROS应用程序,所以它也算是一个中间件,为基于 ROS 的应用程序之间建立起了沟通的桥梁,所以也是运行在Linux上的运行时环境,在这个环境下,机器人的感知、决策、控制算法可以更好的组织和运行。
二、ROS的特点及优缺点
分布式点对点
ROS采用了分布式的框架。通过点对点的设计让机器人的进程可以分别运行,便于模块 化的修改和定制,提高了系统的容错能力。
多种语言支持
ROS支持多种编程语言。C++、Pyhton和已经在ROS中实现编译,是目前应用最广的 ROS开发语言,Lisp、C#、Java等语言的测试库也已经实现。为了支持多语言编程, ROS采用了一种语言中立的接口定义语言来实现各模块之间消息传送。通俗的理解就 是,ROS的通信格式和用哪种编程语言来写无关,它使用的是自身定义的一套通信接口。
开源社区
ROS具有一个庞大的社区ROS-WIKI(http://wiki.ros.org/),这个网站将会始终伴随着你 ROS开发,无论是查阅功能包的参数、搜索问题还是。当前使用ROS开发的软件包已经 达到数千万个,相关的机器人已经多达上千款。此外,ROS遵从BSD协议,对个人和商业应用及修改完全免费。这也促进了ROS的流行。
优点