張佑春,游志宇,任遠林,仲濟艷
(1.安徽工商職業(yè)學(xué)院應(yīng)用工程學(xué)院,安徽合肥231131;2.西南民族大學(xué)電氣信息工程學(xué)院,四川成都610041)
球形機器人是驅(qū)動系統(tǒng)位于球殼內(nèi)部,通過內(nèi)驅(qū)動方式實現(xiàn)球體運動機器人。與傳統(tǒng)機械輪式機器人相比,具備了更出眾的運動能力和適應(yīng)復(fù)雜地形能力。這類機器人具有良好的動靜平衡性,可以行駛在沙塵、潮濕、腐蝕性的惡劣環(huán)境中。球形機器人是機器人研究領(lǐng)域的熱點,但是基礎(chǔ)理論不夠完善,技術(shù)層面更處在起步階段。于濤等[1]設(shè)計的球形機器人利用角度動力守恒定律和陀螺儀驅(qū)動模式,完成了機器人移動控制功能。曾鵬[2]等利用了無線通信和雙驅(qū)動電機控制,完成了三種不同結(jié)構(gòu)機器人(BHQ-1、BHQ-2和BHQ-3)的設(shè)計。王曉云[3]利用視覺與IMU融合方法,對機器人姿態(tài)進行了修正,有效提高了精度。上述機器人成本較高,實用性有待進一步提升。
為了解決上述問題,設(shè)計了視覺式物體自主識別球形移動機器人系統(tǒng)。該系統(tǒng)通過機械結(jié)構(gòu)設(shè)計、控制電路設(shè)計和攝像頭圖像識別技術(shù),完成了機器人自主平衡移動和物體自主識別等功能設(shè)計。該機器人具備遠程控制、成本低、功耗小和實用性強等優(yōu)點,具備一定的實用價值。
視覺式物體識別球形移動機器人系統(tǒng)硬件結(jié)構(gòu)主要包括了主控制器、陀螺儀角度采集、藍牙通信、圖像采集、電機驅(qū)動和電源等[4]。
(1)主控制器STM32F103模塊:它主要完成了多傳感器數(shù)據(jù)分析、融合和控制指令上傳與下發(fā)等功能。
(2)圖像采集傳感器模塊:該模塊采用了柯達公司的BPI-D1攝像頭,支持1080P高清視頻采集。它通過wifi直接將圖像數(shù)據(jù)傳輸至上位機,通過算法處理之后將分析結(jié)果傳輸至STM32F103,從而實現(xiàn)實時物體識別監(jiān)測。
(3)動力驅(qū)動模塊:它采用了中芯國際的TB6612控制芯片,驅(qū)動電流大小為1.2A,機器人驅(qū)動控制采用了4種模式靈活電驅(qū)切換。
(4)角度采集陀螺儀模塊:采用了I2C通信接口和STM32F103集成DMA功能,直接將機器人運動傾角數(shù)據(jù)快速傳輸至RAM中存儲。球形移動機器人系統(tǒng)硬件結(jié)構(gòu)設(shè)計如圖1所示。
圖1 球形移動機器人系統(tǒng)硬件結(jié)構(gòu)
機器人機械構(gòu)造主要包括了三層結(jié)構(gòu)[5]:系統(tǒng)控制第一層,主要包括了主控芯片、各類傳感器和無線傳輸模塊等;電機驅(qū)動第二層,通過2對軸連接直流電機,完成機器人的驅(qū)動支撐;充電線圈第三層,當(dāng)系統(tǒng)無電能支持時,利用電磁感應(yīng)技術(shù)將機器人直接安裝充電底座上實現(xiàn)快速充電。機器人的運動原理如下:設(shè)球形機器人的初始重心為Q,驅(qū)動輪位置節(jié)點為M,機器人質(zhì)量值為m,Q與M之間的夾角角度值和距離值分別為θ和L,轉(zhuǎn)動慣量值為J。機器人內(nèi)部受力情況如圖2所示。
圖2 機器人內(nèi)部受力圖示
為了保持機器人在移動過程中重心平衡,平衡外力控制值設(shè)為F,機器人合外力力矩J等于傾角加速度α與轉(zhuǎn)動慣量L的乘積,θ為機器人運動的傾角夾角。機器人定軸移動方程式[6]如式(1)所示。
(1)
由于θ夾角值很小,設(shè)置sinθ≈θ,cosθ≈1定軸移動方程式近似如式(2)所示。
(2)
通過傅里葉變換,可得傳遞函數(shù)如式(3)所示。
(3)
為了機器人移動過程能夠完成自平衡狀態(tài),需要將機器人的夾角角度值θ一直保持在期望值θ0附近。機器人系統(tǒng)采用了PID算法,將系統(tǒng)加入比例控制、積分控制和微分控制,通過陀螺儀MPU6050完成機器人姿態(tài)檢測,并將姿態(tài)角速度和角加速度通過卡爾曼濾波處理得到傾角估優(yōu)值[7]。然后,將期望傾角與最優(yōu)值進行姿態(tài)PID實時控制。最終,通過電機驅(qū)動,完成機器人自平衡運動狀態(tài)實時控制閉環(huán)系統(tǒng)設(shè)計。機器人自平衡狀態(tài)PID控制流程如圖3所示。
陀螺儀實時采集夾角值為θ1,θ2,…,θk,當(dāng)前與期望值θ0的偏差值Ek如式(4)所示。
Ek=θk-θ0
(4)
夾角角度值與目標(biāo)期望值歷史偏差為E1,E2,…,Ek,相鄰兩次差值Dk如式(5)所示[8]。
Dk=Ek-Ek-1
(5)
設(shè)比例系數(shù)為Kp,微分系數(shù)為Kd,由式(4)和式(5)可得PID姿態(tài)控制差分方程Q如式(6)所示。
Q=KpEk+KdDk
(6)
電機驅(qū)動死區(qū)設(shè)置為Sq,PWM輸出上限設(shè)為Qmax,電機驅(qū)動PWM最終輸出值Q如式(7)所示[9]。
(7)
機器人系統(tǒng)上電后,通過主控制器STM32F103完成陀螺儀MPU6050、藍牙通信、電機和BDI-P的系統(tǒng)初始化功能。MPU6050采集到夾角角度數(shù)據(jù)(角速度與角加速度)后,通過卡爾曼濾波處理和PID姿態(tài)控制完成機器人自平衡和圖像采集與處理,同時通過藍牙通信與控制指令解析,完成機器人執(zhí)行相應(yīng)指令動作[10]。機器人系統(tǒng)軟件總體流程設(shè)計如圖4所示。STM32F103主控制器通過控制指令實現(xiàn)機器人移動功能的電機驅(qū)動,將陀螺儀實時采集的角速度和角加速度數(shù)據(jù)進行PID姿態(tài)自平衡計算,藍牙負(fù)責(zé)指令無線通信互傳,BDI-PI攝像頭通過wifi模塊將數(shù)據(jù)傳至上位機,上位機完成物體圖像識別算法處理后通過藍牙發(fā)送至STM32F103主控制器[11-12]。機器人自平衡控制流程如圖5所示。
圖4 機器人系統(tǒng)軟件總體流程設(shè)計
圖5 機器人自平衡控制流程
對機器人測試系統(tǒng)完成上電與自主尋物運動指令后,機器人執(zhí)行相應(yīng)的前進后退、左旋右旋和左轉(zhuǎn)右轉(zhuǎn)等動作。當(dāng)機器人自主運動一段時間后,機器人系統(tǒng)平衡傾角動態(tài)變化信息記錄如圖6所示,其中縱坐標(biāo)為機器人傾角,橫坐標(biāo)為運動時間。
圖6 機器人系統(tǒng)平衡傾角動態(tài)變化信息
通過藍牙信息傳輸記錄了機器人系統(tǒng)執(zhí)行運動控制指令的自平衡測試偏離角測試數(shù)據(jù)如表1所示。
經(jīng)過表1計算可知,球形機器人自平衡平均時間約為4.02s,平均最大偏離角度約為3.96°。為了進一步驗證機器人系統(tǒng)抗干擾能力,進行了外力擾動測試。機器人自主恢復(fù)平衡的傾角變化信息如圖7所示,其中縱坐標(biāo)為機器人傾角,橫坐標(biāo)為運動時間。
表1 機器人運動自平衡最大偏離角
圖7 施加擾動又恢復(fù)平衡角度信息
系統(tǒng)施加多次擾動后,機器人自主恢復(fù)平衡時間以及最大偏離角的實驗測試記錄情況如表2所示。
由表2計算可知,系統(tǒng)受干擾的自平衡平均時間約為2.13s,平均最大偏角約為2.88°,系統(tǒng)受擾后的自平衡時間控制在3s以內(nèi),滿足球型機器人設(shè)計要求。
視覺式物體自主識別球形移動機器人系統(tǒng)通過陀螺儀傾角數(shù)據(jù)采集、BPI-D1高清圖像采集、無線傳輸wifi與藍牙,完成了系統(tǒng)運動精確控制與自主物體識別等功能。該系統(tǒng)通過PID姿態(tài)保持和卡爾曼濾波算法處理,保證了機器人系統(tǒng)在受擾情況下自主平衡功能實現(xiàn)。經(jīng)過系統(tǒng)測試,系統(tǒng)運動中的最大傾角和自主平衡恢復(fù)時間均滿足球形機器人的設(shè)計要求,同時具備較強的魯棒性和抗干擾能力,具備較強的推廣與應(yīng)用價值。