-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mismatch between data.base_transform
and jaxsim.api.model.forward_kinematics
for fixed-base models with non trivial base-to-world transform
#337
Comments
data.base_transform
and modelforward_kinematics
for fixed-base models with non trivial base-to-world transformdata.base_transform
and jaxsim.api.model.forward_kinematics
for fixed-base models with non trivial base-to-world transform
Ok maybe I found something. Concerning the forward kinematics, it is computed though an recursive method which propagates the kinematics using the joint model, taking into account the parent-to-child transforms and considering also the world-to-base transform: jaxsim/src/jaxsim/rbda/forward_kinematics.py Lines 12 to 59 in 1d96dac
The base position and orientation that are obtained through This is initialized in Lines 100 to 151 in 1d96dac
This does not take into account the world-to-base position specified in the model description and this creates the "corrupted" state. |
I think the mismatch in the end arises due to some attribute(s) between This means that also calling |
I've encountered a strange behavior when trying to simulate a fixed base model, i.e. a model with a description in which it is present a fixed joint between a
world
link and the modelbase
link.In particular when in the model URDF I set a base pose${} ^W H _B \neq I _4$ through the
<origin>
tag of the fixed joint, in Jaxsim I get different results by callingdata.base_transform
andjaxsim.api.model.forward_kinematics
for the base.Repro steps
Using a modified version of
single_pendulum model
defined in unit tests, in which a non trivial base to world pose has been defined:Which outputs
Instead the two quantities match if the base link is defined as:
Output:
The text was updated successfully, but these errors were encountered: