前言
由于网络上关于机器人导航领域没有太系统的中文教材系列。所以我刚开始进入这个领域时也困于不知从何下手。开设这个博客目的是希望把机器人领域一些经典的算法。作出系统性的解析和教学。
我希望也尝试从以下3步对每一种算法作出中文的最详细的教学。也是对所知所学留下的记录。
- 论文角度入手,对每种算法作出系统和学术的阐述
- 我对算法直觉上的理解
- 手撸的方式,重写代码
1的意义自然不用提。最系统的理解都是从论文下手。2的意义在于我认为没有直觉上的理解,一切的公式都浮在纸面,不实而且容易忘记。3用于确认真正的理解,正如我博客的小标题“纸上得来终觉浅,绝知此事要躬行”,把所学到的再亲手实现一次。当然我们的目的是理解所以并不太关心执行效率。所有代码尽量用简单易懂的python来完成(也不是完全不作优化,必要也考虑部分移植为C/C++)。
第一个系列,就从建图领域有名的HectorSLAM开始说起。
我的手撸版HectorSLAM代码放在:https://github.com/scomup/lslam
参考的论文为以下:
A flexible and scalable SLAM system with full 3D motion estimation
以下的URL可以获得免费的下载:
HectorSLAM系列计划根据以下目录分多次写完。
目录
- HectorSLAM的整体逻辑
- 地图结构
- 激光匹配
- 地图更新
- 500行代码重写一个LidarSLAM
- 测试数据的准备,和测试数据读取模块的编写
- GUI编写
- 地图模块的编写
- 核心模块的编写
- 主循环
- 匹配算法