Open BrettRD opened 3 years ago
FYI I have 3DOF legs on my robots so I had a similar issue. I've added the necessary extra "virtual" joints at the endpoint so that only endpoint position really matters. Is there a reason why you didn't want to add virtual joints? I also manipulate the joint position in RViz2 using 6DOF manipulators and I have to say having those extra virtual joints makes using the manipulator easier since I can rotate the manipulator into a different rotational axis in order to get the translation plane I want. Or I can lock the virtual joint frame to be parallel to the world frame.
I ended up with a gimbal lock problem within the virtual joints, so I had to extend it to 7dof. The additional joints add a whole lot of clutter, and they require needlessly complex optimiser to deal with the under-constrained chain.
The docs hint at it being possible to tell the optimiser to ignore specific axes, I'd like to know more about that.
I have a 3dof positioning system that only needs to move the end-effector to a point, but doesn't need to care about orientation of the end effector.
From the docs and discussion,
setWeightTS
seems like the correct thing to use, but I can't get any sensible results out of it. My IK chain converges when I feed it achievable frames including orientation, but fails when I erase the orientation from the target frame.Are there any working examples of inverse-kinematics on under-actuated (3dof) systems, using
setWeightTS
, that don't resort to virtual joints?So far, I've only been able to find complete re-implementations of the IK engine.