0%
Understand More on the MP Difficulty
- EM是一个在已知部分相关变量的情况下,估计未知变量的迭代技术,EM的算法流程如下:
- 初始化分布参数
- 重复直到收敛
- E步骤:根据隐含数据的假设值,给出当前的参数的极大似然估计
- M步骤:重新给出未知变量的期望估计,应用于缺失值
- 约束问题的三个核心:
- 第一是目标函数的定义,目标函数比较清晰,对于后面的求解更有帮助
- 第二是约束,比如路网约束、交规、动态约束等
- 第三是约束问题的优化,比如动态规划、二次规划等
- 在无人车的场景中,有三类约束:
- Rraffic Regulation(交通管制)
- Decisions(决定)
- Best Trajectory(最佳轨迹)
- 这些限制又分为硬限制和软限制,例如交通规则属于硬性限制
- Reference Line Decider
- 在可能要进行换道处理的场景下,如果只是简单的看到旁边没有车就换道,可能会导致危险发生
- 在 Apollo EM 规划框架中,我们会对换道和继续在本车道行驶分别规划出一条轨迹,只有换道之后的轨迹要比本车道的好的情况下才换道
- 在 Apollo 的 EM planner中,决定哪个道比较好的模块叫做 Reference Line Decider,中间的并行模块是通过 Path Speed Iterative 的方式并行实现的
- 优化决策问题
- 优化决策问题本身是一个 3D optimization 问题,其中包含了三个维度,需要生成 SLT
- 三维空间常用的优化方法有两种:
- 离散化的方式去处理
- Expectation Maximization(期望最大化)
- 基本思想是降维处理,先在一个维度上进行优化,然后在优化的基础上再对其它维度进行优化,并持续迭代以获得局部最优解
- 对于无人车,Apollo 上的 EM planner 对 Path-Speed 进行迭代优化
- 首先,生成一条 Optimal Path ,在最优路径的基础上生成 Optimal Speed Profile
- 在下一个迭代周期,在优化后的 Speed 的基础上,进一步优化 Path,依次类推
- 它分了四步走,其中分为两步 E 步骤和 M 步骤,这种算法的缺点是不一定能收敛到全局最优解
- 优化问题的关键步骤包括:
- Objective Functional
- Constraint
- Solver
- 优化求解方法的目的是找到最佳路径,包括前面讲的动态规划+二次规划的启发式方法
- 非线性优化问题
- 对于非线性优化问题,通常都是分两步走:
- 一是动态规划,先找一个粗略解
- 然后是二次规划,从粗略解出发,找出一个最优解
- 以路径规划为例
- 假设前方有一个障碍物,首先做出从左边还是右边的避让决策
- 然后通过 QP 生成一条平滑的曲线去避让障碍物
- 对于速度而言,先通过动态规划的方式给出一个粗略的解,然后再通过二次规划的方式给出一个更平滑的解
- 对于路径而言,先确定主车的位置,然后往前排撒若干点,基于撒点网络得到一个代价最低的路径,然后利用二次规划方法,按照问题抽象、模型建立和优化求解的步骤生成一条平滑的轨迹
- 对逆行的规划处理:
- 首先根据当前 Speed Profile 去估计当前逆行障碍物的位置
- 然后再修正 Path,根据修正之后的 Path 再来处理 Speed
Reinforcement Learning and Data Driven Approaches
- 决策问题通常用 POMDP 加上一些机器学习的技术来解决
- 解决好规划问题,需要把两个方面做好,一个是数据闭环(Data Driven),另一个是基于规则的方法
- 数据驱动是在基于规则的闭环里面的小闭环,解决实际问题时得从规则一步一步进阶到数据驱动,而不能 一上来就是数据驱动
- 在基于规则的方法的基础上,对问题形成一定的认识,通过把问题抽象成更加通用的问题,定义目标函数来进一步优化问题
- 强化学习的思想就是:
- 确立一个目标,随机的做出一个选择或是说策略,然后对结果进行观察
- 如果结果不符合预期,则不断地对其修正,使其最终达到一个期望的结果范围
- 最终能够建立一个所有场景与其执行策略到最终结果的一个映射
- 数据驱动的方法就是通过大量的案例统计分析,得到模型,使得遇到类似问题的时候,不需要过多的考虑,直接套用数据驱动的模型获得结果
- Data Driven 的方法其实就是基于经验的方法,只不过这些经验是模型通过大量的样本数据学习得到的
参考资料