运动规划常用算法
运动规划(Motion Planning),在机器人领域一般指:给机器人从起始状态到目标状态生成一条满足约束的运动轨迹。
比如你的天轶人形机器人抓瓶子:
已知机器人当前姿态 → 目标抓取位姿 → 生成机械臂关节轨迹 → 避障 → 平滑执行
这整个过程就是运动规划。
运动规划算法大体分为几类:
1. 基于搜索的规划(Search-based Planning)
适合:
-
移动机器人
-
栅格地图
-
低维空间
① A* 算法
最经典路径规划。
思想:
总代价 = 已经走过的代价 + 预计距离
f(n)=g(n)+h(n)
其中:
-
g(n):当前位置到当前节点成本
-
h(n):当前位置到目标估计距离
例如:
机器人
S □ □ □
□ ■ ■ □
□ □ □ G
A*:
S → → ↓ ↓ → G
优点:
✅ 保证最优
缺点:
❌ 高维机械臂不适合
应用:
ROS Nav2:
-
Global Planner
-
Smac Planner
② Dijkstra
A* 的前身。
区别:
Dijkstra:
f(n)=g(n)
不知道目标在哪里,全部搜索。
优点:
保证最短路径
缺点:
慢。
2. 采样规划(Sampling-based Planning)
这是机械臂最常用的一类。
因为机械臂空间:
例如7自由度:
q=[q1,q2,q3,q4,q5,q6,q7]
搜索空间巨大。
所以:
随机采样。
① RRT(Rapidly-exploring Random Tree)
机器人领域非常经典。
思想:
随机长树。
例如:
*
*
*
S----*
\
*
*
G
步骤:
-
随机生成一个点
-
找最近节点
-
朝它扩展
-
碰撞检测
-
连到树
优点:
✅ 快
✅ 高维有效
缺点:
❌ 路径比较乱
② RRT*
RRT优化版。
核心:
重新连接。
让路径:
RRT:
S------*---*---G
RRT*:
S-----------G
特点:
随着采样增加:
越来越接近最优。
目前机械臂规划非常常用。
③ Informed RRT*
进一步优化。
不是全空间随机:
而是在:
起点-终点椭球区域
采样。
速度更快。
④ PRM(Probabilistic Roadmap)
适合:
固定环境。
先建地图:
随机点:
* * *
*
* *
连接:
*---*---*
\ /
*---*
然后搜索。
3. 优化类运动规划(Optimization-based)
现在机器人研究热点。
核心:
把运动规划变成优化问题。
目标:
最小:
[
Cost=
距离+
碰撞+
能量+
平滑
]
① CHOMP
Covariant Hamiltonian Optimization for Motion Planning
优化轨迹:
原始:
---------
\
\
G
优化:
-----------
\
G
特点:
轨迹平滑。
② STOMP
基于随机优化。
特点:
不需要梯度。
③ TrajOpt
工业机器人常用。
优势:
速度快。
目标:
min:
轨迹长度
+
碰撞代价
+
动力学约束
4. MPC(Model Predictive Control)
这个现在非常火。
不是一次规划到底。
而是:
滚动规划。
例如:
机器人走路:
预测未来:
现在
|
|----未来2秒预测
|
执行0.1秒
重新规划
循环。
优势:
✅ 动态环境
✅ 机器人控制结合
应用:
-
自动驾驶
-
四足机器人
-
人形机器人
5. 速度规划(Time Parameterization)
规划路径后:
还需要:
"什么时候到哪里"
例如:
路径:
A-------------B
变成:
t=0 t=1 t=2
A------M-------B
常用:
TOPP
Time Optimal Path Parameterization
Ruckig
现在工业机器人非常火。
作用:
限制:
-
速度
-
加速度
-
jerk
MoveIt2 默认大量使用。
6. 人形机器人/机械臂常用组合
视觉
|
目标抓取位姿
|
IK逆运动学
|
运动规划
|
轨迹优化
|
控制执行
具体:
MoveIt2:
OMPL
|
RRTConnect
|
RRT*
|
PRM
|
TrajOpt
|
Ruckig
7. 不同场景对应算法
| 场景 | 算法 |
|---|---|
| 二维地图导航 | A*、Dijkstra |
| ROS导航 | A*、D*、Smac |
| 机械臂避障 | RRTConnect |
| 高自由度机械臂 | RRT* |
| 工业机械臂 | TrajOpt |
| 动态环境 | MPC |
| 人形机器人 | MPC+优化 |
| 抓取规划 | RRT+IK |
| 腿式机器人 | MPC |
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)