adin-pro / avp_mapping

avp mapping algorithm using multi-camera system
12 stars 5 forks source link

about ground truth pose and bev cloud? #1

Closed grdiv closed 1 year ago

grdiv commented 1 year ago

Hello, It's a greate work! I met a question: I have ground truth pose on camera coordinate, and i use your/avp-slam-plus's img2BevCloud, but then how can I use the ground truth pose to stitch these bev cloud? in other words, how can i transform pose to bev cloud's coordinate? although bev cloud is in ground plane, but i found they didn't on it, they have a height difference. thank you.

adin-pro commented 1 year ago

sorry for late response. I am not sure if you still have this question.

how can i transform pose to bev cloud's coordinate

you need the transformation between camera coordinate and bev coordinate.

In the real world, this transformation is obtained by calibrating the camera extrinsic parameters. But in this simulation project, the extrinsic parameter of the camera can be obtained by TFListener.

in data_pretrate_flow.cpp line 49. Here we get $T_{bev}^{cam0}$. The bev coordinate system is equivalent to base_link here.

base_to_camera0_ptr_ = std::make_shared<TFListener>(nh, "/camera0_link", "/base_link");

then you can transform your GroundTruth from camera coordinate to bev coordinate:

$GT{bev} = (T{base}^{cam0})^{-1} GT_{cam0} T_{base}^{cam0}$

grdiv commented 1 year ago

Problem solved, but thank you very much for your answer!!