1.一種初加速度不為零的S型曲線速度控制方法,其特征在于:所述方法分解為三個(gè)層面,即速度規(guī)劃層、步進(jìn)規(guī)劃層和位置規(guī)劃層;
其中速度規(guī)劃層根據(jù)給定的起始速度v0、末點(diǎn)速度ve、起始加速度a0、最大加加速度jmax和最大加速度amax,進(jìn)行變速規(guī)劃,得到變速過程的加加速截止時(shí)間t1、勻加速截止時(shí)間t2、減加速截止時(shí)間t3以及當(dāng)前的加加速度j;
步進(jìn)規(guī)劃層根據(jù)速度規(guī)劃層計(jì)算結(jié)果,計(jì)算任意時(shí)刻t時(shí)的位置xr、速度vrx和加速度arx;位置規(guī)劃層根據(jù)速度規(guī)劃層和步進(jìn)規(guī)劃層的計(jì)算結(jié)果、起始點(diǎn)位置x0、末點(diǎn)位置xe以及最大速度vmax,計(jì)算當(dāng)前起始點(diǎn)的下一步運(yùn)動(dòng)位置、速度和加速度,并保證最終運(yùn)動(dòng)到末點(diǎn)時(shí)速度不大于ve;當(dāng)當(dāng)前段鏈規(guī)劃長度不夠時(shí),將當(dāng)前段鏈鏈接下一條段鏈,并根據(jù)鏈接后段鏈總長度重新計(jì)算。
2.根據(jù)權(quán)利要求1所述的初加速度不為零的S型曲線速度控制方法,其特征在于:設(shè)向量y0=[x0 v0 a0]表示起始點(diǎn)位置、速度、加速度,設(shè)向量ye=[xe ve 0]表示末點(diǎn)位置、速度、加速度,設(shè)向量y1=[x1 v1 a1]表示下一步運(yùn)動(dòng)位置、速度、加速度,設(shè)向量y=[x v a]為預(yù)測的運(yùn)動(dòng)位置、速度、加速度,設(shè)給定的最大速度為vmax,所述位置規(guī)劃層包括以下步驟:
步驟1:針對一條段鏈,如果末點(diǎn)位置xe與起始點(diǎn)位置x0之差ΔL小于一常量Ⅰδ1,即ΔL=xe-x0<δ1,且末點(diǎn)速度ve與起始點(diǎn)速度v0之差的絕對值|Δv|小于一常量Ⅱδ2,即|Δv|=|ve-v0|<δ2,則設(shè)置下一步運(yùn)動(dòng)向量y1為末點(diǎn)向量ye,即y1=y(tǒng)e,返回參數(shù)y1;否則進(jìn)入步驟2;
步驟2:以v0為起始速度,a0為起始加速度,vmax為末點(diǎn)速度調(diào)用速度規(guī)劃層函數(shù),并按照計(jì)算結(jié)果調(diào)用步進(jìn)規(guī)劃層函數(shù)往前預(yù)測一步,得y1;接著以y1為起始點(diǎn)向量,ye為末點(diǎn)向量調(diào)用速度規(guī)劃層函數(shù)和步進(jìn)規(guī)劃層函數(shù)往前預(yù)測達(dá)到末點(diǎn)速度ve所需要運(yùn)行到的位置x,如果x≤xe,表明下一步運(yùn)動(dòng)到y(tǒng)1可以保證最終運(yùn)動(dòng)到末點(diǎn)時(shí)速度不大于ve,因此y1即為下一步運(yùn)動(dòng)目標(biāo),返回參數(shù)y1;否則進(jìn)入步驟3;
步驟3:如果步驟2往前預(yù)測一步使用的加加速度j=j(luò)max,則轉(zhuǎn)到步驟4,否則轉(zhuǎn)到步驟5;
步驟4:以勻加速即j=0調(diào)用步進(jìn)規(guī)劃層函數(shù)往前預(yù)測一步,得y1;接著以y1為起始點(diǎn)向量,ye為末點(diǎn)向量調(diào)用速度規(guī)劃層函數(shù)和步進(jìn)規(guī)劃層函數(shù)往前預(yù)測達(dá)到末點(diǎn)速度ve所需要達(dá)到的位置x,如果x≤xe,表明下一步運(yùn)動(dòng)到y(tǒng)1可以保證最終運(yùn)動(dòng)到末點(diǎn)時(shí)速度不大于ve,因此y1即為下一步運(yùn)動(dòng)目標(biāo),返回參數(shù)y1;否則進(jìn)入步驟5;
步驟5:以y0為起始點(diǎn)向量,ye為末點(diǎn)向量調(diào)用速度規(guī)劃層函數(shù)和步進(jìn)規(guī)劃層函數(shù)往前預(yù)測一步,得y1,并往前預(yù)測達(dá)到末點(diǎn)速度ve所需要達(dá)到的位置x,如果x≤xe,表明下一步運(yùn)動(dòng)到y(tǒng)1可以保證最終運(yùn)動(dòng)到末點(diǎn)時(shí)速度等于ve,因此y1即為下一步運(yùn)動(dòng)目標(biāo),返回參數(shù)y1;否則進(jìn)入步驟6;
步驟6:當(dāng)前段鏈規(guī)劃長度不夠,將當(dāng)前段鏈鏈接下一條段鏈,并返回步驟2。
3.根據(jù)權(quán)利要求2所述的初加速度不為零的S型曲線速度控制方法,其特征在于:設(shè)置常量Ⅰδ1=0.5(amax-a0)T2,設(shè)置常量Ⅱδ2=JmaxT2。
4.根據(jù)權(quán)利要求2所述的初加速度不為零的S型曲線速度控制方法,其特征在于:設(shè)v0為起始速度,ve為S型速度規(guī)劃結(jié)束速度,首末速度差Δv=v0-ve,a0為起始加速度,jmax為給定最大加加速度,amax為給定最大加速度,標(biāo)志速度常量vx=Δv×flag,加速度常量ax=a0×flag;所述速度規(guī)劃層函數(shù)包括以下步驟,其中t1、t2、t3和j分別為加加速截止時(shí)間、勻加速截止時(shí)間、減加速截止時(shí)間和當(dāng)前的加加速度:
步驟A:當(dāng)ax<0,且時(shí),取
步驟B:當(dāng)ax≥0或時(shí),
當(dāng)時(shí),取j=-jmax,
當(dāng)時(shí),取j=-jmax,
步驟C:更新給定加加速度,即取j=j(luò)×flag。
5.根據(jù)權(quán)利要求4所述的初加速度不為零的S型曲線速度控制方法,其特征在于:設(shè)t為當(dāng)前時(shí)刻,所述步進(jìn)規(guī)劃層函數(shù)根據(jù)以下公式計(jì)算當(dāng)前時(shí)刻t的位置xr、速度vrx和加速度arx:
(1)當(dāng)t≤t1時(shí),
arx=a0+jt
(2)當(dāng)t1<t≤t2時(shí),
arx=a0+jt1
(3)當(dāng)t2<t≤t3時(shí),
arx=a0+jt1-j(t-t2)
(4)當(dāng)t≥t3時(shí),