赞
踩
主要思想:前端考虑动力学进行规划,后端轨迹优化利用B样条曲线的性质。
优点:
1、使轨迹向梯度场小的方向移动,设计出来的轨迹在障碍物中间,相较其他方法会更加安全。
2、利用了B样条曲线,带来了很大的便利,因为B样条曲线具有以下性质:
改变任意控制点,只改变有限时间段的轨迹。
B样条曲线的导数仍为B曲线。
缺点:
贝塞尔曲线(Bezier Curve)
B样条曲线(B-Spline)
定义
C
(
t
)
=
∑
i
=
0
n
N
i
,
p
(
t
)
Q
i
\mathbf{C}(t)=\sum_{i=0}^{n} N_{i, p}(t) \mathbf{Q}_{i}
C(t)=i=0∑nNi,p(t)Qi
性质
时间范围为什么两边缩小Pb的偏移,由下图可以很容易看出来。
一个时间段的轨迹由有限的点决定
如图,
[
u
3
,
u
4
)
[u_{3},u_{4})
[u3,u4)的时间段只受到
Q
0
、
Q
1
、
Q
2
、
Q
3
Q_{0}、Q_{1}、Q_{2}、Q_{3}
Q0、Q1、Q2、Q3控制点的作用。
p>=1具有轨迹连续性质
推到出C(t)的表达式易证。
B样条的导数还是B样条
凸包性质(Convex Hull Property)
$Q_{0}、Q_{1}、Q_{2}、Q_{3}$
控制,可见这段轨迹是在控制点的连线区域内的。时间段以此类推,都在其对应控制点连线的多边行区域内。因此容易将轨迹的障碍物的距离约束,速度、加速度约束,转化到对控制点的约束,从而简化计算。时间均匀的B样条可以化成特殊的表达形式(Fast Planner中使用
通式:
当p = 3, m = 3:
p
(
s
(
u
)
)
=
s
(
u
)
T
M
4
q
3
s
(
u
)
=
[
1
s
(
u
)
s
2
(
u
)
s
3
(
u
)
]
T
q
3
=
[
Q
0
Q
1
Q
2
Q
3
]
T
s
(
u
)
=
(
u
−
u
3
)
/
Δ
u
推导:
N
0
,
3
(
t
)
=
1
6
{
t
3
t
∈
[
0
,
1
)
t
2
(
2
−
t
)
+
t
(
3
−
t
)
(
t
−
1
)
+
(
4
−
t
)
(
t
−
1
)
2
t
∈
[
1
,
2
)
t
(
3
−
t
)
2
+
(
t
−
1
)
(
3
−
t
)
(
4
−
t
)
+
(
4
−
t
)
2
(
t
−
2
)
t
∈
[
2
,
3
)
(
4
−
t
)
3
t
∈
[
3
,
4
)
N_{0,3}(t)=\frac{1}{6}\left\{
N
1
,
3
(
t
)
=
1
6
{
(
t
−
1
)
3
t
∈
[
1
,
2
)
(
t
−
1
)
2
(
1
−
t
)
+
(
t
−
1
)
(
2
−
t
)
(
t
−
2
)
+
(
3
−
t
)
(
t
−
2
)
2
t
∈
[
2
,
3
)
(
t
−
1
)
(
2
−
t
)
2
+
(
t
−
2
)
(
2
−
t
)
(
3
−
t
)
+
(
3
−
t
)
2
(
t
−
3
)
t
∈
[
3
,
4
)
(
3
−
t
)
3
t
∈
[
4
,
5
)
.
.
.
N_{1,3}(t)=\frac{1}{6}\left\{
可计算
t
∈
[
u
3
,
u
4
)
t \in[u_{3},u_{4})
t∈[u3,u4)段的轨迹:
推广到
t
∈
[
u
m
,
u
m
+
1
)
t \in[u_{m},u_{m+1})
t∈[um,um+1)段的轨迹:
结论:由公式看出,只需要
Q
m
−
3
、
Q
m
−
2
、
Q
m
−
1
、
Q
m
Q_{m-3}、Q_{m-2}、Q_{m-1}、Q_{m}
Qm−3、Qm−2、Qm−1、Qm的点,分配时间
Δ
u
\Delta u
Δu,就可以确定`
t
∈
[
u
m
,
u
m
+
1
)
t \in[u_{m},u_{m+1})
t∈[um,um+1)段轨迹。
p
(
s
(
u
)
)
=
s
(
u
)
T
M
4
q
m
s
(
u
)
=
[
1
s
(
u
)
s
2
(
u
)
s
3
(
u
)
]
T
q
m
=
[
Q
m
−
3
Q
m
−
2
Q
m
−
1
Q
m
]
T
s
(
u
)
=
(
u
−
u
m
)
/
Δ
u
M
4
=
1
3
!
[
1
4
0
0
−
3
0
3
0
3
−
6
3
0
−
1
3
−
3
1
]
\mathbf{M}_{4}=\frac{1}{3 !}\left[
不同阶的基函数间的计算关系
0阶
1阶
2阶
可以看出: 0阶时轨迹就是控制点。1阶时控制点连线的直线。2阶导时控制点有光滑曲线连接(轨迹连续可导)。
代价函数的设计
dynamic feasibility cost
f
v
+
f
a
f_{v}+f_{a}
fv+fa
设计惩罚函数
注意:因为是软约束,所以后续需要进行时间调整
collision cos f c f_{c} fc
f
c
=
∑
i
=
p
b
N
−
p
b
F
c
(
d
(
Q
i
)
)
f_{c}=\sum_{i=p_{b}}^{N-p_{b}} F_{c}\left(d\left(\mathbf{Q}_{i}\right)\right)
fc=i=pb∑N−pbFc(d(Qi))
可见,由B样条曲线的凸包性质,轨迹的约束都可以转化到控制点上,简化了计算。
时间调整
《深蓝学院》移动机器人运动规划第8章
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。