ROBOTICS 01PEEQW Basilio Bona DAUIN Politecnico di Torino
Probabilistic Fundamentals in Robotics Robot Motion
Probabilistic models of mobile robots Robot motion Kinematics Velocity motion model Odometry motion model Robot perception Maps Beam model of laser range finders Correlation-based measurement models Feature-based measurement models Basilio Bona 3
Introduction Basilio Bona 4
Kinematic states yt () orientation Basilio Bona 5 xt () θ() t
Probabilistic kinematics State (pose or location) control In applications, controls are sometimes provided by rover odometry From Wikipedia: Odometry is the use of data from the movement of actuators to estimate change in position over time. Odometry is used by some robots to estimate their position relative to a starting location. The method is sensitive to errors due to the integration of velocity measurements over time to give position estimates. Rapid and accurate data collection, equipment calibration, and processing are required in most cases for odometry to be used effectively. Basilio Bona 6
Example y y x x darker points show higher probabilities of being there the orientation is not shown, but contributes to the uncertainty of the final location Basilio Bona 7
Motion models VELOCITY MODEL: the simplest one, assumes that the control is given as a velocity command to the motors; velocity remain constant in the sampling interval [t-1, t) ACCELERATION MODEL: is slightly more complicated, assuming a constant acceleration motion, i.e., a linearly increasing velocity ODOMETRIC MODEL: assumes the accessibility to odometric information, usually provided by wheel sensors, but often also by other means (i.e., visual odometry) Basilio Bona 8
Motion models Odometric models are usually more accurate than velocity models, but odometry is available only after the motion command has been executed, while velocity commands are available before performing the actual motion Odometric models are good for estimation, while velocity models are better suited for path planning Basilio Bona 9
Velocity motion model Basilio Bona 10
Velocity motion model: noise-free x u t = = ( x y θ) t t t ( v ω) t t t T T y t r t θ t y c θ 90 t x c x t Basilio Bona 11
Velocity motion model: noise-free x t x t 1 vt r = t ω θ t c θ is negative Basilio Bona 12
Exact velocity model Basilio Bona 13
Velocity models Exact Euler Runge- Kutta Basilio Bona 14
Velocity models Exact Euler Runge-Kutta Basilio Bona 15
Odometry errors Basilio Bona 16
Error noise Basilio Bona 17
Velocity model with error noise Basilio Bona 18
Velocity motion model algorithm Basilio Bona 19
Example Basilio Bona 20
Odometry motion model Odometry is obtained integrating sensor reading from wheel encoders, or from other sources (e.g., visual odometry) Odometry provides the information of the relative motion of the robot. Odometry is more accurate than velocity Odometry measurements are available only AFTER a control has been supplied to the robot, then they should be better considered as measurements, but usually the are included as control signals ut For this reason odometry cannot be used for planning and control Basilio Bona 21
Odometry motion model Odometry model considers the motion in the time interval 1. A first rotation 2. A translation 3. A second rotation Each of them is noisy Basilio Bona 22
Odometry model Basilio Bona 23
Example Repeated application of the sensor model for short movements Typical banana-shaped distributions obtained for 2D-projection of 3D posterior Basilio Bona 24
Example Basilio Bona 25
Sampling One can use normal (Gaussian) distributions or triangular distributions for describing uncertainty and for sampling Normal distribution Triangular distribution Basilio Bona 26
How to Sample from Normal or Triangular Distributions? Sampling from a normal distribution Sampling from a triangular distribution Basilio Bona 27
Normally distributed samples Basilio Bona 28
Triangular distributed samples 10 3 samples 10 4 samples 10 5 samples 10 6 samples Basilio Bona 29
Sample odometry motion model Sample normal distribution Basilio Bona 30
Example Start Basilio Bona 31
Motion and maps In many cases we have a map m that represents the environment where the robot moves Occupacy maps distinguish free (traversable) from occupied space: robot pose shall be always in free space A motion model that takes into consideration a map computes Map-based motion model If the map m carries information relevant to pose estimation Basilio Bona 32
Approximation Map-free estimate Consistency on the pose with the map This is the result of checking model consistency at the final pose, instead of verifying it on the entire path to the goal Basilio Bona 33