基于六維力傳感器的工業機器人末端負載受力感知研究
2018-8-24 來源:轉載 作者: 張立建 胡瑞欽 易旺民
摘 要: 針對工業機器人末端負載與外界環境接觸力的感知需求, 在機器人法蘭與負載之間設置六維力傳感器, 并研究一套標定與計算方法, 綜合考慮負載重力作用、傳感器零點、機器人安裝傾角等因素, 利用不少于 3 個機器人姿態下的力傳感器數據, 可求得傳感器零點、機器人安裝傾角、負載重力大小、負載重心坐標等參數, 進一步可消除傳感器零點及負載重力對受力感知的影響, 精確得到機器人末端負載所受的外部作用力與力矩. 實驗得到對于重量從 320 N 到 1 917 N 的負載, 在靜態條件下, 感知外力的誤差在負載重力的 0.28 % 以內, 感知外力矩的誤差在負載對傳感器力矩的 0.59 % 以內.
關鍵詞 : 受力感知, 重力補償, 零點標定, 六維力傳感器, 工業機器人
引用格式 張立建, 胡瑞欽, 易旺民. 基于六維力傳感器的工業機器人末端負載受力感知研究. 自動化學報, 2017, 43(3):439−447
在加工、裝配等工業機器人的應用中, 機器人末端工具或工件與外界環境的接觸力需要被精確地感知, 控制系統據此修正機器人的運動, 才能保證作業的柔順性. 在醫用手術機器人的操作中, 也需要實時精確反饋手術工具與外界的接觸力, 保證手術過程的安全. 對機器人末端負載受力的精確感知是進行機器人柔順控制與安全保障的基礎.在現有應用中, 通常在工業機器人腕部與末端負載之間安裝六維力傳感器, 用于機器人的力反饋控制[2−5]. 六維力傳感器能夠測量空間任意力系中的三維正交力 (Fx, Fy, Fz) 和三維正交力矩 (Mx,My, Mz)[6]. 在靜態條件下, 機器人腕部六維力傳感器測得的力與力矩數據由三部分組成, 即: 1) 傳感器自身系統誤差; 2) 負載重力作用; 3) 負載所受外部接觸力. 若要得到負載所受外部接觸力, 需要消除傳感器系統誤差、負載重力作用兩方面的影響. 對于機器人運動帶來的慣性力, 本文暫不考慮, 實際在機器人慢速運動中, 慣性力的影響可忽略.
傳感器自身系統誤差方面, 六維力傳感器在空載狀態下的讀數并不為零, 本文假定傳感器自身的系統誤差為常數, 并稱之作 “零點”. 六維力傳感器在安裝負載后, 負載與傳感器間的緊固安裝方式及緊固程度也會對傳感器零點造成影響, 因此傳感器零點無法在傳感器空載時準確得到, 對于零點的測定必須在負載安裝的條件下進行.負載重力影響方面, 在機器人運動過程中, 負載姿態隨之改變, 而重力方向始終豎直向下, 因此負載重力對六維力傳感器數據的影響隨機器人的運動不斷變化, 對于負載重力影響的消除需要根據當前機器人姿態實時進行.
在傳感器零點的補償方面, 文獻 [8 – 10] 調整機器人至一系列特定姿態, 部分姿態中重力對傳感器某一測量分量的作用可相互抵消, 進而綜合對應姿態的傳感器數據可消除重力影響, 求得傳感器零點.在負載重力補償方面, 文獻 [2, 4, 11 – 14] 采用已知重量與重心位置的負載, 根據機器人姿態實時計算重力的影響, 消除了重力對六維力傳感器力與力矩值的影響. 一般情況下負載的重量、重心位置并不已知, 需要在線測定. 文獻 [15 – 19] 默認機器人基座標系 Z 軸與重力方向相同, 進而調整機器人使力傳感器到達特定姿態, 直接得到負載重力大小,并通過變化機器人姿態標定傳感器的安裝角度, 文獻 [19] 進一步按照力與力矩關系解得負載重心位置, 以此換算消除負載重力對傳感器力矩測量的影響. 文獻 [8] 利用傳感器數據及力與力矩的關系, 采用最小二乘法求解負載重力大小及重心位置. 上述文獻 [2, 4, 8, 11 – 19] 均默認機器人基座標系 Z 軸與重力方向相同, 但實際中工業機器人的安裝并不針對重力方向進行特殊設置, 機器人基座標系 Z 軸與重力方向往往存在偏角, 上述文獻中的重力補償算法未考慮此方面的誤差. 文獻 [5] 在重力補償中考慮了機器人的安裝姿態, 采用最小二乘法求得了機器人安裝傾角、負載重力大小及重心坐標, 對于重量為24.5 N 的負載, 消除負載重力作用后, 感知外力的最大誤差小于 1 N, 但文獻 [5] 沒有考慮傳感器的零點問題.
綜上所述, 已有對工業機器人腕部力傳感器負載受力感知的研究中, 傳感器安裝角度通過標定計算得到, 傳感器零點通過調整機器人至一系列特殊姿態進行測定, 而機器人安裝傾角、負載重力大小及重心坐標則利用不同姿態下的傳感器數據通過最小二乘法求得.
本文研究一種工業機器人腕部力傳感器負載受力感知方法, 與已有方法不同, 本文方法在通過機械定位保證傳感器安裝角度的基礎上, 利用不少于 3個機器人一般姿態下的傳感器數據, 采用最小二乘法一次求得傳感器零點、機器人安裝傾角、負載重力大小、負載重心坐標等參數, 進而消除傳感器零點及負載重力對受力感知的影響, 精確得到機器人末端負載所受的外部力與力矩數據.
1 、計算模型建立
1.1 六維力傳感器力與力矩的關系
將六維力傳感器三個力分量的零點值記為

















式 (28) 和式 (29) 即完成了對傳感器零點及負載重力影響的補償, 得到了負載所受的外部力與力矩.2 外力感知實驗2.1 實驗條件實驗采用 KUKA 公司的 KR210 機器人, 其主要參數見表 1. 六維力傳感器采用 ATI 公司的Omega190 型傳感器, 其測量范圍及精度參數見表2.

表 1 KR210 機器人性能參數

表 2 Omega190 技術參數
六維力傳感器在機器人末端法蘭的安裝方式如圖 3 所示, 傳感器自身的 2 個定位銷孔通過兩個定位銷與連接盤 2 實現定位, 連接盤 2 的中心圓孔通過連接盤 1 兩側中心的圓形凸臺與機器人法蘭中心的圓形凹腔實現中心定位, 連接盤 2 又通過穿過連接盤 1 的定位銷與機器人法蘭銷孔實現方向定位.這樣, 連接盤 1、2 兩側安裝面的平行度保證了傳感器安裝面與機器人法蘭安裝面的平行, 確保傳感器Z 軸與機器人工具坐標系 Z 軸的平行, 連接盤 1、2的中心定位及 3 個定位銷的輔助定位, 確保了傳感器 X/Y 軸與機器人工具坐標系 X/Y 軸的平行.

試驗中六維力傳感器負載采用如圖 4 所示的配重塊, 共采用 7 個配重塊, 每塊重約 27 kg, 首個配重塊通過連接法蘭與傳感器連接, 后續配重塊之間可通過連接孔逐個累加或拆下, 在試驗中實現負載重量的調整. 實驗用系統的實物照片如圖 5 所示.

圖 4 試驗用配重塊示意圖

圖 5 系統實物照片
2.2 實驗過程及結果
為充分驗證所研究的算法, 分別對 7 種負載重量 (安裝 1 ∼ 7 個配重塊) 下的重力補償精度進行實驗驗證.對每種負載, 調整機器人到表 3 所列的 8個姿態采集傳感器數據. 試驗中傳感器采樣頻率為7 000 Hz, 連續采集 500 個求平均作為計算參考數據. 給出安裝 7 個配重塊時采集的傳感器數據見表4.計算得到 7 種負載情況下的負載重力、機器人安裝傾角參數如表 5, 7 種負載情況下得到的傳感器零點如表 6, 而后調整機器人至 (A: 0?, B: 90?, C:0?) 的姿態, 進行外力感知計算, 在負載不受外力的條件下, 記錄消除傳感器零點及負載重力影響后的數據作為補償誤差, 誤差統計結果見表 7, 其中, Fe為重力補償后傳感器 3 個力分量的合力大小, Me為重力補償后傳感器 3 個力矩分量的合力矩大小, G為測得的負載重力大小, Mg為機器人姿態 (A: 0?,B: 90?, C: 0?) 時負載對傳感器的力矩大小, 此時傳感器 Z 軸近似與水平面平行, 負載對傳感器的力矩可由 Mg= G × z 估算得到. δF表示 Fe相對于G 的百分比, δM表示 Me相對于 Mg的百分比.由表 7 可見, 消除傳感器零點及負載重力作用后, 感知外力誤差在負載重力的 0.28 % 以內, 感知外力矩的誤差在負載對傳感器力矩的 0.59 % 以內

表 3 機器人姿態列表

表 4 加載 7 個配重塊時的傳感器數據

表 5 負載重力及機器人安裝傾角計算結果

表 6 六維力傳感器零點計算結果

表 7 受力感知誤差統計
為驗證采用所述方法測量負載重力的精度, 通過其他測量方式實測所安裝負載的重量進行對比.表 5 中得到的負載重力包含了安裝至六維力傳感器上所有零部件的重量, 同時也包含了六維力傳感器敏感端自身的重量. 而傳感器敏感端無法拆下單獨稱重, 因此, 在六維力傳感器空載情況下 (即不安裝任何零部件至傳感器), 進行與上述完全相同的實驗過程, 計算得到傳感器敏感端自重為 35.5 N.表 5 中 負 載 重 力 G 減 去 傳 感 器 敏 感 端 重量, 即可得到安裝至傳感器上零部件的重量, 如表 8 “安裝重量計算值” 所示. 另一方面, 實測安裝至傳感器上零部件的重量. 使用 S 型拉力傳感器, 采用懸掛方式測量, 選用中諾傳感器公司 ZNLBS-200 型傳感器, 量程 200 kg, 測量精度0.05 %, 即 200 × 0.05 % = 0.1 kg, 傳感器示數乘重力常數 g = 9.8 m/s2, 得到表 8 中 “安裝重量實測值”. 表 8 顯示, 負載重力測量的最大誤差為 1.2 N,接近于拉力傳感器的測量誤差.

表 8 負載重力測量誤差統計 (N)
3、 感知誤差分析
3.1 傳感器測量精度的影響
表 2 給出了所用六維力傳感器的測量精度, 數據來自原廠給出的精度測試報告, 列出的精度指標為測試中出現的全量程最大精度偏差. 其中, 力最大偏差為 18 000 × 0.09 % = 16.2 N, 力矩最大偏差為 1 400 × 0.87 % = 12.18 N·m. 實驗中對連續采集的 500 組傳感器求平均作為參考數據, 因此, 傳感器誤差的影響達不到上述最大偏差數值. 對采集的傳感器數據求平均一定程度減小了數據的隨機波動,但不能完全消除, 波動的程度會造成最終的感知誤差. 為評估求平均后數據的波動程度, 在靜止狀態下, 連續采集傳感器數據序列 65 000 組, 每 500 組求平均后得到 130 組數據. 對于求平均得到的數據序列, 對 6 個測量分量, 求出每個分量數據序列中最大值與最小值的差 D 及標準差 σ, 以評價數據的波動程度, 見表 9.

表 9 參考數據隨機誤差
對于力的感知誤差, 表 9 中的波動值遠小于表 7中的誤差值 Fe. 對于力矩, 表 9 中的波動值則與表7 中的誤差值 Me相當. 因此, 對于表 7 中的感知誤差, 力矩感知誤差可以通過數據隨機誤差解釋, 而力感知誤差則存在其他原因.
3.2 機器人姿態角度誤差的影響
本文在計算中直接使用了機器人控制系統提供的 A、B、C 值, 即機器人工具坐標系相對于基座標系的角度值. 控制系統給出的角度值與真實值間的誤差將對最終的受力感知帶來誤差.按照所述算法, 仿真計算所述角度誤差對最終受力感知的影響, 仿真所采用的機器人姿態讀數與表 3 實驗數據完全相同, 所用負載質量特性及機器人底座傾角數據采用表 5 中第 7 行的數據. A、B、C值的誤差為人為指定, 得出不同 A、B、C 誤差引起的機器人在姿態 (A: 0?, B: 90?, C: 0?) 下的受力感知誤差如圖 6 所示.

圖 6 機器人姿態誤差對受力感知的影響曲線
圖 6 中的 3 條曲線對應 A、B、C 值各自誤差對受力感知的影響. 由圖 6 可見, 受力感知誤差與角度誤差近似呈正比例線性關系, 機器人在姿態 (A: 0?,B: 90?, C: 0?) 時, B 值誤差的影響遠大于 A、C,因此, 下面分析 B 值誤差引起受力感知誤差的具體大小.對于工業機器人的絕對定位誤差, 機器人制造商往往不給出相關數值, 而需要使用者自行測量標定[20−21]. 文獻 [22] 對 KUKA公司 KR500 機器人(額定負載 500 kg) 進行了誤差測量, 機器人工具坐標系姿態角度誤差平均值為 0.21?[22], 文獻 [23] 對ABB 公司的 IRB1 600 機器人進行誤差測量, 最大角度誤差為 0.16?. 參照參考文獻中的測量結果, 假定 B 值誤差為 0.1?, 仿真計算由此造成的實驗中 7種負載下的受力感知誤差, 結果如表 10 所示.

表 10 仿真受力感知誤差統計
對比表 7 與表 10, 對于力的感知誤差 Fe, 仿真結果與實驗吻合較好, 因此, 實驗中力的感知誤差可以由機器人角度誤差解釋. 而對于力矩的感知誤差Me, 對比表 10 與表 9, 表 10 中的誤差值被數據隨機誤差“淹沒”.上述的實驗與仿真計算可以表明, 表 7 中力的感知誤差主要由機器人姿態角度誤差引起, 力矩感知誤差主要由采樣數據的隨機誤差引起.
4、 結論
本文面向工業機器人在加工、裝配等應用中精確測量外力的需求, 在機器人末端與負載之間設置六維力傳感器, 并研究一套標定與計算方法, 在通過機械定位保證六維力傳感器與機器人安裝精度的條件下, 方法綜合考慮了負載重力作用、傳感器零點、機器人安裝傾角等因素, 利用不少于 3 個機器人姿態下的力傳感器數據, 采用最小二乘法求得傳感器零點、機器人安裝傾角、負載重力大小、負載重心坐標等參數, 進一步消除傳感器零點及負載重力對受力感知的影響, 精確得到機器人末端負載所受的外部作用力與力矩.實驗中對于重量從 320 N 到 1 917 N 的負載,重力補償后傳感器感知外力的誤差在負載重力的0.28 % 以內, 感知外力矩的誤差在負載對傳感器力矩的 0.59 % 以內. 實驗與仿真計算表明, 力的感知誤差主要由機器人姿態角度誤差引起, 力矩感知誤差主要由采樣數據的隨機誤差引起.相對已有方法, 本文方法的優勢在于:
1) 應用過程得到簡化: 已有方法需要先調整機器人到一系列特定姿態進行傳感器數據采集, 首先完成零點標定計算, 在消除零點的基礎上, 再調整機器人到一系列一般姿態進行傳感器數據采集, 計算得到負載重力影響參數, 前后需要 2 次機器人姿態調整及數據采集計算過程, 而本文方法只需 1 次機器人姿態調整過程, 得到不少于 3 個機器人姿態下的傳感器數據, 即可計算得出全部所需參數. 另一方面, 采用特殊姿態進行零點標定的過程中, 機器人運動幅度大,操作時間較長, 且在空間有限的情況下難以操作, 而本文方法只需機器人的一系列一般姿態, 機器人運動幅度小、效率高, 在空間有限的情況下也可實施.
2) 有望提高感知精度: 相對于已有方法利用特定機器人姿態下的傳感器數據, 本文方法中傳感器零點通過一般機器人姿態下的傳感器數據計算得到,計算結果更具一般性, 有望提高零點精度. 已有方法中傳感器零點通過獨立的過程求出, 沒有充分考慮零點與其他參數的耦合影響, 本文方法中所有參數聯立建模求解, 各參數間的耦合作用被充分考慮, 這也有助于提高結果精度. 另一方面, 本文方法能夠在機器人最終的目標姿態附近進行姿態變換完成零點標定, 求得的零點更接近傳感器在機器人目標姿態下的零點數值. 而已有采用特殊姿態進行零點標定的方法則很難有針對性地對特定姿態下傳感器的零點進行標定.
投稿箱:
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯系本網編輯部, 郵箱:skjcsc@vip.sina.com
如果您有機床行業、企業相關新聞稿件發表,或進行資訊合作,歡迎聯系本網編輯部, 郵箱:skjcsc@vip.sina.com
更多相關信息