作者 | 过河卒 编辑 | 自动驾驶之心
原文链接:https://zhuanlan.zhihu.com/p/11734783085
点击下方卡片,关注“自动驾驶之心”公众号
戳我-> 领取自动驾驶近15个方向学习路线
本文只做学术分享,如有侵权,联系删文
1、ROS的通信方式
李是Lyapunov的李:谈谈ROS的通信机制
话题通信和服务通信,其中话题通信是通过发布和订阅话题实现,属于单向通信,订阅方被动接收信息;服务通信由请求方(Client)和应答方(Server)组成,通过加入一个请求机制,在应答处理后返回信息。
建议看看ROS2,在ROS2中,Master这个角色已经没有了:ROS1架构下,所有节点需要使用Master进行管理
ROS2使用基于DDS的Discovery机制,和Master说拜拜
通讯换成了DDS(Data Distribution Service)
ROS1:TCPROS/UDPROS
ROS2:DDS
2、智能指针
FOCUS:现代 C++:一文读懂智能指针
https://zhuanlan.zhihu.com/p/150555165
3、循环引用解决方法
C++ 智能指针中的循环引用_51CTO博客_c++智能指针
https://blog.51cto.com/u_12204415/3804223
4、vector内存问题
堆区是一块非常灵活的区域,因为使用这块空间需要程序员自己申请和释放空间,这就使得我们可以根据自己的需求来确定每个空间的使用周期,但是由此引发的问题就是,非常容易导致内存泄漏或者重复释放的问题,这两种问题同样是编译时不会报错。
arrary的空间是由系统分配的,在编译时已经确定,存放在栈区
vector的空间可由程序员动态分配,可动态增长,在运行时才确定大小,存放在堆区
5、迭代最小二乘和卡尔曼滤波
最小二乘:不需要正态分布,仅仅只需要误差均值为0,每次测量同方差且互不相关
卡尔曼滤波:
转自知乎某高赞回答:https://www.zhihu.com/question/47559783/answer/2988744371
通俗来讲,卡尔曼滤波解决的是:我需要用传感器测量一个数据,想要提高测量精度。
1,如果我有很多个传感器,那怎么办?
答:取多个传感器的平均值。
2,如果我的多个传感器精度不一样,那怎么办?
答:对于精度高的传感器,我多相信一点,对于精度低的,我少相信一点,然后综合考虑他们给出的结果,在数学上叫做“加权平均”
3,在实时测量中,我并没有很多传感器,但是我还是想要提高精度,怎么办。
答:对于系统现在的状态进行观测,并预测下一个状态可能的值,把这个预测当做一个传感器来用,进行加权平均,例如测量位置:“目前gps传感器测到位置在正东方向5米处,速度为正东方向1米/秒,那么,下一秒预测的值是正东方向6米处,在下一秒的测量数据中,会综合考虑预测值和实际测量值。”
Mockingjay:卡尔曼滤波(Kalman filter) 含详细数学推导
详解卡尔曼滤波原理-优快云博客
6、C++中常用的最小二乘的求解器
【Ceres基本使用方法】使用Ceres拟合曲线求解最小二乘问题_git clone ceres-优快云博客
https://blog.youkuaiyun.com/weixin_44543463/article/details/120796525
非线性优化工具Ceres如何指定优化算法?
https://www.zhihu.com/question/500343339/answer/3301069496
7、MPC的原理和基本步骤
MPC模型预测控制原理和Matlab以及Python代码实现_模型预测控制代码-优快云博客
https://blog.youkuaiyun.com/weixin_44924725/article/details/128050063
8、单例模式
我给面试官讲解了单例模式后,他对我竖起了大拇指!-优快云博客
https://blog.youkuaiyun.com/weixin_41949328/article/details/107296517
9、最优化计算方法
知识比较多,先推荐把数值分析相关东西学了,然后可以看一下最优化计算方法及其MATLAB程序实现(马昌凤版本),附带课后习题的部分答案,可做参考。最优化方法及其matlab程序设计 马昌凤 课后答案
10.S曲线和梯形曲线
S曲线是针对于速度而言,大致分为七段
关于运动控制中S型速度曲线的简单演示(C++实现)_速度曲线算位置曲线-优快云博客
https://blog.youkuaiyun.com/DLS756/article/details/104553385
梯形加减速算法详解及示例
https://blog.youkuaiyun.com/Galaxy_Robot/article/details/129432311
11.SVD分解
对于奇异值,它跟我们特征分解中的特征值类似,在奇异值矩阵中也是按照从大到小排列,而且奇异值的减少特别的快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上的比例。也就是说,我们也可以用最大的k个的奇异值和对应的左右奇异向量来近似描述矩阵。
可以用作主成分分析(PCA)
SVD原理与应用
https://blog.youkuaiyun.com/qq_58535145/article/details/122651843
奇异值分解(SVD)原理与在降维中的应用_刘建平 svd算法-优快云博客
https://blog.youkuaiyun.com/bubble_story/article/details/79988019
12.商用PID形式
PID基本上都会,但是实际运用中,和理论分析还是有区别的,给出商用PID控制器表达式

基本解释:
①比例微分:带滤波,抑制测量噪声增大;
②微分先行:当输入频繁变化时,运用微分对其求导会影响系统表现,拿掉R(s)
13.直线插补
【电机绘图】:插补算法(一)-直线插补-逐点比较法-优快云博客
https://blog.youkuaiyun.com/qq_64257614/article/details/132156073
需要注意两点:
(1)区分不同的象限
(2)根据F(x,y)的取值,判断是向x,还是向y运动
14.S曲线和插补
基于S型曲线的连续多段曲线插补平滑过渡的规划算法(Matlab)_s型曲线平滑算法matlab-优快云博客
https://blog.youkuaiyun.com/qq_26565435/article/details/98789361
分段的首尾速度为0
15.BLDC和PMSM的区别
BLDC(无刷直流电机)和PMSM(永磁同步电机)的区别_集中绕组pmsm和bldc有什么区别-优快云博客
https://blog.youkuaiyun.com/weixin_41469013/article/details/133722827
驱动信号是最大区别,PMSM正弦波驱动,BLDC方波驱动
16.FOC介绍
FOC矢量控制原理&SVPWM原理及实现_foc控制-优快云博客
https://blog.youkuaiyun.com/IOTBOT/article/details/138541200
17.DOB扰动观测器
非线性扰动观测器(NDOB)-优快云博客
https://blog.youkuaiyun.com/weixin_43903639/article/details/128881666
18.扰动抑制和噪声衰减的矛盾
对于扰动抑制而言,应当使灵敏度函数的幅值较小;
对于噪声衰减而言,应当使补灵敏度函数的幅值较小;
扰动项集中在低频段,噪声集中在高频段。
并且 灵敏度函数+补灵敏度函数=1(限制了两者不可能同时很小),
因此,在低频段,让灵敏度函数小一些;在高频段,让补灵敏度函数小一些。
19.电机类型区分
电动机分为直流电机和交流电机两大类,其中交流电机又分为异步电机(转子的磁场旋转速度跟不上定子的旋转磁场)和同步电机,中国研究永磁同步电机多的原因在于中国的稀土资源丰富,国外挺多研究三相异步电机。
① 2025中国国际新能源技术展会
自动驾驶之心联合主办中国国际新能源汽车技术、零部件及服务展会。展会将于2025年2月21日至24日在北京新国展二期举行,展览面积达到2万平方米,预计吸引来自世界各地的400多家参展商和2万名专业观众。作为新能源汽车领域的专业展,它将全面展示新能源汽车行业的最新成果和发展趋势,同期围绕个各关键板块举办论坛,欢迎报名参加。
② 国内首个自动驾驶学习社区
『自动驾驶之心知识星球』近4000人的交流社区,已得到大多数自动驾驶公司的认可!涉及30+自动驾驶技术栈学习路线,从0到一带你入门自动驾驶感知(端到端自动驾驶、世界模型、仿真闭环、2D/3D检测、语义分割、车道线、BEV感知、Occupancy、多传感器融合、多传感器标定、目标跟踪)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、大模型,更有行业动态和岗位发布!欢迎扫描加入

③全网独家视频课程
端到端自动驾驶、仿真测试、自动驾驶C++、BEV感知、BEV模型部署、BEV目标跟踪、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、车道线检测、轨迹预测、在线高精地图、世界模型、点云3D目标检测、目标跟踪、Occupancy、CUDA与TensorRT模型部署、大模型与自动驾驶、NeRF、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习)
④【自动驾驶之心】全平台矩阵