赞
踩
运动规划(Motion Planning)包括路径规划(Path Planning)和轨迹规划(Trajectory Planning)
路径规划是任务层级的规划,不涉及运动速度、运动时间等变量
一般在机器人的操作空间内进行,主要包括环境建模、路径搜索和路径平滑三部分。
路径规划又分全局路径规划和局部路径规划,全局路径规划一般也称为离线规划或静态规划;局部路径规划又称在线规划或动态规划
主要方法有:
A是目前为止最快的一种计算最短路径的算法,但它是一种较优算法,而非最优
A:存在“指数爆炸”的问题
- 搜索过程中,需要建立两个列表:OpenList(存储所有出现在最终路径中的节点)和CloseList(存储已经检查过一次且不再需要检测的节点)
- 对于一个待检查节点:①H:从起点沿产生路径移动到该点的耗费;②G:从该节点移动到终点的预算;③F=G+H:总耗费;④是否存在关闭列表;⑤其父节点位置
贪心算法、Dijkstra算法、A算法及加权A算法之间的关系:
假设
f
=
a
g
+
b
h
f=ag+bh
f=ag+bh
主要方法有:
问题1: 势场中可能存在引力斥力等大反向的情况,从而导致机器人陷入局部陷阱而无法逃逸
解决方案: 判断是否在目标点,如果不是,则加随机扰动,使其跳出局部最优
问题2: 目标点与某个障碍物距离很近时,斥力可能大于引力,机器人很难到达目标点
解决方案: 修改斥力场函数,使得机器人在靠近目标时,虽然斥力场增加,但距离在减小,在一定条件下减小斥力场作用而增加引力场作用
问题3: 机器人离目标点较远时,引力较大,导致忽略较小斥力,从而撞上障碍物
解决方案: 修改引力场函数,增加距离阀值,从而使其在离目标点较远时对其引力进行限制,避免过大
轨迹规划是执行层级的规划,需要包含位置、速度、加速度等信息。
轨迹规划主要包括关节空间轨迹规划和笛卡尔空间(操作空间)轨迹规划
θ
˙
=
θ
f
−
θ
0
t
f
\dot{\theta}=\frac{\theta_{f}-\theta_{0}}{t_{f}}
θ˙=tfθf−θ0
θ
=
θ
0
+
θ
f
−
θ
0
t
f
⋅
t
\theta=\theta_{0}+\frac{\theta_{f}-\theta_{0}}{t_{f}} \cdot t
θ=θ0+tfθf−θ0⋅t
存在的问题: 关节速度在节点处不连续,加速度无穷大
解决方案: 为了得到角度和速度都平滑的运动轨迹,一般在起点和终点处增加一段抛物线轨迹的缓冲区
存在的问题: 加速度不连续,存在突变,会造成关节振动冲击
得到的轨迹不唯一,因为多解(加速度可以任意选择,故轨迹无数条);
梯形截面速度
三次多项式函数通式: θ ( t ) = a 0 + a 1 t + a 2 t 2 + a 3 t 3 \theta(t)=a_0+a_{1}t+a_{2}t^2+a_{3}t^3 θ(t)=a0+a1t+a2t2+a3t3
需要满足 t 0 t_0 t0和 t f t_f tf时刻通式的位置、速度与规划目标相同
求得系数:
特点: 一、二阶微分光滑,被广泛使用,只能满足位置、速度约束,不能满足加速度约束
抛物线截面速度
五次多项式函数通式: θ ( t ) = a 0 + a 1 t + a 2 t 2 + a 3 t 3 + a 4 t 4 + a 5 t 5 \theta(t)=a_0+a_{1}t+a_{2}t^2+a_{3}t^3+a_{4}t^4+a_{5}t^5 θ(t)=a0+a1t+a2t2+a3t3+a4t4+a5t5
需要满足起始点和终止点的角度约束、速度约束和加速度约束
解得系数:
此外,还有七次插值、正余弦插值、doubleS等等……
姿态采用RPY角或欧拉角形式,但对于一些特殊位置,无法实现正常插值,此时应使用四元数来描述
插值方法:
略
参考文献:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。