第六章 實驗結果
6.2 機器人自我定位實驗
6.2.1 機器人直線移動 60 公尺
實驗環境為實驗室外的走廊,如圖 6-3 所示,環境中佈置了 12 個參考點,
每個參考點均放置於高度相同的小圓凳上,彼此相隔 6 公尺交叉擺放,來提供機 器人身上的盲點所需要的定位資訊。機器人位於起始的世界座標(1, 0),所設定 的初始姿態資訊為(0, 0, 90∘),機器人以線速度 22 cm/sec 往正前方(Y 方向)移動 到終點的世界座標(1, 60),其移動距離總共為 60 公尺,過程中,機器人透過融 合自我定位系統之導航控制來修正自身定位,並且同時記錄里程計與自我定位系 統兩種定位資料。
實驗結果如圖 6-4 至圖 6-7 所示,綠色虛線為里程計之定位紀錄,藍色圓圈 為 CC2431 定位引擎之定位紀錄,紅色實線為自我定位系統之定位紀錄,由圖可 以發現,當機器人移動越久,里程計估測 X 軸方向位置的誤差會明顯地越來越 大,而使用自我定位系統可以逐漸地將定位誤差修正回來,保持在一個可接受的 誤差範圍內。實驗數據如表 6-1 所示,當機器人移動 6 公尺時,自我定位系統開 始修正定位誤差,將機器人移動距離 6 公尺與 CC2431 定位引擎之定位穩定度(50, 75)進行資料融合,得到 CC2431 定位引擎的權重值(0, 0),因為機器人移動距離 不長以及定位穩定度不是很高,所以此刻自我定位系統不進行任何修正,然後機 器人每移動 2 公尺後,自我定位系統都會進行定位修正,直到機器人移動 30 公 尺時,自我定位系統會進行最後一次定位修正,將機器人移動距離 30 公尺與 CC2431 定位引擎之定位穩定度(0, 255)進行資料融合,得到 CC2431 定位引擎的
定位機器人的世界座標(150, 3025)進行權重分配,計算修正後的機器人世界座標 (93, 3119),然後重新循環以上流程。最後,當機器人移動完 60 公尺時,本論文 記錄下機器人所停下的世界座標位置,然後與里程計以及自我定位系統所估測的 機器人世界座標相比,來比較定位估測誤差大小,結果如表 6-2 所示,經由三次 相同實驗可發現,使用自我定位系統的平均誤差為 56 公分,比起使用里程計定 位的平均誤差為 1284 公分,可以有效減少機器人自身定位的誤差。
圖 6-3 機器人直線移動 60 公尺之實驗環境
0 1000 2000 3000 4000 5000 6000
-1500 -1000 -500 0 500
Every 0.05 sec
The X axis coordinate (cm)
Estimated value by odometer
Estimated value by the proposed method
圖 6-4 機器人直線移動 60 公尺之 X 軸估測值
0 1000 2000 3000 4000 5000 6000 0
1000 2000 3000 4000 5000 6000
Every 0.05 sec
The Y axis coordinate (cm)
Estimated value by odometer
Estimated value by the proposed method
圖 6-5 機器人直線移動 60 公尺之 Y 軸估測值
0 1000 2000 3000 4000 5000 6000
0 50 100 150 200 250 300 350
Every 0.05 sec
Angle (degree)
圖 6-6 機器人直線移動 60 公尺之朝向角估測值
表 6-1 機器人直線移動 60 公尺之定位實驗數據
Localization Error by Odometer (cm)
Localization Error by Proposed Method (cm) X-axis Y-axis Position X-axis Y-axis Position
1 1506 258 1528 21 35 41
2 1171 74 1173 33 49 59
3 1147 93 1151 51 44 67
Average 1275 142 1284 35 43 56
0 1000 2000 3000 4000 5000 6000 -1500
-1000 -500 0 500 1000
The Y axis coordinate (cm)
The X axis coordinate (cm)
Estimated value by odometer
Estimated value by CC2431 location engine Estimated value by the proposed method ideal value
圖 6-7 機器人直線移動 60 公尺之移動軌跡