ROS/ROS2介绍

原创 汽车电子与软件 2022-04-19 19:26

作者:极氪软件及电子中心王阳明



前言

ROS是机器人操作系统(Robot Operating System)的英文缩写。ROS是用于编写机器人软件程序的一种具有高度灵活性的软件架构。ROS的原型源自斯坦福大学的STanford Artificial Intelligence Robot (STAIR) 和 Personal Robotics (PR)项目。

机器人的工业界和学术界在软件工具的使用上是有明显的分歧的。由于机器人的工业界并不像消费类电子这样出货量巨大,所以绝对高的技术壁垒和封闭的生态是十分常见的。为了提高自己的技术壁垒,这些公司往往会自己设计一整套封闭的软硬件,以达到让其他人(竞争对手或开发者)无法用自己的工具替换之的目的。而学术界,学生和老师们为了减少重复造轮子的工作,往往会拥抱开源社区,选择现有的工具进行开发和研究,最广为人知的便是ROS(Robot Operating System)。

ROS是什么

ROS/ROS 2并不是一个软件,而是一系列软件的集合。一般我们称之为软件解决方案堆栈。包含如硬件驱动程序、网络模块、通信架构和机器人算法实现等等。ROS将所有这些功能包放在一个保护伞下,因此开发人员无需重新造轮子。

ROS并不是一个操作系统,而一般称之为元操作系统,即基于操作系统以上的类操作系统。

ROS并不是一个中间件,因为它实现了包括感知、导航、控制、运动规划和仿真等多种功能。

 


ROS

ROS1.0版本发布于2010年,基于PR2机器人开发了一系列机器人相关的基础软件包。随后ROS版本迭代频繁,ROS的版本一般会随着Ubuntu系统长期支持(LTS)版本而更新,其中ROS目前最新的版本都已经适配到Ubuntu 20.04 LTS。ROS仅在Ubuntu上进行CI测试,但是社区成员积极支持其他Linux版本、Mac OS X、Android、Windows,使得ROS可以兼容,但仅提供有限制性的功能支持。 

ROS的历史版本

ROS版本

发布时间

Ubuntu版本

ROS Noetic Ninjemys

May 23rd, 2020

Ubuntu 20.04(Focal)

ROS Melodic Morenia

May 23rd, 2018

Ubuntu 18.04(Bionic)

ROS Lunar Loggerhead

May 23rd, 2017

Ubuntu 17.04(Zesty)

ROS Kinetic Kame

May 23rd, 2016

Ubuntu 16.04(Xenial)

ROS Jade Turtle

May 23rd, 2015

Ubuntu 15.04 (Vivid)

ROS Indigo Igloo

July 22nd, 2014

Ubuntu 14.04 (Trusty)

ROS Hydro Medusa

September 4th, 2013

Ubuntu 12.04 (Precise)

ROS Groovy Galapagos

December 31, 2012

Ubuntu 12.04(Precise)

ROS Fuerte Turtle

April 23, 2012

Ubuntu 10.04(Lucid)

ROS Electric Emys

August 30, 2011

Ubuntu 10.04(Lucid)

ROS Diamondback

March 2, 2011

Ubuntu 10.04(Lucid)

ROS C Turtle

August 2, 2010

Ubuntu 9.04(Lucid)

ROS Box Turtle

March 2, 2010

Ubuntu 8.04(Hardy)


ROS的优缺点对比

ROS为我们开发机器人带来了许多方便,然而它也确实存在一些问题: 

优点

缺点

松散耦合的机制提供框架

通信实时性能有限

丰富的机器人功能库

系统稳定性尚不满足工业级要求

庞大的用户群体

安全性上没有防护措施

免费开源

仅支持Linux(Ubuntu)

便利的数据记录、分析、仿真工具

核心机制的性能没有优化占用资源


ROS的成熟案例

ROS已经走过十个年头,伴随着机器人技术的大发展,ROS也得到了极大的推广和应用。尽管ROS还存在不少局限性,但无法掩盖ROS的锋芒,社区内的功能包还是呈指数级逐年上涨,为机器人开发带来了巨大的便利。不少开发者和研究机构还针对ROS的局限性进行了改良,但这些局部功能的改善往往很难带来整体性能的提升,在行业内也积累了大量成熟的应用:
机械臂控制器中领军企业KEBA,他们的控制器已经支持ROS :
美国NASA基于ROS开发的Robonaut 2:

 百度apollo无人车的底层是基于ROS开发的:
总体来说,ROS更适合科研和开源用户使用,如果在工业场景应用(例如无人驾驶)还需要做优化和定制,目前ROS已经停止更新,机器人开发者对新一代ROS的呼声越来越大,ROS2.0的消息也不绝于耳。 

ROS 2

ROS无法真正进入产业界,也自然无法产品化。为了解决这一问题,社区提出了ROS 2。使得ROS具备产品化的特性,包括实时性、适应于全平台、适用于性能低的硬件(MCU+RTOS)、分布式、数据加密和现代编程语言的支持。

ROS 2的历史版本

ROS 版本

发布时间

Ubuntu版本

Humble Hawksbill

May 23rd, 2022

TBD

Galactic Geochelone

May 23rd, 2021

Ubuntu 20.04(Focal)

Foxy Fitzroy

June 5th, 2020

Ubuntu 20.04(Focal)

Eloquent Elusor

November 22nd, 2019

Ubuntu 18.04  (Bionic)

Dashing Diademata

May 31st, 2019

Ubuntu 18.04  (Bionic)

Crystal Clemmys

December 14th, 2018

Ubuntu 16.04  (Xenial)

Bouncy Bolson

July 2nd, 2018

Ubuntu 16.04  (Xenial)

Ardent Apalone

December 8th, 2017

Ubuntu 16.04 ( Xenial)


实时化与分布式

为了解决消息间通讯的去中心化和实时性问题,ROS 2引入了Data Distribution ServiceDDS),一种已经广泛应用于国防、民航、工业控制等领域,成为分布式实时系统中数据发布/订阅的标准解决方案。如下图所示,左边是ROS 1,右边是ROS 2。 

ROS 1中,用户的每个节点,无论是同一设备还是不同设备,必须已知Master节点的IP,并且全部依赖于Master节点进行通讯,一旦Master节点发生故障或该设备发生故障,则整个环境的所有节点功能尽失。无法恢复。也正因为这一点,ROS 1无法应用于正式的产品。

ROS 2引入了基于DDS的去中心化的数据通讯方式,不同节点可以通过未知IP的方式进行通讯,也进而有助于解决多机器人系统的问题。并且ROS 2也引入了 Quality of Service的机制,通过设定不同的服务质量来保障某些较差网络环境下也可以具备良好的通讯效果。 

实时性

而对于实时性,由于DDS在诸多工业和产业有诸多应用,具有良好的生态,其性能毋庸置疑。如下图的测试结果:
测试设备为两台PowerEdge R330 e34s
OS: Ubuntu 18.04.2 LTS bionic
Architecture: x86_64
CPU(s): 8
Thread(s) per core: 2
Model name: Intel(R) Xeon(R) CPU E3-1230 v6 @ 3.50GHz 

Fast-RTPS为例,可以看到从延时上,在该双设备间通讯中可以稳定在100μs以下,而吞吐量的带宽也达到了750Mbit/s以上。详细的跑分数据可以参考Fast-RTPS vs Cyclone DDS vs OpenSplice DDS进行了解,且同设备内的通讯效率会远超该结果。

数据加密

ROS 2在DDS的基础之上引入了SROS的概念,设计文档参考ROS 2 DDS-Security integration,即所有的ROS 2消息均可通过SROS进行加解密、鉴权、授权控制、Log和数据标记的权限控制等。基于ROS 2的原本设计逻辑,我们甚至可以将数据的密钥生成和存储放到ARM TEE OS中,以实现较高安全的数据保证

现代编程语言的支持

由于ROS 1的最初发行版在2007年,长期以来的支持和众多开发库的支持导致很多语言的新特性并不能良好地应用。比如对于Python,直至2020年发布的Noetic版本中才首次支持了Python 3,而Python 2在2020年1月便已经停止进行支持了。再如C++,ROS 1是基于C++ 03实现的,对于C++ 11的支持并不好,更不用谈C++ 14和C++ 17的支持。

ROS 2则完全支持Python 3,并基于现代C++编写。并基于其松耦合的方式,还支持Java和Rust等编程语言。如下图User Application下面那一行所示,只要开发者愿意,可以支持任何编程语言

灵活的机制
ROS 2提供了一种基于生命周期的管理模式, 即每个节点的运行状态是完全可控的。参考设计文档Managed nodes的阐述。所有Managed节点都可以在运行时进行实时配置、管理、关闭和启动,并在出错时可以由管理节点进行唤醒和重置。这种方式保证了整个系统的稳定性和鲁棒性,也提高了系统出错后恢复到正常的能力。
ROS 2在运行时可以更换DDS中间件,也可以在不同DDS中间件的实现间进行通讯。

5G的支持

ROS 2在Ericsson的推动下,正在商讨5G的ROS 2通讯方案的制定和实现。 

全新的生态

继承ROS 1广博的开源生态资源,ROS 2的发布激起了大家对于ROS产品化的热情,许多公司都向ROS 2贡献方案和代码,包括但不限于Intel、NVIDIA、Ericsson等。
除了贡献新的代码,ROS 1的优秀工具也都被完全继承到ROS 2里,如Moveit、Rviz和rosbag等。并且有些模块,如navigation(导航),在开发者的改进中升级为navigation2,改善了诸多问题,提高了使用的便利性。

多种通讯方式

ROS 2 Topic通讯节点和节点之间进行通讯的桥梁,节点可以同时发布和接收话题,节点和话题之间是多对多关系。
Service(服务)是ROS图上节点通信的另一种方法,服务基于呼叫响应模型,而不是主题的发布者-订阅者模型。服务端和客户端之间,是一对一或一对多关系。
Action是ROS 2中用于长时间运行任务的通信类型之一,它们由三部分组成:目标,结果和反馈。
 

ROS 2的成熟案例

美军投资的Ghost Robotics,其四足机器人使用了Eloquent版本的ROS 2进行开发,DDS方案选用的是商用的Cyclone DDS。
Mission Robotics的水下机器人(ROV),使用了Foxy版本的ROS 2进行开发。

总结

汽车产业真正的革命已经开始,软件定义汽车的时代已经到来。汽车正加速从从机械设备向高度数字化、信息化的智能终端转变,涉及领域庞大并且复杂。一辆自动驾驶的汽车,从某种意义上来说,也是一个自动驾驶的机器人,理所当然的可以是使用ROS 2进行开发,ROS 2提供了大量基础组件,大大便利了包括导航算法、自动驾驶算法和一些AI算法的部署。当然ROS 2仍然有很多缺陷,ROS 2的调度模型无法抢占,有时候优先级高的调度实例可能被低优先级的调度阻塞,还没有一家汽车行业公司利用ROS 2将产品落地。
面对这些挑战,极氪的软件及电子中心大胆尝试,基于ROS 2的通讯框架和平台架构,进行基于SOA架构的汽车操作系统的开发,并且取得不错的测试效果。极氪的软件及电子中心的在一直在前沿技术方面做深入探索,致力于打造ZEEKR OS整车操作系统,也欢迎各位有志之士加入我们,共同探索下一代汽车操作系统。

最后发一个招聘广告:
汽车电子与软件 主要介绍汽车电子软件设计相关内容,每天分享一篇技术文章!
评论 (0)
  • 在CAN总线分析软件领域,当CANoe不再是唯一选择时,虹科PCAN-Explorer 6软件成为了一个有竞争力的解决方案。在现代工业控制和汽车领域,CAN总线分析软件的重要性不言而喻。随着技术的进步和市场需求的多样化,单一的解决方案已无法满足所有用户的需求。正是在这样的背景下,虹科PCAN-Explorer 6软件以其独特的模块化设计和灵活的功能扩展,为CAN总线分析领域带来了新的选择和可能性。本文将深入探讨虹科PCAN-Explorer 6软件如何以其创新的模块化插件策略,提供定制化的功能选
    虹科汽车智能互联 2025-04-28 16:00 71浏览
  •  探针台的维护直接影响其测试精度与使用寿命,需结合日常清洁、环境控制、定期校准等多维度操作,具体方法如下:一、日常清洁与保养1.‌表面清洁‌l 使用无尘布或软布擦拭探针台表面,避免残留清洁剂或硬物划伤精密部件。l 探针头清洁需用非腐蚀性溶剂(如异丙醇)擦拭,检查是否弯曲或损坏。2.‌光部件维护‌l 镜头、观察窗等光学部件用镜头纸蘸取wu水jiu精从中心向外轻擦,操作时远离火源并保持通风。3.‌内部防尘‌l 使用后及时吹扫灰尘,防止污染物进入机械滑
    锦正茂科技 2025-04-28 11:45 58浏览
  •  集成电路封装测试是确保芯片性能与可靠性的核心环节,主要包括‌晶圆级测试(CP测试)‌和‌封装后测试(FT测试)‌两大阶段,流程如下:一、晶圆级测试(CP测试)1.‌测试目的‌:在晶圆切割前筛选出功能缺陷或性能不达标的晶粒(Die),避免后续封装环节的资源浪费,显著降低制造成本。2.‌核心设备与操作‌l ‌探针台(Prober)‌:通过高精度移动平台将探针与晶粒的Pad jing准接触,实现电气连接。l ‌ATE测试机‌:提供测试电源、信号输入及功能向量,接收晶粒反
    锦正茂科技 2025-04-27 13:37 185浏览
  • 探针台作为高精度测试设备,在光电行业的关键器件研发、性能测试及量产质量控制中发挥核心作用,主要涵盖以下应用场景与技术特性:一、光电元件性能测试1.‌光电器件基础参数测量‌l 用于LED、光电探测器、激光器等元件的电流-电压(I-V)特性、光功率、响应速度等参数测试,支撑光通信、显示技术的器件选型与性能优化。l 支持高频信号测试(如40GHz以上射频参数),满足高速光调制器、光子集成电路(PIC)的带宽与信号完整性验证需求。2.‌光响应特性分析‌l 通过电光转换效率测
    锦正茂科技 2025-04-27 13:19 115浏览
  • 在电子电路设计和调试中,晶振为电路提供稳定的时钟信号。我们可能会遇到晶振有电压,但不起振,从而导致整个电路无法正常工作的情况。今天凯擎小妹聊一下可能的原因和解决方案。1. 误区解析在硬件调试中,许多工程师在测量晶振时发现两端都有电压,例如1.6V,但没有明显的压差,第一反应可能是怀疑短路。晶振电路本质上是一个交流振荡电路。当晶振未起振时,两端会静止在一个中间电位,通常接近电源电压的一半。万用表测得的是稳定的直流电压,因此没有压差。这种情况一般是:晶振没起振,并不是短路。2. 如何判断真
    koan-xtal 2025-04-28 05:09 115浏览
  • 一、智能家居的痛点与创新机遇随着城市化进程加速,现代家庭正面临两大核心挑战:情感陪伴缺失:超60%的双职工家庭存在“亲子陪伴真空期”,儿童独自居家场景增加;操作复杂度攀升:智能设备功能迭代导致用户学习成本陡增,超40%用户因操作困难放弃高阶功能。而WTR096-16S录音语音芯片方案,通过“语音交互+智能录音”双核驱动,不仅解决设备易用性问题,更构建起家庭成员间的全天候情感纽带。二、WTR096-16S方案的核心技术突破1. 高保真语音交互系统动态情绪语音库:支持8种语气模板(温柔提醒/紧急告警
    广州唯创电子 2025-04-28 09:24 121浏览
  • 4月22日下午,备受瞩目的飞凌嵌入式「2025嵌入式及边缘AI技术论坛」在深圳深铁皇冠假日酒店盛大举行,此次活动邀请到了200余位嵌入式技术领域的技术专家、企业代表和工程师用户,共享嵌入式及边缘AI技术的盛宴!1、精彩纷呈的展区产品及方案展区是本场活动的第一场重头戏,从硬件产品到软件系统,从企业级应用到高校教学应用,都吸引了现场来宾的驻足观看和交流讨论。全产品矩阵展区展示了飞凌嵌入式丰富的产品线,从嵌入式板卡到工控机,从进口芯片平台到全国产平台,无不体现出飞凌嵌入式在嵌入式主控设备研发设计方面的
    飞凌嵌入式 2025-04-28 14:43 82浏览
  • 探针台作为半导体制造与测试的核心设备,通过精密定位与多环境适配能力,支撑芯片研发、生产及验证全流程。以下是其关键应用领域与技术特性:一、核心功能支撑1.‌电性能测试与分析‌l 在晶圆切割前,探针台直接接触芯片电极,测量阈值电压、漏电流、跨导等200余项参数,用于评估良品率及优化工艺设计。l 支持单晶体管I-V曲线测量,定位栅极氧化层厚度偏差(精度达0.2nm),为器件性能分析提供数据基础。2.‌纳米级定位与测量‌l 定位精度达±0.1μm,满足5nm及以下制程芯片的
    锦正茂科技 2025-04-27 13:09 151浏览
  • 速卖通,作为阿里巴巴集团旗下的跨境电商平台,于2010年横空出世,彼时正值全球电商市场蓬勃发展,互联网的普及让跨境购物的需求日益增长,速卖通顺势而为,迅速吸引了全球目光。它以“让天下没有难做的生意”为使命,致力于打破国界限制,搭建起中国商家与全球消费者之间的桥梁。在其发展的黄金时期,速卖通取得的成绩令人瞩目。在欧洲市场,速卖通一度成为第一大电商平台。根据第三方机构《欧洲跨境商务》的评选,速卖通凭借出色的服务和消费者口碑,在“欧洲十大跨境电商平台”中脱颖而出,力压来自美国的亚马逊和eBay等电商巨
    用户1742991715177 2025-04-26 20:23 185浏览
  • 晶振在使用过程中可能会受到污染,导致性能下降。可是污染物是怎么进入晶振内部的?如何检测晶振内部污染物?我可不可以使用超声波清洗?今天KOAN凯擎小妹将逐一解答。1. 污染物来源a. 制造过程:生产环境不洁净或封装密封不严,可能导致灰尘和杂质进入晶振。b. 使用环境:高湿度、温度变化、化学物质和机械应力可能导致污染物渗入。c. 储存不当:不良的储存环境和不合适的包装材料可能引发化学物质迁移。建议储存湿度维持相对湿度在30%至75%的范围内,有助于避免湿度对晶振的不利影响。避免雨淋或阳光直射。d.
    koan-xtal 2025-04-28 06:11 96浏览
  • 2025年全球人形机器人产业迎来爆发式增长,政策与资本双重推力下,谷歌旗下波士顿动力、比亚迪等跨国企业与本土龙头争相入局,产业基金与风险投资持续加码。仅2025年上半年,中国机器人领域就完成42笔战略融资,累计金额突破45亿元,沪深两市机器人指数年内涨幅达68%,印证了资本市场对智能终端革命的强烈预期。值得关注的是,国家发展改革委联合工信部发布《人形机器人创新发展行动计划》,明确将仿生感知系统、AI决策中枢等十大核心技术纳入"十四五"国家重大专项,并设立500亿元产业引导基金。技术突破方面,本土
    电子资讯报 2025-04-27 17:08 236浏览
  •     今天,纯电动汽车大跃进牵引着对汽车电气低压的需求,新需求是48V。车要更轻,料要堆满。车身电子系统(电子座舱)从分布改成集中(域控),电气上就是要把“比12V系统更多的能量,送到比12V系统数量更少的ECU去”,所以,电源必须提高电压,缩小线径。另一方面,用比传统12V,24V更高的电压,有利于让电感类元件(螺线管,电机)用更细的铜线,缩小体积去替代传统机械,扩大整车电气化的边界。在电缆、认证行业60V标准之下,48V是一个合理的电压。有关汽车电气低压,另见协议标准第
    电子知识打边炉 2025-04-27 16:24 202浏览
  •   无人机部件仿真与模型验证平台系统解析   北京华盛恒辉无人机部件仿真与模型验证平台系统是无人机研发的核心工具,通过多元功能、创新架构和广泛应用,推动无人机技术发展。以下从核心功能、技术架构、应用场景、优势及发展趋势展开解析。   应用案例   目前,已有多个无人机部件仿真与模型验证平台在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润无人机部件仿真与模型验证平台。这些成功案例为无人机部件仿真与模型验证平台的推广和应用提供了有力支持。   一、核心功能   三维建模与可视化
    华盛恒辉l58ll334744 2025-04-26 16:39 254浏览
  • 贞光科技代理品牌紫光国芯的车规级LPDDR4内存正成为智能驾驶舱的核心选择。在汽车电子国产化浪潮中,其产品以宽温域稳定工作能力、优异电磁兼容性和超长使用寿命赢得市场认可。紫光国芯不仅确保供应链安全可控,还提供专业本地技术支持。面向未来,紫光国芯正研发LPDDR5车规级产品,将以更高带宽、更低功耗支持汽车智能化发展。随着智能网联汽车的迅猛发展,智能驾驶舱作为人机交互的核心载体,对处理器和存储器的性能与可靠性提出了更高要求。在汽车电子国产化浪潮中,贞光科技代理品牌紫光国芯的车规级LPDDR4内存凭借
    贞光科技 2025-04-28 16:52 72浏览
  •   北京华盛恒辉电磁环境适应性测试系统是针对复杂电磁环境进行仿真、测试与评估的关键设备,以下从系统功能、技术架构、应用场景、核心优势、发展趋势五个维度展开全面解析:   应用案例   目前,已有多个电磁环境适应性测试系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润电磁环境适应性测试系统。这些成功案例为电磁环境适应性测试系统的推广和应用提供了有力支持。   一、系统功能   复杂电磁环境构建   全生命周期测试能力   实时监测与反馈   二、技术架构   模块化设
    华盛恒辉l58ll334744 2025-04-26 17:21 197浏览
我要评论
0
1
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦