Autoware.universe各模块功能介绍
Autoware.Universe由以下七个部分组成sensing、map、localization、perception、planning、control、vehicle interface。
- Sensing(感知)
Sensing模块负责处理来自各种传感器的数据,如激光雷达(LiDAR)、摄像头、毫米波雷达(RADAR)等。它将原始传感器数据转化为可以被其他模块理解和使用的格式,为后续的环境感知提供基础。
-
Map(地图)
Map模块涉及高精度地图的使用和管理,包括静态地图信息的加载和动态地图元素的更新。地图数据对于路径规划和车辆定位至关重要,它提供了道路结构、交通标志、障碍物等环境信息。
Map向其余模块提供两种类型的信息,矢量地图和点云地图。矢量地图包含关于道路网络、车道几何和交通灯的高度精确的信息。路线规划、交通灯检测以及预测其他车辆和行人的轨迹都需要它。3D点云地图主要用于基于激光雷达的定位和Autoware中感知的一部分。
Map模块由三个子模块组成。点云地图加载模块、矢量地图加载模块和投影加载模块。前两个分别加载并发布点云地图和矢量地图,投影加载模块则加载和发布投影信息,以便在本地坐标(x,y,z)和世界坐标(经度,纬度,高度)之间进行转换
-
Localization(定位)
Localization模块专注于确定车辆在世界坐标系中的精确位置和姿态。它通常使用GPS、IMU、轮速编码器和SLAM(Simultaneous Localization and Mapping)等技术,结合传感器数据和地图信息来实现,旨在估计车辆姿态、速度和加速度。推荐架构如下:
Pose Estimator(姿态估计器),通过将外部传感器观察值与地图匹配,估计地图坐标上的车辆姿态。
Twist-Accel Estimator(扭转加速度估计量)用于产生车速、角速度、加速度、角加速度及其协方差。
Kinematics Fusion Filter(运动学融合滤波器)通过融合两种信息,产生最可能的姿态、速度、加速度及其协方差。
Localization Diagnostics(本地化诊断)通过融合从多个定位模块获得的信息来监控和保证姿态估计的稳定性和可靠性。
-
Perception(感知)
Perception模块负责环境的理解和识别,包括障碍物检测、行人和车辆识别、交通标志和信号灯的识别等。它基于Sensing模块提供的数据,利用计算机视觉和机器学习技术进行物体分类和追踪,然后将这些信息传递给规划模块。
感知模块由以下子组件组成:
Object Recognition(物体识别)识别当前帧中当前车辆周围的动态对象、在地图创建过程中不存在的对象,并预测它们未来的轨迹。
Obstacle Segmentation(障碍分割)识别源自障碍物的点云,包括动态物体和静态障碍物,需要ego车辆避开它们或在障碍物前停下来。
Occupancy Grid Map(占用网格图)检测盲点(没有可用信息的区域和动态对象可能跳出的区域)。
Traffic Light Recognition(交通灯识别)识别交通灯的颜色和箭头信号的方向。
-
Planning(规划)
Planning模块负责制定车辆的行驶路线和轨迹,包括宏观的路径规划(从起点到终点的最优路径)和微观的轨迹规划(具体的车辆运动轨迹)。它考虑交通规则、障碍物和动态环境,以生成安全可行的驾驶策略。
规划模块理想化设计结构如下:
规划部分包括几个子部分:
Mission Planning任务规划:该模块利用地图数据计算从当前位置到目的地的路线。其功能类似于车队管理系统(对外军贸(foreign military sales的缩写))或者车载导航路线规划。
Planning Modules规划模块:这些模块为分配的任务规划车辆的行为,包括目标轨迹、信号灯信号等。它们分为行为和运动类别:
Behavior行为:专注于计算安全且符合规则的路线,管理车道变更、交叉路口入口和停车线停车的决策。
Motion移动:与行为模块协同工作,以确定车辆的轨迹,同时考虑其运动和乘坐舒适性。它包括横向和纵向规划路线形状和速度计算。
Validation确认:确保计划轨迹的安全性和适当性,并具备应急响应能力。如果计划的轨迹不合适,它会触发应急协议或生成替代路径。
-
Control(控制)
Control模块接收Planning模块生成的轨迹指令,转化为车辆可以执行的控制信号,如转向角度、油门和刹车力度。它实现闭环控制,确保车辆按照预定轨迹行驶,同时保持稳定性和安全性。
控制组件由两个模块组成。这trajectory_follower模块产生车辆控制命令以遵循从规划模块接收的参考轨迹。该命令包括例如期望的转向角和目标速度。这vehicle_command_gate负责过滤控制命令以防止异常值,然后将其发送到车辆。除了轨迹跟随器之外,该门还允许在多个源之间切换,例如MRM(最小风险机动)模块或一些远程控制模块。
-
Vehicle Interface(车辆接口)
Vehicle Interface模块充当软件和硬件之间的桥梁,它负责将Control模块的控制信号发送给车辆的执行机构,如转向系统、加速踏板和制动系统。同时,它也接收车辆状态反馈,如速度、方向和发动机状态,以便其他模块使用。
车辆接口部件由以下部件组成:
如果线控系统支持速度/加速度控制,原始车辆指令转换器部件将传递来自控制部件的车辆指令。否则,将根据控制方法修改控制命令(例如:通过使用加速度图将来自控制部件的目标加速度转换成车辆特定的加速/制动踏板值)
车辆接口部件(车辆专用),作为Autoware和车辆之间的接口,用于传递控制信号和获取车辆信息(转向输出、轮胎角度等)。