当前位置: 首页 > news >正文

横穿自动驾驶

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

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

http://www.lryc.cn/news/390413.html

相关文章:

  • 为什么网上商店需要翻译成其他语言
  • 【高考志愿】交通运输工程
  • 【深度学习】【Lora训练3】StabelDiffusion,Lora训练过程,秋叶包,Linux,SDXL Lora训练
  • ubuntu系统下如何安装python
  • 邦芒攻略:职场中学会这五种管好情绪的方法
  • Linux各种命令——tac命令,more 命令, less命令,head命令,tail命令,file 命令, stat 命令
  • 【Rust入门教程】hello world程序
  • 激活函数、向前传播、损失函数、梯度下降
  • three.js - MeshStandardMaterial(标准网格材质)- 金属贴图、粗糙贴图
  • 算法-位图与底层运算逻辑
  • 黑马点评-Redis的缓存击穿,缓存雪崩,缓存穿透,互斥锁,逻辑过期
  • 8624 多项式系数累加和
  • 使用 C# 和 OpenXML 读取大型 Excel 文件
  • 【基于R语言群体遗传学】-5-扩展到两个以上等位基因及多基因位点
  • 重采样(上采样或下采样)是什么?
  • AI与Python共舞:如何利用深度学习优化推荐系统?(2)
  • ChatGPT:Java中的对象引用实现方式
  • 云渗透实战手册:云API攻防之云服务端点侦查
  • PHP 爬虫之使用 Curl库抓取淘宝商品列表数据网页的方法
  • Python基础小知识问答系列-可迭代型变量赋值
  • 主流 Canvas 库对比:Fabric.js、Konva.js 和 Pixi.js
  • backbone是什么?
  • 四十篇:内存巨擘对决:Redis与Memcached的深度剖析与多维对比
  • HTML5的多线程技术:Web Worker API
  • Java | Leetcode Java题解之第206题反转链表
  • 660错题
  • GAMES104:04游戏引擎中的渲染系统1:游戏渲染基础-学习笔记
  • Visual Studio 中的键盘快捷方式
  • K8S中的某个容器突然出现内存和CPU占用过高的情况解决办法
  • Pointnet++改进即插即用系列:全网首发GLSA聚合和表示全局和局部空间特征|即插即用,提升特征提取模块性能