fixed urdf<->rcs inconsistency for mimic joints #36
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi,
I tried to fix the inconsistency between mimic joints from urdf's and Rcs's coupledJoints.
In short, the urdf definition of a mimic joint is:
q_slave = c*q_master + o(q = joint value, c = coupling factor, o = offset)
while Rcs computes the joint value according to:
q_slave = q_slave_init + c*(q_master - q_master_init)Hence, we can use the Rcs computation if we set
q_slave_inittoq_slave_init = c*q_master_init + oWhen parsing the urdf node, I temporarily store the offset in the
jnt->q_initvariable. After the parsing is finished and all jointsand bodies have been created, I correct
jnt->q_initsuch that the normal Rcs computation can be used for computing the value of a coupled joint.