multiple point cloud sources for elevation_mapping

asked 2018-10-25 11:18:39 -0500

mogumbo gravatar image

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?

edit retag flag offensive close merge delete

Comments

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.

Choco93 gravatar image Choco93  ( 2018-10-26 01:44:46 -0500 )edit

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.

gvdhoorn gravatar image gvdhoorn  ( 2018-10-26 04:49:09 -0500 )edit

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.

mogumbo gravatar image mogumbo  ( 2018-10-26 12:10:47 -0500 )edit

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.

gvdhoorn gravatar image gvdhoorn  ( 2018-10-27 05:17:31 -0500 )edit

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 :(

mogumbo gravatar image mogumbo  ( 2018-10-31 12:32:01 -0500 )edit

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.

gvdhoorn gravatar image gvdhoorn  ( 2018-10-31 12:38:21 -0500 )edit

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.

mogumbo gravatar image mogumbo  ( 2018-10-31 13:14:26 -0500 )edit

but the point clouds lie in different planes within their own frames.

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.

gvdhoorn gravatar image gvdhoorn  ( 2018-10-31 15:30:57 -0500 )edit