Skip to content
This repository was archived by the owner on Nov 28, 2025. It is now read-only.

Commit 93138e7

Browse files
jviereckolivier-stasse
authored andcommitted
Fix regression in DynamicPinocchio::computeGenericEndeffJacobian
1 parent 74ccae4 commit 93138e7

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

src/sot-dynamic-pinocchio.cpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -713,8 +713,16 @@ dg::Matrix& DynamicPinocchio::computeGenericEndeffJacobian(const bool isFrame, c
713713
jid = frame.parent;
714714

715715
M = frame.placement.inverse();
716-
if (!isLocal) // Express the jacobian is world coordinate system.
717-
M.rotation() = m_data->oMf[fid].rotation() * M.rotation();
716+
717+
if (!isLocal) {// Express the jacobian is world coordinate system.
718+
// Need to compute frame placement for oMf.
719+
pinocchio::updateFramePlacement(*m_model, *m_data, fid);
720+
721+
pinocchio::SE3 T;
722+
T.rotation() = m_data->oMf[fid].rotation();
723+
T.translation().setZero();
724+
M = T * M;
725+
}
718726
} else {
719727
jid = (pinocchio::JointIndex)id;
720728
if (!isLocal) { // Express the jacobian is world coordinate system.

0 commit comments

Comments
 (0)