蔣祝鵬,閆 悅
(北京信息科技大學,北京 100029)
為提高自動化機器的生產(chǎn)效率,實際的工業(yè)生產(chǎn)過程需要用到許多種類的機械臂,例如二連桿機械臂。在常見的工業(yè)生成環(huán)境中,二連桿機械臂可以完成搬運、分揀等工作。在經(jīng)典控制方法的基礎上,已經(jīng)衍生出了許多新的方法來控制二連桿機械臂,例如使用示教法對機械臂進行控制的,即事先通過手動拖拽或使用示教器調整的方式,移動機械臂到達每一個目標位置,并保存各個目標的位置信息,然后在使用時機械臂會按照目標點的順序移動。如果在新的應用中,目標位置產(chǎn)生變化,需要重新示教,這種采用示教的方法不僅耗費人力,靈活性也有所欠缺。而另一類基于學習的機械臂控制策略(DDPG算法、A3C 算法等)雖然在準確度上超越了傳統(tǒng)的算法,但存在模型訓練時間過長、生產(chǎn)成本過高等問題。因此,本文引入無學習的二連桿機械臂定位控制策略來解決二連桿機械臂智能控制的問題,在完成基本的定位抓取任務的前提下,節(jié)省了大量的數(shù)據(jù)采集與模型訓練時間,降低了基于學習的機械臂控制策略帶來的附加經(jīng)濟成本。
采用D-H(Denavit,Hartenbery)法構建二連桿機械臂模型,模型參數(shù)見表1。
表1 機械臂D-H參數(shù)
由D-H參數(shù),可以建立二連桿機械臂模型,該模型由一個轉動軸連接兩連桿、底部固定的轉動軸構成,具體模型如圖1所示。
圖1 二連桿機械臂模型
要實現(xiàn)通過控制兩個轉動軸的轉動來實現(xiàn)對其的控制,則需要將目標物體的相對平面坐標(,)轉化為機械臂轉動軸的相對轉動角度(,)。
根據(jù)二連桿機械臂的特性搭建環(huán)境,包含手臂環(huán)境,涉及目標點位置等。目標位置坐標為(,),手臂端點位置坐標為(0,0),機械臂轉動軸的相對轉動角度、,底座固定的轉動軸位置與目標位置距離為,如圖2所示。
圖2 手臂環(huán)境參數(shù)
由勾股定理,可解出底座固定的轉動軸位置與目標位置距離為
在圖3所示的三角形中,由與互補,得出
圖3 約簡的幾何模型1
由余弦定理可得
根據(jù)式(1)、式(3),可解出機械臂兩桿夾角
根據(jù)式(2),對有
因此根據(jù)式(4)、式(5),求得
分析圖4所示三角形,夾角為
圖4 約簡的幾何模型2
分析圖2所示三角形得出等式
根據(jù)式(7)、式(8),解得
在實際的二連桿機械臂定位控制中,轉動軸電機往往不能按照電信號指令轉動指定的角度,這就造成了在實際工作時,機械臂不能到達指定位置;因此,角度補正參數(shù),(大于0)為
用以補正由機械臂轉動軸電機自身導致的誤差。使用外部攝像頭監(jiān)測機械臂頂端相對坐標,反解出轉動軸實際旋轉的角度,當檢測到轉動軸未轉動到指定角度時,每0.1 s進行一次角度補正,直到機械臂轉動軸實際旋轉角度與實際角度的偏差在可容忍范圍內(nèi)。
本文搭建的仿真環(huán)境使用python3.7,使用Matpltlib.pyplot模塊搭建二連桿機械臂模型,利用python實現(xiàn)無學習二連桿機械臂定位控制算法。針對二連桿機械臂運動控制中的連續(xù)控制,所搭建環(huán)境由二連桿機械臂、目標物體組成,目標狀態(tài)為機械臂頂端通過無學習算法控制,通過計算、得出機械臂的位置,抵達目標物體。所搭建環(huán)境如圖5所示。
圖5 二連桿機械臂運動控制仿真程序
選取Python3.7作為實驗環(huán)境,機械臂兩桿長度均設置為10 cm,使用random.random ()生成10 000組測試數(shù)據(jù)(,),數(shù)據(jù)點分布如圖6所示。
圖6 測試數(shù)據(jù)散點圖
當機械臂頂端到達目標物體時,視為成功一次,記錄無學習控制算法求解出轉動角度(,)。
使用該算法控制如圖7所示機械臂,驗證該程序能否正確引導機械臂達到指定位置。
圖7 二連桿機械臂
在仿真程序中對任意給定的一組相對坐標(,),求解出轉動軸角度(,),見表2。
表2 仿真程序求解結果
(續(xù))
在仿真程序中選擇1 000組測試數(shù)據(jù)作為程序輸入,使用外部攝像頭監(jiān)測機械臂頂端相對坐標,在不使用角度補正控制策略時得出的前100組測試數(shù)據(jù)的絕對誤差如圖8、圖9所示,測試數(shù)據(jù)MSE=0.510 419。使用角度補正控制策略,得出MSE=0.013 592,均方誤差大幅降低。顯然,該無學習的控制策略能很好的完成各類二連桿機械臂控制任務。
圖8 前100組測試數(shù)據(jù)x的誤差
圖9 前100組測試數(shù)據(jù)y的誤差
本文以二連桿機械臂作為研究對象,研究機械臂在運動過程中無障礙物時的狀態(tài),提出了一種無學習的控制策略解決二連桿機械臂控制問題。本文建立了控制仿真系統(tǒng)和機械臂模型,并通過測量機械臂實際控制時產(chǎn)生的誤差,采用誤差補正的控制策略改善機械臂任務的準確性及穩(wěn)定性。仿真實驗結果表明,該無學習的算法能夠正確的控制二連桿機械臂到達目標物體,并且,當環(huán)境發(fā)生變化時依然能夠穩(wěn)定地抵達目標位置。相較于傳統(tǒng)的控制方法,無學習控制方法更加簡單迅速,成本更低,適用性更強。但本文基于機械臂運動過程是在不存在障礙物這一前提下對二連桿機械臂的控制,未來可進一步討論機械臂運動過程中存在障礙物時對機械臂的控制策略。