planning3.5笔记

  • Apollo FSM:一个有限状态机,与高清地图确定车辆状态给定其位置和路线。
  • Planning Dispatcher:根据车辆的状态和其他相关信息,调用合适的Planner。
  • Planner:获取所需的上下文数据和其他信息,确定相应的车辆意图,执行该意图所需的规划任务并生成规划轨迹。它还将更新未来作业的上下文。
  • Deciders和Optimizers:一组实现决策任务和各种优化的无状态库。优化器特别优化车辆的轨迹和速度。决策者是基于规则的分类决策者,他们建议何时换车道、何时停车、何时爬行(慢速行进)或爬行何时完成。
  • 黄色框:这些框被包含在未来的场景和/或开发人员中,以便基于现实世界的驱动用例贡献他们自己的场景。

这里有如下一些结构值得我们注意:

名称

说明

EgoInfo 类

包含了自车信息,例如:当前位置点,车辆状态,外围Box等。

Frame 类

包含了一次Planning计算循环中的所有信息。

FrameManager 类

Frame的管理器,每个Frame会有一个整数型id。

LocalView 类

Planning计算需要的输入,下文将看到其定义。

Obstacle 类

描述一个特定的障碍物。障碍物会有一个唯一的id来区分。

PlanningContext 类

Planning全局相关的信息,例如:是否正在变道。这是一个 单例 。

ReferenceLineInfo 类

车辆行驶的参考线,下文会专门讲解。

path 文件夹

描述车辆路线信息。包含:PathData,DiscretizedPath,FrenetFramePath三个类。

speed 文件夹

描述车辆速度信息。包含SpeedData,STPoint,StBoundary三个类。

trajectory 文件夹

描述车辆轨迹信息。包含DiscretizedTrajectory,PublishableTrajectory,TrajectoryStitcher三个类。

planning_gflags.h 

定义了模块需要的许多常量,例如各个配置文件的路径。

 

 

每个Planner都会有一个字符串描述的唯一类型,在配置文件中(见下文)通过这个类型来选择相应的Planner。

这5个Planner的说明如下表所示:

名称

加入版本

类型

说明

RTKReplayPlanner

1.0

RTK

根据录制的轨迹来规划行车路线。

PublicRoadPlanner

1.5

PUBLIC_ROAD

实现了 EM算法 的规划器,这是目前的默认Planner。

LatticePlanner

2.5

LATTICE

基于网格算法的轨迹规划器。

NaviPlanner

3.0

NAVI

基于实时相对地图的规划器。

OpenSpacePlanner

3.5

OPEN_SPA

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值