韋鷺陽(yáng),李成剛,李佳璇,尹萬(wàn)新
(南京航空航天大學(xué) 機(jī)電學(xué)院,江蘇 南京 210016)
基于VC的平面并聯(lián)機(jī)器人控制軟件設(shè)計(jì)
韋鷺陽(yáng),李成剛,李佳璇,尹萬(wàn)新
(南京航空航天大學(xué) 機(jī)電學(xué)院,江蘇 南京 210016)
針對(duì)平面并聯(lián)機(jī)器人結(jié)構(gòu),分析其逆運(yùn)動(dòng)學(xué)并提出一種軌跡規(guī)劃方案。采用VC6.0設(shè)計(jì)一款人機(jī)交互軟件,其包含圖形界面、列表界面等功能模塊,采用OpenGL編寫(xiě)三維圖形仿真界面。軟件通過(guò)調(diào)用PMAC的動(dòng)態(tài)鏈接庫(kù)實(shí)現(xiàn)與下位機(jī)的通訊,從而控制機(jī)器人按目標(biāo)軌跡運(yùn)動(dòng)。最后通過(guò)實(shí)驗(yàn)證明了該軟件的實(shí)用性與合理性。
平面并聯(lián)機(jī)器人;運(yùn)動(dòng)學(xué);軌跡規(guī)劃;人機(jī)交互
近年來(lái),隨著機(jī)器人應(yīng)用領(lǐng)域的不斷擴(kuò)大,適用于搬運(yùn)、分揀等作業(yè)的平面并聯(lián)機(jī)器人由于其具有剛度大、速度快等優(yōu)點(diǎn),逐漸受到國(guó)內(nèi)外學(xué)者的重視[1-2]。天津大學(xué)從該機(jī)器人結(jié)構(gòu)分析、運(yùn)動(dòng)學(xué)標(biāo)定等方面進(jìn)行研究[2],研制的Diamond機(jī)械手已應(yīng)用于鋰電池分揀生產(chǎn)線[3]。文獻(xiàn)[4]從教學(xué)型機(jī)械手的需要出發(fā),進(jìn)行了平面并聯(lián)機(jī)器人工作控制系統(tǒng)建造等研究。
目前平面并聯(lián)機(jī)器人的操作控制一般采用人工示教或離線編程實(shí)現(xiàn),對(duì)操作人員的技術(shù)要求較高,且更新工作任務(wù)周期長(zhǎng),既增加生產(chǎn)成本,又降低生產(chǎn)效率。為簡(jiǎn)化并聯(lián)機(jī)器人的控制操作,提高機(jī)器人運(yùn)動(dòng)規(guī)劃和任務(wù)更新效率,本文針對(duì)自行設(shè)計(jì)的全鉸鏈平面并聯(lián)機(jī)器人提出一種控制軟件設(shè)計(jì)方案,可增強(qiáng)機(jī)器人的可操作性和用戶界面的友好性。
1.1平面并聯(lián)機(jī)器人結(jié)構(gòu)
自行設(shè)計(jì)的平面并聯(lián)機(jī)器人如圖1所示。機(jī)器人包含機(jī)架、動(dòng)平臺(tái)及2個(gè)結(jié)構(gòu)相同的支鏈,每個(gè)支鏈中的桿件組成2個(gè)平行四邊形,各桿件間運(yùn)動(dòng)副都是與電機(jī)軸同向的轉(zhuǎn)動(dòng)副,當(dāng)安裝在機(jī)架上的兩臺(tái)伺服電機(jī)帶動(dòng)主動(dòng)臂轉(zhuǎn)動(dòng)時(shí),各運(yùn)動(dòng)桿件聯(lián)動(dòng),最終實(shí)現(xiàn)動(dòng)平臺(tái)的二自由度平動(dòng)。
1.2機(jī)器人逆運(yùn)動(dòng)學(xué)
研究機(jī)器人的逆運(yùn)動(dòng)學(xué)是研究其控制軟件的理論基礎(chǔ)。由于支鏈中存在平行四邊形結(jié)構(gòu),機(jī)器人的運(yùn)動(dòng)學(xué)實(shí)際是由主動(dòng)臂、從動(dòng)臂和機(jī)架組成的平面五桿并聯(lián)機(jī)構(gòu)運(yùn)動(dòng)學(xué)[5],如圖2所示。
圖1 平面并聯(lián)機(jī)器人
應(yīng)用平面幾何知識(shí)及余弦定理推導(dǎo)出平面五桿并聯(lián)機(jī)構(gòu)的逆運(yùn)動(dòng)學(xué)公式
(1)
式中:
圖2 平面五桿并聯(lián)機(jī)構(gòu)簡(jiǎn)圖
1.3軌跡規(guī)劃
一般地,機(jī)器人在其工作空間內(nèi)運(yùn)動(dòng),期望操作臂的運(yùn)動(dòng)是平滑的,為此要進(jìn)行軌跡規(guī)劃,定義一個(gè)連續(xù)且具有連續(xù)一階導(dǎo)數(shù)甚至有連續(xù)二階導(dǎo)數(shù)的運(yùn)動(dòng)函數(shù)。通常用戶在操作機(jī)器人時(shí)關(guān)心的是末端執(zhí)行器路徑,即用笛卡爾位姿關(guān)于時(shí)間的函數(shù)來(lái)描述路徑形狀,最常見(jiàn)的路徑形狀為直線。為保證末端執(zhí)行器運(yùn)動(dòng)平滑,本文采用末端速度關(guān)于時(shí)間的三次多項(xiàng)式函數(shù)進(jìn)行軌跡規(guī)劃,其在{s-t}坐標(biāo)系中的曲線如圖3所示。
圖3 末端期望路徑曲線
由圖3中可以看出,機(jī)器人末端直線段運(yùn)動(dòng)有加速、勻速、減速3個(gè)運(yùn)動(dòng)階段,速度的表達(dá)式為
(2)
a.當(dāng)0≤t≤t1時(shí),機(jī)器人末端為加速運(yùn)動(dòng),其中
(3)
將式(3)代入式(2)中,聯(lián)立方程組求得速度表達(dá)式系數(shù)
(4)
從而得到加速階段速度表達(dá)式
(5)
b.當(dāng)t1 (6) c.當(dāng)tf-t2 (7) 將式(7)代入式(2)中,聯(lián)立方程組求得速度表達(dá)式系數(shù) (8) 從而得到減速階段速度表達(dá)式 (9) 聯(lián)立式(5)、(6)、(9)得速度表達(dá)式 (10) 式中:t1為用戶給定的加速時(shí)間;t2為給定的減速時(shí)間;vmax為給定的運(yùn)動(dòng)速度;tf為運(yùn)動(dòng)總時(shí)間。 對(duì)式(10)關(guān)于時(shí)間t積分,整理得位移表達(dá)式 (11) 將t=tf代入式(11)得 (12) 解得 (13) 式中:(x0,y0)為用戶給定的路徑起始點(diǎn)坐標(biāo);(x1,y1)為用戶給定的路徑終止點(diǎn)坐標(biāo)。 分解位移表達(dá)式可得坐標(biāo)表達(dá)式 (14) 將式(11)、(13)代入式(14),即得末端軌跡坐標(biāo)表達(dá)式。 在笛卡爾空間生成路徑后,需要應(yīng)用逆運(yùn)動(dòng)學(xué)公式實(shí)時(shí)求解各關(guān)節(jié)角度。由于平面并聯(lián)機(jī)器人逆運(yùn)動(dòng)學(xué)相對(duì)簡(jiǎn)單,且PMAC提供樣條插值運(yùn)動(dòng)模式,所以笛卡爾空間軌跡規(guī)劃方法能有效應(yīng)用于平面并聯(lián)機(jī)器人。 2.1功能模塊劃分 考慮到機(jī)器人控制軟件既要有完善的功能又要有友好的操作界面,因此軟件運(yùn)行環(huán)境為裝有Windows操作系統(tǒng)的IPC,開(kāi)發(fā)環(huán)境采用VC6.0編程工具、基于對(duì)話框的框架形式。整個(gè)操作主界面劃分為圖形界面、列表界面、監(jiān)控界面及控制界面4個(gè)功能模塊。整個(gè)系統(tǒng)的工作流程如圖4所示。 圖形界面:用于顯示和修改機(jī)器人末端軌跡情況,與用戶有良好的交互性。 列表界面:用于顯示和修改機(jī)器人所有路徑信息。 監(jiān)控界面:主要顯示機(jī)器人關(guān)節(jié)的運(yùn)動(dòng)情況。 控制界面:主要負(fù)責(zé)給下位機(jī)發(fā)送指令,控制機(jī)器人運(yùn)動(dòng)。 圖4 控制系統(tǒng)結(jié)構(gòu)圖 2.2三維圖形仿真 為避免機(jī)器人在實(shí)際運(yùn)行中發(fā)生不可預(yù)測(cè)的碰撞,本文采用基于OpenGL的三維繪圖方法,旨在將平面并聯(lián)機(jī)器人末端沿目標(biāo)軌跡的運(yùn)動(dòng)模擬展示給用戶,使機(jī)器人運(yùn)動(dòng)更直觀。由于三維圖形仿真界面為控制軟件的輔助功能模塊,因此該模塊建立在非模態(tài)子對(duì)話框的基礎(chǔ)上。三維仿真模塊的具體流程如圖5所示。 圖5 三維仿真模塊流程圖 2.3上位機(jī)與下位機(jī)通訊 PMAC是美國(guó)Delta Tau公司推出的多軸運(yùn)動(dòng)控制器,具有實(shí)時(shí)性強(qiáng)、穩(wěn)定性好、效率高等優(yōu)點(diǎn),用來(lái)與下層執(zhí)行機(jī)構(gòu)進(jìn)行數(shù)據(jù)通信,同時(shí)其配套PComm32驅(qū)動(dòng)程序作為與上層應(yīng)用程序的通訊橋梁[6]。使用該通信驅(qū)動(dòng)程序常用的方法是加載其動(dòng)態(tài)鏈接庫(kù)PComm32.dll到程序內(nèi)存中。由于多自由度工業(yè)機(jī)器人運(yùn)動(dòng)學(xué)的復(fù)雜性,為了保證機(jī)器人運(yùn)行不受計(jì)算耗時(shí)和通訊延遲的影響,工程上常用的方法是使用上位機(jī)做運(yùn)動(dòng)學(xué)解算,通過(guò)雙端口RAM通信把各關(guān)節(jié)的運(yùn)動(dòng)信息發(fā)送至下位機(jī)。另外,還有一種方法是上位機(jī)把末端路徑信息發(fā)送至下位機(jī),下位機(jī)通過(guò)預(yù)先編好的運(yùn)動(dòng)學(xué)解算程序計(jì)算出各軸的運(yùn)動(dòng)狀態(tài)[7]。本文采用第二種方法,把機(jī)器人軌跡規(guī)劃方程和運(yùn)動(dòng)學(xué)逆解方程寫(xiě)成PMAC的運(yùn)動(dòng)程序文件,并保存至控制軟件的工程目錄下。在控制軟件的初始化函數(shù)中載入DLL文件,并使用其提供的PmacDownloadA()函數(shù)把運(yùn)動(dòng)程序文件下載至PMAC的程序緩沖區(qū)中。當(dāng)操作人員在軟件界面中創(chuàng)建或修改機(jī)器人末端路徑時(shí),程序通過(guò)PmacSendCommandA ()函數(shù)將路徑信息保存至PMAC的全局變量中,在PMAC獲得上位機(jī)發(fā)來(lái)的執(zhí)行運(yùn)動(dòng)程序指令后,PMAC執(zhí)行軌跡規(guī)劃和逆運(yùn)動(dòng)學(xué)解算,并控制機(jī)器人各關(guān)節(jié)運(yùn)動(dòng)。 2.4軟件封裝 在VC6.0中,按下F7或點(diǎn)擊Build *.exe菜單后,系統(tǒng)自動(dòng)編譯并生成EXE可執(zhí)行程序。把EXE文件、DLL文件和三維圖形文件放在同一個(gè)目錄中,使用安裝包制作工具完成控制軟件的封裝。 運(yùn)行軟件,鼠標(biāo)按下圖形界面旁的“直線”按鈕,在圖形界面中單擊鼠標(biāo)左鍵,此時(shí)軟件自動(dòng)創(chuàng)建新路徑。新路徑的起始點(diǎn)為機(jī)器人初始點(diǎn)或上一段路徑終止點(diǎn),新路徑的終止點(diǎn)為鼠標(biāo)當(dāng)前位置,路徑為兩節(jié)點(diǎn)間的直線段,加減速時(shí)間和運(yùn)動(dòng)速度均為默認(rèn)值。同時(shí),新路徑的所有信息顯示在列表界面中,并且機(jī)器人兩個(gè)電機(jī)的期望轉(zhuǎn)角曲線繪制在監(jiān)控界面中。雙擊列表界面中要修改的路徑信息,輸入新路徑信息并回車,此時(shí)圖形界面和監(jiān)控界面重繪圖形。控制軟件主界面如圖6所示。 圖6 控制軟件主界面 按下圖形界面的“3D”按鈕,彈出三維圖形仿真界面,此時(shí)可查看機(jī)器人在給定路徑下的模擬運(yùn)行狀態(tài),如圖7所示。按下主界面的運(yùn)行按鈕,機(jī)器人開(kāi)始沿目標(biāo)軌跡運(yùn)動(dòng)。機(jī)器人兩個(gè)電機(jī)的期望轉(zhuǎn)角和實(shí)際轉(zhuǎn)角曲線如圖8所示。由圖可以看出,實(shí)際轉(zhuǎn)角曲線和期望轉(zhuǎn)角曲線基本一致,由此推斷機(jī)器人沿期望軌跡運(yùn)行。 圖7 三維仿真界面 圖8 實(shí)例運(yùn)行的電機(jī)轉(zhuǎn)角曲線 本文針對(duì)一種平面并聯(lián)機(jī)器人,應(yīng)用VC6.0與OpenGL開(kāi)展其控制軟件的研究,實(shí)現(xiàn)了以圖形操作為主的控制方式,采用功能模塊劃分的設(shè)計(jì)思路,使操作環(huán)境更友好更簡(jiǎn)單,使用PMAC作為下位機(jī)接收路徑信息,進(jìn)行軌跡規(guī)劃和逆運(yùn)動(dòng)學(xué)解算。相對(duì)傳統(tǒng)的機(jī)器人離線編程,該控制軟件更具有針對(duì)性、交互性、高效性,可為工業(yè)機(jī)器人交互軟件的發(fā)展提供參考。 [1] 趙永杰. 高速輕型并聯(lián)機(jī)械手動(dòng)態(tài)設(shè)計(jì)理論與方法[D].天津: 天津大學(xué), 2006. [2] 李占賢. 高速輕型并聯(lián)機(jī)械手關(guān)鍵技術(shù)及樣機(jī)建造[D]. 天津:天津大學(xué), 2004. [3] 梅江平. Diamond高速并聯(lián)機(jī)械手[J]. 天津科技,2007,34(4): 23-25. [4] 周蘭菊,梅江平,陳志剛. 基于Diamond機(jī)械手的實(shí)驗(yàn)設(shè)備研究與實(shí)現(xiàn)[J]. 組合機(jī)床與自動(dòng)化加工技術(shù),2008(9): 85-87. [5] 辛洪兵,余躍慶. 平面五桿并聯(lián)機(jī)器人運(yùn)動(dòng)學(xué)導(dǎo)論[M]. 北京: 國(guó)防工業(yè)出版社, 2007. [6] 劉蕾,唐為義,原所先. 基于VC++與PMAC的機(jī)器人控制軟件的開(kāi)發(fā)[J]. 微計(jì)算機(jī)信息, 2008(5): 203-205. [7] 朱俊華. 基于PMAC的五桿機(jī)構(gòu)控制系統(tǒng)研究[D]. 武漢:武漢科技大學(xué), 2006. DevelopmentofVC-basedcontrolsystemfortheplanarparallelrobot WEI Luyang, LI Chenggang, LI Jiaxuan, YIN Wanxin (Nanjing University of Aeronautics and Astronautics, Jiangsu Nanjing, 210016, China) Aiming at the structure of planar parallel robot, it analyzes its inverse kinematics and proposes a trajectory planning scheme, designs a human-computer interactive software based on VC6.0, applies a 3D graphics simulation interface with OpenGL to develop the interactive software, which includes function modules such as graphic interface, list interface etc. Through calling the dynamic link library of PMAC, the software can communicate with the lower computer to ensure the robot for the target trajectory movement. It takes the experiment to prove the practicability and rationality of the software. planar parallel robot; kinematics; trajectory planning; human-computer interaction 10.3969/j.issn.2095-509X.2014.12.003 2014-12-04 中央高?;究蒲袠I(yè)務(wù)費(fèi)專項(xiàng)資金資助項(xiàng)目(NZ2013307);國(guó)家自然科學(xué)基金資助項(xiàng)目(51405237) 韋鷺陽(yáng)(1987—),男,廣西武鳴人,南京航空航天大學(xué)碩士研究生,主要研究方向?yàn)楣I(yè)機(jī)器人技術(shù)。 TP311 A 2095-509X(2014)12-0011-052 軟件操作界面設(shè)計(jì)
3 實(shí)例運(yùn)行
4 結(jié)束語(yǔ)