行動機器人的定位及SLAM導論 Source Authors Speaker Advisor Date : Simultaneous Localization and Mapping tutorial , Probabilistic Robotics , etc. : HUGH DURRANT-WHYTE 、TIM BAILEY , MIT.Press , etc. :余俊瑩 :洪國寶 老師 :100.06.13 1 OUTLINE 2 一、 行動機器人定位的問題是在於已知的環境地圖中估測機 器人的姿態(Robot’s state) 包含機器人的位置及方向 Localization is the most fundamental problem to providing a mobile robot with autonomous capabilities. 機器人導航(Path planning)是使機器人完成自主任務的必 要條件. 3 一、 行動機器人定位是困難的,主要原因: 1.使用單一感測器是不足的,必須整合多種感測器的資訊. 2.GPS的使用是局限的,以地圖為基礎技術(Map-based)是必須. 3.使用單一時間點的觀測是不足的,循序的估測(Sequential)是必須. 4.為了處理真實環境中種種不確定因素,使用機率型(Probabilistic) 演算法是必須. 4 OUTLINE 5 Local Localization or Position Tracking:機器人的初始狀態 是已知的,估測是有界限的(Bounded). Global Localization:假設機器人所處的環境是已知的,然 而缺乏機器人初始狀態,估測是無界限的(Unbounded). Kidnapped Robot Problem:考慮機器人狀態隨時是未知的, A mobile robot must recover from localization failure. 靜態環境與動態環境 被動定位與主動定位 單一機器人定位與多機器人定位 6 OUTLINE 7 解決觀測與地圖的不一致性(Inconsistence) 8 OUTLINE 9 描述真實世界的『不確定性(Uncertainty)』如控制器的 誤差、感測器的誤差及環境的變異性…等. 環境感知的能力是行動型機器人完成自主任務的重要根基 使用Motion Model and Observation Model 的機率方式, 描述機器人運動與環境感測器的不確定性,進而保留其 他可能性的彈性. 10 Motion Model 利用機率方式描述機器人行動的不正確性 藉由機器人的運動,預測(Prediction)其狀態 1.里程計(Odometer) 利用車輪轉動量以計算機器人的位移量 2.GPS 11 Measurement Model 利用機率方式描述環境感測器的資料不正確性 藉由感測器量測之環境資訊,修正(Correction)其預測之狀態 1.數位相機(Camera) :bear-only 2.聲納感測器(Sonar) 3.雷射測距儀(LRF) 12 Map loop-closure: A robot returns to a previously mapped region after a long excursion. Loop detection and Global Tuning 13 14 15 小結 機器人自主移動研發主要核心技術包含兩大層面: Scene Understanding and Localization 當環境資訊是未知的或環境中的參考點不可用時,最常 使用SLAM(Simultaneous Localization And Mapping) -透過Sensors進行環境感知,藉由機器人接收sequential外部資訊使用 Probabilistic達到同步自行定位及環境地圖建置. 16 OUTLINE 17 五、SLAM 機器人定位與建地圖是一體兩面的問題:如果機器人沒 有事先獲的環境資訊的地圖,在未知環境中建地圖要仰 賴可靠機器人的位置估測;然而欲得到機器人在環境中 的位置又必須要有正確的環境地圖 SLAM seems like a chicken and egg problem — but we can make progress if we assume the robot is the only thing that moves SLAM(Simultaneous Localization And Mapping) SLAM also called concurrent mapping and localisation(CML) Main assumption: the world is static EKF-SLAM (EKF filter)or Fast SLAM 18 五、SLAM-PRELIMINARIES In SLAM, both the trajectory of the platform and the location of all landmarks are estimated online At a time instant k , the following quantities are defined: 19 五、SLAM- The following a control Uk and observation Zk , is computed using Bayes theorem. This computation requires that a state transition model and an observation model are defined describing the effect of the control input and observation respectively. 20 五、SLAMThe observation model describes the probability of making an observation zk when the vehicle location and landmark locations are known The observations are conditionally independent given the map and the current vehicle state. The motion model for the vehicle can be described in terms of a probability distribution on state transitions in the form The state transition is assumed to be a Markov process in which the next state Xk depends only on the immediately preceding state Xk-1 and the applied control Uk and is independent of both the observations and the map. 21 五、SLAMThe SLAM algorithm is now implemented in a standard two-step recursive (sequential) prediction (time-update) correction (measurement-update) Motion model observation model 22 五、SLAM- This assumes that the location of the vehicle Xk is known (or at least deterministic) at all times, subject to knowledge of initial location. A map m is then constructed by fusing observations from different locations. This assumes that the landmark locations are known with certainty, and the objective is to compute an estimate of vehicle location with respect to these landmarks. 23 五、SLAM 利用MonoSLAM並結合EKF(Enhance Kalman Filter) 或PF(Particle Filter),整合sensors進行機器人移動的 預測及修正程序. 24 OUTLINE 25 論文主要架構: Camera Camera calibration calibration Feature Feature match?? match?? 1.Apperant-based 2.Upward-looking camera 3.Infrared LEDs 4.LRF 5.Kinect 內在參數及外在參數求得: Motion model’s contorl 內在參數:描述攝影機座標與影像座標的轉換 Odometer 或者控制樂高的伺服馬達 外在參數:描述世界座標與攝影機座標的轉換 SLAM SLAM 1.Shortest path 2.A* 3.Fuccy PathPath planning planning 26 機器人定位與建地圖是一體兩面的問題:如果機器人沒 有事先獲的環境資訊的地圖,在未知環境中建地圖要仰 賴可靠機器人的位置估測;然而欲得到機器人在環境中 的位置又必須要有正確的環境地圖 SLAM seems like a chicken and egg problem — but we can make progress if we assume the robot is the only thing that moves SLAM(Simultaneous Localization And Mapping) SLAM also called concurrent mapping and localisation(CML) Main assumption: the world is static EKF-SLAM (EKF filter)or Fast SLAM 27 Kalman 濾波器有兩類應用:一類是濾波 (filtering),另一類是預測 (prediction)。特別後者被廣泛用在需要預測+修正 (prediction + correction) 的場合. 28 估計房間目前溫度Xt : 根據經驗判斷房間的溫定為恆定,所以Xt = Xt-1,假定Xt = Xt-1 = 23度 White Gaussian noise = 5度(Xt-1 covariance = 3 , prediction covariance = 4) (Step 1 and Step2, state and covariance prediction) 從溫度計上得到Xt = 25 covariance = 4 Kg(Kalman gain) = 0.78 (Step 4,Kalman gain correct) Kg^2 = 5^2/(5^2+4^2) 估計房間目前溫度Xt = 23 + 0.78*(25-23) = 24.56度(Step 3,state update) Covariance of Xt = ((1-kg)*5^2)^0.5 = 2.35 (Step 5, covariance update) Kalman濾波器是一個「optimal recursive data processing algorithm(最佳 化遞迴歸數據處理演算法)」 29 卡門濾波器(Kalman Filter或KF)以高斯分佈描述資料的分佈, 是參 數式的演算法,而延伸卡門濾波器(Extended Kalman Filter或EKF)是 非線性的(Nonlinear)卡門濾波器,允許非線性的狀態轉換. 首先透過motion model 估測robot的 new location ,並透過Observation model估測觀測到的landmark ,然後計算實際觀測與估測間的誤差, 結合系統covariance計算Kg,再對前面估測的location of robot進行校正 (更新),最後將new landmark 加入feature map 30 31 32 33 34 35 36 Observation model Time update Observation update Particle filter Kalman filter 37 因為是用不正確性的Landmark 更新 pose of Robot 與用pose of Robot 更新Landmark 所以機器人姿態與地標物之間的相關性無法獨立傳播 38 39 Q&A Thanks for your attention 40 OUTLINE 41