一種利用球桿儀標定機器人結構參數的方法與流程
2023-06-30 19:05:01

本發明屬於機器人結構參數標定領域,更具體地,涉及一種利用球桿儀標定機器人結構參數的方法。
背景技術:
工業機器人最基本的功能即準確定位器末端執行器使其能成功的完成設定的操作。六自由度關節機器人是由各相鄰連杆耦合運動構成的開鏈結構,其末端執行器位姿(位置和姿態)的完成需要通過對各關節參數值進行獨立和精確的控制。然而,對於用柔性製造生產線中的單件機器人本體而言,不可避免的存在包括製造、維修、裝配誤差,傳動誤差,磨損,柔順性等諸多因素的影響。這些因素的影響導致控制器中的內部定義的運動學模型不能準確描述末端執行器的實際位姿與機器人各結構參數之間的關係,從而使得末端執行器發生偏移。因此,對實際使用的機器人採用適當的方法進行結構機構參數的標定對於提高機器人的控制精度具有很大的意義。
通過對現有文獻的檢索,發現有以下現有技術:一、申請號為201410524095.7的中國專利申請公開一種基於視覺的機器人可變形操作臂參數標定的方法,單目相機測量操作臂的位置,屬於非接觸式測量。相對於接觸式測量而言,非接觸式測量的精度相對較高,而且該專利並不針對六自由度工業機器人。二、申請號為201510416268.8的中國專利申請公開一種工業機器人運動學參數簡易標定裝置及其標定方法,該專利的測量工具為千分表,千分表的精度為1μm,而且其中所述的標定塊具有兩個互相垂直的標定平面中兩平面的垂直度無法精確保證。三、申請號為201010611008.3的中國專利申請公開一種工業機器人簡易標定方法,該專利操作機器人末端夾具接觸標準正方體的四個側楞,利用標準正方體的四個側楞作為標定基準,雖然標準正方體精度較高,但是標準正方體依然存在有無法預知的精度問題。四、申請號為201510295698.9的中國專利申請公開一種基於拉線編碼器的工業機器人標定算法,該專利使用的測量設備為拉線編碼器。對現有文獻搜索可以看出,現在沒有使用球桿儀進行機器人參數標定的方法。
技術實現要素:
針對現有技術的以上缺陷或改進需求,本發明提供了一種利用球桿儀標定機器人結構參數的方法,通過採用球桿儀和平行四邊形原理,由此解決六自由度關節式工業機器人利用球桿儀標定機器人結構參數的技術問題。
為實現上述目的,按照本發明的一個方面,提供了一種利用球桿儀標定機器人結構參數的方法,其特徵在於,該方法包括下列步驟:
(a)將標定杆通過螺紋安裝在機器人末端,接著將工具杯與所述標定杆連接,然後固定標定底板的位置並將三個中心座安裝在該標定底板的三個頂點DCB上;
(b)標定工具坐標系{tool},利用該工具坐標系標定用戶坐標系{uframe},然後校準球桿儀並測量由所述三個中心座形成的三角形DCB的三條邊長,分別記為l1、l2、l3;
(c)預設Ai點與所述DCB構成空間四面體,且預設Ai點到所述DCB的稜長分別為l4i、l5i、l6i,其中i=1,2…7,所述用戶坐標系中C點坐標為uframec=(0,0,0),根據所述l1、l2、l3和所述l4i、l5i、l6i確定在所述用戶坐標系下Ai點的坐標uframeaAi=(uframexAi,uframeyAi,uframezAi);
(d)根據所述{tool}、所述{uframe}和所述用戶坐標系下Ai點的坐標編寫程序,使得所述機器人末端帶動所述工具杯的末端頂點Otool運動到所述C點再到所述Ai點的,所述機器人末端從初始位置相應地運動到o′6-C再到o6-Ai,在所述機器人的示教器上讀取並記錄所述Otool到達所述C點和Ai點時對應的各關節轉角,即所述C點和Ai點的關節坐標qC=(θ1C,θ2C,θ3C,θ4C,θ5C,θ6C),qAi=(θ1Ai,θ2Ai,θ3Ai,θ4Ai,θ5Ai,θ6Ai),所述o′6-C與o6-Ai分別與所述C點和Ai點關節坐標相同,通過含有待求解的機器人結構參數的轉化矩陣將該o′6-C與o6-Ai關節坐標轉換為基坐標,同時求得向量baseo′6-Co6-Ai=baseo′6-C-baseo6-Ai;
(e)校準球桿儀測量所述空間四面體的ABCD的實際側稜長l4i*、l5i*、l6i*,根據該實際稜長和所述l1、l2、l3確定在所述用戶坐標系下Ai點的實際坐標uframeaAi*=(uframexAi*,uframeyAi*,uframezAi*),然後通過用戶坐標與基坐標的轉換矩陣將所述用戶坐標系下的C點坐標uframec=(0,0,0)和該Ai點實際坐標轉換為基坐標系下的坐標,同時求出向量baseaAi*c=baseaAi*-basec;
(f)根據平行四邊形原理,所述向量baseo′6-Co6-Ai=baseaAi*c,由此計算得到待求解的機器人結構參數。
優選地,在步驟(b)中,優選採用機器人內部的四點法工具坐標系標定方法標定工具坐標系。
優選地,在步驟(b)中,優選採用機器人內部的三點法用戶坐標系標定方法標定用戶坐標系。
優選地,在步驟(d)中,所述含有待求解的機器人結構參數的轉化矩陣T如下,其中,nx、ny、nz、ox、oy、oz、ax、ay、az分別為關節坐標系相對於基坐標坐標系的x、y、z坐標軸夾角的餘弦,該夾角在所述機器人的示教器上顯示,basepx、basepy、basepz為關節坐標系相對於基坐標坐標系各坐標軸的位置,
優選地,在步驟(e)中,所述用戶坐標與基坐標的轉換矩陣baseTuframe如下,其中,分別為用戶坐標系相對於基坐標坐標系的x、y、z坐標軸夾角的餘弦,為關節坐標系相對於基坐標坐標系各坐標軸的位置,baseTuframe中的參數通過所述示教器中顯示的值計算得出,
優選地,在步驟(f)中,優選採用按照下列表達式,通過最小二乘法使得目標函數Fobject最小化計算機器人結構參數,
總體而言,通過本發明所構思的以上技術方案與現有技術相比,能夠取得下列有益效果:
1、本發明通過針對六自由度關節式機器人利用QC20-W球桿儀對機器人的結構參數進行標定,實現標定精度達到0.1μm,實現了高精度的機器人結構參數的標定;
2、本發明通過採用相對式的標定方法,構建相等向量,通過兩向量相等,構建求解關係,通過兩點之間做差,可以消除工具坐標系和工件坐標系誤差的影響,更進一步的提高標定精度;
3、本發明通過利用平行四邊形原理將標定過程簡化,同時通過採用最小二乘法對最終的未知參數進行求解,同時通過在Matlab中求解,使得整個求解過程智能化,準確化,能快速更加準確的得到待求解的機器人結構參數。
附圖說明
圖1是按照本發明的優選實施例構建的利用球桿儀標定機器人結構參數的方法流程圖;
圖2(a)是按照本發明的優選實施例構建的球桿儀標定過程中所使用的設備圖,圖2(b)是按照本發明的優選實施例構建的球桿儀標定過程中所使用的標定局部展示圖;
圖3是按照本發明的優選實施例構建的球桿儀標定過程中構成的空間四面體示意圖;
圖4為是按照本發明的優選實施例構建的QC20-W球桿儀及組件;
圖5為是按照本發明的優選實施例構建的標定底板的結構示意圖。
在所有附圖中,相同的附圖標記用來表示相同的元件或結構,其中:
1-待標定的六自由度關節式機器人本體 2-QC20-W型球桿儀 2-為標定杆 3-定底板 4-機器人控制器 5-工業PC
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。此外,下面所描述的本發明各個實施方式中所涉及到的技術特徵只要彼此之間未構成衝突就可以相互組合。
圖2是按照本發明的優選實施例構建的球桿儀標定過程中所使用的設備圖。如圖2所示,本發明使用到的設備有:機器人本體1、標定杆6、球桿儀2及配套軟體、標定底板3、機器人運動控制程序、Matlab計算程序;機器人本體固定於剛性水平基臺,用於在大空間範圍內移動和作業;標定杆6的一側用於與的機器人末端法蘭盤102的螺紋孔相連,另一側用於與球桿儀元件工具杯207相連,用於構成工具坐標系;三個球桿儀元件中心座205用於固定在標定地板上,構成空間四面體的底面三角形;標定底板用於充當機器人工具坐標系的作用,與三個球桿儀元件中心座205連接,利用機器人內部三點法標定三個球桿儀元件中心座205構成的工件坐標系;機器人運動控制程序用於控制機器人運動到依據工具坐標系和工件坐標系計算出來特定位置;Matlab計算程序用於計算機器人運動位置、優化求解機器人結構參數。
在標定實施方式中,待標定機器人本體包括機器人操作臂、機器人控制器,其中:機器人操作臂具有六自由度關節式結構;機器人控制器驅動器根據用戶提供的控制程序控制機器人按照用戶的要求驅動機器人各關節電機轉動;在標定實施方式中,標定杆6的一側用於與機器人末端法蘭盤102的螺紋孔相連,另一側用於與球桿儀元件工具杯207相連,用於構成工具坐標系。
按照本發明的一個優選實施例,圖4為是按照本發明的優選實施例構建的QC20-W球桿儀及組件。如圖4所示,在標定實施方式中,QC20-W球桿儀包括QC20-W無線球桿儀206、中心座205、工具杯207、50mm加長杆203、150mm加長杆204、球桿儀校準規201、中心設定球208。QC20-W無線球桿儀206用於分別於加長杆203與加長杆204測量空間四面體各稜的長度;三個中心座205用於放置在3稜長為300mm的標定底板上構成標定所用的工件坐標系;工具杯207用於與標定杆6相連構成工具坐標系;球桿儀校準規201用於在標定過程中校準QC20-W無線球桿儀206的實際長度;中心設定球208用於在標定工件坐標系連接工具杯與中心座的作用。球桿儀配套軟體用於校準球桿儀示數,在測量讀取球桿儀的長度值。
按照本發明的另一個優選實施例,圖5為是按照本發明的優選實施例構建的標定底板的結構示意圖,如圖5所示,在一些實施方式中,標定底板3固定在一個穩定的基座上,其中標定底板3為三角形,設計為稜長為300mm的等邊三角形,用於與三個中心座205構成標定所用工件坐標系。
本發明中採用常用的機器人建模方法,建立六自由度關節型機器人的DH參數模型,DH參數模型中參數包括連杆長度a、連杆扭角α、關節長度d,依據機器人的DH模型,推導標定模型,下面對具體的求解過程進行說明:
建立標定所用的各個坐標系,並定義相關標定點。其中基坐標係為{base}、工具坐標係為{tool}、用戶坐標係為{uframe},用戶坐標系下表示的空間四面體各頂點坐標為:C點定義為用戶坐標系零點即uframec=(0,0,0);D點定義為用戶坐標系下X軸正向上的一點即uframed=(xD,0,0),其中xD>0;B點定義為用戶坐標系下XY平面內第一象限內的一點即uframeb=(xB,yB,0),其中xB>0,yB>0;
圖3是按照本發明的優選實施例構建的球桿儀標定過程中構成的空間四面體示意圖。如圖3所示,Ai點定義為用戶坐標系下的空間四面體的頂點即uframeaAi=(uframexAi,uframeyAi,uframezAi),用戶坐標系相對於基坐標系的齊次矩陣為baseTuframe,該坐標系可以通過讀取機器人示教器上的示數計算得到。
坐標表示的兩中方式,方式一為關節空間中表示,方式二為在用戶坐標系下的空間四面體中表示:
方式一:六自由度關節型機器人關節空間中表示的一點相對於基坐標系的齊次矩陣為,其中,nx、ny、nz、ox、oy、oz、ax、ay、az分別為關節坐標系相對於基坐標坐標系的x、y、z坐標軸夾角的餘弦,該夾角在機器人示教器上顯示,basepx、basepy、basepz為關節坐標系相對於基坐標坐標系各坐標軸的位置
T中的參數為關於機器人關節轉角的函數,故將其表示為(本模型中只用到x、y、z向的位置向量,故只列出p,如(2),basepx、basepy、basepz為對應時刻機器人關節轉角的函數,分別用fx、fy、fz表示其函數關係)。
當Otool運動到C點時的機器人關節轉角可以通過機器人示教器讀出,記為qC=(θ1C,θ2C,θ3C,θ4C,θ5C,θ6C),則可將qC代入(2)中求出baseo′6-C(機器人6關節原點相對於基坐標系的向量)。同理當Otool運動到Ai點時坐標記為baseo6-Ai,關節轉角記為qAi=(θ1Ai,θ2Ai,θ3Ai,θ4Ai,θ5Ai,θ6Ai)。baseo′6-C與baseo6-Ai的表達式中包含有待求的機器人結構參數,即D-H參數模型中的連杆長度a、連杆扭角α、關節長度d,記向量baseo′6-Co6-Ai=baseo′6-C-baseo6-Ai。
方式二:用戶坐標系相對於基坐標系之間的齊次變換矩陣為,其中,分別為用戶坐標系相對於基坐標坐標系的x、y、z坐標軸夾角的餘弦,為關節坐標系相對於基坐標坐標系各坐標軸的位置,baseTuframe中的參數通過示教器中顯示的值計算得出,
在空間四面體中,C點坐標為uframec=(0,0,0),Ai點的實際坐標為uframeaAi*=(basepAix,basepAiy,basepAiz),則可以通過齊次變換矩陣baseTuframe將工件坐標系下的C點和點Ai變換到基坐標系下,變換關係為
其中baseTuframe可以通過示教器讀出(通過示教器中的x、y、z、a、e、r求出baseTuframe),uframeaAi*可以在空間四面體中六條稜已知的情況下求出,則uframec與baseaAi*即為已知量。
為去除安裝誤差的影響,這裡將數據做如下處理:依據途徑2中求出空間四面體中C點與Ai的坐標向量,記為baseaAi*c=(basepAiCx,basepAiCy,basepAiCz)(不含未知數);依據途徑1中,求出關節空間中C點與Ai的坐標向量,記為baseo′6-Co6-Ai=baseo′6-C-baseo6-Ai(含有待求的結構參數);由平行四邊形規則,則有baseo′6-Co6-Ai=baseaAi*c,為方便使用做小二乘求解,這裡將baseo′6-Co6-Ai=baseaAi*c表示為統一的函數:
則可以使用得到的多組數據即qC、qAi、baseTuframe及空間四面體的稜長l1、l2、l3、l4i*、l5i*、l6i*,對Fobject進行最小二乘優化求解,求解出機器人D-H參數模型中的連杆長度a、連杆扭角α、關節長度d,此外,可以通過調整標定底板3固定在其他位置,重複整個標定過程來最後機器人結構參數的取均值。
本領域的技術人員容易理解,以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護範圍之內。