Centroidal Dynamics
- Também chamado: centroidal model, centroidal momentum dynamics, centroidal momentum
- Categoria: Control › Locomotion control
- Tags: legged-locomotion, humanoids, dynamics, balance, model-predictive-control
Um modelo reduzido de um robô com pernas ou de um robô humanoide que descreve como as forças de contato alteram o movimento de seu centro de massa e seu momento angular total, sem acompanhar cada membro.
Definição
Dinâmica centroidal (centroidal dynamics) descreve o movimento de um robô multicorpo, como um humanoide ou um quadrúpede, em termos de seu momento linear e angular total em relação ao centro de massa. Não importa quantas juntas o robô tenha, as leis de Newton e de Euler dizem que apenas forças externas, principalmente a gravidade e as forças de contato nos pés ou nas mãos, podem alterar essas grandezas. A taxa de variação do momento linear é igual à soma das forças externas, e a taxa de variação do momento angular em relação ao centro de massa é igual à soma dos torques externos em relação a ele.
Isso resulta em um modelo de apenas seis equações, independente do número de juntas, que captura o que mais importa para o equilíbrio e a locomoção: para onde vai o centro de massa e como o corpo gira em consequência das forças que o robô aplica ao ambiente. Os movimentos internos das juntas afetam o sistema apenas por meio do momento centroidal, que está ligado às velocidades das juntas pela matriz de momento centroidal, um conceito desenvolvido por Orin e Goswami.
Os planejadores usam a dinâmica centroidal em diferentes níveis de detalhe. O modelo de corpo rígido único trata o robô inteiro como um só corpo com inércia fixa, o que funciona bem para quadrúpedes com pernas leves. O modelo centroidal completo mantém a configuração das juntas para calcular uma inércia variável, o que importa em humanoides com membros pesados. Mais simples ainda, o pêndulo invertido linear ignora o momento angular e fixa a altura do centro de massa.
Na prática, um planejador centroidal escolhe trajetórias do centro de massa e forças de contato que respeitam os cones de atrito e a temporização dos contatos, e um controlador de corpo inteiro então calcula os torques nas juntas que as realizam.
Por que importa
A dinâmica centroidal permite que os controladores raciocinem sobre equilíbrio, caminhada e salto sem resolver a dinâmica completa de cada junta, o que torna possível o planejamento em tempo real para humanoides e quadrúpedes. É a camada intermediária padrão na locomoção com pernas baseada em modelos, entre os modelos simples de pêndulo e a dinâmica completa de corpos rígidos.
Principais aplicações
- Controle preditivo baseado em modelo (MPC) para a locomoção de quadrúpedes
- Caminhada, corrida e salto de humanoides
- Planejamento de movimentos com múltiplos contatos, como escalada e loco-manipulação
- Recuperação do equilíbrio após empurrões
Na prática
Em uma pilha típica de locomoção baseada em modelos, um controlador preditivo baseado em modelo roda sobre um modelo de corpo rígido único ou um modelo centroidal, otimizando o movimento do centro de massa e as forças de reação do solo em um horizonte curto, sujeito a restrições de cone de atrito e de sequência de contatos. Sua saída vai para um controlador de corpo inteiro que roda a uma frequência maior e resolve um programa quadrático para obter torques nas juntas que acompanham o momento planejado respeitando os limites das juntas. Bibliotecas como Pinocchio calculam a matriz de momento centroidal, e frameworks de controle ótimo como OCS2 incluem modelos centroidais para robôs com pernas. As equipes validam o modelo reduzido verificando o quanto o movimento medido da base do robô segue a trajetória planejada do centro de massa.
Equívocos comuns
- A dinâmica centroidal ignora completamente os membros — o modelo centroidal completo leva em conta o movimento dos membros por meio de uma inércia que depende da configuração; apenas a aproximação de corpo rígido único o ignora
- Os torques nas juntas podem alterar diretamente o momento total do robô — apenas forças externas, como as forças de contato e a gravidade, podem; as juntas atuam alterando essas forças de contato
- É o mesmo que o modelo de pêndulo invertido — os modelos de pêndulo são simplificações adicionais que descartam o momento angular e geralmente fixam a altura do centro de massa
Quem deve saber
- Engenheiros de locomoção com pernas e de controle de humanoides
- Pesquisadores que trabalham com controle preditivo baseado em modelo para robôs que caminham
- Pesquisadores de planejamento de movimento que trabalham em tarefas com múltiplos contatos
- Estudantes de pós-graduação em dinâmica de robôs
Tecnologias relacionadas
- Pinocchio
- OCS2
- Controle preditivo baseado em modelo (Model Predictive Control)
- Controle de corpo inteiro (Whole-Body Control)
- Pêndulo invertido linear (Linear Inverted Pendulum)
- Modelo de corpo rígido único (Single Rigid Body Model)
Termos relacionados
Projetos relacionados
- Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
- MuJoCo MPC: DeepMind's interactive real-time model predictive control framework for MuJoCo
- DART: C++ physics engine for articulated rigid body dynamics and robotics simulation
- python_simple_mppi: MPPI control derived and implemented in numpy, with four worked examples
- frax: JAX library for fast, differentiable robot kinematics, dynamics and inverse kinematics
- mjbatch: Runs thousands of MuJoCo simulations in parallel on the CPU