杜黎童,荊學東,王旭飛,李 誠
(1.上海應用技術(shù)大學機械工程學院,上海 200000;2.上海應用技術(shù)大學電氣與電子工程學院,上海 200000)
并聯(lián)機構(gòu)由于具有很高的剛度、準確的定位能力,且負載能力大,已經(jīng)被廣泛地應用在飛機裝配[1]和并聯(lián)機床[2]等各個領域。目前,國內(nèi)外對六自由度并聯(lián)平臺的研究都比較多,而很多的研究對象都是基于Stewart D 在1965 年提出的用作飛行模擬器的六自由度的平臺[3]。
并聯(lián)平臺的運動性能對整個機構(gòu)的應用有很大的影響。并聯(lián)機器人的逆運動學通常是比較容易求解的,而正運動學一般是很復雜的[4-9]。本文通過牛頓- 歐拉法建立機構(gòu)的動力學模型,并且通過Adams 仿真驗證理論模型的正確性,通過建立逆動力學控制模型,引入Adams/Control 模塊,在Matlab的Simulink 模塊中搭建控制程序,進行軌跡跟蹤的聯(lián)合控制仿真。
基于Stewart 建立的并聯(lián)機構(gòu)的三維模型如圖1 所示,包括動平臺(上平臺)、靜平臺(下平臺)、6個結(jié)構(gòu)相同的支鏈。
圖1 并聯(lián)平臺坐標系Fig.1 Coordinate system of parallel platform
圖2 繞移動坐標系{B}的x 軸旋轉(zhuǎn)Fig.2 Rotation of axis x around the moving coordinate system{B}
其中,靜平臺與支鏈通過虎克鉸連接,動平臺與支鏈通過球副等效結(jié)構(gòu)(虎克鉸加一個轉(zhuǎn)動副)連接。動平臺的位置和姿態(tài)是由6 條支鏈的伸縮來改變的。在靜平臺中心建立坐標系{A},在動平臺中心建立坐標系{B}。下鉸鏈點Ai在靜平臺的坐標用向量ai表示,上鉸鏈點Bi在動平臺的坐標用向量bi表示。
圖3 繞移動坐標系{B'}的y'軸旋轉(zhuǎn)Fig.3 Rotation ofaxis y' around the moving coordinate system{B'}
圖4 繞移動坐標系{B''}的z''軸旋轉(zhuǎn)Fig.4 Rotation of z''axis around the moving coordinate system{B''}
本文采用的是旋轉(zhuǎn)矩陣的方法描述上平臺的姿態(tài)。在旋轉(zhuǎn)開始前,移動坐標系{B}的初始方位與固定坐標系{A}重合,先將{B}繞x 旋轉(zhuǎn)α 角度,此時的移動坐標系記作{B'},再將{B'}繞y'旋轉(zhuǎn)β 角度,此時的移動坐標系記作{B''},最后將{B''}繞z''旋轉(zhuǎn)角度,得到最終的移動坐標系{B}。
最終可以得到,坐標系{B}相對于坐標系{A}的姿態(tài)為
其中,cα 是cosα 的簡寫,sα 是sinα 的簡寫,以此類推。
并聯(lián)機構(gòu)的運動學分析涉及機構(gòu)運動幾何關(guān)系的研究,不考慮引起運動的力和力矩。正向運動學分析的是已知各支鏈的桿長,求解運動平臺的位置和姿態(tài);逆向運動學分析的問題是假設運動平臺的位置和姿態(tài)是已知的,求解各個支鏈的長度。
每條鏈的封閉環(huán)方程為:
本文求解并聯(lián)平臺動力學方程采用的是牛頓-歐拉法,它是機器人學中用于求解并聯(lián)機械臂動力學方程的最為流行的方法。牛頓-歐拉法考慮了所有支鏈以及動平臺,并且應用于每一個獨立的個體。首先列出支鏈的Newton-Euler 方程,將支鏈的速度,加速度帶入方程,得到各支鏈對動平臺的作用力;再分析動平臺的動力學問題,本文假設動平臺受到的外力Fd和外力矩nd為0,最后將支鏈的動力學方程與動平臺的動力學方程結(jié)合,可以消去支鏈對動平臺的作用力fbi這個內(nèi)部力,得到整個并聯(lián)平臺的封閉式動力學方程。動平臺的受力分析圖和支鏈的受力分析圖如圖5 和圖6 所示。
圖5 動平臺的受力分析圖Fig.5 Force analysis diagram of moving platform
圖6 支鏈的受力分析圖Fig.6 Force analysis diagram of branch chain
由文獻[10]可知,利用Newton-Euler 法得到的Stewart 并聯(lián)機構(gòu)的封閉式動力學方程如下所示:
其中,
逆動力學控制(inverse dynamics control,IDC)可以明顯削弱并聯(lián)機構(gòu)的非線性和耦合特性,從而提高線性控制器的性能[11]。圖7 為并聯(lián)平臺IDC 的控制器框架,在閉環(huán)系統(tǒng)在增加了修正力Ffl,它是由動力學模型中的科氏力和離心力矩陣以及重力向量得到的。在前饋系統(tǒng)中增加了期望軌跡的加速
圖7 逆動力學模型控制框圖Fig.7 Control block diagram of inverse dynamics model
并聯(lián)平臺的閉環(huán)動態(tài)方程可以寫成如下形式:
因為動態(tài)矩陣是由并聯(lián)平臺的反饋值計算得到的,因此,動態(tài)矩陣等于實際的M、C、G,即。此時,并聯(lián)平臺的閉環(huán)動態(tài)方程可以簡化成如下形式:
從此方程可以看出,誤差的動態(tài)特性為二階系統(tǒng)。因為質(zhì)量矩陣在所有系統(tǒng)狀態(tài)下都是正定的,因此,動態(tài)方程可以寫為:
通過選擇合適的PD 控制器增益,控制系統(tǒng)可以具有更快的暫態(tài)響應和更小的穩(wěn)態(tài)誤差。
本文分析的六自由度并聯(lián)機構(gòu)是通過SolidWorks 建模,裝配后,另存為*.X_T 格式后導入的,導入完成后,利用連接工具庫添加需要的約束,使各個構(gòu)件聯(lián)接成一個機械系統(tǒng)。
設置材料屬性,將上平臺和每條鏈的上下部分都設置為不銹鋼材料,則上平臺的質(zhì)量為m=0.815 kg,支鏈的上半部分質(zhì)量為mi2=0.14 kg,支鏈的下半部分質(zhì)量為mi1=0.82 kg。
在模型的上平臺質(zhì)心處,施加點運動(general point motion),可以實現(xiàn)空間六自由度的運動,如圖8 所示。參考點(reference point)選擇地面或靜平臺上的點,設置運動類型(type)為位移(disp),設置運動方程。定義模型的上平臺沿Z 方向做幅值為10 mm、頻率為1 Hz 的正弦運動,即位移函數(shù)為:
將仿真的結(jié)束時間(end time)設置為一個運動周期1 s,仿真步數(shù)(Steps)設置為100 步。建立點到點的測量,選擇上鉸鏈中心點到下鉸鏈中心點。因為是沿z 軸方向的正弦運用,所以如圖9 所示,6 條鏈的長度隨時間的變化是一樣的。
圖9 運動學仿真的6 條鏈的長度曲線Fig.9 The length curve of 6 chains simulated by dynamics
為了驗證仿真模型的正確性,將仿真模型的結(jié)構(gòu)參數(shù)以及運動函數(shù)帶入到運動學逆解的理論模型中,得到鏈長變化曲線如圖10 所示。
圖10 Matlab 計算的鏈長變化曲線Fig.10 chain length variation curve calculated by matlab
將Matlab 編程得到的鏈長變化的理論結(jié)果與仿真結(jié)果進行做差,得到誤差曲線如圖11 所示,可以看到鏈長誤差在10-3mm 的量級,說明理論結(jié)果與仿真結(jié)果在每一時刻的鏈長是一樣的,因此,說明虛擬樣機模型是正確的。
圖11 鏈長變化的誤差曲線Fig.11 Error curve of chain length variation
將上節(jié)中仿真得到的6 條支鏈的長度變化曲線添加依次添加為樣條函數(shù)。
在后處理模塊(post processor)中,選擇將曲線創(chuàng)建樣條曲線按鈕,這樣可以得到6 個樣條曲線函數(shù):SPLINE_1~SPLINE_6。然后將在動平臺上添加的點驅(qū)動設置為失效(deactivate),再在每條支鏈的移動副上添加移動驅(qū)動MOTION_1~MOTION_6。設置每個驅(qū)動的驅(qū)動函數(shù)依次為 AKISPL(time,0,SPLINE_1,0),…,AKISPL(time,0,SPLINE_6,0),如圖12 所示。
圖12 設置驅(qū)動函數(shù)Fig.12 Driving parameter setting
在每個驅(qū)動上添加力測量,設置仿真時間1 s,步長為100,運行仿真,可以得到平臺產(chǎn)生相應運動所需要的驅(qū)動力,如圖13 所示,并與在matlab 中計算的驅(qū)動力作對比,如圖14 所示,得到對比的誤差曲線,如圖15 所示。
圖13 動力學仿真各支鏈的驅(qū)動力Fig.13 Driving force of each branch chain simulated by dynamics
圖14 Matlab 計算的各支鏈的驅(qū)動力Fig.14 Driving force of each branch chain calculated by matlab
圖15 各個支鏈的驅(qū)動力誤差曲線Fig.15 Driving force error curve of each branch chain
從驅(qū)動力誤差曲線可以看到,仿真結(jié)果與理論計算的結(jié)果基本相同,驅(qū)動力誤差在10-2N 量級,因此,可以證明根據(jù)本文并聯(lián)機構(gòu)建立的動力學模型是正確的。
本文通過ADAMS 和Simulink 搭建機電聯(lián)合控制仿真系統(tǒng),ADAMS 進行系統(tǒng)方程的解算,并且提供機械系統(tǒng)的輸入、輸出數(shù)據(jù)接口,Simulink 實現(xiàn)對控制方程的解算,并且負責接收ADAMS 的求解結(jié)果。在求解過程中,每隔一段時間兩者進行一次數(shù)據(jù)交換[12]??刂葡到y(tǒng)的框圖如圖16 所示。
圖16 ADAMS/Simulink 聯(lián)合控制框圖Fig.16 Joint control block diagram of adams/simulink
打開Adams/Control 模塊,在輸入框中添加的是施加在6 條支鏈上的驅(qū)動力,輸出框中添加的是上平臺的線位移和線速度,以及角位移和角速度,如下頁圖17 所示。
圖17 ADAMS/Control 輸入、輸出接口Fig.17 Input and output interface of adams/simulink
打開Matlab,在命令窗口輸入命令adams_sys,該命令是ADAMS 和Matlab 的接口命令。保留adams_sub 模塊,根據(jù)逆動力學模型創(chuàng)建需要的函數(shù)模塊,在simulink 庫中添加PID 模塊以及生成矩陣和可視化模塊,最終搭建的整個系統(tǒng)的控制流程圖,如圖18 所示。
圖18 Simulink 逆動力學控制流程圖Fig.18 Inverse dynamics control flowchart of simulink
本文所進行的算例是,上平臺1 s 內(nèi)沿z 軸的平移30 mm,同時繞z 軸旋轉(zhuǎn)30°。
其直線位移隨時間變化的曲線方程為
其角位移隨時間變化的曲線方程為
最終的仿真結(jié)果如下頁圖19 和20 所示,圖19為沿z 軸位移的期望軌跡和實際軌跡圖,圖20 為繞z 軸旋轉(zhuǎn)的期望軌跡與實際軌跡圖。從兩張圖中可以看到,無論是平移還是旋轉(zhuǎn),并聯(lián)平臺在逆動力學模型控制下,都能夠很好地跟蹤期望軌跡。
圖19 沿z 方向位移的軌跡跟蹤圖Fig.19 Trajectory tracking diagram of shifting along z direction
圖20 繞z 軸旋轉(zhuǎn)的軌跡跟蹤圖Fig.20 Trajectory tracking diagram of rotating around axis z
圖21 是沿z 軸方向移動的軌跡跟蹤誤差,圖22 是繞z 軸轉(zhuǎn)動的軌跡跟蹤誤差。
圖21 平移的跟蹤誤差圖Fig.21 Tracking error diagram of shift
圖22 旋轉(zhuǎn)的跟蹤誤差圖Fig.22 Tracking error diagram of rotation
由跟蹤誤差圖可以看到,無論平移方向的誤差,還是旋轉(zhuǎn)方向的誤差都在10-2量級,說明利用逆動力學控制模型可以達到很好的路徑跟蹤效果,對其應用在火炮跟蹤,穩(wěn)定調(diào)姿方面提供了堅實的理論基礎。
為驗證六自由度并聯(lián)穩(wěn)定平臺在路徑跟蹤方面的快速調(diào)姿性能及其準確性,本文采用ADAMS多體動力學和運動分析軟件,對建立的并聯(lián)機構(gòu)模型進行分析,并且結(jié)合Simulink,驗證所建立的動力學模型。然后采用逆動力學控制模型,引入Adams/Control 模塊,并結(jié)合Simulink 進行路徑跟蹤的聯(lián)合仿真。最終結(jié)果表明,該控制模型可以實現(xiàn)很好的路徑跟蹤控制。
該仿真方法可以實現(xiàn)參數(shù)化建模,無需繁雜的公式推導及計算,可以實現(xiàn)運動參數(shù)測量以及運動可視化,以及對后續(xù)的結(jié)構(gòu)優(yōu)化、搭建六自由度穩(wěn)定平臺的物理樣機和火炮系統(tǒng)的跟蹤控制提供了理論基礎。