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

Using multiple LaserScan

asked 2012-07-02 23:29:49 -0500

daddy88 gravatar image

updated 2014-01-28 17:12:53 -0500

ngrennan gravatar image

I use two different laser scan on my Pioneer robot. The first is a Sick LMS100, the second a Sick TiM300. How can I integrate their scan data in a single ROS node?

In my launch file I call the two laser drivers, but in the main scan data overlap: in a cycle, I obtain the first laser scan data, in another cycle I obtain the second laser scan data and so on...


edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted

answered 2012-07-03 01:29:49 -0500

Lorenz gravatar image

updated 2012-07-03 01:30:02 -0500

I would say it completely depends on your system configuration. Normally, it should not be a problem when both lasers publish their data on the same topic since the LaserScan message contains a header with a frame_id and a time stamp. Of course, this requires a valid TF tree and the laser drivers to be configured to use a different frame id for each scanner. Amcl, for instance, supports several lasers on one topic.

By using topic remapping, you can configure your laser scanners to publish on different topics. Have a look at this question/answer for more information on that.

Finally, if you don't want to use the LaserScan message but a point cloud, you can use the laser_assembler node as @weiin suggests in his answer. However, this solution won't work for amcl or any other node that requires a LaserScan message.

On our robot, we use two Hokuyo lasers for amcl. Both laser drivers publish on separate topics and in the amcl node, we relay both topics to amcl's input topic using topic_tools' relay. That way, we can access the laser scans separately or, if needed, on one single topic.

edit flag offensive delete link more

answered 2012-07-02 23:39:55 -0500

weiin gravatar image

Laser pipeline is what you need, in particular, the assembler.

edit flag offensive delete link more

answered 2016-03-26 16:34:51 -0500

updated 2016-03-26 16:35:33 -0500

We have created a special laser_tools node for this issue, have a look here

edit flag offensive delete link more

Question Tools



Asked: 2012-07-02 23:29:49 -0500

Seen: 5,323 times

Last updated: Mar 26 '16