专栏名称: 计算机视觉工坊
专注于计算机视觉、VSLAM、目标检测、语义分割、自动驾驶、深度学习、AI芯片、产品落地等技术干货及前沿paper分享。这是一个由多个大厂算法研究人员和知名高校博士创立的平台,我们坚持工坊精神,做最有价值的事~
目录
相关文章推荐
青塔  ·  211,迎来新副校长 ·  2 天前  
青塔  ·  北京高校,拟整体搬迁! ·  4 天前  
高校人才网V  ·  招聘日报丨高校人才网2025年2月7日招聘信 ... ·  3 天前  
高校人才网V  ·  事业编制!高层次人才,湘潭大学等你来! ·  3 天前  
高校人才网V  ·  医学专场,两年总薪可达100万,出站可入编 ·  4 天前  
51好读  ›  专栏  ›  计算机视觉工坊

导师给我的课题是激光SLAM,应该如何入门?

计算机视觉工坊  · 公众号  ·  · 2024-10-30 17:44

正文

点击上方“ 计算机视觉工坊 ”,选择“星标”

干货第一时间送达


内容来自知乎,「计算机视觉工坊」整理,如有侵权请联系删除 https://www.zhihu.com/question/52634751

作者:清风

周末在家把2D和3D SLAM自己动手写了一遍,先放代码和效果.

https://github.com/libing64/slam2dgithub.com/libing64/slam2d

https://github.com/libing64/lidar_pose_estimatorgithub.com/libing64/lidar_pose_estimator

1、2D SLAM

2D SLAM一般都是基于scan-to-scan match然后位置积分,比如ICP或者PLICP等,然后做mapping,后端为了减少drift会加scan-to-map对齐或者map-to-map对齐。

自己实现的这一版,参考了目前主流的SLAM算法,写代码时也加入自己的一些想法和理解。

scan-to-scan match使用了Point-Line ICP, 理论上收敛速度更快,参考An ICP variant using a point-to-line metric, 不过在实现时直接用ceres优化求解的相对位姿, 代码非常简洁。

scan-to-scan match的结果如果直接积分, drift会很快,加入scan-to-map对齐来减少drift,参考hector-mapping中的方法A flexible and Scalable SLAM System with Full 3D motion Estimation, 没有用高斯牛顿法,而是直接搞了一个局部最优的搜索,给一个random的方向,然后该方向找个最优解,多尝试几次可以认为就到了局部最优。 降低drift效果很明显。

update map这一步比较直接, 由于位置经过了scan-to-map的修正,这里直接往地图上投影就好了.

2、3D Lidar SLAM

LOAM: Lidar Odometry and Mapping in Real-time非常经典,github上ALOAM的开源实现很漂亮,我也借鉴了ALOAM中使用ceres来求解非线性优化,总体还是按照LOAM文章里的过程来写。

本来3D 点云的对齐是非常慢的事情,LOAM使用edge point和planar point实现了实时的计算,目前我也只写了scan-to-scan match和积分,mapping部分还在学习.







请到「今天看啥」查看全文