大三小学期进阶课程第二十课:Understand More on the MP Difficulty
第20课、Understand More on the MP Difficulty
EM是一个在已知部分相关变量的情况下,估计未知变量的迭代技术,EM的算法流程如下:
(1)初始化分布参数;
(2)重复直到收敛。重复直到收敛的步骤如下:
(1)E步骤:根据隐含数据的假设值,给出当前的参数的极大似然估计;
(2)M步骤:重新给出未知变量的期望估计,应用于缺失值。约束问题的核心有三点:第一是目标函数的定义,目标函数比较清晰,对于后面的求解更有帮助。第二是约束,比如路网约束、交规、动态约束等。第三是约束问题的优化,比如动态规划、二次规划等。
在无人车场景中,有三类约束,第一个叫做 Rraffic Regulation,第二个是 Decisions,第三个是 Best Trajectory 。这些限制又分为硬限制和软限制,例如交通规则属于硬性限制。
在蓝线和红线交点处发现前方有车辆行驶缓慢,可能要进行换道处理。如果只是简单的看到旁边没有车就换道,可能会导致危险发生。在 Apollo EM 规划框架中,我们会对换道和继续在本车道行驶分别规划出一条轨迹,只有换道之后的 Trajectory 要比本车道的 Trajectory 好的情况下才换道。在 Apollo 的 EM planner中,决定哪个道比较好的模块叫做 Reference Line Decider,中间的并行模块是通过 Path Speed Iterative 的方式并行实现的。
优化决策问题本身是一个 3D optimization 问题,其中包含了三个维度,需要生成 SLT 。三维空间的优化相对比较复杂,常用的方法有两种:
(1)离散化的方式去处理。
(2) Expectation Maximization(期望最大化)。其基本思想是降维处理,先在一个维度上进行优化,然后在优化的基础上再对其它维度进行优化,并持续迭代以获得局部最优解。对于无人车,Apollo 上的 EM planner 对 Path-Speed 进行迭代优化。首先,生成一条 Optimal Path ,在最优路径的基础上生成 Optimal Speed Profile 。在下一个迭代周期,在优化后的 Speed 的基础上,进一步优化 Path,依次类推。它分了四步走,其中分为两步 E step 和 M step 。这种算法的缺点是不一定能收敛到全局最优解。
优化问题的关键步骤包括: Objective Functional、Constraint、Solver。目标函数是一些关键特征的线性组合。约束主要包括交通灯、碰撞以及动态需求等。优化求解方法的目的是找到最佳路径,包括前面讲的动态规划+二次规划的启发式方法。
对于非线性优化问题,通常都是分两步走,一是动态规划,先找一个粗略解。然后再是二次规划,从粗略解出发,找出一个最优解。
以路径规划为例,假设前方有一个障碍物,首先做出从左边还是右边的避让决策,然后通过 QP 生成一条平滑的曲线去避让障碍物。对于速度而言,先通过动态规划的方式给出一个粗略的解,然后再通过二次规划的方式给出一个更平滑的解。
对于逆行的处理,首先根据当前 Speed Profile 去估计当前逆行障碍物的位置,然后再修正 Path,根据修正之后的 Path 再来处理 Speed,例如需要减速。减速之后,估计需要重新改变路径,依此类推,直到得到理想的规划轨迹。
决策问题通常用 POMDP 加上一些机器学习的技术来解决。
解决好规划问题,需要把两个方面做好,一个是数据闭环(Data Driven),另一个是基于规则的方法。
数据驱动是在基于规则的闭环里面的小闭环。Rule Based 的方法可以对遇到的新案例,很快给出解决方案。
在基于规则的方法的基础上,对问题形成一定的认识,通过把问题抽象成更加通用的问题,定义目标函数来进一步优化问题。
数据驱动的方法就是通过大量的案例统计分析,得到模型,使得遇到类似问题的时候,不需要过多的考虑,直接套用数据驱动的模型获得结果
Data Driven 的方法其实就是基于经验的方法,只不过这些经验是模型通过大量的样本数据学习得到的
大三小学期进阶课程第二十课:Understand More on the MP Difficulty相关推荐
- 大三小学期进阶课程第二十九课:感知概貌
第29课.感知概貌 人类开车与机器开车在感知上的区别 (1)感知是机器人学科的问题,机器人要做的即是像人类学习,但不是完全模仿,应做到扬长避短.例如飞机的飞行不需要和鸟的飞行一样,而是要根据自己的特性 ...
- 大三小学期进阶课程第二十一课:reinforcement learning and data driven approaches
第21课.reinforcement learning and data driven approaches 解决规划问题,不能一上来就开始data driven,而是一步步来从rule based这 ...
- 大三小学期进阶课程第十二课:apollo地图采集方案
第12课.apollo地图采集方案 TomTom的移动测量车队通过配备有1台Velodyne激光雷达相机.1台360度全景相机.2台SICK雷达和兼容GPS/GLONASS的高精度天线的福特翼虎,让驾 ...
- 大三小学期入门课程第六课:规划
在规划中,我们通过结合高精度地图,定位和预测来构建车辆轨迹,规划的第一步是路线导航,侧重于如何从地图上的A前往B,在进行路线规划时,将地图数据作为输入并输出可行驶路径 轨迹规划的目标是生成免碰撞和舒适 ...
- 第二十课 Django Admin后台管理
第二十课 Admin后台管理 1. admin创建用户 创建管理员账号: python manage.py createsuperuser# 按提示输入用户名.邮箱.密码 2. 注册模型 如果只是在a ...
- Apollo进阶课程㉖丨Apollo规划技术详解——Understand More on the MP Difficulty
原文链接:进阶课程㉖丨Apollo规划技术详解--Understand More on the MP Difficulty EM是一个在已知部分相关变量的情况下,估计未知变量的迭代技术,EM的算法流程 ...
- 进化论的再思《基督教与科学》第二十课
黄牧师 一.介绍四位学者 潘柏韬博士.弗兰斯‧科林博士.赛门康威‧莫里斯博士(不要与亨利莫里斯混淆,亨利博士是已故土木工程师.赛门康威•莫里斯博士是现任剑桥大学古生物学系主任,是世界首席的寒武纪大爆炸 ...
- Python界面编程第二十课:Pyside2 (Qt For Python)文本编辑框QTextEdit
先看完整代码: from PySide2.QtWidgets import QApplication, QMainWindow, QAction, QTextEdit import sys from ...
- 第二十课 【ERC1155实践】欧阳询书法复制品从确权设计到买卖测试
1,摘要 [本文目标] 通过本文学习,了解以太坊ERC1155标准规范和ERC1155Mintable可增发智能合约函数功能,并通过一个有趣的故事完成功能测试. [前置条件] 1)对以太坊ERC20( ...
最新文章
- 面向对象编程(OOP)----BLUE大师JS课堂笔记(二)
- 【c语言】判断一个数是否为素数
- php加断点,使用dump函数,给php加断点测试
- Android之SwipeRefreshLayout嵌套RecyclerView遇到的坑
- SQLite | Join 语句
- 小汤学编程之JavaScript学习day02——运算符、流程控制与循环、函数
- Linux文件系统的目录结构详解
- [自动调参]深度学习模型的超参数自动化调优详解
- java会场安排问题_Cisco WebEx Meetings Server 常见问题解答15 发行版.PDF
- 网页端下载喜马拉雅音频
- RK3399平台开发系列讲解(USB网卡)5.48、USBNET的CDC link on/off 消息
- BitBucket介绍以及基础使用
- 限制性立方样条(Restricted Cubic Spline)
- Java实验——分别统计字符串中出现的大写字母、小写字母个数,以及出现的数字字符以及其他字符的个数
- arcengine-栅格数据详解
- SQL 7种SQL JOINS的实现
- 黑马程序员——IOS基础---Mac OS X
- IBM创始人 托马斯·约翰·沃森父子
- IBM 员工大地震:3万职位面临调整 1万人或被裁
- 3个月疫情倒闭了近90000家企业,为什么互联网公司每天都在招人?招聘一个程序员要多少成本