ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

How to identify 3D shapes (Rectangle, Circle and Square) using ROS Laser Scan Data?

asked 2018-05-16 03:40:47 -0500

rosros gravatar image

What is the simplest way to identify objects using ROS laser scan data ranges? I know we can use Hough Transformations but I haven't seen an example on how to use these techniques with Laser Scan Data.

Any help is appreciated..

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2018-05-16 12:57:53 -0500

First I'd say that there isn't a simple way of doing this. Theoretically there are two approaches you could take, Hough transforms or RANSAC. These are very different choices because Hough transforms work on raster images and RANSAC works with point cloud data.

Your easiest approach would be to convert the laser scan data into a CV::Mat image (occupancy map) with empty pixels in black and pixels which contain a laser sample in white. You can then use the OpenCV library included with ROS to detect primitive shapes, cicles or lines using Hough transforms. Once you have got that working you're 99% of the way there.

Detecting squares and rectangles in a higher level task because these are compound shapes not primitives like cicles and lines. They are sets of four lines with several additional constraints between them, where square is a sub-set of rectangle.

Hope this is enough to get you started.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2018-05-16 03:40:47 -0500

Seen: 648 times

Last updated: May 16 '18