Maybe I am misunderstanding the purpose of root_joint but I want to use Pinocchio to get forward kinematics and dynamics expressed in a different frame from the base_link frame. Specifically I want it in the imu_link frame. However when I build the model and get the forward kinematics like below, it's always expressed in the base_link frame.
std::string root_joint = "joint_imu"; // I also tried a link in the urdf "imu_link"
pinocchio::Model model_;
pinocchio::urdf::buildModel(urdf_file_, JointModelFreeFlyer(), root_joint, robot_model_);
pinocchio::Data data_(model_);
forwardKinematics(model_, data_, q_);
updateFramePlacements(model_, data_);
data_.oMf[limb_frame_idx_[leg]].translation(); // right gives the foot position relative to the base_link frame not imu_link or joint_imu
🐞 Bug
Maybe I am misunderstanding the purpose of root_joint but I want to use Pinocchio to get forward kinematics and dynamics expressed in a different frame from the
base_linkframe. Specifically I want it in theimu_linkframe. However when I build the model and get the forward kinematics like below, it's always expressed in the base_link frame.Reproduction steps
Relevant log output / Error message
System Info
No response
Checklist