决策技术解析与实现--以交通灯为例

1.技术解析

 

 1. planning模块运行机制

 on lane planning  tasks::常规车道线规划,包括高速路,城区;

open space planning tasks:: 没有车道线的情况下,包括自主泊车、狭窄路口掉头

2.Apollo决策功能

 利用了环境信息。

(1)参考路径reference line::(Apollo中规划中重要的一个点)

 (2)交规决策 traffic rule process

 这里的虚拟墙::影响车辆的速度规划,在代码中看一看

(3)路径决策 path decider

 判断是否需要换道,根据参考线的优先级,是否安全换道。

路径决策只考虑静态障碍物,速度决策中才会考虑进去动态障碍物。

路径边界::对车道线和静态障碍物生成一个bound

 (4)速度决策 speed decider

 planning 模块流程图::决策+规划一体

 Apollo 的 规划 关键点解析

(1)场景 scenarios

 lane follow::主要场景,一段路中没有与交通灯

(利于开发者开发自己的场景)

2.交规决策场景实现机制

(1)交规配置

 (2)交规执行流程

输入的参考线referencelineInfo 中会包含()很多信息;

场景管理器scenario manager 会判断是不是有车道线与交通场景有重合,去判断进入哪个场景scenario,然后stage阶段是分段执行,每一个stage都有路径决策,路径优化,速度决策,速度优化,以task形式出现

(3)代码解析--场景进入

1.scenario

 首先是通过Overlap判断是不是进入信号灯的场景,

然后根据进一步信息判断是哪一个scenario:有保护左转、无保护左转、左转代转。。。

2.stage

上面是stage阶段注册的过程。

进入scenario 后 执行 stage ::定义stage (都有哪几个阶段);stage具有优先级,approach阶段的优先级400高于cruise优先级,所以会先执行approach;

阶段进入的方法(Approach阶段)

 (Cruise阶段)

 (在两个阶段之间 有一个 交通灯通过检测)

停止墙的生成::遇到红灯会生成一个停止墙

 在common.cc中定义了停止墙,traffic_light.cc中具体实现方法,实现方法中需要输入一些信息,停止距离,这个信息的获取在配置文件.pb.txt中,

等整个阶段完成,在恢复到默认阶段 lane follow 

3.交通灯场景仿真实现

(1)创建场景

 Apollo规划之交通灯场景仿真调试_Apollo课程

1.bash  :: 

2.输出日志::

conf 的scenario里面放着各场景的配置文件

日志输出::

referenceline_info:里面包含所需环境信息,根据overlap判断所处场景;

traffic_light.cc:包含交规;

scenario.cc:进入场景,根据优先级进入stage;

common.cc:包含设定信息;

workspace中需要编译;直接在根目录下Apollo修改不需要编译。

3.ls :: 查看目录下文件

4.代码需要看 开放平台bete文档  下载安装。安装插件在docker环境内装,才可以同步到本地。dockers::

Apollo星火计划之PnC专项_Apollo精品课

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值