自动驾驶中ROS操作系统竟然这么重要
来源:电子工程专辑 发布时间:2022-09-07 分享至微信


人工智能的今天,可以说机器人无处不在,自动驾驶也是当下热门的技术。


那么,你知道自动驾驶中用到机器人操作系统ROS到底是什么吗?

扫描上方二维码,进入汽车电子群

什么是机器人操作系统ROS

1.ROS(RobotOperatingSystem)是一个操作系统
ROS是对机器人的硬件进行了封装,不同的机器人、不同的传感器,在ROS里可以用相同的方式表示(topic等),供上层应用程序(运动规划等)调用。
计算机OS与机器人OS对比示意图,图片引用自Nao
2.ROS是一种跨平台模块化软件通讯机制
ROS用节点(Node)的概念表示一个应用程序,不同node之间通过事先定义好格式的消息(Topic),服务(Service),动作(Action)来实现连接。
因为ROS本身是基于消息机制的,开发者可以根据功能把软件拆分成为各个模块,每个模块只是负责读取和分发消息,模块间通过消息关联。
3.ROS是一系列开源工具
很多知名的机器人开源库,比如基于quaternion的坐标转换、3D点云处理驱动、定位算法SLAM等都是开源贡献者基于ROS开发的。

机器人操作系统ROS特性

1.系统安全可靠
  • 去中心化

ROS重要节点需要热备份,以便宕机时可以随时切换。主节点宕机后,备份节点被切换为主节点,并且用备份的主节点完成信息初始化。
  • 实时监控和报警

对于运行的节点实时监控其运行数据,并检测到严重的错误信息时报警。
基于ZooKeeper的监控和报警
  • 节点宕机状态恢复
节点宕机的时候,需要通过重启的机制恢复节点,这个重启可以是无状态的,但有些时候也必须是有状态的,因此状态的备份格外重要。节点的宕机检测也是非常重要的,如果察觉到节点宕机,必须很快地使用备份的数据重启。

2.系统通信性能提升

由于无人驾驶系统模块很多,模块间的信息交互很频繁,提升系统通信性能会对整个系统性能提升的作用很大。

3.系统资源管理与安全性

如何解决资源分配与安全问题是无人驾驶技术的一个大课题。

ROS在自动驾驶上的应用

想要制造无人驾驶汽车,有很多关键问题需要解决。
怎么在车内搭建可靠的网络,如何管理内存、存储数据和日志记录,如何使传感器和计算机能够同时相互通信,以及如何确保它们都很稳定且安全。
机器人操作系统ROS为许多问题提供了开源解决方案。
要保证一个复杂的系统稳定、高效地运行,每个模块都能发挥出最大的潜能,需要一个成熟有效的管理机制。
在无人驾驶场景中,ROS提供了这样一个管理机制,使得系统中的每个软硬件模块都能有效地进行互动。原生的ROS提供了许多必要的功能,但是这些功能并不能满足无人驾驶的所有需求,因此我们在ROS之上进一步地提高了系统的性能与可靠性,完成了有效的资源管理及隔离。
我们相信随着无人驾驶技术的发展,更多的系统需求会被提出,比如车车互联、车与城市交通系统互联、云车互联、异构计算硬件加速等,我们也将会持续优化这个系统,力求让它变成无人驾驶的标准系统。
扫描下方二维码,进入汽车电子群

[ 新闻来源:电子工程专辑,更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj]
存入云盘 收藏
举报
全部评论

暂无评论哦,快来评论一下吧!