localization_in_auto_driving icon indicating copy to clipboard operation
localization_in_auto_driving copied to clipboard

运动畸变的小问题

Open yumingdong opened this issue 4 years ago • 1 comments

在models/scan_adjust/distortion_adjust.cpp中有下面的代码片段:

    float start_orientation = atan2(origin_cloud_ptr->points[0].y, origin_cloud_ptr->points[0].x);
    Eigen::AngleAxisf t_V(start_orientation, Eigen::Vector3f::UnitZ());
    Eigen::Matrix3f rotate_matrix = t_V.matrix();
    Eigen::Matrix4f transform_matrix = Eigen::Matrix4f::Identity();
    transform_matrix.block<3,3>(0,0) = rotate_matrix.inverse();
    pcl::transformPointCloud(*origin_cloud_ptr, *origin_cloud_ptr, transform_matrix);
    velocity_ = rotate_matrix * velocity_;
    angular_rate_ = rotate_matrix * angular_rate_;

这里对原始点云绕Z轴旋转start_orientation的角度不是很理解,而且角速度和线速度都有这样的操作。知乎上面也没有给出相应的解释,谢谢分享。

yumingdong avatar Nov 20 '20 09:11 yumingdong

作者自己说过,因为kitti里用的velodyne采集数据的时候不是每次都从0度开始,所以起始方向计算了一个夹角,并且把0度附近的点云舍弃掉,然后通过姿态和速度对点云做补偿

h-k8888 avatar Apr 15 '21 10:04 h-k8888