1 / 39

L10. Laser Scanners

L10. Laser Scanners. EECS 598-2: Algorithms for Robotics. Administrative. PS2 is due today PS3 posted later tonight. Last Time. Topological Mapping Key ideas Data Association Nearest Neighbor Joint Compatibility RANSAC. Today. Finish up Data Association Laser scanners

beth
Download Presentation

L10. Laser Scanners

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. L10. Laser Scanners EECS 598-2: Algorithms for Robotics

  2. Administrative • PS2 is due today • PS3 posted later tonight.

  3. Last Time • Topological Mapping • Key ideas • Data Association • Nearest Neighbor • Joint Compatibility • RANSAC

  4. Today • Finish up Data Association • Laser scanners • Principles of operation, noise characterization • Feature Extraction • Contours • Lines • Split and Fit • Agglomerative Line Fitting • Matching Features

  5. Data Association: NN • Simplest data association scheme: • Nearest neighbor. • We have probabilistic estimates of where our landmarks are • When we get an observation, which landmark does it match “best”? • E.g., use Mahalanobis distance Observation Mahl=1.2 Mahl = 4.2 Landmark 1 Landmark 2

  6. Computing Joint Compatibility • Hypothetical data association • observed three landmarks: • (Nice linear observation model this time) • What is the Mahalanobis distance of the observation with respect to the noisy observation of the RHS? • What is the mean and covariance of the RHS?

  7. RANSAC: Preview • RANdomSAmple Consensus: • Randomly generate models • Test the model. • Pick the best model. • Alternative approach to NN, JCBB • (Typically) non-probabilistic • Can be applied to many problems, not just data association: • Outlier rejection • Line fitting

  8. RANSAC • Idea: If we knew the rigid body transformation that aligned us with the global coordinate frame, NN would work well. • Let’s focus our attention on computing the RBT! • Method: • Randomly pick two landmark pairs, compute the rigid-body transformation that they imply. • Project all observations using that transformation • How many observations have good NN matches to landmarks? • Our “Consensus” Score • Keep the best RBT. (Optional: Refit the RBT based on the consensus set.)

  9. RANSAC • How many random trials do we need? • We have to guess “right” twice in order to get a correct RBT. • Suppose probability of guessing right is p. • Probability of guessing right twice in a row is p2. • If we have 1/p2 trials, we expect to find the right answer about once. • Use K/p2 trials to “make sure we aren’t unlucky”.

  10. RANSAC example

  11. RANSAC • Even with small values of ‘p’, we don’t need that many iterations… • a few thousand, maybe. • In some cases, we can exhaustively try all possible combinations. (“exhaustive RANSAC”?)

  12. RANSAC: Discussion • Complexity? • What about higher dimensions/more complex models? • Upsides: • Works well in low-noise/high-ambiguity situations • Allows us to compute a good hypothesis • Very fast in low dimensions • Useful in many contexts: a great general-purpose tool • Easy to incorporate negative information • Downsides: • Not very rigorous • Parameters to tune by hand • What is “close enough” to increase consensus score?

  13. Graph Methods • Most of value of Joint Compatibility can be captured by considering only pairwise compatibility. • Consistency graph • Nodes in the graph are hypotheses (observation i corresponds to landmark j) • Edges represent pairwise consistency • No edge means the two hypotheses are not simultaneously compatible.

  14. Graph Methods: CCDA • Combined Constraint Data Association (CCDA): • Boolean edges (e.g., thresholded Mahalanobis distances) • Find the largest clique in the graph: these are the correct associations. H2 H1 H3 H4 H5 CCDA: H1, H2, H4

  15. Graph Methods: SCGP • Single Cluster Graph Partitioning (SCGP) • Edges have weights (more expressive) • Finds densely-connected subgraph • Doesn’t have to be a clique • Detects ambiguity (two dense subgraphs possible?) • O(N2) H2 H2 H1 H1 H3 H3 H4 H4 H5 H5 CCDA, SCGP: H1, H2, H4 CCDA: ?? SCGP: H1, H2, H4, H5

  16. SCGP sketch • Indicator vector: • Vector of {0,1} which says which nodes to keep • Quantity to maximize: • Differentiate λ with respect to v, obtain: Sum of all pair-wise consistencies between hypotheses in v • vTAv • λ = • vTv Av = λv Number of hypotheses in v

  17. Laser Scanners • Measure range via time-of-flight • SICK • Industrial safety • 180 samples, 1 degree spacing, 75Hz • Resolution ~1cm, ~0.25 deg. • Interlacing • Max range: “80m”  30m fairly reliable • Intensity • $4500 • Hokuyo • ~520 samples, 0.25deg spacing, 15Hz • $2600 - $5000

  18. Laser Scanners

  19. Laser Scanners

  20. Aligning Scans = Measuring motion • Two important cases: • Incremental motion. Use lidar to augment (or replace!) odometry. • Loop closing. Identify places we’ve been before to over-constrain robot trajectory.

  21. Feature Extraction • Our plan: • Extract features from two scans • Match features • Compute rigid-body transformation • Possible features: • Lines • Corners • Occlusion boundaries/depth discontinuities • Trees (!)

  22. Line Extraction • Given laser scan, produce a set of 2D line segments • Two basic approaches: • Divisive (“Split N Fit”) • Agglomerative • Our plan: • If we know which points belong to a line, how do we fit a line to those points? • How do we determine which points belong together?

  23. Optimal Line Derivation • Assume we know a set of points belong to a line. How do we compute parameters of the line? • How to parameterize the line? • Slope + y intercept? • Endpoints of line • A point on the line + unit vector • R + theta

  24. Optimal Line Derivation • Error for one point • Cost function • Solution found by minimizing pi e pi-q q, a point on the line θ

  25. Optimal Line Derivation • Method: work in terms of moments:

  26. Optimal Line Derivation • Solution: • Because all quantities are written in terms of moments, we can compute this quantity incrementally and without storing all the points!

  27. Line Fitting: Divisive • Init: All points belong to a single line • Split-N-Fit(points) • Fit line to points • if line error < thresh then • return the line • else • Which point fits the worst? • Split the line into two lines at that point • return Split-N-Fit(leftpoints) U Split-N-Fit(rightpoints)

  28. Line Fitting: Divisive

  29. Line Fitting: Divisive • Pros: • Easy to implement • Cons: • Assumes points are in scan order • Doesn’t always generate good answers • Can split points that should belong together • “Split-N-Fit-N-Merge” • Complexity?

  30. Line Fitting: Agglomerative • Agglomerative-Fit(points) • Init: create N-1 lines for each pair of adjacent points • do forever • for each pair of adjacent lines i, i+1 • Compute error for line that merges those two lines • if minimum error > thresh then • return lines • else • merge lines with minimum error

  31. Line Fitting: Agglomerative

  32. Line Fitting: Agglomerative • Pros: • Good quality, matches human expectations • Cons: • Assumes points are in scan order • A little bit tricky to implement quickly (use a min-heap) • Complexity?

  33. Line Fitting: RANSAC • Pros: • Easy • Does not require points to be in scan order • Cons: • Hard to exploit points being in scan order • Not obvious how to extract more than one line

  34. Line Fitting: Hough Transform • Each point is evidence for a set of lines • Vote for each of the possible lines. • Lines with lots of evidence get many votes.

  35. Other Features • Corners • Intersections of nearby (?) lines. • Easy to extract from lines. • Only need ONE corner correspondence to compute RBT. • Trees (Victoria Park) • Depth Discontinuities • Beware of viewpoint effects

  36. Contour Extraction • Divisive/Agglomerative line fittings need points to be grouped together • Consider stair railing • Simple agglomerative process works well!

  37. Aligning scans using features • RANSAC! • Randomly guess enough correspondences to fit a model • Pick the model with the best consensus score. • Can incorporate negative information • Penalize consensus if features are missing.

  38. Next Time • Aligning scans without extracting features

More Related