劉天一,白亮,楊鵬翔
(西安現(xiàn)代控制技術研究所,陜西 西安 710065)
碰撞檢測是家用機器人的關鍵技術之一. 現(xiàn)有的家用機器人通常設置碰撞板機構用于檢測碰撞[1],沒有碰撞板覆蓋的部位不能檢出碰撞,因此,家用機器人的碰撞檢測存在盲區(qū). 此外,碰撞檢測板容易因雜物卡死而產(chǎn)生故障,且碰撞板只能定性檢測碰撞,不能定量檢測碰撞的方向或大小.本文以掃地機器人[2]為研究對象,以改善家用機器人碰撞檢測能力為目的開展研究.
在引信[3-4]和車輛[5-6]中有時采用慣性傳感器檢測碰撞,利用加速度閾值、時間窗、加速度梯度等方法識別碰撞[7]. 慣性傳感器可以檢測任意位置的碰撞,有助于解決家用機器人碰撞漏檢問題.但是家用機器人的碰撞加速度遠小于汽車和引信的加速度,因此汽車或引信的碰撞檢測方法不能直接用于家用機器人,必須加以改進.
本文基于微型慣性測量單元(miniature inertial measurement unit,MIMU)實現(xiàn)家用機器人任意部位碰撞的檢測. MIMU是具有三軸加速度和三軸角速度測量功能的多軸慣性傳感器. 本文將在兩方面進行改進:1)較為精確地補償干擾加速度,補償機器人啟停、俯仰橫滾、桿臂效應等造成的干擾加速度,以提取碰撞造成的加速度信號;2)選取合適的碰撞判斷標準,采用滑動窗積分的方式處理加速度信號,以幅度、持續(xù)時間兩個標準判斷碰撞.
家用機器人在發(fā)生碰撞時加速度有明顯變化,可以通過測量加速度變化以檢測碰撞. 碰撞加速度不超過2 g 的碰撞定義為輕微碰撞,超過2 g 的碰撞屬于強烈碰撞. 引信與目標碰撞時的加速度達到30 000 g 至60 000 g[8],車輛與道路護欄碰撞的加速度達到20 g[9],均屬于強烈碰撞. 而家用機器人工作速度較低、薄壁塑料結構剛性較差,屬于輕微碰撞. 家用機器人正常工作情況下的加速度與碰撞加速度幅值接近,為檢測碰撞增加了難度. 因此,必須對MIMU 數(shù)據(jù)中正常運行時的加速度成分進行補償,只保留碰撞產(chǎn)生的加速度信號.
MIMU測量的加速度,與機器人基準位置加速度相比,存在桿臂效應加速度、重力加速度分量和測量誤差,即
由于機器人結構布局的限制,MIMU往往不能安裝在機器人的中心位置. 慣性傳感器與載體(機器人)轉(zhuǎn)動中心不重合,因此機器人轉(zhuǎn)動時產(chǎn)生了額外的加速度信號,稱之為桿臂效應. 桿臂效應加速度為
式中,r 為從機器人基準位置到MIMU位置的距離向量,ω 為角速度[10]. 角速度由MIMU中的陀螺儀測得. 以BMI055型MIMU為例并考慮實際工況,陀螺儀綜合精度可達到2 /s° 或2%內(nèi),能滿足碰撞檢測的需求. 式(2)補償桿臂加速度需要獲取角加速度,而MIMU直接測量得到角速度. 對角速度直接微分得到的角加速度有較大噪聲,不能用于補償桿臂效應. 設計傳遞函數(shù)如式(3)的濾波器.
該濾波器在低于50 Hz 的范圍內(nèi)傳遞特性與微分環(huán)節(jié)近似. 角速度信號經(jīng)過該濾波器處理后的信號近似為角加速度且噪聲較小. 該濾波器輸出信號作為式(2)的角加速度,用于補償桿臂效應加速度.
圖1 橫滾方向的Mahony 互補濾波器
Mahony互補濾波器中陀螺儀角速度信號積分后與加速計信號比對,經(jīng)過濾波網(wǎng)絡后得到X 軸陀螺儀零偏,以及Y 軸重力加速度分量與加速度計緩慢變化誤差的估計和. 在碰撞檢測中不必進一步分離,利用式(1)一并補償. 該濾波器對于加速計信號具有低通特性,因此家用機器人碰撞產(chǎn)生的瞬時加速度幾乎不影響濾波器的輸出.
在機器人發(fā)生碰撞或通過地面不平處時加速度都有明顯波動,碰撞檢測模塊需要區(qū)分對待這兩種情況,發(fā)生碰撞時應觸發(fā),而通過地面不平處時碰撞檢測應當不觸發(fā). 采用簡單的加速度幅值或類似指標作為判斷標準容易引起誤檢測[14]. 碰撞時機器人會突然停止運動,而地面不平時機器人速度有所波動但是最終會恢復正常運行速度. 因此可以用速度變化量作為判斷碰撞的標準. 速度變量法利于抑制干擾[15].
為了防止誤檢測,進一步采用滑動窗積分方法判斷碰撞[16],滑動窗積分法是速度變量法的改進方法. 滑動窗積分是對當前時刻之前一段時間內(nèi)的信號做積分運算. 家用機器人為二維運動,因此對X 和Y 軸的加速度信號分別做滑動窗積分,取向量模長作為變換后信號.
理論上,碰撞變換后信號具有一個較寬的峰,而地面不平變換后信號具有兩個較窄的峰. 原因是碰撞時加速度主要表現(xiàn)為單向波動,而地面不平時加速度信號表現(xiàn)為雙向波動. 因此進一步使用時間閾值作為判斷標準能區(qū)分碰撞和地面不平這兩種情況.
碰撞檢測方法包括3個步驟:加速度補償、信號變換、碰撞判斷. 采取滑動窗積分后的幅度閾值和時間閾值兩個尺度共同作為判斷碰撞的標準. 當加速度滑動窗積分值超過幅度閾值,且維持時間超過了時間閾值,則判定發(fā)生了碰撞.
碰撞檢測模塊主要包括處理器和MIMU. 處理器選用較為常見的STM32L151 型微控制器,主頻32 MHz. 用于導航的 MIMU 側(cè)重于精度,如零偏穩(wěn)定性等指標[17];而用于碰撞檢測的 MIMU 側(cè)重于頻率特性,因為碰撞過程持續(xù)時間很短、信號變化很快. 因此選用型號為BMI055[18]的MIMU,加速度計帶寬1 000 Hz,陀螺儀帶寬523 Hz,采樣率2 000 Hz. 加速度計量程設定為16 g±,標度因數(shù)128 LSB/g(LSB 即Least Significant Bit,最低有效位).
為了采集家用機器人的運動信號并驗證碰撞檢測方法,實驗裝置如圖2所示. 在掃地機器人上膠粘固定電源、通信模塊、碰撞檢測模塊(MIMU和處理器). 碰撞判斷的幅度閾值設定為0.08 m/s,時間閾值設定為75 ms. 滑動窗長度128 ms,即256采樣點. 掃地機器人前方有碰撞檢測板.
圖2 碰撞實驗裝置
為了檢驗加速度補償?shù)男Ч?,在雙軸轉(zhuǎn)臺上安裝碰撞檢測模塊. 保持轉(zhuǎn)臺內(nèi)框固定不動,只轉(zhuǎn)動轉(zhuǎn)臺外框軸,如圖3所示. MIMU安裝位置為M點;轉(zhuǎn)臺外框軸保持水平,旋轉(zhuǎn)中心為N點. 待碰撞檢測模塊工作穩(wěn)定后,轉(zhuǎn)臺從 10-°旋轉(zhuǎn)至 10+°,產(chǎn)生桿臂效應加速度并改變橫滾角度決定的重力加速度分量. MIMU于M點隨轉(zhuǎn)臺轉(zhuǎn)動;N點模擬機器人基準位置. 記錄補償前后加速度如圖4.
圖3 加速度補償實驗
圖4 中碰撞檢測模塊根據(jù)加速度計和陀螺儀數(shù)據(jù)獲得了桿臂效應加速度和橫滾角引起的重力加速度分量. 在轉(zhuǎn)臺啟停時桿臂效應加速度有明顯變化,最大為20.230 m/s . 重力加速度分量估計值從- 1 .684 m/s2變?yōu)?1 .761 m/s2. 因為轉(zhuǎn)臺角度對稱地從 -1 0°旋轉(zhuǎn)至 + 1 0°,重力加速度分量的變化理論上也是對稱的. 實驗結果中重力加速度分量的變化不完全對稱,一方面源于陀螺儀標度因數(shù)誤差,另一方面受限于加速度計分辨率. 理論上補償后的N點加速度為0,實驗中的補償后加速度在 ±2 LSB以內(nèi),滿足碰撞檢測的需求.
圖4 加速度補償實驗結果
掃地機器人在家居環(huán)境中運行,碰撞檢測模塊對俯仰橫滾、桿臂效應、啟停引起的干擾加速度實時補償,輸出補償后的加速度數(shù)據(jù),該數(shù)據(jù)被計算機記錄. 機器人正常運行時加速度比較平穩(wěn). 機器人發(fā)生碰撞或通過地面不平處時,加速度有明顯波動,典型曲線分別如圖5和圖6,橫坐標為時間,縱坐標為加速度. 圖5是機器人與木制家具碰撞時的加速度曲線,圖6是機器人通過地面不平處的加速度曲線.
圖5 碰撞時的加速度
圖6 通過地面不平處的加速度
兩種情況下加速度曲線的主峰峰值分別為 9 .72 m/s2和 7 .49 m/s2,主峰寬度分別為35.0 ms 和39.5 ms. 家用機器人碰撞屬于微弱碰撞,碰撞和地面不平的加速度曲線在峰值和寬度上沒有顯著差別、不易區(qū)分. 因此不能直接采用車輛碰撞或引信中使用的碰撞檢測技術.
圖5 和圖6中的加速度信號進行滑動窗積分變換后信號如圖7所示. 碰撞時變換后信號具有一個較寬的峰;地面不平時變換后信號具有兩個較窄的峰. 在發(fā)生碰撞時變換后信號在B點超過幅度閾值,在E點回落. 地面不平時變換后信號在中部(C至D)因為正負抵消而回落,雖然變換后信號在A點和D點兩次超過幅度閾值,但是分別在C點和F點回落. 碰撞時變換后信號維持在幅度閾值以上的時間(B點至E點)較長,超過了時間閾值;而地面不平時變換后信號維持在幅度閾值以上的時間(A點至C點,D點至F點)較短,未達到時間閾值. 采用幅度閾值和時間閾值共同作為判斷碰撞的標準,可以有效區(qū)分這兩種情況.
圖7 滑動窗積分變換后信號
為了進一步檢驗碰撞檢測方法的性能,設定6種實驗工況:其中2種工況分別為機器人與木制家具或水泥墻壁發(fā)生碰撞,2種工況為機器人分別從低到高和從高到低通過臺階,臺階落差為5.6 mm;2種工況為機器人啟動、停止(剎車). 機器人在不同速度下每種工況試驗10次. 對照組不使用碰撞檢測模塊,而使用機器人自身的碰撞檢測板. 記錄碰撞檢測模塊觸發(fā)情況如表1.
表1 不同工況下的碰撞次數(shù)對比
實驗表明,本文方法能有效檢測家用機器人的碰撞,優(yōu)于傳統(tǒng)的碰撞檢測板方法. 同時,本文改進了慣性傳感器檢測碰撞的方法,使其適用于微弱碰撞的檢測,對其他領域的微弱碰撞檢測具有借鑒意義,但該方法不適合檢測低于0.1 m/s 的極低速碰撞. 后續(xù)研究可綜合利用多種方法,實現(xiàn)優(yōu)缺點互補、進一步提高碰撞檢測的適應性和準確性.