基于ARM9的嵌入式仿人機器人傳感器系統(tǒng)設計
0 引 言
傳感器技術是仿人機器人研究的關鍵技術之一。仿人機器人之所以能在已知或未知的環(huán)境中完成一定的作業(yè)功能,是因為它能夠通過傳感器感知外部環(huán)境信息和自身狀態(tài),獲得反饋信息,實現(xiàn)系統(tǒng)的閉環(huán)控制。目前在仿人機器人中應用的傳感器種類繁多,例如視覺傳感器、電子羅盤、加速度計和超聲波傳感器等都是仿人機器人中常用的傳感器。
DF-1機器人是我院自主研制的一款仿人機器人。本文首先對DF-1機器人總系統(tǒng)進行了介紹,然后根據(jù)DF-1機器人需要實現(xiàn)的功能,設計DF-1機器人的傳感器系統(tǒng),然后實現(xiàn)傳感器系統(tǒng)的具體工作電路,利用ARM9實現(xiàn)了傳感器系統(tǒng)信息的采集,最后對傳感器系統(tǒng)的效果進行了試驗驗證。
1 DF-1仿人機器人簡介
DF-1機器人模仿人體外形結構,利用舵機結構實現(xiàn)人類關節(jié)的功能,如圖1所示。DF-1身長45 cm,共設有17個自由度,具體分配為:踝關節(jié)2×2=4個自由度,膝關節(jié)2×1=2個自由度,胯關節(jié)2×2=4個自由度,肩關節(jié)2×2=4個自由度,肘關節(jié)2×1=2個自由度,頭部1個自由度。DF-1機器人內(nèi)部采用ARM9微處理器,主要用來完成信息的融合、決策和規(guī)劃等任務。DF-1機器人已經(jīng)能夠實現(xiàn)的功能有步行、做俯臥撐、上樓梯、打太極拳,這些功能的實現(xiàn)是建立在:DF-1機器人具有良好機械結構基礎上的,通過人工調試,設定具體程序完成的。為提高機器人動作的穩(wěn)定性,實現(xiàn)DF-1機器人的智能控制,需要對機器人配置傳感器系統(tǒng),使機器人能夠感知自身狀態(tài)和外界環(huán)境。
2 傳感器系統(tǒng)設計
DF-1機器人的胸腔部位安裝了三個超聲傳感器,分別用來測量機器人正前、左前和右前方向的障礙物。在該傳感器系統(tǒng)中,采用了ARM9微處理器作為信息的采集、數(shù)據(jù)預處理和通信單元。由于超聲波傳感器存在多次反射問題,在超聲波相對應的位置安裝了三個紅外測距傳感器用來解決這一問題。傳感器系統(tǒng)獲取的信息采用定長字節(jié)格式通過RS 232接口傳送給上位機。傳感器系統(tǒng)的基本結構如圖1所示。[!--empirenews.page--]
2.1 加速度計傳感器
判定機器人姿態(tài)的傳感器有陀螺儀和加速度計等傳感器,由于陀螺成本較高,而DF-1機器人在運動變化上較為緩慢,故本文采用了成本較低的加速度計來感知機器人的姿態(tài)。加速度計是物體運動測試中的重要元件,它的輸出與物體的加速度成比例。傳感器系統(tǒng)所采用加速度計的具體型號為AD公司生產(chǎn)的雙軸加速度計ADXL202。ADXL202具有兩種輸出,一種是從XFILT和YFILT引腳輸出模擬信號;另一種是直接從XOUT和YOUT引腳輸出經(jīng)調制后的DCM信號。在具體使用中,選用了加速度計的DCM信號輸出,這樣就可省去使用模擬信號需要引入的A/D轉換環(huán)節(jié),簡化了電路設計難度。
2.2 超聲傳感器
用來測距的傳感器主要有紅外傳感器、超聲波傳感器、激光測距儀等,為了能在測量距離的同時判斷出物體的大致形狀,應設計成多傳感器測距系統(tǒng)。考慮到機器人的安裝空間以及成本問題,主要選用了超聲波傳感器進行距離的測量。
超聲波傳感器主要用來完成機器人到周圍障礙距離信息的測量,超聲波在測距過程中存在多次反射問題,即超聲波遇到障礙物體時,沒有沿著原路返回發(fā)射接收點,而是經(jīng)過多次反射后才返回發(fā)射接收點,這樣測量到的距離信息不再真實,情況嚴重時會“丟失”目標。本文選用DEVANTECH公司生產(chǎn)的SFR05。SFR05的體積小,信號穩(wěn)定,便于在機器人中安裝,而且SFR05的測量距離為1 cm~4 m,在最小測量距離上可認為該傳感器不存在盲區(qū)。
2.3 紅外傳感器
為了彌補超聲傳感器在測距中多次反射的問題,在超聲波相對應的位置安裝了三個紅外測距傳感器。當超聲波傳感器測量的距離遠遠大于同方向上紅外傳感器測量的距離時,可以據(jù)此推斷出超聲波已經(jīng)進行了多次反射,并用紅外傳感器測量的距離信息來取代超聲波傳感器的信息。本文使用的紅外傳感器為SHARP公司生產(chǎn)的GP2D12,可測距離為10~80 cm。GP2D12加上電源就可工作,輸出電壓為0.3~2.8 V。GP2D12傳感器在測量距離時受外界光強度、物體外表反射率及物體顏色的影響較小。
3 軟件實現(xiàn)
傳感器系統(tǒng)數(shù)據(jù)采集與處理單元采用ARM9微處理器,主要完成以下功能:實現(xiàn)對加速度計的控制和加速度的測量,并根據(jù)加速度值,計算機器人的傾角;實現(xiàn)對超聲波傳感器的控制,完成距離信息的計算;實現(xiàn)對紅外傳感器的控制,完成距離信息的獲?。粚Λ@得的傾角、超聲波測距和紅外測距數(shù)據(jù),按照規(guī)定的通信協(xié)議發(fā)送給上位機,程序主流程如圖3所示。
程序首先要初始化,主要包括系統(tǒng)時鐘的選擇、管腳的分配、中斷優(yōu)先級、定時器時鐘和工作方式的選定等。在ARM9內(nèi)部資源中,具有PCA定時器單元和A/D單元,這些方便了對本傳感器系統(tǒng)的數(shù)據(jù)采集。防止超聲波傳感器之間發(fā)生串擾,對超聲波傳感器采用輪流測量的方式。由于超聲波傳感器的工作周期為50 ms,當工作時間少于50 ms時,超聲波傳感器會誤認為下次測量發(fā)送超聲波產(chǎn)生的干擾為本次的回波,造成距離測量上的失真,而紅外傳感器建立電壓的時間只需要5 ms,所以在編程上,利用定時器0產(chǎn)生50 ms延遲,依次對3對超聲波傳感器和紅外傳感器進行數(shù)據(jù)采集。由于加速度傳感器和紅外、超聲傳感器之間是獨立的,而且數(shù)量只有一個,它的采集過程只依賴于PCA捕捉模塊捕捉到的時刻,所以加速度計信息的采集和預處理工作可貫穿于150 ms以內(nèi)。在完成對傳感器系統(tǒng)的信息采集和預處理后,還要將獲取的數(shù)據(jù)發(fā)送給上位機,為上位機的決策提供必要的數(shù)據(jù)。
[!--empirenews.page--]
4 實驗驗證
4.1 加表實驗
由于當機器人傾斜的時候,重力加速度會在加速度兩軸上產(chǎn)生分量,這時加速度值為Ax=gsin α和Ay=gsinβ。在加速度計水平放置的時候,Ax=gsin α,由于條件的限制,很難使加速度計達到絕對水平。在α=0附近,sin α變化幅度大,這樣會影響標定效果,而在a=π/2附近,sin α變化幅度較小。為了得到較好的加速度計標定效果,采用了豎直標定的方法,即將PCB電路板用細線懸掛起來,分別得到g和-g時的值,通過計算就可得到加速度在0g時的值。由于ADXL202的輸出含有高斯白噪聲,應用直接采來的數(shù)據(jù)會有較大的誤差,因而需要對采集來的數(shù)據(jù)進行處理后再加以應用。
通過平均值濾波可降低噪聲的影響,假設Xi為直接采集來的數(shù)據(jù),Yi為平均值濾波后的數(shù)據(jù),Yi=(∑xi)/n,由概率論知識可知,EYi=EXi,DYi=DXi/n。從中可看出平均值濾波的效果與平均點數(shù)n有關,n越大,濾波效果越好??紤]到機器人的運動情況,可取n=15,即噪聲的方差變?yōu)樵瓉淼?/15。圖4是DF-1機器人在運動過程中獲取的傾斜角度值。其中L1表示了機器人的俯仰角度,L2表示了機器人的橫滾角度。
由于DF-1仿人機器人體型較小,運動較為緩慢,在障礙距離測量上,能夠對付2 m以內(nèi)的障礙就可滿足應用要求。在2 m以內(nèi)不同距離上放置平面障礙,利用超聲波和紅外傳感器測量這些距離信息,測得的距離與實際距離如表1所示。
從表中可以看出,超聲波測量距離的誤差在2%以內(nèi),紅外傳感器測量距離的誤差在4%以內(nèi),可以滿足DF-1仿人機器人的應用要求。
5 結語
本文針對DF-1機器人要實現(xiàn)的功能,基于ARM9微處理器設計了傳感器系統(tǒng)。試驗結果證明,本傳感器系統(tǒng)基本可以滿足機器人的功能需求,具有一定的應用價值。具備傳感器系統(tǒng)的DF-1機器人對外界環(huán)境和自身狀態(tài)有了一定的感知能力,為上位機進行動作決策提供可靠的依據(jù),提高了機器人的智能性。