□ 楊松山 □ 徐增丙 □ 王志剛
武漢科技大學 機械自動化學院 武漢 430081
隨著科學技術的發展,機械臂的應用要求越來越高。利用虛擬樣機技術代替真實物理樣機試驗,在設計過程中可以提高物理樣機性能,避免樣機制造的高成本,縮短開發周期[1],對機械臂整體性能指標還可以反復進行試驗與改進[2]。筆者利用Adams動力學仿真軟件進行運動分析,觀察機械臂運動狀態,在Matlab軟件環境下建立控制系統,發揮兩款軟件各自集成的優勢,對機械臂進行交互式仿真,從而使機械臂快速、精準完成動作,為實際樣機制作供理論依據。
Adams軟件的三維實體建模環境較差,為了方便分析,降低結構設計和控制系統設計的復雜程度,在SolidWorks軟件中建立機械臂實體模型。在結構設計中進行合理的簡化,機械臂由底座、轉臺、四節臂架、執行器組成。
機械臂模型如圖1所示。

▲圖1 機械臂模型
建立機械臂的連桿坐標系,然后利用Denavit-Hartenberg參數法分析機械臂運動學方程的求解過程[3]。建立連桿坐標系的方法包括標準Denavit-Hartenberg法和改進Denavit-Hartenberg法,標準Denavit-Hartenberg法與改進Denavit-Hartenberg法在建立各連桿坐標系時,原點坐標的選取有所不同。筆者采用標準Denavit-Hartenberg法建立機械臂連桿坐標系[4-5],如圖2所示。兩相鄰連桿之間的關系用連桿長度ai、連桿扭角αi、連桿偏距di、連桿夾角θi四個參數來描述[6],連桿參數見表1。

表1 連桿參數

▲圖2 機械臂連桿坐標系
在Matlab軟件機器人工具箱環境下建立機械臂數學模型,通過Denavit-Hartenberg坐標參數構建每個關節位置[7],再通過 Link和Robot 函數對連桿關節進行連接組合,完成機械臂建模,如圖3所示。

▲圖3 機械臂建模

(1)
(2)
nx=sinθ1sinθ6+cos(θ2+θ3+θ4+θ5)cosθ1
cosθ6
(3)
ny=cos(θ2+θ3+θ4+θ5)cosθ6sinθ1-cosθ1
sinθ6
(4)
nz=sin(θ2+θ3+θ4+θ5)cosθ6
(5)
ox=sinθ1cosθ6-cos(θ2+θ3+θ4+θ5)cosθ1
sinθ6
(6)
oy=-cosθ1cosθ6-cos(θ2+θ3+θ4+θ5)sinθ1
sinθ6
(7)
oz=-sin(θ2+θ3+θ4+θ5)sinθ6
(8)
ax=sin(θ2+θ3+θ4+θ5)cosθ1
(9)
ay=sin(θ2+θ3+θ4+θ5)sinθ1
(10)
az=-cos(θ2+θ3+θ4+θ5)
(11)
px=cosθ1[d6sin(θ2+θ3+θ4+θ5)+a3cos(θ2+
θ3)+a2cosθ2+a4cos(θ2+θ3+θ4)]
(12)
py=sinθ1[d6sin(θ2+θ3+θ4+θ5)+a3cos(θ2+
θ3)+a2cosθ2+a4cos(θ2+θ3+θ4)]
(13)
pz=d1-d6cos(θ2+θ3+θ4+θ5)+a3sin(θ2+
θ3)+a2sinθ2+a4sin(θ2+θ3+θ4)
(14)
運動學方程的逆解指根據機械臂末端執行器的位姿變換矩陣,通過運動學方程來求解關節位置,即已知機械臂末端的位置姿態,計算出機械臂對應的全部關節位置變量。機械臂末端執行器在空間運動的軌跡由工作任務確定,通過軌跡規劃,將軌跡點映射到機械臂關節空間中,進而選擇最合理的逆解。目前,機械臂逆運動學求解的主流方法有解析法、迭代法、代數法、幾何法[11-13]。
除式(2)外,機械臂末端期望位姿矩陣還包括:
(15)
(16)
(17)
在式(2)的等號兩側分別乘上對應的逆矩陣,分離變量,根據左右矩陣對應元素相等求解各關節變量的值。求解過程涉及反三角函數,運動學逆解存在多解性。由于機械臂的結構限制,不是所有求出的關節角都能滿足要求,因此有必要在所有解中選擇最佳解,如時間最短、能耗最小、能夠避開障礙物等。
機械臂軌跡規劃時,根據作業任務要求,計算出預期的運動軌跡[14]。規劃既可以在關節空間中進行,也可以在直角空間中進行,要求所規劃的軌跡必須連續、平滑,并且使整個機械臂本體運動平穩。當機械臂的末端軌跡根據工作任務有嚴格要求時,要選擇在合適的空間坐標系中進行規劃。筆者在笛卡爾空間坐標系中進行規劃,機械臂對封頭零件焊縫進行探傷檢測時,要求機械臂末端在空間中進行直線運動,同時末端執行器根據工作的要求姿態不變,需要機械臂各個關節協調配合。
以通過機械臂末端從任務空間中點A(12.607,0,6.144)直線運動到點B(7,-4,1)為例,根據目標點利用Transl函數進行兩次平移變換,得到機械臂初始位置和終止位置的齊次變換矩陣。用函數Ctraj(T0,T1,N)和Plot3()規劃出機械臂由點A運動到點B時的運動軌跡,給定仿真時間為10 s,時間間隔為0.1 s,總時間步數為102步。機械臂末端點空間位移運動軌跡如圖4所示,機械臂末端點方向位移運動軌跡如圖5所示,機械臂各關節角位移運動軌跡如圖6所示。得到機械臂六個關節轉角與時間的關系,即為聯合仿真軌跡跟蹤的期望曲線。

▲圖4 機械臂末端點空間位移運動軌跡

▲圖5 機械臂末端點方向位移運動軌跡

▲圖6 機械臂各關節角位移運動軌跡
為有效對機械臂虛擬樣機進行運動控制,以使機械臂能夠準確按照作業任務運動,設計機械臂運動學控制流程,如圖7所示。為了對各旋轉關節位置進行精確控制,采用了比例積分微分位置控制策略。

▲圖7 機械臂運動學控制流程
在SolidWorks軟件中建立簡化后的機械臂虛擬樣機模型,以IGS格式保存文件。通過Adams/View窗口導入文件,在Adams軟件中對導入的虛擬樣機按照實際樣機的屬性進行編輯定義[15]。在機械臂各關節處添加旋轉副約束和底座固定約束,保證模型各部件之間正確的相對運動關系,完成的機械臂虛擬樣機模型如圖8所示。為了有效實現Adams軟件與Matlab軟件的實時數據交換,建立輸入輸出狀態變量。針對此機械臂,需建立關節控制力矩、關節角位移、機械臂末端點各方向位移的狀態量。其中,各關節控制力矩與機械系統的輸入變量關聯,關節角位移和機械臂末端點各方向位移與輸出變量關聯。Matlab/Simulink控制程序與Adams軟件虛擬樣機模型相連,各個關節的實際關節角位置被實時反饋至閉環控制系統,作用在機械臂關節力矩上,實現關節角位置的實時跟蹤。機械臂子系統模塊中的期望關節角變量及相應的實際關節角變量見表2,表2中,angle1~angle5對應表1中的變量θ1~θ5。

▲圖8 機械臂虛擬樣機模型

表2 機械臂子系統變量
機械臂聯合仿真控制系統通過機械臂的每個關節角位置誤差獲得驅動力矩來實現控制。在Matlab/Simulink軟件中建立聯合仿真控制系統模型,如圖9所示。

▲圖9 聯合仿真控制系統模型
聯合仿真系統搭建完成后,通過仿真調節比例積分微分控制器參數,利用位置偏差驅動機械臂各關節的位置控制,從而實現末端軌跡的準確跟蹤。機械臂末端點各方向誤差曲線如圖10所示。機械臂關節角跟蹤曲線仿真結果如圖11所示。圖11中,關節角較迅速地定位到指定位置,跟蹤到給定軌跡,并能持續穩定地跟蹤。通過Adams軟件后處理得到機械臂各關節所需要的關節驅動力矩,如圖12所示。機械臂關節驅動力矩平滑,數值合理。機械臂末端在Adams環境中運動軌跡如圖13所示。

▲圖10 機械臂末端點各方向誤差曲線
筆者針對機械臂軌跡規劃和運動控制問題,運用虛擬仿真技術,基于Adams軟件與Matlab軟件進行聯合仿真,通過在Matlab軟件機器人工具箱中對機械臂進行路徑規劃,遵循比例積分微分控制規律,得到機械臂運動特性,使機械臂末端運動軌跡得到精確控制。通過Adams環境,可以動態觀看機械臂運動過程,并且獲得機械臂關節驅動力矩和動力參數。筆者的研究結果可以為類似機械臂的設計與制作提供理論參考。

▲圖11 機械臂關節角跟蹤曲線

▲圖12 機械臂各關節驅動力矩

▲圖13 機械臂末端運動軌跡