Would you happen to know some good books, tutorials or articles on how to detect objects and their poses, using 2D laser scanners?

My goal is to equip a mobile robot with a laser scanner for object detection in a industrial like environment. I would like to detect legs, some pallets and some trolleys, and measure their poses as well.

My first intuition is extracting lines from the 2D readings. But then I'm somewhat lost in the next steps.


I think you can divide your problem into two subproblems:

1) Partition your 2D scan into segments/clusters which represent single objects. A basic algorithm could be:

  1. Start at first laser reading and create a new cluster
  2. Add next reading (neighbor) to cluster, if the range difference is below a threshold
  3. Else create a new cluster

This approach can be enhanced with a slightly better "adding-condition" (2.) as demonstrated in e.g. http://www.ipb.uni-bonn.de/wp-content/papercite-data/pdf/bogoslavskyi16iros.pdf but applied in 2D.

2) Find labels for those clusters (leg, pallet, trolley etc.) -Classification. For this purpose you need to find features/properties of clusters, e.g. width, depth (max. range difference) or gather data and make use of classification algorithms like SVMs etc.

Especially 2) seems to be vary hard using only a 2D laser scanner. One also could imagine to combine multiple scans and create a map (-> SLAM algorithms) which also contains your obstacles, and subsequently find and classify the objects. For this purpose, ROS ("Robot Operating System") is a good starting point as many algorithms, such as SLAM, e.g. http://wiki.ros.org/gmapping, are already implemented.

| improve this answer | |
  • $\begingroup$ Thank you. Just like I was thinking. I should first segment and then try and classify each cluster. I'll keep looking, and gather examples of 1) segmentation, 2) classification. $\endgroup$ – vmatos Jan 4 '17 at 10:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.