Contents — find the section you need

理解室内轮式机器人的关键在于理解一个问题:传感器读数如何转化为电机指令?本指南将网站的解释和项目记录联系起来,而不是要求你死记硬背算法名称。

初步阅读目标

你无需机器人或 ROS 2 系统即可开始。在纸上写下四个阶段:观察 → 估计位置 → 选择动作 → 发出指令。为每个阶段指定一个输入和一个输出。这是本页的初始目标;后续可以学习公式和算法实现。

要了解整体架构,请继续阅读下图。要按顺序学习通信、帧、估计、地图构建和规划,请使用机器人学习指南。要开始进行反馈响应的小实验,请使用控制工程指南,找到 PID 控制器的解释和浏览器实验。

遵循信息流

Diagram 1 · Use the button to switch views
观察、估计、规划、控制并再次测量最终运动

当车轮打滑或负载变化时,指令速度和实际速度会有所不同。因此,在整个运动过程中需要重复观察。存储的地图也可能与机器人前方的障碍物不符,因此必须根据局部观察结果进行规划。

1:了解传感器测量的内容

首先了解激光雷达、惯性测量单元和编码器。一个重要的里程碑是能够明确每个传感器单独无法确定的内容。车轮旋转并不能直接测量与地面的滑动,而且IMU测量值的积分会累积误差。

2:估计当前姿态

请阅读航位推算、激光雷达SLAM和传感器融合。将平滑的短期运动估计与相对于地图校正的姿态分离。这使得odom和map的作用更容易理解;它们的语义在ROS REP-105中进行了详细说明。

3:表示自由空间并选择路径

使用占用网格进行空间表示,并使用路径规划进行路径选择。一个点可以通过宽度较大的机器人无法通过的间隙。作为练习,解释为什么改变机器人的占地面积会改变哪些走廊可以通行。

4:将计划转化为行动

学习PID 控制和浏览器实验,然后从ROS 2 基础过渡到最小 Nav2 程序。 官方导航概念 为组件职责提供了另一份参考。

目标 初步检查 继续
理解原理 记录每个模块的输入和输出 详细解释
运行仿真 在地图上设置初始位姿和目标 最简 Nav2 流程
改进硬件 记录匹配条件下的重复运行 SLAM 评估和电源诊断

检查边界

解释当观测数据消失时,哪些数据停止,哪些数据到达电机。无法解释的边界表明了下一个需要研究的主题。配置硬件时,请参阅Nav2 首次设置指南。

Related reading

Connect the system in simulation从地图绘制到 ROS 2 导航——Jazzy 和 Nav2 的极简流程Check the boundaries between sensors传感器融合失败的原因——时序、帧和外部校准Explore another aspect of this fieldICP 失败的原因:初始化、异常值和对称几何