横穿自动驾驶

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

先从我的自身接触顺序写起。最开始做个一点深度学习,那还是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.mfbz.cn/a/768734.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Java】如果让你设计一个分布式链路跟踪系统?你怎么做?

一、问题解析 分布式链路跟踪服务属于写多读少的服务,是我们线上排查问题的重要支撑。我经历过的一个系统,同时支持着多条业务线,实际用上的服务器有两百台左右,这种量级的系统想排查故障,难度可想而知。 因此&#…

Linux文件传输

目录 wget传输 先用我的云服务器vps开放一个端口 目标机wget进行请求下载 指定保存路径 curl传输(win11也有) ​Netcat传输 文件传输 SFTP传输 连接远程主机 下载远程主机文件 DNS传输 dns带出字符数据命令 拼接hex码进行转字符串 成功转出​…

WIN32核心编程 - 数据类型 错误处理 字符处理

公开视频 -> 链接点击跳转公开课程博客首页 -> 链接点击跳转博客主页 目录 数据类型 基本数据类型 Win32基本数据类型 错误处理 C语言中的错误处理 C中的错误处理 Win32中的错误处理 字符处理 C/C WIN32 字符处理 数据类型 基本数据类型 C/C语言定义了一系列…

umi项目中的一些趣事

前言 出于某些安全问题,需要把HTML中框架注入的umi版本信息去掉,那要怎么搞呢~ 方案 查找官方文档,没发现可以去掉注入信息的方法,但在一番折腾后😉终究还是解决了~ 发现 版本信息是从这里注入的~ Object.define…

uboo对内存操作读写命令的基本使用

内存操作命令 直接对DRAM进行读写的操作,uboot常用的内存操作命令有md,nm,mm,mw,cp和cmp. md命令: 显示内存值 # md md - memory display Usage: md [.b, .w, .l, .q] address [# of objects] b:1个字节 byte w:2个字节 world l:4个字节 long of objects 以word 为单位的1…

人工智能--图像语义分割

个人主页:欢迎来到 Papicatch的博客 课设专栏 :学生成绩管理系统 专业知识专栏:专业知识 ​ 文章目录 🍉引言 🍉介绍 🍈工作原理 🍍数据准备 🍍特征提取 🍍像素分…

实习总结 --- 其他业务

一. 回归测试:回归测试与测新是对应的,当需求准入交付测试的时候首先要进行的就是测新,也就是对新功能对测试,一般是在sim环境下测试的;当测新通过后才会进行回归测试,回归测试的目的是为了保证老功能的正确…

人工智能 (AI) 基本概念 入门篇【C#】版

1. 什么是人工智能? 人工智能(Artificial Intelligence, AI)是指计算机系统能够执行通常需要人类智能的任务,如视觉识别、语音识别、决策和语言翻译等。AI的核心是通过算法和数据进行学习和推理,以实现智能行为。 2.…

2.3.2 主程序和外部IO交互 (文件映射方式)----IO Client实现

2.3.2 主程序和外部IO交互 (文件映射方式)----IO Client C实现 和IOServer主要差别: 1 使用Open_Client 连接 2 一定要先打开IOServer,再打开IO_Client 效果显示 1 C 代码实现 1.1 shareddataClient.h 头文件中引用 和sharedd…

PTA-线性表实验(JAVA)

题目1:Josephus环的问题及算法 【实验内容】 编程实现如下功能: 题意说明:古代某法官要判决n个犯人的死刑,他有一条荒唐的法律,将犯人站成一个圆圈,从第start个犯人开始数起,每数到第distance的…

Redis基础教程(一):redis配置

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝&#x1f49…

信息安全体系架构设计

对信息系统的安全需求是任何单一安全技术都无法解决的,要设计一个信息安全体系架构,应当选择合适的安全体系结构模型。信息系统安全设计重点考虑两个方面;其一是系统安全保障体系;其二是信息安全体系架构。 1.系统安全保障体系 安…

Go语言特点、编译及命令

本文主要分为三部分内容分别为:Go语言的特点介绍;编译windows、linux环境文件及Go命令。 目录 Go语言特点 编译文件 编译window文件 编译linux文件 Go命令(build/run/install/env) 编译文件 直接运行程序 安装程序 配置G…

【分布式数据仓库Hive】常见问题及解决办法

目录 一、启动hive时发现log4j版本和hadoop的版本有冲突 解决办法:删除hive下高版本的slf4j 二、启动hive报错 Exception in thread "main" java.lang.NoSuchMethodError:com.google.common.base.Preconditions.checkArgument(ZLjava/lang/Object;)V …

个人博客|PHP源码|支持多国语言切换

一. 前言 今天小编给大家带来了一款可学习,可商用的,支持多国语言的个人博客网站源码,支持二开,无加密。此博客相当简洁,也适合海外。详细界面和功能见下面视频演示。 如果您正好有此需求源码,请联系小编…

Zabbix 配置钉钉告警

Zabbix 配置钉钉告警 随着企业IT运维需求的不断增加,及时、准确地获取系统告警信息显得尤为重要。在众多告警工具中,Zabbix 因其强大的监控功能和灵活的告警机制,成为了很多企业的首选。同时,随着企业内部沟通工具的多样化&#…

苹果AI的国产大模型之争,没有悬念

文 | 智能相对论 作者 | 陈泊丞 苹果终于公布了最新的AI进程。 一个月前,正如此前预期的那样,人工智能是今年 WWDC 发布会的焦点。全程105分钟的主题演讲,就有40多分钟用于介绍苹果的AI成果。 苹果似乎还有意玩了一把“谐音梗”&#xff…

海外虚拟卡开卡平台有哪些?无限开卡,无其他限制

随着时代的发展很多小伙伴都需要海外虚拟卡,海外虚拟卡开卡平台我这里用的是Fomepay的,他们比较人性化,有客服,随时可咨询 对于消费者而言,虚拟卡号提供了隐私,因此广告商更难以跟踪和定位购买行为&#x…

深入浅出:进程管理的艺术

目录 进程的定义 进程的特征 进程的状态 进程与程序的区别 进程的控制和管理 进程的特点 1. 虚拟内存空间的分配 2. 时间片轮转调度 图解: 进程段 数据段(Data Segment) 正文段(Text Segment) 堆栈段&…

Redis持久化详解

【关闭文件、AOF 刷盘、释放内存这三个任务都有各自的任务队列】所以不是单线程 Redis有两种持久化方案: RDB持久化 AOF持久化 基于Redis集群解决单机Redis存在的问题 【Redis是单进程的】 【也有人做分布式section】 【主从集群中多个从就是做负载均衡的】 …