150 likes | 167 Views
Dive into advanced robotics with probabilistic sensor models, motion equations, and implementation of particle filters for localization. Understand odometry-based and velocity-based motion models with examples and practical applications. Learn about coordinate systems, noise models for odometry, and distributions for probabilistic motion modeling.
E N D
Probabilistic Models of Sensing and Movement • Move to probability models of sensing and movement • Project 2 is about complex behavior using sensing • Sensor interpretation is difficult – simple interpretation in this section • Artifacts [goal-directed motion] and reactive behaviors • Lectures • Probabilistic sensor models • Probabilistic representation of uncertain movement • Particle filter implementation • Project • PF for motion model • Markov localization with PF • Stretch – feature-based localization Slides thanks to Steffen Gutmann CS225B Kurt Konolige
Robot Motion • Robot motion is inherently uncertain. • How can we model this uncertainty? CS225B Kurt Konolige
Probabilistic Motion Models • To implement the Bayes Filter, we need the transition model p(x | x’, u). • The term p(x | x’, u) specifies a posterior probability, that action u carries the robot from x’ to x. • In this section we will specify, how p(x | x’, u) can be modeled based on the motion equations. • We concentrate on wheel-based robots; for legged ones, similar equations hold. CS225B Kurt Konolige
Coordinate Systems • In general the configuration of a robot can be described by six parameters. • Three-dimensional Cartesian coordinates plus three Euler angles pitch, roll, and tilt. • Throughout this section, we consider robots operating on a planar surface. • The state space of such systems is three-dimensional (x,y,). CS225B Kurt Konolige
Typical Motion Models • In practice, one often finds two types of motion models: • Odometry-based • Velocity-based (dead reckoning) • Odometry-based models are used when systems are equipped with encoders that can measure the actual path traveled. • Velocity-based models have to be applied when no encoders are given. • They calculate the new pose based on the velocities and the time elapsed. CS225B Kurt Konolige
Example Wheel Encoders These modules require +5V and GND to power them, and provide a 0 to 5V output. They provide +5V output when they "see" white, and a 0V output when they "see" black. These disks are manufactured out of high quality laminated color plastic to offer a very crisp black to white transition. This enables a wheel encoder sensor to easily see the transitions. CS225B Kurt Konolige Source: http://www.active-robots.com/
Dead Reckoning • Derived from “deduced reckoning.” • Mathematical procedure for determining the present location of a vehicle. • Achieved by calculating the current pose of the vehicle based on its velocities and the time elapsed, over small time intervals CS225B Kurt Konolige
different wheeldiameters ideal case carpet bump Reasons for Motion Errors and many more … CS225B Kurt Konolige
Odometry Model • Robot moves from to . • Odometry information . CS225B Kurt Konolige
The atan2 Function • Extends the inverse tangent and correctly copes with the signs of x and y. CS225B Kurt Konolige
Noise Model for Odometry • The measured motion is given by the true motion corrupted with noise. CS225B Kurt Konolige
s2 s2 2s2 Variances and Deviations • For independent errors, variances add. • If errors are specified using std, the length over which the error occurs must be given: • 6 cm in 1 m => 36 cm2 in 1 m • 3 deg in 360 deg => 9 deg2 in 360 deg • Consider to specify a variance CS225B Kurt Konolige
Typical Distributions for Probabilistic Motion Models Normal distribution Triangular distribution CS225B Kurt Konolige
values of interest (x,x’) odometry values (u) Calculating the Posterior given x, x’, and u • Algorithm motion_model_odometry(x,x’,u) • return p1 · p2 · p3 CS225B Kurt Konolige
Application • Typical banana-shaped distributions obtained for 2d-projection of 3d posterior. p(x|u,x’) x’ x’ u u CS225B Kurt Konolige