Open Source Robotics

Uma coleção selecionada de projetos, ferramentas e software de robótica de código aberto de alta qualidade.

Dynamic Movement Primitive

  • Também chamado: DMP, dynamical movement primitive
  • Categoria: Learning & autonomy › Learning from demonstration
  • Tags: learning-from-demonstration, motion-primitives, trajectory-generation, dynamical-systems, robot-learning

Uma primitiva de movimento que codifica uma trajetória como um sistema dinâmico estável de segunda ordem mais um termo de forçamento aprendido, de modo que um movimento demonstrado possa ser reproduzido em direção a novos objetivos e em novas velocidades.

Definição

Uma primitiva dinâmica de movimento (dynamic movement primitive, DMP) representa um movimento como a saída de um sistema dinâmico, em vez de uma lista fixa de waypoints. A formulação foi desenvolvida por Ijspeert, Nakanishi e Schaal no início dos anos 2000 e mais tarde apresentada por completo por Ijspeert et al. (2013) sob o nome dynamical movement primitives. Para cada grau de liberdade, um sistema de transformação se comporta como uma mola-amortecedor criticamente amortecida que puxa a posição em direção a um objetivo g. A ele é somado um termo de forçamento que molda o caminho ao longo do trajeto. O termo de forçamento é uma soma ponderada de funções de base gaussianas de uma variável de fase x, produzida por um sistema canônico separado que decai suavemente de 1 em direção a 0. Como o termo de forçamento é multiplicado por x, ele desaparece com o tempo, e o sistema tem convergência garantida para o objetivo, como a mola-amortecedor simples.

Aprender uma DMP a partir de uma demonstração é simples: a posição, a velocidade e a aceleração demonstradas são usadas para calcular o termo de forçamento de que o sistema precisaria, e os pesos das funções de base são ajustados por regressão linear. O movimento aprendido pode então ser generalizado. Mudar g desloca o ponto final mantendo a forma, já que o termo de forçamento é escalado pela distância entre o início e o objetivo. Mudar a constante de tempo τ acelera ou desacelera o movimento. Vários graus de liberdade compartilham um único sistema canônico, o que os mantém sincronizados. Uma versão rítmica usa uma fase oscilante para movimentos periódicos, como caminhar ou limpar, e termos de acoplamento podem ser acrescentados para desviar de obstáculos ou para desacelerar a fase quando os erros de rastreamento crescem.

Uma DMP é um tipo específico de primitiva de movimento, a ideia geral de blocos de movimento reutilizáveis. Em comparação com outras primitivas aprendidas, as DMPs são determinísticas e representam uma única trajetória; as primitivas probabilísticas de movimento (probabilistic movement primitives, ProMPs), por sua vez, representam uma distribuição sobre trajetórias aprendida a partir de várias demonstrações. Pontos fracos conhecidos da formulação original incluem um escalonamento estranho quando o novo objetivo está muito perto do início ou do lado oposto a ele, tratado por formulações modificadas posteriores, e a necessidade de formas especiais para LiDAR com orientações, como as DMPs de quatérnios. O vetor de pesos compacto também torna as DMPs uma parametrização de política comum para aprendizado por reforço em robôs reais.

Por que importa

As DMPs oferecem um jeito de aprender um movimento a partir de uma única demonstração e reutilizá-lo com novos objetivos e tempos, mantendo a convergência garantida. Essa combinação de aprendizado fácil, saída suave e estabilidade fez delas uma representação padrão no aprendizado por demonstração e uma linha de base comum para modelos de trajetória mais recentes.

Principais aplicações

  • Aprendizado de habilidades de manipulação a partir de uma única demonstração cinestésica ou teleoperada
  • Generalização de movimentos de alcançar, despejar e posicionar para novas posições-alvo
  • Geração e modulação de gestos expressivos para robôs sociais
  • Movimentos rítmicos como limpar, tocar bateria e padrões de caminhada
  • Parametrização de políticas para aprendizado por reforço em robôs reais

Na prática

Um robô social recebe um conjunto de gestos expressivos de braço, como um aceno e um dar de ombros, gravados por um animador. Cada gesto é codificado como um conjunto de DMPs, uma por junta, compartilhando um sistema canônico. Em tempo de execução, um módulo de nível mais alto escolhe o gesto e o modula: mudar a constante de tempo torna o aceno mais rápido para um tom animado ou mais lento para um tom calmo, deslocar o objetivo levanta mais a mão, e escalar os pesos do termo de forçamento torna o movimento maior ou menor. Como cada DMP sempre converge para seu objetivo, o gesto modulado ainda termina em uma pose válida, e os comandos das juntas passam pelos limites de junta e de velocidade do robô antes da execução.

Equívocos comuns

  • Uma DMP é só uma trajetória gravada — é um sistema dinâmico que pode ser redirecionado para novos objetivos e velocidades e que reage a perturbações do seu estado
  • Primitiva de movimento e DMP significam a mesma coisa — uma DMP é uma formulação específica entre muitos tipos de primitivas de movimento
  • As DMPs capturam a variabilidade de várias demonstrações — a DMP básica ajusta uma única trajetória; as primitivas probabilísticas de movimento modelam a variação entre demonstrações
  • As DMPs desviam de obstáculos sozinhas — o desvio de obstáculos exige termos de acoplamento adicionais ou um planejador externo

Quem deve saber

  • Pesquisadores de aprendizado de robôs que trabalham com aprendizado por demonstração
  • Engenheiros de manipulação que constroem bibliotecas de habilidades reutilizáveis
  • Pesquisadores de interação humano-robô que projetam gestos de robôs
  • Estudantes de robótica que estudam representações de trajetória

Tecnologias relacionadas

  • Primitivas probabilísticas de movimento (Probabilistic Movement Primitives)
  • Regressão localmente ponderada (Locally Weighted Regression)
  • Regressão por mistura de gaussianas (Gaussian Mixture Regression)
  • Ensino cinestésico (Kinesthetic Teaching)
  • Aprendizado por reforço com busca de políticas (Policy Search Reinforcement Learning)

Termos relacionados

  • Motion Primitive
  • Kinesthetic Teaching
  • Imitation Learning
  • Trajectory Planning
  • Reinforcement Learning
  • Impedance Control

Projetos relacionados

  • OpenPI: Physical Intelligence VLA foundation models for general robot control
  • NVIDIA Isaac GR00T: NVIDIA open foundation model for humanoid robot reasoning and skills
  • DreamZero: NVIDIA World Action Model that jointly predicts future video and robot actions
  • robosuite: Modular MuJoCo simulation framework for robot learning research
  • LIBERO: Lifelong robot learning benchmark with 130 procedural tasks
  • Open X-Embodiment (OXE): Largest open robotics dataset: 1M+ episodes from 22 embodiments

Este site requer JavaScript. Por favor, habilite o JavaScript para explorar nossos projetos de robótica.