賈慶浩, 李嘯雋, 劉 林
(華南理工大學設計學院,廣東 廣州 510640)
Stewart平臺機構是運動仿真平臺中最著名的一種6自由度并聯機構平臺,如圖1所示。本文所建立的Stewart 平臺機構,包括驅動機構(液壓缸),負載平臺和基臺,6個可伸縮的支腿,負載平臺和導桿之間使用6個球鉸連接,基臺和液壓桿之間使用6個虎克鉸連接。通過6個支腿的伸縮運動可以實現負載平臺在工作空間范圍內的6自由度運動,具有精度高、剛度大、結構穩定、承載能力強、運動慣量小、動態特性好等優點[1]。
機器人反解算法復雜,計算量大。文獻[2]構建了一個 Stewart原型仿真平臺,單純采用反解算法,通過計算上鉸鏈點的坐標,生成旋轉矢量,并將導桿和液壓桿旋轉平移到指定位置實現動態裝配。文獻[3]對該平臺極限位姿下的狀態進行了仿真,但并未對反解算法的優化做深入分析。這些研究都具有重要的價值,然而在提升仿真效率方面,國內報道甚少。

圖1 Stewart平臺示意圖
本文采用優化后的方法,建立了一個基于VRML的Stewart機構仿真平臺,該仿真平臺的效率相比于原系統有很大提升,對加速 Stewart機構的開發提供了幫助。用戶可以實時觀察Stewart平臺的運動過程,對其空間運動情況做出分析。在完成通用平臺基本核心功能的同時,JavaScript控制臺輸出的反饋數據可以作為平臺的結構設計參考。
VRML具有很好的構建虛擬環境的能力,但在三維實體建模方面的功能不完善。本文采用首先在SolidWorks中初步建模,導入VRML環境后再進行修改的方法,這種方式快捷、直觀,也比較高效。
Stewart平臺的姿態描述采用多剛體的旋轉坐標法,通過負載平臺繞坐標軸旋轉參數與平移參數來求得6個支桿(導桿與套筒)的長度。活動坐標系R′固定在負載平臺中心位置,隨負載平臺變化,固定坐標系R固定在基臺中心。如圖2所示,固定坐標系R和活動坐標系R′間的矢量可以通過方向余弦矩陣Q[4]來轉化,基于以上原則建立的轉換矩陣為

Bi為負載平臺各鉸鏈點在活動坐標系R′下的坐標, Pi為負載平臺相對于基臺的平移矢量,從而負載平臺各鉸鏈坐標可表示為


圖2 坐標轉換示意圖
在 VRML中,由于沒有真實的物理環境,通過運動學反解出支桿的長度之后,還必須再求得每個導桿和套筒的位姿,這樣必然造成計算效率降低。在這里,提出一種優化辦法,其原理如圖3所示。預定義6個引線節點c1-c6,引線節點的方向由 point[-1,-1,0]和 point[-1,1,0]這兩個點唯一確定,即沿y軸正向。由于剛導入到VRML環境中的平臺各部分之間運動約束尚未添加的緣故,各導桿和套筒方向均與y軸平行,本文以v1表示初始化后的導桿和套筒方向。系統運行后,為了獲得支桿的位姿和長度,首先通過 ga(即是負載平臺和6個鉸鏈的組合)的 rotation(旋轉)與 translation(平移)兩個域的改變值計算負載平臺上6個鉸鏈的坐標a1-a6。然后求解 a1、b1兩點間的距離是否處于桿長最長值與最短值之間,若條件符合,就將兩個新的坐標點a1和b1的值傳遞給預定義的引線節點c1的坐標,以動態更新預定義的引線節點的方向。然后以引線節點的新方向為基準轉動導桿和套筒至下一位置,根據上鉸鏈的位移來移動導桿。套筒(tt1)的一端固定在 b1點,并不需要移動,其轉動由v1向量轉至-c1向量。導桿(gg1)的上端跟隨負載平臺移動,其轉動為v1向量至c1向量,與tt1轉動方向相反。采用動態更新的引線節點后,導桿和套筒就可以快速旋轉至引線的新方向,提高了計算效率。其流程如圖4所示。

圖3 優化原理示意圖

圖4 優化原理流程圖
VRML不能進行精確的數學計算,運動學反解部分通過JavaScript實現。為了實現控制功能,本文基于運動學反解原理開發了控制模塊,控制流程如圖5所示。用戶對負載平臺進行操作,反解模塊自動地做運動學反解并判斷桿長條件,若符合條件,就賦與6個支桿的位姿和長度。為便于對仿真數據做分析,系統在JavaScript控制臺中實時輸出6個上鉸鏈點的坐標和6個支桿的長度。此外,還提供了仿真動畫接口,為將來的仿真工作提供一個平臺。
Script節點是數據在VRML和JavaScript進行通信的橋梁[5-6],事件到達Script的eventIn入口,經過Java程序解釋后,在通過eventOut返回值。為了實現仿真過程,必須定義好路徑,將JavaScrip與VRML之間的參數進行相互傳遞,它們的數據類型必須是一致的[7]。路徑的設置是關鍵的一個部分,VRML中的域分為field(私有域)和exposedfield(公共域),其中公共域可以通過引用節點在JavaScript里面直接操作,私有域只能通過路徑加上定義原節點的方法改變。交互路徑如圖6所示。

圖5 程序控制流程示意圖

圖6 主交互路徑圖
通過JavaScript與VRML的交互,實現了機器人運動的反解優化。部分程序如下:
DEF yingxian1 Shape {
#定義部分
geometry IndexedLineSet {//定義引線


傳統的Stewart平臺反解計算在求解出支桿的長度后,采用與上文類似的方法獲得支桿新位姿的方向向量,再讓導桿和套筒旋轉到新的方向,但未采用動態更新引線節點的方式來獲取新的方向。Stewart平臺的位姿有無數種,顯然一一列舉每種情況下的插補效果不現實。為了驗證2種方法的差異性,初始化一組位姿,通過JavaScript控制臺,將位姿數據導入Matlab進行分析,得到桿件的長度變化與插補次數曲線。圖7分別為未使用、已使用引線引導方法的桿件長度與插補次數變化曲線。通過兩者的對比,可以發現,在保證插補精度基本不變的情況下,插補次數從先前的167次下降到了85次左右,降幅達49.1%。由此得知,經過優化后的方法提升了仿真系統的仿真效率。

圖7 優化前后插補次數對比圖
完成后的仿真界面如圖8所示。拖動其中的X、Y、Z、X_R、Y_R、Z_R滑塊分別可以實現平臺沿 XYZ軸的平移與轉動,也可以直接拖動平臺。而瀏覽器自帶的JavaScript控制臺可實時輸出平臺的6個位姿參數與6根導桿的長度,這些參數可以對Stewart的結構設計提供指導。

圖8 仿真界面圖
本文以Stewart機器人平臺為例,基于VRML編程語言實現該型平臺的運動學仿真。在實現運動學的過程中,采用動態更新 VRML的IndexedLineSet節點的方式,為機構的位姿提供引導。分析結果表明該方法有很高的效率,說明模型結構合理,實現仿真的思想具有一定的應用價值??傊?,現代編程思想利用于工程實踐,進行產品的仿真,可以大大提升仿真的效率,對于縮短產品的研發周期、減少開發費用具有重要意義。
[1] Stewart D A. Platform with six degrees of freedom [J].Proc Inst Mech Engrs,1965,180(15): 371-386.
[2] 姜洪洲,趙 慧,韓俊偉,等. VRML在6自由度并聯機器人設計中的應用[J]. 中國機械工程,2003,14(11): 920-923.
[3] 馬建明,何景峰,熊海國,等.飛行模擬器極限位姿的可視化仿真分析[J]. 計算機仿真,2010,27(9):235-238.
[4] 黃 真. 并聯機器人機構學理論與控制[M]. 北京:北京出版社,1997: 36-38.
[5] 孔令富,史慶周,崔 凱. Stewart并聯機器人仿真系統的實現[J]. 計算機仿真,2003,24(5): 94-96.
[6] 汪興謙. VRML與Java編程實例講解[M]. 北京: 中國水利水電出版社,2001: 83-88.
[7] 管貽生. Java高級實用編程[M]. 北京: 清華大學出版社,2004: 324-325.