摘 要: 以工業(yè)機(jī)器人在線仿真系統(tǒng)為研究對象,介紹了工業(yè)機(jī)器人仿真開發(fā)的技術(shù)方法。為了驗(yàn)證設(shè)計(jì)和算法的合理性和準(zhǔn)確性,分別建立了基于OpenGL和Matlab的機(jī)器人在線仿真實(shí)驗(yàn)平臺。然后根據(jù)MDH模型對其運(yùn)動(dòng)過程進(jìn)行了仿真,從正解、反解兩個(gè)方面對機(jī)械臂進(jìn)行了運(yùn)動(dòng)學(xué)描述。最后研究了OpenGL和Matlab機(jī)器人工具箱在機(jī)器人在線仿真中應(yīng)用的可行性,取得了良好的實(shí)際效果。仿真結(jié)果表明,該系統(tǒng)能夠滿足實(shí)際工程的要求。
關(guān)鍵詞: OpenGL;仿真;工業(yè)機(jī)器人;運(yùn)動(dòng)學(xué);機(jī)器人工具箱
隨著自動(dòng)化技術(shù)的發(fā)展,工業(yè)機(jī)器人的應(yīng)用越來越廣泛,已經(jīng)滲透到各行各業(yè)[1-2]。機(jī)器人技術(shù)在軍事、醫(yī)藥、工業(yè)自動(dòng)化、搶險(xiǎn)救災(zāi)等方面已經(jīng)成為不可或缺的好幫手[3-4]。一個(gè)國家的機(jī)器人發(fā)展水平也能從側(cè)面體現(xiàn)國家科技的發(fā)展水平。
本文以廣泛意義上的六自由度的機(jī)械臂為實(shí)例,分析了機(jī)械臂的運(yùn)動(dòng)學(xué)正反解問題。分別利用OpenGL三維仿真技術(shù)和Matlab機(jī)器人工具箱嵌入機(jī)器人技術(shù)模塊,對六自由度機(jī)械臂進(jìn)行系統(tǒng)模擬仿真,同時(shí)建立了機(jī)械臂可視化頁面。在研發(fā)和設(shè)計(jì)機(jī)器人的過程中,機(jī)器人仿真技術(shù)是一種安全有效的方法,它發(fā)揮著至關(guān)重要的作用,并且應(yīng)該廣泛地推廣[5]。
國內(nèi)外一些學(xué)者和研究機(jī)構(gòu)在機(jī)器人運(yùn)動(dòng)學(xué)仿真方面進(jìn)行了實(shí)驗(yàn)性的研究。例如Ding Jienan、GOLDMAN R E、Xu Kai和ALLEN P K設(shè)計(jì)了一種基于單端口診斷可插入的機(jī)器人運(yùn)動(dòng)學(xué)系統(tǒng)平臺[6]。KLOETZER M、MAGDICI S和BURLACU A設(shè)計(jì)了一種針對規(guī)劃移動(dòng)機(jī)器人的實(shí)驗(yàn)平臺和Matlab工具箱[7]。鑒于此,本文選用Matlab機(jī)器人工具箱和OpenGL圖形圖像仿真系統(tǒng)工具,對工業(yè)機(jī)器人進(jìn)行在線仿真系統(tǒng)的開發(fā)。
1 機(jī)械臂仿真系統(tǒng)研究
本文以ABB公司的IRB4600機(jī)器人為研究對象,進(jìn)行了機(jī)器人在線仿真系統(tǒng)的研究與開發(fā)應(yīng)用。ABB的IRB4600工業(yè)機(jī)器人的精度較高、操作速度快、廢品率低,在擴(kuò)大產(chǎn)能和提升效率方面起到舉足輕重的作用,適合切削、點(diǎn)膠、機(jī)加工、測量、裝配及焊接應(yīng)用。IRB4600具有超大的工作范圍和創(chuàng)新的優(yōu)化設(shè)計(jì),機(jī)身緊湊輕巧,所獲周期時(shí)間與行業(yè)標(biāo)準(zhǔn)相比最短可縮減25%,從而提高產(chǎn)能與效率。
機(jī)器人設(shè)計(jì)仿真系統(tǒng)的原理如圖1所示。在機(jī)器人在線仿真系統(tǒng)研究與應(yīng)用中,一般以Windows作為開發(fā)平臺,選用Visual C++ 6.0、Matlab機(jī)器人工具箱和OpenGL仿真軟件作為開發(fā)工具來完成機(jī)器人模型的設(shè)計(jì)和建立,具有可視化操作的優(yōu)點(diǎn)。在機(jī)器人的幾何模型建立與仿真程序設(shè)計(jì)的過程中,用戶通過對人機(jī)交互界面的操作間接地控制目標(biāo)模型,為機(jī)器人的在線仿真系統(tǒng)建立和求解空間模型提供了很好的基礎(chǔ)條件。
2 機(jī)器人在線仿真系統(tǒng)
2.1 ABB的機(jī)器人仿真系統(tǒng)
Robot Studio是ABB的機(jī)器人仿真系統(tǒng)廣泛使用的工具,就像真正的機(jī)器人在你的電腦。使用ABB的模擬和離線編程軟件Robot Studio,可以使得用戶在辦公室內(nèi)進(jìn)行遠(yuǎn)距離的機(jī)器人編程,以滿足不同情況下的生產(chǎn)需求。Robot Studio可以提供工具來提高盈利能力的機(jī)器人系統(tǒng),便于執(zhí)行任務(wù),例如培訓(xùn)、編程和優(yōu)化無干擾生產(chǎn)。這提供了眾多的好處,包括減少風(fēng)險(xiǎn)、快速啟動(dòng)、更短的轉(zhuǎn)換及提高了生產(chǎn)率。Robot Studio可以幫助開發(fā)者非常逼真地模擬執(zhí)行,在程序和配置文件相同的情況下,使用虛擬機(jī)器人與真實(shí)機(jī)器人可以達(dá)到一致效果。
2.2 基于Inventor的機(jī)器人仿真系統(tǒng)
Inventor是美國AutoDesk公司推出的一款三維可視化實(shí)體模擬軟件。借助Inventor的運(yùn)動(dòng)仿真功能,用戶能了解機(jī)器在真實(shí)條件下如何運(yùn)轉(zhuǎn)才能節(jié)省花費(fèi)在構(gòu)建物理樣機(jī)上的成本、時(shí)間和高額的咨詢費(fèi)用?;贗nventor的機(jī)器人仿真系統(tǒng)用戶可以根據(jù)實(shí)際工況添加載荷、摩擦特性和運(yùn)動(dòng)約束,然后通過運(yùn)行仿真功能驗(yàn)證設(shè)計(jì)。借助與應(yīng)力分析模塊的無縫集成,可將工況傳遞到某一個(gè)零件上,來優(yōu)化零部件設(shè)計(jì)。
2.3 基于Matlab的機(jī)器人仿真系統(tǒng)
通過Matlab這個(gè)強(qiáng)大的計(jì)算平臺,采用Robot Toolbox中所提供的接口函數(shù)編制簡單的程序。對工業(yè)機(jī)器人進(jìn)行正、逆問題求解,并且對機(jī)器人的運(yùn)動(dòng)軌跡進(jìn)行仿真,如圖2所示。在對工業(yè)機(jī)器人仿真前,先輸入機(jī)器人的參數(shù),定義其連桿的關(guān)節(jié)參數(shù)矩陣。建立仿真運(yùn)動(dòng)學(xué)仿真平臺步驟如下:
L=link([alpha A theta D],′modified′);
R=robot({L1 L2});
%用LINK來創(chuàng)建一個(gè)機(jī)器人對象;
plot(r,[0 0]);%繪制機(jī)器人圖像;
t=0:0.056:2; [q,qd,qdd]=jtraj(qz,qr,t);%軌跡規(guī)劃;
T=fkine(SCARA, qz); %運(yùn)動(dòng)學(xué)正解;
qi=ikine SCARA, T);%運(yùn)動(dòng)學(xué)反解;
drivebot(r);%動(dòng)畫演示運(yùn)動(dòng)學(xué);
2.4 基于OpenGL的機(jī)器人仿真系統(tǒng)
利用OpenGL對機(jī)器人建模時(shí),需要在建模之前,對光照(glLightfv)、材質(zhì)(glMaterialfv)、顏色模式(glShadeModel)進(jìn)行預(yù)先設(shè)置,使得場景更逼真。場景建模包括地板、工件放置臺、攝像機(jī)、工件放置槽幾個(gè)部分。根據(jù)攝像機(jī)標(biāo)定的相互位置關(guān)系,調(diào)用OpenGL函數(shù),根據(jù)實(shí)際設(shè)備的幾何形狀,建立工業(yè)機(jī)器人在線仿真系統(tǒng)平臺。OpenGL 獨(dú)立于硬件和窗口系統(tǒng),使用方便,C、C++、Java 等多種常用的編程語言都可以直接或間接調(diào)用OpenGL庫中的函數(shù)。如圖3所示,為基于OpenGL的工業(yè)機(jī)器人在線仿真系統(tǒng)。該系統(tǒng)方便與Visual C++ 6.0配合使用嵌入機(jī)器人模塊算法,來對機(jī)器人進(jìn)行在線系統(tǒng)仿真。
3 對機(jī)械臂運(yùn)動(dòng)學(xué)的分析
3.1 機(jī)械臂運(yùn)動(dòng)學(xué)正解
機(jī)械臂運(yùn)動(dòng)學(xué)正解:已知所有關(guān)節(jié)角度和連桿長度,計(jì)算機(jī)器人末端執(zhí)行器的位姿。MDH模型是對機(jī)器人連桿和關(guān)節(jié)進(jìn)行建模的一種非常簡單的方法,可以用于任何機(jī)器人構(gòu)型,而不管機(jī)器人的結(jié)構(gòu)順序和復(fù)雜程度如何[8]。六自由度機(jī)械臂的MDH參數(shù)如表1所示。
其中αi-1表示連桿的長度,是zi-1與zi之間的公垂線。ai
4 實(shí)驗(yàn)與結(jié)論
隨著機(jī)器人技術(shù)的發(fā)展,基于OpenGL和Matlab機(jī)器人工具箱的機(jī)器人在線仿真系統(tǒng)以其自身的優(yōu)點(diǎn):容易掌握、降低開發(fā)成本、加快開發(fā)速度和測試方便等越來越受各個(gè)公司和科研院校所青睞。本文首先系統(tǒng)地介紹了機(jī)器人的建模及其仿真過程,利用VC++6.0、Matlab機(jī)器人工具箱與OpenGL圖形圖像庫建立了仿真模型,然后從運(yùn)動(dòng)學(xué)的角度進(jìn)行了正運(yùn)動(dòng)學(xué)建模,最后將運(yùn)動(dòng)學(xué)算法加入到在線仿真系統(tǒng)中去。結(jié)果表明該仿真模型對研究機(jī)器人技術(shù)有很大的作用,有效驗(yàn)證了機(jī)械臂數(shù)學(xué)模型以及正、逆運(yùn)動(dòng)學(xué)分析的正確性。
參考文獻(xiàn)
[1] ANGEL E,SHREINER D.Teaching a shader-based introduction to computer graphics[J].Computer Graphics and Applications,2011,31(2):9-13.
[2] TENG C H,CHEN J Y.An augmented reality environment for learning OpenGL programming[C].2012 9th UIC/ATC,2012.
[3] 劉振宇,趙彬,朱海波,等.六自由度機(jī)械臂分揀系統(tǒng)仿真平臺研究[J].機(jī)械設(shè)計(jì)與制造,2013(2):210-213.
[4] REINERS D,VOSS G.Climbing longs peak:the steep road to the future of OpenGL[J].Computer Graphics and Applications,2007,27(4):84-89.
[5] Ding Jienan,GOLDMAN R E,Xu Kai,et al.Design and coordination kinematics of an insertable robotic effectors platform for single-port access surgery[J].IEEE/ASME Transactions on Mechatronics,2013,18(5):1612-1624.
[6] DEAN L E,NAIR S,KNOLL A.User friendly Matlabtoolbox for symbolic robot dynamic modeling used for control design[C].2012 IEEE International Conference on Robotics and Biomimetics(ROBIO),2012.
[7] CHEAH C C,HIRANO M,KAWAMURA S,et al.Approximate jacobian control for robots with uncertain kinematics and dynamics[J].IEEE Transactions on Robotics and Automation,2003,19(4):692-702.
[8] JARA C A,CANDELAS F A,GIL P.An interactive tool for industrial robots simulation, Computer Vision and remote operation[J].Robotics and Autonomous Systems,2011(59):389-401.