【知识】基于ROS的无人驾驶系统

发表于 讨论求助 2022-10-09 09:25:50

测温机器人

  本文是无人驾驶技术系列的第二篇。在上篇解析光学雷达(LiDAR)技术之后,本文着重介绍基于机器人操作系统ROS的无人驾驶系统。文中将介绍ROS以及它在无人驾驶场景中的优缺点,并讨论如何在ROS的基础上提升无人驾驶系统的可靠性、通信性能和安全性。

  无人驾驶:多种技术的集成

  无人驾驶技术是多个技术的集成,如图1所示,一个无人驾驶系统包含了多个传感器,包括长距雷达、激光雷达、短距雷达、摄像头、超声波、GPS、陀螺仪等。每个传感器在运行时都不断产生数据,而且系统对每个传感器产生的数据都有很强的实时处理要求。比如摄像头需要达到60FPS的帧率,意味着留给每帧的处理时间只有16毫秒。但当数据量增大之后,分配系统资源便成了一个难题。例如,当大量的激光雷达点云数据进入系统,占满CPU资源,就很可能使得摄像头的数据无法及时处理,导致无人驾驶系统错过交通灯的识别,造成严重后果。

  图1 无人驾驶系统范例

  如图2所示,无人驾驶系统整合了多个软件模块(包括路径规划、避障、导航、交通信号监测等)和多个硬件模块(包括计算、控制、传感器模块等),如何有效调配软硬件资源也是一个挑战。具体包括三个问题:第一,当软硬件模块数据增加,运行期间难免有些模块会出现异常退出的问题,甚至导致系统崩溃,此时如何为提供系统自修复能力?第二,由于模块之间有很强的联系,如何管理模块间的有效通信(关键模块间的通信,信息不可丢失,不可有过大的延时)?第三,每个功能模块间如何进行资源隔离?如何分配计算与内存资源?当资源不足时如何确认更高的优先级执行?

  图2 无人驾驶软硬件整合

  简单的嵌入式系统并不能满足无人驾驶系统的上述需求,我们需要一个成熟、稳定、高性能的操作系统去管理各个模块。在详细调研后,我们觉得机器人操作系统ROS比较适合无人驾驶场景。下文将介绍ROS的优缺点,以及如何改进ROS使之更适用于无人驾驶系统。

1  2  3  4  下一页>  
发表
26906人 签到看排名