• 沒有找到結果。

融合里程計與 RSSI 之機器人自我定位設計

第三章 機器人自我定位系統設計

3.2 融合里程計與 RSSI 之機器人自我定位設計

CC2431 定位引擎是基於 RSSI 來進行定位,由於 RSSI 容易受到環境影響,

造成定位結果隨機跳動,呈現一個有限範圍的定位誤差。但其定位結果是相對於 世界座標之數值,沒有累積誤差的問題,所以本論文結合兩種定位系統之優點來 設計一套新的定位系統,當機器人移動距離不長時,其里程計累積誤差還在可容 忍範圍內,讓機器人的定位系統由里程計主導,而當機器人移動距離過長時,其 里程計累積誤差已經過大,而 CC2431 定位引擎的定位誤差仍為有限範圍內,且 具有絕對座標之優點,所以讓機器人的定位系統由 CC2431 定位引擎主導,來修 正機器人的自身位置。如此,結合這兩種誤差性質不同的定位系統,互相彌補彼

迷失自身的位置,順利找到召喚者。

因為 RSSI 會受到環境影響,導致估測物的位置會隨機跳動,難以建立物理 模型。而機器人的定位系統何時由里程計或是 CC2431 定位引擎來主導,也是難 以確定,如果單獨只依靠其中一種定位系統時,可能會因為一個錯誤的資訊,而 導致機器人定位錯誤。所以對於這種不明確的資料處理上,本論文採用模糊邏輯 控制來解決。

模糊邏輯控制是一種模仿人類思考、處理所有不明確的物理模型之數學控 制。與傳統控制不同的是,模糊邏輯控制並非單純將邏輯二分化,而是可以依靠 人類的直覺或是操作者的經驗,將原本的只有 0 或 1 的邏輯判斷,依照人類的主 觀判斷,給予 0 到 1 之間的數字來表示資料的歸屬度( Membership ),然後透過 模糊集合理論將人類的經驗與直覺表達成語言規則( IF…THEN… ),讓電腦來執 行這些模糊規則。簡言之,模糊邏輯控制具有下列特點:

1. 用語言規則來描述系統變數間的關係。

2. 不需要知道控制對象的數學模型。

3. 模糊邏輯控制對於參數的變化具有很強的適應性。

基於以上特點,本論文採用模糊邏輯控制來設計機器人定位系統,讓里程計與 CC2431 定位引擎進行融合。

在 CC2431 定位引擎方面,雖然具有可信度的絕對座標與有限範圍定位誤 差,但是對於不穩定的定位結果,會導致機器人的定位誤差變大,所以必須將 CC2431 定位引擎的穩定度列入考慮。當連續相鄰的兩個時間內,所估測出來的 定位結果相差太多,就表示在這個時刻 CC2431 定位引擎的穩定度不是很好,那 麼 CC2431 定位引擎的權重應該變小;相反的,當連續相鄰的兩個時間內,所估 測出來的定位結果很接近,就表示在這個時刻 CC2431 定位引擎的穩定度不錯,

那麼 CC2431 定位引擎的權重應該變大。現今之 CC2431 定位引擎為每 1 秒讀取 一次定位結果。

在里程計方面,雖然在短距離內擁有不錯的定位準確性,但是卻有累積誤差

的問題,會導致機器人移動過遠後,機器人的定位誤差變大,所以必須將機器人 移動距離列入考慮。當機器人開始移動時,此時里程計累積的誤差還不大,里程 計的權重應該變大;相反的,當機器人移動距離過長時,里程計累積的誤差變大,

里程計的權重應該變小。根據實驗發現,現今的里程計在機器人移動到 6 公尺左 右時,里程計的累積誤差會開始變大。

所以本論文所設計的機器人自我定位系統如圖 3-2 所示,輸入為 CC2431 定 位引擎的穩定度 DRz和機器人移動距離 DRo,輸出為機器人的世界座標位置(XR, YR)。當機器人移動距離超過 6 公尺時,CC2431 定位引擎會開始介入修正機器人

圖 3-2 機器人自我定位系統流程圖

的世界座標位置。然後每隔 2 公尺修正一次,這是為了防止 CC2431 定位引擎過 多的修正而導致機器人的世界座標位置也變成隨機跳動,進而喪失了里程計定位 穩定之優點。之後隨著機器人移動距離的增加,里程計的權重變小,機器人自我 定位會漸漸地由 CC2431 定位引擎來主導,把里程計累積誤差的影響給降低,直 到機器人移動距離超過 30 公尺後,里程計累積誤差之影響已經被修正的差不 多,再將機器人的定位系統重新交給里程計主導,重新循環以上流程。