PMAC的PVT功能实现解析笔记
从上图中我们可以得到如下信息:
-
- 速度截面是一个抛物线
-
- P 0 P_0 P0、 V 0 V_0 V0是上一次指定的, P 1 P_1 P1、 V 1 V_1 V1是当前期望的,TA是当前期望的运动时间
-
- A 0 A_0 A0是上一次计算的, A 1 A_1 A1是当前计算的,加加速度 d A / d t dA/dt dA/dt是常数
根据上述几条信息,可以看出轨迹插补方式有点类似于三次多项式,但是三次多项式插值,其速度曲线是一个“凸”的形状,即“非单调曲线”,与下图给出的案例不符。
此图下方接下来有一段话:
PVT mode provides excellent contouring capability, because it takes the interpolated commanded path exactly through the programmed points. It creates a path known as a “Hermite spline”. To use PVT mode for this multi-axis contouring, the axis velocities at each programmed point must be specified in addition to the positions.
划关键词Hermite spline
,结合文首推测,应该是用的三次Hermite曲线
,不了解Hermite曲线的朋友可以移步这篇文章:传送门
这里直接给出三次Hermite曲线的表达式:
p
(
t
)
=
(
1
−
3
t
2
+
2
t
3
)
p
0
+
(
t
−
2
t
2
+
t
3
)
v
0
+
(
3
t
2
−
2
t
3
)
p
1
+
(
t
3
−
t
2
)
v
1
p(t)=(1-3t^2+2t^3)p_0+(t-2t^2+t^3)v_0+(3t^2-2t^3)p_1+(t^3-t^2)v_1
p(t)=(1−3t2+2t3)p0+(t−2t2+t3)v0+(3t2−2t3)p1+(t3−t2)v1
v
(
t
)
=
(
6
t
2
−
6
t
)
p
0
+
(
3
t
2
−
4
t
+
1
)
v
0
+
(
6
t
−
6
t
2
)
p
1
+
(
3
t
2
−
2
t
)
v
1
v(t)=(6t^2-6t)p_0+(3t^2-4t+1)v_0+(6t-6t^2)p_1+(3t^2-2t)v_1
v(t)=(6t2−6t)p0+(3t2−4t+1)v0+(6t−6t2)p1+(3t2−2t)v1
a
(
t
)
=
(
12
t
−
6
)
p
0
+
(
6
t
−
4
)
v
0
+
(
6
−
12
t
)
p
1
+
(
6
t
−
2
)
v
1
a(t)=(12t-6)p_0+(6t-4)v_0+(6-12t)p_1+(6t-2)v_1
a(t)=(12t−6)p0+(6t−4)v0+(6−12t)p1+(6t−2)v1
j
(
t
)
=
12
p
0
+
6
v
0
−
12
p
1
+
6
v
1
j(t)=12p_0+6v_0-12p_1+6v_1
j(t)=12p0+6v0−12p1+6v1
由此可见,加加速度确实为定值。
令
p
0
=
0
p_0=0
p0=0、
v
0
=
0
v_0=0
v0=0、
p
1
=
△
P
p_1=\triangle P
p1=△P、
v
1
=
V
v_1 = V
v1=V,则有:
v
(
t
)
=
(
6
t
−
6
t
2
)
△
P
+
(
3
t
2
−
2
t
)
V
=
(
3
V
−
6
△
P
)
t
2
+
(
6
△
P
−
2
V
)
t
v(t)=(6t-6t^2)\triangle P+(3t^2-2t)V=(3V-6\triangle P)t^2+(6\triangle P-2V)t
v(t)=(6t−6t2)△P+(3t2−2t)V=(3V−6△P)t2+(6△P−2V)t
a
(
t
)
=
(
6
−
12
t
)
△
P
+
(
6
t
−
2
)
V
=
(
6
V
−
12
△
P
)
t
+
(
6
△
P
−
2
V
)
a(t)=(6-12t)\triangle P+(6t-2)V=(6V-12\triangle P)t+(6\triangle P-2V)
a(t)=(6−12t)△P+(6t−2)V=(6V−12△P)t+(6△P−2V)
以下是说明书中给出的常见PVT模式的时间-速度曲线,发现图像与上述公式完全相符。
注意:下图中▲P与V的关系可能有问题,推测t是1,否则公式与图不符。
最后,说明书还给出了一个比较有意思的圆弧构建案例:
结论: PMAC应用三次Hermite spline实现的PVT功能。