新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ATmega16與PC機(jī)的移動(dòng)機(jī)器人定位系統(tǒng)研究

ATmega16與PC機(jī)的移動(dòng)機(jī)器人定位系統(tǒng)研究

作者: 時(shí)間:2013-11-12 來源:網(wǎng)絡(luò) 收藏

引言  

的可靠性決定機(jī)器人工作的可靠度。目前,機(jī)器人的通信多使用串口通信的方式。串口通信速度較慢,通信正確率波動(dòng)較大,且易受干擾。所以以CAN總線作為橋梁,使AVR與能快速通信,有機(jī)結(jié)合,功能互補(bǔ)。AVR單片機(jī)做底層數(shù)據(jù)采集有它簡單性與廉價(jià)性的特點(diǎn)。與PC連為一體的系統(tǒng)設(shè)計(jì)又使系統(tǒng)有較好的兼容性,基于PC平臺(tái)的機(jī)器人其他程序可以較好地融合進(jìn)來,通用性較好。定位系統(tǒng)所用定位航跡算法是用光纖陀螺儀感應(yīng)機(jī)器人角度變化,被動(dòng)光電碼盤計(jì)算機(jī)器人坐標(biāo)位置;超聲波傳感器在有標(biāo)記位置消除定位誤差,起輔助定位作用。

1 傳感器數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)  光纖陀螺儀、被動(dòng)光電碼盤和超聲波傳感器輸出數(shù)據(jù)由的I/O口PA1讀入,如圖1所示。

ATmega16與PC機(jī)的移動(dòng)機(jī)器人定位系統(tǒng)研究

圖1 基于ATmega16的數(shù)據(jù)采集節(jié)點(diǎn)

數(shù)據(jù)經(jīng)ATmega16處理后通過CANL及CANH[12]接口將數(shù)據(jù)傳送給PC節(jié)點(diǎn),如圖2所示。

ATmega16與PC機(jī)的移動(dòng)機(jī)器人定位系統(tǒng)研究

2 CAN總線與PC機(jī)數(shù)據(jù)接口
2 定位算法
2.1 航跡推算
  設(shè)機(jī)器人形體中心當(dāng)前位置為點(diǎn)p0(x0,y0,θ0),在Δt時(shí)間內(nèi)移動(dòng)到點(diǎn)p1(x1,y1,θ1);θ1是機(jī)器人從x0x1的角度增量,是陀螺儀在Δt內(nèi)測量得到的;Δt時(shí)間內(nèi)被動(dòng)碼盤計(jì)量的位移為L;機(jī)器人轉(zhuǎn)彎半徑設(shè)為R,O為轉(zhuǎn)彎中心。圖3(a)中,機(jī)器人走直線,這種情況比較簡單。

ATmega16與PC機(jī)的移動(dòng)機(jī)器人定位系統(tǒng)研究

圖3 基于碼盤+陀螺儀的定位算法  

其坐標(biāo)變換如下[3]:

ATmega16與PC機(jī)的移動(dòng)機(jī)器人定位系統(tǒng)研究

圖3(b)中,機(jī)器人走曲線的情況,其航跡推算如下:

ATmega16與PC機(jī)的移動(dòng)機(jī)器人定位系統(tǒng)研究

2.2 超聲波輔助定位算法  

超聲波傳感器放置在機(jī)器人的前端,如圖4所示。CAN總線的數(shù)據(jù)傳輸方式使添加超聲波傳感器數(shù)據(jù)采集節(jié)點(diǎn)方便可行,不需要改變其他數(shù)據(jù)采集點(diǎn)的程序。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉