雷朋豪
(長安大學工程機械學院,陜西 西安 710064)
在機械系統(tǒng)的運動學和動力學仿真分析領域,常見的仿真分析軟件是ADAMS和ANSYS。在進行機器人樣機調(diào)試之前,為了降低調(diào)試難度,解決算法中可能存在的一些問題,根據(jù)實際應用需求需要將機械結(jié)構(gòu)當作剛性系統(tǒng)來處理,所以采用ADAMS作為仿真工具進行運動仿真分析[1]。本文中的機械臂可以看作是機器人的單腿,在對整機進行運動仿真之前,有必要對單腿首先進行仿真分析。本文通過ADAMS和Matlab的聯(lián)合仿真,初步建立了機械臂和外界環(huán)境的交互模型[2]。
在仿真之前,需要結(jié)合模型推導出機器人的正運動學和逆運動學公式。正運動學是已知關節(jié)轉(zhuǎn)角,借助旋轉(zhuǎn)矩陣通過一系列姿態(tài)和位置變換,最終得到足端位置的表達式。在自適應控制中,已知角度傳感器反饋回的角度通過正運動學求解機器人的實際足端位置,對機器人的閉環(huán)控制具有重要意義。逆運動學和正運動學相反,是已知足端位置,借助幾何法或者數(shù)值法求得的關節(jié)角度函數(shù),多用于機器人的位置控制[3-6]。進行機械臂的運動控制仿真首先需要完成運動學分析,這是軌跡規(guī)劃和運動控制的基礎。本文所用到的四自由度機械臂簡化模型如圖1所示。
圖1 四自由度機械臂簡化模型
根據(jù)機器人學[7],機械臂各連桿坐標系間的變換矩陣為:
將D-H模型參數(shù)代入變換矩陣,得到連桿i-1(i=1,2,3,4)變換到連桿i的坐標變換矩陣
根據(jù)定義的關節(jié)各坐標系及相應的連桿參數(shù),可以直接建立運動學方程。將得到的變換矩陣和末端在最后一個關節(jié)坐標系中的位置向量相乘即得到相對于根關節(jié)坐標系{0}的坐標:
根據(jù)文獻[8]的描述,四自由度機械臂的末端位置和方向不同會導致轉(zhuǎn)角的不同,所以求解逆運動學問題的方程通常是非線性的,因此,并不總能找到一個封閉形式的解決方案。
對此,結(jié)合我們的實際模型和實際場景應用要求,通過添加一個垂直約束,即可以求得唯一的四個轉(zhuǎn)角1θ、2θ、3θ、4θ,其中,2θ<0,3θ>0,4θ>0。
軌跡規(guī)劃是機器人運動控制中非常重要的一部分,合理的軌跡規(guī)劃能很大程度上減少機器人的沖擊和震動,對提高機器人的穩(wěn)定性、可靠性有非常重要
的作用。本文采用四次樣條曲線,已知機械臂相對于根關節(jié)坐標系的初始位置、終止位置、初始時間、終止時間、中間時刻的位置、初始點速度和終止點的速度[9],即可實現(xiàn)擺動相方程的聯(lián)立,完成機械臂的擺動相軌跡規(guī)劃。軌跡函數(shù)如式(3)(4)(5):
Matlab中的擺動相軌跡如圖2所示:
圖2 四次樣條曲線軌跡
為了初步驗證算法的正確性,模擬在實際環(huán)境中機器人的穩(wěn)定性和可靠性,需要將算法和機器人的虛擬樣機通過聯(lián)合仿真的方式聯(lián)系起來。
在SolidWorks中建立好四自由度機械臂的三維模型之后,另存為Parasolid格式的.x_t文件。然后把.x_t文件導入ADAMS中,保存為.bin格式的數(shù)據(jù)庫文件;在ADAMS中,先要對各Part進行重命名,這是因為在SolidWorks中可能對同一個零件進行了多次裝配。將所有零件重命名之后刪除掉另外的重復零件,然后按照實體中的零件名稱進行命名;最后將能固連在一起的零件通過布爾運算合并在一起,合并在一起的零件成為了一個part,不能合并在一起的但是又得保證在運動中沒有相對運動的,用固定副進行固連。
首先,在添加旋轉(zhuǎn)副之前要更改工作格柵,確保旋轉(zhuǎn)副軸線垂直于工作格柵,也就是垂直于工作平面;其次,對四個轉(zhuǎn)角添加轉(zhuǎn)動約束,并用ADAMS內(nèi)置的仿真模塊,觀察模型和相關運動副的添加是否正常;最后,添加驅(qū)動,驅(qū)動的添加和旋轉(zhuǎn)副的添加相同。
首先,需要創(chuàng)建驅(qū)動系統(tǒng)單元,一共有4個角度的輸入,這里建立4個motion,作為外部數(shù)據(jù)的輸入口;其次,需要創(chuàng)建角度系統(tǒng)單元作為內(nèi)部數(shù)據(jù)輸出至外部用于觀察和控制系統(tǒng)的反饋,這里只輸出4個關節(jié)的旋轉(zhuǎn)角度和足端力,如圖3所示,在Simulink框架中用4個可視化窗口引出,仿真過程中可以實時顯示機器人和環(huán)境交互過程中的轉(zhuǎn)角和足端力信息;最后,導出控制系統(tǒng)。
Simulink仿真框架如圖3所示。聯(lián)合仿真效果如圖4所示。
圖3 Simulink仿真框架
圖4 仿真環(huán)境模型
反饋回的效果如圖5所示,機械臂在觸地的瞬間會有較大的沖擊力,這也是機器人在行走過程中會抖動的原因。降低足端沖擊的方法有兩種,一種是物理減震,一種是自適應控制[10]。目前,機械臂的足端已經(jīng)添加了彈簧,為了減少觸地沖擊力,確保機器人在非結(jié)構(gòu)化地形上行走的過程中不會打滑,添加自適應柔順控制算法顯得尤為重要。
圖5 足端力
如圖6~圖9所示,機械臂的各關節(jié)符合機器人行走的周期性擺動規(guī)律,和Matlab中軌跡規(guī)劃的效果相同,至此,聯(lián)合仿真框架搭建目標完成。
圖6 關節(jié)1
圖7 關節(jié)2
圖8 關節(jié)3
圖9 關節(jié)4
本文首先對機器人腿——四自由度機械臂進行了運動學分析,然后利用四階樣條曲線完成了擺動相軌跡規(guī)劃,最后進行了ADAMS和Simulink聯(lián)合仿真,為接下來的自適應力控仿真和實驗奠定了必要的基礎。根據(jù)聯(lián)合仿真可以看出,機器人在運動過程中所受到的足端力過大,關節(jié)轉(zhuǎn)角符合預期,這些反饋信息是對機器人運動狀態(tài)的直觀的判斷依據(jù)。本文ADAMS和Simulink仿真模型框架的初步搭建,有利于更好地在未來的研究中,對添加自適應力控模塊進行仿真,并在實驗模型上進行應用,最終實現(xiàn)六足機器人整機的協(xié)調(diào)運動。