ANYbotics/kindr

Conventon between Kindr and tf::quaternion

pangfumin opened this issue · 0 comments

Hi,
Thank you for sharing the work. In rovio which you use this work to present pose of robot. In the code , I found something confusing me ` // Send Map (Pose Sensor, I) to World (rovio-intern, W) transformation
if(mpPoseUpdate_->inertialPoseIndex_ >=0){
Eigen::Vector3d IrIW = state.poseLin(mpPoseUpdate_->inertialPoseIndex_);
QPD qWI = state.poseRot(mpPoseUpdate_->inertialPoseIndex_);

      tf::StampedTransform tf_transform_WI;
      tf_transform_WI.frame_id_ = map_frame_;
      tf_transform_WI.child_frame_id_ = world_frame_;
      tf_transform_WI.stamp_ = ros::Time(mpFilter_->safe_.t_);
      tf_transform_WI.setOrigin(tf::Vector3(IrIW(0),IrIW(1),IrIW(2)));
      tf_transform_WI.setRotation(tf::Quaternion(qWI.x(),qWI.y(),qWI.z(),-qWI.w()));
      tb_.sendTransform(tf_transform_WI);
    }

`
README shows the convention between Kindr and tf::quaternion is same. but here it seems to make conversion?