Fail to improve pose of point cloud with ADF origin

若如初见. 提交于 2019-12-13 02:11:45

问题


I save the point clouds of a scene and its quaternion in a pcl file.

First, I've only used pose w.r.t to device start (see second image) to get the quaternion. I've discovered a drifting problem which I mentioned here.

  1. Therefore, I learned the scene with area learning (see first image) by walking around the table.
  2. After that, I'm loading the area description file (ADF) to overcome the drifting. I wait for the first loop closure/localization in the onPoseAvailable callback.
  3. Then in the onXyzIjAvailable callback I use its timestamp to get a valid pose w.r.t to the ADF origin (baseFrame = COORDINATE_FRAME_AREA_DESCRIPTION and targetFrame = COORDINATE_FRAME_DEVICE).
  4. And I save the poseAtTime(xyzIj.timestamp) and the xyzIj in a *.PCD file.

But, the drifting seems to get even worse (see third image). It's better oriented to the origin, but the point clouds aren't that close as in the image without adf.

Do I something wrong?

Is there any way to improve this?


回答1:


You should set up the pose callback such that only poses with respect to ADF base are returned - poses with respect to start of service should not be returned - drift will not go away, but it will become minimal and will autocorrect - the ADF needs to be well trained to keep up the pose return rate.



来源:https://stackoverflow.com/questions/31761366/fail-to-improve-pose-of-point-cloud-with-adf-origin

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!