可以将IMU到Velodyne之间的变换关系写成一个固定的矩阵,如下:

Eigen::Matrix4f imu_T_velo; imu_T_velo << 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0;

然后在代码中使用这个矩阵代替从tf_buffer_ptr中查询得到的变换关系即可:

tf2::StampedEigen::Affine3d imu_stamped_tf_velo; imu_stamped_tf_velo.frame_id_ = "imu"; imu_stamped_tf_velo.child_frame_id_ = "velo"; imu_stamped_tf_velo.stamp_ = ros::Time::now(); tf2::fromMsg(tf2::toMsg(imu_T_velo), imu_stamped_tf_velo);

static_broadcaster.sendTransform(tf2::toMsg(imu_stamped_tf_velo))


原文地址: https://www.cveoy.top/t/topic/fdmm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录