机器人slam个人笔记

发布于:2025-08-07 ⋅ 阅读:(12) ⋅ 点赞:(0)

写在前面:个人性质笔记,不建议他人观看,可以针对某一点看看就行了。而且其实也写的很烂。

学轮子看轮子但是千万别自己造轮子。

1.嫖来的学习路线,侵权删

2.补充一下ros中的两个概念:plugin:是一种基于接口的动态加载架构,核心由基类(接口)、派生类(实现)、插件描述文件(.xml) 和 pluginlib 工具库 构成。在运行时按需加载 .so 库并实例化插件对象。在以后的复杂系统中应该会进一步了解。

nodelet:ROS中一种特殊的动态加载插件机制,旨在解决节点间大数据传输问题,通过零拷贝(Zero-Copy)通信(即直接传递数据指针,而非复制数据本身。实现同一进程内多个算法模块的高效数据交互。他也是一种插件所以基于pluginlib实现。也是在后续复杂系统中应该会接触到的内容。

3:SLAM:同时定位和建图英文缩写的意思。不是指某种特定的算法,是一种问题的总称

定位:已知全局坐标,机器人去观测周围的坐标从而求解机器人坐标。

建图:已知机器人坐标,求解被观测物的坐标。

4.惯性测量单元IMU:

(1)数据融合互补思想:如果一个传感器数据有缺陷如摄像头频率太低不连贯就可以用其他高频率的传感器去互补一下。(新思想mark一下,希望以后能起到帮助)

(2)加速度测量:引入(实际上更复杂为MEMS微机电模型):移动整体但是内部有滑块利用物块惯性会保持静止从而在运动时使得产生线位移或角位移,再利用F=ma

(3)角速度测量:利用陀螺仪的定轴性做MEMS微机电陀螺,另外还有一种激光陀螺仪不是利用定轴性非常贵非常好用

通常下:加速度低通,角速度高通,磁力低通

5.数据融合:互补与改进

(1)概率贝叶斯估计:加权、卡尔曼滤波

(2)人工智能:模糊逻辑、神经网络

(3)滤波思想:

通常情况下测得值是真值加误差:,采用T1+T2的平均值的平均滤波法就是认为误差的均值为0的依据下处理,而且通常情况下的白噪声的均值就是0,但是这样相加平均没有对方差进行处理,因此就有了加权平均法,认为更真实的值就给更大的权重,这样每个Tn的方差通过计算就会被乘上一个权重的平方。认为真实给大权重实际上就是求总的方差的min值。

卡尔曼滤波就是基于上面这个思想的,算法中的增益系数K就是权重,他的思想就是最优估计,因此有很多变种。

而且他有低配简化版,因为他的计算量比较大:互补滤波,简化了加权系数的求解,Madgwick和Mahony

6.激光雷达科普:三角测距(距离越远精度越低)和TOF测距(time to fly)有运动畸变问题,即你想测一堵墙但是你一运动这墙的位置就变了,解决方法是纯估计法和里程计辅助法

7.相机科普:单目,双目,RGB-D;编码器在SLAM中应用为区分特征不明显环境如走廊,轮子打滑就数据融合IMU但是IMU有累积误差,这个IMU用SLAM数据矫正

(ps:看困了,放弃看小虎的视频了。。。)


代码阅读技巧:程序调用流程+数据调用流程


网站公告

今日签到

点亮在社区的每一天
去签到