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