横穿自动驾驶

如果有一条线,可以穿起来所有自动驾驶的核心模块,那么我感觉它就是最优化,选择优化变量、构造优化问题、求解优化问题,这几个步骤贯穿了自动驾驶的始终。

先从我的自身接触顺序写起。最开始做个一点深度学习,那还是2016年,深度学习已经飞速发展了4年左右,各种方法层出不穷。有幸看了李飞飞的深度学习课,AK大神讲的大部分内容,手写了一个网络,了解深度学习就是构造并求解一个优化问题,了解了BP,了解了随机梯度下降,带动量的梯度下降,等等一系列优化问题求解方法。

学校里课题选了一个机器人机械臂作业方向,用到了一些图像处理手段包括识别和跟踪,了解了kalman filter, particle filter都可以用来做图像固定片段的跟踪。

后来工作之后做自动驾驶控制问题。了解了kalman filter, 知道了它是求解一个优化问题,可以用来平滑信号。后来从pid一路了解到LQR MPC,知道了LQRMPC都是最优控制里的一种方法,其本身也是构造优化问题,求解优化问题。

到这里其实我已经开始有点疑惑,为什么自动驾驶从上游感知到下游控制都有kalman filter, 都是构建优化问题,求解优化问题,这些优化问题之间有什么区别和联系呢?当时试图学习一些Boyd的凸优化课程,发现根本看不懂,当然现在看懂的可能性也不大。

后面换了工作,做了一阵子激光雷达定位。发现里面更全都是优化问题构造和求解,点云匹配是,前端里程计用的都是XXKF,eskf, ekf ,iekf, iesekf等等。后端里也是构造位姿优化问题。不过是直接利用求解器,过去10年,出现ceres, g2o, gtsam, sesync等等大规模位姿图优化求解器。

后来做过一阵子决策规划。看过一遍APOLLO,发现里面也都是优化问题求解,比如平滑路线是构造QP问题,局部轨迹规划也是构造QP问题。后来写了一阵子状态机if-else,觉得没有什么意思。于是看了一下强化学习的东西,发现核心也是优化问题的构造和求解。

我的疑惑更多了,从最开始的kalman filter 为什么从感知到控制都能用,到后面发现定位也都在用,也发现LQR MPC可以放在底层的控制阶段用,也可以放在规划用,现在很多决策博弈过程本质上也是优化问题求解过程。到DDP iLQR MPC等等从某种程度上也是强化学习。到Kalman filter和LQR的对偶性,等等。

从我接触的东西,最后我得出了前面的结论如果有一条线,可以穿起来自动驾驶的核心模块,那就是最优化。这个结论我自己是非常喜欢的,因为我通过实践和总结,仿佛发现了什么了不得的东西。

后面会有一系列大杂烩,总结一下这10年来遇到的所有优化问题。顺便做一些读书笔记,看看有没有更好玩的东西。

相关推荐
深蓝AI3 小时前
不调模型不改壳:CMU 开源 Hermit,给 Agent 外挂一个能训练的适配器
人工智能·agent
汤姆宝库5 小时前
世界模型深拆:视频生成、潜在模拟与物理直觉
人工智能
weixin_468466858 小时前
从“看懂”到“做到”:视觉-语言-动作模型如何让机器人真正执行指令
人工智能·ai·机器人·大语言模型·前沿科技
朋友圈自动点赞工具8 小时前
科学AI插件化:从蛋白质结构到古籍修复
人工智能
龙粤GEO9 小时前
实体Entity在GEO中代表什么含义
人工智能
剑雨巍巍10 小时前
AI Agent面试之基础概念
人工智能
微帧Visionular10 小时前
AI视频单帧清晰,播放时却闪烁,原因是什么?
人工智能·深度学习·音视频
武子康10 小时前
MultiNet6 空闲崩溃:`EXCVADDR=0x8` 后又出现 `CORRUPT HEAP`
人工智能·后端·agent
云智慧AIOps社区10 小时前
智能巡检机器人应用场景解析:机房巡检、园区安防、管廊巡视与展厅导览
人工智能·机器人·具身智能·智能巡检机器人·企业级智能巡检机器人·机房巡检机器人·导览机器人
EnCi Zheng10 小时前
Agent 如何进行工具调用:从一次 Function Calling 到生产级工具编排的完整链路
大数据·人工智能·agent·ai编程·工具调用