麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

改進的基于篩選和最小二乘法的手眼標定算法的制作方法

文檔序號:11498596閱讀:287來源:國知局
改進的基于篩選和最小二乘法的手眼標定算法的制造方法與工藝

技術領域:

本發明提出了一種改進的基于篩選和最小二乘法的手眼標定算法,適用于所有工業機器人的手眼關系標定,標定精度高,為工業機器人視覺伺服控制奠定基礎。



背景技術:

機器視覺的發展賦予了機器人可以“看”世界的能力,使得機器人可以更加智能地執行任務。在工業生產中,越來越多的工業機器人配有eye-in-hand手眼系統,相機和機器人末端執行器之間的相對位置關系保持不變。手眼標定技術就是在機器人執行任務之前,利用機器人末端位姿信息和主動視覺圖像信息確定相機和機器人末端執行器的空間關系。手眼標定的方法主要有張正友平面標定法、tsai轉站法、直積法等。tsai轉站法的不足是需要機器人末端移動較大的角度才能進行標定,否則標定結果誤差很大。直積法在噪聲明顯的情況不穩定。傳統的手眼標定算法采用張正友平面標定法,該算法以棋盤格為目標,通過相機采集到的圖像結合機器人末端位姿求解方程得到手眼關系。該算法的優點是:方法比較成熟而且操作簡單;缺點是:標定板圖像易受噪聲影響,標定的手眼參數具有隨機性而且精度誤差無法控制在1mm以內,對機器人工作尤其是對焊接機器人定位焊縫的影響很大。

受限于傳統手眼標定算法標定結果隨機性大、標定精度難以提高,另外2015年發表的《基于前期篩選和最小二乘法的手眼標定》中的最新的標定算法結合前期篩選和最小二乘法,標定誤差在3mm左右,無法控制到1mm以內。本發明采用了設定角度閾值的方法來對移動過程數據進行篩選,閾值選取依賴于移動過程的數據分布,克服了最新傳統標定算法依賴運動平臺編碼器精度的難題;另一方面,用轉置運算替換求解手眼關系旋轉矩陣中的后兩次求逆運算,減小了由于多次求逆運算造成的累計誤差,改善了傳統手眼標定算法,提高了手眼標定精度。另外,本文提出運用引導濾波的平滑方法去除標定板圖像的噪聲特征,克服了標定板圖像易受噪聲影響的缺點;引入示教tcp方法設定機器人末端坐標系,提高手眼關系標定精度。最后,實驗證明本發明的標定算法在x、y和z方向的標定精度均在1mm以內。



技術實現要素:

本專利的發明旨在克服傳統手眼標定算法的不足和提高傳統手眼標定算法的標定精度,一方面該算法通用性好、魯棒性強,另一方面該算法標定精度高,為機器人視覺伺服奠定基礎。

本發明主要采用如下方案:

改進的基于篩選和最小二乘法的手眼標定算法主要由初始數據處理、數據篩選、轉置運算、最小二乘法和精度檢驗等部分組成,算法流程如圖1所示,傳統手眼標定算法的原理圖如圖2所示。所述的初始數據處理是通過采集到的對應位置的機器人位姿數據和標定板圖像數據的計算得到矩陣wme和cmo。所述的數據篩選過程包括選取移動過程、求解移動過程中機器人末端齊次變換矩陣、設定角度閾值和篩選,利用采集到的機器人在每個位置的末端位姿數據選擇移動過程,然后求解移動過程中機器人末端的齊次變換矩陣,最后通過設定角度閾值去除繞旋轉軸旋轉角度不大于閾值的移動過程數據。所述轉置變換是將傳統手眼標定算法求解旋轉矩陣過程中的后兩次求逆運算替換為轉置運算,減小了由于多次求逆造成的累積誤差,改善了傳統手眼標定算法,有利于提高手眼標定的精度。所述最小二乘法用來求解手眼關系的旋轉矩陣和平移向量,有效降低了數據偶然性對標定精度的影響。所述精度檢驗就是通過手眼關系矩陣將標定板上的檢測點投影到世界坐標系中得到投影點的世界坐標,然后控制機器人運動到投影點后統計定位誤差,利用該誤差的分布規律來衡量手眼標定精度。

所述初始數據處理是將采集到的位姿數據和圖像數據轉換為求解手眼關系需要的參量wme和cmo。其中,機器人末端姿態用旋轉向量或者rpy歐拉角表示,對于用旋轉向量表示末端姿態的機器人,通過羅德里格斯變換將旋轉向量轉換成旋轉矩陣,從而得到矩陣wme;對于用rpy歐拉角表示末端姿態的機器人,通過旋轉變換通式得到矩陣wme。對標定板圖像先用引導濾波方法做平滑處理,消除噪聲特征對標定板角點提取的影響,減小對手眼標定精度的影響,然后借助matlab標定工具箱標定處理后的圖像得到矩陣cmo。

所述數據篩選由移動過程選取與數據求解、閾值選取和篩選等部分組成。所述移動過程選取與數據求解是將通過采集數據的位置,按照圖3所示的策略選取移動過程,然后根據位置數據wme和cmo求解移動過程數據eme’和cmc’。所述閾值選取和數據篩選是在求得所有移動過程中機器人末端間的齊次變換矩陣eme’后,根據eme’對應旋轉角的分布情況選取角度閾值,然后去除繞旋轉軸旋轉角度不大于閾值的移動過程和對應數據。

所述轉置運算包括矩陣數據ae和ac的求解、手眼關系旋轉矩陣分解和轉置變換。根據傳統手眼標定算法的原理,一組ae和ac矩陣的求解需要兩個移動過程對應的旋轉變量,所以按照類似于根據位置選取移動過程的策略選擇兩個移動過程的組合,最后計算每個組合對應的ae和ac矩陣。所述轉置變換替代傳統手眼標定算法求解旋轉矩陣過程中的后兩次求逆運算,然后將手眼關系矩陣旋轉矩陣分離成三個行向量,從而將旋轉矩陣的求解轉換成求解三個線性方程組的問題,減小由于多次求逆造成的累積誤差。

所述最小二乘法運用到最后求解旋轉矩陣和平移向量的超定方程中,在求解手眼關系旋轉矩陣過程中將最小二乘法和轉置運算結合到一起,在求解平移向量過程中仍然采用最小二乘法求解超定方程,有利于減小數據偶然性對手眼標定精度的影響。旋轉矩陣求解方程如圖4所示,平移向量求解方程如圖5所示。

所述精度檢驗就是檢驗手眼標定算法的精度。本發明分析并指出前人算法利用殘差衡量標定精度的不合理性,然后提出用定位誤差來衡量手眼標定算法的標定精度。檢驗精度的具體做法是根據標定板棋盤格的尺寸選擇標定板上的角點作為檢測點,然后通過手眼關系將檢測點投影到世界坐標系中得到世界坐標,然后控制機器人運動到投影點,最后統計誤差檢驗精度。ur5機器人手眼標定的實驗數據和標定誤差統計分別如圖6、圖7和圖8所示。

本發明通過大量實驗指出幾個有利于提高手眼標定精度的方向:①機器人末端工具坐標系一定得通過示教tcp的方式得到,不可以按照末端工具的設計尺寸設定;②在不同位置處采集末端數據和標定板圖像數據的時候,二者必須一一對應。另外,在采集標定板圖像的過程中,應該移動機器人在不同位置不同角度盡可能采集多組數據;③在數據運算過程中,數據精度應該至少要求保留小數點后6位小數;④機器人示教器中顯示的位姿數據保留到小數點后兩位,實現pc機控制機器人的功能后可以獲得更準確的位姿數據,這樣也可以適當地提高手眼標定的精度。

本發明改進的手眼標定算法具有以下優點:

1.數據篩選過程中通過移動過程數據的分布來確定角度閾值篩選數據,解除了篩選過程對運動平臺編碼器精度的依賴性,并且提出利用位置數據選取移動過程數據的策略,減小標定過程中需要采集的數據量。

2.在求解機器人手眼關系的旋轉矩陣過程中,用轉置運算替代后兩次求逆運算,然后分離旋轉矩陣后利用最小二乘法求解三個超定線性方程得到旋轉矩陣,減小了因為多次求逆運算造成的累計誤差,從本質上改善了傳統手眼標定算法,并且提高了手眼標定算法的標定精度。

3.本發明給出了不同的方式表示末端位姿的處理方法,為標定帶來便利。對標定板圖像先做引導濾波處理,消除噪聲特征對提取棋盤格角點的影響,然后借助matlab標定工具箱標定圖像,減小了圖像數據對手眼標定精度的影響。

4.本發明提出了新的衡量手眼標定精度的方法和測量手眼標定誤差的方法,該方法操作簡單并且合理。另外,通過大量實驗提出了四個有助于進一步提高手眼標定精度的方向。

附圖說明

圖1為改進的手眼標定算法的流程圖;

圖2為傳統手眼標定算法的原理圖;

圖3為選取移動過程的策略圖;

圖4為求解手眼關系旋轉矩陣的方程;

圖5為求解手眼關系平移向量的方程;

圖6為ur5機器人標定實驗中采集到的末端位姿數據,位姿由位置和姿態構成,位置用平移向量表示,姿態用旋轉向量表示;

圖7所示為對應位置標定板圖像處理后得到的相機位姿數據,位姿數據由平移向量和旋轉向量構成,描述相機坐標系和標定板目標坐標系之間的齊次變換關系;

圖8所示為ur5機器人手眼標定精度檢驗的誤差數據,是利用標定好的手眼關系矩陣定位的誤差的統計數據;

具體實施方式:

下面結合附圖和實例對本發明作進一步描述。

改進的基于篩選和最小二乘法的手眼標定算法主要由初始數據處理、數據篩選、轉置運算、最小二乘法和精度檢驗等部分組成,算法流程如圖1所示,傳統手眼標定算法的原理圖如圖2所示。所述初始數據處理是將機器人的位姿數據轉換成齊次變換矩陣wme,并且將標定板圖像轉換成齊次矩陣數據cmo。所述的數據篩選過程包括選取移動過程、求解每個移動過程的機器人末端的齊次變換矩陣、設定角度閾值和篩選移動過程數據,利用采集到的機器人在每個位置的末端位姿數據選擇移動過程,然后求解移動過程中機器人末端的齊次變換矩陣,最后通過設定角度閾值去除繞旋轉軸旋轉角度不大于閾值的移動過程數據。所述轉置變換是將傳統手眼標定算法求解旋轉矩陣過程中的后兩次求逆運算替換為轉置運算,從而減小了由于多次求逆造成的累積誤差,有利于提高手眼標定的精度。所述最小二乘法用來求解手眼關系的旋轉矩陣和平移向量,有效降低了數據偶然性對標定精度的影響。所述精度檢驗過程是將標定板上的特征點投影到世界坐標系中,控制機器人移動到投影點處然后統計標定誤差。

所述初始數據處理是由機器人位姿數據處理和標定板圖像數據處理兩部分組成。所述機器人位姿數據處理就是將標定過程中采集到的每個位置的機器人末端位姿都轉換為齊次變換矩陣wme,機器人的位姿通過[x,y,z,rx,ry,rz]或者[x,y,z,γ,β,α]表示,[x,y,z]表示位置變換,單位是mm;[rx,ry,rz]和[γ,β,α]表示姿態變換,前者是旋轉向量,單位是弧度,后者是rpy歐拉角,單位是度。對于通過[x,y,z,rx,ry,rz]表示末端位姿的機器人,通過羅德里格斯變換將旋轉向量轉換成旋轉矩陣,從而得到齊次矩陣wme;對于通過[x,y,z,γ,β,α]表示末端位姿的機器人,通過通用的旋轉變換得到齊次矩陣wme,即wme=transl(x,y,z)*rotz(α)*roty(β)*rotx(γ)。所述標定板圖像數據處理就是從圖像中得到相機和標定板之間的齊次變換矩陣cmo,首先通過引導濾波的平滑方法處理標定板圖像,消除噪聲特征對標定板特征點提取的影響;然后借助matlab標定工具箱標定處理后的標定板圖像,得到齊次矩陣cmo。

所述數據篩選由移動過程選取與數據求解、閾值選取和篩選等部分組成。所述移動過程選取與數據求解就是從采集數據的對應位置對中選擇合適的移動過程并且計算對應的過程數據,選取策略為:假設有n個對應位置,分別編號1,2,3,4,…n,兩個不同的點之間可以形成兩個移動過程,這兩個過程對運算的效果是一樣的,所以我們選標號較小的點作為起點。起點為位置1,終點可以選擇2,3,4,…n中的任何一個,則位置1對應著n-1個移動過程,位置2對應著n-2個移動過程,以此類推,則n個位置總共可以確定n(n-1)/2個移動過程,從4個位置中選取移動過程的策略圖如圖3所示,然后通過wmw’=(wme)^-1*wme’得到每個移動過程中機器人末端的相對變換矩陣wmw’,通過cmc’=cmo*(cmo’)^-1得到每個移動過程中相機的相對變換矩陣cmc’。所謂閾值選取就是先計算wmw’矩陣對應的旋轉向量和旋轉角,然后按照從左到右旋轉角依次增大的順序將旋轉角排序,然后選取左邊大約三分之一位置的角度作為角度閾值。所述篩選過程就是按照角度閾值去除繞旋轉軸旋轉角度不大于閾值的移動過程和數據。

所述轉置運算包括矩陣數據ae和ac的求解、手眼關系旋轉矩陣分解和轉置變換。數據篩選過后,將移動過程標號為1,2,3,4,…m,計算每個過程對應的旋轉向量ke和kc,其中ke為機器人末端對應的旋轉向量,kc為相機對應的旋轉向量。每個ae和ac的組合需要兩組ke和kc的組合,所以按照類似于圖3根據位置選取移動過程的策略選擇兩個移動過程的組合,即移動過程1可以和過程2,3,4,…m中的每個進行組合,過程2可以和過程3,4,…m中的每個進行組合,依次類推,總共得到m(m-1)/2的過程組合,所以總共可以得到m(m-1)/2個ae和ac的組合,其中ae通過ae=(ke1,ke2,(ke1)×(ke2))求解,ac通過ac=(kc1,kc2,(kc1)×(kc2))求解。根據傳統手眼標定算法原理可得ac=rcg*ae,其中rcg是手眼關系中的旋轉矩陣,手眼關系矩陣為機器人末端坐標系相對于相機坐標系的齊次變換矩陣。所述轉置變換就是對等式ac=rcg*ae兩邊同時求轉置得到ae^t*rcg^t=ac^t,將矩陣rcg和ac寫成列向量的形式,分別為rcg=(rcg1,rcg2,rcg3)^t和ac=(ac1,ac2,ac3)^t,其中,rcg1、rcg2和rcg3分別為矩陣rcg的第一行、第二行和第三行,ac1、ac2和ac3分別為矩陣ac的第一行、第二行和第三行,則通過ae^t*rcg^t=ac^t求解旋轉矩陣rcg轉化成求解ae^t*rcg1^t=ac1^t、ae^t*rcg2^t=ac2^t和ae^t*rcg3^t=ac3^t三個線性方程組的問題,然后將ae和ac按順序依次排列,最后得到三個超定線性方程組,如圖4所示,利用最小二乘法求解三個線性方程組得到rcg1^t、rcg2^t和rcg3^t,從而得到手眼關系旋轉矩陣rcg;利用(rc-i)*tcg=rcg*ae-ac求解手眼關系cme的平移向量tcg,其中rc為ac對應的旋轉矩陣,i為3乘3的單位矩陣,rcg為手眼關系的旋轉矩陣,該方程為線性方程,將每一組ae和ac數據按順序排列得到求解tcg的超定線性方程,如圖5所示,然后利用最小二乘法求解得到tcg,從而得到手眼關系矩陣cmo。轉置變換替代了傳統手眼標定算法求解旋轉矩陣過程中的后兩次求逆運算,減小了由于多次求逆造成的累積誤差,然后將旋轉矩陣分離成三個行向量,將旋轉矩陣的求解分離成三個線性方程的求解,然后將所有實驗矩陣數據有序排列,最后將旋轉矩陣求解變成三個超定線性方程組的求解。

所述最小二乘法運用到最后求解旋轉矩陣和平移向量的超定方程中,在求解手眼關系旋轉矩陣過程中將最小二乘法和轉置運算結合到一起,在求解平移向量過程中仍然采用最小二乘法求解超定方程,有利于減小數據偶然性對手眼標定精度的影響。

所述精度檢驗就是檢驗手眼標定算法的精度。本發明分析并指出前人算法利用殘差衡量標定精度的不合理性,然后提出用定位誤差來衡量手眼標定算法的標定精度。檢驗精度的具體做法是根據標定板棋盤格的尺寸選擇標定板上的一些角點作為檢測點po,將坐標擴展成po=(x,y,0,1)^t的形式,然后通過手眼關系將檢測點投影到世界坐標系中得到世界坐標pw,其中pw=wme*inv(cme)*cmo*po,然后控制機器人運動到投影點,最后統計誤差檢驗精度。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 贡山| 宣城市| 宁安市| 蓬莱市| 江源县| 大田县| 迁安市| 闽侯县| 滨州市| 封丘县| 开封市| 呼图壁县| 琼结县| 普定县| 桃园县| 屏东县| 洛阳市| 绥化市| 肇庆市| 浦江县| 公主岭市| 宜阳县| 乌鲁木齐县| 宜都市| 洛南县| 盐源县| 应城市| 澳门| 大兴区| 沈丘县| 罗平县| 鹿泉市| 宁安市| 沈阳市| 长泰县| 辰溪县| 合山市| 三亚市| 东安县| 嘉兴市| 巴林右旗|