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