5.3 融合機器人感測資訊之定位
5.3.2 Particle Filter 實現於單一機器人定位
主要分為四個階段:
粒子產生階段:
在機器人初始位置附近,以隨機亂數方式任意產生新的粒子,每一個粒子都 是機器人可能的位置,粒子的大小表示對這個機器人位置的權重,即機器人在這 個位置的機率,如圖 5-17 所示。
預測階段:
每一個粒子會根據機器人運動模型( 5-16)預測下一刻的位置,如圖 5-18 所
61
示。Vmax為機器人最快速度,經過量測最快速度為 0.0425m/s,由於地板的打滑 等外力因素,機器人並不一定是以最大速度行走,加入 w(t)為速度雜訊,表示機 器人受到外力因素所導致的速度變化,同樣在角度方面,也會受到外在影響使角 度產生變化,在此機器人的角度由電子羅盤提供,並且加入 v(t)為角度量測雜訊。
x
y = 1 0 0 1 x
y + V′ cosθ′ sinθ′
( 5-16) V′ = Vmax − w(t) ( 5-17)
θ′ = θ + v(t) ( 5-18)
圖 5-17、粒子產生階段 圖 5-18、預測階段
其中雜訊的散布將影響每一個粒子的分佈狀況,以 Matlab 建立一模擬環境,以 50 個粒子散佈於(1,1),機器人最快速度為 0.0425 公尺,從(1,1)出發逆時鐘繞行 一個 2 公尺*2 公尺的方形,並且以兩組不同雜訊參數做模擬如表 5-1 所示,說 明雜訊的散布的影響,如表 5-1 所示。
表 5-1、雜訊參數 第一組 w(t)為一平均分佈於 0 到最快速度之 0.01 倍的
雜訊
v(t)為一平均分布於 正負 10 度雜訊 第二組 w(t)為一平均分佈於 0 到最快速度之 0.1 倍的
雜訊
v(t)為一平均分布於 正負 20 度雜訊
62
63 會接收到新的感測資訊,感測資訊為透過無線訊號強度為基礎之 Trilateration 計 算出來之位置。在假設透過無線訊號強度為基礎之 Trilateration 所得到位置沒有 誤差的狀況下,機器人位置之預測位置與 Trilateration 越接近者,表示機器人在 該點的可能性就越高,如圖 5-21 所示,因此以機器人位置與 Trilateration 之距離
64
其中
distance 表示機器人位置與 Trilateration 之距離。
圖 5-21、對環境資訊感測 圖 5-22、對環境資訊權重
重要取樣:
由於實際無線 Trilateration 所得到的位置資訊會有誤差,必頇加入物理限制作為 內部判斷的依據:
1. 機器人移動的最快速度:
因為定位具有連續性,考量到機器人最快移動速度之情況,可以將距離誤差 過大之無線 Trilateration 資訊捨棄,因為機器人不可能瞬間移動距離誤差過 大的地方,另外考量到會有打滑、或是外力干擾因素,機器人不一定是以最
Measurement likelihood
65
圖 5-23、速度權重 2. 機器人旋轉時的變化角度率:
因為機器人本身有電子羅盤可以得知目前角度資訊,也可以知道上一刻與這 一刻的角度差距,如果無線 Trilateration 所得到的位置與電子羅盤的位置角 度誤差太大,也會將無線 Trilateration 資訊濾除,因此可以得到對角度誤差 權重表示,權重表示方式如( 5-23)所示,曲線如圖 5-24 所示。
θp = ∠(Pk, Pk−1) ( 5-21)
∆θ= ∥ θk′ − θk−1′ ∥ ( 5-22)
1
∥ ∆θ − θp ∥ ( 5-23)
其中
Pk:表示無線 Trilateration 所計算之位置
θp:表示無線 Trilateration 所計算之目前位置與上一刻位置之角度差
∆θ:表示電子羅盤目前角度與上一刻角度位置角度差
0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04 0
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
Speed
Transmission Probability
66
圖 5-24、角度權重
3. 機器人目前的狀態:從機器人目前狀態是其中一項重要的參考指標。這邊要 特別提出來的是天線對無線訊號強度造成的影響,由於機器人的移動與旋轉 會造成天線方向的改變,天線方向的改變會影響到訊號強度的變化,導致無 線 Trilateration 產生誤差,但是藉由機器人本身目前的控制命令狀態(前進、
後退、旋轉)可以對天線所造成的影響做補償,減低天線對無線 Trilateration 所產生的誤差影響,補償的量為將機器人目前的座標反算為訊號強度,並且 與 ZigBee 所得到的訊號強度相減,即為所需要補償的量,如( 5-24)所示。
RSSI ′ = RSSI − bias ( 5-24) 其中
RSSI:表示未經過補償之無線訊號強度 Bias:表示需要補償的量
RSSI ′:表示經過補償之無線訊號強度
主要分為停止、前進或後退與旋轉,以下分別說明之:
1. 若是機器人目前是處於停止的狀態,無線 Trilateration 資訊應該是 會保持在一定的誤差範圍,如果無線定位的誤差變大,或是位置突 然改變,則表示可能有遮蔽物或干擾產生,可以將錯誤資訊濾除,
0 10 20 30 40 50 60 70 80 90
0 5 10 15 20 25
Angle
Transmission Probability
67 生變化,導致無線 Trilateration 所得到的位置誤差有可能變大,可 以將錯誤資訊濾除,並且對天線誤差做補償
68
E xk z1:k :系統狀態的期望值
重新取樣階段:
為了防止所有粒子收斂在同一點,在重新取樣階段,會根據權重的大小重新產生 新的粒子並且加入雜訊,以保持其他的可能性,如圖 5-25 所示。
圖 5-25、重新取樣階段