王建明,趙彥,朱彥防,馬宗利
(山東大學高效潔凈機械制造教育部重點實驗室,山東濟南 250061)
隨著科技發展,在許多復雜環境,例如:在崎嶇的山路上、地震火災現場,四足機器人可以發揮出相當重要的作用。在四足機器人機構設計中,設計-制造-試驗,往往經過多次反復,才能確定最終設計的產品。為避免實物制造成本較高,周期過長,借助ADAMS和Matlab/Simulink聯合仿真,驗證步態規劃、結構設計合理性,為后來實物設計提供依據,從而提高效率,減少設計成本。
采用ADAMS和Matlab聯合仿真模式[1-2]。首先在Pro/E中建立四足機器人三維模型,將模型導入至ADAMS中,建立機械系統模型,之后在Matlab/Simulink中建立控制系統。由ADAMS提供四足機器人虛擬樣機的三維模型、運動學模型和動力學模型,由Simulink提供步態控制,二者之間互相交換數據,實現聯合仿真。
文中采用內膝肘式四足機器人,這是由于內膝肘式四足機器人運行較穩定。采用簡化模型,即每條腿有兩個自由度,膝關節和髖關節處各有一個俯仰自由度。首先在Pro/E中建立四足機器人三維模型,另存為Parasolid格式導入至ADAMS中。在轉換過程中四足機器人模型會失去質量、質心等參數,需要在ADAMS中重新定義。
模型(見圖1)建好之后,對四足機器人添加約束和驅動。每條腿擁有兩個自由度分別為髖關節和膝關節處各有一個俯仰自由度,腿部關節約束為旋轉約束,在約束上添加共8個驅動,這些驅動通過函數變量與Matlab相連接,對機器人進行控制。足端與地面接觸部位設置接觸力,接觸力類型為剛體對剛體(Solid to solid),并設置存在摩擦力,調節接觸力參數可以得到不同環境模擬。

圖1 建立虛擬樣機模型
四足機器人每個關節采用單獨控制。在Matlab命令窗口輸入命令Adams-sys,將Adams中模型導入值控制系統,之后在Matlab中新建一個Simulink模塊窗口,從工具庫中挑選所需要的模塊,構建控制框圖。編寫S-function,采用s函數來向ADAMS輸出關節角度[3-4]。控制框圖如圖2所示。

圖2 建立控制系統
控制框圖繪制完成后在Simulink中進行參數設置,進行聯合仿真。
聯合仿真結束后,可以在ADAMS后處理模塊(postprocess)觀看仿真動畫,并且可以計算仿真過程中質心運動、關節角位移,關節力矩等數據曲線[5-6]。
以左前腿為例,分析髖關節和膝關節的角位移,如圖3所示。

圖3 髖關節和膝關節角位移
從圖3可以看出髖關節按照正弦函數運動,膝關節按照半波函數運動。髖關節曲線上升時腿部處于擺動狀態,下降時處于支撐狀態,只有在腿部處于擺動狀態時膝關節才進行運動。
對四足機器人質心進行分析,如圖4所示。

圖4 質心在x、y、z軸方向位移
圖中分別為四足機器人質心在x、y、z軸方向上的位移,可以看出:
(1)質心在前進方向上位移變化穩定,斜率基本保持在0.16左右,說明四足機器人在前進方向上的速度穩定,基本保持在0.16 m/s左右。
(2)在z軸方向的位移表明了四足機器人對前進方向的偏移程度。從圖中可以看出,四足機器人在前進方向上有左右偏移,偏移量最大值在0.05 m左右,之后會偏移回原定軌跡,基本沿著直線前進。
(3)在y軸方向的位移幅值基本保持在0.02 m左右,表面四足機器人前進過程中沒有發生跳躍情況,運行穩定。
以左前腿為例,對關節驅動力矩進行分析,其數據曲線如圖5、6所示。

圖5 左前腿膝關節驅動力矩

圖6 左前腿髖關節驅動力矩
從圖中可以看出:
(1)髖關節的力矩要大于膝關節驅動力矩,這是由于髖關節運動時要帶動膝關節運動。驅動力矩曲線會出現突變并形成尖峰,產生不平衡力矩,會對四足機器人的穩定性造成影響。
(2)支撐相的驅動力矩比擺動相的驅動力矩要大得多,這是由于腿部處于支撐相時關節要承擔部分軀體負載。
(3)髖關節關節驅動力矩在支撐相時最大值基本保持在250 N·m以下,膝關節驅動力矩最大值基本在150 N·m以下,各個關節驅動力矩變化幅度平穩,沒有過大的力矩產生。
為了對關節運動幅值進行優化,采用不同的關節運動幅值進行對比。由于膝關節的控制函數采用的是半波函數,它的運動并不影響四足機器人的步長,四足機器人步長是由髖關節的運動決定的,因此只需改變髖關節的運動幅值即可。髖關節幅值大小影響四足機器人行走步長的大小,髖關節幅值越大,步長越大。現在設定髖關節運動幅值分別為5.5°、6.5°、7.5°,進行仿真,四足機器人質心運動曲線如圖7—9所示。

圖7 髖關節幅值5.5°時四足機器人質心運動曲線

圖8 髖關節幅值6.5°時四足機器人質心運動曲線

圖9 髖關節幅值7.5°時四足機器人質心運動曲線
比較各圖中四足機器人質心在y軸和z軸最大偏移,分別為髖關節幅值5.5°時,位移為0.02 m、0.09 m;幅值為6.5°時位移為0.02 m、0.15 m;幅值為7.5°時位移為0.1 m、0.4 m。在幅值為7.5°時,四足機器人運動開始不穩,出現側翻趨勢。由此可以進行推斷,髖關節幅值越大,四足機器人運動越不穩定。對比分析,選擇髖關節幅值為5.5°。
應用Matlab與ADAMS相結合的方式,對四足機器人行走過程進行仿真,分析了機器人能夠trot穩定行走。通過運動學和動力學仿真分析,驗證了機構設計的合理性,為選擇電機提供參考。仿真提高了設計效率。
[1]史耀強,厲明勇,頓向明,等.雙足機器人基于ADAMS與Matlab的聯合仿真[J].機械與電子,2008(1):45-47.
[2]王克琦,溫效朔.基于ADMAS與MATLAB的合作機器人的聯合仿真[J].機電產品開發與創新,2005,18(6):35-37.
[3]徐建柱,刁燕,羅華,等.基于Matlab和Adams的自平衡機器人聯合仿真[J].現代電子技術,2012,35(6):90-92.
[4]樓敏.四足機器人的步態仿真研究[J].現代制造工程,2009,31(1):29-32.
[5]何冬青,馬培蓀.四足機器人動態步行仿真及步行穩定性分析[J].計算機仿真,2005,22(2):146-149.
[6]陳佳品,程君實,席裕庚,等.四足機器人對角小跑直線步行的虛擬模型[J].上海交通大學學報,2001,35(12):1771-1775.