将代码中的tf_buffer_ptr->lookupTransform改为tf2::Transform,然后手动指定变换矩阵即可:

tf2::Transform imu_T_velo; imu_T_velo.setOrigin(tf2::Vector3(x, y, z)); imu_T_velo.setRotation(tf2::Quaternion(qx, qy, qz, qw)); static_broadcaster.sendTransform(tf2::Stampedtf2::Transform(imu_T_velo, ros::Time::now(), "imu_link", "velo_link"));

其中x、y、z、qx、qy、qz、qw是固定的变换矩阵参数。

下面这段代码中IMU到Velodyne之间变换关系发布的是静态变换关系如何修改成一个固定矩阵imu_stamped_tf_velo = tf_buffer_ptr-lookupTransformimu_link velo_link rosTime0 rosDuration30; tf2fromMsgimu_stamped_tf_velotransform imu_T_velo;

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

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