横穿自动驾驶

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

先从我的自身接触顺序写起。最开始做个一点深度学习,那还是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年来遇到的所有优化问题。顺便做一些读书笔记,看看有没有更好玩的东西。

相关推荐
Shockang7 小时前
AI Slop 治理实战
人工智能
Mr数据杨8 小时前
医学影像分类实战复盘 从 Kaggle 竞赛到可落地建模流程
人工智能·数据分析·kaggle竞赛
AI情绪识别开源9 小时前
检信 ALLEMOTION OS 加密打包可执行程序 — 全面测试报告版本: v1.3功能测试 / 性能测试 /
开发语言·数据结构·人工智能·功能测试
ZGIAI10 小时前
ZGI 迭代节点:批量资料的逐项处理
人工智能·架构
ZGIAI10 小时前
ZGI 知识检索:让业务回答有据可查
人工智能·架构
Asize10 小时前
框架的说明书是写给 AI 看的:我用 Next.js 搭了个博客
人工智能·代码规范·next.js
2601_9556624610 小时前
AI 配音工具 7 款实测:短视频、影视解说、小说推文音质横向对比
人工智能·音视频·语音识别·视频
AI创界者10 小时前
PinkCherry-MiniMax-H3 全能AI视频整合包:8G显存开箱即用,支持首尾帧/超分补帧/自动提示词
人工智能·aigc
罗西的思考10 小时前
【Agentic RL / 强化学习框架】Molt 设计解读
人工智能·算法·机器学习