The Development of a Relative Point SLAM Algorithm and a Relative Plane SLAM Algorithm.

Slides:



Advertisements
Similar presentations
BRISK (Presented by Josh Gleason)
Advertisements

Probabilistic Robotics
Probabilistic Robotics
(Includes references to Brian Clipp
IR Lab, 16th Oct 2007 Zeyn Saigol
Lab 2 Lab 3 Homework Labs 4-6 Final Project Late No Videos Write up
Simultaneous Localization & Mapping - SLAM
Uncertainty Representation. Gaussian Distribution variance Standard deviation.
Computer Vision Optical Flow
A Versatile Depalletizer of Boxes Based on Range Imagery Dimitrios Katsoulas*, Lothar Bergen*, Lambis Tassakos** *University of Freiburg **Inos Automation-software.
Motion Tracking. Image Processing and Computer Vision: 82 Introduction Finding how objects have moved in an image sequence Movement in space Movement.
Announcements Final Exam May 16 th, 8 am (not my idea). Practice quiz handout 5/8. Review session: think about good times. PS5: For challenge problems,
Autonomous Robot Navigation Panos Trahanias ΗΥ475 Fall 2007.
Robotic Mapping: A Survey Sebastian Thrun, 2002 Presentation by David Black-Schaffer and Kristof Richmond.
1 Greedy Algorithms. 2 2 A short list of categories Algorithm types we will consider include: Simple recursive algorithms Backtracking algorithms Divide.
INTEGRALS Areas and Distances INTEGRALS In this section, we will learn that: We get the same special type of limit in trying to find the area under.
SLAM: Simultaneous Localization and Mapping: Part I Chang Young Kim These slides are based on: Probabilistic Robotics, S. Thrun, W. Burgard, D. Fox, MIT.
Detecting Image Region Duplication Using SIFT Features March 16, ICASSP 2010 Dallas, TX Xunyu Pan and Siwei Lyu Computer Science Department University.
Probabilistic Robotics
City College of New York 1 Dr. John (Jizhong) Xiao Department of Electrical Engineering City College of New York A Taste of Localization.
Copyright © Cengage Learning. All rights reserved. CHAPTER 11 ANALYSIS OF ALGORITHM EFFICIENCY ANALYSIS OF ALGORITHM EFFICIENCY.
SLAM: Simultaneous Localization and Mapping: Part II BY TIM BAILEY AND HUGH DURRANT-WHYTE Presented by Chang Young Kim These slides are based on: Probabilistic.
Improved results for a memory allocation problem Rob van Stee University of Karlsruhe Germany Leah Epstein University of Haifa Israel WADS 2007 WAOA 2007.
ROBOT MAPPING AND EKF SLAM
Dr. Serhat Eren DESCRIPTIVE STATISTICS FOR GROUPED DATA If there were 30 observations of weekly sales then you had all 30 numbers available to you.
3D SLAM for Omni-directional Camera
Demo. Overview Overall the project has two main goals: 1) Develop a method to use sensor data to determine behavior probability. 2) Use the behavior probability.
Simultaneous Localization and Mapping Presented by Lihan He Apr. 21, 2006.
Mapping and Localization with RFID Technology Matthai Philipose, Kenneth P Fishkin, Dieter Fox, Dirk Hahnel, Wolfram Burgard Presenter: Aniket Shah.
Analysis of Algorithms
1 Robot Environment Interaction Environment perception provides information about the environment’s state, and it tends to increase the robot’s knowledge.
Young Ki Baik, Computer Vision Lab.
Stochastic DAG Scheduling using Monte Carlo Approach Heterogeneous Computing Workshop (at IPDPS) 2012 Extended version: Elsevier JPDC (accepted July 2013,
Integrals  In Chapter 2, we used the tangent and velocity problems to introduce the derivative—the central idea in differential calculus.  In much the.
STS track recognition by 3D track-following method Gennady Ososkov, A.Airiyan, A.Lebedev, S.Lebedev, E.Litvinenko Laboratory of Information Technologies.
Chapter 4 Control Charts for Measurements with Subgrouping (for One Variable)
CSC 211 Data Structures Lecture 13
Hyper-heuristics. 2 Outline Hyper-heuristics Hyper-heuristics for strip packing Hyper-heuristics for Stock forecasting Conclusion.
1 Research Question  Can a vision-based mobile robot  with limited computation and memory,  and rapidly varying camera positions,  operate autonomously.
UNIT 5.  The related activities of sorting, searching and merging are central to many computer applications.  Sorting and merging provide us with a.
Range-Only SLAM for Robots Operating Cooperatively with Sensor Networks Authors: Joseph Djugash, Sanjiv Singh, George Kantor and Wei Zhang Reading Assignment.
Outline: Introduction Solvability Manipulator subspace when n<6
A Tutorial on using SIFT Presented by Jimmy Huff (Slightly modified by Josiah Yoder for Winter )
Probabilistic Robotics Introduction.  Robotics is the science of perceiving and manipulating the physical world through computer-controlled devices.
Copyright © Cengage Learning. All rights reserved. The Binomial Probability Distribution and Related Topics 5.
SLAM Tutorial (Part I) Marios Xanthidis.
Fast SLAM Simultaneous Localization And Mapping using Particle Filter A geometric approach (as opposed to discretization approach)‏ Subhrajit Bhattacharya.
MultiModality Registration Using Hilbert-Schmidt Estimators By: Srinivas Peddi Computer Integrated Surgery II April 6 th, 2001.
BITS Pilani Pilani Campus Data Structure and Algorithms Design Dr. Maheswari Karthikeyan Lecture1.
Probabilistic Robotics Introduction. SA-1 2 Introduction  Robotics is the science of perceiving and manipulating the physical world through computer-controlled.
Particle Filter for Robot Localization Vuk Malbasa.
CSCI 631 – Foundations of Computer Vision March 15, 2016 Ashwini Imran Image Stitching.
1 Estimation Chapter Introduction Statistical inference is the process by which we acquire information about populations from samples. There are.
SLAM Techniques -Venkata satya jayanth Vuddagiri 1.
Estimating standard error using bootstrap
Visual homing using PCA-SIFT
Greedy Algorithms.
SIFT Scale-Invariant Feature Transform David Lowe
Paper – Stephen Se, David Lowe, Jim Little
+ SLAM with SIFT Se, Lowe, and Little Presented by Matt Loper
Multidisciplinary Engineering Senior Design Project P06441 See Through Fog Imaging Preliminary Design Review 05/19/06 Project Sponsor: Dr. Rao Team Members:
Simultaneous Localization and Mapping
Distinct Distances in the Plane
From a presentation by Jimmy Huff Modified by Josiah Yoder
Advanced Analysis of Algorithms
SIFT.
Algorithm Course Algorithms Lecture 3 Sorting Algorithm-1
Probabilistic Robotics Bayes Filter Implementations FastSLAM
Presumptions Subgroups (samples) of data are formed.
Presentation transcript:

The Development of a Relative Point SLAM Algorithm and a Relative Plane SLAM Algorithm

I would like to thank my Advisor Dr McLeod and the examining committee –Dr. J Peters –Dr W.K. Fung –Dr. J Baltes –Dr. R. Palmer for reviewing my thesis

Robot map making without accurate location data Given an unknown environment make a map, however: How do you make a map if the location is not known and how do you solve the location if the map is not known. This is referred to as the Simultaneous Localization and Mapping (SLAM) problem. Many different ways to look at this problem, this thesis takes the approach of using 3D landmark information and no odometry estimate.

“Put differently, instead of relying on a single “best guess” as to what might be the case, probabilistic algorithms represent information by probability distributions over a whole space of guesses (EKF or Particle Filters).” “In contrast with traditional programming techniques in robotics such as model-based motion planning techniques or reactive behavior-based approaches… tend to be more robust.” Previous Work

Inspiration Solve SLAM using software engineering techniques (structures and algorithms) by storing and using past and present planar data.

Many Attempts Learned identifying dynamic corner points was harder then filtering the noise. Why use current position?

Relative Plane algorithm Plane 1 Plane Iteration 1I2I3 I4 1 2 I5 1 2 I6 ydiff xdiff ydiff xdiff ydiff xdiff ydiff xdiff ydiff xdiff ydiff Note that the (xdiff,ydiff) is translational invariant but not rotational invariant

To solve the rotational invariant problem, plane 1 must be rotated so its angle is at 0 degrees and plane 2 must be rotated by the same amount. Now (xdiff,ydiff) will always be the same regardless of the robots rotational angle Plane 1 Plane 2 Iteration I6 ydiff xdiff ydiff Rotate both by –90 degrees Plane 1 Plane 2 ydiff xdiff Plane 1 Plane 2 ydiff xdiff Rotate both by –60 degrees

Store planes in groups based on visibility. Calculate relative maps for each group and combine into global map. Solve current position by comparing an iteration’s observations versus the global map.

Plane 1 Plane How to find which keypoints are valid? Use both of the planes top corner points and its known maximum size to create two assumed midpoints. Plane 1 Plane We now have four comparison pairs. For each pair in addition to calculating the average relative location also calculate the standard deviation. At least one of the pairs will has a low standard deviation compared to the others. This pair contains the keypoints. There is a special case where there are two parallel planes that have two valid keypoint pairs. This case is handled elsewhere in the algorithm.

Notice that planes 4 location is completely defined by X2 which is calculated in the interval when planes 3,4,5 are visible together. This means that plane 4’s location is not recalculated when plane 4 is only partially visible. If plane 4’s maximum size is known at this point no further work is required. However as it is likely to grow the only thing that needs to be done is figure out its new maximum size. This can be done with a motion model. X2 Plane 4 Plane 3 Plane 5

Issues Plane segmentation Several architecture issues for future work such as. –Only 2 1/2D –Groups of planes hard linked necessitating use of roll back mechanism… for the plane group reordering which is not implemented that well. However it was realized that the algorithm does two things well, it filters noise and it identifies dynamic features in the same framework. Perhaps this can be applied to point landmark SLAM.

Relative Point algorithm

(x,y,z) iteration Untransformed location Iteration … N (x 1,y 1, z 1, ) 4 (x 2,y 2,z 2 ) (x 3,y 3, y 3 ) (x 4,y 4,y 4 ) (x 5,y 5,y 5 ) (x n,y n,z n ) Point RLTPoint RltPoint 1 RltPoint 3 RltPoint 2 RltPoint 4 RltPoint 5 RltPoint 6 RltPoint 7 RltPoint 8 Time RltPointCharting x y Overlap is set to maximum matching bounds OVLQuadTree Point Matching

RltPoint 1 RltPoint 3 RltPoint 2 RltPoint 4 RltPoint 5 RltPoint 6 RltPoint 7 RltPoint 8 Time RltPointCharting Group Creation Sorted interval list (really two lists, grouped plus ungrouped interval list) RltPoint 4 RltPoint 6 RltPoint 2 RltPoint 8 RltPoint 3 RltPoint 5 RltPoint 1 RltPoint 7 Time RltUngroupedList RltInterval

RltPoint 4 RltPoint 6 RltPoint 2 RltPoint 8 RltPoint 3 RltPoint 5 RltPoint 1 RltPoint 7 Time Sorted interval list 19X4 = 76 RltPoint 4 RltPoint 6 RltPoint 2 RltPoint 8 RltPoint 3 RltPoint 5 RltPoint 1 RltPoint 7 Time Sorted interval list 13X5 = 65

Group creation flags the RLTGroupRef of each RltPoint as grouped for the LSF and ungrouped RLTPoint that required mapping. Multiple levels of grouping (currently 3). First group just to add RltPoint to the map. Second runs the dynamic detection. Third is for accuracy. When a lower level group has no exclusive RltPoint that are not in a higher level group, that group is removed.

RltGroup RltGroupRef RltLSF Map Creation

Global RltPoint matching Occurs when backtracking or closing the loop. Can use current position. Can use RltPoint merging instead at a higher cost but at the benefit of removing the use of current position from the algorithm.

Dynamic point detection Dynamic point detection is performed at group creation time. Since in our case a static basis is not known, every point needs to be compared against every other point to both find the static basis and to group points using this basis. This would normally be O(n 2 ).

Place each RltPoint in a bin Compare every bin to one other bin calculating first the average distance and then the standard deviation over the RltGroup’s interval. Save the standard deviation Sort standard deviation to determine a threshold.02,.03,.06,.4 Look for a large change in size, set threshold to a small amount above the last static standard deviation.02,.03,.06,.4Threshold set at.08 Bin, bins with standard deviation below threshold, maintain list and hash of previous comparisons so they do not occur again cannot be compared to the “1” bin since 5 has already been compared to No more comparisons possible

This chart corresponds the number of comparisons required given a percentage of uncorrelated points and the number of points. As the uncorrelated points approach 90% the standard deviation constant is found to be too high and the algorithm bins all the points into one bin in some cases.

It can be seen that the algorithm is only O(nlogn) when only 10% of the points are not correlated

The algorithm is retested with the heuristic of using a priority queue to decided which bins to use for the comparisons. Bins that have a previous successful match have a higher priority than those that do not. Note that the algorithm now runs at or below O(nlogn) even with 40% of the points uncorrelated

Looking from 40-50% uncorrelated points line, the algorithm only really degrades at about the 47% line.

Relative Algorithm Performance on figure eight

The execution time does not go up as the number of RltPoint increase. Every part of the algorithm is designed to only work on the given observations.

As the point density increases, the computation time becomes polynomial, why?

The polynomial appears to come from the initial point matching which is affected by the efficiency of the quadtree

Accuracy vs 6D no odometry EKF 6D no odometry range bearing EKF is obtained from the mobile robot toolkit. It is tested in the figure eight.

White gaussian noise White noise

The testing is not to rank EKF vs Relative for accuracy purposes. It is to use the EKF as a baseline to verify that the Relative Point algorithm accuracy is reasonable. There are other algorithms FastSLAM and EKF that use submapping in terms of execution speed comparisons.

Performance Summary The Relative Point algorithm is a fast O(n s log(n s )) as long as the data structures are chosen correctly. The Relative Point algorithm is able to identify dynamic points. The Relative Point algorithm accuracy is shown to be comparable to the EKF.

Software Engineering The successful implementation of the Relative Point algorithm took many iterations of possible solutions and using what was learned to improve the approach taken. It is also curious to note that in regards to the Second System Effect, “the Relative Point algorithm seem to be implemented approximately correct…..”

Contribution “In fact, certain probabilistic algorithms are currently the only known working solutions to hard robotic estimation problems… the problem of building accurate maps of very large environments.”