駱芊茜



摘? 要:要求建立一個兩自由度(2R)的機械手臂模型,具體參數參照個人手臂數據設置,實現打磨功能。在設定的運行距離內可實現在墻壁上沿x軸方向直線運動(y方向保持不變),打磨速度恒定,打磨力度保持不變(fx,fy恒定)。通過位置反解的幾何方法由末端執行器的位置反解出關節變量θ,再運用靜力學和逆運動學求解得到關節力矩,并用Matlab軟件仿真出機械臂模型的電機輸出力矩與時間的關系曲線。
關鍵詞:逆雅可比矩陣? 逆動力學? 幾何分析? 拉格朗日方程
中圖分類號:TP181 ? ? ? ? ? 文獻標識碼:A ? ? ? ? ? ?文章編號:1672-3791(2021)02(c)-0100-05
Design of Two-degree-of-freedom Grinding Robot
LUO Qianqian
(Liangxin College, China Jiliang University, Hangzhou, Zhejiang Province, 310018 China)
Abstract: It is required to establish a two-degree-of-freedom (2R) mechanical arm model, and the specific parameters are set according to the personal arm data to achieve the grinding function. Within the set running distance, the wall can move in a straight line along the x axis (y direction remains unchanged), the grinding speed is constant, and the grinding strength remains constant (fx, fy is constant). The geometric method of inverse position solution was used to solve the joint variable θ from the position of the end-effector, and then the joint torque was obtained by using statics and inverse kinematics. The relation curve between the motor output torque and time of the manipulator model was simulated with MATLAB software.
Key Words: Inverse Jacobian matrix; Inverse dynamics; Geometric analysis; Lagrange equations
1? 機械臂模型及實現功能
打磨機械臂模型為兩自由度的兩連桿平面機械臂,可在設定的運行距離內在墻壁上沿x軸方向沿直線運動,打磨速度恒定,即vx=C,vy=0(C為常數),打磨力度保持不變(fx,fy恒定)。定義機械臂長度為a1,a2;質量m1,m2均勻分布,且質心在各連桿的中心,且關節轉動無摩擦,具體模型如圖1所示。
2? 模型建立
首先建立平面二連桿機械臂的DH參數表見表1[1]。
2.1 逆動力學
動力學可以分為正動力學和逆動力學,正動力學通過給定機器人的幾何和慣性參數及其關節轉矩和力,求得關節加速度,而逆動力學則是通過給定機器人的幾何和慣性參數及關節運動(即其位置、速度和加速度),計算相應的關節轉矩和力[2]。
該文已知機械臂末端運動方向、位置以及運動速度,運用逆運動學和向內迭代法,求所需的各關節力矩,利用拉格朗日方程,定義多連桿系統動能和勢能之間的差值:
L=T-U? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(1)
經整理可得:
(2)
式中,I為n×n階的廣義向量矩陣:
(3)
:離心加速度和哥氏加速度的n維向量。
向量h也表示為,其中n×n階矩陣C的元素為
θk? ? ? ? ? ? ? ?(4)
:重力加速度的n維向量;
:廣義力的n維向量。
通過上述公式可知,知道各關節的轉動角度、速度以及加速度,即可求得各關節該時刻瞬態的力矩? ? ? 大小。
2.2 關節位置求解
給定末端執行器的方向和位置去確定關節變量,解決將末端執行器在操作空間的運動轉化為關節空間運動的問題。可以通過代數和幾何關系來找到逆運動的封閉解。由題意打磨機械臂打磨速度恒定,沿X軸做直線運動,末端位置為已知值,通過位置反解的幾何解法可得到θ1、θ2。
幾何分析如圖2所示。
已知機械臂末端位置為(x,y),由三角函數定理可知[2]:
(5)
(6)
(7)
即可求得θ1、θ2:
(8)
(9)
2.3 關節速度求解
末端執行器是串聯機械臂的第n個連桿,它的位置和方向都是隨著變化而變化的,由末端位置(x,y),我們可以推導二連桿雅可比矩陣J如下[3-4]:
(10)
我們保證關節二,即雅可比矩陣是滿秩非奇異的:,則已知末端速度vx=C,vy=0(C為常數),沿x軸做勻速直線運動,可求得關節速度,:
(11)
經整理計算可求得:
(12)
得到:
(13)
(14)
2.4 關節加速度求解
由于末位置是沿x軸做勻速直線運動,所以末位置的加速度為0,并且只知各關節的瞬時速度,不知道各關節速度隨時間變化函數,無法求導得各關節的加速度函數,在此我們利用Matlab,選擇小步長Δh,通過計算各時間點前后速度差求得瞬態加速度ai:
(15)
3? 模型實現
Matlab對于連續性模型求解存在一定的難度,但可以實現模型離散化求解。我們通過逆動力學求得機械臂瞬態各關節力矩,通過已知末位置隨時間的變化,選取短步長進行離散化,求得各個時間點的各關節力矩大小,即可得各關節力矩隨時間變化曲線[6]。
假定二連桿m1=m2=0.5 kg;l1=0.6 m;l2=0.7 m;機械臂末端沿x=-0.75 m處以速度0.05 m/s勻速直線運動至x=0.75 m處,總距離為1.5 m;總歷時30 s。
Matlab仿真得:關節輸出力矩隨機械臂末端位置變化曲線,以及關節輸出力矩隨時間變化曲線,見圖3、圖4。
關節角度(單位:度)隨時間變化關系如圖5所示。
關節1、2的角度(單位:弧度制)、角速度、角加速度隨時間變化關系見圖6(左圖為關節1,右圖為關節2)。
由圖6可以看出,該機械手臂關節1輸出力矩總體比關節2輸出力矩大,但關節2的角速度與角加速度比關節1大。
此外該文還做了一定嘗試比較,通過改變兩臂的質量為m1=m2=3kg,發現如圖7所示。
可以看出質量增大后,兩個關節輸出的力矩都有增大。
當改變墻與機械臂基座距離時,y=0.9 m時,力矩輸出如下圖8:
由上圖可以發現兩個關節的力矩均有所增大。
4? 結語
本文運用了幾何分解,逆雅可比矩陣,逆動力學等知識,由機械臂末端信息反推得瞬態的角度、角速度以及加速度,并求各關節瞬態力矩,利用Matlab軟件對時間進行離散化,對二自由度的打磨機械臂進行了仿真,得出電機輸出力或力矩與時間的關系曲線。我們還改變機械臂的部分參數,觀察各參數變化對機械臂輸出力矩的影響。
參考文獻
[1] Subir Kumar Saha. 機器人學導論[M]. 哈爾濱工業大學出版社,2019:12-2.
[2] 鄭棋棋,湯奇榮,張凌楷,等.空間機械臂建模及分析方法綜述[J].載人航天,2017,23(1).
[3] 李克先.硬巖大跨地鐵車站開挖穩定性與支護力學行為研究[D].山東大學,2018.
[4] 蔡自興,謝斌.機器人學[M].北京:清華大學出版社, 2020: 1-8.
[5] 王磊,陳辰生,張文文.兩自由度機械臂動力學模型的建模與控制[J]. 信息通信, 2020:41.
[6] 劉志鋮.基于MATLAB的機械臂動態仿真研究[J]. 制造業自動化,2017,39(10):42-44.