stephane-caron/pink

Python inverse kinematics using Pinocchio and QP solvers

解决的问题

Pink 是一个用于求解关节机器人模型微分逆运动学 (IK) 的 Python 库。它允许用户在遵守配置和速度限制的同时,确定将机器人部件(如手或脚)移动到特定目标位置和姿态所需的关节速度。

工作原理

Pink 使用基于 Pinocchio 库的加权任务方法。它将任务定义为残差(当前状态与目标状态之间的差异),并将问题建模为二次规划 (QP) 问题。通过为不同的任务(例如:位置 vs 姿态)分配成本并进行归一化,Pink 可以解决多个竞争目标之间的冲突。然后,它计算出引导机器人走向这些目标的最佳速度。

适用对象

该工具专为机器人开发人员和研究人员设计,他们需要一种灵活的方法,为各种机器人形态(包括机械臂、类人机器人、四足机器人和移动底座)实现多任务逆运动学。

亮点

  • 多任务支持:使用加权成本同时管理多个目标(如底座位置和关节姿态)。
  • 约束处理:自动将关节配置和速度限制纳入 IK 求解器。
  • 浮动基座支持:包括针对具有平面或自由飞行基座的机器人的特定速度限制。
  • 广泛的形态支持:适用于从简单的摆锤到复杂的类人机器人和双臂系统的各种机器人。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目