一、移动机器人自主导航的前提是在未知环境中先构建地图
(目前市内很多用的2D激光雷达,构建栅格地图,相当于立体空间中的某个水平面高度的切面)
一般用的是2D 激光SLAM算法 构建概率栅格占用地图;
二、移动机器人(全局)定位 是在给定地图的基础上 边走 边定位。
一般用的是amcl方法,
三、需要的模块:
1. 机器人轮子的运动模型 motion model 可以由里程计(左右电机编码器采集获得数据)
2. 机器人上安装的激光雷达,测量观测模型 observation model (measurement model)
3. grid map, 一般由 激光slam 构建, 遥控一个移动机器人在室内环境跑一圈,把地图构建好。
4. 粒子滤波定位模块, 通过前三项和amcl的原理,敲代码 实现全局的定位过程。
粒子滤波构建栅格地图:代表作品 FastSLAM 1.0 和 2.0系列、 Gmapping等
图优化方法构建栅格地图:代表作品 Cartographer等
粒子滤波定位(AMCL 或 蒙特卡洛定位方法)
四、基于激光SLAM构建栅格地图的详细解释和参考代码
[PR-1] Grid Mapping 占用栅格地图构建实现 - 知乎
五、基于AMCL和已知地图的移动机器人定位解释和参考代码