閆林林,徐 方,賈 凱,鄒風山
(1.中國科學院 沈陽自動化研究所 機器人學國家重點實驗室,遼寧 沈陽110016;2.中國科學院大學,北京100039;3.沈陽新松機器人自動化有限公司,遼寧 沈陽110168)
Delta機器人作為一種最成功的并聯(lián)機器人已經(jīng)得到了許多專家學者的高度評價和熱衷研究[1-3]。針對并聯(lián)機器人軌跡的編程方式,傳統(tǒng)的機器人一般使用示教再現(xiàn)的方法,但此種方法不僅在控制策略上繁瑣復雜,而且在需要更改軌跡時,整個示教過程需要重新進行,浪費時間[4,5]。
機器人圖形化軌跡編程作為一種新的軌跡編程方法[6,7],其在利用計算機圖形學對機器人進行建模的基礎上,將機器人軌跡作為若干的圖形軌跡模塊的組合。在圖形化編程中,圖形軌跡算法是其重要和基本的研究內容,而算法的研究必須需要一種平臺作為工具來進行算法的分析和驗證。傳統(tǒng)機器人一般使用MATLAB 及其Robotics工具箱來進行算法研究[8],而Robotics工具箱并沒有針對并聯(lián)機器人的相關模型庫,同時MATLAB 在圖形學方面對機器人的三維建模及動態(tài)仿真的能力表現(xiàn)相對較差[9]。OpenGL作為一種優(yōu)秀的圖形編程接口,具有強大的三維建模能力,在機器人仿真等領域的研究受到了眾多學者的青睞[10]。
針對以上的情況,利用OpenGL建立了Delta機器人三維模型,設計了一套機器人動態(tài)仿真系統(tǒng)。對Delta機器人的運動控制算法和圖形軌跡算法進行了研究,并在仿真系統(tǒng)平臺上進行了算法的驗證及動態(tài)仿真。
OpenGL是一種獨立于硬件、可運行于多操作系統(tǒng)的三維軟件包接口,其按照計算機圖形學原理設計而成,具有嚴格和卓越的三維圖形標準。其具有強大的三維建模能力,且仿真動畫運行效果逼真流暢,非常適用于機器人的仿真研究。下面根據(jù)Delta機器人的運動特性及相應的構件形狀,利用OpenGL相關技術對其構建三維仿真模型。
如圖1所示,利用OpenGL 繪制兩個三角圖形來代替Delta機器人的靜平臺和動平臺,根據(jù)三自由度Delta機器人的特點可知靜平臺和動平臺所在的平面始終平行。鑲嵌在靜平臺3個邊中心點的圓柱體來表示3個電機驅動裝置,與3個電機驅動裝置相連接的為運動鏈的主動桿,在動平臺3個邊中心點的球體和主動桿末端的球體分別表示機構的球面副,而每條支鏈上連接兩個球面副的連桿為機構的從動桿。
圖1 Delta機器人三維建模
在Delta機器人仿真機構的基礎上,繪制了三維坐標系。為了方便使用者進行觀察和操作,首先選取坐標系XOZ平面平行于靜平臺和動平臺,x軸平行于靜平臺的一條三角邊,y軸的方向平行于靜平臺和動平臺的公垂線,然后根據(jù)右手法則繪制出三維坐標系。為使Delta機器人的運動范圍盡量保持在仿真系統(tǒng)平臺坐標系的0 坐標附近,選取當3條主動桿平行于動平臺時,即3個電機驅動的角度都為0 時,動平臺所在的平面即為XOZ 所在的平面。
Delta機器人的機構基本參數(shù)見表1。
表1 機器人基本參數(shù)
如圖2所示,由點M1、M2、M3組成的Delta機器人的靜平臺,由N1、N2、N3組成的動平臺,A1、A2、A3為靜平臺上驅動機構的中心點,同樣C1、C2、C3為連接動平臺與從動桿的球面副所在的中心點。R 為靜平臺內切圓的半徑,r為動平臺內切圓的半徑,L1為主動桿的長度,L2為從動桿的長度,H 為靜平臺中心點O 到動平臺中心點P的距離。根據(jù)Delta機器人的運動特性,將基坐標系建立在靜平臺的中心點。
圖2 機器人運動學建模
根據(jù)機器人的末端位姿求解驅動關節(jié)角度即為機器人運動學反解。Delta機器人的運動學反解即在已知動平臺中心點位置的情況下,求取3個驅動桿轉動角的問題。由于并聯(lián)機器人與串聯(lián)機器人本身結構及運動特性的不同,傳統(tǒng)的D-H 分析法不能適用于對Delta機器人的運動學分析,所以用另一種方法對Delta機器人進行了運動學算法的研究。
又
則根據(jù)式 (1)可知
由式 (2)可得到
設u1=x +rcos-Rcos1,v1=y(tǒng) +rsin-Rsin1,m1=-2u1L1cos-2v1L1sin1,n1=-2zL1,p1=++z2+-,則
根據(jù)式 (4)可求得θ1的解。同理可求得θ2、θ3的解。
在已知機器人各關節(jié)角度的情況下,求解機器人的末端位姿即為機器人的正向運動學。在此Delta機器人模型中,已知3個驅動桿的轉動角分別為θ1、θ2、θ3,求解動平臺的中心點的坐標即是Delta機器人的運動學正解。
根據(jù)上面的式 (3),設φ1 =rcos1-Rcos1-L1cos1cosθ1,ω1=rsin1-Rsin1-L1sin1cosθ1,ρ1 =-L1sinθ1,則
同理,可得
根據(jù)式(5)、式 (6)、式 (7)聯(lián)立組合成三元二次方程組,則求解此三元二次方程組即求得Delta機器人的運動學正解。由于機器人運動學建模中坐標系的建立方法與Open-GL三維模型中的不同,系統(tǒng)將機器人在運動學模型坐標系下的控制算法向OpenGL三維模型的坐標系進行了轉換。
系統(tǒng)平臺選擇在Windows系統(tǒng)上進行開發(fā),鑒于仿真平臺需要強有力的圖形工具做支撐,同時OpenGL 作為一種優(yōu)秀的圖形開發(fā)接口可以與Windows緊密結合。在VC平臺下使用MFC與OpenGL的混合編程進行系統(tǒng)平臺的設計開發(fā)。
如圖3所示,系統(tǒng)平臺分為基本菜單、機器人仿真主窗口、多視角窗口、功能操作窗口4 個部分?;静藛沃饕獞糜诜抡孳壽E的切換等。功能操作窗口則完成對機器人軌跡參數(shù)的輸入和狀態(tài)控制。機器人主仿真窗口是操作者對機器人模型的主要觀察窗口,而多視角窗口則是為了滿足操作者可以從其它視角來對機器人進行了全面的觀察分析。
圖3 系統(tǒng)仿真平臺
如圖4所示,系統(tǒng)共有4個線程,其中主線程進行系統(tǒng)任務的監(jiān)測,同時將分析后的任務消息傳送給子線程1。子線程1負責機器人運動控制算法的處理和主視口的刷新,同時向子線程2、子線程3發(fā)送刷新命令。線程2和線程3主要完成兩個不同視角的刷新任務。
圖4 系統(tǒng)控制流程
機器人軌跡是機器人研究領域中的重要內容,是機器人圖形化編程的基礎。在對機器人進行了OpenGL 三維建模和運動學建模之后,系統(tǒng)實現(xiàn)了機器人兩種類型圖形軌跡,并進行了驗證。
包括直線、圓/橢圓、正弦/余弦曲線3 種基本圖形軌跡。下面以圓形軌跡為例說明軌跡的相關算法。
假設運動前機器人末端位置為A(xA,yA,zA),圓形軌跡起點為B(xB,yB,zB)。令AB段軌跡速度為v,運行時間為t,長度為,則AB段軌跡
用圓的參數(shù)方程表示更易于此軌跡的設計實現(xiàn),假定當前軌跡點對應的角度為rad0,圓半徑為r,起始角度rad1,終止角度rad2,軌跡所在平面是繞Y 軸旋轉角度βy,繞Z軸旋轉角度為βz 所形成的平面。令軌跡起始點為x0y0z0,有以下方程
且
當系統(tǒng)運行時間為t,角速度為w 時,則rad0=w·t,由此可知旋轉前的軌跡方程為
根據(jù)點在空間坐標系中的映射算法,可以得到機器人末端的位置點,即圓形軌跡的表達式如下
除了基本圖形軌跡之外,實現(xiàn)了幾種復合軌跡,在基本圖形軌跡的基礎上,通過一種或者幾種軌跡的多次耦合而成。實現(xiàn)了包括平面復合軌跡 (扇形)和空間復合軌跡 (多邊形、六面體、球/橢球)。具體的實現(xiàn)流程如圖5所示。
圖5 復合軌跡控制算法
為了驗證系統(tǒng)的運動控制和圖形軌跡算法,進行了正弦曲線軌跡、橢圓曲線軌跡、扇形軌跡、六面體軌跡的仿真演示。根據(jù)如圖6所示仿真軌跡,可以驗證仿真系統(tǒng)平臺的可靠性及運動控制算法和軌跡算法的正確性。
圖6 軌跡仿真結果
在Delta機器人的三維建模的基礎上,分析研究了其運動學算法,并在運動控制基礎上,結合機器人圖形軌跡的控制算法,建立了一套機器人軌跡仿真系統(tǒng)。仿真結果驗證了運動學和軌跡算法的可靠性,直觀地展現(xiàn)了機器人運行的圖形軌跡,仿真系統(tǒng)達到了對Delta機器人控制算法檢驗和分析目的。圖形軌跡算法對Delta機器人的圖形化編程起到可靠的算法保證,仿真系統(tǒng)操作簡單,多視角仿真使操作者對機器人整體的運動情況有全方位的掌握,作為一種Delta機器人控制算法的驗證工具,對圖形化編程的研究具較高的科研價值。
[1]GAO Mingwang,ZHANG Xianmin,LIU Han.3-RRR highspeed parallel robot kinematics design and experiment[J].Robot,2013 (6):716-722 (in Chinese).[高名旺,張憲民,劉晗.3-RRR高速并聯(lián)機器人運動學設計與實驗 [J].機器人,2013 (6):716-722.]
[2]Angel L,Bermudez J,Munoz O.Dynamic optimization and building of a parallel delta-type robot[C]//IEEE International Conference on Proceedings of the Robotics and Biomimetics,2013.
[3]FENG Lihang,ZHANG Weigong,GONG Zongyang,et al.Progress and status of Delta series parallel robot research [J].Robot,2014,36 (3):375-384 (in Chinese). [馮李航,張為公,龔宗洋,等.Delta 系列并聯(lián)機器人研究進展與現(xiàn)狀[J].機器人,2014,36 (3):375-384.]
[4]Neto Pedro,Pires JN,Moreira AP.CAD-based off-line robot programming [C]//IEEE Conference on Robotics Automation and Mechatronics,2010:516-521.
[5]Neto P.Off-line programming and simulation from CAD drawings:Robot-assisted sheet metal bending [C]//39th Annual Conference of the IEEE Industrial Electronics Society,2013:4235-4240.
[6]Silke Lampe.A practical graphical based robot programming model in machine tending [C]//39th International Symposium on Robotics,2008:259-264.
[7]Li J,Xu A,Dudek G.Graphical state space programming:A visual programming paradigm for robot task specification[C]//IEEE International Conference on Proceedings of the Robotics and Automation.IEEE,2011:4846-4853.
[8]Corke P. MATLAB toolboxes:Robotics and vision for students and teachers [J].IEEE Robotics & Automation Magazine,2007,14 (4):16-17.
[9]CHEN Wei,CHEN Yimin,WANG Di.Research on virtual simulation and control of robot[J].Computer Engineering and Design,2010,31 (20):4455-4458 (in Chinese).[陳偉,陳一民,汪地,等.機器人虛擬仿真及控制技術研究 [J].計算機工程與設計,2010,31 (20):4455-4458.]
[10]Xiang G,Kai Z,Xijuan G.Analysis of dynamic performance indices of 3-RPC parallel mechanism [C]//International Conference on Proceedings of the Environmental Science and Information Application Technology.IEEE,2010:78-82.