1. 运动规划概述:从定义到落地

大家好,我是你们这门课的老朋友。咱们今天开篇,聊聊运动规划到底是个啥。

说实话,我入行那会儿,运动规划还没这么火。那时候做工业机器人,大部分时候就是“示教-再现”——我拿着示教器,一点一点把路径调好,机器人就傻傻地重复。但现在不一样了,环境变了,任务复杂了,机器人得自己“想”怎么走。这就是运动规划要干的事。

1.1 运动规划的定义

运动规划,说白了就是:给定一个起点和一个终点,在满足各种约束(别撞墙、关节别超限、速度别太快)的前提下,找出一条可行的路径,并且能生成让机器人动起来的指令序列。

它包含两个层面:

  • 路径规划:只关心空间中的几何路径,不管时间。比如从A点到B点,画一条不撞障碍物的线。
  • 轨迹规划:在路径的基础上,加上时间信息。比如什么时候加速、什么时候减速、以多快的速度通过某个点。

我个人习惯:把路径规划看作是“画地图”,轨迹规划看作是“定行程”。地图画得再好,行程安排不合理,照样翻车。

1.2 运动规划的分类:全局 vs 局部

运动规划的分类方式很多,但最核心的分法,就是全局规划和局部规划。这俩概念,你在任何一本机器人学教材里都会看到,但实际用起来,差别很大。

维度 全局规划 局部规划
环境信息 已知完整地图 未知或部分已知,靠传感器实时感知
计算时机 离线或任务开始前 在线、实时
典型算法 A*、Dijkstra、RRT、PRM DWA、TEB、人工势场法
输出 从起点到终点的完整路径 当前时刻到下一时刻的速度/转向指令
优缺点 能找到最优解,但环境变了就失效 能应对动态障碍,但容易陷入局部最优

你想想看,全局规划就像你出发前用手机地图规划了一条路线。这条路是固定的,你知道哪里有红绿灯、哪里有转弯。但如果你开到一半,前面封路了,手机地图没更新,你就傻眼了。这时候就需要局部规划——你看到封路牌子,自己临时绕一下。

避坑指南:我曾经在一个AGV项目里,只用了全局规划,结果车间里临时堆了一箱货,机器人直接撞上去了。后来我学乖了,全局规划打底,局部规划兜底,两者结合才是王道。

1.3 应用场景:工业、服务、医疗

运动规划不是实验室里的玩具,它已经渗透到各个行业了。我挑三个最典型的场景聊聊。

1.3.1 工业场景

这是运动规划的老本行。焊接、喷涂、搬运、装配,哪个环节都离不开。

  • 焊接:焊缝路径要平滑,机器人姿态要连续,不然焊出来全是渣。我记得有个汽车底盘项目,焊缝路径规划没做好,机器人每焊到拐角就抖一下,焊出来的东西跟狗啃的一样。
  • 喷涂:喷枪离工件表面的距离要恒定,速度要均匀,不然漆面厚度不一致。这里涉及到的是曲面上的轨迹规划,比平面复杂得多。
  • 码垛:箱子要码得整齐,路径要短,还要避免抓取时碰撞。这里常用的是笛卡尔空间直线/圆弧插补,咱们后面会详细讲。

1.3.2 服务场景

服务机器人这几年火得不行。扫地机器人、送餐机器人、导览机器人,它们都在做运动规划。

  • 扫地机器人:它得规划出一条能覆盖整个房间的路径,同时避开拖鞋、电线、宠物。这里常用的是全覆盖路径规划,不是简单的A点到B点。
  • 送餐机器人:在餐厅里穿梭,要避开人、避开桌子、避开其他机器人。环境是动态的,所以局部规划是核心。
  • 导览机器人:在博物馆里带路,要能根据参观者的位置实时调整路径。这里涉及到人机共融,规划出来的路径不能太机械,要让人觉得自然。

1.3.3 医疗场景

医疗机器人对运动规划的要求最高,因为容错率几乎为零。

  • 手术机器人:比如达芬奇系统,机械臂要穿过小孔进入人体,在狭小空间里操作。路径规划必须考虑运动学约束和安全性,不能碰到任何重要组织。
  • 康复机器人:帮助患者做康复训练,轨迹要平滑、要符合人体运动规律。这里用的是阻抗控制和力位混合规划,不是简单的位置跟踪。
  • 导航机器人:比如医院里的物流机器人,要运送药品、标本。路径规划要考虑洁净区和污染区的隔离,不能乱窜。

注意:医疗场景的运动规划,我建议你多花点时间研究安全冗余。我曾经参与过一个手术机器人项目,因为路径规划没考虑机械臂的奇异点,差点在手术中卡住。嗯,从那以后,我每次做规划都会加一个奇异点检测模块。

1.4 运动规划的知识体系

为了让你对这门课有个整体印象,我画了一张图。这张图涵盖了运动规划的核心知识模块,也是咱们这门课的主线。

运动规划知识体系框架图 运动规划知识体系 路径规划 轨迹规划 避障策略 图搜索 (A*/Dijkstra) 采样 (RRT/PRM) 多项式插值 S形速度规划 DWA TEB 应用场景:工业 · 服务 · 医疗 核心思想:全局规划定方向,局部规划做微调 路径规划 + 轨迹规划 + 避障 = 完整的运动规划

这张图把运动规划拆成了三大块:路径规划、轨迹规划和避障策略。咱们这门课,就是围绕这三块展开的。每一块我都会带你从原理讲到代码实现,再讲到实际项目中的坑。

1.5 本章小结

好了,第一章的内容就这些。咱们回顾一下重点:

  • 运动规划 = 路径规划 + 轨迹规划,一个管空间,一个管时间。
  • 全局规划适合已知环境,局部规划适合动态环境,两者要结合使用。
  • 工业、服务、医疗三个场景对运动规划的要求各不相同,但核心逻辑是相通的。