目录

ROS2学习笔记之ROS介绍

ROS2学习笔记之ROS介绍

https://i-blog.csdnimg.cn/blog_migrate/1d099712d4e5f02aeb7181e097f2bdc6.png

什么是ROS

ROS(Robot Operating System)是一个机器人软件平台。

ROS的前身是斯坦福人工智能实验室为了支持斯坦福智能机器人STAIR而建立的交换庭(switchyard)项目。

ROS是基于一种图状架构,从而不同节点的进程能接受,发布,聚合各种信息(例如传感,控制,状态,规划等等)。目前ROS主要支持Ubuntu。

ROS可以分成两层,低层是上面描述的操作系统层,高层则是广大用户群贡献的实现不同功能的各种软件包,例如定位绘图,行动规划,感知,模拟等等。

https://i-blog.csdnimg.cn/blog_migrate/33836be4fc1c70b5a7020a6da94d120c.png

以下来自ROS wiki的描述:

https://i-blog.csdnimg.cn/blog_migrate/4ed8a7dd5da884a0ca7b352fc5faac29.png

ROS的主要特点

ROS不是一种编程语言

ROS的主要代码由C++语言编写。但客户端库的编写还可以使用Python4、Java5和Lisp6等其他多种语言编写。

ROS 不仅是一个函数库

除包含客户端库(Client Libraries)外,还包含一个中心服务器(Central Server)、一系列命令行工具、图形化界面工具以及编译环境。

ROS不是集成开发环境

几乎所有的主流IDE都可用于基于ROS的软件开发,甚至可以使用普通的文本编辑器和命令行来完成相应的开发,而无需任何IDE。

特点

ROS是一种使用ROS通信模块实现模块间P2P的松耦合的网络连接的处理架构,它执行若干种类型的通讯,包括基于服务的同步RPC(远程过程调用)通讯、基于Topic的异步数据流通讯,还有参数服务器上的数据存储。 但是ROS本身并没有实时性。

https://i-blog.csdnimg.cn/blog_migrate/f00b853b48c7bd61e227fe74ab41e20e.png

ROS发布版本介绍

https://i-blog.csdnimg.cn/blog_migrate/227777da9231d868e9e26760500fb255.png