lecture4-2010-sensing-models - & % ' CS 547:...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: & % ' CS 547: Sensing and Planning in Robotics Lecture 6: Probabilistic Sensor Models Gaurav S. Sukhatme gaurav@usc.edu robotics.usc.edu/ gaurav Robotic Embedded Systems Laboratory Robotics Research Laboratory University of Southern California Los Angeles, CA 90089-0781 $ & Today What is a perceptual model ? Physics-inspired beam-based models for range nders Scan-based models for range nders ' % $ & % ' Sensor Models: Notation and Assumptions P (ojs) is a perceptual model. Could also be P (ojs m) We will focus on range nders as the primary sensor (laser range nders, sonar, IR etc.) As usual the pose of the robot in the plane is given by s =< x y > Range nder produces a set of distances o = fo1 o2 : : : oK g Assume P (ojs m) = P (ok js m) $ & { { { { ' Beam-based Models Basic idea: Add noise to an expected 'ideal' measurement, to account for typical measurement errors Four kinds of measurement errors Measurement noise Unexpected objects (e.g. objects not in the map) Failures (e.g. max range readings) Random measurements (e.g. crosstalk) % $ & Measurement Noise Intuition: Measurements near the actual value are more likely Model using a Gaussian distribution ' e hit ;(ok ;oexp )2 2 Phit (ok js m) = p2 hit 2 0 ok omax (0 otherwise) =( 0 R omax e p2 hit 2 2 ;(x;oexp )2 hit dx);1 % $ & Unexpected Objects Intuition: Nearer objects are detected with higher probability by a range sensor Model using an exponential distribution Punexp (ok js m) = e; ok 0 ok omax (0 otherwise) = ' R omax 1 0 e; xdx =1 ;1 omax ;e % $ & Failures Intuition: All the probability mass should be at omax Model using a very narrow uniform distribution 1 Pmax (ok js m) = osmall if omax ; osmall ok omax (0 otherwise) ' omax is a small number % $ & Random Measurements Intuition: Unexplained, phantom reading, crosstalk etc. Equally likely at all ranges (upto omax ) Model using a wide uniform distribution 1 Prand (ok js m) = omax if 0 ok omax (0 otherwise) ' % $ & q=1 ' Combining Distributions Simple solution: a linear combination of the four distributions P (ok js m) = zhit Phit (ok js m) + zunexp Punexp (ok js m) + zmax Pmax (ok js m) + zrand Prand (ok js m) Computing the likelihood of a range nder scan Input: o s m Output: P (ojs m) p = zhit Phit (ok js m) + zunexp Punexp (ok js m) + zmax Pmax (ok js m) + zrand Prand (ok js m) q = qp return q for all ok 2 o do compute oexp for ok using s and m % $ & % ' Finding the Values of the Coe cients Use the sensor to measure a set of n range values for a given oexp For a given oexp compute P (ok joexp ) P (ok joexp ) = # ok ; ok ] n (0 ok < omax ) Using least mean square error minimization compute values of zhit zunexp zmax and zrand which minimize the di erence between P (ok joexp ) and P (ok js m) Repeat this for several values of oexp Again use least mean square error minimization to infer zhit zunexp zmax and zrand as functions of oexp $ & Problems with the Beam-based Approach Lack of smoothness ' { environment with many small obstacles { small changes in s (particularly ) lead to large changes in P (ojs m) e.g. Computational complexity % $ & The Scan-based Approach Project sensor reading ok into x y space Use map to compute likelihood function in x y space Intersect sensor reading with likelihood Add other sources of noise ' % $ & Projecting a Scan into the Plane ' + + ok is the sensor scan s = (x y ) is the robot pose xk yk k is the relative o set of the sensor to the robot The measured obstacle coordinates xok yok are xok = x + (xk cos ; yk sin ) + ok cos( yok = y + (xk sin + yk cos ) + ok sin( k) k) % $ & Adding Noise Measurement noise: Gaussian Failures: Narrow uniform distribution at omax Random measurements: Wide uniform distribution ' % $ & % ' The Likelihood Function Input: A grid map of the environment Output: The likelihood of an obstacle being detected at every point in the environment For every point (x y) in the environment compute d - the distance to the closest obstacle The likelihood at point (x y) is given by L(x y) = p2 1 hit e ; 2 d2 2 hit $ & Measurement noise ' Adding Noise { Given the pose of the robot, a sensor reading ok and a { likelihood function L Intersect and normalize the likelihood eld with the sensor ray to obtain Phit (ok js m) Failures: Pmax is obtained as before Random measurements: Prand is obtained as before P (ok js m) = Pmax (ok js m) if omax ; osmall ok P (ok js m) = zPhit (ok js m) + (1 ; z )Prand (ok js m) otherwise % $ & Input: o s m ' The Algorithm Output: P (ojs m) q=1 for all ok 2 o do if omax ; osmall else q = q=osmall ok xok = x + (xk cos ; yk sin ) + ok cos( + k ) yok = y + (xk sin + yk cos ) + ok sin( + k ) d2 = minx0 y0 (xok ; x)2 + (yok ; y)2 j(x0 y0 )occupied] z e; d + 1;z ) q = q( p2 hit hit omax return q 2 2 2 % $ & Advantages Disadvantages ' Advantages and Disadvantages { Smoothness { Pre-computation in 2D { Does not treat dynamic obstacles (people) { Sensor 'see through' walls { Does not account for map uncertainty % $ & Multi-scan Models Use a sensor scan to build a local map mlocal Match mlocal to the map m (i.e. compute the correlation between the two) The more similar mlocal is to the map m, the larger the values of ' P (ojs m) % $ ...
View Full Document

Ask a homework question - tutors are online