使用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>();
Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐