Apollo自动驾驶:Planning模块深度解析
需积分: 1 89 浏览量
更新于2024-06-18
2
收藏 6.45MB PDF 举报
"Apollo自动驾驶框架中的Planning模块是一个关键组件,主要负责根据来自上游模块的环境感知数据、地图定位导航信息及全局路径规划,为自动驾驶车辆生成一条运动轨迹。轨迹包括了坐标、速度、加速度、jerk(加加速度)以及时间等详细参数,之后这些信息会被传递给控制模块来执行。Planning模块由多个子package组成,如planning_base、pnc_map、scenarios、tasks和traffice_rules,它们各自承担不同的功能,如基础算法、参考线生成、场景处理、任务插件和交通规则等。此外,Planning模块自3.5版本开始采用双层状态机的场景机制,实现了更灵活和独立的场景管理。"
在Apollo自动驾驶系统中,Planning模块的职责非常核心。它接收来自感知模块的数据,这些数据可能包括雷达、摄像头等传感器对周围环境的实时感知,以及高精度地图和定位信息。Planning模块使用这些输入来规划车辆的动态行驶路径,确保安全且高效地达到目的地。
planning_base包是Planning模块的核心,它包含了对外的接口、父类定义、主流程框架以及基础算法库。这个包是整个Planning模块的入口,负责组织和协调模块内的各个部分。
pnc_map包则专注于生成参考线,根据输入的规划导航命令或地图信息,创建出可供局部路径规划使用的参考路径。这对于车辆在复杂环境中的路径选择至关重要。
scenarios包内包含了一系列场景插件,每个场景插件针对一个特定的驾驶情况,如常规的车道跟随(LaneFollow)或紧急停车(PullOver)。场景机制使得Planning模块能够根据当前的驾驶环境动态切换合适的场景策略。
tasks包中则是各种任务插件,每个插件包包含一个或多个特定任务的实现,这些任务可能涉及路径优化、避障策略等,它们在Planning流程中按顺序执行。
traffice_rules包则负责定义和实现通用的交通规则,确保车辆在行驶过程中遵循交通法规,例如遵守速度限制、红绿灯规则等。
从Apollo 3.5版本开始,Planning模块引入了双层状态机的场景机制。这一改进允许更精细的场景划分和独立的故障隔离,TopLayer的Scenario状态机负责场景切换,而BottomLayer的Stage状态机则处理具体阶段的执行。这样的设计使得Planning模块能够更加灵活地应对不同驾驶情境,提高了自动驾驶系统的鲁棒性和适应性。
2022-04-17 上传
2024-04-06 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
埋头苦干的墨小白
- 粉丝: 45
- 资源: 6
最新资源
- dwr入门级电子书,容易阅读
- Visual Studio .NET使用技巧手册
- Struts 中文API
- 搭建嵌入式开发环境 基础文档
- 走出 JNDI 迷宫.pdf
- Oracle PL-SQL语言初级教程
- 自从计算机问世以来,程序设计就成了令人羡慕的职业,程序员在受人宠爱之后容 易发展成为毛病特多却常能自我臭美的群体。
- 再次推荐DOM4J资料 pdf
- 107个常用Javascript语句
- CAN入门技术资料 CAN入门书
- LoadRunner8.1 中文版PDF教程
- java基础教程(适合初学者)
- 概率统计与数理统计知识点
- Selective arq 实现
- ArcGIS Engine开发实例教程
- C8051F35x中文版