一種特定構(gòu)型六軸工業(yè)機(jī)器人的運(yùn)動(dòng)控制方法
【專利摘要】本發(fā)明公開了一種特定構(gòu)型六軸工業(yè)機(jī)器人的運(yùn)動(dòng)控制方法,包括:建立工業(yè)機(jī)器人的連桿坐標(biāo)系,獲得工業(yè)機(jī)器人的七根桿件和六個(gè)軸之間的幾何關(guān)系;獲取工業(yè)機(jī)器人對(duì)應(yīng)的G指令文件后,讀取工業(yè)機(jī)器人的目標(biāo)運(yùn)動(dòng)位置;根據(jù)該目標(biāo)運(yùn)動(dòng)位置以及工業(yè)機(jī)器人的幾何關(guān)系,依次計(jì)算工業(yè)機(jī)器人的六個(gè)軸的關(guān)節(jié)角度;分別將計(jì)算出的六個(gè)關(guān)節(jié)角度轉(zhuǎn)化成每個(gè)軸對(duì)應(yīng)的運(yùn)動(dòng)脈沖數(shù)后,發(fā)送到工業(yè)機(jī)器人的驅(qū)動(dòng)器;驅(qū)動(dòng)器根據(jù)接收的每個(gè)軸對(duì)應(yīng)的運(yùn)動(dòng)脈沖數(shù),依次驅(qū)動(dòng)對(duì)應(yīng)的電機(jī)帶動(dòng)相應(yīng)的軸進(jìn)行運(yùn)動(dòng)。本發(fā)明基于幾何關(guān)系,對(duì)工業(yè)機(jī)器人進(jìn)行運(yùn)動(dòng)逆解,從而實(shí)現(xiàn)對(duì)工業(yè)機(jī)器人的運(yùn)動(dòng)控制,運(yùn)算速度快,計(jì)算效率高且控制效率高,可廣泛應(yīng)用于工業(yè)機(jī)器人的控制領(lǐng)域中。
【專利說(shuō)明】
一種特定構(gòu)型六軸工業(yè)機(jī)器人的運(yùn)動(dòng)控制方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及工業(yè)機(jī)器人的控制領(lǐng)域,特別是涉及一種特定構(gòu)型六軸工業(yè)機(jī)器人的 運(yùn)動(dòng)控制方法。
【背景技術(shù)】
[0002] 隨著科技的發(fā)展,工業(yè)機(jī)器人在各種生產(chǎn)場(chǎng)所得到了較為廣泛的應(yīng)用,在制造、安 裝、檢測(cè)或物流等領(lǐng)域中應(yīng)用廣泛。采用工業(yè)機(jī)器人替代人工作業(yè),不僅可以提高勞動(dòng)生產(chǎn) 率,還可以達(dá)到更高的操作精度,從而提高產(chǎn)品的生產(chǎn)質(zhì)量,總體上也降低了生產(chǎn)成本。
[0003] 對(duì)工業(yè)機(jī)器人的控制過(guò)程中,經(jīng)常需要給定一個(gè)目標(biāo)位置,然后進(jìn)行運(yùn)動(dòng)學(xué)逆解, 計(jì)算獲得工業(yè)機(jī)器人的每個(gè)關(guān)節(jié)的運(yùn)動(dòng)距離以及運(yùn)動(dòng)角度,獲得工業(yè)機(jī)器人的空間位姿。 目前中,對(duì)工業(yè)機(jī)器人主要采用的運(yùn)動(dòng)學(xué)逆解方法包括數(shù)值法、代數(shù)法和幾何法,數(shù)值法是 利用各種優(yōu)化算法進(jìn)行迭代,若選擇的優(yōu)化算法不合適,將會(huì)大大地增加計(jì)算時(shí)間,降低計(jì) 算效率。代數(shù)法最大的缺點(diǎn)是計(jì)算過(guò)程復(fù)雜,由于大部分的計(jì)算都是基于矩陣來(lái)計(jì)算,因此 在計(jì)算的過(guò)程中很容易出現(xiàn)錯(cuò)誤,此外,代數(shù)法的計(jì)算結(jié)果受機(jī)器人的桿件DH參數(shù)影響,若 桿件DH參數(shù)選擇不正確,將無(wú)法進(jìn)行消元,從而導(dǎo)致最后算不出逆解。幾何法相比于前面兩 種算法來(lái)說(shuō)較為簡(jiǎn)單,整個(gè)過(guò)程都是基于幾何圖形計(jì)算,較為直觀,但是目前技術(shù)中關(guān)于幾 何法進(jìn)行逆解的相關(guān)文獻(xiàn)資料比較少,尤其對(duì)各種不同構(gòu)型的工業(yè)機(jī)器人更缺乏相應(yīng)的逆 解資料,因此導(dǎo)致無(wú)法有效地對(duì)工業(yè)機(jī)器人進(jìn)行運(yùn)動(dòng)控制。
【發(fā)明內(nèi)容】
[0004] 為了解決上述的技術(shù)問題,本發(fā)明的目的是提供一種特定構(gòu)型六軸工業(yè)機(jī)器人的 運(yùn)動(dòng)控制方法。
[0005] 本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
[0006] -種特定構(gòu)型六軸工業(yè)機(jī)器人的運(yùn)動(dòng)控制方法,包括以下步驟:
[0007] S1、建立工業(yè)機(jī)器人的連桿坐標(biāo)系,獲得工業(yè)機(jī)器人的七根桿件和六個(gè)軸之間的 幾何關(guān)系;
[0008] S2、獲取工業(yè)機(jī)器人對(duì)應(yīng)的G指令文件后,讀取工業(yè)機(jī)器人的目標(biāo)運(yùn)動(dòng)位置;
[0009] S3、根據(jù)該目標(biāo)運(yùn)動(dòng)位置以及工業(yè)機(jī)器人的幾何關(guān)系,依次計(jì)算工業(yè)機(jī)器人的六 個(gè)軸的關(guān)節(jié)角度;
[0010] S4、分別將計(jì)算出的六個(gè)關(guān)節(jié)角度轉(zhuǎn)化成每個(gè)軸對(duì)應(yīng)的運(yùn)動(dòng)脈沖數(shù)后,發(fā)送到工 業(yè)機(jī)器人的驅(qū)動(dòng)器;
[0011] S5、驅(qū)動(dòng)器根據(jù)接收的每個(gè)軸對(duì)應(yīng)的運(yùn)動(dòng)脈沖數(shù),依次驅(qū)動(dòng)對(duì)應(yīng)的電機(jī)帶動(dòng)相應(yīng) 的軸進(jìn)行運(yùn)動(dòng)。
[0012] 進(jìn)一步,所述步驟S1,其具體為:
[0013] 建立工業(yè)機(jī)器人的連桿坐標(biāo)系,獲得工業(yè)機(jī)器人的七根桿件和六個(gè)軸之間的幾何 關(guān)系,設(shè)七根桿件的長(zhǎng)度分別為L(zhǎng)I、L2、L3、L4、L5、L6和L7,六個(gè)軸的關(guān)節(jié)角度分別為Θ:、θ 2、 θ3、θ4、θ5和θ6〇
[0014] 進(jìn)一步,所述工業(yè)機(jī)器人的前五個(gè)桿件的桿件坐標(biāo)系共面,且該五個(gè)桿件所在的 平面為工業(yè)機(jī)器人的工作平面。
[0015] 進(jìn)一步,所述步驟S2中所述工業(yè)機(jī)器人的目標(biāo)運(yùn)動(dòng)位置包括工業(yè)機(jī)器人的姿態(tài)和 工業(yè)機(jī)器人的位置矢量。
[0016] 進(jìn)一步,所述步驟S3,包括:
[0017] S31、獲取目標(biāo)運(yùn)動(dòng)位置的姿態(tài)作為工業(yè)機(jī)器人的腕關(guān)節(jié)點(diǎn)的姿態(tài)[η 0 a],同時(shí) 獲取目標(biāo)運(yùn)動(dòng)位置的位置矢量作為工業(yè)機(jī)器人的腕關(guān)節(jié)點(diǎn)的坐標(biāo)(?\,?7,?2),其中,11、 〇和3 分別表示腕關(guān)節(jié)點(diǎn)的法向矢量、方位矢量和接近矢量,且η = ο X a,Px、Py和Pz分別表示腕關(guān) 節(jié)點(diǎn)的X軸、Y軸和Z軸坐標(biāo)值;
[0018] S32、根據(jù)工業(yè)機(jī)器人的幾何關(guān)系,采用下式,計(jì)算工業(yè)機(jī)器人的關(guān)節(jié)角度0^02、 03:
[0019]
[0020]
[0021]
[0022] S32、判斷工業(yè)機(jī)器人的第四個(gè)軸與第六個(gè)軸是否共線,若是,則執(zhí)行步驟S33后結(jié) 束,反之,直接執(zhí)行步驟S34;
[0023] S33、根據(jù)下式計(jì)算獲得工業(yè)機(jī)器人的關(guān)節(jié)角度θ4、θ5、θ 6:
[0024]
[0025] 上式中,Normal表示工業(yè)機(jī)器人的前五個(gè)桿件所在的工作平面的法向矢量,且 Normal = Vector(sin9i,-cosθι ,〇);
[0026] S34、根據(jù)連桿變換公式構(gòu)建代表工業(yè)機(jī)器人的第六軸的Ζ軸轉(zhuǎn)軸方向的目標(biāo)函 數(shù):
[0027]
[0028] 上式中,°Ζ5 '表示工業(yè)機(jī)器人的第六軸的Ζ軸轉(zhuǎn)軸方向的目標(biāo)函數(shù),壙:!T\ 分別表示工業(yè)機(jī)器人的坐標(biāo)系之間的變換矩陣;
[0029] S35、將下式的條件因子代入目標(biāo)函數(shù)的表達(dá)式中求解目標(biāo)函數(shù)值,進(jìn)而將求解獲 得的目標(biāo)函數(shù)值與第六軸的目標(biāo)值相等時(shí)的條件因子作為關(guān)節(jié)角度9 4、05的最優(yōu)解:
[0030]
[0031]上式中,ts'和ts"分別表示工業(yè)機(jī)器人的第五軸的兩個(gè)可能的Z軸轉(zhuǎn)軸方向,qZ4 表不工業(yè)機(jī)器人的第四軸的Z軸轉(zhuǎn)軸方向,*^6表不工業(yè)機(jī)器人的第六軸的Z軸轉(zhuǎn)軸方向;
[0032] S36、根據(jù)關(guān)節(jié)角度θ4和05的最優(yōu)解,對(duì)腕關(guān)節(jié)點(diǎn)的法向矢量和方位矢量進(jìn)行更新 后,根據(jù)下式計(jì)算獲得工業(yè)機(jī)器人的關(guān)節(jié)角度θ 6:
[0033] 96 = Angle(o, ,Normal)
[0034] 上式中,〇'表示更新后的腕關(guān)節(jié)點(diǎn)的方位矢量。
[0035] 進(jìn)一步,所述步驟S36,包括:
[0036] S361、根據(jù)關(guān)節(jié)角度θ4和05的最優(yōu)解,求解下式:
[0037]
[0038]上式中,QX6表不工業(yè)機(jī)器人的第六軸的X軸轉(zhuǎn)軸方向,QY6表不工業(yè)機(jī)器人的第六 軸的Y軸轉(zhuǎn)軸方向,*^5表不工業(yè)機(jī)器人的第五軸的Z軸轉(zhuǎn)軸方向,*^4表不工業(yè)機(jī)器人的第四 軸的Z軸轉(zhuǎn)軸方向,T表示工業(yè)機(jī)器人的變換矩陣;
[0039] S362、構(gòu)造如下兩個(gè)旋轉(zhuǎn)矩陣:
[0040]
[0041] S363、根據(jù)構(gòu)建的旋轉(zhuǎn)矩陣,計(jì)算工業(yè)機(jī)器人的旋轉(zhuǎn)后的第六軸的X軸轉(zhuǎn)軸方向和 Y軸轉(zhuǎn)軸方向:
[0042]
[0043] 上式中,4'6表示工業(yè)機(jī)器人的旋轉(zhuǎn)后的第六軸的X軸轉(zhuǎn)軸方向,巧6'表示工業(yè)機(jī) 器人的旋轉(zhuǎn)后的第六軸的Y軸轉(zhuǎn)軸方向;
[0044] S364、根據(jù)下式,對(duì)腕關(guān)節(jié)點(diǎn)的法向矢量和方位矢量進(jìn)行更新:
[0045]
[0046] 上式中,η'表示更新后的腕關(guān)節(jié)點(diǎn)的法向矢量,〇'表示更新后的腕關(guān)節(jié)點(diǎn)的方位 矢量;
[0047] S365、根據(jù)下式計(jì)算獲得工業(yè)機(jī)器人的關(guān)節(jié)角度θ6:
[0048] 96 = Angle(o,,Normal)。
[0049] 本發(fā)明的有益效果是:本發(fā)明的一種特定構(gòu)型六軸工業(yè)機(jī)器人的運(yùn)動(dòng)控制方法, 包括:建立工業(yè)機(jī)器人的連桿坐標(biāo)系,獲得工業(yè)機(jī)器人的七根桿件和六個(gè)軸之間的幾何關(guān) 系;獲取工業(yè)機(jī)器人對(duì)應(yīng)的G指令文件后,讀取工業(yè)機(jī)器人的目標(biāo)運(yùn)動(dòng)位置;根據(jù)該目標(biāo)運(yùn) 動(dòng)位置以及工業(yè)機(jī)器人的幾何關(guān)系,依次計(jì)算工業(yè)機(jī)器人的六個(gè)軸的關(guān)節(jié)角度;分別將計(jì) 算出的六個(gè)關(guān)節(jié)角度轉(zhuǎn)化成每個(gè)軸對(duì)應(yīng)的運(yùn)動(dòng)脈沖數(shù)后,發(fā)送到工業(yè)機(jī)器人的驅(qū)動(dòng)器;驅(qū) 動(dòng)器根據(jù)接收的每個(gè)軸對(duì)應(yīng)的運(yùn)動(dòng)脈沖數(shù),依次驅(qū)動(dòng)對(duì)應(yīng)的電機(jī)帶動(dòng)相應(yīng)的軸進(jìn)行運(yùn)動(dòng)。 本方法基于幾何關(guān)系,對(duì)工業(yè)機(jī)器人進(jìn)行運(yùn)動(dòng)逆解,從而實(shí)現(xiàn)對(duì)工業(yè)機(jī)器人的運(yùn)動(dòng)控制,運(yùn) 算速度快,計(jì)算效率高且控制效率高。
【附圖說(shuō)明】
[0050] 下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
[0051] 圖1是本發(fā)明的一種特定構(gòu)型六軸工業(yè)機(jī)器人的運(yùn)動(dòng)控制方法建立的工業(yè)機(jī)器人 的連桿坐標(biāo)系的示意圖;
[0052] 圖2是本發(fā)明的具體實(shí)施例中工業(yè)機(jī)器人的第六軸的關(guān)節(jié)角度與腕關(guān)節(jié)的法向矢 量之間的第一位置關(guān)系示意圖;
[0053] 圖3是本發(fā)明的具體實(shí)施例中工業(yè)機(jī)器人的第六軸的關(guān)節(jié)角度與腕關(guān)節(jié)的法向矢 量之間的第二位置關(guān)系示意圖。
【具體實(shí)施方式】
[0054]本發(fā)明提供了一種特定構(gòu)型六軸工業(yè)機(jī)器人的運(yùn)動(dòng)控制方法,包括以下步驟:
[0055] S1、建立工業(yè)機(jī)器人的連桿坐標(biāo)系,獲得工業(yè)機(jī)器人的七根桿件和六個(gè)軸之間的 幾何關(guān)系;
[0056] S2、獲取工業(yè)機(jī)器人對(duì)應(yīng)的G指令文件后,讀取工業(yè)機(jī)器人的目標(biāo)運(yùn)動(dòng)位置;
[0057] S3、根據(jù)該目標(biāo)運(yùn)動(dòng)位置以及工業(yè)機(jī)器人的幾何關(guān)系,依次計(jì)算工業(yè)機(jī)器人的六 個(gè)軸的關(guān)節(jié)角度;
[0058] S4、分別將計(jì)算出的六個(gè)關(guān)節(jié)角度轉(zhuǎn)化成每個(gè)軸對(duì)應(yīng)的運(yùn)動(dòng)脈沖數(shù)后,發(fā)送到工 業(yè)機(jī)器人的驅(qū)動(dòng)器;
[0059] S5、驅(qū)動(dòng)器根據(jù)接收的每個(gè)軸對(duì)應(yīng)的運(yùn)動(dòng)脈沖數(shù),依次驅(qū)動(dòng)對(duì)應(yīng)的電機(jī)帶動(dòng)相應(yīng) 的軸進(jìn)行運(yùn)動(dòng)。
[0060] 進(jìn)一步作為優(yōu)選的實(shí)施方式,所述步驟S1,其具體為:
[0061] 如圖1所示,建立工業(yè)機(jī)器人的連桿坐標(biāo)系,獲得工業(yè)機(jī)器人的七根桿件和六個(gè)軸 之間的幾何關(guān)系,設(shè)七根桿件的長(zhǎng)度分別為L(zhǎng)1、L2、L3、L4、L5、L6和L7,六個(gè)軸的關(guān)節(jié)角度分 別為91、92、93、94、05和9 6,圖1中兒6和1^7重合。
[0062] 進(jìn)一步作為優(yōu)選的實(shí)施方式,所述工業(yè)機(jī)器人的前五個(gè)桿件的桿件坐標(biāo)系共面, 且該五個(gè)桿件所在的平面為工業(yè)機(jī)器人的工作平面。
[0063] 進(jìn)一步作為優(yōu)選的實(shí)施方式,所述步驟S2中所述工業(yè)機(jī)器人的目標(biāo)運(yùn)動(dòng)位置包括 工業(yè)機(jī)器人的姿態(tài)和工業(yè)機(jī)器人的位置矢量。
[0064] 進(jìn)一步作為優(yōu)選的實(shí)施方式,所述步驟S3,包括:
[0065] S31、獲取目標(biāo)運(yùn)動(dòng)位置的姿態(tài)作為工業(yè)機(jī)器人的腕關(guān)節(jié)點(diǎn)的姿態(tài)[η 0 a],同時(shí) 獲取目標(biāo)運(yùn)動(dòng)位置的位置矢量作為工業(yè)機(jī)器人的腕關(guān)節(jié)點(diǎn)的坐標(biāo)(?\,?7,?2),其中,11、 〇和3 分別表示腕關(guān)節(jié)點(diǎn)的法向矢量、方位矢量和接近矢量,且η = ο X a,Px、Py和Pz分別表示腕關(guān) 節(jié)點(diǎn)的X軸、Y軸和Z軸坐標(biāo)值;
[0066] S32、根據(jù)工業(yè)機(jī)器人的幾何關(guān)系,采用下式,計(jì)算工業(yè)機(jī)器人的關(guān)節(jié)角度0^02、 03:
[0067]
[0068]
[0069]
[0070] S32、判斷工業(yè)機(jī)器人的第四個(gè)軸與第六個(gè)軸是否共線,若是,則執(zhí)行步驟S33后結(jié) 束,反之,直接執(zhí)行步驟S34;
[0071] S33、根據(jù)下式計(jì)算獲得工業(yè)機(jī)器人的關(guān)節(jié)角度θ4、θ5、θ6:
[0072]
[0073] 上式中,Normal表示工業(yè)機(jī)器人的前五個(gè)桿件所在的工作平面的法向矢量,且 Normal = Vector(sin9i,-cosθι ,〇);
[0074] S34、根據(jù)連桿變換公式構(gòu)建代表工業(yè)機(jī)器人的第六軸的Ζ軸轉(zhuǎn)軸方向的目標(biāo)函 數(shù):
[0075]
[0076] 上式中,°Ζ5'表示工業(yè)機(jī)器人的第六軸的Ζ軸轉(zhuǎn)軸方向的目標(biāo)函數(shù),KiTVlr,%妒 分別表示工業(yè)機(jī)器人的坐標(biāo)系之間的變換矩陣;
[0077] S35、將下式的條件因子代入目標(biāo)函數(shù)的表達(dá)式中求解目標(biāo)函數(shù)值,進(jìn)而將求解獲 得的目標(biāo)函數(shù)值與第六軸的目標(biāo)值相等時(shí)的條件因子作為關(guān)節(jié)角度94、05的最優(yōu)解:
[0078]
[0079]上式中,ts'和ts"分別表示工業(yè)機(jī)器人的第五軸的兩個(gè)可能的Z軸轉(zhuǎn)軸方向,qZ4 表不工業(yè)機(jī)器人的第四軸的Z軸轉(zhuǎn)軸方向,*^6表不工業(yè)機(jī)器人的第六軸的Z軸轉(zhuǎn)軸方向; [0080] S36、根據(jù)關(guān)節(jié)角度θ4和05的最優(yōu)解,對(duì)腕關(guān)節(jié)點(diǎn)的法向矢量和方位矢量進(jìn)行更新 后,根據(jù)下式計(jì)算獲得工業(yè)機(jī)器人的關(guān)節(jié)角度θ6:
[0081] 96 = Angle(o, ,Normal)
[0082] 上式中,〇'表示更新后的腕關(guān)節(jié)點(diǎn)的方位矢量。
[0083]進(jìn)一步作為優(yōu)選的實(shí)施方式,所述步驟S36,包括:
[0084] S361、根據(jù)關(guān)節(jié)角度θ4和05的最優(yōu)解,求解下式:
[0085]
[0086]上式中,QX6表不工業(yè)機(jī)器人的第六軸的X軸轉(zhuǎn)軸方向,QY6表不工業(yè)機(jī)器人的第六 軸的Y軸轉(zhuǎn)軸方向,*^5表不工業(yè)機(jī)器人的第五軸的Z軸轉(zhuǎn)軸方向,*^4表不工業(yè)機(jī)器人的第四 軸的Z軸轉(zhuǎn)軸方向,T表示工業(yè)機(jī)器人的變換矩陣;
[0087] S362、構(gòu)造如下兩個(gè)旋轉(zhuǎn)矩陣:
[0088]
[0089] S363、根據(jù)構(gòu)建的旋轉(zhuǎn)矩陣,計(jì)算工業(yè)機(jī)器人的旋轉(zhuǎn)后的第六軸的X軸轉(zhuǎn)軸方向和 Y軸轉(zhuǎn)軸方向:
[0090]
[0091] 上式中,4'6表示工業(yè)機(jī)器人的旋轉(zhuǎn)后的第六軸的X軸轉(zhuǎn)軸方向,巧6'表示工業(yè)機(jī) 器人的旋轉(zhuǎn)后的第六軸的Y軸轉(zhuǎn)軸方向;
[0092 ] S364、根據(jù)下式,對(duì)腕關(guān)節(jié)點(diǎn)的法向矢量和方位矢量進(jìn)行更新:
[0093]
[0094] 上式中,η'表示更新后的腕關(guān)節(jié)點(diǎn)的法向矢量,〇'表示更新后的腕關(guān)節(jié)點(diǎn)的方位 矢量;
[0095] S365、根據(jù)下式計(jì)算獲得工業(yè)機(jī)器人的關(guān)節(jié)角度θ6:
[0096] 96 = Angle(o,,Normal)。
[0097] 以下結(jié)合具體實(shí)施例對(duì)本發(fā)明做詳細(xì)說(shuō)明。
[0098] -種特定構(gòu)型六軸工業(yè)機(jī)器人的運(yùn)動(dòng)控制方法,包括以下步驟:
[0099] S1、建立工業(yè)機(jī)器人的連桿坐標(biāo)系,獲得工業(yè)機(jī)器人的七根桿件和六個(gè)軸之間的 幾何關(guān)系,具體為:如圖1所示,建立工業(yè)機(jī)器人的連桿坐標(biāo)系,獲得工業(yè)機(jī)器人的七根桿件 和六個(gè)軸之間的幾何關(guān)系,設(shè)七根桿件的長(zhǎng)度分別為11、1^丄3丄4丄5丄6和1^7,六個(gè)軸的關(guān) 節(jié)角度分別為θι、θ 2、θ3、04、05和06,而且工業(yè)機(jī)器人的前五個(gè)桿件的桿件坐標(biāo)系共面,且該 五個(gè)桿件所在的平面abcdefgh為工業(yè)機(jī)器人的工作平面。工業(yè)機(jī)器人的七根桿件的桿件坐 標(biāo)系分別為第0個(gè)坐標(biāo)系、第1個(gè)坐標(biāo)系、第2個(gè)坐標(biāo)系、第3個(gè)坐標(biāo)系、第4個(gè)坐標(biāo)系、第5個(gè)坐 標(biāo)系和第6個(gè)坐標(biāo)系。
[0100] S2、獲取工業(yè)機(jī)器人對(duì)應(yīng)的G指令文件后,讀取工業(yè)機(jī)器人的目標(biāo)運(yùn)動(dòng)位置;對(duì)工 業(yè)機(jī)器人進(jìn)行控制時(shí),用戶通過(guò)離線編程軟件進(jìn)行歸集規(guī)劃,最后輸出對(duì)應(yīng)的G指令文件, 本發(fā)明獲取該G指令文件后,按照G指令文件的規(guī)則進(jìn)行讀取,從而獲得工業(yè)機(jī)器人的目標(biāo) 運(yùn)動(dòng)位置,包括姿態(tài)[η 0 a]和位置矢量(Px,Py,Pz),該姿態(tài)即為工業(yè)機(jī)器人的腕關(guān)節(jié)點(diǎn)的 姿態(tài),位置矢量為工業(yè)機(jī)器人的腕關(guān)節(jié)點(diǎn)的坐標(biāo);
[0101] S3、根據(jù)該目標(biāo)運(yùn)動(dòng)位置以及工業(yè)機(jī)器人的幾何關(guān)系,依次計(jì)算工業(yè)機(jī)器人的六 個(gè)軸的關(guān)節(jié)角度,根據(jù)前面的描述,工業(yè)機(jī)器人的前五個(gè)桿件的長(zhǎng)度11丄2丄3丄4丄5是已 知的,前五個(gè)桿件位于工作平面abcdefgh上,工業(yè)機(jī)器人的腕關(guān)節(jié)點(diǎn)的坐標(biāo)也是已知的,因 此可以根據(jù)幾何關(guān)系求解六個(gè)軸的關(guān)節(jié)角度,具體的,步驟S3包括步驟S31~S36:
[0102] S31、獲取目標(biāo)運(yùn)動(dòng)位置的姿態(tài)作為工業(yè)機(jī)器人的腕關(guān)節(jié)點(diǎn)的姿態(tài)[η 0 a],同時(shí) 獲取目標(biāo)運(yùn)動(dòng)位置的位置矢量作為工業(yè)機(jī)器人的腕關(guān)節(jié)點(diǎn)的坐標(biāo)(?\,?7,?2),其中,11、 〇和3 分別表示腕關(guān)節(jié)點(diǎn)的法向矢量、方位矢量和接近矢量,且η = ο X a,Px、Py和Pz分別表示腕關(guān) 節(jié)點(diǎn)的X軸、Y軸和Z軸坐標(biāo)值;
[0103] S32、根據(jù)工業(yè)機(jī)器人的幾何關(guān)系,采用下式,計(jì)算工業(yè)機(jī)器人的關(guān)節(jié)角度0^02、 03:
[0104]
[0105] 上式中,arctan2為單值函數(shù),Lcf、Lcg、Ldf滿足下式:
[0106]
[0107]下面結(jié)合圖1簡(jiǎn)單說(shuō)明關(guān)節(jié)角度θι、θ2、θ3的計(jì)算原理: Ρ
[0108] 由圖1可知,Θ! = arctan 2(f),其中ar c tan2為單值函數(shù),另外,根據(jù)圖1的幾何關(guān)系, 可以計(jì)算出:
[0109] ?, -4 = 4 -4 二 '//)': + 6 - L2
[0110] Lf g = Lf h-Lgh = Lf h-Li = Pz-Li
[0111] 在直角三角形fcg中,滿足:
[0112]
[0113] 在直角三角型def中,滿足:
[0116]
[0114]
[0115] 在三角形cdf中,根據(jù)余弦定理可獲得:
[0117]
[0118]
[0119] 聯(lián)合上面幾個(gè)表達(dá)式可獲得02=Zfcg+Zdcf,即
[0120]而在直角三角形def中,滿足:
[0121]
[0122] 由此獲得:
[0123] Zidf = 180°-Zedf
[0124] 在三角形cdf中,根據(jù)余弦定理獲得:
[0125] 一
~aj
[0126] 聯(lián)合上述幾個(gè)公式可獲得θ3= Zcdi = Zcdf-Z idf,即
[0127]
[0128] S32、判斷工業(yè)機(jī)器人的第四個(gè)軸與第六個(gè)軸是否共線,若是,則執(zhí)行步驟S33后結(jié) 束,反之,直接執(zhí)行步驟S34;
[0129] S33、工業(yè)機(jī)器人的第四個(gè)軸與第六個(gè)軸共線時(shí),根據(jù)下式計(jì)算獲得工業(yè)機(jī)器人的 關(guān)節(jié)角度θ4、θ5、θ 6:
[0130]
[0131] 上式中,Normal表示工業(yè)機(jī)器人的前五個(gè)桿件所在的工作平面的法向矢量,且 Normal = Vector (sin9:,-cos9:,〇);關(guān)節(jié)角度θ6為腕關(guān)節(jié)點(diǎn)的方位矢量和工作平面的法向 矢量之間的夾角,符號(hào)由為腕關(guān)節(jié)點(diǎn)的法向矢量和工作平面的法向矢量之間的夾角Angle (n,Normal)決定,當(dāng)Angle(n,Normal)大于或等于90度時(shí)候,θ6 < 〇,如圖3所示;當(dāng)Angle(n, Normal)小于90度時(shí)候,θ6>〇,如圖2所示。
[0132] S34、工業(yè)機(jī)器人的第四個(gè)軸與第六個(gè)軸不共線時(shí),根據(jù)連桿變換公式構(gòu)建代表工 業(yè)機(jī)器人的第六軸的Ζ軸轉(zhuǎn)軸方向的目標(biāo)函數(shù):
[0133] !iZft - "Τ' [T yT7 x Vcctori^0,1)
[0134] 上式中,QZ5 '表示工業(yè)機(jī)器人的第六軸的Z軸轉(zhuǎn)軸方向的目標(biāo)函數(shù),Idr, 23Γ, 34Γ, f 分別表示工業(yè)機(jī)器人的坐標(biāo)系之間的變換矩陣,,表示由第1個(gè)坐標(biāo)系轉(zhuǎn)換到第0個(gè)坐標(biāo)系 的矩陣,以此類推;
[0135] S35、將下式的條件因子代入目標(biāo)函數(shù)的表達(dá)式中求解目標(biāo)函數(shù)值,進(jìn)而將求解獲 得的目標(biāo)函數(shù)值與第六軸的目標(biāo)值相等時(shí)的條件因子作為關(guān)節(jié)角度94、05的最優(yōu)解:
[0136]
[0137] 上式中,ts'和ts"分別表示工業(yè)機(jī)器人的第五軸的兩個(gè)可能的Z軸轉(zhuǎn)軸方向,qZ4 表不工業(yè)機(jī)器人的第四軸的Z軸轉(zhuǎn)軸方向,*^6表不工業(yè)機(jī)器人的第六軸的Z軸轉(zhuǎn)軸方向;
[0138] S36、根據(jù)關(guān)節(jié)角度θ4和05的最優(yōu)解,對(duì)腕關(guān)節(jié)點(diǎn)的法向矢量和方位矢量進(jìn)行更新 后,根據(jù)下式計(jì)算獲得工業(yè)機(jī)器人的關(guān)節(jié)角度θ6:
[0139] 96 = Angle(o, ,Normal)
[0140] 上式中,〇'表示更新后的腕關(guān)節(jié)點(diǎn)的方位矢量。
[0141] 詳細(xì)的,步驟S36包括步驟S361~S365:
[0142] S361、根據(jù)關(guān)節(jié)角度θ4和05的最優(yōu)解,求解下式:
[0143]
[0144]上式中,QX6表不工業(yè)機(jī)器人的第六軸的X軸轉(zhuǎn)軸方向,QY6表不工業(yè)機(jī)器人的第六 軸的Y軸轉(zhuǎn)軸方向,*^5表不工業(yè)機(jī)器人的第五軸的Z軸轉(zhuǎn)軸方向,*^4表不工業(yè)機(jī)器人的第四 軸的Z軸轉(zhuǎn)軸方向,T表示工業(yè)機(jī)器人的變換矩陣;
[0145] S362、構(gòu)造如下兩個(gè)旋轉(zhuǎn)矩陣:
[0146]
[0147] S363、根據(jù)構(gòu)建的旋轉(zhuǎn)矩陣,計(jì)算工業(yè)機(jī)器人的旋轉(zhuǎn)后的第六軸的X軸轉(zhuǎn)軸方向和 Y軸轉(zhuǎn)軸方向:
[0148]
[0149] 上式中,4'6表示工業(yè)機(jī)器人的旋轉(zhuǎn)后的第六軸的X軸轉(zhuǎn)軸方向,巧6'表示工業(yè)機(jī) 器人的旋轉(zhuǎn)后的第六軸的Y軸轉(zhuǎn)軸方向;
[0150] S364、根據(jù)下式,對(duì)腕關(guān)節(jié)點(diǎn)的法向矢量和方位矢量進(jìn)行更新:
[0151]
[0152] 上式中,η'表示更新后的腕關(guān)節(jié)點(diǎn)的法向矢量,〇'表示更新后的腕關(guān)節(jié)點(diǎn)的方位 矢量;
[0153] S365、根據(jù)下式計(jì)算獲得工業(yè)機(jī)器人的關(guān)節(jié)角度θ6:
[0154] 96 = Angle(o ',Normal) 〇
[0155] 以下簡(jiǎn)單描述步驟S34~S36的計(jì)算原理:
[0156] 首先,根據(jù)連桿變換公式可獲得:
[0157]
[0158] 上式中廣Y表示由第i個(gè)坐標(biāo)系轉(zhuǎn)換到第i-Ι個(gè)坐標(biāo)系的矩陣,c表示三角函數(shù) cos,S表示三角函數(shù)sin,0i表示工業(yè)機(jī)器人的第i個(gè)關(guān)節(jié)角度,i = l,2,3,4,5,6 表示連 桿轉(zhuǎn)角,ay表示連桿長(zhǎng)度;
[0159] Z4表示第4個(gè)坐標(biāo)系中Z軸方向的方向向量,結(jié)合上述連桿變換公式,可得:
[0160] l!z4 = ';7'17'^ Fecter (0,0,1)
[0161] 又因?yàn)閍與々6相同,所以關(guān)節(jié)角度esSt*和^^的夾角,Bp:
[0162] 05 = Angle(()Z4,()Z6),Θ5的方向待定
[0163]因?yàn)殛P(guān)節(jié)角度θ4為工作平面的法向矢量Normal與%反方向的夾角,即94 = Angle (Norma 1,-? ),方向待定;
[0164] 因?yàn)榕c叉乘的方向,所以有兩個(gè)可能的方向:
[0165] °Z5' = °Z4 X °Z6gSc〇Z5" = °Ze X °Z4
[0166] 根據(jù)變化最小原則確定Θ4的值,即
[0167] 04=min( Angle (Normal,-0Z5 '),Angle (Normal,-0Z5"))方向待定
[0168] 因此,關(guān)節(jié)角度04和05的方向有以下四種組合方式:
[0169] (1)θ4為正,θ5為正;
[0170] (2)θ4為正,θ5為負(fù);
[0171] (3)θ4 為負(fù),θ5 為正;
[0172] (4)θ4為負(fù),θ5為負(fù);
[0173]根據(jù)連桿變換公式構(gòu)建代表工業(yè)機(jī)器人的第六軸的Ζ軸轉(zhuǎn)軸方向的目標(biāo)函數(shù):
[0174] UZ6 - i:7''r;7' 7^x^to/-(0,0,l)
[0175] 將關(guān)節(jié)角度04和05的公式以及四種方向情況依次代入目標(biāo)函數(shù)的表達(dá)式中求解目 標(biāo)函數(shù)值,進(jìn)而將求解獲得的目標(biāo)函數(shù)值%' 6與第六軸的目標(biāo)值相等時(shí)的條件因子作為 關(guān)節(jié)角度04、Θ5的最優(yōu)解。
[0176] 接著,根據(jù)關(guān)節(jié)角度θ4和05的最優(yōu)解,求解下式:
[0177]
[0178]上式中,QX6表不工業(yè)機(jī)器人的第六軸的X軸轉(zhuǎn)軸方向,QY6表不工業(yè)機(jī)器人的第六 軸的Y軸轉(zhuǎn)軸方向,*^5表不工業(yè)機(jī)器人的第五軸的Z軸轉(zhuǎn)軸方向,*^4表不工業(yè)機(jī)器人的第四 軸的Z軸轉(zhuǎn)軸方向,T表示工業(yè)機(jī)器人的變換矩陣;
[0179] 然后保持工業(yè)機(jī)器人的腕關(guān)節(jié)姿態(tài)不變,依次將關(guān)節(jié)角度04和05轉(zhuǎn)回〇角度位置, 計(jì)算出旋轉(zhuǎn)后的第六軸的X軸轉(zhuǎn)軸方向和Y軸轉(zhuǎn)軸方向,過(guò)程如下:
[0180] 構(gòu)造如下兩個(gè)旋轉(zhuǎn)矩陣:
[0181]
[0182]
[0183]
[0184] 上式中,4'6表示工業(yè)機(jī)器人的旋轉(zhuǎn)后的第六軸的X軸轉(zhuǎn)軸方向,巧6'表示工業(yè)機(jī) 器人的旋轉(zhuǎn)后的第六軸的Y軸轉(zhuǎn)軸方向;
[0185] 進(jìn)而根據(jù)下式,對(duì)腕關(guān)節(jié)點(diǎn)的法向矢量和方位矢量進(jìn)行更新:
[0186]
[0187] 上式中,η'表示更新后的腕關(guān)節(jié)點(diǎn)的法向矢量,〇'表示更新后的腕關(guān)節(jié)點(diǎn)的方位 矢量;
[0188] 最后,根據(jù)下式計(jì)算獲得工業(yè)機(jī)器人的關(guān)節(jié)角度θ6:
[0189] 96 = Angle(o,,Normal)。
[0190] 關(guān)節(jié)角度06符號(hào)由為更新后的腕關(guān)節(jié)點(diǎn)的法向矢量η'和工作平面的法向矢量 Normal之間的夾角Angle(n',Normal)決定,當(dāng)Angle(n',Normal)大于或等于90度時(shí)候,θ6 <0,當(dāng)六即16(11',1'1〇1'1]^1)小于90度時(shí)候,9 6>0,與步驟333中類似。
[0191] S4、分別將計(jì)算出的六個(gè)關(guān)節(jié)角度轉(zhuǎn)化成每個(gè)軸對(duì)應(yīng)的運(yùn)動(dòng)脈沖數(shù)后,發(fā)送到工 業(yè)機(jī)器人的驅(qū)動(dòng)器;計(jì)算出工業(yè)機(jī)器人的六個(gè)軸的關(guān)節(jié)角度后,采用現(xiàn)有技術(shù)的控制方法 將這六個(gè)關(guān)節(jié)角度轉(zhuǎn)化成每個(gè)軸對(duì)應(yīng)的運(yùn)動(dòng)脈沖數(shù),發(fā)送到驅(qū)動(dòng)器進(jìn)行運(yùn)動(dòng)控制。
[0192] S5、驅(qū)動(dòng)器根據(jù)接收的每個(gè)軸對(duì)應(yīng)的運(yùn)動(dòng)脈沖數(shù),依次驅(qū)動(dòng)對(duì)應(yīng)的電機(jī)帶動(dòng)相應(yīng) 的軸進(jìn)行運(yùn)動(dòng)。
[0193] 本發(fā)明基于幾何關(guān)系,結(jié)合幾何空間向量和矩陣來(lái)對(duì)工業(yè)機(jī)器人進(jìn)行運(yùn)動(dòng)逆解, 從而對(duì)工業(yè)機(jī)器人進(jìn)行運(yùn)動(dòng)控制,采用的計(jì)算公式簡(jiǎn)單明了,運(yùn)算速度快,計(jì)算效率高,可 以迅速地對(duì)工業(yè)機(jī)器人進(jìn)行運(yùn)動(dòng)逆解,從而實(shí)現(xiàn)運(yùn)動(dòng)控制。
[0194] 以上是對(duì)本發(fā)明的較佳實(shí)施進(jìn)行了具體說(shuō)明,但本發(fā)明創(chuàng)造并不限于所述實(shí)施 例,熟悉本領(lǐng)域的技術(shù)人員在不違背本發(fā)明精神的前提下還可做出種種的等同變形或替 換,這些等同的變型或替換均包含在本申請(qǐng)權(quán)利要求所限定的范圍內(nèi)。
【主權(quán)項(xiàng)】
1. 一種特定構(gòu)型六軸工業(yè)機(jī)器人的運(yùn)動(dòng)控制方法,其特征在于,包括以下步驟: 51、 建立工業(yè)機(jī)器人的連桿坐標(biāo)系,獲得工業(yè)機(jī)器人的七根桿件和六個(gè)軸之間的幾何 關(guān)系; 52、 獲取工業(yè)機(jī)器人對(duì)應(yīng)的G指令文件后,讀取工業(yè)機(jī)器人的目標(biāo)運(yùn)動(dòng)位置; 53、 根據(jù)該目標(biāo)運(yùn)動(dòng)位置以及工業(yè)機(jī)器人的幾何關(guān)系,依次計(jì)算工業(yè)機(jī)器人的六個(gè)軸 的關(guān)節(jié)角度; 54、 分別將計(jì)算出的六個(gè)關(guān)節(jié)角度轉(zhuǎn)化成每個(gè)軸對(duì)應(yīng)的運(yùn)動(dòng)脈沖數(shù)后,發(fā)送到工業(yè)機(jī) 器人的驅(qū)動(dòng)器; 55、 驅(qū)動(dòng)器根據(jù)接收的每個(gè)軸對(duì)應(yīng)的運(yùn)動(dòng)脈沖數(shù),依次驅(qū)動(dòng)對(duì)應(yīng)的電機(jī)帶動(dòng)相應(yīng)的軸 進(jìn)行運(yùn)動(dòng)。2. 根據(jù)權(quán)利要求1所述的一種特定構(gòu)型六軸工業(yè)機(jī)器人的運(yùn)動(dòng)控制方法,其特征在于, 所述步驟S1,其具體為: 建立工業(yè)機(jī)器人的連桿坐標(biāo)系,獲得工業(yè)機(jī)器人的七根桿件和六個(gè)軸之間的幾何關(guān) 系,設(shè)七根桿件的長(zhǎng)度分別為11、1^、1^、1^4、1^、1^6和1^7,六個(gè)軸的關(guān)節(jié)角度分別為91、92、 93、94、 05 和 Θ6。3. 根據(jù)權(quán)利要求2所述的一種特定構(gòu)型六軸工業(yè)機(jī)器人的運(yùn)動(dòng)控制方法,其特征在于, 所述工業(yè)機(jī)器人的前五個(gè)桿件的桿件坐標(biāo)系共面,且該五個(gè)桿件所在的平面為工業(yè)機(jī)器人 的工作平面。4. 根據(jù)權(quán)利要求1所述的一種特定構(gòu)型六軸工業(yè)機(jī)器人的運(yùn)動(dòng)控制方法,其特征在于, 所述步驟S2中所述工業(yè)機(jī)器人的目標(biāo)運(yùn)動(dòng)位置包括工業(yè)機(jī)器人的姿態(tài)和工業(yè)機(jī)器人的位 置矢量。5. 根據(jù)權(quán)利要求2所述的一種特定構(gòu)型六軸工業(yè)機(jī)器人的運(yùn)動(dòng)控制方法,其特征在于, 所述步驟S3,包括: 531、 獲取目標(biāo)運(yùn)動(dòng)位置的姿態(tài)作為工業(yè)機(jī)器人的腕關(guān)節(jié)點(diǎn)的姿態(tài)[η 〇 a],同時(shí)獲取 目標(biāo)運(yùn)動(dòng)位置的位置矢量作為工業(yè)機(jī)器人的腕關(guān)節(jié)點(diǎn)的坐標(biāo)(?\,?7少2),其中,11、 〇和&分別 表示腕關(guān)節(jié)點(diǎn)的法向矢量、方位矢量和接近矢量,且11 = 〇\3,?\、?\和?2分別表示腕關(guān)節(jié)點(diǎn) 的X軸、Y軸和Z軸坐標(biāo)值; 532、 根據(jù)工業(yè)機(jī)器人的幾何關(guān)系,采用下式,計(jì)算工業(yè)機(jī)器人的關(guān)節(jié)角度edJs:上式中,Lcf、LCg、Ldf滿足下式: 一戶 -* 2一 1 532、 判斷工業(yè)機(jī)器人的第四個(gè)軸與第六個(gè)軸是否共線,若是,則執(zhí)行步驟S33后結(jié)束, 反之,直接執(zhí)行步驟S34; 533、 根據(jù)下式計(jì)算獲得工業(yè)機(jī)器人的關(guān)節(jié)角度θ4、θ5、θ6:上式中,Normal表示工業(yè)機(jī)器人的前五個(gè)桿件所在的工作平面的法向矢量,且Normal = Vector(sin9i,-cosBi ,〇); 534、 根據(jù)連桿變換公式構(gòu)建代表工業(yè)機(jī)器人的第六軸的Z軸轉(zhuǎn)軸方向的目標(biāo)函數(shù):上式中,'表示工業(yè)機(jī)器人的第六軸的Z軸轉(zhuǎn)軸方向的目標(biāo)函數(shù),(丨7\#,$, 34Γ,分別 表示工業(yè)機(jī)器人的坐標(biāo)系之間的變換矩陣; 535、 將下式的條件因子代入目標(biāo)函數(shù)的表達(dá)式中求解目標(biāo)函數(shù)值,進(jìn)而將求解獲得的 目標(biāo)函數(shù)值與第六軸的目標(biāo)值相等時(shí)的條件因子作為關(guān)節(jié)角度9 4、05的最優(yōu)解:上式中,和分別表示工業(yè)機(jī)器人的第五軸的兩個(gè)可能的Ζ軸轉(zhuǎn)軸方向,%表示 工業(yè)機(jī)器人的第四軸的Ζ軸轉(zhuǎn)軸方向,々6表示工業(yè)機(jī)器人的第六軸的Ζ軸轉(zhuǎn)軸方向; 536、 根據(jù)關(guān)節(jié)角度θ4和05的最優(yōu)解,對(duì)腕關(guān)節(jié)點(diǎn)的法向矢量和方位矢量進(jìn)行更新后,根 據(jù)下式計(jì)算獲得工業(yè)機(jī)器人的關(guān)節(jié)角度θ 6: 06=Angle(o',Normal) 上式中,ο '表示更新后的腕關(guān)節(jié)點(diǎn)的方位矢量。6.根據(jù)權(quán)利要求5所述的一種特定構(gòu)型六軸工業(yè)機(jī)器人的運(yùn)動(dòng)控制方法,其特征在于, 所述步驟S36,包括: S361、根據(jù)關(guān)節(jié)角度θ4和05的最優(yōu)解,求解下式:上式中,QX6表不工業(yè)機(jī)器人的第六軸的X軸轉(zhuǎn)軸方向,QY6表不工業(yè)機(jī)器人的第六軸的Υ 軸轉(zhuǎn)軸方向,*^5表不工業(yè)機(jī)器人的第五軸的Z軸轉(zhuǎn)軸方向,*^4表不工業(yè)機(jī)器人的第四軸的Z 軸轉(zhuǎn)軸方向,T表示工業(yè)機(jī)器人的變換矩陣; 5362、 構(gòu)造如下兩個(gè)旋轉(zhuǎn)矩陣:(^川…-…一川"叫、 5363、 根據(jù)構(gòu)建的旋轉(zhuǎn)矩陣,計(jì)算工業(yè)機(jī)器人的旋轉(zhuǎn)后的第六軸的X軸轉(zhuǎn)軸方向和Y軸 轉(zhuǎn)軸方向:上式中,QX'6表不工業(yè)機(jī)器人的旋轉(zhuǎn)后的第六軸的X軸轉(zhuǎn)軸方向,V 6表不工業(yè)機(jī)器人的 旋轉(zhuǎn)后的第六軸的Y軸轉(zhuǎn)軸方向; 5364、 根據(jù)下式,對(duì)腕關(guān)節(jié)點(diǎn)的法向矢量和方位矢量進(jìn)行更新:上式中,η '表示更新后的腕關(guān)節(jié)點(diǎn)的法向矢量,〇 '表示更新后的腕關(guān)節(jié)點(diǎn)的方位矢量; 5365、 根據(jù)下式計(jì)算獲得工業(yè)機(jī)器人的關(guān)節(jié)角度θ6: 06=Angle(o',Normal) 〇
【文檔編號(hào)】B25J9/16GK105856231SQ201610357681
【公開日】2016年8月17日
【申請(qǐng)日】2016年5月25日
【發(fā)明人】關(guān)日釗, 吳磊, 陳新度
【申請(qǐng)人】廣東工業(yè)大學(xué)