首页 > 技术知识 > 正文

1 ROS的介绍1.1 简介

ROS(Robot Operating System,下文简称“ROS”)是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。目前ROS主要支持Ubuntu。

1.2 版本名称

ROS的版本名称是按字母顺序E-F-G-H-I-J-K-L排列的,Electric–>Fuerte–>Groovy–>Hydro–>Indigo–>Jade–>Kinetic–>Lunar…ROS的fuerte和Groovy版本中会有ros_create_package和rosmake等命令,而Hydro及以后都很少用了。

1.3 ROS目标

简化跨机器人平台创建复杂、鲁棒的机器人行为这一过程的难度与复杂度。

为机器人研究和开发提供代码复用的支持。 1.4 ROS特色

ROS是用于编写机器人软件程序的一种具有高度灵活性的软件架构。它包含了大量工具软件、库代码和约定协议,简化跨机器人平台创建复杂、鲁棒的机器人行为这一过程的难度与复杂度。

ROS是一个分布式的进程(也就是“节点”)框架,这些进程被封装在易于被分享和发布的程序包和功能包中。

ROS 的主要目标是为机器人研究和开发提供代码复用的支持。ROS支持一种类似于代码储存库的联合系统,这个系统也可以实现工程的协作及发布。这个设计可以使一个工程的开发和实现从文件系统到用户接口完全独立决策(不受ROS限制)。同时,所有的工程都可以被ROS的基础工具整合在一起。 2 书籍ROS机器人高效编程》ROS机器人程序设计》《开源机器人操作系统》3 网站创客智造的ROS入门教程ROSABC易科机器人实验室ROS中文wiki思岚科技实验楼在线课程4 博客古月居yaked博主ZhangRelay的博客5 应用领域5.1 无人驾驶、辅助驾驶

无人车本质上就是机器人,无人车中会采用基于的机器人系统来进行开发,例如百度就是基于ros定制开发了apollo无人车。魔门塔公司就使用ROS。

新版Apollo也已经换成百度自研服务框架了。 5.2 AGV

激光导航AGV,民用领域就是扫地机器人,有科沃斯、石头科技、追觅、美的等,工业领域就是工业AGV,有海康、大族、MIR、仙知(工)、斯坦德、玖物等。从15年开始,各家都在由前期的智障阶段过渡到智能阶段。

其中一些厂商使用的就是ROS。 5.3 机械臂

一些厂家已经在ROS上做了技术探索。

5.3.1 协作机械臂

UR、达明、新松、非夕、节卡、艾利特、遨博、珞石等都有自己的核心科技和自己的市场。

5.3.2 工业机械臂

工业臂国外四大家族,KUKA、ABB、安川、发那科。国内埃夫特 、配天等。 5.4 智能解决方案

一些智能解决方案的公司,在用ROS完成,轨迹规划、视觉定位、AI等。

注:

ROS的车规问题

官方ROS发布底层基于Ubuntu,使用GCC工具链。肯定是无法满足ASIL要求的。目前业界的做法是,把底层换为满足ASIL要求的RTOS和商用工具链(编译器)。ROS中间件需要根据26262重新开发,保证和ROS API兼容。这样基于ROS开发的应用可直接移植到目标平台上量产,而且同时可以使用ROS仿真等等。引

新版Apollo也已经换成百度自研服务框架了。

补:

rtos

系统的重心是生态。无人驾驶领域,机遇ROS,要么像百度自研一套新的框架,要么改ubuntu到rtos。目前国外threadx, freertos都有自己的一套生态的,还有mbed也有自己的一套,国内alios也有,不过没那么大。

猜你喜欢