葉忠民
本文介紹了一種可以自動跑位并進(jìn)行數(shù)據(jù)采集的運(yùn)動機(jī)器人,該運(yùn)動機(jī)器人可以根據(jù)輸入的場地信息自動生成定位圖,然后應(yīng)用姿態(tài)檢測模塊和光流傳感器模塊實現(xiàn)機(jī)器人自動跑位到定位圖中指定的位置并完成指定的任務(wù)。為了保障機(jī)器人跑位的靈活性和準(zhǔn)確性,機(jī)器人采用麥克納姆輪,其作用可以保證機(jī)器人可以靈活地向四個方向自由地運(yùn)動。經(jīng)過實驗研究和檢測,該機(jī)器人達(dá)到了研制的要求和目的。
【關(guān)鍵詞】運(yùn)動機(jī)器人 麥克納姆輪 姿態(tài)檢測 光流傳感器 陀螺儀
在需要針對某些大型場地的某些參數(shù)進(jìn)行檢測的環(huán)節(jié),往往需要在大量的指定位置進(jìn)行測量,如果利用人工方式進(jìn)行檢測,工作效率低下,還難以保證檢測數(shù)據(jù)的準(zhǔn)確性,因此考慮采用機(jī)器人自動跑位,自動在這些點(diǎn)位上對某些參數(shù)進(jìn)行檢測。如果結(jié)合數(shù)據(jù)自動處理、上傳,就能夠?qū)崿F(xiàn)全自動的檢測。本文僅針對該機(jī)器人的設(shè)計、制作進(jìn)行闡述。
1 詳細(xì)設(shè)計
1.1 總體方案
該運(yùn)動機(jī)器人的實物圖如圖1和圖2所示。
為了實現(xiàn)機(jī)器人行駛速度和行駛距離的閉環(huán)控制,在四個車輪均安裝了測速碼盤,采用PID控制算法,以實現(xiàn)機(jī)器人的速度閉環(huán)和位移閉環(huán)控制。
PID控制器由比例單元(P)、積分單元(I)和微分單元(D)組成。其輸入e (t)與輸出u (t)的關(guān)系為
u(t)=kp[e(t)+1/TI∫e(t)dt+TD*de(t)/dt]
式中積分的上下限分別是0和t
因此它的傳遞函數(shù)為:G(s)=U(s)/E(s)=kp[1+1/(TI*s)+TD*s]
其中kp為比例系數(shù);TI為積分時間常數(shù);TD為微分時間常數(shù)。
本系統(tǒng)運(yùn)動機(jī)器人的位移和速度閉環(huán)PID控制原理如圖3所示。
圖3中,控制給定值為行駛速度/位移,編碼器測得的速度和位移值作為反饋,經(jīng)過PID計算后得到控制輸入量,控制輸入量作用于控制對象,進(jìn)而使機(jī)器人按照設(shè)定的速度/位移行駛。
1.2 定位導(dǎo)航系統(tǒng)
定位導(dǎo)航系統(tǒng)是運(yùn)動機(jī)器人的“眼睛”,用于機(jī)器人運(yùn)動定位,以達(dá)到是機(jī)器人可以在場內(nèi)自動行駛的目的。本系統(tǒng)中要求定位導(dǎo)航系統(tǒng)能夠:
(1)感知機(jī)器人方位。
(2)檢測機(jī)器人運(yùn)動位移。
為此,本系統(tǒng)中開發(fā)了姿態(tài)檢測模塊和光流傳感器模塊,以實現(xiàn)機(jī)器人的方向和位移監(jiān)測,為下一步進(jìn)行機(jī)器人路徑規(guī)劃提供反饋信息。
1.2.1 姿態(tài)檢測模塊
為了控制運(yùn)動機(jī)器人在移動過程中的行駛方向,需要加入姿態(tài)檢測模塊,以實現(xiàn)運(yùn)動方向的閉環(huán)控制。
慣性測量元件是能夠測量重力方向或姿態(tài)角變化快慢的傳感器,可用于檢測轉(zhuǎn)軸不固定或無固定轉(zhuǎn)軸物體的角位移或角速度。因此,慣性測量元件常用于機(jī)器人系統(tǒng)、船舶、導(dǎo)彈、人造衛(wèi)星、飛機(jī)等的姿態(tài)測量。常見的慣性測量元件包括傾角儀、電子羅盤、加速度計、陀螺儀等。
加速度計用于測量與慣性有關(guān)的加速度,一個典型的例子就是重力加速度,可以由輸出的加速度值測量傾角,包括俯仰角和橫滾角?;镜墓ぷ髟硎羌铀俣扔嬱o止時,加速度計輸出作用于靈敏軸上的重力加速度值,即重力加速度在此方向上的分量。具體關(guān)系如圖4所示。
加速度計輸出與重力加速度的關(guān)系可表示為:
ax=g sinφ
ay=g cosφ
陀螺儀用于檢測剛體轉(zhuǎn)動產(chǎn)生的角速度或角位移的傳感器,即使沒有裝在轉(zhuǎn)動軸上,也能檢測剛體的角速度或角位移。陀螺儀輸出為繞靈敏軸的角速度,對其積分就可以得到姿態(tài)角,可用于測量俯仰角、橫滾角和偏航角。陀螺儀的動態(tài)響應(yīng)好,但是存在漂移和噪聲,導(dǎo)致累積誤差隨著時間的推移而逐漸增大。
為了結(jié)合兩種傳感器的優(yōu)點(diǎn),通過將二者數(shù)據(jù)進(jìn)行卡爾曼濾波,再經(jīng)過四元數(shù)姿態(tài)結(jié)算,就可得到準(zhǔn)確、實時的姿態(tài)角度信息。
(1)姿態(tài)檢測傳感器。姿態(tài)檢測傳感器采用MPU-6000(6050)芯片。MPU-6000(6050)為全球首例整合性6軸運(yùn)動處理組件,相較于多組件方案,免除了組合陀螺儀與加速器時之軸間差的問題,減少了大量的封裝空間。
MPU-60X0 對陀螺儀和加速度計分別用了三個16位的ADC,將其測量的模擬量轉(zhuǎn)化為可輸出的數(shù)字量。為了精確跟蹤快速和慢速的運(yùn)動,傳感器的測量范圍都是用戶可控的,陀螺儀可測范圍為±250,±500,±1000,±2000°/秒(dps),加速度計可測范圍為±2,±4,±8,±16g。一個片上1024字節(jié)的FIFO,有助于降低系統(tǒng)功耗。和所有設(shè)備寄存器之間的通信采用400kHz的I2C接口或1MHz的SPI接口(SPI僅MPU-6000可用)。對于需要高速傳輸?shù)膽?yīng)用,對寄存器的讀取和中斷可用20MHz的SPI。另外,片上還內(nèi)嵌了一個溫度傳感器和在工作環(huán)境下僅有±1%變動的振蕩器。芯片尺寸4×4×0.9mm,采用QFN封裝(無引線方形封裝),可承受最大10000g的沖擊,并有可編程的低通濾波器。
關(guān)于電源,MPU-60X0可支持VDD范圍2.5V±5%,3.0V±5%,或3.3V±5%。另外MPU-6050還有一個VLOGIC引腳,用來為I2C輸出提供邏輯電平。VLOGIC電壓可取1.8±5%或者VDD。
(2)主控制器。主控制芯片選用了STM32F103T8,ARM 32-bit Cortex?-M3 內(nèi)核,它有64KB的閃存存儲器,和20KB的運(yùn)行內(nèi)存。7通道的DMA,7個定時器,通過板子上的8M晶體和STM32內(nèi)部的PLL,控制器可以運(yùn)行在72M的主頻上,對于姿態(tài)解算這種需要大量數(shù)學(xué)運(yùn)行的程序,更快的處理速度可以做更多的解算優(yōu)化。STM32F1系列屬于中低端的32位ARM微控制器,該系列芯片是意法半導(dǎo)體(ST)公司出品,其內(nèi)核是Cortex-M3。該系列芯片按片內(nèi)Flash的大小可分為三大類:小容量(16K和32K)、中容量(64K和128K)、大容量(256K、384K和512K)。芯片集成定時器,CAN,ADC,SPI,I2C,USB,UART,等多種功能。
控制板上的傳感器通過I2C接口與STM32連接,同時傳感器的數(shù)據(jù)中斷引腳與STM32的IO相連。使得傳感器在完成ADC輪換后,STM32在第一時間讀取最新的數(shù)據(jù),快速響應(yīng)姿態(tài)的變化。這樣的連接使得控制器擁有最大的主動權(quán),最快地獲取各傳感器的狀態(tài)和轉(zhuǎn)換結(jié)果。
1.2.2 運(yùn)動位移檢測模塊
機(jī)器人在運(yùn)動過程中,需要是是測量其在水平面的移動距離,以便于控制其移動到設(shè)定光照采樣點(diǎn)上,目前常用的測位移方法有編碼器,激光測距等。編碼器測距對場地平整度、摩擦力要求較高,當(dāng)輪子出現(xiàn)打滑后,測量值將出現(xiàn)誤差。激光測距測量精度高,但是對環(huán)境要求高,需要有反射物,無法測量水平位移。ADNS3080傳感器是一種高性能的光學(xué)鼠標(biāo)測量元件,其可以感知鼠標(biāo)等在水平和豎直方向的移動速度,對速度進(jìn)行積分,即可得到物體在水平和豎直方向的移動距離,即
s=s+v*t.
ADNS3080傳感器的另一大優(yōu)點(diǎn)是無需接觸地面,即可實現(xiàn)距離測量,因此使用該傳感器既可以測量籃球場、網(wǎng)球場等地面平整的場地,也可以測量足球場等地表有附著物的場地,滿足了多種場地的測量需求。
將傳感器安裝在運(yùn)動機(jī)器人底盤底部,傳感器鏡頭對準(zhǔn)地面,水平前后移動機(jī)器人,測得機(jī)器人在水平方向的運(yùn)動位移如圖6所示。
2 試驗運(yùn)行結(jié)果
如圖7所示,在計算機(jī)中輸入被檢測的籃球場基本信息后,計算機(jī)便可以自動在軟件中形成該場地需要的檢測點(diǎn)位圖(計算機(jī)屏幕左下角即為該點(diǎn)位圖)。生成點(diǎn)位圖后,便可以通過無線控制方式指揮機(jī)器人跑到指定的點(diǎn)位。
圖8所示,試驗人員按照計算機(jī)自動生成的點(diǎn)位圖,在實際場地上黏貼紙張進(jìn)行了標(biāo)注,啟動計算機(jī)的運(yùn)行程序后,機(jī)器人自動跑到了標(biāo)注的位置,由于跑位準(zhǔn)確性要求不高,故并未進(jìn)行定位準(zhǔn)確性測量。
3 結(jié)束語
該機(jī)器人可以應(yīng)用于定位精度不高,但需要在很多點(diǎn)位進(jìn)行數(shù)據(jù)自動采集的場合,其優(yōu)點(diǎn)是自動化程度高、跑位靈活快速、應(yīng)用方便。
參考文獻(xiàn)
[1]金奇,鄧志杰.PID控制原理及參數(shù)整定方法[J].重慶工學(xué)院學(xué)報(自然科學(xué)版),2008(05):91-94.
[2]侯文生,戴加滿,鄭小林,楊琴,吳小鷹,許蓉.基于加速度傳感器的前臂運(yùn)動姿態(tài)檢測[J].傳感器與微系統(tǒng),2009(01):106-108.
[3]梁閣亭,惠俊軍,李玉平.陀螺儀的發(fā)展及應(yīng)用[J].飛航導(dǎo)彈,2006(04):38-40.
[4]王鐵流,李宗方,陳東升.基于STM32的USB數(shù)據(jù)采集模塊的設(shè)計與實現(xiàn)[J].測控技術(shù),2009(08):37-40.
[5]孔維榮.基于運(yùn)動模糊圖像的位移檢測技術(shù)研究[D].江西理工大學(xué),2015.
作者單位
1.浙江省質(zhì)量檢測科學(xué)研究院 浙江省杭州市 310013
2.浙江方圓檢測集團(tuán)股份有限公司 浙江省杭州市 310013