Open Source Robotics

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

Motion Primitive

  • 又称: movement primitive, motor primitive, action primitive, skill primitive
  • 类别: Planning & manipulation › Motion planning
  • 标签: motion-planning, manipulation, skills, learning-from-demonstration, task-planning

机器人运动的一个可复用构件,例如参数化技能(移动到某个位姿、打开夹爪)或一段短轨迹,规划器和策略把它们组合成更长的行为。

定义

运动基元(Motion primitives)把机器人行为拆分为可以串联起来的、可复用的单元。系统不必在关节指令层面规划或学习每一个动作,而是用少量参数(例如目标位姿、夹爪开口宽度或推动方向)调用一个基元,由基元生成详细的运动。这个术语涵盖几种相关的思想,它们的区别在于基元如何表示,以及由什么在基元之间做选择。

在操作和任务规划中,基元是参数化的技能:移动到某个位姿、抓取、放置、推动、倾倒、打开或闭合夹爪。任务规划器、行为树或语言模型选择一个序列并填入参数;近期有几个系统让语言模型编写调用这类函数的简短程序。在运动规划中,基元是预先计算好的、符合车辆动力学的短轨迹段,栅格规划器(lattice planner)在规则的状态网格上把它们连接起来,为汽车、移动机器人和无人机搜索可行路径。在示教学习中,运动基元是从示例中学到的、可以调整的轨迹模型:由 Ijspeert、Nakanishi 和 Schaal 发展的动态运动基元(dynamic movement primitives,DMPs)把一次示教编码为带有学习得到的强迫项的稳定动力系统,从而可以改变起点和目标;而概率运动基元(probabilistic movement primitives,ProMPs)则表示轨迹上的一个分布。

核心的权衡在于结构与适用范围之间。固定的基元库让行为可预测、可测试,并且能快速用于规划,因为规划器只需在少数离散选择及其参数上搜索。但它也把机器人限制在基元库所能表达的范围之内:接触丰富、需要反应或需要紧密协调的动作,可能需要内置反馈的基元,或者需要学习得到的策略。因此,选择基元的粒度本身就是一项设计决策。

为何重要

运动基元为规划器和语言模型提供一小组经过测试的动作,使长时域任务变得可解。它们把高层决策与底层控制分开,因此每一层都可以单独开发和验证。

主要应用

  • 由任务规划器或语言模型驱动的操作
  • 面向车辆和无人机的基于栅格的运动规划
  • 使用动态运动基元的示教学习
  • 调用可复用技能的行为树
  • 长时域的上架、装箱和装配

实际应用

一个构建货架上架系统的团队定义了一个基元库,包含推、扫、插入以及抓取并放置等基元,每个基元都实现为一个带有接触点、方向和距离等参数的简短控制器,每个基元都有运行前检查的前置条件,以及基于力或位置的终止条件。一个学习得到的模型预测物体在每个参数化基元作用下如何移动,规划器在序列和参数上进行搜索,机器人执行第一步后重新规划。在无人机上,同样的思想表现为一个短多项式轨迹库:这些轨迹按末端速度采样,并在每个规划周期中与障碍物地图进行碰撞检查。

常见误解

  • 运动基元总是固定的、硬编码的轨迹 — 许多基元是参数化的或包含反馈,而 DMPs 能在运行时适应新的目标
  • 使用基元就意味着放弃学习 — 基元常常是从示教中学到的,而且会用学习得到的模型来选择基元并为其设定参数
  • 只要基元库足够大,任何任务都能解决 — 需要持续反应式接触的任务可能超出离散基元所能表达的范围,而且基元库本身也需要设计和维护

谁需要了解

  • 构建技能库的操作工程师
  • 使用栅格规划器的运动规划工程师
  • 从事示教学习的机器人学习研究人员
  • 把语言模型或任务规划器连接到机器人的开发者

相关技术

  • 动态运动基元(Dynamic Movement Primitives,DMP)
  • 概率运动基元(Probabilistic Movement Primitives,ProMP)
  • 状态栅格规划器(State Lattice Planner)
  • 行为树(Behavior Trees)
  • 任务与运动规划(Task and Motion Planning)
  • 技能库(Skill Libraries)

相关术语

  • Motion Planning
  • Trajectory Planning
  • Task and Motion Planning
  • Task Planning
  • Imitation Learning
  • Behavior Tree

相关项目

  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim
  • NVIDIA Isaac GR00T: NVIDIA open foundation model for humanoid robot reasoning and skills
  • OpenVLA: 7B-parameter Vision-Language-Action model for robotic manipulation
  • BehaviorTree.CPP: C++ behavior tree library for robot task planning, powering Nav2 and ROS 2 systems
  • Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design

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