亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于動(dòng)態(tài)鏈表的機(jī)器人離線編程系統(tǒng)設(shè)計(jì)

        2016-04-12 06:53:09Designofrobotofflineprogrammingsystembasedondynamiclist
        制造業(yè)自動(dòng)化 2016年3期
        關(guān)鍵詞:焊接機(jī)器人架構(gòu)設(shè)計(jì)

        Design of robot off-line programming system based on dynamic list

        李 靜1,李 君2,郝衛(wèi)東2LI Jing1, LI Jun2, HAO Wei-dong2(1.桂林電子科技大學(xué)信息科技學(xué)院,桂林 541004;2.桂林電子科技大學(xué) 機(jī)電工程學(xué)院,桂林 541004)

        ?

        基于動(dòng)態(tài)鏈表的機(jī)器人離線編程系統(tǒng)設(shè)計(jì)

        Design of robot off-line programming system based on dynamic list

        李靜1,李君2,郝衛(wèi)東2
        LI Jing1,LI Jun2,HAO Wei-dong2
        (1.桂林電子科技大學(xué)信息科技學(xué)院,桂林 541004;2.桂林電子科技大學(xué) 機(jī)電工程學(xué)院,桂林 541004)

        摘要:機(jī)器人離線編程系統(tǒng)主要是實(shí)現(xiàn)程序的編輯轉(zhuǎn)換和離線仿真分析,不同類型的系統(tǒng)其系統(tǒng)架構(gòu)很相似,且系統(tǒng)與C/C++有很好的兼容性。采用C/C++語(yǔ)言,對(duì)系統(tǒng)架構(gòu)和重要模塊進(jìn)行編程設(shè)計(jì),可以提高系統(tǒng)的二次開發(fā)能力和程序的可移植能力。針對(duì)系統(tǒng)的數(shù)據(jù)處理特點(diǎn),提出了采用動(dòng)態(tài)鏈表進(jìn)行數(shù)據(jù)操作的方法,實(shí)現(xiàn)了語(yǔ)言指令到機(jī)器人可執(zhí)行文件的轉(zhuǎn)換。在MFC框架中,完成了離線編程仿真系統(tǒng)的設(shè)計(jì)。通過(guò)用戶界面輸入機(jī)器人語(yǔ)言程序,在仿真界面中輸出了仿真效果圖,仿真結(jié)果表明,所設(shè)計(jì)的系統(tǒng)能實(shí)現(xiàn)機(jī)器人的離線編程和仿真。通過(guò)串口模塊,將機(jī)器人可執(zhí)行文件發(fā)送給機(jī)器人控制系統(tǒng),控制川崎FS30N機(jī)器人進(jìn)行了焊接實(shí)驗(yàn)。

        關(guān)鍵詞:焊接機(jī)器人;離線編程系統(tǒng);架構(gòu)設(shè)計(jì);動(dòng)態(tài)鏈表

        0 引言

        工業(yè)機(jī)器人具有良好的可編程性,其編程能力決定了工業(yè)機(jī)器人功能的靈活性和智能性。離線編程系統(tǒng)能夠進(jìn)示教編程的不足,具有顯著的優(yōu)點(diǎn)[1]。離線編程系統(tǒng)在很大程度上滿足了工業(yè)生產(chǎn)的需求,但是實(shí)用化程度不深,在人機(jī)界面的人性化設(shè)計(jì)、軌跡規(guī)劃算法、系統(tǒng)魯棒性及二次開發(fā)能力等技術(shù)需要進(jìn)步研究[2,3]。主流的離線編程系統(tǒng)有:基于VC++與OpenGL的離線編程系統(tǒng)[4];借助MATLAB的數(shù)值計(jì)算和繪圖功能開發(fā)的具有維可視化功能的離線編程系統(tǒng)[5];通過(guò)Solidworks 等維建模軟件的API接口進(jìn)行二次開發(fā)的離線編程系統(tǒng)[6,7]。這些編程系統(tǒng)的功能和系統(tǒng)架構(gòu)都很類似,而且與C和C++都有很好的兼容性。

        本文將對(duì)系統(tǒng)進(jìn)行功能模塊劃分,優(yōu)化系統(tǒng)架構(gòu)。針對(duì)模塊的順序執(zhí)行特性和數(shù)據(jù)量不確定的特點(diǎn),提出了采用動(dòng)態(tài)鏈表進(jìn)行數(shù)據(jù)操作的方法,并結(jié)合設(shè)計(jì)的軌跡規(guī)劃模塊,實(shí)現(xiàn)了語(yǔ)言指令到機(jī)器人可執(zhí)行文件的轉(zhuǎn)化。在MFC框架中,完成了離線編程系統(tǒng)的設(shè)計(jì)。

        1 系統(tǒng)架構(gòu)設(shè)計(jì)

        圖1 離線編程系統(tǒng)工作流程圖

        2 動(dòng)態(tài)鏈表

        程序模塊主要是程序編制功能,具有程序管理、程序編輯、指令集管理、自主編程、程序檢測(cè)及程序轉(zhuǎn)換功能,每個(gè)功能的實(shí)現(xiàn)都離不開數(shù)據(jù)的讀取、轉(zhuǎn)換和存儲(chǔ),程序的數(shù)據(jù)處理能力將直接影響到系統(tǒng)的整體性能[8]。程序模塊的執(zhí)行是按照定規(guī)則順序單向執(zhí)行的,且數(shù)據(jù)量不確定,因此適合采用動(dòng)態(tài)鏈表進(jìn)行數(shù)據(jù)的存儲(chǔ)和轉(zhuǎn)換。數(shù)據(jù)處理流程如圖2所示。

        圖2 數(shù)據(jù)處理流程圖

        圖中,語(yǔ)言指令通過(guò)用戶界面或自動(dòng)編程系統(tǒng)輸入,根據(jù)指令解析法則對(duì)指令集進(jìn)行語(yǔ)法分析和詞法分析,并生成指令序列和相應(yīng)的路徑點(diǎn)數(shù)據(jù)序列。根據(jù)指令序列分配動(dòng)態(tài)內(nèi)存建立動(dòng)態(tài)鏈表,將存儲(chǔ)路徑點(diǎn)信息的指針賦給動(dòng)態(tài)鏈表中的指針變量Robot_Route,將指令字符串指針賦給指針變量Robot_Instruction,將結(jié)構(gòu)體指針變量R_TCBNext賦NULL值,將結(jié)構(gòu)體的指針賦給上個(gè)結(jié)點(diǎn)的結(jié)構(gòu)體指針變量R_TCBNext,將結(jié)構(gòu)體中的數(shù)據(jù)指針Robot_Memory賦NULL值。所建立的動(dòng)態(tài)鏈表的表頭指針存放在變量Robot_Head中,鏈表最后個(gè)結(jié)點(diǎn)的指針變量R_TCBNext的值為NULL。

        遍歷建立的動(dòng)態(tài)鏈表,將結(jié)構(gòu)體指針Robot_Cur和Robot_List指向鏈表頭指針Robot_Head,讀取結(jié)構(gòu)體中變量Robot_Instruction,如果存放的是控制指令,則讀取變量Robot_Cur->R_TCBNext,若為NULL,則遍歷結(jié)束,否則將結(jié)構(gòu)體指針Robot_List指向Robot_Cur->R_ TCBNext;如果存放的是運(yùn)動(dòng)指令,則調(diào)用軌跡規(guī)劃函數(shù),將Robot_Route中的路徑信息轉(zhuǎn)化為各關(guān)節(jié)轉(zhuǎn)角序列,并存放在內(nèi)存中,并將存放數(shù)據(jù)的內(nèi)存指針賦給結(jié)構(gòu)體變量Robot_Cur->Robot_Memory,如果變量Robot_ Cur->R_TCBNext的值為NULL,則遍歷結(jié)束,否則將結(jié)構(gòu)體指針Robot_List指向Robot_Cur->R_TCBNext。在進(jìn)行程序的編寫和調(diào)試中,程序的修將調(diào)用鏈表的插入和刪除函數(shù)對(duì)動(dòng)態(tài)鏈表進(jìn)行更,在編譯修后的程序時(shí)將只對(duì)插入的結(jié)點(diǎn)進(jìn)行計(jì)算,可以縮短程序編譯和修的時(shí)間,提高工作效率。

        軌跡規(guī)劃完成后,所有信息都存放在動(dòng)態(tài)鏈表中。機(jī)器人可執(zhí)行文件可以通過(guò)遍歷鏈表的方式生成。機(jī)器人運(yùn)動(dòng)仿真也可以通過(guò)遍歷鏈表的方式進(jìn)行。通過(guò)運(yùn)動(dòng)仿真和誤差分析后的機(jī)器人可執(zhí)行文件將以txt文件的形式保存。

        3 軌跡規(guī)劃模塊設(shè)計(jì)

        軌跡規(guī)劃的作用是按照運(yùn)動(dòng)指令類型生成結(jié)點(diǎn)之間的路徑,其過(guò)程是在相鄰結(jié)點(diǎn)之間通過(guò)插補(bǔ)算法生成位姿點(diǎn)數(shù)據(jù)鏈,逆運(yùn)動(dòng)學(xué)計(jì)算后進(jìn)行關(guān)節(jié)空間的軌跡規(guī)劃生成各關(guān)節(jié)轉(zhuǎn)角數(shù)據(jù)鏈。算法功能樹如圖3所示。

        圖3 軌跡規(guī)劃算法功能樹

        圖中,將軌跡規(guī)劃分為運(yùn)動(dòng)指令和自動(dòng)編程指令。運(yùn)動(dòng)指令適用于點(diǎn)、直線、圓弧等簡(jiǎn)單軌跡的描述。自定義指令可以描述復(fù)雜的軌跡,而且可以通過(guò)指令讀取維模型軟件等方式生成的軌跡點(diǎn)數(shù)據(jù)包,實(shí)現(xiàn)復(fù)雜軌跡的軌跡規(guī)劃。軌跡規(guī)劃程序流程圖如圖4所示。

        圖4 軌跡規(guī)劃流程圖

        在軌跡規(guī)劃計(jì)算過(guò)程中,以指針作為函數(shù)間參數(shù)傳遞的載體,數(shù)據(jù)的存取與轉(zhuǎn)化通過(guò)動(dòng)態(tài)鏈表進(jìn)行操作,接口函數(shù)便可設(shè)計(jì)為如下的形式:

        INT16* Robot_Track(struct Robot_tcb*);

        函數(shù)中輸入?yún)?shù)為動(dòng)態(tài)鏈表的結(jié)構(gòu)體指針,返回值為軌跡規(guī)劃后的數(shù)據(jù)塊指針。函數(shù)內(nèi)部通過(guò)函數(shù)指針調(diào)用插補(bǔ)算法、離散算法、逆運(yùn)動(dòng)學(xué)計(jì)算等函數(shù)。為了便于函數(shù)的添加、編寫、調(diào)用,函數(shù)設(shè)計(jì)為統(tǒng)形式:

        void* (*C_Track)(void*);

        函數(shù)的數(shù)據(jù)量和數(shù)據(jù)類型是變化的,所以只能在函數(shù)中調(diào)用malloc()函數(shù)分配動(dòng)態(tài)內(nèi)存,在完成軌跡規(guī)劃計(jì)算后再釋放分配的內(nèi)存資源,實(shí)現(xiàn)內(nèi)存資源的重復(fù)利用。采用統(tǒng)的函數(shù)類型和動(dòng)態(tài)數(shù)據(jù)處理可以更方便的添加新的算法函數(shù)和對(duì)算法函數(shù)的修,更有利于對(duì)系統(tǒng)的進(jìn)和研究。

        4 MFC程序設(shè)計(jì)

        MFC集成了微軟公司提供的許多類庫(kù),通過(guò)調(diào)用庫(kù)中的類可以實(shí)現(xiàn)絕大部分所需的功能,而且所開發(fā)的系統(tǒng)與MATLAB、Solidworks等軟件能完全兼容。所設(shè)計(jì)的離線編程系統(tǒng)用戶界面如圖5所示。

        圖5 用戶界面

        系統(tǒng)所采用的機(jī)器人語(yǔ)言是詹少坤等人開發(fā)的ZSK機(jī)器人語(yǔ)言[8]。運(yùn)動(dòng)指令包括關(guān)節(jié)運(yùn)動(dòng)指令MOVJ,直線運(yùn)動(dòng)指令MOVL,圓弧運(yùn)動(dòng)插補(bǔ)指令MOVC,點(diǎn)運(yùn)動(dòng)指令MOVP以及用于復(fù)雜軌跡編程的指令MOVT等。系統(tǒng)具有程序編輯、離線仿真、串口通信、坐標(biāo)系參數(shù)設(shè)置等功能。機(jī)器人指令通過(guò)Edit編輯框控件輸入。在點(diǎn)擊“坐標(biāo)系設(shè)置”按鈕后,可以對(duì)工件坐標(biāo)系和工具坐標(biāo)系進(jìn)行參數(shù)設(shè)置。點(diǎn)擊主界面“仿真系統(tǒng)”按鈕,可以進(jìn)行離線仿真操作。點(diǎn)擊主界面的“保存”按鈕,將調(diào)用文件類CFile的成員函數(shù),將機(jī)器人可執(zhí)行文件以txt文檔的形式保存。在通信模塊中,設(shè)置串口參數(shù),并打開串口資源,點(diǎn)擊“下載”按鈕將彈出文檔打開對(duì)話框,打開保存的機(jī)器人可執(zhí)行文件,可執(zhí)行文件中的內(nèi)容將通過(guò)函數(shù)WriteFile下載至機(jī)器人控制柜控制機(jī)器人運(yùn)動(dòng)。

        5 實(shí)驗(yàn)驗(yàn)證

        該離線編程系統(tǒng)是針對(duì)FS30L機(jī)器人開發(fā)的,在離線編程系統(tǒng)的工件坐標(biāo)系設(shè)置界面中輸入?yún)?shù),在離線編程系統(tǒng)的輸入編輯框中依次輸入直線、圓弧、點(diǎn)、控制指令的代碼。點(diǎn)擊“編譯”按鈕,彈出編譯成功后,點(diǎn)擊“離線仿真”按鈕,在彈出的界面中點(diǎn)擊“開始”按鈕,離線仿真界面將顯示仿真結(jié)果。

        圖6為關(guān)節(jié)轉(zhuǎn)角曲線圖,圖中的曲線連續(xù)且平滑,說(shuō)明各關(guān)節(jié)運(yùn)動(dòng)平穩(wěn),速度和加速度小,機(jī)器人在運(yùn)動(dòng)過(guò)程中沒(méi)用強(qiáng)烈的柔性和剛性沖擊。圖7為末端執(zhí)行器端點(diǎn)軌跡圖,圖中顯示的圖形與輸入的運(yùn)動(dòng)指令所要求的運(yùn)動(dòng)軌跡相同。表明,離線編程系統(tǒng)的設(shè)計(jì)是合理的。將通過(guò)離線編程和誤差分析驗(yàn)證的機(jī)器人可執(zhí)行文件保存為txt文檔。連接好電腦與機(jī)器人控制柜的串口設(shè)備,設(shè)置串口通信參數(shù),打開串口資源,點(diǎn)擊“下載”按鈕,將保存的txt文檔發(fā)送給控制柜,控制柜讀取數(shù)據(jù)控制機(jī)器人進(jìn)行焊接運(yùn)動(dòng)。機(jī)器人焊接實(shí)驗(yàn)現(xiàn)場(chǎng)效果圖如圖8所示。

        實(shí)驗(yàn)結(jié)果表明,機(jī)器人的焊接運(yùn)動(dòng)與離線仿真結(jié)果相同,且焊縫的焊接質(zhì)量能滿足生產(chǎn)要求。

        圖6 關(guān)節(jié)轉(zhuǎn)角曲線圖

        圖7 末端執(zhí)行器端點(diǎn)軌跡圖

        6 結(jié)束語(yǔ)

        針對(duì)機(jī)器人離線編程系統(tǒng),提出了采用動(dòng)態(tài)鏈表進(jìn)行數(shù)據(jù)操作的方法,實(shí)現(xiàn)了語(yǔ)言指令到機(jī)器人可執(zhí)行文件的轉(zhuǎn)換,對(duì)機(jī)器人軌跡規(guī)劃模塊的程序設(shè)計(jì)進(jìn)行了優(yōu)化。以FS30N機(jī)器人為控制對(duì)像,在MFC框架中開發(fā)了離線編程系統(tǒng),系統(tǒng)以ZSK語(yǔ)言為機(jī)器人編程語(yǔ)言,通過(guò)仿真界面輸出程序仿真結(jié)果,將通過(guò)仿真驗(yàn)證和誤差分析的機(jī)器人可執(zhí)行文件發(fā)送給機(jī)器人控制柜控制機(jī)器人進(jìn)行焊接實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果顯示機(jī)器人的實(shí)際焊接運(yùn)動(dòng)與仿真結(jié)果相同,且焊接質(zhì)量符合生產(chǎn)要求。

        圖8 機(jī)器人焊接實(shí)驗(yàn)圖

        參考文獻(xiàn):

        [1] Pan Z, Polden J,Larkin N, Duin SV, Norrish J.Recent Progress on Programming Methods for Industrial Robots[J].Robot Comput Integr Manuf,2011,28(2):87-94.

        [2] 孟國(guó)軍.工業(yè)機(jī)器人離線編程系統(tǒng)關(guān)鍵技術(shù)的研究[M].華中科技大學(xué),2011.

        [3] Weidong Zhu, Weiwei Qu, Lianghong Cao, Di Yang , Yinglin Ke.An off-line programming system for robotic drilling in aerospace manufacturing[J].Int J Adv Manuf Technol 2013,68:2535-2545.

        [4] 祁若龍,周維佳,劉金國(guó),肖磊.VC 平臺(tái)下機(jī)器人虛擬運(yùn)動(dòng)控制及3D 運(yùn)動(dòng)仿真的有效實(shí)現(xiàn)方法[J].機(jī)器人,2013,35.(5):594-599.

        [5] Carmelo Mineo,Stephen Gareth Pierce, Pascual Ian Nicholson, Ian Cooper.Robotic path planning for non-destructive testing – A custom MATLAB toolbox approach[J].Robotics and Computer-Integrated Manufacturing,2016,37:1-12.

        [6] 宋鵬飛,和瑞林,苗金鐘,單東日.基于Solidworks的工業(yè)機(jī)器人離線編程系統(tǒng)[J].制造業(yè)自動(dòng)化,2013,35(5):1-4.

        [7] 趙鳳申.基于UG/Open的機(jī)器人復(fù)雜曲線離線編程系統(tǒng)設(shè)計(jì)[J].制造業(yè)自動(dòng)化,2012,34(1):109-112.

        [8] 詹少坤.基于開放式焊接機(jī)器人系統(tǒng)的離線編程方式研究[M].哈爾濱工業(yè)大學(xué),2009.

        分析與探討

        作者簡(jiǎn)介:李靜(1983 -),女,陜西澄城縣人,講師,工學(xué)碩士,研究方向?yàn)闄C(jī)器人技術(shù)、電子技術(shù)應(yīng)用及開關(guān)電源等。

        收稿日期:2015-12-19

        中圖分類號(hào):TP242

        文獻(xiàn)標(biāo)識(shí)碼:A

        文章編號(hào):1009-0134(2016)03-0057-04

        猜你喜歡
        焊接機(jī)器人架構(gòu)設(shè)計(jì)
        基于安全性需求的高升力控制系統(tǒng)架構(gòu)設(shè)計(jì)
        虛擬收費(fèi)站架構(gòu)設(shè)計(jì)與高速公路自由流技術(shù)
        大數(shù)據(jù)時(shí)代計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用架構(gòu)設(shè)計(jì)
        電子制作(2019年24期)2019-02-23 13:22:24
        機(jī)器人示教誤差成因分析及消除
        焊接機(jī)器人系列教材開發(fā)與應(yīng)用
        亞太教育(2016年31期)2016-12-12 08:50:27
        焊接機(jī)器人在汽車焊裝領(lǐng)域中的應(yīng)用分析
        新型《焊接機(jī)器人》本科教材的編制
        多媒體技術(shù)在焊接機(jī)器人實(shí)習(xí)教學(xué)中的有效應(yīng)用
        科技視界(2015年9期)2015-04-07 11:10:41
        龍門機(jī)器人激光焊接系統(tǒng)研制
        對(duì)稱加密算法RC5的架構(gòu)設(shè)計(jì)與電路實(shí)現(xiàn)
        国产人禽杂交18禁网站| 欧美最大胆的西西人体44| 精品无码专区久久久水蜜桃| 天堂在线观看av一区二区三区| 精品久久人妻一区二区| 国产免费又色又爽粗视频| 蜜桃视频一区二区三区在线观看| 亚洲欧洲日韩免费无码h| 91青青草手机在线视频| 亚洲av无码成h在线观看| 国产精品亚洲二区在线观看| 精品18在线观看免费视频 | 一卡二卡国产av熟女| 内射中出日韩无国产剧情| 无遮无挡爽爽免费视频| 无码人妻精品一区二区三区下载| 国产在线一区二区三区不卡| 一本久久综合亚洲鲁鲁五月天 | 日本欧美小视频| 中文字幕日本韩国精品免费观看| 加勒比东京热中文字幕| 亚洲av成人中文无码专区| 婷婷色综合成人成人网小说| 国产一区二区三区在线av| 加勒比hezyo黑人专区| 内射后入在线观看一区| 久九九久视频精品网站| 男人的天堂手机版av| 日韩丰满少妇无码内射| 国产婷婷丁香五月麻豆| 日本老熟女一区二区三区| 8x国产精品视频| 亚洲爆乳少妇无码激情| 成人国产在线播放自拍| 亚洲不卡高清av网站| 中文字幕久久精品一二三区| 91亚洲人成手机在线观看| 国产女人乱码一区二区三区| 日本午夜精品一区二区三区电影| 国产91精品成人不卡在线观看| 亚洲av毛片一区二区久久|