梯形速度分布的轨迹规划,从本质上来说,是一个分段函数的轨迹规划,基本的方式是一个先加速,再匀速,再减速的三段函数的过程。当然,当间隔时间太短时,会出现分段函数只有加速和减速,无匀速的情况。或者因为开始速度和结束速度不相等,出现加速和减速过程不对称的情况。在梯形速度分布中,都需要根据实际的状况,分别的全面考虑所有的情况。
一. 固定加/减速时间和匀速速度的模式
初始速度为v0 = 0, 结束速度为v1 = 0;初始时间t0 = 0。
假设:加速时间、减速时间分别为Ta、Td,匀速时速度为vv。
1. 加速阶段
加速时间区间为[0, Ta],因为加速度恒定,因此,轨迹曲线为二次多项式,在此阶段,位置、速度、加速度的表达式如下所示:
⎩⎪⎨⎪⎧q(t)=a0+a1t+a2t2q˙(t)=a1+2a2tq¨(t)=2a2
表达式中常量参数的公式如下所示:
⎩⎪⎪⎪⎨⎪⎪⎪⎧a0=q0a1=0a2=2Tavv
2. 匀速阶段
匀速时间区间为[Ta, t1−Ta],因为速度恒定,加速度为0,因此轨迹曲线为一次多项式,在此阶段,位置、速度、加速度的表达式如下所示:
⎩⎪⎨⎪⎧q(t)=b0+b1tq˙(t)=b1q¨(t)=0
表达式中常量参数的公式如下所示:
⎩⎨⎧b1=vvb0=q0−2vvTa
3. 减速阶段
减速时间区间为[t1−Ta, t1],因为加速度恒定,因此,轨迹曲线为二次多项式,在此阶段,位置、速度、加速度的表达式如下所示:
⎩⎪⎨⎪⎧q(t)=c0+c1t+c2t2q˙(t)=c1+2c2tq¨(t)=2c2
表达式中常量参数的公式如下所示:
⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧c0=q1−2Tavvt12c1=Tavvt1c2=−2Tavv
根据以上公式,针对两点之间的轨迹规划,使用matlab实现的关节角度、关节速度、关节加速度曲线如下所示:
- q0 = 0, q1 = 30; t0 = 0, t1 = 4; Ta = 1, vv = 10
关于上面Ta和vv的值是怎么确定的,如下推导过程:
当初始速度为0时,在t = t0+Ta这个点上,加速Ta后得到的速度和开始匀速时的速度的值是相等的,由此有如下所示的等式:
aaTa=Tm−Taqm−qa
以上等式中字符的表达式如下所示:
⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧qa=q(t0+Ta)qm=2(q1+q0)=q0+2hTm=2(t1−t0)=2T
刚刚加速完毕的时刻点,可得到的等式如下所示:
qa=q0+21aaTa2
将以上等式、qm=2(q1+q0)、Tm=2(t1−t0)代入,可得以下等式:
aaTa2−aa(t1−t0)Ta+(q1−q0)=0
同时,因为速度曲线的面积=q1−q0,由此可得等式:
vv=t1−t0−Taq1−q0=T−Tah
二. 预先指定加速度的模式
如果指定加速度aa为已知值,那么需要根据此加速度确定加速和减速所需要的时间。
Ta=2aaaa(t1−t0)−aa2(t1−t0)2−4aa(q1−q0)
由以上公式可以得到加速度范围的表达式,如下所示:
aa⩾(t1−t0)24(q1−q0)
由以上表达式,可知,在此种模式下,可以得到最小加速度为aa=T24h,此时,加速时间为Ta=21(t1−t0)
三. 预先指定加速度和速度的模式
假设:aa=amax,vv=vmax
则可以得到如下等式:
⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧Ta=amaxvmax,加速时间vmax(T−Ta)=q1−q0=h,位移T=amaxvmaxhamax+vmax2,总时间
假设t0不等于0,因为t1=t0+T,因此可以得到有加速、匀速、减速三个阶段的通用表达式为:
q(t)=⎩⎪⎪⎨⎪⎪⎧q0+21amax(t−t0)2,t0≤t≤t0+Taq0+amaxTa(t−t0−2Ta),t0+Ta≤t≤t1−Taq1−21amax(t1−t)2,t1−Ta≤t≤t1
如果要保证一定有匀速阶段,那么需要满足如下限制:
h⩾amaxvmax2
如果不满足以上限制,则可以得到如下等式:
⎩⎪⎪⎨⎪⎪⎧Ta=amaxh,加速时间T=2Ta,总时间vmax=amaxTa=amaxh=Tah,最大速度
因为不满足限制条件,此时没有匀速阶段,此时的通用表达式为:
q(t)={q0+21amax(t−t0)2,t0≤t≤t0+Taq1−21amax(t1−t)2,t1−Ta≤t≤t1
通过以上推导可知,如果使用此种模式,从q0到q1的运动总时间T是通过给定的加速度和速度计算出来的。
以上三种模式,均需要根据已知的值确定加速、匀速、减速的阶段,在确定过程中,可能在某个阶段,不是完全按照加速、匀速、减速的方式进行,譬如,没有匀速阶段,直接加速然后就需要减速了。所有的这些情况,在以上三种模式的基本公式中可以计算得到。
更多文章,请关注公众号: