使用eigen时要确保数据类型一致
Eigen::Quaterniond quaternion(imu->orientation.w, imu->orientation.x, imu->orientation.y, imu->orientation.z);
Eigen::Matrix3f rotation_matrix = quaternion.toRotationMatrix();
法一:将第一行的double
类型改为float
Eigen::Quaternionf quaternion(imu->orientation.w, imu->orientation.x, imu->orientation.y, imu->orientation.z);
Eigen::Matrix3f rotation_matrix = quaternion.toRotationMatrix();
法二:通过.cast<float>()
改为相应类型
Eigen::Quaternionf quaternion(imu->orientation.w, imu->orientation.x, imu->orientation.y, imu->orientation.z);
Eigen::Matrix3f rotation_matrix = quaternion.toRotationMatrix().cast<float>();