1 / 30

Course Presentation

Course Presentation. Outline 1. Introduction 2. The Bayes Filter 3. Non Parametric Filters 4. Gausian Filters 5. EKF Map Based Localization 6. EKF Feature-based SLAM 7. EKF Pose-based SLAM 8. Advanced SLAM Concepts. 1 Introduction. What is Probabilistic Robotics?

moriah
Download Presentation

Course Presentation

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Course Presentation Outline 1. Introduction 2. The Bayes Filter 3. Non Parametric Filters 4. Gausian Filters 5. EKF Map Based Localization 6. EKF Feature-based SLAM 7. EKF Pose-based SLAM 8. Advanced SLAM Concepts

  2. 1 Introduction • What is Probabilistic Robotics? • ‘Robotics is the science of perceiving and manipulating the physical world through computer controlled mechanical devices.’ • ‘Probabilistic robotics is a relatively new approach to robotics that pays tribute to the uncertainty in robot perception and action.’ • Sebastian Thrun

  3. Where are the amphoras? Where am I? Robot Localization 1 Introduction ProbabilisticRoboticscourse Localization Mapping

  4. Step: k+2 Step: k+1 The Uncertainty grows without bound. The vehicle gets lost Y X {B} 1 Introduction • Localization: Estimate the position, orientation and velocity of a vehicle • Localization through Dead Reckoning: Step: k

  5. 1 Introduction • LocalizationthroughDead-Reckoning: The robot position drifts

  6. 1 Introduction • The Mapping Problem • A conventional method for map building is incremental mapping. • Position Reference given by Dead Reckoning  Map distorsion • Bad maps  Poor localization [Ribas 08]

  7. 1 Introduction • The Mapping Problem • A conventional method for map building is incremental mapping. • Position Reference given by Dead ReckoningMap distorsion • Bad mapsPoor localization [Ribas 08]

  8. 1 Introduction This is an old problem… Ancient Europe. The Catalan Atlas of 1376.

  9. 1 Introduction This is an old problem…

  10. SLAM:Simultaneous Localization And Mapping LocalizationAlgorithms Mapping Algorithms 1 Introduction Map Robot Pose Environment

  11. Step: k+1 Step: k+1 Internal Sensors External Sensors PREDICTION MEASUREMENT Y DATA ASSOCIATION UPDATE X {B} 1 Introduction > Localization Through SLAM: Step: k

  12. 1 Introduction > Localization Through SLAM: [Ribas 08]

  13. 1.1 Problem Statement “Using sensory information to locate the robot in its environment is the most fundamental problem to providing a mobile robot with autonomous capabilities.” [Cox ’91] • Given • Map of the environment. • Sequence of sensor measurements. • Wanted • Estimate of the robot’s position. • Problem classes • Position tracking (initial pose known) • Global localization (initial pose unknown) • Kidnapped robot problem (recovery)

  14. Y X 1.2 Problem Statement • Pose: • 2D: E(x,y,θ)T • 3D: E(x, y, z,ϕ,θ,φ)T • Environment • Static: only robot pose changes • Dynamic: the robot as well as the pose of other entities change • Localization: • Pasive: Localization module only observes • Active: Robot is guided in a way that minimizes the localization error. x {E} o {G} y y z n {E} x y x Z

  15. DeadReckoning Dead Reckoning: x {E} y z y • [xkykθk] functiongetOdometry() • ΔNL=ReadEncoder(LEFT); • ΔNR=ReadEncoder(RIGHT); • dl = 2 * π * R * ((ΔNL)/ζ) ; • dr= 2 * π* R * ((ΔNR)/ζ) ; • d =(dr+dl)/2; • Δθk=(dr-dl)/w; • θk= θk-1+ Δθk; • xk= xk-1+ (d * cos(θk)); • yk= yk-1+ (d * sin(θk)); • Return [xkykθk] x {B} z

  16. Odometry of the differential drive • [xkykθk] functiongetOdometry() • ΔNL=ReadEncoder(LEFT); • ΔNR=ReadEncoder(RIGHT); • dl = 2 * π * R * ((ΔNL)/ζ) ; • dr= 2 * π* R * ((ΔNR)/ζ) ; • d =(dr+dl)/2; • Δθk=(dr-dl)/w; • θk= θk-1+ Δθk; • xk= xk-1+ (d * cos(θk)); • yk= yk-1+ (d * sin(θk)); • Return [xkykθk] ζ: pulseseach Wheel turn R: Wheel radious

  17. y {E} x x z {B} y 6 DOF Dead Reckoning From Velocity • How can the robot position be defined? • For an 6DOF Mobile Robot (AUV or UAV) Homogeneous Matrix

  18. y {E} x Final configuration 6 DOF Dead Reckoning From Velocity • How can the robot position be defined? • For an 6DOF Mobile Robot (AUV or UAV) Homogeneous Matrix y x y z z x z Position + Roll, Pitch, Yaw attitude X=(x,y,z,ϕ,θ,ψ)

  19. y {E} x z Final configuration 6 DOF Dead Reckoning From Velocity • How can the robot position be defined? • For an 6DOF Mobile Robot (AUV or UAV) Homogeneous Matrix y x z x y z Yaw-Rot(z,ψ) x Position + Roll, Pitch, Yaw attitude y z X=(x,y,z,ϕ,θ,ψ)

  20. y {E} x Final configuration 6 DOF Dead Reckoning From Velocity • How can the robot position be defined? • For an 6DOF Mobile Robot (AUV or UAV) Homogeneous Matrix y x x z z y Yaw-Rot(z,ψ) x z Position + Roll, Pitch, Yaw attitude y z Pitch-Rot(y,θ) X=(x,y,z,ϕ,θ,ψ) x y z

  21. y {E} x x z y Final configuration 6 DOF Dead Reckoning From Velocity • How can the robot position be defined? • For an 6DOF Mobile Robot (AUV or UAV) Homogeneous Matrix y x z Yaw-Rot(z,ψ) x z Position + Roll, Pitch, Yaw attitude y z Pitch-Rot(y,θ) X=(x,y,z,ϕ,θ,ψ) x y z Roll-Rot(x,Φ) x y z

  22. 6 DOF Dead Reckoning From Velocity • How can the robot position be defined? • UUV Position & attitude Er=(x, y, z,ϕ, θ, ψ)T • Homogeneous Matrix

  23. Body-fixed u p v w q Y0 X0 r Z0 ro 6 DOF Dead Reckoning From Velocity Position and Euler angles x y Z ϕ Θ ψ • Kinematics Model of an Underwater Robot • Remember Forces and moments X Y Z K M N Lin. and ang. Vel. u (surge) v (sway) w (heave) p (roll) q (pitch) r (yaw) DOF 1 2 3 4 5 6 {B} ηrelative to inertial frame υ,τrelative to fixed-body frame {E} X Y Earth-fixed Z

  24. 6 DOF Dead Reckoning From Velocity . • Kinematics Model of an Underwater Robot • Relationship between EηandGυ • Linear Velocity • Angular Velocity y {E} x x z Yaw-Rot(z,ψ) {1} x y z Pitch-Rot(y,θ) x {2} y z Roll-Rot(x,Φ) x y {B} z

  25. 6 DOF Dead Reckoning From Velocity . • Kinematics Model of an Underwater Robot • Relationship between Eη andGυ

  26. . Eη 6 DOF Dead Reckoning From Velocity Kinematics Simulation • Kinematics Model of an Underwater Robot x {E} Kinematics y z y x {B} z . Kinematics Inverse Kinematics Bv Bv Eη Direct Kinematics Inverse Kinematics

  27. 1.3 Localization Example Example I: Mobile Robot Localization in a Hallway • One dimensional hallway • Indistinguishable doors • Position of doors is known (Map) • Initial position unknown • Initial heading is known • Goal: Find out where the robot is

  28. Same probability of being in any x The Robot senses a door The belief over the position is updated The Robot Moves The belief over the position is updated The Robot senses a door The belief over the position is updated The Robot Moves The belief over the position is updated 1.3 Localization Example • Markov Localization

  29. 1.3 Localization Example Robot belief of being at state xt-1 ut State Transition probability 2 4 6 ut ut=6 m, xt-1=5 m ut=4 m, xt-1=5 m ut=2 m, xt-1=5 m xt-1 5 7 9 11 2 4 6 ut=6 m, xt-1=3 m ut ut=4 m, xt-1=3 m ut=2 m, xt-1=3 m xt-1 3 5 7 9

  30. Prior Belief. Prediction of state xt. Measurement probability Robot belief of being at state xt 1.3 Localization Example Robot belief of being at state xt-1 ut State Transition probability 2 ut=2 m, xt-1=5 m 5 7

More Related