Closed leslieburke closed 10 months ago
请问在代码的这一块计算odom到enu的位姿变换时,选择了将roll和pitch置为0,为何要这样处理?
if (useRTK && !rtkOffsetInitialized) { odom_to_enu = Pose6DtoTransform(currRTK) * Pose6DtoTransform(pose_curr).inverse(); Pose6D odom_to_enu_pose = TransformtoPose6D(odom_to_enu); odom_to_enu_pose.roll = 0; odom_to_enu_pose.pitch = 0; odom_to_enu = Pose6DtoTransform(odom_to_enu_pose); std::cout << "enu pose is " << currRTK.x << " " << currRTK.y << " " << currRTK.z << " " << currRTK.roll << " " << currRTK.pitch << " " << currRTK.yaw << " " << std::endl; rtkOffsetInitialized = true; }
因为我们的setting是室外小车,一般认为只有yaw的处理
请问在代码的这一块计算odom到enu的位姿变换时,选择了将roll和pitch置为0,为何要这样处理?
if (useRTK && !rtkOffsetInitialized) { odom_to_enu = Pose6DtoTransform(currRTK) * Pose6DtoTransform(pose_curr).inverse(); Pose6D odom_to_enu_pose = TransformtoPose6D(odom_to_enu); odom_to_enu_pose.roll = 0; odom_to_enu_pose.pitch = 0; odom_to_enu = Pose6DtoTransform(odom_to_enu_pose); std::cout << "enu pose is " << currRTK.x << " " << currRTK.y << " " << currRTK.z << " " << currRTK.roll << " " << currRTK.pitch << " " << currRTK.yaw << " " << std::endl; rtkOffsetInitialized = true; }