在线观看av毛片亚洲_伊人久久大香线蕉成人综合网_一级片黄色视频播放_日韩免费86av网址_亚洲av理论在线电影网_一区二区国产免费高清在线观看视频_亚洲国产精品久久99人人更爽_精品少妇人妻久久免费

首頁 > 文章中心 > 正文

工業(yè)機器人控制軟件重構方式

前言:本站為你精心整理了工業(yè)機器人控制軟件重構方式范文,希望能為你的創(chuàng)作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。

工業(yè)機器人控制軟件重構方式

運動控制模塊選用TI公司的OMAPL138雙核處理器芯片,它集成了TMS320C674xDSP內核和ARM926EJ-S雙核,具有高性能與低功耗的特性。ARM內核完成非實時性的指令解釋、軌跡規(guī)劃、數(shù)據(jù)管理、任務管理、網(wǎng)絡通信等工作,DSP內核由于具有強大計算能力完成插補計算、逆運動學、速度和位置控制、I/O控制等實時任務。位置控制FPGA芯片包含多軸插補、位置PID等電路,采用了ALTERA公司的EP1C3T144芯片,通過加載不同的程序來實現(xiàn)功能重構。為了提高多軸聯(lián)動插補速度,插補算法采取軟插補(粗)+硬插補(精)結合的模式,硬插補基于數(shù)字脈沖乘法器來實現(xiàn)。該模塊與驅動器的連接接口提供了兩種形式:數(shù)字脈沖量接口、工業(yè)以太網(wǎng)接口,工業(yè)以太網(wǎng)接口可兼容多種驅動器的通信協(xié)議,目前已實現(xiàn)了Mecha-trolinkIII協(xié)議,這是由日本安川公司提出的一種符合EEE802.3u標準的以太網(wǎng)協(xié)議,傳輸速度可達到100Mbps。OMAPL138雙核處理器芯片能提供豐富的外圍接口,包括以太網(wǎng)、USB、RS232等接口,通過以太網(wǎng)接口實現(xiàn)運動控制模塊與示教模塊的通信。

示教模塊由OMAPL138雙核處理器電路、48個按鍵和5.7寸640×480彩色TFT組成,按鍵包括編輯鍵、手動操作鍵、示教編程鍵及功能鍵組成。為保證功能重構與硬件平臺無關,采用Win-dowsCE6.0操作系統(tǒng)。該模塊包含的軟件功能構件有:文件管理、示教編程、參數(shù)設置、參數(shù)管理、圖形模擬、以太網(wǎng)通信等。I/O模塊負責邏輯控制功能,實現(xiàn)機器人與周邊設備的協(xié)調作業(yè)任務。CAN協(xié)議是建立在國際標準組織開放系統(tǒng)互連模型之上,協(xié)議簡單,最高通信速率可達1Mbit/s,直接傳輸距離高達10km,采取多主線工作方式,高抗電磁干擾性、糾錯能力強;同時,CAN接口安裝方便、成本低。本論文選用CAN總線作為運動控制器與I/O模板之間的數(shù)據(jù)通信方式。2)工業(yè)以太網(wǎng)通信協(xié)議機器人示教模塊與運動控制模塊的以太網(wǎng)通信功能采用套接字(Sock-et)方式來實現(xiàn),Socket接口分為兩部分:客戶端和服務器,這里示教模塊作為客戶端,運動控制模塊作為服務器。本文采用的通信模式采用主從方式,示教模塊為主動方,發(fā)送機器人運動程序、控制參數(shù)和命令字,用來控制機器人的運動動作,而運動控制模塊實時地將坐標數(shù)據(jù)及狀態(tài)參數(shù)上傳給示教模塊。在開始通信時,將首先進行握手連接。

數(shù)據(jù)鏈路層協(xié)議定義了命令和數(shù)據(jù)兩類報文形式,命令報文用來控制機器人的運行動作和流程,定義成標準的報文格式;數(shù)據(jù)報文用來傳送機器人的運動程序和參數(shù),數(shù)據(jù)量比較大,定義成一種擴展報文格式。標準報文格式有7個字節(jié),第1個字節(jié)是報文頭標識符,用來標識一次通訊的開始,本報文設為“%”。第2個字節(jié)是報文類型段,用來標識傳輸?shù)南㈩愋秃吞幚砟J?,定義的消息類型為:命令、數(shù)據(jù),并提供了了兩種報文處理模式:實時性和非實時性。當需要機器人完成急停處理、復位處理及超程報警等任務時,則傳送具有實時性標識的報文;對一般的機器人處理任務,將報文標識為非實時性。報文的長度由第3、4字節(jié)標識,最長為65536字節(jié)。第5、6字節(jié)為數(shù)據(jù)段,第7個字節(jié)用“&”來標識報文尾。當傳輸?shù)男畔㈩愋蜆俗R為數(shù)據(jù)時,使用了一種擴展報文格式,此時數(shù)據(jù)段長度可以達到2K字節(jié)。示教模塊按照報文通信協(xié)議將需要發(fā)送的數(shù)據(jù)封裝起來,再使用傳送函數(shù)將數(shù)據(jù)下傳給運動控制模塊,包括程序、參數(shù)、命令字。在數(shù)據(jù)報文中如果是多個程序指令,則不同指令之間用“\r\n”隔開,如:“%0x004D指令1\r\n指令2\r\n......&”。數(shù)據(jù)報文中參數(shù)按一定次序排列,用“;”隔開,如:“%0x004B參數(shù)1;參數(shù)2;......&”。示教模塊下傳、接收的部分數(shù)據(jù)報文定義。

工業(yè)機器人控制軟件重構方法

模塊化機器人的控制軟件都應當具備可剪裁性或多重性,整個體系結構應當能夠被重新配置,以滿足多種應用領域的需求,具備理想“開放性”概念的控制軟件應可被拆分為多個標準部件。為了實現(xiàn)上的方便同時又滿足組態(tài)的特性,本文提出了一個柔性的軟件框架結構?!叭嵝浴迸c“開放性”這2個概念有不同點,但又具有相同的特性,“開放性”側重與外部系統(tǒng)通過定義標準的接口相互操作,而“柔性”是指系統(tǒng)能通過改變自身結構以適應外部環(huán)境的能力。這種柔性控制系統(tǒng)采用基于構件的組態(tài)結構,其軟件由三部分組成:嵌入式柔性控制系統(tǒng)開發(fā)平臺、機器人功能構件庫和運動規(guī)劃與控制算法構件庫。嵌入式柔性控制系統(tǒng)開發(fā)平臺用來實現(xiàn)功能構件封裝、系統(tǒng)配置等任務。針對模塊化機器人控制系統(tǒng)具有多功能和多對象的特點,控制軟件的整體結構流程被設計成前臺、后臺程序模塊,后臺模塊也稱為"背景"程序,主要用來完成控制指令的準備工作和參數(shù)管理工作,前臺模塊是一個循環(huán)執(zhí)行運行的程序,它是整個控制系統(tǒng)的核心。在系統(tǒng)運行過程中采用實時中斷服務程序輸出,前后臺模塊相互配合完成機器人控制系統(tǒng)的各項控制和管理任務。功能構件的程序模式由配置腳本文件指定。構件化結構關鍵是構件的提取,即對可重用對象的提煉概括。通過良好地定義這些對象之間相互通信的接口,可以將這些基本對象或將它們進一步分析以后形成的粒度更小的對象,在開發(fā)過程中加以重用。本文建立的構件庫由用戶層構件庫和核心層構件庫組成,兩者之間通過標準硬件接口進行通信。用戶層構件庫包括人機界面、示教編程、運動規(guī)劃、參數(shù)管理等非實時構件庫。由于用戶層使用WindowsCE操作系統(tǒng),軟件模塊采用COM構件來實現(xiàn)。核心層構件庫包括譯碼處理、速度控制、位置控制、運動學、逆運動學等機器人作業(yè)的實時性任務。由于核心層沒有使用操作系統(tǒng),本文利用功能函數(shù)形式實現(xiàn)。各種功能構件按標準接口進行封裝,功能構件的接口。

控制模型及算法構件庫設計

模塊化機器人柔性控制系統(tǒng)的性能很大程度上依賴于控制模型與算法,已開發(fā)的模型算法構件包括:指令譯碼、機器人運動學、逆運動學、速度控制、關節(jié)插補、閉環(huán)位置控制等。主要由譯碼處理、直角坐標計算、插補運算、逆運動學、加減速及位置控制等模塊組成。圖中各參數(shù)含義為:(X,Y,Z,U,V,W)表示譯碼后的坐標數(shù)據(jù),Q為坐標系選擇標志,F(xiàn)為指令速度,Type為運動方式標志位,(α,β,γ)和(px,py,pz)分別表示機器人末端的位置和姿態(tài),(q1,j,q2,j,…,q6,j)為第j個插補周期的關節(jié)坐標。直角坐標計算模塊的功能為利用機器人運動學將關節(jié)坐標轉換為機器人末端的位置和姿態(tài)。插補模塊的功能是根據(jù)軌跡運動方式、軌跡起止坐標及速度等參數(shù),進行關節(jié)坐標系或直角坐標系下的插補運算。在直線坐標系下插補計算得到的機器人末端位置和姿態(tài),需利用機器人逆運動學將其轉換為相應的關節(jié)坐標,從而控制各伺服系統(tǒng)的運動。1)關節(jié)軌跡插補構件關節(jié)軌跡插補用于計算各個插補周期內的各關節(jié)進給量,以保證末端執(zhí)行器的平滑、穩(wěn)定運行。關節(jié)軌跡插補由2個構件實現(xiàn),非實時函數(shù)structinter_stepjoint_inter_pre(structinter_in*st_end)用于計算單個插補周期內的各關節(jié)的進給量,實時函數(shù)structRobot_jointslocomotion_joint(structinter_step*q_step,structinter_in*st_end,structRobot_joints*q_BK)用于計算插補周期各關節(jié)的坐標值。構件入口參數(shù)為結構體型參數(shù)structinter_in*st_end,其中包括初始關節(jié)坐標Qs(q1,s,q2,s,…,q6,s),目標關節(jié)坐標Qe(q1,e,q2,e,…,q6,e)和關節(jié)速度F,出口參數(shù)為各插補周期關節(jié)位置q。2)機器人運動學構件機器人運動學構件用于實現(xiàn)機器人關節(jié)坐標系的坐標到機器人末端的位置和姿態(tài)之間坐標轉換。該構件被封裝為structRobot_T6cal_t6(structRobot_joints*q),入口參數(shù)為機器人關節(jié)坐標(q1,q2,…,q6)(structRobot_joints*q),出口參數(shù)為機器人末端的位置和姿態(tài)T6(structRo-bot_T6*T6),公共接口參數(shù)為機器人的Denavit-Hartenberg(D-H)參數(shù)(structDH_para*DH),即關節(jié)角(θ1,θ2,…,θ6)、扭轉角(α1,α2,…,α6)、連桿長度(a1,a2,…,a6)和連桿偏移量(d1,d2,…,d6)等。計算思路為根據(jù)機器人D-H坐標系建立原則,建立連桿坐標系,利用DH連桿參數(shù)計算相鄰連桿之間的連桿變換矩陣Ai(i=1,2,…,6),用以描述相鄰連桿坐標系之間的坐標變換關系。通過各連桿變換矩陣相乘,就可以得到機器人末端的變換矩陣。3)逆運動學構件機器人逆運動學構件用于實現(xiàn)機器人末端的位置和姿態(tài)到機器人關節(jié)坐標系的坐標之間的映射,從而對機器人末端路徑進行規(guī)劃,達到機器人整體運動的精確控制。該構件被封裝為structRobot_jointsrobot_rev(structRobot_T6*T6,structRobot_joints*q_BK),入口參數(shù)為機器人末端的位置和姿態(tài)T6(structRobot_T6*T6),上一位置的機器人關節(jié)坐標(q1,j-1,q2,j-1,…,q6,j-1)(structRobot_joints*q_BK),出口參數(shù)為當前位置的機器人關節(jié)坐標(q1,j,q2,j,…,q6,j)(structRobot_joints*q),公共接口參數(shù)為機器人D-H參數(shù),機器人各關節(jié)最小允許坐標(q1,min,q2,min,…,q6,min)(doubleQmin[6])和最大允許坐標(q1,max,q2,max,…,q6,max)(doubleQmax[6])。計算思路為根據(jù)機器人末端的變換矩陣,利用解析法求解各關節(jié)坐標。由于逆運動學求解存在多解問題,根據(jù)機器人動作范圍(qi,j∈[qi,min,qi,max],i=1,2,…,6)對其進行判定,去除不可達的解。將當前軌跡點計算出的六關節(jié)坐標qi,j與上一位置的關節(jié)坐標qi,j-1進行比較,選取Δq=|qi,j-qi,j-1|最小的qi,j值作為所求的關節(jié)坐標。4)譯碼處理構件譯碼構件的功能是將示教盒下傳的各條機器人指令進行譯碼,譯碼結果首先放入CS第一級緩存,并根據(jù)命令做相應的預處理,如段長計算、圓弧半徑處理等,然后經(jīng)過BS寄存器最后譯碼到AS執(zhí)行寄存器,構成三級緩存結構,為最終的指令執(zhí)行做好準備。我們設計的機器人語言格式如下:語句序列為[<標號>]?<執(zhí)行句><語句分隔符>|[<標號>]?<注釋句><語句分隔符>其中,標號由4位數(shù)字構成。執(zhí)行句為〈定義語句〉<機器人控制語句>〈程序控制語句〉〈輸入輸出語句〉〈賦值語句〉定義語句為〈位姿定義〉〈坐標系定義〉例如,“MOVJVJ=500S0L-90U0R0B45T0;{關節(jié)插補}”為一個執(zhí)行句。機器人譯碼處理由詞法分析構件、語法分析和代碼轉換構件來實現(xiàn)。詞法分析構件由函數(shù)voidAccidenceCheck(char*mem,intmemsize)實現(xiàn),用于檢查機器人程序中不符合詞法規(guī)則的指令。語法分析和代碼轉換構件由函數(shù)structUnRegInCode2Cs(char*mem,intmemsize)實現(xiàn),用于根據(jù)機器人指令的規(guī)則對機器人代碼進行逐行檢查,將機器人程序各種作業(yè)信息提取出來,保存到CS緩沖區(qū)中。

機器人控制系統(tǒng)現(xiàn)場實驗與結果分析

利用本文提出的嵌入式柔性控制系統(tǒng)開發(fā)平臺,在某種型號關節(jié)機器人上進行了應用實驗。該關節(jié)機器人技術指標為:6個運動軸,重復定位精度為0.1mm,各關節(jié)最大運行速度是S軸(回旋)為45°/s、L軸(下臂)為45°/s、U軸(上臂)為30°/s、R軸(手腕橫擺)為60°/s、B軸(手腕俯仰)為60°/s、T軸(手腕回轉)為120°/s,最大負載為3kg。機器人控制系統(tǒng)硬件由六軸運動控制模塊、示教模塊和IO模塊構成,控制軟件包括人機界面、示教編程、參數(shù)設置、插補計算、譯碼處理、速度控制、位置控制、運動學、逆運動學等功能,為機器人控制系統(tǒng)軟件編寫了配置文件,給出組件間的拓撲結構。不帶機器人本體時軌跡位置最大誤差為0.08mm,姿態(tài)最大誤差為0.2°,帶本體時軌跡位置最大誤差為0.1mm,姿態(tài)最大誤差為0.6°。該型號機器人軌跡位置理論值允許誤差為0.1mm,因此可以滿足該型號機器人控制精度要求。機器人控制系統(tǒng)經(jīng)過長時間運行,結果表明采用嵌入式柔性控制系統(tǒng)可增加機器人系統(tǒng)的開放性和可擴展性,軟硬件配置方便,控制系統(tǒng)可靠性高。

結語

針對模塊化機器人對控制系統(tǒng)的實際需求,本文提出一種柔性的控制系統(tǒng)結構,它可解決基于嵌入式系統(tǒng)的機器人控制功能重構問題,而以往的模塊化機器人控制系統(tǒng)的研究主要是基于PC平臺的。該機器人控制系統(tǒng)的軟硬件功能模塊被抽取成標準構件,為滿足機器人對控制系統(tǒng)計算能力和小型化的要求,硬件模塊采用了雙核處理器并利用現(xiàn)場總線標準接口實現(xiàn)之間的通信。機器人控制軟件采用了基于構件的組態(tài)結構,它由柔性嵌入式控制系統(tǒng)開發(fā)平臺、機器人功能構件庫和運動規(guī)劃與控制算法構件庫三部分組成,所有軟件模塊都按標準接口進行封裝。所開發(fā)的控制系統(tǒng)在六關節(jié)模塊工業(yè)機器人上進行了應用,現(xiàn)場實驗表明該系統(tǒng)性能穩(wěn)定可靠,能適應模塊化機器人的機械結構和作業(yè)任務的變化需求,可使開發(fā)周期大大縮短。

作者:曹建福汪霖單位:西安交通大學機械制造系統(tǒng)工程國家重點實驗室

抚宁县| 夏河县| 那坡县| 鹤岗市| 泰和县| 丽水市| 佛山市| 霍州市| 潢川县| 乐至县| 关岭| 榆中县| 华蓥市| 犍为县| 博湖县| 布尔津县| 栖霞市| 凤凰县| 松原市| 新沂市| 兴化市| 周口市| 德惠市| 江川县| 扬州市| 黔西| 二连浩特市| 襄汾县| 潜江市| 灵武市| 阳曲县| 青神县| 印江| 昭苏县| 中阳县| 额济纳旗| 广水市| 绍兴县| 南召县| 扶绥县| 延寿县|