劉喜藏, 馬銘澤, 林 皓
(航空工業(yè)第一飛機設(shè)計研究院,陜西 西安 710089)
飛行模擬器作為重要的地面仿真設(shè)備,是典型的人在回路實時仿真系統(tǒng)。六自由度運動平臺作為飛行模擬器的重要組成部分,其根據(jù)飛機的飛行狀態(tài)進行實時解算并控制平臺進行俯仰、滾轉(zhuǎn)、偏航、升降、縱向和側(cè)向平移運動,從而為飛行員提供瞬態(tài)過載感受[1]。六自由運動平臺的結(jié)構(gòu)形式多種多樣,其中并聯(lián)結(jié)構(gòu)形式因其具有精度高、剛度大、運動速度快等特點而被廣泛應(yīng)用。并聯(lián)結(jié)構(gòu)六自由度運動平臺的控制目標(biāo)與作動系統(tǒng)之間是較為復(fù)雜的非線性關(guān)系,建立運動平臺的運動學(xué)關(guān)系是進行系統(tǒng)結(jié)構(gòu)設(shè)計、運動誤差分析和實現(xiàn)系統(tǒng)精確、快速控制的重要前提條件。
針對并聯(lián)結(jié)構(gòu)形式的運動學(xué)研究具有逆解容易、正解難的特點,目前已有大量學(xué)者開展了相關(guān)研究,綜合近年研究成果,可劃分以下3類:數(shù)值法、解析法和基于高級算法的求解法[2]。其中,最典型的數(shù)值法便是牛頓迭代法,其求解原理簡單易懂,只要迭代次數(shù)足夠,就能求得滿足精度要求的方程解,但迭代初值的選擇會影響該方法的迭代速度和尋優(yōu)結(jié)果。陳曉江[3]通過將運動學(xué)正解方程表示為9個方程組,采用牛頓迭代法進行了求解。楊小龍[4]使用了一種牛頓迭代法的優(yōu)化算法,通過構(gòu)造迭代序列,完成了運動學(xué)正解求解,并將求解效率提高到0.3 ms。解析法通常采用消元方式消去約束方程中的未知數(shù),從而獲得方程解。通過解析解可以求得所有解,然而其推導(dǎo)過程十分復(fù)雜。Dietmaier[5]證明了一般 6-UPS 機器人有 40 個實數(shù)解。對于6-UPS機器人,Sreenivasan等[6]證明最多有 16 個解,當(dāng)上、下平臺是對稱六邊形時,Huang等[7]證明最多有 14 個解。為解決運動學(xué)正解解算問題,胡啟國[8]、弓瑞[9]等采用遺傳算法求得平臺的位姿正解,該算法的解算精度較高,但其尋優(yōu)解算用時較長。荊學(xué)東[10]、朱齊丹[11]等采用神經(jīng)網(wǎng)絡(luò)、牛頓迭代混合的算法完成了Stewart平臺的正解,其迭代效率和解算誤差均優(yōu)于傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)算法。
在進行六自由度運動平臺設(shè)計時應(yīng)避免奇異結(jié)構(gòu)的出現(xiàn),因此其包線內(nèi)的運動學(xué)正解是唯一的。采用遺傳算法、神經(jīng)網(wǎng)絡(luò)等先進算法進行運動學(xué)求解時需要進行大量的樣本訓(xùn)練,很多時候也需要使用牛頓迭代法。六自由度運動平臺的空間包線較小,非常適合采用牛頓迭代法進行運動學(xué)正解求解。改進的牛頓迭代法雖然效率較高,然而其構(gòu)造過程復(fù)雜。本文將從簡化運動學(xué)正解方程出發(fā),結(jié)合六自由度運動平臺的使用特點,通過選擇合理的迭代初值完成位置正解的高效迭代尋優(yōu),同時利用解析法完成平臺速度和加速度正解求解。
一個典型的六自由度運動平臺如圖1所示,可以將其劃分為上平臺、下平臺和支腿,其中下平臺固定在地面上,支腿與上、下平臺相交的位置為鉸鏈點,同一平面上的鉸鏈點位于同心圓上。
圖1 六自由度運動平臺結(jié)構(gòu)圖
支腿可以繞上、下鉸鏈進行轉(zhuǎn)動,并且支腿上部能進行伸縮運動。通過控制6條支腿的伸縮運動來實現(xiàn)對上平臺的控制,從而為人在回路的仿真試驗提供動感效應(yīng)。
根據(jù)上、下平臺圓半徑、鉸鏈間距和支腿長度即可確定平臺的空間結(jié)構(gòu)。平臺鉸鏈點的平面布局如圖2所示,d1~d6為下鉸鏈點,u1~u6為上鉸鏈點,同一平面上的鉸鏈點對稱分布。
圖2 運動平臺鉸鏈點平面分布圖
為了描述運動平臺各節(jié)點組成部分在空間的運動學(xué)關(guān)系,需要建立統(tǒng)一的坐標(biāo)系。
下平臺坐標(biāo)系(FI)坐標(biāo)原點OI位于下鉸鏈構(gòu)成大圓的圓心,OIxI軸垂直于下平臺d1、d2號鉸鏈點的連線,OIyI垂直于OIxI指向右,并與OIxI在同一水平面內(nèi),如圖2(a)所示。OIzI鉛垂向下指向地心方向。
當(dāng)支腿的長度相等且為某特定初始值Lt0時,即Lt1=Lt2=Lt3=Lt4=Lt5=Lt6=Lt0,上平臺與下平臺平行,并定義該位置為運動平臺中立位。規(guī)定此時的上平臺圓心Os為上平臺坐標(biāo)系(Fs)原點,縱軸Osxs垂直于上平臺u4、u5號鉸鏈點的連線,橫軸垂直于Osxs指向右,如圖2(b)所示。豎軸Oszs垂直于Osxsys平面,向下為正。上平臺坐標(biāo)系是一個可動坐標(biāo)系,相對于下平臺坐標(biāo)系,除了坐標(biāo)原點的平移運動外,還包括俯仰、滾轉(zhuǎn)和偏航運動,其正方向定義與飛機歐拉角類似。
為了描述支腿向量與上平臺、下平臺之間的關(guān)系,需要建立支腿坐標(biāo)系。下面以下平臺d5鉸鏈點所在的支腿坐標(biāo)系為例進行說明:支腿慣性坐標(biāo)系Fa的縱軸Oaxa軸平行于下平臺相鄰鉸鏈點短邊中垂線,正方向指向大圓圓心,橫軸Oaya垂直于Oaxa軸,指向右側(cè),如圖3所示。Oaza軸指向地心方向。
圖3 支腿坐標(biāo)系定義
六自由度運動平臺的上平臺通過支腿與下平臺相連,支腿坐標(biāo)系相對于支腿慣性坐標(biāo)系存在轉(zhuǎn)動。建立支腿與上、下平臺之間的運動學(xué)關(guān)系,需要利用點的復(fù)合運動理論進行分析。
以任一支腿為例進行復(fù)合運動分析,已知該支腿伸縮速度和伸縮加速度分別為vr1和ar1,其方向沿支腿方向;支腿繞下鉸鏈d1的角速度和角加速度分別為ωt1和αt1,其方向垂直于支腿矢量;支腿在慣性坐標(biāo)系下的空間矢量為r1。
圖4 支腿復(fù)合運動分析
根據(jù)速度合成定理,空間任一動點的絕對速度等于其牽連速度與相對速度的矢量和[12],則上鉸鏈點u1相對于下鉸鏈點d1的速度為
va1=ωt1×r1+vr1
(1)
式中:ωt1×r1垂直于支腿方向;vr1沿支腿方向。
支腿上鉸鏈點相對于下鉸鏈的牽連運動為定軸轉(zhuǎn)動與平移運動之和,根據(jù)定軸轉(zhuǎn)動加速度合成定理,則上鉸鏈點u1相對于下鉸鏈點d1的加速度為
aa1=αt1×r1+ωt1×ωt1×r1+ar1+2ωt1×vr1
(2)
式中:αt1×r1垂直于支腿方向;ωt1×ωt1×r1沿支腿方向,其大小為|ωt1|2·|r1|;ar1沿支腿方向;ωt1×vr1垂直于支腿方向。
根據(jù)平臺結(jié)構(gòu)參數(shù),可以確定鉸鏈點在相對應(yīng)同心圓上的位置。假設(shè)6個下鉸鏈點在FI坐標(biāo)系下的位置為Pd,6個上鉸鏈點在Fs坐標(biāo)系下的位置為Pu,Pd和Pu均為3×6的矩陣。
上平臺坐標(biāo)系原點Os在下平臺坐標(biāo)系FI下的位置、速度和加速度分別為PI=[x;y;z],VI=[vxu;vyu;vzu]和AI=[axu;ayu;azu];上平臺姿態(tài)角、角速度和角加速度分別為Euler=[θ;φ;ψ],ωs=[p;q;r]和αs=[dp;dq;dr]。
6個支腿在FI坐標(biāo)系下的空間矢量為Pu2d,該矢量為3×6的矩陣。沿支腿方向的伸縮速度和伸縮加速度分別為vr和ar,均為6×1的矩陣。
根據(jù)上述定義,建立上平臺位姿、速度和加速度與支腿位置、速度和加速度的運動學(xué)對應(yīng)關(guān)系。
(1) 位置運動學(xué)關(guān)系。
根據(jù)上平臺的姿態(tài)角,可以得到體軸系-地軸系轉(zhuǎn)換矩陣Mbtg[13],該矩陣為3×3方陣。利用該轉(zhuǎn)換矩陣可以將上平臺上任一點轉(zhuǎn)換到慣性坐標(biāo)系。
根據(jù)空間矢量定義,可以建立運動平臺位置對應(yīng)關(guān)系:
Pu2d(:,i)=PI+Mbtg·Pu(:,i)-Pd(:,i),i=1,2,…,6
(3)
(2) 速度運動學(xué)關(guān)系。
假設(shè)上鉸鏈點在FI坐標(biāo)系下的速度為Vu,該矢量為3×6的矩陣,則
Vu(:,i)=VI+ωs×Pu(:,i),i=1,2,…,6
(4)
結(jié)合式(1)中點的復(fù)合速度分析,Vu沿支腿方向的映射速度即為支腿的伸縮速度:
|vri|=Vu(:,i)·Pu2d(:,i)/|Pu2d(:,i)|,i=1,2,…,6
(5)
(3) 加速度運動學(xué)關(guān)系。
假設(shè)上鉸鏈點在FI坐標(biāo)系下的加速度為Au,該矢量為3×6的矩陣,則
Au(:,i)=AI+ωs×ωs×Pu(:,i)+αs×Pu(:,i),i=1,2,…,6
(6)
上鉸鏈點慣性系下的速度Vu沿垂直支腿方向的映射分量是由支腿的轉(zhuǎn)動產(chǎn)生的。假設(shè)支腿的角速度為ωt,ωt為3×6矩陣,結(jié)合式(1)可求得:
ωt(:,i)=Vu(:,i)×Pu2d(:,i)/|Pu2d(:,i)|,i=1,2,…,6
(7)
再結(jié)合式(2),可求得支腿的伸縮加速度:
|ari|=Au(:,i)·Pu2d(:,i)/|Pu2d(:,i)|-|Pu2d(:,i)|·|ωt(:,i)|2,
i=1,2,…,6
(8)
至此,完成了上平臺與支腿之間的運動學(xué)關(guān)系映射。
六自由度運動平臺的運動學(xué)正解是指根據(jù)支腿的位置、速度和加速度確定上平臺的位姿、速度和加速度的過程;而運動學(xué)逆解則是由上平臺的位姿、速度和加速度求解支腿的位置、速度和加速度的過程??梢詫⒘杂啥冗\動平臺看作是并聯(lián)結(jié)構(gòu)機器人,其運動學(xué)方程具有逆解容易、正解難的特點。
已知上平臺的位置、姿態(tài)、速度、加速度、角速度和角加速度,基于式(3)、式(5)和式(8),可以直接求得支腿的位置、伸縮速度和伸縮加速度,即完成運動學(xué)逆解,這里不再贅述。
4.2.1 位置正解
位置正解需要解決的問題可以描述為:已知運動系統(tǒng)的結(jié)構(gòu)參數(shù),給定6個作動筒的長度Lt(i),i=1,2,…,6,求解上平臺坐標(biāo)系原點位置PI=[x;y;z]和姿態(tài)Euler=[θ;φ;ψ]。對運動系統(tǒng)進行位姿正解是一個求解高階非線性方程組的過程[3]。
利用式(3),可得到以下方程組:
fi(x,y,z,θ,φ,ψ)=|PI+Mbtg·Pu(:,i)-Pd(:,i)|-Lt(i)=0,
i=1,2,…,6
(9)
則有一階泰勒展開式
可用矩陣表示為
0≈f(x(k))+J(x(k))(a-x(k))
解得:
a≈x(k)-J(x(k))-1f(x(k))
于是,就得到了牛頓迭代格式:
x(k+1)≈x(k)-J(x(k))-1f(x(k))
式中:J為雅可比矩陣。
當(dāng)f(x(k+1))滿足設(shè)定的誤差要求時,則認為此時的x(k+1)為位置正解,即平臺的位置和姿態(tài)。
4.2.2 速度正解
速度正解需要解決的問題可以描述為:已知運動系統(tǒng)的結(jié)構(gòu)參數(shù),給定6個作動筒的長度Lt(i)、伸縮速度|vri|,i=1,2,…,6,求解上平臺速度VI=[vxu;vyu;vzu]。
利用式(4)和式(5),得到下面方程組:
gi(vxu,vyu,vzu)=(VI+ωs×Pu(:,i))·Pu2d(:,i)/
|Pu2d(:,i)|-|vri|=0,i=1,2,…,6
(10)
式(10)包含6個方程式,利用廣義擬求解方法可以求得上平臺的速度VI=[vxu;vyu;vzu]。
4.2.3 加速度正解
加速度正解需要解決的問題可以描述為:已知運動系統(tǒng)的結(jié)構(gòu)參數(shù),給定6個作動筒的長度Lt(i)、伸縮速度|vri|、伸縮加速度|ari|,i=1,2,…,6,求解上平臺加速度AI=[axu;ayu;azu]。
利用式(6)~式(10),得到下面方程組:
hi(axu,ayu,azu)=Au(:,i)·Pu2d(:,i)/|Pu2d(:,i)|-
|Pu2d(:,i)|·|ωt(:,i)|2-|ari|=0,i=1,2,…,6
(11)
式(11)包含6個方程式,利用廣義擬求解方法可以求得上平臺加速度AI=[axu;ayu;azu]。
六自由度運動平臺的運動學(xué)解算過程如圖5所示。根據(jù)平臺的結(jié)構(gòu)參數(shù)和上平臺目標(biāo)運動參數(shù),經(jīng)運動學(xué)逆解得到支腿的位置、速度和加速度;利用運動學(xué)正解方程完成平臺位姿、速度和加速度的正解。
圖5 六自由度運動平臺運動學(xué)解算流程圖
以某運動平臺結(jié)構(gòu)參數(shù)為例,對六自由度運動平臺的運動學(xué)關(guān)系進行仿真建模和驗證。該運動平臺結(jié)構(gòu)參數(shù)如表1所示。
表1 某運動平臺結(jié)構(gòu)參數(shù)列表 單位:mm
仿真模型結(jié)構(gòu)如圖6所示。模型由運動學(xué)逆解模塊、作動系統(tǒng)、運動學(xué)正解模塊3個部分組成,模塊之間的關(guān)系如下。
圖6 六自由度運動平臺運動學(xué)模型結(jié)構(gòu)圖
① 運動學(xué)逆解模塊的輸入為平臺的目標(biāo)位置、速度、加速度、歐拉角、角速度和角加速度指令,經(jīng)運動學(xué)逆解解算后,得到支腿的作動指令。
② 作動系統(tǒng)根據(jù)作動指令驅(qū)動支腿運動,并可以通過電機編碼器得到支腿的實際位置、速度和加速度。
③ 將支腿運動狀態(tài)輸入運動學(xué)正解模塊,解算得到平臺的實際運動狀態(tài)。
為了驗證平臺的運動學(xué)關(guān)系,這里假設(shè)作動系統(tǒng)為無延遲的理想環(huán)節(jié),則平臺目標(biāo)運動指令值應(yīng)與運動學(xué)正解模塊解算得到的平臺狀態(tài)一致。
運動學(xué)模型中的運動學(xué)逆解模塊可以看作線性定常系統(tǒng),其解算速度很快。又因為速度和加速度正解方程也是線性的,因此重點對運動學(xué)位姿正解解算過程進行分析。
選擇3個不同的支腿長度狀態(tài)作為運動學(xué)正解模塊輸入,以平臺位于中立位作為迭代尋優(yōu)初值,尋優(yōu)過程如表2所示。其中狀態(tài)點1=[4795;4795;4795;3295;3295;3295],狀態(tài)點2=[3300;3581;4158;4521;3854;4029],狀態(tài)點3= [3500;4795;4500;3600;3800;4300]。
表2 運動學(xué)正解迭代尋優(yōu)過程
由表2可知,對于不同的支腿狀態(tài),經(jīng)5次迭代尋優(yōu)后,即可得到上平臺的位姿參數(shù)。尋優(yōu)耗時不超過2 ms,均方差小于1,完全滿足工程應(yīng)用實時性要求。
將迭代過程的均方差用圖形表示出來,如圖7所示,可以更好地展示尋優(yōu)收斂速度。事實上,經(jīng)過4次迭代后的解算精度已經(jīng)很高。
圖7 尋優(yōu)結(jié)果均方差隨迭代次數(shù)增加變化圖
采用牛頓迭代法進行位姿正解求解,不同的迭代初值會影響模型的解算效率。下面將通過選擇不同的迭代初值對迭代結(jié)果和效率進行分析。
假定迭代初值為上平臺圓心在下平臺坐標(biāo)系下的位姿,尋優(yōu)初值1=x(0)=(0,0,3000,0°,0°,0°)位于下平臺以下,即不在運動平臺包線范圍內(nèi)。尋優(yōu)初值2=x(0)=(0,0,-6000,0°,0°,0°)位于下平臺之上,同樣超過系統(tǒng)的包線范圍。尋優(yōu)初值3=x(0)=(0,0,-3147,0°,0°,0°)是平臺位于中立位時的上平臺位姿參數(shù)。針對狀態(tài)點1~狀態(tài)點3,采用不同的迭代初值進行解算,尋優(yōu)結(jié)果如表3所示。
表3 不同迭代初值的尋優(yōu)結(jié)果
由表3可知,不合理的初值設(shè)定(例如初值1),會導(dǎo)致尋優(yōu)結(jié)果不在運動系統(tǒng)包線范圍內(nèi);而將初值設(shè)定在下平臺之上的兩個狀態(tài)點,尋優(yōu)結(jié)果合理且唯一,初值與尋優(yōu)結(jié)果較近的狀態(tài)點尋優(yōu)時間略短,總體尋優(yōu)時間均不超過2 ms。
考慮飛行模擬器六自由度運動平臺的工作特點:平臺每次均從中立位開始運動,在洗出算法影響下選擇“初值3”,即平臺中立位的位姿作為迭代初值,原因如下:① 運動平臺的初始運動均從中立位開始;② 每完成一次突發(fā)運動,在洗出算法的影響下平臺會“悄悄”回到中立位[14-15]。因此,選擇中立位的位姿作為迭代初值可以最大限度地減少尋優(yōu)時間。
在進行運動平臺包線計算時,將6個支腿由最短到最長進行遍歷,由此求得上平臺的最大空間狀態(tài)即為平臺的運動包線。以單個支腿取100個特征點為例,則完成支腿的遍歷需要進行1006次計算。假設(shè)單次計算耗時1 ms,完成包線計算時間需要超過26萬小時。
筆者提出一種計算運動平臺包線的可行方案,即每個支腿只選擇最長、最短2個狀態(tài)進行遍歷,經(jīng)過26=64次計算,即可完成運動包線解算。
表4中的L為0代表最短支腿長度,1代表最長支腿長度。完成表4中運動系統(tǒng)的包線解算僅用時55 ms。由計算結(jié)果可知,本文建模所用的六自由度運動平臺縱向運動范圍為±1.5 m,側(cè)向運動范圍為±1.6 m,垂向運動范圍為±0.9 m。平臺的空間包線是其重要性能指標(biāo),一定程度上決定了平臺的運動能力。
表4 六自由度運動平臺空間包線
選取一組正弦波復(fù)合運動數(shù)據(jù)作為上平臺指令值輸入,經(jīng)運動學(xué)逆解模塊解算后,得到6個支腿的作動指令,經(jīng)作動系統(tǒng)后驅(qū)動上平臺運動。將上平臺的指令值與運動學(xué)正解模塊輸出值進行對比,如圖8~圖10所示。
圖8 平臺位置指令與響應(yīng)值對比
由圖9和圖10可知,平臺的指令值與響應(yīng)值完全一致,證明了所建立的六自由度運動平臺運動學(xué)關(guān)系正確。當(dāng)然,對于實際作動系統(tǒng),平臺指令值與響應(yīng)值之間將存在一定的延遲與偏差。
圖9 平臺速度指令與響應(yīng)值對比
圖10 平臺加速度指令與響應(yīng)值對比
通過引入點的復(fù)合運動理論,建立了平臺與支腿之間的位置、速度、加速度運動學(xué)關(guān)系。利用MATLAB/Simulink環(huán)境搭建了運動學(xué)模型,并設(shè)計了合理的驗證方法。仿真結(jié)果表明,所建立的運動學(xué)模型具有解算速度快、準(zhǔn)確度高等特點,可滿足工程實時解算需求。本文的創(chuàng)新點和貢獻如下:
① 針對六自由度運動平臺的非奇異結(jié)構(gòu)特點,選擇牛頓迭代法完成運動學(xué)位置正解求解;提出了一種合理的初值選擇方法,并證明了合理區(qū)域內(nèi)即使初值與尋優(yōu)結(jié)果差異較大,也可以完成算法的快速收斂。
② 分析指出采用遍歷的方法求得運動系統(tǒng)的包線非常困難,給出了一種可行的運動包線尋找方法,通過6個支腿的狀態(tài)組合完成了運動平臺空間包線的計算。
③ 在完成位置正解的基礎(chǔ)上,創(chuàng)新性地引入點的復(fù)合運動理論,利用解析的方法完成了六自由度運動系統(tǒng)速度和加速度正解,為作動系統(tǒng)伺服電機控制引入了更多的控制參數(shù),有助于提高控制精度。