Laser Scan Matching - Robot Localization in MATLAB

  • Context: MATLAB 
  • Thread starter Thread starter schabbir
  • Start date Start date
  • Tags Tags
    Laser
Click For Summary
SUMMARY

This discussion focuses on robot localization using laser scan matching in MATLAB. The user has recorded 1228 laser scans, extracting extreme points characterized by their angle (phi) and range (r). They seek methods to compute the likelihood of a new scan against their database of scans. The initial approach using Euclidean distance proved ineffective, prompting suggestions for alternative techniques such as the Iterative Closest Point (ICP) algorithm and geometric shape matching for improved accuracy.

PREREQUISITES
  • Familiarity with MATLAB programming
  • Understanding of laser scan data and extreme point extraction
  • Knowledge of point cloud matching techniques
  • Experience with the Iterative Closest Point (ICP) algorithm
NEXT STEPS
  • Research the implementation of the Iterative Closest Point (ICP) algorithm in MATLAB
  • Explore geometric shape matching techniques for improved scan comparison
  • Learn about advanced point cloud processing libraries in MATLAB
  • Investigate methods for enhancing laser scan data accuracy and reliability
USEFUL FOR

Robotics engineers, MATLAB developers, and researchers focused on improving robot localization and laser scan matching techniques.

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
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 20 ·
Replies
20
Views
3K
  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 14 ·
Replies
14
Views
4K
  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 12 ·
Replies
12
Views
4K
  • · Replies 23 ·
Replies
23
Views
4K