multiple pointcloud2 to one single laserscan
Hello there,
I have a robot using 2 3D cámeras (both different) Astra Pro and Pico_flexx, both them get a different pointcloud output but both are pointcloud2, one of those cámeras is watching forward and the other one backwards.
I am trying to get odometry and navigation with those cámeras both since one wouldn't be enough, and for that i was already using laserscanmatcher, in the documentation says it can use pointcloud2 as an input.
AMCL accepts only laserscan for navigation since it was developed for 2d navigation.
So, what i tried first was pointcloudtolaserscan with one camera which i found insufficient for the purpose (that's why 2 cameras).
I need to "merge" those 2 pointclouds into one but what i found at the forums tells that both pointclouds need to have the same number of points (to concat...)
Any idea what to use to either use both clouds for laserscanmatcher, or to achive 2 pointclouds into 1 laserscan?
thank you
Asked by herimakil on 2016-10-05 04:02:13 UTC
Comments
transform both pointclouds to laserscan1 and laserscan2, in a script, subscribe to both laserscans and make another one which is -PI to PI, fill the angle with both laserscans data and infinity for blind zone angle.
Asked by zhibo on 2016-10-05 08:19:51 UTC
could this help with the merging of the laserscans? https://github.com/iralabdisco/ira_laser_tools
Asked by herimakil on 2016-10-06 09:39:59 UTC
Yes, this is a very nice one, the inputs are laserscan msg descrived in the launch file, so you have to convert point_cloud to laser scan first, and i think you can adjust the relative angle by dynamic config, you should be able to output one single laserscan topic
Asked by zhibo on 2016-10-06 11:24:52 UTC
Okay, i tried it and i can't make it work, not to mention that it does a lot of transformations between laser to pointcloud to move it to a frame destination.
From what i've seen here tutorial it transforms
Asked by herimakil on 2016-10-14 03:34:37 UTC
the lasers to pointclouds to use x y z pose to move it to the frame destination since the laser has only x y. In my case i don't need Z because i already transform the lasers from pointclouds and they will all be in the same plane (even if they came from different Z positions).
Asked by herimakil on 2016-10-14 03:38:19 UTC