一種基于以太網(wǎng)的開放式機(jī)械手控制方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明應(yīng)用于機(jī)械手運(yùn)動控制領(lǐng)域,涉及一種基于以太網(wǎng)的開放式機(jī)械手控制方 法。
【背景技術(shù)】
[0002] 在科技日新月異的今天,機(jī)械手的應(yīng)用領(lǐng)域越來越廣泛。它可以重復(fù)不斷的勞動 和工作,并且不知疲勞、不受工作環(huán)境的限制,能夠勝任危險環(huán)境的工作,提高勞動生產(chǎn)效 率,降低生產(chǎn)成本。它可以通過編程來完成各種預(yù)期的作業(yè)任務(wù),在構(gòu)造和性能上兼顧人和 機(jī)器的優(yōu)點,具有人的適應(yīng)性和智能。機(jī)械手作業(yè)的準(zhǔn)確性及其在各種環(huán)境下完成任務(wù)的 能力是重點研宄方向。
[0003] 目前的工業(yè)機(jī)器人主要在焊接、噴涂、搬運(yùn)以及堆垛等重復(fù)性和勞動強(qiáng)度極大的 行業(yè)有著廣泛的應(yīng)用。但是傳統(tǒng)機(jī)械手一般使用脈沖方式控制關(guān)節(jié)電機(jī),存在抗干擾能力 差、無自主糾錯能力、應(yīng)用范圍受限的不足,并且不具備開放式編程的能力,通用性不強(qiáng)以 及控制關(guān)機(jī)數(shù)量有限的不足。在實際的應(yīng)用中還存在連線過多導(dǎo)致的安裝復(fù)雜等不足。
【發(fā)明內(nèi)容】
[0004] 為了克服目前機(jī)械手控制存在的實時性較差、穩(wěn)定性較低以及開放度較差的不 足,以及針對高要求、高速度、高精度的運(yùn)動控制的需要,本發(fā)明提供了一種實時性良好、穩(wěn) 定性較高、開放性良好的基于以太網(wǎng)的開放式機(jī)械手控制方法。
[0005] 本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
[0006] 一種基于以太網(wǎng)的開放式機(jī)械手控制方法,包括如下步驟:
[0007] 1)采用基于ARM Cortex_A8內(nèi)核的嵌入式工控板并搭載有CoDeSysRTS軟件環(huán)境 的嵌入式Linux作為整個技術(shù)方案的實現(xiàn)平臺;
[0008] 2)通過EtherCAT協(xié)議的以太網(wǎng)連接ARM控制器與各個關(guān)節(jié)電機(jī)的伺服驅(qū)動器,實 現(xiàn)對機(jī)械手各個關(guān)節(jié)的狀態(tài)讀取與控制;
[0009] 3)采用以太網(wǎng)與PC端的網(wǎng)卡相連,傳輸并在PC端顯示當(dāng)前機(jī)械手的運(yùn)行狀態(tài);
[0010] 4)通過控制器的開放式直接編程實現(xiàn)對機(jī)械手的笛卡爾坐標(biāo)的軌跡規(guī)劃與速度 控制;
[0011] 采用機(jī)器人逆運(yùn)動學(xué)解算法將笛卡爾坐標(biāo)轉(zhuǎn)換為各個關(guān)節(jié)電機(jī)的轉(zhuǎn)速轉(zhuǎn)加速度, 通過以太網(wǎng)讀取機(jī)械手各個關(guān)節(jié)狀態(tài)變量并通過實時的速度規(guī)劃計算控制信息從而進(jìn)行 位置誤差補(bǔ)償。
[0012] 進(jìn)一步,在步驟1)中,采用基于ARM Cortex-A8內(nèi)核的嵌入式工控板并搭載有 C0DeSysRTS實時運(yùn)系統(tǒng)的嵌入式Linux作為整個技術(shù)方案的平臺。
[0013] 再進(jìn)一步,在步驟3)中,系統(tǒng)已將EtherCAT的電機(jī)驅(qū)動標(biāo)準(zhǔn)的數(shù)據(jù)包封裝成 系統(tǒng)變量,通過修改MC_M0VEABS0LUTE模塊命令電機(jī)到一個指定的絕對位置;所述的MC_ M0VEAB-S0LUTE模塊包含可以設(shè)置命令執(zhí)行項Execute的輸入端、指定電機(jī)運(yùn)動的目標(biāo) 位置Position、設(shè)定電機(jī)的速度Velocity、電機(jī)的加速度Acceleration及電機(jī)的減速度 Deceleration和電機(jī)轉(zhuǎn)向Direct ion,所述模塊輸出端查看電機(jī)的工作狀態(tài),通過修改MC_ M0VEVEL0CITY模塊使電機(jī)以一定的速度轉(zhuǎn)動,其輸入端同時也具有執(zhí)行、速度、加減速設(shè)置 項,輸出端查看各種電機(jī)運(yùn)行狀態(tài)的參數(shù);通過修改MC_P0WER可以控制電機(jī)的啟停,輸入 端有使能、電源平臺開啟項及驅(qū)動開始項,輸出項也是電機(jī)各種預(yù)開啟狀態(tài)的參數(shù);
[0014] 模塊MC_READACT-UALPOSITION來返回電機(jī)轉(zhuǎn)動的實際位置,輸入為使能控制,輸 出返回電機(jī)的實際狀態(tài)或電機(jī)的出錯狀態(tài)信息。
[0015] 在步驟4)中,所述的以太網(wǎng)與PC端網(wǎng)卡相連顯示當(dāng)前機(jī)械手運(yùn)行狀態(tài),所述的以 太網(wǎng)傳輸?shù)臄?shù)據(jù)報文包括機(jī)械手的所處的工作流程的具體步驟、工作狀態(tài)、執(zhí)行器的笛卡 爾坐標(biāo)及其姿態(tài)向量。所述數(shù)據(jù)報文格式包含數(shù)據(jù)幀頭、數(shù)據(jù)長度、機(jī)械手的ID、功能號、數(shù) 據(jù)流以及校驗位,PC端監(jiān)控器能夠增刪連接的機(jī)械手設(shè)備,并實時顯示各個機(jī)械手狀態(tài),隨 時對某個機(jī)械手進(jìn)行暫停、復(fù)位等操作。
[0016] 在步驟5)中,所述的開放式直接編程包括如下實現(xiàn)途徑:a、用戶能夠在人機(jī)界面 中直接編寫C語言或者機(jī)器語言代碼從而自主規(guī)劃機(jī)械手的運(yùn)動軌跡;b、向控制器中導(dǎo)入 CAD軌跡圖直接生成能夠描述相應(yīng)空間軌跡的機(jī)器語言。
[0017] 在步驟5)中,軌跡規(guī)劃和速度控制過程如下:在X/Y坐標(biāo)上存在pspe的軌跡,它與 X的橫坐標(biāo)存在Θ的夾角,對該軌跡進(jìn)行時間分割插補(bǔ)后得到三個插補(bǔ)點Pl、p2、p3,機(jī)械手 從軌跡的第一個插補(bǔ)Ap 1 (X1J1)以速度V1 (vlx,vly)按照預(yù)先設(shè)定的軌跡運(yùn)動到第二個插 補(bǔ)點P2 (X2, y2),在一個插補(bǔ)周期后,即在P2 (X2, y2)點處進(jìn)行實時位置反饋,此時發(fā)現(xiàn)由于Y 軸負(fù)載的變化導(dǎo)致Y軸的速度比實際規(guī)劃的速度要小,所以在一個插補(bǔ)周期后導(dǎo)致機(jī)械手 未到指定的點巧上,而是在點P 2 '上,最后產(chǎn)生的位置誤差是ρΛ (ΧΛ,yA),
【主權(quán)項】
1. 一種基于w太網(wǎng)的開放式機(jī)械手控制方法,其特征在于;包括如下步驟: 1) 采用基于ARMCcxrtex-A8內(nèi)核的嵌入式工控板并搭載有CoDeSysRTS軟件環(huán)境的嵌 入式Linux作為整個技術(shù)方案的實現(xiàn)平臺; 2) 通過化herCAT協(xié)議的W太網(wǎng)連接ARM控制器與各個關(guān)節(jié)電機(jī)的伺服驅(qū)動器,實現(xiàn)對 機(jī)械手各個關(guān)節(jié)的狀態(tài)讀取與控制; 3) 采用W太網(wǎng)與PC端的網(wǎng)卡相連,傳輸并在PC端顯示當(dāng)前機(jī)械手的運(yùn)行狀態(tài); 4) 通過控制器的開放式直接編程實現(xiàn)對機(jī)械手的笛卡爾坐標(biāo)的軌跡規(guī)劃與速度控 制; 采用機(jī)器人逆運(yùn)動學(xué)解算法將笛卡爾坐標(biāo)轉(zhuǎn)換為各個關(guān)節(jié)電機(jī)的轉(zhuǎn)速轉(zhuǎn)加速度,通過W太網(wǎng)讀取機(jī)械手各個關(guān)節(jié)狀態(tài)變量并通過實時的速度規(guī)劃計算控制信息從而進(jìn)行位置 誤差補(bǔ)償。
2. 如權(quán)利要求1所述的一種基于W太網(wǎng)的開放式機(jī)械手控制方法,其特征在于:在步 驟1)中,采用基于ARMCodex-A8內(nèi)核的嵌入式工控板并搭載有CoDeSysRTS實時運(yùn)系統(tǒng) 的嵌入式Linux作為整個技術(shù)方案的平臺。
3. 如權(quán)利要求1或2所述的一種基于W太網(wǎng)的開放式機(jī)械手控制裝置與方法,其特征 在于,在步驟3)中,系統(tǒng)已將化herCAT的電機(jī)驅(qū)動標(biāo)準(zhǔn)的數(shù)據(jù)包封裝成系統(tǒng)變量,通過修 改MC_MOVEABSOLUTE模塊命令電機(jī)到一個指定的絕對位置;所述的MC_MOVEAB-SOLUTE模塊 包含可W設(shè)置命令執(zhí)行項Execute的輸入端、指定電機(jī)運(yùn)動的目標(biāo)位置化sition、設(shè)定電 機(jī)的速度Velocity、電機(jī)的加速度Acceleration及電機(jī)的減速度Deceleration和電機(jī)轉(zhuǎn) 向Direction,所述模塊輸出端查看電機(jī)的工作狀態(tài),通過修改MC_MOVEVELOCITY模塊使電 機(jī)W-定的速度轉(zhuǎn)動,其輸入端同時也具有執(zhí)行、速度、加減速設(shè)置項,輸出端查看各種電 機(jī)運(yùn)行狀態(tài)的參數(shù);通過修改MC_P0WER可W控制電機(jī)的啟停,輸入端有使能、電源平臺開 啟項及驅(qū)動開始項,輸出項也是電機(jī)各種預(yù)開啟狀態(tài)的參數(shù); 模塊MC_READACT-UALPOSITION來返回電機(jī)轉(zhuǎn)動的實際位置,輸入為使能控制,輸出返 回電機(jī)的實際狀態(tài)或電機(jī)的出錯狀態(tài)信息。
4. 如權(quán)利要求1或2所述的一種基于W太網(wǎng)的開放式機(jī)械手控制裝置與方法,其特征 在于,在步驟4)中,所述的W太網(wǎng)與PC端網(wǎng)卡相連顯示當(dāng)前機(jī)械手運(yùn)行狀態(tài),所述的W太 網(wǎng)傳輸?shù)臄?shù)據(jù)報文包括機(jī)械手的所處的工作流程的具體步驟、工作狀態(tài)、執(zhí)行器的笛卡爾 坐標(biāo)及其姿態(tài)向量。所述數(shù)據(jù)報文格式包含數(shù)據(jù)帖頭、數(shù)據(jù)長度、機(jī)械手的ID、功能號、數(shù)據(jù) 流W及校驗位,PC端監(jiān)控器能夠增刪連接的機(jī)械手設(shè)備,并實時顯示各個機(jī)械手狀態(tài),隨時 對某個機(jī)械手進(jìn)行暫停、復(fù)位等操作。
5. 如權(quán)利要求1或2所述的一種基于W太網(wǎng)的開放式機(jī)械手控制裝置與方法,其特 征在于,在步驟5)中,所述的開放式直接編程包括如下實現(xiàn)途徑;a、用戶能夠在人機(jī)界面 中直接編寫C語言或者機(jī)器語言代碼從而自主規(guī)劃機(jī)械手的運(yùn)動軌跡;b、向控制器中導(dǎo)入 CAD軌跡圖直接生成能夠描述相應(yīng)空間軌跡的機(jī)器語言。
6. 如權(quán)利要求1或2所述的一種基于W太網(wǎng)的開放式機(jī)械手控制裝置與方法,其特征 在于,在步驟5)中,軌跡規(guī)劃和速度控制過程如下: 在X/Y坐標(biāo)上存在p,p。的軌跡,它與X的橫坐標(biāo)存在0的夾角,對該軌跡進(jìn)行時間分割 插補(bǔ)后得到;個插補(bǔ)點91、92、93,機(jī)械手從軌跡的第一個插補(bǔ)點91^1,71)1^速度乂1(¥^,¥1^) 按照預(yù)先設(shè)定的軌跡運(yùn)動到第二個插補(bǔ)點P2(X2,y2),在一個插補(bǔ)周期后,即在P2(X2,y2)點 處進(jìn)行實時位置反饋,此時發(fā)現(xiàn)由于Y軸負(fù)載的變化導(dǎo)致Y軸的速度比實際規(guī)劃的速度要 小,所W在一個插補(bǔ)周期后導(dǎo)致機(jī)械手未到指定的點P2上,而是在點P2'上,最后產(chǎn)生的位 置誤差是Pa(X&,y&),
(1) 同時通過計算得到實際的X軸和Y軸的速度K'(<t,vI,.),對比實際的速度和規(guī)劃的速 度比較各自軸的速度快慢,假設(shè)實際速度與規(guī)劃速度Viy有較大的差距,則將Y軸作為下 次速度規(guī)劃參考軸,該時的點P2 (&,y2)的速度V2 (V&,V2y):
口) 從而得出插補(bǔ)點P2的速度,結(jié)合插補(bǔ)周期T,得到新的插補(bǔ)點Pm。
【專利摘要】一種基于以太網(wǎng)的開放式機(jī)械手控制方法,包括如下步驟:1)采用基于ARM Cortex-A8內(nèi)核的嵌入式工控板并搭載有CoDeSysRTS軟件環(huán)境的嵌入式Linux作為整個技術(shù)方案的實現(xiàn)平臺;2)通過EtherCAT協(xié)議的以太網(wǎng)連接ARM控制器與各個關(guān)節(jié)電機(jī)的伺服驅(qū)動器;3)采用以太網(wǎng)與PC端的網(wǎng)卡相連,傳輸并在PC端顯示當(dāng)前機(jī)械手的運(yùn)行狀態(tài);4)通過控制器的開放式直接編程實現(xiàn)對機(jī)械手的笛卡爾坐標(biāo)的軌跡規(guī)劃與速度控制;采用機(jī)器人逆運(yùn)動學(xué)解算法將笛卡爾坐標(biāo)轉(zhuǎn)換為各個關(guān)節(jié)電機(jī)的轉(zhuǎn)速轉(zhuǎn)加速度,通過以太網(wǎng)讀取機(jī)械手各個關(guān)節(jié)狀態(tài)變量并通過實時的速度規(guī)劃計算控制信息從而進(jìn)行位置誤差補(bǔ)償。本發(fā)明實時性良好、穩(wěn)定性較高、開放性良好。
【IPC分類】B25J9-16
【公開號】CN104786221
【申請?zhí)枴緾N201510172297
【發(fā)明人】董輝, 金闊洋, 賴宏煥, 韓瑞祥, 樓杰
【申請人】浙江工業(yè)大學(xué), 浙江金火機(jī)床有限公司
【公開日】2015年7月22日
【申請日】2015年4月13日