multiple point cloud sources for elevation_mapping
I'm using the elevation_mapping package and can make it work with either lidar or stereo camera. I want to try using both of them, but when setting up the elevation_mapping node, you can only specify one point_cloud_topic and one sensor_frame_id.
The only solution I can think of right now is to transform point cloud B into the frame of point cloud A and merge them before they get sent to elevation_mapping.
Has anyone else tried to do this before? Is there a better solution I haven't thought of? Any suggestions?
What you are thinking is logical way to do it. I am not sure if there is any package that could do it for you. But this should be straight forward.
Merging might not be necessary: as long as all observations are relative to the same origin (ie: TF frame).
But it depends on whether
elevation_mapping
can work with this. I would expect it can, but I'm not sure as I haven't used it myself.That's a good point about merging, and it saves some work. Also, I'm worried about merging if the clouds are captured at slightly different times--that would complicate the transformation problem.
Why? That's what TF is for.
Perhaps, but it's another layer to think about. Right now I'm stuck because my lidar has a z-up frame, and my stereo point cloud has a z-forward frame. So transforming one point cloud into the other's frame isn't enough. My attempts at figuring out this extra transform have all failed so far :(
is the transform between the lidar and the stereo camera known? If so, TF should be able to take that into account, should it not?
As to the different times: TF linearly interpolates between known frame poses, so if you ask for a point between two poses, it'll interpolate and use the result.
The lidar to camera transform is known, but the point clouds lie in different planes within their own frames. I'm busy with another project right now but I'll get back to that one soon. I might try the different poses part later.
I don't get why that would be a problem. As long as the transforms between the frames/origins of the planes is known, transforming points (and clouds of them) from one to the other should be possible.