陳勛漫, 黃沿江, 張憲民
(1.華南理工大學廣東省精密裝備與制造技術重點實驗室 廣州,510641)(2.華南理工大學機械與汽車工程學院 廣州,510641)
10.16450/j.cnki.issn.1004-6801.2017.05.018
基于軸線法與卡爾曼濾波的Baxter機器人標定
陳勛漫1,2, 黃沿江1,2, 張憲民1,2
(1.華南理工大學廣東省精密裝備與制造技術重點實驗室 廣州,510641)(2.華南理工大學機械與汽車工程學院 廣州,510641)
為提高Baxter機器人的絕對定位精度,首先根據機器人操作系統(robot operating system, 簡稱ROS)的通用機器人模型統一機器人描述格式(unified robot description format,簡稱URDF)文件,詳細分析了Baxter機器人的運動學模型,通過建立坐標間的約束條件進行模型簡化,并提取待標定參數。針對機器人的多參數模型以及非幾何參數影響較大的情況,提出一種結合軸線測量法與卡爾曼濾波系統辨識法的分步標定方法,分析了針對URDF模型的軸線法和卡爾曼濾波的標定原理,最后分別利用Matlab和激光跟蹤儀進行仿真和實驗驗證。對Baxter機器人標定結果表明,該標定方法能夠獲得較準確的運動學幾何參數,適用于ROS搭建的多幾何參數的機器人及關節柔性較大的機械臂。
Baxter機器人; 運動學標定; 軸線測量法; 卡爾曼濾波
絕對定位精度是衡量機器人性能的一個重要的指標,而提高絕對定位精度的一個關鍵途徑就是提高運動學模型的準確度[1]。實際上,由于機器人零件存在加工誤差,裝配誤差,以及零件磨損或變形等,機器人的名義運動學模型與實際模型會存在一定的偏差,因此需要對其參數進行修正,以接近實際的運動學模型,這也稱為運動學標定。機器人的運動學標定一般分為兩種[2]:幾何參數標定,如連桿長度、相鄰連桿距離、連桿扭轉角等;非幾何參數標定,如齒輪間隙、關節和連桿柔度等。文中主要研究幾何參數標定的方法。
幾何參數的標定通??煞譃榻?、測量、參數辨識和誤差補償4個步驟[1]。最常用的標定模型是基于齊次變換矩陣的D-H模型[3],但對于平行或近似平行關節軸存在奇異性問題。Hayati等[4]對D-H模型進行了修改,在平行關節軸處引入了繞y軸的旋轉分量。后來學者又提出了關節坐標系采用6個參數的S模型[5],基于指數積的POE模型[6],CPC模型[7]和微分模型[8],以及基于這些模型的改進模型[9-10]等。機器人標定的測量手段是決定標定效率和準確性的關鍵因素,測量的儀器主要包括大范圍的測量工具,如激光跟蹤儀,CMM系統[11-13]等,這些工具測量精度較高,但設備的成本也相對較高。小范圍的測量如視覺測量系統、聲吶傳感器[14-15]等。另外有學者采用自制的工具,Joubair等[16]采用一個特殊帶金屬球的三角盤和觸覺探針進行測量;Nubiola等[17]采用可伸縮球桿儀和自制的固定盤來測量姿態。參數辨識能夠根據測量數據獲取運動學模型參數的近似值,不同的辨識方法適用性也不同。目前最常用的有最小二乘法[18]、極大似然法[19]及擴展卡爾曼濾波[20]等。Omodei等[21]利用測量的軌跡誤差數據,對比了線性迭代、最小二乘法、擴展卡爾曼濾波幾種參數辨識方法,最終得出擴展卡爾曼濾波方法具有較快的收斂速度和較好的穩定性。上述標定方法一般采用特定的非線性運動學模型,系統辨識時,往往對模型進行微分線性化再進行參數辨識,或采用對噪聲比較敏感的非線性辨識方法進行辨識。對于參數較多且柔性較大的機器人,難以標定得到準確的運動學參數。
Baxter是基于機器人操作系統開發的一款人機協作型機器人,采用串聯彈性驅動器作為關節驅動,有較高的安全性;它的運動學模型是基于統一機器人描述格式文件建立的,具有很好的通用性。但是,其關節高柔性特性降低了它的定位精度,且URDF文件的運動學幾何參數較多,使得傳統的標定方法難以適用。因此結合不同標定方法的優點,提出姿態與位置變換參數分步標定的方法。首先,分析并建立基于ROS的URDF文件的運動學模型;然后,提取模型中需標定的幾何參數,再采用軸線測量法和卡爾曼濾波分別標定姿態變換參數和位置參數;最后,通過Matlab對標定方法進行仿真驗證,并通過激光跟蹤儀進行實驗驗證。
URDF是機器人操作系統ROS中一個通用的描述機器人模型的XML格式文件,詳細描述了機器人關節參數、桿件幾何參數、動力學參數、坐標轉換關系及碰撞模型等。它有自己一套簡單的建模規則,可以為開發人員建立和修改復雜的機器人模型的過程提供便利,還可以結合Gazebo進行三維仿真。URDF文件建立了完整的機器人關節坐標系,并定義各關節的屬性和坐標系之間的靜態變換關系,結合運動學和動力學(kinematic and dynamic library,簡稱KDL)即可以建立機器人的運動學模型。
URDF采用樹結構(如圖1所示)來構建機器人的基本框架,并假設所有桿件均為剛性桿。其中有兩個描述機器人幾何模型的關鍵元素:“joint”和“link”。

圖1 URDF文件規則Fig.1 The convention of URDF
“link”用來定義機器人連桿的物理模型、碰撞模型和剛性慣量等;它以前一個關節的坐標系作為連桿坐標系,并以該坐標系為基坐標來定義連桿的各個參量?!癹oint”用來定義機器人關節的運動形式、運動學和動力學屬性、關節坐標及坐標變換關系等;每個關節連接兩個連桿,分別為父連桿和子連桿,對應有父坐標系和子坐標系,子坐標系即為對應的關節坐標系;以父坐標系為基,轉換到子坐標系的變換關系采用3個位置偏移量(如圖2所示的“xyz”)和3個姿態偏移量(如圖2所示的“rpy”)來表示。因此,從基座(第1個連桿)坐標系開始,通過定義相鄰兩連桿坐標系之間的變換關系,即可構建從機器人的基坐標系到各個連桿坐標系的轉換模型。簡單的URDF文件定義如圖2所示。

圖2 URDF文件示例Fig.2 Example of URDF
URDF文件定義了機器人的靜態模型和關節屬性。對于正逆運動學的求解則可通過KDL庫來實現,KDL用鏈結構來構建機器人的運動學和動力學模型,它提供了URDF文件的編譯接口,編譯時能夠自動讀取URDF文件定義的連桿及關節,并將URDF文件定義的機器人位形視為關節零點,從而建立起一套完整的運動學模型。
Baxter是一臺具有雙臂的仿人形工業機器人,兩只手臂各有7個轉動關節,分別為兩個肩關節S0,S1,兩個肘關節E0,E1和三個腕關節W0,W1,W2。7個關節使Baxter的手臂具有較高的靈活性,能夠完成較復雜的作業和規避碰撞及奇異位形。Baxter的關節是由串聯彈性驅動器(series-elastic actuator,簡稱SEA)驅動的,該驅動器電機與關節之間通過一個扭簧連接。電機不是直接驅動關節運動,而是通過扭簧傳遞扭力進而驅動關節運動;Baxter通過測量扭簧的轉角并根據胡克定律即可計算出關節轉矩。SEA使Baxter的手臂具有較好的柔性和良好的力感應能力,從而降低手臂碰撞的危險。
Baxter的運動學模型是基于URDF文件建立起來的,其連桿坐標系的建立和坐標系的轉換關系滿足URDF文件的規則:相鄰坐標系中,后一坐標系由前一坐標系經3個坐標方向的位移和旋轉得到(位移和轉軸方向均以前坐標系為基準)。因此,相鄰坐標系的變換矩陣為
(1)
其中:Ra表示繞a軸的旋轉矩陣;Ta表示沿a軸的平移矩陣;當中有變量αix, αiy, αiz和Pi,分別對應URDF文件(如圖2所示)中joint的參數“rpy” 和“xyz”。
Baxter的基坐標系建立在其軀干底盤中心處;各關節坐標系以關節中心為原點,以轉軸為z軸(方向滿足右手定則),x軸和y軸的方向可以自定義,根據Baxter的名義URDF文件(如圖3所示)建立如下的關節坐標系。

圖3 Baxter手臂坐標系Fig.3 The frames of Baxter′s arm
連桿坐標系定義為連桿后一關節的坐標系,則關節S0, S1,…, W2的坐標系即為連桿坐標系T1,T2,…,T7,末端夾持器坐標系為Tg。T1為固定坐標系,其相對于基坐標系z軸的旋轉參數為π/2;T2,T3,T5,T7的x軸為前一連桿坐標系z軸和當前坐標的z軸的公垂線,它們相對于前一坐標系的y軸的旋轉參數均固定為0;T4,T6的y軸為前一坐標系z軸與當前坐標系z軸的公垂線,它們相對于前一坐標系的x軸的旋轉參數均為0;Tg相對T7為固定坐標系,且只有位置變換。即可得到下式
(2)
其中:i=0時為基坐標系;i=8時為末端坐標系。
Baxter單支手臂的正運動學模型為
(3)
由上述式(2)和式(3)可知,要準確建立Baxter的運動學模型,至少需要標定38個參數,其中包括姿態變換的14個參數和位置變換的24個參數。
軸線測量法[23]利用某關節單獨運動,而其他關節保持靜止時,測量該關節上某個固定點的軌跡,從而獲取該關節的軸線位姿,進而計算運動學參數。采用軸線測量法只用于獲取關節姿態的變換參數,即URDF文件的“rpy”參數。因此,計算關節軸線時只需計算軸線方向即可。由于Baxter的運動學模型以URDF文件定義的關節狀態為零位,故測量某關節運動軌跡時,必須將其他關節置于零位狀態。
采集了某關節運動軌跡數據之后,通過平面擬合和求取擬合平面的法向量即可獲取軸線的方向向量。設關節軌跡的擬合平面方程為
Ax+By+C z+D=0
(4)
變換式(4),可得二元回歸模型
z=λ1x+λ2y+λ3
(5)
其中:x,y為自變量;z為因變量;λ1,λ2,λ3為模型參數。
采用最小二乘法擬合式(5),可獲得λ1,λ2,λ3的值,則對應平面的法向量為
(6)
關節軸方向可能與該法向量相同或相反。假設pi(i=1,2,…,m)為測量的軌跡點,選取pi上3個點p1,p2和p3,且這3個點為關節從角度較小值運動到較大值依次出現的點。根據右手定則,計算這3點構成的平面法向量為
n=(p2-p1)×(p3-p1)
(7)
(8)
獲得各關節軸線單位向量ni(i=1,2,…,7)后,需轉換為URDF文件的“rpy”參數。由2.2節所述的關節坐標系建立規則。
當i=0時,類比式(2)和(8),即可求得αix和αiy,帶入式(2)可得第1個關節坐標系姿態矩陣為
R1=[x1,y1,z1]
當i=1,2,4,6時,
代入式(2),得到第i+1個關節坐標系的姿態矩陣為
Ri+1=[xi+1,yi+1,zi+1]
當i=3,5時,
代入式(2)可得第4和6個關節的姿態矩陣為
產品創新方面,四大國有銀行、平安、招行是自貿區金融創新的主力。其中,平安上海自貿區分行結合一級分行、FT賬戶牌照和離岸牌照,定位為“全行的跨境業務平臺”,各分行對外鏈接的橋梁,實現內外貿、離在岸、本外幣業務一體化,業務涵蓋跨境公司業務、跨境投行并購業務、跨境同業業務、跨境個人業務、跨境離岸業務。招行推出“跨境金融·自貿通”系列產品,為企業提供集本外幣結算、融資、投資、交易理財等金融服務為一體的專業解決方案,服務企業在區內經營、區內與國內投資或貿易、區內與國外投資或貿易的各種金融需求。
Ri+1=[xi+1,yi+1,zi+1]
由2.1節獲得的姿態變換參數,代入式(3)可得只包含位置變換參數的運動學模型,包含24個參數。由于各個關節坐標系的原點只需定在關節軸上,即其有一個沿關節軸方向的自由度,故可以自定義其中一個方向的位置變換參數(無需辨識參數),則其他兩個參數為固定的幾何參數(待辨識參數)。因此,全部待辨識參數個數為(2×7+3=)17個。則可得末端位置的運動學模型為
X=K·p+d
(9)
其中:X為3×1向量,表示機器人末端的位置向量;p為1×17向量,由所有待辨識的位置變換參數組成;K為含關節角度變量的3×24系數矩陣;d為3×1常數向量。
若給定某一時刻下的關節角度值,則可獲得該狀態下線性的運動學模型,可采用卡爾曼濾波進行參數的辨識。離散模型的狀態方程和輸出方程為
xk+1=xk+wk
(10)
zk=Hkxk+dk+vk
(11)

卡爾曼濾波參數辨識方程為
(12)
Pk|k-1=Pk-1|k-1+Qk-1
(13)

卡爾曼增益計算方程為
Kk=Pk|k-1HkT(HkPk|k-1HkT+Rk)-1
(14)
狀態變量的遞歸方程為
(15)
系統協方差的最優估計為
Pk|k=(I-KkHk)Pk-1|k
(16)
卡爾曼濾波迭代的參數初始值為名義的參數值。Q和P的初始值均設置為10-4I,R的初始值設置為10-2I。
本實驗的實驗平臺如圖4所示。手臂末端的實際位置值及各關節的旋轉軌跡點均由激光跟蹤儀測得,激光跟蹤儀的測量精度為(10+5L) μm,其中L為測量距離,本實驗測量距離在2 m以內,因而測量精度約為20 μm;手臂各關節角度值由編碼器測得,并通過話題“robot/joint_states”發布,分辨率為3.834×10-4rad。實驗中通過機器人底座上的螺紋孔進行定位,以使激光跟蹤儀的世界坐標系與機器人的基坐標系(/base坐標系)重合。

圖4 Baxter標定實驗平臺Fig.4 A setup of experimental calibration system for Baxter
測量第i個關節的旋轉軌跡時,將激光跟蹤儀的反射球固定在該關節的子連桿上,且該關節前面的所有關節均轉動到零位位置。讓關節角度θi由一個較小的值開始運動,以1°的步長逐步遞增,每增加一個步長,待機器人穩定后測量反射球的三維坐標,待θi增大到較大值時停止運動。依次測量各個關節的旋轉軌跡,然后根據3.1節所述方法,利用Matlab進行關節軸方向擬合并計算“rpy”參數,得到表1的標定結果。
通過平面度和平面擬合度來衡量平面擬合的效果,平面度定義為測量點到擬合平面距離的最大值與最小值之差(包含正負號),平面擬合度定義為各個測量點到擬合平面的距離平方的平均值。各關節軸測量點的平面擬合結果如表2所示,擬合度和平面度都各自保持在0.01 mm和0.1 mm的數量級上,說明測量點都比較穩定,受柔性關節變形的影響較小,平面擬合的效果良好。
表1軸線測量法標定后的關節軸方向及“rpy”參數
Tab.1Jointaxisdirectionvectorand“rpy”parametersobtainedthroughscrew-axismeasurementmethod

關節關節軸方向向量URDF文件參數x/mmy/mmz/mmr/radp/rady/rad1-0.0070.0091.0000.0020.0120.78520.712-0.7020.013-1.5700.0000.01630.7020.712-0.0111.5700.0001.58040.712-0.7030.0140.000-1.572-1.57050.6970.717-0.0301.5800.0001.59060.712-0.7020.0170.000-1.579-1.56770.7010.713-0.0211.5720.0001.561

表2 各關節軸測量點的平面擬合結果
傳統的軸線測量法在平面擬合后將進一步擬合圓,獲取圓心,從而獲得關節軸線的方程,然后進行運動學參數的求解。然而,由于機器人柔性關節及非幾何參數等因素的影響,測量點往往在測量平面會有較大的偏移,故擬合出來的關節軸線方程也存在較大偏差。因此,只有采用軸線測量法擬合平面獲取姿態變換參數,位置變換參數采用卡爾曼濾波方法進行辨識。
通過Matlab對2.2節所述的標定方法進行仿真驗證,仿真時假設的名義與實際URDF文件參數如表3所示。由于Baxter的關節存在輕微的抖動現象,而激光跟蹤儀的測量噪聲的數量級遠小于Baxter抖動引起的末端位置噪聲,因此將后者的噪聲歸為測量噪聲,該噪聲通過激光跟蹤儀在Baxter某個固定位形下的采樣點獲得。由于受非幾何參數的影響,Baxter的絕對定位精度較差,由此造成的測量誤差也歸結為測量噪聲。綜上所述,仿真時將噪聲設為均值零,標準差為1 mm的高斯白噪聲。
表3仿真時URDF參數(“×”表示無需標定參數)

Tab.3 The parameters of URDF in simulation (“×” unidentifiable) mm
實驗設置150個機器人位形點作為測量點,末端位置測量值則通過Baxter的正運動學方程加上測量噪聲后求解獲得,這150個測量點差不多覆蓋了Baxter單臂的工作空間??柭鼮V波進行參數標定時,以表4的名義參數為初始值開始迭代,各個參數濾波過程如圖5所示,圖中的物理量x,y,z分別表示辨識的參數(URDF文件中的xyz參數)。另外取150個位形點用于驗證標定的效果。同樣的,這150個點差不多覆蓋Baxter單臂的整個工作空間。定前后的誤差對比如圖6所示。
表4標定前后的位置誤差對比
Tab.4Thepositionerrorbeforeandaftercalibrationmm

參數平均誤差最大誤差標準差標定前11.831823.21014.3979標定后2.49124.92491.0486
表4列出了標定前后最大誤差、平均誤差和誤差值的標準差。從表中可以看出,標定后機器人的平均位置誤差從11.83 mm減小到2.49 mm,最大誤差也從23.21 mm減小到4.92 mm,標準差從4.40 mm較小到1.05 mm,說明標定后整個工作空間的定位精度都有較大的提升。
本實驗同樣采用圖6所示的實驗平臺。實驗時以Baxter左臂為測量對象,將反射球固定手臂末端的中心點處,通過末端夾持器上的螺紋孔來定位該中心點。測量機械臂300個位形下的關節角度值和末端的位置,其中前150個位形用于卡爾曼濾波標定參數,后150個位形用于驗證標定的結果。每次運動到一個位形,待手臂穩定后,通過訂閱ROS話題(ROS的通信方式,將傳感器數據以話題方式發布)

圖5 幾何參數辨識結果Fig.5 Identified geometric parameters

圖6 仿真標定前后的位置誤差Fig.6 The position error before and after calibration
“robot/joint_states”來獲取關節角度值,通過激光跟蹤儀測量末端的位置值。
卡爾曼濾波進行參數辨識時,以表5所示的名義參數為初始值開始迭代,姿態變換參數采用軸線測量法標定獲得的參數,如表2所示。辨識得到的運動學參數如表5所示;利用測量的150個位形點來驗證辨識結果,得到標定前后的位置誤差如圖7所示。
卡爾曼辨識過程參數的收斂情況與圖5的仿真結果近似,雖然辨識曲線沒有理論上卡爾曼濾波辨識曲線那么平穩,但總體趨勢還是收斂的,且標定后的平均位置誤差從14.21 mm減小到6.25 mm,說明標定后的模型參數趨近于真實值。但是標定后仍然存在較大的定位誤差,說明Baxter機器人的絕對定位精度受非幾何參數的影響很大。Baxter關節采用SEA驅動器,具有較大的柔性,受連桿重力影響會發生偏轉,從而產生關節轉角誤差,因此一般需要建立準確的重力補償模型對關節偏轉進行補償。另外,Baxter關節減速器采用精度不高的齒輪傳動機構,齒輪間隙、回程誤差等也會影響機器人的定位精度。
表5KF標定前后的URDF參數(“×”表示無需標定參數)

Tab.5 The URDF parameters before and after KF calibration (“×” unidentifiable) mm

圖7 標定前后的位置誤差Fig.7 The position error before and after calibration
本研究也嘗試采用幾種常用的標定方法(擴展卡爾曼濾波、最小二乘法、軸線法)對Baxter進行標定,標定結果如表6所示。最小二乘法、EKF(擴展卡爾曼濾波)和軸線測量方法獲得的標定結果沒能改善模型的精度,主要原因在于最小二乘法對測量的誤差比較敏感,辨識的參數將會偏離實際運動學參數;EKF標定時需將運動學模型轉化為線性的誤差模型,而且標定的參數較多且測量誤差較大,測量協方差矩陣比較難調整,可能導致某些參數不能較好的收斂,從而導致辨識參數偏離實際參數;軸線測量法標定時,對求解出來的軸線方程的精度要求很高,但Baxter本身關節柔性較大,非幾何參數對關節運動影響很大,故難以保證軸線方程的精度。因此上述方法并不適用于標定Baxter機器人,而采用筆者提出的分步標定方法可以減小模型的誤差,獲得較好的運動學參數。

表6 標定前后的位置誤差對比
首次操作機器人之前,需要對機器人的運動學模型參數進行標定。本研究針對ROS的通用機器人模型及Baxter機器人關節柔性等非幾何參數誤差較大的條件下,提出了適合該機器人的標定方法。筆者詳細分析了基于ROS的Baxter機器人的運動學模型及標定模型,根據該模型的特點提出了分步標定的方式。傳統的標定方法并不能達到預期的標定結果,且大部分解算過程較為復雜。結合軸線測量法和卡爾曼濾波的標定方法,能夠很好地分別標定出機器人模型的姿態變換參數和位置變換參數,特別適用于標定參數較為復雜,且非幾何參數誤差較大機器人。文中的運動學解算方式及標定方法具有一定通用性,可為基于ROS開發的機器人的URDF文件參數標定提供參考。
[1] Elatta A Y, Gen L P, Zhi F L, et al. An overview of robot calibration[J]. Information Technology Journal, 2004, 3(1): 74-78.
[2] Nguyen H N, Zhou J, Kang H J. A calibration method for enhancing robot accuracy through integration of an extended Kalman filter algorithm and an artificial neural network[J]. Neurocomputing, 2015, 151: 996-1005.
[3] Denavit J. A kinematic notation for lower-pair mechanisms based on matrices[J]. Trans of the ASME, Journal of Applied Mechanics, 1955, 22: 215-221.
[4] Hayati S A. Robot arm geometric link parameter estimation[C]∥ The 22nd IEEE Conference on Decision and Control. San Antonio, Texas, USA:IEEE, 1983: 1477-1483.
[5] Stone H W. Kinematic modeling, identification, and control of robotic manipulators[J]. Kluwer International, 1987, 29:7-29.
[6] Okamura K, Park F C. Kinematic calibration using the product of exponentials formula[J]. Robotica, 1996, 14(4): 415-421.
[7] Zhuang H, Roth Z S, Hamano F. A complete and parametrically continuous kinematic model for robot manipulators[J]. Robotics and Automation, IEEE Transactions on, 1992, 8(4): 451-463.
[8] Park I W, Lee B J, Cho S H, et al. Laser-based kinematic calibration of robot manipulator using differential kinematics[J]. IEEE/ASME Trans Mechatron, 2012,17(6): 1059-1067.
[9] Zhuang H, Roth Z S. A note on singularities of the MCPC model[J]. Robotics and Computer-integrated Manufacturing, 1996, 12(2): 169-171.
[10] Lou Yunjiang, Chen Tieniu, Wu Yuanqing, et al. Improved and modified geometric formulation of POE based kinematic calibration of serial robots[C]∥IEEE/RSJ International Conference on Intelligent Robots and Systems. St.Louis,Missouri,USA:IEEE Press, 2009: 5261-5266.
[11] Nubiola A, Bonev I A. Absolute calibration of an ABB IRB 1600 robot using a laser tracker[J]. Robotics and Computer-Integrated Manufacturing, 2013, 29(1): 236-245.
[12] Lightcap C, Hamner S, Schmitz T, et al. Improved positioning accuracy of the PA10-6CE robot with geometric and flexibility calibration[J]. IEEE Transactions on Robotics, 2008, 24(2): 452-456.
[13] Nubiola A, Slamani M, Joubair A, et al. Comparison of two calibration methods for a small industrial robot based on an optical CMM and a laser tracker[J]. Robotica, 2014, 32(3): 447-466.
[14] Du Guanglong, Zhang Ping. Online robot calibration based on vision measurement[J]. Robotics and Computer-Integrated Manufacturing, 2013, 29(6): 484-492.
[15] Stone H W, Sanderson A C. A prototype arm signature identification system[C]∥ Proceedings of IEEE International Conference on Robotics and Automation. Raleigh,North Carolina,USA:IEEE, 1987, 4: 175-182.
[16] Joubair A, Bonev I A. Kinematic calibration of a six-axis serial robot using distance and sphere constraints[J]. The International Journal of Advanced Manufacturing Technology, 2015, 77(1-4): 515-523.
[17] Nubiola A, Bonev I A. Absolute robot calibration with a single telescoping ballbar[J]. Precision Engineering, 2014, 38(3): 472-480.
[18] 王品, 廖啟征, 莊育鋒,等. 一般7R串聯機器人標定的仿真與實驗[J]. 機器人, 2006, 28(5): 483-487.
Wang Pin, Liao Qizheng, Zhuang Yufeng, et al. Simulation and experimentation for calibration of general 7R serial robots[J]. Robot, 2006, 28(5): 483-487.(in Chinese)
[19] Renders J M, Rossignol E, Becquet M, et al. Kinematic calibration and geometrical parameter identification for robots[J]. IEEE Transactions on Robotics and Automation, 1991, 7(6): 721-732.
[20] Du Guanglong, Zhang Ping. Online serial manipulator calibration based on multisensory process via extended kalman and particle filters[J]. Industrial Electronics, IEEE Transactions on, 2014, 61(12): 6852-6859.
[21] Omodei A, Legnani G, Adamini R. Three methodologies for the calibration of industrial manipulators: Experimental results on a SCARA robot[J]. Journal of Robotic Systems, 2000, 17(6): 291-307.
[22] Orocos Wiki. Kinematic trees[DB/OL].(2015-12-03)[2016-01-01]. http://www.orocos.org/wiki/main-page/kdl-wiki/user-manual/kinematic-trees.
[23] Barker L K. Vector-algebra approach to extract Denavit-Hartenberg parameters of assembled robot arms[R]. Hampton,Virginia,USA:NASA Technical Paper 2191, Aug. 1983, NASA-TP-2191.
國家自然科學基金資助項目(51505151);廣州市科技計劃資助項目(2015090330001);機械系統與振動國家重點實驗室課題資助項目(MSV 201605)
2016-01-03;
2016-03-18
TP242; TH113.2

陳勛漫,男,1992年1月生,碩士、工程師。主要研究方向為雙臂機器人的運動控制及視覺伺服。
E-mail:365743374@qq.com
黃沿江,男,1981年11月生,博士后、副教授。主要研究方向為人機共融機器人技術、工業自動化生產線的設計與優化及機電一體化技術。
E-mail:mehuangyj@scut.edu.cn