一種基于工件模型的機器人作業(yè)任務(wù)生成方法
【專利摘要】本發(fā)明公開了一種基于工件模型的機器人作業(yè)任務(wù)生成方法,通過提取待加工工件的加工軌跡數(shù)據(jù)利用三維仿真空間顯示機器人的運動軌跡,利用人機交互式手段設(shè)置機器人的運動軌跡和位姿數(shù)據(jù),而后建立機器人運動學模型并根據(jù)位姿數(shù)據(jù)求解機器人運動數(shù)據(jù),最終根據(jù)機器人運動數(shù)據(jù)生成機器人作業(yè)文件。本發(fā)明的機器人作業(yè)任務(wù)生成方法能實現(xiàn)工業(yè)機器人作業(yè)文件的快速生成,能對機器人和工件的模型進行逼真靈活地顯示,所支持的機器人種類不受限制而且可以支持多機器人編程,還可以支持工業(yè)中常見的復(fù)雜曲線編程,能大大提高工業(yè)生產(chǎn)效率。
【專利說明】
一種基于工件模型的機器人作業(yè)任務(wù)生成方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及工業(yè)機器人技術(shù)領(lǐng)域,具體涉及一種基于工件模型的機器人作業(yè)任務(wù) 生成方法。
【背景技術(shù)】
[0002] 機器人作業(yè)任務(wù)的生成,一般是從待加工工件的CAD模型獲得機器人運動軌跡數(shù) 據(jù),然后利用智能編程由后臺程序自動生成機器人作業(yè)文件。一般的思路為先建立仿真三 維空間,用于顯示工件和機器人的模型,同時提供用戶設(shè)置機器人運動位姿的方式?,F(xiàn)有的 機器人作業(yè)任務(wù)生成方法多是采用一種直觀的解決方案:使用成熟的三維CAD軟件如 AutoCAD、SolidWorks等軟件提供的三維場景,并針對幾種固定的機器人編寫運動學算法求 解機器人運動數(shù)據(jù)。然而,這種方案存在以下缺點:①支持的機器人種類非常有限;②CAD軟 件對計算機性能要求高,運行耗時長;③使用第三方平臺開發(fā)會導(dǎo)致軟件開放度不高。
【發(fā)明內(nèi)容】
[0003] 發(fā)明目的:為了克服現(xiàn)有技術(shù)中存在的不足,本發(fā)明針對工業(yè)機器人的作業(yè)任務(wù), 提供一種基于工件模型的機器人作業(yè)任務(wù)生成方法,能夠在人機交互性較強的三維仿真空 間中提供一種更加高效和靈活的機器人作業(yè)任務(wù)。
[0004] 技術(shù)方案:為實現(xiàn)上述目的,本發(fā)明中基于工件模型的機器人作業(yè)任務(wù)生成方法, 通過從待加工工件的CAD模型中提取加工軌跡數(shù)據(jù),再利用三維仿真空間,根據(jù)加工軌跡數(shù) 據(jù)設(shè)置機器人的運動位姿,再利用機器人的運動位姿數(shù)據(jù)通過機器人運動學方程求解獲得 機器人的運動數(shù)據(jù),最后根據(jù)運動數(shù)據(jù)生成作業(yè)文件。具體包括以下步驟:
[0005] (1)獲取工件模型中的加工軌跡數(shù)據(jù)
[0006] 本發(fā)明中采用的工件模型是CAD的數(shù)據(jù)交換文件,即DXF文件,由于DXF文件中的數(shù) 據(jù)可以ASCII碼形式呈現(xiàn),采用高級程序語言C++對DXF文件中的實體段中的信息進行解析 可以獲得所需的加工軌跡數(shù)據(jù)。在獲得的加工軌跡數(shù)據(jù)中有直線,圓和圓弧的原始數(shù)據(jù),其 中直線為二維圖元,存在于世界坐標系中,不需要經(jīng)過坐標系轉(zhuǎn)換即可使用。三維圖元(如 圓和圓弧)存在于對象坐標系中,此類軌跡需要進行坐標系間的轉(zhuǎn)換而生成世界坐標系中 的數(shù)據(jù)。由于后續(xù)進行數(shù)據(jù)顯示時采用了 OpenGL提供的軌跡顯示方式,所以需要將世界坐 標系WCS中的軌跡數(shù)據(jù)進行插補,以獲得可以在世界坐標系中進行顯示的軌跡類型。
[0007] (2)建立三維仿真空間,使用虛擬現(xiàn)實建模語言建立待加工工件和機器人的三維 實體模型并在三維仿真空間中顯示,利用所述插補后的加工軌跡數(shù)據(jù)在三維仿真空間中顯 示待加工工件的三維軌跡,根據(jù)所述待加工工件的三維軌跡設(shè)置機器人的運動位姿。
[0008] 在獲得加工軌跡數(shù)據(jù)在世界坐標系WCS中的數(shù)據(jù)后,需要建立三維仿真環(huán)境以對 軌跡進行顯示,有利于高效設(shè)置機器人的運動軌跡。三維仿真空間是在計算機上生成作業(yè) 文件的基礎(chǔ),仿真環(huán)境的首要任務(wù)顯示仿真機器人和工件的三維實體模型以提供運動的實 體和目標。三維場景模塊是以開源軟件庫OpenGL為基礎(chǔ)進行開發(fā)的,本發(fā)明中通過調(diào)用 OpenGL提供的一系列三維場景建立功能在計算機上生成三維場景,使用C++編寫的程序不 僅可以顯示機器人和工件的三維實體模型,而且可以將獲得的運動軌跡進行顯示。本發(fā)明 中采用虛擬現(xiàn)實建模語言(Virtual Reality Modeling Language,即VRML)對建立機器人 和待加工工件的三維實體模型并進行渲染,VRML是一種標準的語言,其模型的各參數(shù)均可 用程序語言進行讀取并顯示;使用OpenGL中提供函數(shù)接口在三維場景中顯示機器人的運動 軌跡。
[0009] 運動位姿包括位置和姿態(tài),其中位置通過目標軌跡體現(xiàn),本發(fā)明中提出了一種靈 活且高效地設(shè)置機器人運動的目標軌跡和姿態(tài)的方式。機器人運動目標軌跡的設(shè)置通過選 擇三維仿真環(huán)境中現(xiàn)有軌跡實現(xiàn),但是由于計算機呈現(xiàn)的二維平面在選擇三維空間中的軌 跡時需要進行平面的切換,操作十分復(fù)雜。本發(fā)明中選擇軌跡的方式具體實現(xiàn)為通過將 OpenGL中的三維軌跡轉(zhuǎn)換為Windows平面上的二維軌跡,然后,在程序中讀取鼠標的實時位 置,通過鼠標與二維軌跡的距離遠近來給軌跡顯示不同的顏色,用戶可在軌跡顏色改變后 點擊鼠標從而確定選擇該二維軌跡。最終,將二維軌跡轉(zhuǎn)換為OpenGL中的三維軌跡,即可獲 得機器人運動的目標軌跡,這大大降低了用戶選擇軌跡的復(fù)雜度。
[0010] 對于目標姿態(tài)的設(shè)定,由于確定機器人末端坐標系的姿態(tài)即可確定機器人的姿 態(tài),因此本發(fā)明中主要通過設(shè)置機器人末端坐標系中X軸、y軸和z軸的方向來確定。本發(fā)明 中提出了兩種模式生成機器人姿態(tài):自動生成和用戶設(shè)置。第一種的實現(xiàn)方法是在用戶確 定所采用的機器人作業(yè)方式后即可確定姿態(tài)如何由多個曲面的約束關(guān)系生成,然后由預(yù)定 的程序根據(jù)對應(yīng)的約束關(guān)系自動計算出姿態(tài)的數(shù)據(jù)。第二種方法是通過用戶的設(shè)置方式, 此方法的主要思想是直接設(shè)置機器人末端坐標系的X軸和y軸的軸向來確定機器人姿態(tài),用 戶可以通過選擇三維仿真環(huán)境中對應(yīng)的軌跡來確定X軸和y軸,用戶所選擇的軌跡的方向即 為X軸或y軸的方向。此外,用戶還可以通過直接輸入坐標系的X軸和y軸的方向的參數(shù)來確 定,而z軸可以通過X軸和y軸通過常見的右手定則求得。至此,可以確定機器人運動的目標 位姿。
[0011] (3)通過機器人三維實體模型建立運動學方程并求解機器人運動數(shù)據(jù)
[0012] 在本方法中采用關(guān)節(jié)型機器人的建模方法,此種方法的優(yōu)點在于可以建立通用的 運動學建模模塊,通過用戶載入的仿真機器人模型可以自動建立機器人的運動學模型,從 而達到可以支持的機器人種類不受限制,并且可以完成多個機器人作業(yè)的任務(wù)。
[0013] 該種建模方法首先將機器人的各個可以獨立運動的連桿分離,在每個連桿上建立 坐標系,各坐標系用于確定連桿與上一連桿間的平移與旋轉(zhuǎn),在設(shè)定連桿的旋轉(zhuǎn)軸和軸向 后可確定本連桿在旋轉(zhuǎn)時的旋轉(zhuǎn)中心軸和旋轉(zhuǎn)方向,故可獲得連桿i相對于上一個連桿i_l 的坐標系關(guān)系1^1T1,故可建立機器人學中的運動學方程為qL = qTA1T2*. . 假設(shè)機器 人由j個關(guān)節(jié)),由該方程可以求解機器人的運動數(shù)據(jù)。對于不同類型的機器人可以通過讀 取模型中的坐標軸數(shù)量確定機器人的軸數(shù),從而建立不同機器人的運動學方程完成不同種 類的機器人的運動數(shù)據(jù)求解,達到本發(fā)明中支持的機器人編程種類不受限制的效果。
[0014] (4)作業(yè)文件的自動編寫
[0015] 在獲得了運動數(shù)據(jù),即機器人運動的類型及運動過程中關(guān)鍵點的各關(guān)節(jié)角數(shù)據(jù)后 便可編寫機器人作業(yè)文件,本發(fā)明中采用的作業(yè)文件的編寫方式是使用高級程序語言編寫 的后臺程序自動生成的方式,采用此種方式可以高效地完成機器人的作業(yè)任務(wù),并且由于 不需要編程人員的參與,將有效地減少編程中的錯誤。此外,當加工軌跡數(shù)量較多或者軌跡 為復(fù)雜軌跡時,編程的效率將明顯提高且難度大大降低。
[0016] 該方式中首先需要確定機器人每條運動指令的類型,如直線運動或圓弧運動,運 動指令的類型可以通過在步驟(2)中設(shè)置的目標軌跡類型進行確定。其次,需要確定該軌跡 中運動的關(guān)鍵點處機器人各關(guān)節(jié)的數(shù)據(jù),關(guān)鍵點是由機器人的運動軌跡所確定,對于直線 運動,機器人需要確定的關(guān)鍵點為直線的兩個端點,而對于圓弧運動,機器人需要確定的關(guān) 鍵點為圓弧的起始點、終止點和任意一個中間點。利用用戶設(shè)置的目標位姿和步驟(3)中的 機器人運動學方程即可求得機器人在該關(guān)鍵點的各關(guān)節(jié)角。
[0017] 有益效果:本發(fā)明中基于工件模型的機器人作業(yè)任務(wù)生成方法,以工件模型中包 含的軌跡數(shù)據(jù)為基礎(chǔ),根據(jù)用戶設(shè)置的機器人目標軌跡確定運動類型,并根據(jù)用戶所設(shè)置 的機器人位姿和機器人運動學方程并計算出關(guān)鍵點數(shù)據(jù)得到機器人的運動數(shù)據(jù),最后根據(jù) 運動數(shù)據(jù)利用作業(yè)文件格式生成機器人的作業(yè)文件。相比于傳統(tǒng)的作業(yè)任務(wù)生成方式,本 發(fā)明機器人作業(yè)任務(wù)生成方法能夠靈活且高效地設(shè)置機器人運動位姿,降低用戶的工作量 和難度,進一步降低作業(yè)文件的出錯率,并且有效提高作業(yè)文件的精度;由于本發(fā)明的機器 人作業(yè)任務(wù)生成方法采用開放式關(guān)節(jié)型機器人的建模方式構(gòu)建運動學方程,所以支持的機 器人種類不受限制,而且進行作業(yè)的機器人數(shù)量可由用戶自由設(shè)置,具有極大的通用型和 靈活性。
【附圖說明】
[0018] 圖1是本發(fā)明中基于工件模型的機器人作業(yè)任務(wù)生成方法的流程圖;
[0019] 圖2為DXF文件圖元信息讀取流程示意圖;
[0020] 圖3為DXF文件中的在世界坐標系和對象坐標系,圖3(a)為世界坐標系,圖3(b)為 對象坐標系;
[0021 ]圖4為本發(fā)明中對加工軌跡數(shù)據(jù)進行插補的流程圖;
[0022] 圖5為本發(fā)明中用戶設(shè)置機器人目標軌跡的示意圖;
[0023] 圖6為本發(fā)明中為建立通用關(guān)節(jié)型機器人模型的方式;
[0024] 圖7為本發(fā)明中采用的機器人作業(yè)文件的格式。
【具體實施方式】
[0025]下面結(jié)合實施例對本發(fā)明作更進一步的說明。
[0026]本發(fā)明中基于工件模型的機器人作業(yè)任務(wù)生成方法,如圖1所示,通過從待加工工 件的CAD模型中提取加工軌跡數(shù)據(jù),再利用三維仿真空間,根據(jù)加工軌跡數(shù)據(jù)設(shè)置機器人的 目標軌跡,根據(jù)待加工工件的三維實體模型設(shè)置機器人的運動姿態(tài),再利用機器人目標軌 跡和運動位姿數(shù)據(jù)通過機器人運動學方程求解獲得機器人的運動數(shù)據(jù),最后根據(jù)運動數(shù)據(jù) 生成作業(yè)文件。具體包括以下步驟:
[0027] (1)獲取工件模型中的加工軌跡數(shù)據(jù)
[0028] 1)解析DXF文件中包含的加工軌跡數(shù)據(jù)
[0029] DXF是一種開放的矢量數(shù)據(jù)格式,DXF文件是由很多的"代碼"和"值"組成的"數(shù)據(jù) 對"構(gòu)造而成,這里的代碼稱為"組碼"(group code),指定其后的值的類型和用途。每個組 碼和值必須為單獨的一行的。DXF文件具有固定的格式,主要由HEADER段、CLASSES段、 TABLES段、BLOCKS段、ENTITIES段、OB JECTS段這六個段構(gòu)成,其中每個段的開始標志是段 的段名,而結(jié)束標志則是"ENDSEC",每個段中內(nèi)容都為ASCII碼形式,故可對每個段的數(shù)據(jù) 可以進行獨立地讀取與存儲。
[0030] 本系統(tǒng)中主要對DXF文件中的ENTITIES(實體)段中的圖元信息進行分析,需要使 用的圖元種類主要有Point(點)、LINE(直線)、CIRCLE(圓)、ARC(圓弧)等,根據(jù)每個圖元的 種類可以使用C++編寫相應(yīng)的圖元讀取程序,自動地讀取相應(yīng)的數(shù)據(jù),具體的實體段數(shù)據(jù)解 析流程如圖2所示,首先對打開的文件獲取其圖形邊界極小值和極大值,然后搜索ENTITIES 組碼進行讀取,若圖元為點則獲取其對應(yīng)坐標,若圖元類型為圓弧則讀取圓心坐標、半徑、 起始角、終止角和方向向量,若圖元為直線則讀取其起始點和終止點,若圖元為圓則讀取其 圓心坐標、半徑和方向向量。
[0031] 2)將對象坐標系中的加工軌跡數(shù)據(jù)轉(zhuǎn)化為世界坐標系中的加工軌跡數(shù)據(jù)
[0032]由于DXF文件中的數(shù)據(jù)結(jié)構(gòu)分別定義在對象坐標系OCS和世界坐標系WCS中,三維 圖元(如圓和圓?。┑男畔⒒径级x在對象坐標系OCS中,而OCS中的數(shù)據(jù)無法直接使用, 必須轉(zhuǎn)換成世界坐標系WCS中的數(shù)據(jù),如圖3(b)所示,圖中加粗的圓A為三維圖元,該圓定義 在OCS中,在進行作業(yè)任務(wù)生成時需要將圓A轉(zhuǎn)換為如圖3(a)所示的世界坐標系WCS中的軌 跡。轉(zhuǎn)換的難點在于DXF文件中未提供兩坐標系間相對關(guān)系。本發(fā)明采用"任意軸原理"對坐 標系進行轉(zhuǎn)換,其原理是令圖形軟件(如AutoCAD或Micro Station)給定一單位長的向量作 為OCS的Z軸,利用任意軸算法生成該坐標系相應(yīng)的X軸,然后用右手法則確定Y軸,右手法則 具體為:以使右手的大拇指、食指和中指三者間相互垂直,則大拇指代表X坐標,食指代表Y 坐標,中指代表Z坐標,則大拇指的指向為X坐標正方向,食指的指向為Y坐標的正方向,中指 的指向為Z坐標的正方向。
[0033]具體實施步驟是檢測給定對象坐標系中的Z軸是否靠近正或負的世界坐標系WCS 中的X軸,如果是,由世界坐標系的Y軸與給定的Z軸(0CS中的Z軸)進行矢量積運算得到對象 坐標系中的任意X軸;否則,世界坐標系的Z軸與給定的Z軸進行矢量運算得到任意X軸。其 中,判別的OCS中的Z軸是否靠近WCS的Y軸的方法是判斷OCS的Z軸在WCS中X軸分量21和¥軸 分量Zy是否同時小于1/64,若是則判別為靠近,否則為不靠近。在確定了OCS的各坐標系數(shù) 據(jù)后,即可通過WCS與OCS的相對位置關(guān)系計算出圖元在WCS中的坐標。
[0034] 3)為了進行軌跡的顯示與生成作業(yè)文件,對加工軌跡數(shù)據(jù)進行插補
[0035]在獲得了 WCS中的軌跡數(shù)據(jù)后需要對其進行三維顯示。本發(fā)明中采用圖形庫 OpenGL顯示軌跡,但是由于DXF文件中讀取的基本圖元信息經(jīng)轉(zhuǎn)換后得到的軌跡數(shù)據(jù)仍然 與OpenGL進行顯示的數(shù)據(jù)不相符,如DXF文件中讀取的圓的數(shù)據(jù)為圓心坐標、半徑、方向向 量,而OpenGL中并不存在圓這一數(shù)據(jù)類型,所以需要計算圓上的多個點,然后以多條線段近 似顯示圓形,因此,在對軌跡進行插補產(chǎn)生一系列點的過程中,相鄰兩個點中的后一個點如 何由前一個點,如圖4所示,針對不同的軌跡類型采取不同的插補方式,若上一步中求得的 WCS中軌跡是為直線則采用等步長法,否則采用等偏差法,等步長法所采用的變量每次以固 定步長變化,等偏差法所插補出來的一系列點兩兩之間距離相等。等步長法和等偏差法可 以由迭代公式進行解釋,假設(shè)迭代公式為汽1 1+1)=汽^)+11(4^),其中汽^)為前一點的 值,而f(Xl+1)為后一點的值,Ax 1為所選步長,h(A Xl)為由步長得到的變化量,等步長法即 指Δ Xl在每次迭代中均保持不變,而等偏差法指h( △ X1)在每次迭代中保持不變。采用該曲 線插補算法可以將WCS中的目標軌跡轉(zhuǎn)換成能使用OpenGL進行顯示的類型。
[0036] (2)建立三維仿真空間,使用虛擬現(xiàn)實建模語言建立待加工工件和機器人的三維 實體模型并在三維仿真空間中顯示,利用所述插補后的加工軌跡數(shù)據(jù)在三維仿真空間中顯 示待加工工件的三維軌跡,根據(jù)所述待加工工件的三維軌跡設(shè)置機器人的目標軌跡,根據(jù) 機器人的三維實體模型設(shè)置機器人的運動位姿。
[0037] 1)建立三維仿真空間顯示模型和目標軌跡。
[0038]在獲得加工軌跡數(shù)據(jù)后,需要建立三維仿真環(huán)境以對軌跡顯示。三維仿真空間是 在計算機上生成作業(yè)文件的基礎(chǔ),仿真環(huán)境的任務(wù)是首先顯示仿真機器人和工件的三維實 體模型以提供運動的實體和目標,然后顯示待待加工工件中的三維軌跡供用戶選擇需要進 行加工的軌跡,即目標軌跡。
[0039]三維場景模塊是以開源軟件庫OpenGL為基礎(chǔ)進行開發(fā)的。本發(fā)明中通過調(diào)用 OpenGL提供的一系列三維場景建立功能在計算機上建立三維場景。在三維場景中,使用C++ 編寫的程序模塊將步驟(1)中所獲得的加工軌跡數(shù)據(jù)進行顯示。
[0040] 2)根據(jù)待加工工件的三維軌跡設(shè)置機器人的目標軌跡,根據(jù)機器人的三維實體模 型設(shè)置目標位姿。
[0041] 計算機的顯示器提供給用戶的是一個二維平面,而生成作業(yè)文件時使用三維仿真 空間,在三維的空間中對一條曲線的選擇無法使用簡單的鼠標拾取方式。在考慮上述問題 之后,本發(fā)明中提出了如圖5所示的設(shè)定機器人運動軌跡的方式,首先,對OpenGL中顯示的 三維軌跡編寫相應(yīng)的轉(zhuǎn)換程序轉(zhuǎn)換為Windows平面上的二維軌跡。然后,在程序讀取鼠標 的實時位置,通過鼠標的位置距離二維軌跡的遠近來給軌跡顯示不同的顏色,用戶可在軌 跡顏色改變后點擊鼠標從而確定選擇該二維軌跡。最終,將二維軌跡轉(zhuǎn)換為OpenGL中的三 維軌跡,即可獲得機器人運動的目標軌跡。
[0042] 對于目標位姿的設(shè)定,本平臺提供了兩種模式:自動生成和用戶設(shè)置。第一種方法 是自動生成,實現(xiàn)方法是在用戶確定所采用的編程方式后即可明確姿態(tài)如何由多個曲面的 約束關(guān)系生成,然后由事先編寫的程序模塊根據(jù)對應(yīng)的約束關(guān)系自動計算出姿態(tài)的數(shù)據(jù)。 第二種方法是通過用戶的設(shè)置方式,此種方法的主要思想是設(shè)置機器人最后一個關(guān)節(jié)的坐 標系的X軸、y軸和z軸的方向來生成,用戶可以通過選擇三維仿真環(huán)境中對應(yīng)的軌跡來確定 X軸和y軸,此外,用戶還可以通過輸入坐標系的X軸和y軸的方向來確定,而z軸可以通過X軸 和y軸通過常見的右手定則求得。
[0043] (3)利用機器人的三維實體模型建立機器人運動學方程。
[0044]本發(fā)明中采用開放式關(guān)節(jié)型機器人建模的方式建立機器人的三維實體模型,圖6 是以南京埃斯頓公司生產(chǎn)的六軸機器人ER16為例建立的機器人仿真模型,將機器人各可以 獨立運動的連桿分離為7個部分,在每個連桿上建立坐標系,7個坐標系用于確定各連桿間 的位置關(guān)系,設(shè)定連桿的旋轉(zhuǎn)軸和軸向后可確定本連桿在旋轉(zhuǎn)時的旋轉(zhuǎn)中心軸和旋轉(zhuǎn)方 向,故可獲得連桿i相對于上一個連桿i-Ι的坐標系關(guān)系^T 1,故可建立機器人學中的運動 學方程為= 由該方程可通過機器人學中的正逆解可以求解機器 人的運動數(shù)據(jù)。通過讀取機器人模型中的坐標軸數(shù)量可以確定機器人為幾軸機器人,建立 不同機器人的運動學方程,從而可以支持的機器人類型不受限制。
[0045] 此外,由于采用該種建模方式,可以動態(tài)地根據(jù)用戶載入的機器人模型建立運動 學方程,故可以達到支持不同種機器人同時作業(yè)的效果。
[0046] 本發(fā)明中的作業(yè)任務(wù)生成方法具有高度的靈活性,用戶可以在仿真空間中通過設(shè) 置機器人的位移和旋轉(zhuǎn)而達到支持多種作業(yè)任務(wù)的特點,同時,可以通過設(shè)置目標軌跡的 位置達到真實世界中工件軌跡可以變換的效果。由于機器人的運動學求解時是將目標軌跡 轉(zhuǎn)換成機器人的基坐標系下對應(yīng)軌跡進行求解,而機器人和軌跡的坐標都是相對于世界坐 標系而定義的,故需要求進行轉(zhuǎn)換,轉(zhuǎn)換方法如下:機器人在世界坐標系WCS中的位移為 Trans(X1,yi,Z1),旋轉(zhuǎn)變換為RPY( Φ !,Q1,ih),則機器人的基坐標系在世界坐標系WCS中的 齊次變換矩陣wTb為:
[0047]
[0048] 軌跡在世界坐標系WCS中的位置坐標為Trans(x2,y2,Z2),旋轉(zhuǎn)變換為RPY( Φ 2,θ2, φ2),則軌跡在世界坐標系WCS中的齊次變換矩陣SwTp為:
[0049]
[0050] 則軌跡相對于機器人基坐標系的齊次變換矩陣bTp為
[0051]
[0052]由以上三式可以求得目標軌跡在機器人基坐標系下的對應(yīng)數(shù)據(jù),再結(jié)合機器人運 動學方程可以求解機器人運動數(shù)據(jù)。
[0053] (4)由運動數(shù)據(jù)自動生成機器人的作業(yè)文件
[0054]從圖7可以看出作業(yè)文件分為四個部分,分別為數(shù)據(jù)注釋段和數(shù)據(jù)段、指令注釋段 和指令段。其中數(shù)據(jù)注釋段和指令注釋段根據(jù)用戶的輸入和一些條件組成。
[0055]對于指令段的生成,根據(jù)不同的線型產(chǎn)生的運動指令類型和數(shù)量各不相同,首先 根據(jù)軌跡的類型選擇需要生成的運動指令的類型和數(shù)量,如直線對應(yīng)一條MOVL指令,圓弧 和圓對應(yīng)三條MOVC指令,根據(jù)用戶輸入的每條指令的速度可以完成指令段的編輯。
[0056]對于數(shù)據(jù)段的生成,指令段中的每條運動指令(除NOP和END外)對應(yīng)于數(shù)據(jù)段中的 一條指令,在數(shù)據(jù)段中根據(jù)機器人運動學方程輸出機器人在各目標點對應(yīng)的關(guān)節(jié)角。
【主權(quán)項】
1. 一種基于工件模型的機器人作業(yè)任務(wù)生成方法,其特征在于,該方法包括以下步驟: (1) 獲取待加工工件在數(shù)據(jù)交換文件中的加工軌跡數(shù)據(jù),將該加工軌跡數(shù)據(jù)進行坐標 系轉(zhuǎn)換后再進行插補得到插補后的加工軌跡數(shù)據(jù); (2) 建立三維仿真空間,使用虛擬現(xiàn)實建模語言建立待加工工件和機器人的三維實體 模型并在三維仿真空間中顯示,利用所述插補后的加工軌跡數(shù)據(jù)在三維仿真空間中顯示待 加工工件的三維軌跡,根據(jù)所述待加工工件的三維軌跡設(shè)置機器人的運動位姿; (3) 根據(jù)機器人的三維實體模型構(gòu)建機器人的運動學方程,根據(jù)機器人的運動位姿利 用運動學方程求解機器人的運動數(shù)據(jù); (4) 根據(jù)所述機器人的運動數(shù)據(jù)生成作業(yè)文件。2. 根據(jù)權(quán)利要求1所述的機器人作業(yè)任務(wù)生成方法,其特征在于,步驟(1)中待加工工 件在在數(shù)據(jù)交換文件中的加工軌跡數(shù)據(jù)是指待加工工件的圖形邊界信息,圖形邊界信息包 含不同類型的基本圖元,若圖元類型為點,則獲取其對應(yīng)坐標;若圖元類型為圓弧,則獲取 圓心坐標、半徑、起始角、終止角和方向向量;若圖元類型為直線,則獲取其起始點和終止 點;若圖元類型為圓,則獲取其圓心坐標、半徑和方向向量。3. 根據(jù)權(quán)利要求2所述的機器人作業(yè)任務(wù)生成方法,其特征在于,步驟(1)對加工軌跡 數(shù)據(jù)進行坐標轉(zhuǎn)換是指將加工軌跡數(shù)據(jù)由對象坐標系轉(zhuǎn)換為世界坐標系,即利用對象坐標 系和世界坐標系之間的相對位置關(guān)系完成加工軌跡數(shù)據(jù)的坐標轉(zhuǎn)換,確定對象坐標系和世 界坐標系之間的相對位置關(guān)系,具體包括: 以任意單位長的向量作為對象坐標系的Z軸,利用任意軸算法確定對象坐標系的X軸, 具體為:判斷對象坐標系的Z軸是否靠近正或負的世界坐標系的X軸,若是,由世界坐標系的 Y軸與對象坐標系的Z軸進行矢量積運算得到對象坐標系的X軸;否則,世界坐標系的Z軸與 對象坐標系的Z軸進行矢量運算得到對象坐標系的X軸;所述靠近是指對象坐標系的Z軸在 世界坐標系的X軸分量Zx和Y軸分量Zy同時小于1/64; 再利用右手定則確定對象坐標系的Y軸。4. 根據(jù)權(quán)利要求2所述的機器人作業(yè)任務(wù)生成方法,其特征在于,步驟(1)中對加工軌 跡數(shù)據(jù)進行插補是指:若圖元類型為直線,則采用等步長法進行插補,否則,采用等偏差法 進行插補。5. 根據(jù)權(quán)利要求1所述的機器人作業(yè)任務(wù)生成方法,其特征在于,所述運動位姿包括位 置和姿態(tài),位置通過目標軌跡來體現(xiàn),目標軌跡的設(shè)置,包括以下步驟: 建立三維仿真空間中三維軌跡和windows平面上二維軌跡的轉(zhuǎn)換關(guān)系; 提取用戶鼠標在windows平面上的實時位置,并根據(jù)鼠標位置與二維軌跡的距離遠近 用不同顏色顯示windows平面上的二維軌跡便于用戶確定所選擇的二維軌跡; 將用戶選擇的二維軌跡轉(zhuǎn)換為三維仿真空間中的三維軌跡,獲得機器人運動的目標軌 跡,所述三維仿真空間采用開源軟件庫OpenGL實現(xiàn)。6. 根據(jù)權(quán)利要求5所述的機器人作業(yè)任務(wù)生成方法,其特征在于,姿態(tài)的設(shè)置是指利用 機器人最后一個關(guān)節(jié)的坐標系的X軸、y軸和z軸的方向來確定。7. 根據(jù)權(quán)利要求1所述的機器人作業(yè)任務(wù)生成方法,其特征在于,步驟(3)中根據(jù)機器 人的三維實體模型建立機器人的運動學方程是指:將機器人可以獨立運動的連桿進行分 離,在每個獨立運動的連桿上建立坐標系,利用各連桿的旋轉(zhuǎn)軸和旋轉(zhuǎn)方向所確定的各坐 標系之間的轉(zhuǎn)換關(guān)系。
【文檔編號】B25J9/16GK106041928SQ201610473462
【公開日】2016年10月26日
【申請日】2016年6月24日
【發(fā)明人】甘亞輝, 戴先中, 邢繼生, 王政偉, 郭哲
【申請人】東南大學