楊 光, 陳祝平, 肖 煒
(集美大學機械工程學院,福建 廈門 361021)
目前,水藻對水質污染和生態環境的破壞現象日益嚴重,引起國內外的廣泛關注。加拿大、韓國、日本等國都開發了專門從事回收海面或江面水藻的環保船,江蘇省航道局與江蘇省船舶設計研究所共同開發的60噸打撈船[1]。這些機械打撈設備都是大型的,在相對比較小的湖泊中較難應用。小型清藻機的研制對于清理小型湖泊的水藻相對于人工可以節省大量的人力資源,在環境保護方面起到重要作用。
清藻機為單臂多關節結構,其打撈作業依靠各關節和耙爪的運動實現,其運動準確性和效率成為打撈作業的重要因素。3ds max是享譽世界的一款功能強大的三維動畫軟件,可以方便地實現三維視頻效果,它與同類的動畫設計軟件相比有許多獨特的特點:更為便利的動畫制作,更為簡潔的材質動畫,豐富方便的造型功能和制作特技動畫的功能[2-3],適合清藻機的運動分析。
本文利用CAXA軟件對結構進行建模,并基于多關節反向運動學,研究小型機械打撈裝置運動,包括在3ds max程序中對其運動結構進行分層次,形成IK鏈,完成多關節連接的運動仿真。
清藻機主要部件為底座、大臂固定盤、大臂、小臂和耙爪,大臂的俯仰通過安裝在底座上的大臂液壓油缸和大臂活塞桿驅動,小臂的俯仰通過安裝在大臂上的小臂液壓油缸和小臂活塞桿驅動,耙爪的俯仰由安裝在小臂上的耙爪液壓油缸和耙爪活塞桿以及兩個連桿來實現。清藻機零部件和靜態裝配模型在CAXA軟件中完成。首先,在CAXA軟件中逐個建立清藻機系統零件模型,包括清藻機的大臂、小臂、耙爪和液壓油缸等并用鉸鏈連接,保證被連接部件只具有一個繞鉸鏈銷軸中心旋轉的自由度,并進行干涉檢查。機構的伸展長度設計為約3米,以保證打撈范圍。清藻機典型零件圖如圖1所示,裝配體如圖2所示。
CAXA實體設計軟件支持內核級、通用級和其他CAD軟件3個層次的零件格式,種類較多,利用 CAXA建模之后,文件以“*.3ds”格式輸出到3ds max軟件中,以便完成運動仿真。在輸出時,輸出視向、輸出光源和輸出背景3個環境選項無需進行輸出,因為這3個因素在導入3ds max中以后對仿真結果沒有影響,但會造成操作的復雜不便。

圖1 清藻機零件模型

圖2 清藻機裝配模型
反向運動IK是在一個鏈級對象中可以由子級對象的移動控制父級對象的旋轉,如果給子級對象的動作創建關鍵幀,則父級對象會自動產生關鍵幀。反向運動將機器的運動類似于鏈接的骨骼運動,從執行裝置即末端來控制機器的運動。在層次關系上,用子對象來帶動父對象的運動,可實現復雜運動軌跡的仿真,在設置物體朝向目標對象運動的動畫時,非常有效,是現代設計中的先進方法。反向運動可以通過調整幾個關節的姿勢來確定機構在不同關鍵幀處的姿勢,進一步利用解析法或迭代法在這些關鍵幀之間自動進行插值計算[4-6]。IK系統與骨骼系統相結合,設計真實的的人物骨骼、動物骨骼以及機械運動時,體現出不可替代的優勢。清藻機工作對象為海面浮萍等植物,反向運動鏈為:耙爪→小臂→大臂→大臂固定盤→底座。
反向運動首先要建立研究對象的層級關系。層級是對象之間的一種層次關系,這種關系分不同級別,就好比一個人,由頭、四肢、軀體等部位組成,而四肢又由手腕、手臂、大腿、小腿、腳等部分組成。在一次運動中,例如屈臂動作,上臂的運動帶動了小臂的運動,進而帶動了手的運動,這就是一種層次關系[6]。在建立清藻機的層次關系時,將連桿,活塞桿及油缸忽略,這樣層次較簡單,同時不影響表現整個運動過程。清藻機的層次關系如圖3所示。
層次關系建立后,首先要進行軸點的設置,將各個部件的旋轉軸點調整到正確的位置,調整后如圖4所示。

圖3 層級設置

圖4 調整軸點
IK解算器的工作方式為:IK 鏈的末端是目標,隨時重新定位目標或設置目標動畫時可以采用鏈接、參數關聯或約束,無論目標如何移動,IK解算器都嘗試移動鏈中最后一個關節的樞軸(終端效應器),以便滿足目標的要求。IK解算器可以對鏈的部分進行旋轉,以便擴展和重新定位終端效應器,使其與目標相符。3ds max提供了 4個 IK解算器插件,分別為歷史獨立型 HI(History-Independent)解算器、歷史依賴型HD(History-dependent)解算器、IK肢體解算器、樣條線IK解算器[3]。
HI解算器在時間上不依賴于上一個關鍵幀計算得到的 IK 解決方案,因此無論在第 2000幀處還是在第 10 幀處使用 HI 解算器,其速度都一樣快。對于大部分的動畫 HI解算器是首選的解決方案,它能夠實時地計算 IK的值。用法是選擇一個骨節后,選擇 Animation>IK Solver>HI Solver命令,然后點擊另一個骨節,如果選擇的是原骨節的子級,則在子級骨節的起始端會出現一個藍色的控制柄,如果點擊的原骨節的父級,那么控制柄會出現在原骨節的起始端。移動這個藍色的控制柄,其父級的骨節會產生旋轉,它的子級骨骼跟隨它移動。一個骨骼鏈上可以有多個HI解算器,刪除控制柄就可以刪除當前的IK設定。清藻機運動仿真采用HI解算器,選擇耙爪,依次設置IK解算器,HI解算器,再選擇大臂,就做出了一條IK鏈。
利用“自動關鍵點”設置關鍵點動畫是最基本、也是最常用的一種動畫制作方法,通過啟動“自動關鍵點”按鈕開始創建動畫,然后在不同時間點上更改對象的位置、進行旋轉或縮放,或者更改任何相關的設置參數,都會相應的自動創建關鍵幀并存儲關鍵點值。
清藻機運動仿真的時間長度設置為800幀。然后定義初始姿態:點擊自動關鍵點,選中 IK鏈后,進行X、Y、Z方向的移動,然后選中耙爪,利用旋轉操作對耙爪進行旋轉,這樣就設定好0幀時的姿態。清藻機的初始狀態如圖5(a)所示。
清藻機運動仿真是耙爪通過IK鏈進行X、Y、Z方向的移動以及通過銷完成自身的旋轉。在各關鍵幀處依次實現機構的伸展運動,打撈動作,收回動作,卸料動作及歸位動作等。關鍵動作為:
在60幀處,設置關鍵點,選中IK鏈,控制IK鏈沿X軸向前移動,沿Z軸向下移動,實現機構的伸展運動。選擇耙爪,利用旋轉操作控制耙爪繞Y軸向下旋轉運動。在120幀處,設置關鍵點,選中IK鏈,控制IK鏈沿X軸向前移動,沿Z軸向下移動。選擇耙爪,利用旋轉操作控制耙爪繞Y軸向上旋轉運動。這兩個關鍵點表示的是打撈前機構的伸展過程。
在180幀處,設置關鍵點,選擇耙爪,利用旋轉操作控制耙爪繞Y軸向上旋轉運動。選中IK鏈,控制IK鏈沿X軸向后移動,沿Z軸向上移動。此處完成的是打撈動作。
在240幀處,設置關鍵點,選擇IK鏈,控制IK鏈沿X軸向后移動,沿Z軸向上移動,實現機構的收回動作。
在300幀處,選擇IK鏈,拉至360幀處,繼續移動IK鏈,并選擇耙爪進行旋轉運動,防止打撈出的垃圾掉出。
在500幀處,選擇IK鏈,按鈕使機構沿X、Z軸運動到后卸的正確位置,選擇耙爪進行旋轉運動,實現垃圾的后卸動作。
卸料動作完成之后,要使機構回到最初的位置,將時間滑塊拉至500幀處,選擇IK鏈,控制IK鏈沿X軸向前、Z軸向下的運動。在600幀、700幀和750幀處IK鏈的運動操作類似。在750幀和795幀處選擇耙爪旋轉,使機構回到最初的位置,這樣就完成了清藻機打撈作業過程的運動仿真,其關鍵幀動作如圖5所示。
若需要清藻機完成其他方位的打撈工作,可以對大臂固定盤實施繞豎直軸的轉動動作。使用HI 解算器做運動仿真時,如果發現動作不平滑,可以增加迭代次數或者降低閾值來平滑動作。

圖5 清藻機作業過程仿真
“曲線編輯器”可以記錄和編輯仿真運動的軌跡[3]。IK鏈的位置軌跡如圖6所示。軌跡視圖的水平坐標為幀數,豎直坐標為位置尺寸,直線表示的是IK鏈Z位置的軌跡。曲線上的點表示人為設置的關鍵點。兩條曲線分別表示IK鏈X位置和Y位置的軌跡,是通過幀數和位置尺寸拾取關鍵點并通過插值完成的。圖7為耙爪在三維場景中的運動軌跡。

圖6 IK鏈位置軌跡

圖7 耙爪軌跡
通過軌跡曲線,可以查看整個運動狀態或分析比較不同構件的運動特征。如果需要查看任意點的時間和位置,可以在軌跡曲線上直接插入新的關鍵點,非常方便。
本文通過 CAXA設計軟件建立清藻機的三維模型、組裝零件和進行干涉檢查,通過3ds max軟件建立層次鏈接,利用多關節反向運動學對清藻機進行運動仿真分析,表達出 IK鏈的運動軌跡,為分析清藻機打撈作業過程及進一步優化設計提供了依據。同時,還可以完成產品的動畫制作、產品展示、廣告設計等工作,具有良好的實用性。
[1]唐一平. Advanced manufacturing technology [M]. 北京: 科學出版社, 2000: 78- 95.
[2]陳 敏, 沈耀仁. 三維建模與三維動畫仿真技術的應用[J]. 機械設計與制造, 2005, (8): 143-144.
[3]Murdock K L著. 3dsMax9寶典[M]. 田玉敏等譯.北京: 人民郵電出版社, 2008: 212-295.
[4]吳志敏, 熊 銳. 工業機械手運動學仿真[J]. 裝備制造技術, 2009, (1): 20-21.
[5]王毅剛, 吳子朝, 陳曉雕. 一種解析的反向運動學方法[J]. 計算機應用研究, 2009, 26(6): 2368-2373.
[6]陳偉海, 陳泉柱, 張建斌, 等. 線驅動擬人臂機器人逆向運動學分析[J]. 機械工程學報, 2007, (4):12-20.