Open Source Robotics

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

Inverse Dynamics Model

  • Também chamado: IDM, inverse model, inverse dynamics
  • Categoria: Learning & autonomy › RL & simulation
  • Tags: dynamics, control, robot-learning, video-learning, model-based-control

Um modelo que calcula a ação, como torques nas juntas ou um comando de controle, necessária para levar um sistema de seu estado atual a um próximo estado ou aceleração desejados.

Definição

Modelos de dinâmica inversa (inverse dynamics models) respondem à pergunta inversa daquela que um modelo direto responde: dado onde o sistema está e onde ele deveria estar em seguida, qual ação o leva até lá? Formalmente, um modelo de dinâmica inversa mapeia um estado atual e um próximo estado desejado, ou uma aceleração desejada, para a ação que produz essa mudança.

Na robótica clássica, dinâmica inversa significa calcular os torques nas juntas necessários para atingir determinadas posições, velocidades e acelerações das juntas. Para robôs de corpos rígidos, isso é calculado de forma eficiente com o algoritmo recursivo de Newton-Euler, cujo custo cresce linearmente com o número de juntas. A dinâmica inversa é a base do controle por torque calculado e da compensação por pré-alimentação (feedforward): o controlador calcula os torques de que o braço precisa para seguir uma trajetória e usa a realimentação apenas para corrigir o erro restante. Controladores de corpo inteiro para robôs com pernas resolvem uma forma restrita de dinâmica inversa que também leva em conta as forças de contato.

No aprendizado de robôs, um modelo de dinâmica inversa geralmente é uma rede neural treinada com transições registradas para prever a ação executada entre duas observações consecutivas. Isso tem vários usos. Ele pode transformar uma observação futura prevista, como um quadro de vídeo gerado, em uma ação que o robô pode executar. Pode rotular vídeos que não têm ações registradas, inferindo quais ações devem ter sido executadas. Também serve como objetivo de treinamento auxiliar que incentiva as representações aprendidas a capturar o que o agente consegue controlar.

Um modelo inverso pode ser mal posto quando ações diferentes produzem o mesmo resultado ou quando o próximo estado desejado não pode ser alcançado em um único passo, por isso sistemas práticos muitas vezes acrescentam contexto, como estados passados ou um horizonte mais longo.

Por que importa

A dinâmica inversa é a forma como um robô transforma um movimento planejado nas forças ou comandos que o produzem, do controle por torque calculado de braços industriais ao controle de corpo inteiro de humanoides. No aprendizado de robôs, modelos de dinâmica inversa ligam a previsão à ação, permitindo que sistemas treinados com vídeo ou com previsão de estados futuros controlem de fato um robô.

Principais aplicações

  • Controle por torque calculado e por pré-alimentação de braços robóticos
  • Controle de corpo inteiro para humanoides e robôs com pernas
  • Conversão de observações futuras previstas em ações executáveis
  • Inferência de rótulos de ação para conjuntos de dados de vídeo que não os têm
  • Aprendizado autossupervisionado de representações para controle

Na prática

Para um braço robótico com um URDF preciso, os engenheiros calculam a dinâmica inversa com uma biblioteca como Pinocchio ou no controlador do fabricante e aplicam os torques resultantes por pré-alimentação, deixando uma malha de realimentação de ganho mais baixo para lidar com atrito e cargas não modeladas. Quando o modelo é incerto, eles identificam primeiro os parâmetros inerciais ou aprendem uma correção residual por cima. Em pipelines de aprendizado, uma equipe pode treinar uma pequena rede de dinâmica inversa com trajetórias de robô com ações registradas e depois usá-la para inferir ações em um conjunto maior de vídeos sem ações, ou para converter em comando o próximo quadro previsto por um modelo. Eles a verificam comparando as ações inferidas com as registradas em dados separados.

Equívocos comuns

  • Dinâmica inversa é o mesmo que cinemática inversa — a cinemática inversa encontra posições das juntas para uma pose desejada, enquanto a dinâmica inversa encontra as forças ou torques necessários para produzir um movimento desejado
  • Um modelo de dinâmica inversa é uma política completa — ele diz como alcançar um próximo estado dado, mas outra coisa precisa decidir qual estado buscar
  • A dinâmica inversa sempre tem uma resposta única — robôs redundantes, contatos e objetivos de vários passos podem tornar várias ações igualmente válidas

Quem deve saber

  • Engenheiros de controle de robôs que trabalham com braços e robôs com pernas
  • Pesquisadores de aprendizado de robôs que usam vídeo e modelos de mundo
  • Desenvolvedores de controle de corpo inteiro para humanoides
  • Estudantes de robótica que estudam dinâmica

Tecnologias relacionadas

  • Algoritmo recursivo de Newton-Euler (Recursive Newton-Euler Algorithm)
  • Pinocchio
  • Controle por torque calculado (Computed-Torque Control)
  • Controle de corpo inteiro (Whole-Body Control)
  • Modelo de dinâmica direta (Forward Dynamics Model)
  • Modelo de mundo (World Model)

Termos relacionados

  • Imitation Learning
  • Torque Control
  • Forward Dynamics Model

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
  • Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
  • 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

Vídeos

  • Modern Robotics, Chapter 8.3: Newton-Euler Inverse Dynamics: Northwestern Robotics

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