Open Source Robotics

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

Forward Dynamics Model

  • Também chamado: forward model, dynamics model, transition model
  • Categoria: Learning & autonomy › RL & simulation
  • Tags: dynamics, model-based-control, model-based-rl, simulation, prediction

Um modelo que prevê como o estado de um sistema vai mudar dados seu estado atual e uma ação aplicada, permitindo que um robô simule os efeitos de suas ações antes de executá-las.

Definição

Modelos de dinâmica direta (forward dynamics models) preveem o próximo estado de um sistema a partir de seu estado atual e da ação aplicada a ele. Escritos de forma compacta, eles mapeiam estado e ação para o próximo estado, ou para a taxa de variação do estado. Respondem à pergunta “se eu fizer isto, o que vai acontecer?”, o que faz deles o ingrediente central da simulação, do planejamento baseado em modelos e do aprendizado por reforço baseado em modelos.

Na robótica clássica, dinâmica direta tem um significado preciso: dadas as posições, velocidades e torques das juntas de um robô de corpos rígidos, calcular as acelerações das juntas resultantes. Elas decorrem das equações de movimento, usando a matriz de massa e os termos de Coriolis, centrífugos e de gravidade, e são calculadas de forma eficiente com algoritmos como o algoritmo do corpo articulado. Simuladores físicos como MuJoCo, PyBullet e Drake são construídos em torno desse cálculo, integrado para a frente no tempo.

No aprendizado de robôs, um modelo de dinâmica direta é muitas vezes aprendido a partir de dados em vez de derivado. Uma rede neural é treinada com transições registradas para prever o próximo estado, ou uma representação latente dele, a partir do estado e da ação atuais. Modelos aprendidos podem capturar efeitos difíceis de modelar à mão, como o deslizamento das rodas em terreno irregular, a deformação de cabos ou tecidos, ou a resposta de todo um sistema guiado pela percepção. Quando o estado é uma imagem ou um embedding aprendido, a mesma ideia costuma ser chamada de modelo de mundo.

Os planejadores usam modelos diretos amostrando ou otimizando sequências de ações, desenrolando-as através do modelo e pontuando os resultados previstos. A principal fraqueza é o acúmulo de erros: pequenos erros de um passo crescem ao longo de horizontes de previsão longos, e um planejador pode explorar partes do modelo que são imprecisas.

Por que importa

Qualquer robô que planeja prevendo as consequências de suas ações precisa de um modelo de dinâmica direta, seja derivado da física, seja aprendido a partir de dados. A precisão desse modelo define com quanta antecedência o robô consegue planejar de forma confiável e com quanta segurança consegue agir em situações que não viu antes.

Principais aplicações

  • Simulação física de robôs de corpos rígidos
  • Controle preditivo baseado em modelo e planejamento baseado em amostragem
  • Aprendizado por reforço baseado em modelos
  • Previsão do movimento do robô em terreno irregular ou deformável
  • Modelos de previsão de vídeo e latentes usados para planejar a partir de imagens

Na prática

Para um braço robótico rígido, as equipes geralmente obtêm a dinâmica direta de um motor de física ou de uma biblioteca como Pinocchio ou Drake, usando um URDF com massas e inércias identificadas. Para sistemas difíceis de modelar, como um robô terrestre em terreno misto, elas registram dados de estado, ação e sensores durante execuções teleoperadas ou autônomas, treinam uma rede neural para prever estados futuros e a validam em execuções separadas, comparando trajetórias previstas e reais ao longo do horizonte de planejamento. O modelo aprendido é então conectado a um controlador baseado em amostragem como o MPPI, que desenrola muitas sequências de ações candidatas através dele e escolhe a melhor. Os engenheiros acompanham o erro de previsão em função do comprimento do horizonte, já que isso define com quanta antecedência o controlador consegue planejar de forma útil.

Equívocos comuns

  • Dinâmica direta e inversa são intercambiáveis — a dinâmica direta mapeia ações para o movimento resultante, enquanto a dinâmica inversa mapeia um movimento desejado para as ações que o produzem
  • Um modelo que prevê bem um passo vai planejar bem — os erros se acumulam em desdobramentos de vários passos, e os planejadores podem explorar imprecisões do modelo
  • Modelos de dinâmica direta são sempre aprendidos — na robótica clássica eles são derivados analiticamente das equações de movimento do robô

Quem deve saber

  • Engenheiros de controle e planejamento baseados em modelos
  • Pesquisadores de aprendizado de robôs que trabalham com RL baseado em modelos e modelos de mundo
  • Desenvolvedores de simulação
  • Equipes de robótica de campo que modelam a interação com o terreno

Tecnologias relacionadas

  • MuJoCo
  • Pinocchio
  • Drake
  • Model Predictive Path Integral (MPPI)
  • Algoritmo do corpo articulado (Articulated Body Algorithm)
  • Modelo de mundo (World Model)

Termos relacionados

  • World Model
  • Inverse Dynamics Model
  • Model Predictive Control

Projetos relacionados

  • GENESIS: World's fastest physics engine: 43M FPS for embodied AI learning
  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • PyBullet: Python physics simulator for robotics and RL research with fast CPU-based simulation
  • RLinf: Scalable infrastructure for post-training foundation models via RL
  • Webots: Cross-platform robot simulator with built-in models, sensors, and development environment
  • NVIDIA Isaac Sim: NVIDIA Omniverse app for AI-driven robot simulation and testing

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