我正在尝试使用pybullet中的模拟 PR2 机器人进行笛卡尔控制。在 pybullet 中,函数calculateInverseKinematics(...)可选地采用关节下限、上限、关节范围和静止姿势,以进行零空间控制。
首先,使用零空间控制而不是“常规”逆运动学有什么实际好处?
其次,为什么要指定关节范围,这不完全由上下限决定吗?连续关节的范围是多少?
究竟什么是休息姿势?它只是机器人开始执行任务之前的初始姿势吗?
我正在尝试使用pybullet中的模拟 PR2 机器人进行笛卡尔控制。在 pybullet 中,函数calculateInverseKinematics(...)可选地采用关节下限、上限、关节范围和静止姿势,以进行零空间控制。
首先,使用零空间控制而不是“常规”逆运动学有什么实际好处?
其次,为什么要指定关节范围,这不完全由上下限决定吗?连续关节的范围是多少?
究竟什么是休息姿势?它只是机器人开始执行任务之前的初始姿势吗?
逆运动学问题通常有很多解决方案。使用零空间可以影响 IK 解决方案,例如更接近静止姿势。
默认情况下,PyBullet IK 不使用 URDF 文件中的限制,因此您可以明确指定 IK 解决方案所需的范围。连续接头具有完整的 360 度范围。
查看PyBullet用户手册,有几个示例如何在 PyBullet 中使用反向运动学:
https://github.com/bulletphysics/bullet3/tree/master/examples/pybullet/examples (只需使用 git checkout https://github.com/bulletphysics/bullet3并转到示例/pybullet/examples)
这里还有一个 Sawyer 机器人的额外 PyBullet IK 示例: https ://github.com/erwincoumans/pybullet_robots