基于ARM9的嵌入式仿人機(jī)器人傳感器系統(tǒng)設(shè)計
2.1 加速度計傳感器
判定機(jī)器人姿態(tài)的傳感器有陀螺儀和加速度計等傳感器,由于陀螺成本較高,而DF-1機(jī)器人在運(yùn)動變化上較為緩慢,故本文采用了成本較低的加速度計來感知機(jī)器人的姿態(tài)。加速度計是物體運(yùn)動測試中的重要元件,它的輸出與物體的加速度成比例。傳感器系統(tǒng)所采用加速度計的具體型號為AD公司生產(chǎn)的雙軸加速度計ADXL202。ADXL202具有兩種輸出,一種是從XFILT和YFILT引腳輸出模擬信號;另一種是直接從XOUT和YOUT引腳輸出經(jīng)調(diào)制后的DCM信號。在具體使用中,選用了加速度計的DCM信號輸出,這樣就可省去使用模擬信號需要引入的A/D轉(zhuǎn)換環(huán)節(jié),簡化了電路設(shè)計難度。
2.2 超聲傳感器
用來測距的傳感器主要有紅外傳感器、超聲波傳感器、激光測距儀等,為了能在測量距離的同時判斷出物體的大致形狀,應(yīng)設(shè)計成多傳感器測距系統(tǒng)??紤]到機(jī)器人的安裝空間以及成本問題,主要選用了超聲波傳感器進(jìn)行距離的測量。
超聲波傳感器主要用來完成機(jī)器人到周圍障礙距離信息的測量,超聲波在測距過程中存在多次反射問題,即超聲波遇到障礙物體時,沒有沿著原路返回發(fā)射接收點(diǎn),而是經(jīng)過多次反射后才返回發(fā)射接收點(diǎn),這樣測量到的距離信息不再真實,情況嚴(yán)重時會“丟失”目標(biāo)。本文選用DEVANTECH公司生產(chǎn)的SFR05。SFR05的體積小,信號穩(wěn)定,便于在機(jī)器人中安裝,而且SFR05的測量距離為1 cm~4 m,在最小測量距離上可認(rèn)為該傳感器不存在盲區(qū)。
2.3 紅外傳感器
為了彌補(bǔ)超聲傳感器在測距中多次反射的問題,在超聲波相對應(yīng)的位置安裝了三個紅外測距傳感器。當(dāng)超聲波傳感器測量的距離遠(yuǎn)遠(yuǎn)大于同方向上紅外傳感器測量的距離時,可以據(jù)此推斷出超聲波已經(jīng)進(jìn)行了多次反射,并用紅外傳感器測量的距離信息來取代超聲波傳感器的信息。本文使用的紅外傳感器為SHARP公司生產(chǎn)的GP2D12,可測距離為10~80 cm。GP2D12加上電源就可工作,輸出電壓為0.3~2.8 V。GP2D12傳感器在測量距離時受外界光強(qiáng)度、物體外表反射率及物體顏色的影響較小。本文引用地址:http://www.ex-cimer.com/article/152295.htm
3 軟件實現(xiàn)
傳感器系統(tǒng)數(shù)據(jù)采集與處理單元采用ARM9微處理器,主要完成以下功能:實現(xiàn)對加速度計的控制和加速度的測量,并根據(jù)加速度值,計算機(jī)器人的傾角;實現(xiàn)對超聲波傳感器的控制,完成距離信息的計算;實現(xiàn)對紅外傳感器的控制,完成距離信息的獲??;對獲得的傾角、超聲波測距和紅外測距數(shù)據(jù),按照規(guī)定的通信協(xié)議發(fā)送給上位機(jī),程序主流程如圖3所示。
程序首先要初始化,主要包括系統(tǒng)時鐘的選擇、管腳的分配、中斷優(yōu)先級、定時器時鐘和工作方式的選定等。在ARM9內(nèi)部資源中,具有PCA定時器單元和A/D單元,這些方便了對本傳感器系統(tǒng)的數(shù)據(jù)采集。防止超聲波傳感器之間發(fā)生串?dāng)_,對超聲波傳感器采用輪流測量的方式。由于超聲波傳感器的工作周期為50 ms,當(dāng)工作時間少于50 ms時,超聲波傳感器會誤認(rèn)為下次測量發(fā)送超聲波產(chǎn)生的干擾為本次的回波,造成距離測量上的失真,而紅外傳感器建立電壓的時間只需要5 ms,所以在編程上,利用定時器0產(chǎn)生50 ms延遲,依次對3對超聲波傳感器和紅外傳感器進(jìn)行數(shù)據(jù)采集。由于加速度傳感器和紅外、超聲傳感器之間是獨(dú)立的,而且數(shù)量只有一個,它的采集過程只依賴于PCA捕捉模塊捕捉到的時刻,所以加速度計信息的采集和預(yù)處理工作可貫穿于150 ms以內(nèi)。在完成對傳感器系統(tǒng)的信息采集和預(yù)處理后,還要將獲取的數(shù)據(jù)發(fā)送給上位機(jī),為上位機(jī)的決策提供必要的數(shù)據(jù)。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論