Robotics StackExchange | Archived questions

How to use ira_laser_tools package to merge laser datas

I want to merge two different types laser data, and the two laser I used is :


  1. rplidar_a2(plug in my computer by usb serial );

  2. sick_tim561(communicate by Ethercat);


and I launch the laserscanmultimerger node, the configuration of my launch file is as follows:

<launch>
     <node pkg="ira_laser_tools" name="laserscan_multi_merger" type="laserscan_multi_merger" output="screen">
       <param name="destination_frame" value="base_link" />
       <param name="cloud_destination_topic" value="/merged_cloud" />
       <param name="scan_destination_topic"  value="/scan_multi" />
       <param name="laserscan_topics" value="/scan2 /scan" />
    </node>
</launch>

The "/scan2" topic is published by the rplidar-a2 sensor,and "/scan " topic is published by the sick laser.By the way the sick laser is mount in front of my robot, and the ranges of this sensor is 270 degrees, rplidar-a2 is mount on the right of my robot,and it's scan area is 360 degrees.
The frameid of rplidar-a2 is "**lasersl",and sicktim561's frameid is ''laser" .I also publish static tf transforms from "lasersl->baselink" and "laser->base_link**".


Above is the descriptions of my merge process, at the beginning the error is:

[ERROR] [1508481764.405939825]: Lookup would require extrapolation at time 1508481764.325456918, but only time 1508481764.422122593 is in the buffer, when looking up transform from frame [laser_sl] to frame [base_link]          
[ERROR] [1508481764.418808129]:Lookup would require extrapolation at time 1508481764.366851540, but only time 1508481764.440297316 is in the buffer, when looking up transform from frame [laser] to frame [base_link]

And then I find a solution to solve the error problem under the instruction of: (http://answers.ros.org/question/225183/ira_laser_tools-merger-doesnt-subscribe-to-topics-from-laser-in-gazebo/?answer=229203#post-id-229203)

But it also have problem, the obstacles of robot's back is not show on the topic of /scan_multi,but I don't know how to solve this problem. I really want to fuse two laser data as soon as possible.If anyone can help me, I really thanks to him/her.

Asked by dong_ym on 2017-10-20 02:04:57 UTC

Comments

Answers

Hi Dong_ym, I think that the reason why you cannot see in the /scan_multi the obstacles of the back is because you are using the default configuration of the ira_laser_tool. By default, the ira_laser_toolpackage does not produce the /scan_multi from -PI to +PI, but some other weird values.

The solution, is to use the rqt_reconfigure tool to set the angle_min and angle_max parameters to -PI and +PI respectively. To do that, open the tool with the command:

rosrun rqt_reconfigure rqt_reconfigure

You should see something like in the picture attached. Then, just change the angle values. I recommend you change that while watching the scan in rviz so you will see clearly how the scan changes based on your values.

I have created, too, a video showing how I did that for a Turtlebot with two lasers. Find the video here.

Hope it helps.

image description

Asked by R. Tellez on 2017-10-23 02:35:51 UTC

Comments

Yes, it's truly the problem of the default parameters. I have realize such problem two days before, but I really say thanks to your detail guidance. By the way, how to use your rds(robot development studio) tool, I think it is really cool.Do you have some introduction of this tool ? Thanks!

Asked by dong_ym on 2017-10-24 19:53:04 UTC

Not available at present, but we have many videos showing its use for the resolution of ROS questions like yours. Just visit this Youtube playlist

Asked by R. Tellez on 2017-11-02 04:53:46 UTC