邱煥能,林仕高,歐元賢
(華南理工大學(xué)機(jī)械與汽車工程學(xué)院,廣東廣州 510640)
機(jī)器人操作臂離線編程仿真系統(tǒng)
邱煥能,林仕高,歐元賢
(華南理工大學(xué)機(jī)械與汽車工程學(xué)院,廣東廣州 510640)
簡述了離線編程仿真系統(tǒng)相對傳統(tǒng)示教編程的優(yōu)勢,提出了基于OpenGL與QT的機(jī)器人操作臂離線編程仿真系統(tǒng),建立機(jī)器人操作臂及工件的三維模型并實(shí)現(xiàn)了機(jī)械臂的運(yùn)動學(xué)動態(tài)仿真。設(shè)計(jì)開發(fā)了離線編程仿真系統(tǒng)各功能模塊,包括機(jī)器人語言編程模塊 (編程語言及其翻譯器)、運(yùn)動規(guī)劃模塊、機(jī)器人運(yùn)動仿真模塊、模型管理及輔助模塊等。最后給出了仿真系統(tǒng)對機(jī)器人搬運(yùn)工件的應(yīng)用實(shí)例。
離線編程仿真系統(tǒng);機(jī)器人操作臂;QT;OpenGL
伴隨著工業(yè)現(xiàn)代化的快速發(fā)展,機(jī)器人技術(shù)作為體現(xiàn)工業(yè)自動化水平和智能化程度的重要標(biāo)桿[1],得到了人們?nèi)找娴年P(guān)注。其中,機(jī)器人操作臂離線編程仿真系統(tǒng)結(jié)合計(jì)算機(jī)圖形學(xué)、語言學(xué)和機(jī)器人技術(shù),很好地解決了傳統(tǒng)示教編程的不足,有效保證了生產(chǎn)的產(chǎn)品質(zhì)量、提高勞動生產(chǎn)率和改善工作環(huán)境。
相對于傳統(tǒng)的示教編程的方法,離線編程具有以下的優(yōu)點(diǎn):(1)減少實(shí)體機(jī)器人的占用時(shí)間,可以并發(fā)處理多個作業(yè)人任務(wù),從而提高了生產(chǎn)率,易于實(shí)現(xiàn)柔性生產(chǎn)[2];(2)結(jié)合計(jì)算機(jī)圖形學(xué)技術(shù)和機(jī)器人編程語言,對于復(fù)雜的運(yùn)動進(jìn)行描述和編程,并進(jìn)行高精度的仿真,可以實(shí)現(xiàn)復(fù)雜運(yùn)動軌跡和運(yùn)動參數(shù)的優(yōu)化[3];(3)對機(jī)器人的軌跡規(guī)劃等算法進(jìn)行驗(yàn)證,并及早將運(yùn)行過程中可能出現(xiàn)的問題通過仿真暴露出來,可以防止作業(yè)過程中實(shí)體機(jī)器人因?yàn)椴僮魇М?dāng)造成的損壞;(4)相對于示教編程,機(jī)器人控制程序可以不需要改動或者少量的改動就可以從一個型號的機(jī)器人移植到另外一個機(jī)器人上,從而進(jìn)行相同的作業(yè)任務(wù),另外一個方面采用文本的編程方法,也很方便地進(jìn)行程序的修改和編輯;(5)離線仿真編程可以很方便地與智能控制算法相結(jié)合,提高機(jī)器人作業(yè)的質(zhì)量和穩(wěn)定性;(6)通過編程仿真,生產(chǎn)者可以根據(jù)實(shí)際的作業(yè)環(huán)境和生產(chǎn)需求測試不同類型的機(jī)器人及其運(yùn)行的效果,從而為機(jī)器人的選型提供了有效的依據(jù)。因此,離線編程系統(tǒng)相對于傳統(tǒng)的示教編程有極大的優(yōu)勢,日趨成為機(jī)器人研究領(lǐng)域的研究熱點(diǎn)。本文作者提出了一種基于QT和OpenGL的離線編程仿真系統(tǒng),該系統(tǒng)使用自主設(shè)計(jì)的一套機(jī)器人編程語言及其翻譯系統(tǒng),并具備運(yùn)動仿真,場景管理、程序編程和校驗(yàn)功能,能對運(yùn)動過程進(jìn)行碰撞干涉的檢驗(yàn),能輸出機(jī)器人運(yùn)動學(xué)數(shù)據(jù)。
該系統(tǒng)的總體框架如圖1所示,包括了機(jī)器人語言編程模塊 (編程語言及其翻譯器)、運(yùn)動規(guī)劃模塊、機(jī)器人運(yùn)動仿真模塊、模型管理模塊和輔助模塊等。系統(tǒng)工作的流程為:用戶設(shè)置從模型庫選擇機(jī)器人模型和工作環(huán)境的模型,或者用戶可以導(dǎo)入自定義的三維模型數(shù)據(jù),根據(jù)機(jī)器人的作業(yè)要求,設(shè)置示教點(diǎn),并在代碼編輯器中對機(jī)器人進(jìn)行編程,所得到的程序由機(jī)器人語言處理模塊進(jìn)行處理,并結(jié)合運(yùn)動規(guī)劃模塊進(jìn)行機(jī)器人運(yùn)動學(xué)仿真,在仿真過程中進(jìn)行碰撞檢測和可行性檢測,最后生成整個仿真作業(yè)任務(wù)的運(yùn)動學(xué)的圖表信息,以便進(jìn)行下一步的分析檢驗(yàn)工作。
圖1 離線編程仿真系統(tǒng)的總體框架圖
各個模塊的功能如下:(1)機(jī)器人語言編程模塊。該模塊包含兩部分的內(nèi)容,編程語言和語言翻譯。本文作者結(jié)合軌跡規(guī)劃器和機(jī)器人的特點(diǎn),設(shè)計(jì)出一套機(jī)器人編程語言。根據(jù)該語言的特點(diǎn),設(shè)計(jì)出語言的翻譯器。翻譯器的整體框架如圖2所示。
圖2 翻譯器的整體框架圖
翻譯器的作用是將輸入的源程序代碼,通過前端的詞法、語法和語義分析器,生成中間表達(dá)形式的語法樹和符號表,末端的執(zhí)行器結(jié)合語法樹和符號表,將機(jī)器人的運(yùn)動指令序列按照機(jī)器人控制程序的依次送到運(yùn)動規(guī)劃模塊。
(2)運(yùn)動規(guī)劃模塊。該模塊包含兩個部分的內(nèi)容,運(yùn)動學(xué)計(jì)算和軌跡規(guī)劃。該模塊接收到語言編程模塊的輸入指令,軌跡規(guī)劃器根據(jù)作業(yè)任務(wù)的要求和運(yùn)動學(xué)和動力學(xué)的約束條件,在每個插補(bǔ)周期計(jì)算出插補(bǔ)點(diǎn)的位置。軌跡規(guī)劃器的流程圖如圖3所示。
經(jīng)過軌跡規(guī)劃器便可以得到插補(bǔ)點(diǎn)的位姿,再通過機(jī)器人的運(yùn)動學(xué)逆解,便可以得到機(jī)器人每個關(guān)節(jié)的角位移。
圖3 軌跡規(guī)劃器流程圖
(3)機(jī)器人的運(yùn)動仿真模塊。通過上面的運(yùn)動規(guī)劃器得到的一系列機(jī)器人各關(guān)節(jié)的關(guān)節(jié)角序列,按照插補(bǔ)周期,將每一個位姿按照時(shí)間連續(xù)地現(xiàn)實(shí)出來,就能夠現(xiàn)實(shí)機(jī)器人作業(yè)的仿真動畫。作為仿真模塊的重要組成部分,還實(shí)現(xiàn)了運(yùn)動碰撞檢測、位姿限制檢測和視角控制等功能。
(4)模型管理模塊。在該系統(tǒng)中,為了最大程度地對實(shí)際作業(yè)環(huán)境進(jìn)行模擬仿真,從而可以對設(shè)計(jì)的機(jī)器人運(yùn)動軌跡進(jìn)行充分地驗(yàn)證及合理性分析。文中統(tǒng)一采用圖形接口的方式導(dǎo)入機(jī)器人及環(huán)境模型。
(5)輔助模塊。為了對機(jī)器人仿真結(jié)果有一個參數(shù)化的評價(jià)提供依據(jù),實(shí)現(xiàn)的系統(tǒng)能夠?qū)\(yùn)動過程中所有的運(yùn)動學(xué)參數(shù)進(jìn)行統(tǒng)計(jì),并制作成圖表。另外也實(shí)現(xiàn)了對于機(jī)器人的狀態(tài)觀測,包括I/O的狀態(tài)、工具加載狀態(tài)和示教點(diǎn)管理等功能。
機(jī)器人操作臂離線編程仿真系統(tǒng)的窗口如圖4所示。
圖4 機(jī)器人操作臂離線編程仿真系統(tǒng)的主要界面
主要包括工具欄顯示區(qū)、場景顯示區(qū)、場景管理區(qū)和狀態(tài)消息顯示區(qū)。工具欄顯示區(qū)主要包括了一些常用的快捷按鈕,場景顯示區(qū)用來對仿真的場景進(jìn)行顯示,場景管理區(qū)對場景中的物件進(jìn)行管理,狀態(tài)消息顯示區(qū)主要是對命令和快捷按鈕的提示及對警告和錯誤信息的提示等。通過導(dǎo)入機(jī)器人及場景的三維模型建立機(jī)器人的作業(yè)環(huán)境,如圖5所示。
圖5 作業(yè)環(huán)境的初始化設(shè)置
通過對初始條件的設(shè)置,包括機(jī)器人的初始位置、示教點(diǎn)的設(shè)置和各個I/O的狀態(tài)設(shè)置,場景中各個物件的位姿,得到如圖6所示的虛擬環(huán)境界面。調(diào)用機(jī)器人的程序編輯器,按照機(jī)器人編程語言的語法規(guī)則結(jié)合機(jī)器人的作業(yè)任務(wù),在程序編輯器中編寫機(jī)器人的控制程序。編譯該程序,如果編譯沒有發(fā)生錯誤,執(zhí)行該程序,便可以實(shí)現(xiàn)機(jī)器人的運(yùn)動仿真的過程。如圖7所示,為機(jī)器人對架子A上的黃色物件塊,搬運(yùn)到架子B的任務(wù)進(jìn)行編程中。
圖6 機(jī)器人程序編輯器及其控制程序的錄入
各個關(guān)鍵位置的仿真界面如圖7所示。
圖7 機(jī)器人的運(yùn)動控制仿真
得到各個關(guān)節(jié)的位置運(yùn)動圖表如圖8所示。
圖8 運(yùn)動學(xué)狀態(tài)圖表
詳細(xì)討論了基于QT和OpenGL開發(fā)的機(jī)器人操作臂離線編程仿真系統(tǒng)的實(shí)現(xiàn)方法。用戶界面友好,易于操作。具有統(tǒng)一的圖形接口,可以方便地導(dǎo)入不同的環(huán)境模型和機(jī)器人模型,對機(jī)器人進(jìn)行編程仿真。系統(tǒng)既可以對機(jī)器人的運(yùn)動正確性及運(yùn)動碰撞等進(jìn)行檢驗(yàn),又可通過仿真所生成的運(yùn)動學(xué)信息圖表對機(jī)器人控制算法進(jìn)行深入評估。
[1]董文輝.基于機(jī)器視覺的工業(yè)機(jī)器人抓取技術(shù)的研究[D].武漢:華中科技大學(xué),2011.
[2]熊有倫.機(jī)器人技術(shù)基礎(chǔ)[M].武漢:華中科技大學(xué)出版社,2011.
[3]張愛云,張秋菊.機(jī)器人虛擬示教編程系統(tǒng)[J].機(jī)械工程師,2002(12):15-17.
Off-line Programm ing Simulation System of Robotic Manipulators
QIU Huanneng,LIN Shigao,OU Yuanxian
(School of Mechanical and Automotive Engineering,South China University of Technology,Guangzhou Guangdong 510640,China)
The advantages of the off-line programming and simulation system were introduced,as compared with traditional teaching programming by demonstration.An off-line programming and simulation system of robot based on OpenGL and QTwas established,in which three dimentional(3D)models,aswellas kinematics simulation ofa roboticmanipulator and workpieceswere builtand implemented.Every modules of the off-line programming and simulation system were developed and designed,including robotic programming languagemodule(programming language and its translator),motion planningmodule,roboticmotion simulationmodule andmodeladministration and assistant module,and etc.In the end,an application casewas provided of the simulation system about the transportation and handing process of the robot.
Off-line programming and simulation system;Robotic manipulator;QT;OpenGL
TP249
A
1001-3881(2015)21-028-4
10.3969/j.issn.1001 -3881.2015.21.006
2014-09-26
廣州市科技計(jì)劃項(xiàng)目資助 (2013J4300012)
邱煥能,碩士研究生,主要研究方向?yàn)橹悄軝C(jī)器人控制和嵌入式系統(tǒng)開發(fā)。E-mail:qiu_hn@163.com。