Open Source Robotics

精选高质量开源机器人项目、工具和软件,推动机器人社区发展。

mink

基于 MuJoCo 的 Python 逆运动学库,支持 20 多种机器人平台

许可证

Apache-2.0

概述

mink(MuJoCo 逆运动学)是一个基于 MuJoCo 构建的差分逆运动学 Python 库。它通过将问题表述为二次规划(QP)来求解满足任务空间目标同时遵守物理约束的关节速度。

该库提供可组合的任务抽象,可在单次求解步骤中组合多个目标——末端执行器位姿追踪、相对帧追踪、姿态调节、质心控制、关节阻尼和自由度冻结。包括关节位置限制、速度限制和任意几何体对之间碰撞避免在内的物理约束会自动执行。

mink 支持广泛的机器人平台:单臂和双臂(Franka Panda、UR5e、KUKA iiwa14、ALOHA 2)、臂手组合(iiwa14+Allegro、xArm+LEAP)、灵巧手(Shadow Hand)、人形机器人(Unitree G1、H1、Apptronik Apollo)、四足机器人(Unitree Go1、Boston Dynamics Spot)、双足机器人(Agility Cassie)和移动操作臂(Stanford TidyBot、Hello Robot Stretch)。

由 Kevin Zakka(加州大学伯克利分校博士生、谷歌博士研究员)作为 Pink 库(基于 Pinocchio)到 MuJoCo 的移植版本创建。1.0.0 版本于 2025 年 12 月达到稳定发布。

mink(MuJoCo Inverse Kinematics)是一个Python库,为MuJoCo生态系统带来了生产级的微分逆运动学求解能力。该库由Kevin Zakka创建,他是UC Berkeley的博士生和Google PhD Fellow。它填补了一个关键空白——虽然MuJoCo已成为机器人研究事实上的标准仿真器,但它缺少一个具有约束处理和碰撞避免功能的原生逆运动学求解器。

该库将逆运动学问题表述为二次规划(QP)问题,提供了数学上简洁且计算高效的方法。多个任务空间目标——包括末端执行器跟踪、相对坐标系控制、姿态调节、质心定位和关节阻尼——可以同时组合求解。物理约束如关节位置限制、速度限制以及任意几何体对之间的碰撞避免都会被自动执行。

mink开箱即用地支持超过20个机器人平台,涵盖单臂和双臂(Franka Panda、UR5e、KUKA iiwa14、ALOHA 2)、臂手组合(iiwa14+Allegro、xArm+LEAP)、灵巧手(Shadow Hand)、人形机器人(Unitree G1、H1、Apptronik Apollo)、四足机器人(Unitree Go1、Boston Dynamics Spot)、双足机器人(Agility Cassie)以及移动操作平台(Stanford TidyBot、Hello Robot Stretch)。

mink是Pink库(原基于Pinocchio构建)到MuJoCo的移植版本,利用了MuJoCo快速的碰撞检测和daqp二次规划求解器。1.0.0版本于2025年12月发布稳定版,标志着其已准备好用于生产级机器人应用。

为何重要

mink 通过提供具有碰撞避免和约束处理的简洁、设计良好的逆运动学库来填补 MuJoCo 生态系统的关键空白。随着 MuJoCo 成为机器人研究的事实标准仿真器,拥有一个原生构建在 MuJoCo 上的生产质量逆运动学库大幅简化了机器人软件栈。

解决的问题

MuJoCo 缺乏原生的、生产质量的逆运动学库,该库需要同时处理碰撞避免、关节限制和多个任务空间目标

要点

  • 以二次规划形式表述的差分逆运动学,具有实时性能
  • 支持从单臂到人形机器人和四足机器人的 20 多种机器人平台
  • 内置任意几何体对之间的碰撞避免
  • 可组合的任务抽象,用于在一次求解步骤中组合多个目标

适用人群

  • 使用 MuJoCo 的机器人研究人员
  • 机器人操作开发者
  • 人形控制研究人员
  • 运动规划工程师

局限

  • 特定于 MuJoCo——无法与其他物理引擎一起使用
  • 差分逆运动学是局部求解器——对于大幅度运动可能陷入局部极小值
  • QP 求解器依赖(daqp)对于非常高自由度的系统可能有限制
  • 仅 Python——无用于实时嵌入式应用的 C++ 绑定

本网站需要 JavaScript 才能正常运行。请启用 JavaScript 以浏览我们的开源机器人项目。