机器人核心 20% — 五个模块,一条闭环
一句话:机器人学的全貌就是一条闭环:感知自己在哪(定位)→ 知道环境长什么样(建图)→ 决定去哪(规划)→ 怎么动(控制)→ 看到结果(感知)。五个模块里任何一个不稳,整机就不可用。
🎯 这 20% 能解决哪些问题
| 常见困惑 | 本质 | 本页答案 |
|---|
| 运动学和动力学到底学哪个 | 一个算位置,一个算力 | 见「两个必学」 |
| 该用激光 SLAM 还是视觉 SLAM | 场景与成本 | 见「SLAM 选型」 |
| 路径规划算法该选 A* 还是 RRT | 环境是否已知 | 见「规划三级结构」 |
| PID 和 MPC 该用哪个 | 模型精度与算力 | 见「控制三法」 |
| 仿真调好实机就抖 | sim2real 差距 | 见「sim2real 三件套」 |
一、两个必学
| 学科 | 回答什么 | 关键概念 |
|---|
| 运动学 | 关节角 ↔ 末端位置 | 正解、逆解、雅可比 |
| 动力学 | 要多大力才能动 | 质量矩阵、重力项、摩擦 |
实用要点:
- 逆运动学可能多解或无解(奇异点附近),所以规划时要避开奇异位形。
- 雅可比矩阵把关节速度映射到末端速度,速度接近奇异点时关节速度会爆炸。
- 动力学用于高速/高精度场景;低速搬运常只做运动学 + PID。
二、SLAM 选型
graph LR
A["传感器<br/>激光/视觉/IMU"] --> B["前端<br/>匹配与位姿估计"]
B --> C["后端<br/>优化或滤波"]
C --> D["回环检测<br/>消除累积误差"]
D --> E["地图<br/>栅格/点云/语义"]
| 方案 | 优点 | 局限 | 适合 |
|---|
| 激光 SLAM | 精度高、抗光照 | 成本高、空旷场景退化 | 仓储、工业 |
| 视觉 SLAM | 便宜、信息丰富 | 光照与纹理依赖 | 服务机器人、AR |
| 激光 + IMU 融合 | 鲁棒、可高动态 | 标定复杂 | 室外、无人车 |
| 视觉 + IMU | 低成本高动态 | 尺度与漂移需处理 | 无人机、手持 |
定位与建图的取舍:环境固定且可预建图 → 用已知地图定位(AMCL 类),比在线 SLAM 稳定得多;环境会变 → 才需要在线 SLAM。
三、规划三级结构
| 层级 | 目标 | 常见算法 |
|---|
| 全局规划 | 从 A 到 B 的大致路线 | A*、Dijkstra、拓扑图 |
| 局部规划 | 避障与动态调整 | DWA、TEB、MPC |
| 轨迹生成 | 平滑、可执行、满足动力学 | 样条、多项式、优化 |
算法选择判据:
- 栅格地图 + 静态环境 → A*(加启发式,效率高)。
- 高维关节空间 → RRT/RRT*(快但路径不最优,需后处理平滑)。
- 动态障碍多 → 局部规划用 MPC(可预测、可加约束)。
四、控制三法
| 方法 | 原理 | 优点 | 缺点 |
|---|
| PID | 误差的比例/积分/微分组合 | 简单、无需模型 | 强耦合/非线性难调 |
| MPC | 滚动优化未来 N 步 | 可处理约束与预测 | 需模型、算力高 |
| 计算力矩/阻抗控制 | 用动力学补偿 | 高精度、柔顺交互 | 依赖模型参数 |
PID 调参顺序:先 P(到接近目标但有稳态误差)→ 再加 I(消稳态误差,注意积分饱和)→ 最后加 D(抑制超调,注意噪声放大)。
五、抓取与操作
| 路线 | 做法 | 适用 |
|---|
| 解析法 | 几何分析接触点 | 已知物体、规整场景 |
| 数据驱动 | 抓取位姿检测(GraspNet 类) | 未知物体 |
| 示教学习 | 人类演示 + 模仿学习 | 精细操作 |
| 强化学习 | 仿真训练策略 | 需要大量试错 |
新手最实用的一条:先固定物体位姿 + 吸盘。工业场景 80% 的抓取问题,用”定位夹具 + 吸盘/平行夹爪 + 简单规则”就能解决,不必上学习。
六、sim2real 三件套
| 手段 | 做法 |
|---|
| 域随机化 | 随机光照、摩擦、质量、延迟、噪声 |
| 系统辨识 | 用实机数据拟合物理参数(摩擦、惯量) |
| 真实微调 | 实机小样本微调或残差学习 |
常见失败:仿真里没有建模通信延迟与执行器死区,实机一上来就振荡。仿真时宁可把延迟与噪声建得比现实更差。
七、ROS 与工程实践
| 项 | 建议 |
|---|
| 中间件 | ROS 2(实时与分布式更好) |
| 通信 | 高频控制走实时通道,状态可视化走普通话题 |
| 时间同步 | 传感器统一时间源(PTP/NTP),否则融合必错 |
| 标定 | 相机-激光-机械手标定要定期复校 |
| 日志 | 全量记录传感器与指令,便于复现故障 |
📋 一页速查
| 问题 | 答案 |
|---|
| 运动学 vs 动力学 | 位置 vs 力 |
| 环境固定首选什么 | 已知地图定位 |
| 栅格地图用什么规划 | A* |
| 高维关节空间用什么 | RRT* |
| 抓取最省事方案 | 夹具定位 + 吸盘 |
| 仿真到实机的关键 | 域随机化 + 系统辨识 |
🔗 相关链接