verp中的redundantRobot的逆运动学注意事项
- joint is in inverse kinematics mode 所有的关节都要选在inverse kinematics mode
- a kinematic chain described with a "tip" dummy and a "base" object.
- A "target" dummy that the "tip" dummy will be constrained to follow.()
解逆运动学的时候需要 "target" dummy 和"tip" dummy 组成一对,用来进行逆运动学解算任务。
tip和target的位置其实是重合的。
we want our "tip" dummy to follow our "target" dummy in position and orientation.(位置和姿态都要一样,所以XYZ,apha beta gamma都要勾起来)
逆解有伪逆法(pseudo inverse)和阻尼法(DLS)两种。
Damping(阻尼系数): the damping factor when using a damped resolution method (DLS). Large values result in more stable resolution but are much slower. It is important to adjust this value appropriately.(阻尼系数越大,解算越稳定,但是解算速度越慢)
a tip: The tip is always a dummy and is the last object in the considered kinematic chain (when
going from the base to the tip). The tip dummy should be linked to a target dummy (see hereafter)
and the link should be an IK, tip-target link type. Refer also to the dummy properties.
a target: The target is always a dummy and represents the position and/or orientation the tip
should adopt (or follow) during simulation. The target dummy should be linked to a tip dummy
(see hereabove) and the link should be an IK, tip-target link type. Refer also to the dummy properties.
Max. iterations: a maximum number of iterations can be specified. This is the maximum number of calculation passes for a given IK group, until its specified resolution accuracy was reached. Damped resolution (DLS) usually requires more iterations than a non-damped resolution (pseudo inverse). (迭代次数次数越多,resolution accuracy 越高,DLS方法要比pseudo inverse的迭代次数多)
从上图可以看出target和tip无法重合。
(移动或者旋转target 如果机器人的tip 找不到 target 的 orientation 主要是无解那么tip和 targe 无法重合, 机器人就会疯狂的动,或者说寻找 它的解 来和它重合,无解的话,就找不到那么就会疯狂动 即 a configuration is singular or not reachable )
同时使用pseudo inverse 和DLS两种方法:
pseudo inverse时条件的勾选:
DLS方法时条件的勾选:
参数介绍:
Perform if... : this is the conditional resolution section. The user can select in the drop-down list an IK group whose IK resolution result will dictate whether current IK group will be solved. Is considered as successful an IK group calculation whose IK elements all lie within their specified linear/angular precision.
Restore if... : allows restoring the initial IK group configuration (joint values) if resolution didn't succeed (positional and/or orientational precision was not reached). Combined with the conditional solving above, the user can for instance combine two different calculation methods. This is useful in case a manipulator's target might be out of reach or close to a singularity: the first resolution attempt will then try solving the IK group with a non-damped resolution method (pseudo inverse, fast), and if not successful, a second attempt will try to solve it with a damped resolution method (DLS, slower). The user is of course also free to "manually" handle IK resolution from within a script, plugin, etc.