- 博客(227)
- 资源 (2)
- 收藏
- 关注
原创 自动驾驶决策规划-控制方向2023届秋招总结
背景 到了2022年,早已不是简单调包就可以满足要求。虽然ai岗一般还能分为预研岗和工程岗,现在公司很少有纯research的岗位,基本都合入业务线。 岗位信息 了解岗位基本信息,会被认为有一定意向,也减少面试官的重复介绍。从JD中大致判断,岗位部门,偏预研或工程等。这些信息可以通过搜索引擎、社交关系获取,也反映信息收集能力。 自我介绍 建议准备多版本,时长对应1、2和5分钟。介绍有亮点,比如顶会/顶刊、
2023-03-04 12:04:13 8258 10
原创 自动驾驶决策规划-控制方向学习资料总结(附相关资料的链接)
下面是我学习过程中的总结的一些资料。由于博客中无法直接放PDF,所以思维导图的格式都是图片,点击不了里面的链接,因此我将思维导图pdf版放在了github仓库中。 |对于C++的学习,一般做项目后都绕不开CMake的使用,C++基础阶段:《C++ Primer Plus》第六版、C++进阶巩固:《C++ Primer 》。vim在熟练使用之后可以让你编程效率提高,事半功倍,但是前期的转换挺痛苦。vim工具的使用不是必须的,有时间的话可以学学,技多不压身。
2023-03-02 18:59:41 12934 33
原创 【自动驾驶】总目录(持续更新)
车辆运动学模型车辆动力学模型学习卡尔曼滤波(一)——线性卡尔曼滤波学习卡尔曼滤波(二)——扩展卡尔曼滤波学习卡尔曼滤波(三)——无迹卡尔曼滤波PID实现轨迹跟踪
2022-05-17 22:58:31 11788 8
翻译 【Google Protocol Buffer】定义Protocol Buffer变量的总结
Protobuf 不支持"空"枚举的概念 - 获取枚举字段的值总会返回某个值,即使该值从未被调用者/接收者设置过。CREATE = 0;UPDATE = 1;DELETE = 2;如果创建 Foo 实例的人没有设置 changeType,那么使用该 Foo 实例的客户端将看到一个默认值。对于枚举,protobuf 默认为序号为0的枚举常量 - 所以在上面的例子中,客户端将看到 CREATE 值。CREATE = 1;UPDATE = 2;DELETE = 3;
2024-03-09 12:16:20 1932 1
原创 自动驾驶 | 决策规划岗位校招面试中常见的数学方法整理
前段时间,我mentor面试了一个决策规划方向实习的候选人,这个候选人是我母校的学生,算是我的学弟,跟我一个专业,他的老师是我学院的院长,所以我一开始抱着比较大的期待,在一边旁听面试过程了。面试下来后,比较可惜,感觉这位学弟,对面试还是太过生疏了。。对自己的项目过程并不是非常了解,有几个地方直接被我mentor问倒了。如果对自己的项目介绍还准备了ppt,注意还是不要直接用课题报告ppt来代替,ppt上应该突出的是需要着重深入讲的点。
2024-01-14 13:51:17 3772 4
原创 计算几何学 | 实用计算几何学知识c++代码实现
前段时间在b站发布了关于二维平面下一些计算几何学知识的讲解,有许多小伙伴私戳我说能不能出个代码实现,所以这段时间就抽个时间用c++实现下视频里面讲的内容。注: 本篇博客不再具体讲解理论内容,而是实现相关算法。bilibili。代码仓库。
2024-01-07 15:23:57 4460
原创 Google Protocol Buffers (proto3) 中的 DoubleValue 类型用法总结
这两天在做相关工作的时候,遇到了一个需要定义类型的proto字段,因为之前没用过,所以一时之间不知道怎么定义,查找了下相关资料后发现也很简单,就总结一下吧,以备不时之需。首先,我们需要在 .proto 文件中定义消息类型,包括类型的字段。
2023-12-04 20:30:03 3046
原创 【自动驾驶】一些业内自动驾驶专业术语释义
具体而言,“gap align” 是指通过在速度求解器中使用约束条件或算法,使车辆在执行车道变换等操作时,与周围车辆保持适当的间隙,并调整速度和路径,以确保车辆能够平稳地进入新的车道或与其他车辆进行合流或堆叠操作。在自动驾驶中,“gap align” 用于描述和调整车辆在进行车道变换、合流或堆叠等操作时与周围车辆之间的间距和对齐关系。通过"gap align" 技术,自动驾驶系统可以在执行车道变换等操作时考虑安全性和流畅性,并自动调整车辆的行为,以与周围交通保持合适的间距和对齐,以提高行车的安全性和效率。
2023-11-22 22:57:40 5441 5
原创 【Linux】软连接和硬链接:创建、管理和解除链接的操作
什么是软链接软链接(Symbolic Link),也称为符号链接,是包含了源文件位置信息的特殊文件。它的作用是间接指向一个文件或目录。如果软链接的源文件被删除或移动了,软链接就打不开了。什么是硬链接硬链接(Hard Link)指通过索引节点来进行链接。在Linux系统中,每个文件都有一个对应的索引节点,记录文件的日期,大小,所在块等信息。硬链接就是指向源文件索引节点的连接。删除源文件,不影响硬链接的访问。软链接和硬链接的区别软链接是一个特殊的独立文件,它内容记录源文件位置;
2023-11-20 23:20:24 12930 1
原创 如何在 Protocol Buffers (Proto) 文件中弃用一个字段
Protobuf(Protocol Buffers)是一种跨平台、跨语言的结构化数据存储格式,被广泛用于网络通信和数据存储等领域。Protobuf通过.proto文件进行数据描述,这些文件可以用于生成各平台的数据访问类。在实际开发中,我们经常会遇到不再使用或者需要替换的字段,为了保持向后兼容性,我们需要知道如何弃用这些字段,而不是暴力地直接删除该字段(一开始我不清楚的情况下都是直接暴力删除的-_-|)。
2023-10-15 22:06:27 4882
原创 【代码审查】Phabricator工具系列:使用arc diff进行代码审查
最近开始提交CR了,特来总结一下使用arc diff进行代码审查的步骤。在使用Phabricator进行代码审查时,arc diff是一个强大的命令行工具,可以轻松创建和更新,以便协作者对别人写的代码进行审查。
2023-06-01 21:27:39 5783
原创 【坐标变换】坐标系坐标变换简单推导--未完待续
根据图中几何关系,可以表示出。,坐标在旋转后的坐标系(即。加上平移,如下图所示,假设。如图所示,假设已知坐标系。
2023-05-26 00:09:18 5255
原创 vscode使用compile_commands.json实现函数跳转等功能
更新或重新生成compile_commands.json文件:如果你的项目配置发生了更改,例如添加或删除了文件,可能需要更新或重新生成compile_commands.json文件。确保compile_commands.json文件的路径正确:在VSCode中,打开命令面板(Ctrl+Shift+P),输入"C/C++: Edit Configurations (JSON)"并选择该选项。检查C/C++扩展的输出:在VSCode底部的状态栏中,点击C/C++的图标,可以查看C/C++扩展的输出。
2023-05-16 23:59:53 8901
原创 双线性插值(Bilinear interpolation)原理推导
双线性插值,又称为双线性内插。在数学上,双线性插值是对线性插值在二维直角网格上的扩展,用于对双变量函数(例如 x 和 y)进行插值。其核心思想是在x,y两个方向分别进行一次线性插值。线性插值可以查看之前的博客文章。
2023-05-05 23:40:13 7429 3
原创 【ubuntu】将磁盘挂载到指定目录并设置开机自动挂载
找到你要挂载的分区,可以通过容量大小分辨,当然,有可能还是不太好区分,可以直接在目录的。命令,查询相应磁盘分区的UUID和文件系统格式等,后面要用到。也可以看到相应的挂载点,例如,这边我需要开机自动挂载的就是。分区的相关信息(很重要,后面要用到)输入以下命令查看已挂载点。目录,可以看到它的分区是。例如我打算开机挂载的是。
2023-04-17 23:35:23 11489
原创 安装Ubuntu系统后的实用工具配置指南
用过typora的都知道这是一款非常简洁好用的markdown笔记工具,但目前最新版已经开始收费了,这里提供官方出的最后一款免费版下载,下载地址见百度网盘:链接:pwd=997r提取码: 997r。
2023-04-15 21:59:05 5809
原创 【ChatGPT】由ChatGPT自己回答ChatGPT的基本原理
ChatGPT是基于深度学习的自然语言处理模型,具体来说,它是一个预训练的神经网络模型,使用了Transformer架构和自回归语言建模技术。训练ChatGPT的过程分为两个主要阶段:预训练阶段:使用大规模的文本语料库对模型进行预训练,以学习自然语言的语法、语义和上下文等知识。在这个阶段,模型会通过自回归语言建模技术来预测下一个词语或子词,同时使用自注意力机制和残差连接来处理长序列和提高模型的效率。预训练过程可以分为两种方式:无监督学习和有监督学习。微调阶段。
2023-02-23 11:22:55 6032 1
原创 python实现bib文件中参考文献的题目每个单词首字母大写
由于毕业论文格式要求英文参考文献的题目的每个单词(除了介词)的首字母都要大写,如果一条条地自己修改费时费力,这里就想着简单地用python操作字符串的方式实现。
2023-01-02 15:08:57 5072
原创 Linux | Ubuntu 20.04安装ipopt和cppAD | 安装全流程+报错解决
在进行cppad和ipopt的安装时,发现在按照其他博主写的博客进行安装时总是会出现各种各样他们没遇到的问题,所以这里也记录下自己成功安装的步骤。这边提供3种方式进行安装,可以先尝试使用方式1,方式1不行的话尝试方式2,方式2不行最后再尝试方式3.我这边使用命令行安装时显示无法定位软件包,在更新软件源后依旧无法生效,所以这个方式我放弃了。方式下载Ipopt压缩包时,可能因为网络原因下载不了,那么可以直接进入。如果上述方式无法成功安装,可采取下面源码的方式安装。先尝试方式1,方式1不行再尝试方式2。
2022-11-22 23:01:55 19777 46
原创 Ubuntu sudo apt update 过程中遇到的报错解决
在使用更新源时,发现报了一大堆错。例如E: 仓库 “http://mirrors.aliyun.com/docker-ce/linux/debian ulyana Release” 没有 Release 文件。N: 无法安全地用该源进行更新,所以默认禁用该源。
2022-11-22 21:52:59 16946 1
原创 Ubuntu20.04安装c++版本的OpenCV
官方给出的解释是:所有新模块都应单独开发,并首先在opencv_contrib中发布 ,当模块成熟并获得普及时,再将其移至opencv主库中,这时开发团队也将为该模块提供后续支持。这一步骤时,最容易碰到的问题就是卡在IPPICV的下载,导致编译失败,这是因为网络问题。如果报了这个错,我们可以使用手动下载的方式进行下载。选择完版本之后,有两种可供选择的构建方式,一个是只包含核心模块,一个是还包含了opencv_contrib模块。,在分支中选择需要下载的版本,例如,我这里选择的是20191018版本。
2022-11-17 21:29:40 5748 3
原创 【路径规划】局部路径规划算法——DWA算法(动态窗口法)|(含python实现 | c++实现)
动态窗口算法(Dynamic Window Approaches, DWA) 是基于预测控制理论的一种次优方法,因其在未知环境下能够安全、有效的避开障碍物, 同时具有计算量小, 反应迅速、可操作性强等特点。DWA算法属于局部路径规划算法。DWA算法的核心思想是根据移动机器人当前的位置状态和速度状态在速度空间 (v,ω)(v, \omega)(v,ω) 中确定一个满足移动机器人硬件约束的采样速度空间,然后计算移动机器人在这些速度情况下移动一定时间内的轨迹, 并通过评价函数对该轨迹进行评价,最后选出评价最优的轨
2022-11-10 15:32:46 51203 70
原创 最优化 | 一维搜索与方程求根 | C++实现
优化问题与求根问题密切相关,很多优化问题会归结为一个求根问题。对一元目标函数 $f(x)$ ,若 $f(x)$ 连续 可微,极值点一定是 $f^{\prime}(x)=0$ 的根。二分法是实际数值计算中一元函数求根使用最多的方法, 这种方法简单而又有比较高的收敛速度。
2022-11-01 10:01:26 3145 8
原创 最优化 | 无约束优化方法 | C++实现
无约束问题是指只有优化目标,而不存在约束条件的问题,用数学模型可表示为minx∈Rnf(x)x∈Rnminf(x)通常假设f(x)f(x)f(x)具有二阶连续偏导数。无约束优化方法是通常是由给定的初始点出发,按一定的规则不断向最优解趋近。在前文最优化 | 一维搜索与方程求根中提到的一维搜索方法、梯度下降法、牛顿法等都可以用来解决无约束优化问题。无约束最优化方法的核心问题是选择搜索方向。下面主要介绍以及实现几种常见的无约束优化方法。
2022-11-01 09:58:15 3238
原创 【OpenAI】MADDPG算法与Multiagent-Envs环境项目总结
许久之前做的一个项目。在maddpg和openai给的环境的基础上进行修改,使用多智能体强化学习完成追逃博弈,并与传统方法进行对比。下面记录下修改的地方。
2022-10-31 19:41:13 4246 20
原创 【现代控制理论】| 线性系统的状态空间法
系统状态空间表达式可由系统微分方程、结构图、传递函数等其他形式的数学模型导出。描述某一系统的状态变量个数 (维数) 是确定的, 但状态变量的选择并不唯一。某一状态向量经任意满秩线性变换后, 仍可作为状态向量来描述系统。状态变量选择不同, 状态空间表达式形式也不一样。利用线性变换的目的在于使系统矩阵 A\boldsymbol{A}A 规范化, 以便于揭示系统特性, 利于分析计算。满秩线性变换不改变系统的固有特性。根据矩阵 A\boldsymbol{A}A 的特征根及相应的独立特征向量情况, 可将矩阵 A\bo
2022-10-31 14:50:59 5809
原创 【经典控制理论】| 自动控制原理知识点概要(下)
控制系统的综合和校正问题是在已知固有特性及期望指标的前提下, 确定校正装置, 使系统校正后能满足期望的性能指标。 校正过程如下:自动控制原理里最常见的基本控制规律是PID控制规律。各控制规律在系统校正中的作用与固有特性有关, 应具体问题具体分析。按照校正装置 Gc(jω)G_c(j \omega)Gc(jω) 的相位 φc\varphi_cφc 的不同,常用校正装置可以分为: 超前校正装置、滞后校正和滞后一一超前校正装置。基本特征 :φc(ω)>0: \varphi_c(\omega)>0:φc(ω)
2022-10-03 15:24:05 4231 1
原创 【经典控制理论】| 自动控制原理知识点概要(上)
反馈控制系统的一般组成如下图所示。自动控制系统有不同的类型, 但是对每一类系统的基本要求是一样的, 可以归结为: 稳、快、准。状态空间状态方程和输出方程统称为状态空间描述或状态空间表达式。线性定常系统状态空间表达式一般用矩阵形式表示x˙=Ax+Buy˙=Cx+Du \dot{x}=Ax+Bu\\ \dot{y}=Cx+Du x˙=Ax+Buy˙=Cx+Du传递函数模型定义:线性定常系统在零初始条件下,将输出量的拉氏变换与输入量的拉氏变换之比定义为线性定常系统的传递函数。G(s)=C(s
2022-09-30 13:47:26 11648
原创 自动驾驶算法岗笔试题 | 一道有意思的数学题 | 解析及代码实现
3辆飞船A、B、C初始位置分别处于一个边长为$L$的等边三角形的顶点上,即A点坐标为$(\frac{\sqrt{3}}{2}L,0)$,B点坐标为$(\frac{L}{2},0)$,C点坐标为$(-\frac{L}{2},0)$。飞船飞行过程中,飞船均具有相等的速度$v$,并且A始终朝着B前进,B始终朝着C前进,C始终朝着A前进。- 问题1:从初始到$t_1$时刻,飞船A,B,C的运行轨迹(假设采样时间为$\Delta t$)。- 问题2:到无穷远时刻时,飞船A,B,C最终的状态是怎样的?如
2022-09-25 16:32:08 1971 7
原创 数值分析 |多项式插值、牛顿插值、样条插值
函数逼近已知原函数的情况下,找一个简单函数逼近于原函数,使得在定义域上的误差达到最大值的点的误差达到最小。插值插值就是根据已知数据点(条件),来预测未知数据点值的方法。用一个多项式来近似代替数据列表的函数,并要求函数式通过给定的数据点。——针对于离散的点,并求出函数表达式过数据点。拟合原函数未知,给定原函数的若干点,在某个简单函数空间找出使得总误差(根据不同定义有不同的误差距离的衡量,一般是均方误差)最小的那个简单函数,这即意味着尽可能地使拟合函数靠近采样点,而不须要严格的通过这些采样点,一般为了提高
2022-09-12 11:03:09 4737
原创 键鼠共享 | Mouse Without Borders(无界鼠标)安装步骤总结
分别在控制端电脑和被控端电脑下载完成后,点击运行安装包进行安装,具体安装截图不放了,比较简单。被控端点击no,出现被控电脑的电脑名称和访问密码,讲这个信息记住,需要填写到控制端电脑。控制端点击yes,就会弹出这个界面,用来填写被控制端的电脑名称、访问安装密码。填写完信息后,点击下方LINK,进行连接。无界鼠标在局域网内可以实现多台电脑共用一套鼠标键盘,非常方便!安装完成后,软件自动运行会出现下面这个界面。然后重新执行3到4步骤,进行连接。注意机器名和IP之间有空格。,那么大概率是会连接失败,
2022-09-06 23:45:22 25459 4
原创 线性代数 | 知识点总结(下)
前文提要:【线性代数】知识点总结(上)初等矩阵把变换过程传递到它所乘的矩阵; 并遵循左乘则行变, 右乘则列变的特点.具体而言, 设 P\boldsymbol{P}P 为初等矩阵,若 P\boldsymbol{P}P 左乘矩阵 A\boldsymbol{A}A, 则 PA\boldsymbol{P A}PA 的结果是: 把矩阵 A\boldsymbol{A}A 进行初等行变换, 并且 PPP 是怎样由单位矩阵 E\boldsymbol{E}E 通过 行变换得来, 矩阵 A\boldsymbol{A}A 就进行
2022-09-05 14:08:09 684
原创 【CSDN竞赛第4期】编程能力PK赛体验心得
夏天到了,各家各户的用电量都增加了许多,相应的电费也交的更多了。请编写一个程序,已知用电总计,根据电价规定,计算出应交的电费应该是多少。距离边缘距离相等的 数的大小相等:a[0] = a[n-1],a[1] = a[n-2]…给定一个原字符串A,请返回逆序后的字符串。定义美丽数列A: 1. 数列中相邻的数越是靠内相对大小加一,a[2]=a[1]+1,a[n-2]=a[n-1]+1…对于一个字符串,请设计一个算法,只在字符串的单词间做逆序调整,也就是说,字符串由一些由空格分隔的部分组成, 你需。...
2022-08-25 20:08:31 323 1
原创 概率论与数理统计 | 知识点总结(下)
统计学的做法分为两种:- 描述性统计: 从数据样本中计算一些平均值、标准差、最小值、最大值等概括 统计量, 画直方图、散点图等描述图形。- 推断性统计:假定要研究的对象服从某种概率模型, 收集数据后把数据用模型 解释, 并做出有概率意义的结论。
2022-08-23 16:20:17 6032 3
原创 概率论与数理统计 | 知识点总结(上)
古典概型中常用计数一有重复的排列数古典概型中常用计数一排列数古典概型中常用计数一组合数古典概型中常用计数一分组方式数古典概型中常用计数一可重复分组数例题和事件的概率 P(A∪B)P(A \cup B)P(A∪B) 在不同场合下的求法:一般形式:P(A∪B)=P(A)+P(B)−P(AB)P(A∪B∪C)=P(A)+P(B)+P(C)−P(AB)−P(AC)−P(BC)+P(ABC).\begin{aligned}P(A \cup B) &=P(A)+P(B)-P(A B) \\P(A \cup B
2022-08-23 15:25:06 1011
适用于 Win10 x64 平台的离线OCR软件
2023-01-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人