Laser Scan Matching - Robot Localization in MATLAB

  • Context: MATLAB 
  • Thread starter Thread starter schabbir
  • Start date Start date
  • Tags Tags
    Laser
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
1 reply · 3K views
schabbir
Messages
2
Reaction score
0
Hi,

I am writing a program in MATLAB for robot localization based on scan matching and have the following problem:

I have recorded 1228 laser scans at different positions and extracted extreme points from these scans. So that gives me 1228 sets of extreme points (every set might have different number of extreme points depends upon the scan, approx. it gives around 20 extreme points per scan. One extreme point have two coordinates, 1) phi: the laser beam angle and 2) r: the range reading of the beam).

Now at run time laser scanner returns me a new scan and I want to compare the extreme points of this scan to my list of 1228 scans and compute the likelihood between new scan and the individual scans in my database.

Can anyone suggest me a method to compute this likelihood. I tried to compute Euclidean distance between the scans, but it does not return good results.

Thanks in advance for any help.
 
Physics news on Phys.org
Generally you match point clouds with euclidean distance and an Iterative Closest Point algorithm.
Search for point cloud matching and ICP eg http://www.mathworks.com/matlabcentral/fileexchange/12627


If you have more information about the object, ie. if it has known edges or corners or if your points are on a known grid you can do better with a, convert to geometric shpae and then match shape algorithm