移动机器人SLAM技术:从基础到Gmapping算法实践
1. 机器人导航与SLAM基础
1.1 传感器数据输入
机器人导航的传感器数据输入主要有两种类型:激光传感器数据和点云数据。同时,机器人导航还需要一些关键组件:
- 里程计源组件 :需要输入里程计数据(nav_msgs/Odometry_message)用于机器人导航。
- 基础控制器组件 :负责将导航过程中获取的数据封装成特定的线速度和转向角,并发布到硬件平台。
- 地图服务器组件 :ROS的地图组件(代价地图)采用网格形式,每个网格的值范围从0到255,有三种状态:占用(有障碍物)、空闲和未知。
1.2 路径规划
- 全局路径规划 :通常使用navfn包从机器人当前位置规划到目标位置的全局路径,该包采用Dijkstra或A*路径规划算法计算代价最小的路径作为机器人的全局路径。
- 局部路径规划 :基于附近障碍物信息进行实时避障的路径规划,使用base_local_planner包实现。该包采用轨迹滚动和动态窗口方法计算机器人在每个周期应移动的速度和角度(dx, dy, dtheta速度)。具体步骤如下:
- 对于每个采样速度,计算机器人以该速度行驶一段时间后的状态,得到行驶路线。
- 根据评估标准对多条路线进行评分,然后根据评分选择最优路线。
- 重复上述过程。
超级会员免费看
订阅专栏 解锁全文
3651

被折叠的 条评论
为什么被折叠?



