王濤
?
基于Matlab仿真的機器手臂笛卡爾軌跡規(guī)劃
王濤
(江西農業(yè)大學南昌商學院, 江西南昌, 330013)
為了消除機器手臂空間軌跡規(guī)劃中采用一般插補法產生尖角的問題, 結合空間直線插補和圓弧插補算法, 提出一種新的圓弧連接勻速直線插補法, 并引入“擬合度”的概念, 在Matlab環(huán)境下對算法進行了仿真。結果表明, 通過該算法以及對擬合度的調整可以獲得最優(yōu)規(guī)劃路徑。
插補算法; 笛卡爾空間; 軌跡規(guī)劃; Matlab仿真
機器手臂的軌跡是指手臂的各關節(jié)在空間運動時, 隨時間變化而形成位置、速度或加速度曲線。軌跡規(guī)劃一般分為關節(jié)空間軌跡規(guī)劃和笛卡爾空間軌跡規(guī)劃。關節(jié)空間軌跡規(guī)劃簡單方便且不易出現特殊位形, 但是末端軌跡卻存在不直觀的問題。相反, 笛卡爾空間軌跡規(guī)劃比較直觀, 但是卻常出現特殊位形, 可謂兩種方法各有優(yōu)缺點。目前, 學者們對關節(jié)空間的軌跡規(guī)劃算法進行了大量的研究, 在較為簡單的機器手臂軌跡規(guī)劃中一般采用三次多項式和五次多項式插值法[1], 該類算法的優(yōu)點是計算量小, 并具有連續(xù)的速度曲線, 但是卻存在明顯的波動。B樣條曲線插值法則兼具連續(xù)速度和波動小的特點, 被更為廣泛地使用, 不過B樣條曲線的速度、加速度初值和終值不能同時為0。Miti等[2]通過對B樣條曲線參數的優(yōu)化, 獲得了在約束條件下的最優(yōu)規(guī)劃軌跡。此外, Zhang Bin等[3]對時間進行規(guī)劃, 獲得滿足關節(jié)速度約束條件的規(guī)劃軌跡。相比之下, 對于笛卡爾空間的軌跡規(guī)劃方面的研究較少, 目前被廣泛使用和討論的有空間直線插值算法和空間圓弧插值算法[4–5]等。當機器手臂的軌跡為幾段連續(xù)的直線軌跡時, 會在連接處形成尖角, 從而影響軌跡的平滑性。通常的做法是將連續(xù)直線進行分離, 得到多段的獨立直線, 然后對各條直線進行單獨規(guī)劃。這樣一來就增加了軌跡的平滑性, 但電機在各段直線間會不停地啟動和停止, 從而引起很大的振動和磨損[6–7]。為此, 本文在空間直線插值算法和圓弧插值算法的基礎上提出了一種改進的插補算法。
空間勻速直線插補, 是指機器手臂末端從開始點沿著預定的直線軌跡勻速移動到終點的過程中, 對直線上中間點位置的確定方法[8]。設起點為0(0,0,0), 終點為1(1,1,1), 機器手臂移動的速度為, 則完成整個移動所需時間
如果令插補周期為Δ, 則插值的個數=/Δ, 同時有
(2)
其中, Δ, Δ, Δ分別為軸、軸、軸的位置增量,取整數。插值點的坐標可用式(3)表示:
其中取整數, 取值范圍為[0,]。通過式(3)可求出各插值點的位置, 然后根據逆運動學便可求出機器手臂的各個關節(jié)值, 控制關節(jié)運動, 從而使機器手臂在其末端獲得直線的運動軌跡。
空間圓弧插補通常有4個步驟[9–10]: 第1步是根據空間中的3個點的坐標確定圓弧圓心及半徑; 第2步實現空間圓弧到平面圓弧的變換, 建立坐標系; 第3步是在新的坐標系上實現圓弧插補; 第4步則是將插補后的結果映射為原坐標系的值。
設機器手臂末端從起點0經過中間點1最終到達2點。其中0(0,0,0),1(1,1,1),2(2,2,2)為空間上的3個不共線的點。則這3點可以確定一空間圓弧, 設其圓心為(,,), 則通過該空間圓弧的平面可以表示為
由3個點都在圓弧上可得
(5)
通過式(4)和式(5)可以求出圓心(,,)和圓弧半徑。
以圓心為坐標原點, 建立新的坐標系, 選取→0的方向作為軸正方向, 與和組成的平面垂直的方向作為軸, 然后根據右手法則建立坐標系(圖1)。
圖1 XYZ–UVW坐標系圖
根據上述設定, 可以求出三軸的方向向量分別為
由此可以求出原坐標系和坐標系的變換關系
。 (7)
由式(7)的變換矩陣, 可以實現坐標系和坐標系的變換,
在坐標系中, 對于0,1,2和圓心, 有=== 0,0=1=2= 0,0=。
在變換后的平面內, 空間圓弧轉變?yōu)榱艘粋€平面圓弧, 便可以開始坐標系下的圓弧規(guī)劃了。設起點0到終點2掃過的圓弧角為, 機器手末端線速度為, 起點到終點所需時間為。令插補周期為Δ, 則插值的個數=/Δ, 第個插補點的值θ=ωΔ, 其中為角速度。則可以得出坐標下插值點, 而轉換到坐標下的坐標值P(XYZ)(,,)可用式(9)求出:
空間直線插補法和圓弧插補法是笛卡爾空間軌跡規(guī)劃中最為基本的2種軌跡規(guī)劃插補法。在一些簡單環(huán)境工作時, 無論采用哪一種單一的插補法都能較好地實現規(guī)劃任務。而當機器手臂所在的工作空間比較復雜時, 單一的插補法往往不能較好地完成任務。典型情況就是當機器手臂末端需要沿著2條直線連續(xù)運行時, 如果簡單地對2條直線進行連續(xù)的直線插值, 將會使得機器手臂各關節(jié)驅動機構反復的啟停動作, 從而磨損機器手臂。為此, 本文提出了一種基于空間圓弧連接的勻速空間連續(xù)直線插補法, 即通過空間的圓弧來實現對2條直線的銜接, 從而消除直線簡單連接所產生的接點尖角。
空間中的2條相交的直線可以確定一個二維平面, 因此將空間中的直線轉換到二維平面來分析是一個不錯的選擇。由圖2可知, 空間上的直線1和2交于點0, 在0點處出現尖角, 為了消除其對機器手臂的不利影響, 可以選取一段同時相交于兩直線的圓弧(圖2)來實現兩直線的連接, 交點分別為1和2。則整個機器手臂的運行軌跡為從1的起點出發(fā)經過1點, 然后通過圓弧到達交點2, 最后沿直線2到達終點??梢园l(fā)現, 圓弧圓心位置的確定以及圓弧半徑的大小, 將是軌跡規(guī)劃的關鍵。
圖2 直線連接圖
為了使直線到圓弧的過渡更為流暢, 本文讓所選定的圓弧和直線1和2同時相切, 則圓弧和1直線的切點為1, 與2直線的相切點為2。由圖2可知, 由于圓弧的圓心可以自由選取, 因此內切于1和2的空間圓弧有無限多條。為了描述各圓弧相較于原始軌跡的程度, 本文定義了一個“擬合度”。被定義為圓弧連接后第1段直線軌跡長度與圓弧連接前該直線軌跡長度之比。選取不同的圓弧, 將對應不同的。因此, 其取值范圍為[0, 1]。當直線與圓弧連接點與開始點重合時, 即s點為圓弧起點, 則第1段直線軌跡長度為0,取“0”值; 又有當1點選為1直線的中點時, 則為“0.5”。如果設0到1的距離為10, 直線1的長度為, 則10=× (1-)。在圖2中, 由于圓弧同時相切于兩直線, 因此對兩直線分別作垂線, 則兩垂線交點(,,)即為圓弧的圓心,1或2到點的距離則為圓弧的半徑??臻g圓弧連接的勻速直線插補步驟如下。
步驟1: 計算圓弧和兩直線的交點坐標。設定擬合度, 根據起始點s(s,s,s)和點0(0,0,0)的三維坐標, 可計算出連接點1處的坐標,
而通過結束點e(e,e,e)和點0(0,0,0) 的三維坐標, 又可以計算出2點的坐標,
(11)
步驟2: 對s到1點之間的空間直線進行空間直線插值, 實現該段的軌跡規(guī)劃。
步驟3: 計算圓弧半徑及圓點。根據起點s、終點e和兩直線原始交點0的坐標, 利用式(4)求出平面方程。而1和2兩點在圓弧上, 因此,
由于1和圓弧相切,的長度為圓的半徑(圖3), 根據勾股定理有
, (13)
其中:10為1到0的距離;d為圓心到0的距離。
根據式(4)、(12)和(13)可以求出原點()的坐標值和圓的半徑。
步驟4: 構建坐標系。以圓心為坐標原點, 構建新坐標系,軸的正方向選定位→1的方向, 和、所組成的平面垂直的方向設為軸, 則可由右手法則得出軸的方向。
步驟5: 在坐標系上完成空間圓弧插補, 求出插補點P(u, v,w), 然后得出插補點在原始坐標系上的坐標值, 從而完成該圓弧段的軌跡規(guī)劃。
步驟6: 對于2點到2終端的直線段, 采用空間直線均勻插值法完成軌跡規(guī)劃。
通過以上6步, 可以實現空間圓弧連接的勻速連續(xù)空間直線軌跡規(guī)劃。
圖3 圓弧和直線L1的切線
4.1 空間勻速直線插補仿真
設空間內有一條由1(200, 220, 10)和2(250, 50, 170)兩點連接的直線。其中1點為機器手臂末端的起點,2為末端終點, 采用空間勻速直線插補算法繪制出笛卡爾空間軌跡規(guī)劃(圖4)。
仿真結果表明, 軌跡規(guī)劃為直線, 滿足規(guī)劃要求。通過各插值點對應的坐標, 采用運動學逆解的方法可以求出機器手臂各關節(jié)需要移動的目標角度。
圖4 空間直線軌跡規(guī)劃圖
4.2 空間勻速圓弧插補仿真
設空間內有不共線的任意3點1(10, 140, 130),2(150, 90, 40),3(250, 50, 70)。則3個點在空間內必定形成一個圓弧, 設1點為起點,2為中間點,3為圓弧終點。則機器手臂末端沿著該圓弧從起點運動到終點, 可以采用空間勻速圓弧插補來實現笛卡爾空間的軌跡規(guī)劃(插值次數選為30), 仿真效果見圖5。仿真圖形顯示為圓弧軌跡, 滿足算法要求。
圖5 空間圓弧軌跡規(guī)劃圖
4.3 基于空間圓弧連接的勻速連續(xù)空間直線插補法仿真
設空間內有任意3點:s(210, 120, 110),0(55, 220, 255),e(48, 28, 70), 為了使機器手臂能夠平滑運行, 采用本文提出的空間圓弧連接連續(xù)空間直線插補算法, 構建一段圓弧來代替原軌跡中的尖角。首先設定一個擬合度的初值= 0.7, 然后通過Matlab軟件來實現軌跡規(guī)劃仿真, 仿真效果如圖6(a)所示。若改變擬合度= 0.9, 可得到另一個軌跡規(guī)劃仿真圖6(b)。
由圖6(a)可以看出, 機器手臂末端將從起點出發(fā)直線運行到1, 然后經過由1、2構成的內切于兩直線的圓弧, 最后再沿直線方向到達終點。圖6(a)的規(guī)劃軌跡和圖6(b)類似, 所不同的是2個切點的坐標發(fā)生了變化, 同時圓弧的圓心坐標也發(fā)生了變化。
圖6 基于空間圓弧連接的勻速連續(xù)空間直線插補軌跡規(guī)劃圖
由圖6的仿真結果可以看出, 本文提出的基于空間圓弧連接的勻速連續(xù)空間直線插補軌跡規(guī)劃算法符合設計要求。該算法運行穩(wěn)定, 能夠很好地解決連續(xù)直線中的尖角問題, 使規(guī)劃軌跡變得更加平滑, 從而改善了機器手臂中各關節(jié)的磨損現象。另外, 通過選取不同的擬合度, 會形成不同的軌跡。實際規(guī)劃中需要根據環(huán)境或規(guī)劃要求, 選擇更為適合的擬合度。一般而言, 需要高度擬合原始軌跡時, 則的取值應設置為較大值。反之, 則可以將擬合度選擇得較小, 從而減少路程, 減少時間和能量消耗。
軌跡規(guī)劃對于機器手臂而言是相當重要的, 本文基于笛卡爾空間對關節(jié)型機器手臂的軌跡規(guī)劃進行了分析。從空間直線插值和空間圓弧插值這2種最基本的算法著手, 針對空間連續(xù)直線出現尖角的問題, 提出了一種基于空間圓弧連接的均值連續(xù)空間直線插補算法, 并通過改變擬合度的方法實現了不同的軌跡。最后借助于Matlab軟件對算法進行了仿真, 驗證了本文所提出算法的穩(wěn)定性, 取得了不錯的效果, 具有一定的實用價值。
[1] 孫秀萍. 機器人手臂軌跡規(guī)劃的研究[J]. 內蒙古師范大學學報(自然科學漢文版), 2009, 38(2): 174–177.
[2] Miti R, Shinichiro N. Offline and online trajectory generation with sequential physical constraints [C]// International Conference on Robotics and Biomimetics, February 21, 2009, Asian Institute of Technology, Bangkok. Washington DC: IEEE, 2008: 578–583.
[3] Zhang Bin, Fang Qiang, Ke Yinglin. Optimal time trajectory planning method for a kind of posture aligning ystem of large rigid bodies [J]. Chinese Journal of Mechanical Engineering, 2008, 44(8): 248–252.
[4] 周剛. 垂直關節(jié)型6自由度機器人笛卡爾空間軌跡規(guī)劃的研究[D]. 廣州: 華南理工大學, 2011.
[5] 林威, 江五講. 工業(yè)機器人笛卡爾空間軌跡規(guī)劃[J]. 機械工程與自動化, 2014, 10(5): 141–143.
[6] 林仕高. 搬運機器人笛卡爾空間軌跡規(guī)劃研究[D]. 廣州: 華南理工大學, 2013.
[7] 李偉光, 許陽. 搬運機器人的軌跡規(guī)劃[J]. 控制與檢測, 2010(5): 83–85.
[8] 陳偉華. 噴涂機器人連續(xù)直線軌跡規(guī)劃的研究[J]. 機械設計與制造, 2009(8): 178–180.
[9] 衣云龍. 改進BP神經網絡算法在機器人軌跡優(yōu)化中的研究[J]. 沈陽工程學院學報(自然科學版), 2012, 8(01):75–78.
[10] 陳軍. 多自由度機械臂實時仿真系統(tǒng)研究[D]. 哈爾濱: 哈爾濱工程大學, 2012.
(責任編校:劉剛毅)
Trajectory planning of robotic arm in cartesian space based on the Matlab simulation
Wang Tao
(Nanchang Business College of Jiangxi Agricultural University, Nanchang 330013, China)
In order to eliminate the sharp corners produced in machine arm trajectory planning of general interpolation method, combined with space linear interpolation and circular interpolation algorithm, a new circular connection mean linear interpolation method is put forward. The concept of "fitting" is introduced. The algorithm is simulated in Matlab environment. The optimal planning path can obtained through the algorithm and the adjustment fitting, and the algorithm has good feasibility at the machine arm trajectory planning.
interpolation algorithm; the cartesian space; trajectory planning; Matlab simulation
10.3969/j.issn.1672–6146.2015.04.005
TP 24
1672–6146(2015)04–0020–05
王濤,husf168@gmail.com。
2015–09–21
江西省高等學校教學改革研究課題資助項目(JXJG–12–78–1)