ATmega16與PC機的移動機器人定位系統(tǒng)研究
引言
移動機器人定位系統(tǒng)的可靠性決定機器人工作的可靠度。目前,機器人定位系統(tǒng)的通信多使用串口通信的方式。串口通信速度較慢,通信正確率波動較大,且易受干擾。所以定位系統(tǒng)以CAN總線作為橋梁,使AVR與PC機能快速通信,有機結合,功能互補。AVR單片機ATmega16做底層數據采集有它簡單性與廉價性的特點。ATmega16與PC連為一體的系統(tǒng)設計又使系統(tǒng)有較好的兼容性,基于PC平臺的機器人其他程序可以較好地融合進來,通用性較好。定位系統(tǒng)所用定位航跡算法是用光纖陀螺儀感應機器人角度變化,被動光電碼盤計算機器人坐標位置;超聲波傳感器在有標記位置消除定位誤差,起輔助定位作用。
1 傳感器數據傳輸系統(tǒng)設計 光纖陀螺儀、被動光電碼盤和超聲波傳感器輸出數據由ATmega16的I/O口PA1讀入,如圖1所示。
圖1 基于ATmega16的數據采集節(jié)點
數據經ATmega16處理后通過CANL及CANH[12]接口將數據傳送給PC節(jié)點,如圖2所示。
圖2 CAN總線與PC機數據接口
2 定位算法
2.1 航跡推算
設機器人形體中心當前位置為點p0(x0,y0,θ0),在Δt時間內移動到點p1(x1,y1,θ1);θ1是機器人從x0到x1的角度增量,是陀螺儀在Δt內測量得到的;Δt時間內被動碼盤計量的位移為L;機器人轉彎半徑設為R,O為轉彎中心。圖3(a)中,機器人走直線,這種情況比較簡單。
圖3 基于碼盤+陀螺儀的定位算法
其坐標變換如下[3]:
圖3(b)中,機器人走曲線的情況,其航跡推算如下:
2.2 超聲波輔助定位算法
超聲波傳感器放置在機器人的前端,如圖4所示。CAN總線的數據傳輸方式使添加超聲波傳感器數據采集節(jié)點方便可行,不需要改變其他數據采集點的程序。
相關推薦
-
-
guokaibo666 | 2011-12-12
-
jackwang | 2006-09-17
-
-
jackwang | 2006-09-17
-
-
-
-
guokaibo666 | 2011-12-12
-
-
評論