translate URDF <mimic> joints to joint equality constraints - #3530
translate URDF <mimic> joints to joint equality constraints#3530Abhayindia wants to merge 3 commits into
Conversation
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
b62c550 to
c206607
Compare
|
added the guard - a mimic pointing at a fixed/planar/floating/missing joint now warns and is skipped rather than failing the load, with a test for the fixed-target case. thanks for catching that. |
sylvesterkaczmarek
left a comment
There was a problem hiding this comment.
Could we make the mimic regression behavioral rather than only checking the emitted IDs and polycoef? The current test would still pass if the equality were wired in the wrong direction or interpreted incorrectly relative to the joint references. A small case with a nonzero driver value, multiplier=-1, and nonzero offset that checks the resulting equality residual/tracking would pin the actual URDF q_follower = M*q_driver + O semantics.
|
done - MimicBecomesJointEquality now simulates from a driver displacement (multiplier=-1, offset=0.02, damping so it settles) and checks q_right == -q_left + 0.02 to 1e-4, so it'd catch a wrong direction or a dropped multiplier/offset. |
per #3527. urdf
<mimic multiplier="M" offset="O">on a follower joint becomes an<equality><joint>withpolycoef = [O M 0 0 0]. couplings are collected during joint parsing and emitted after, so the target joint can be declared later in the file.also wired
xml_urdf_test.ccinto cmake - it wasn't referenced by any target so its tests weren't building.