Open Source Robotics

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

Reduced Coordinates

  • Também chamado: minimal coordinates, joint coordinates
  • Categoria: Software & tooling › Simulation & twins
  • Tags: physics-simulation, rigid-body-dynamics, multibody-systems, kinematics, simulation

Uma forma de descrever um mecanismo com juntas apenas por suas variáveis de junta, de modo que as juntas se mantêm unidas por construção, em vez de serem impostas como restrições entre corpos livres.

Definição

Um sistema multicorpos como um braço robótico pode ser simulado de duas formas gerais. Em coordenadas maximais (maximal coordinates), cada elo é um corpo rígido livre com seis graus de liberdade, e as juntas são acrescentadas como restrições que o solver precisa impor a cada passo. Em coordenadas reduzidas (reduced coordinates), o sistema é descrito apenas por suas variáveis de junta, como ângulos de junta e deslocamentos prismáticos, mais a pose da base no caso de um robô flutuante. A pose de cada elo é então calculada a partir dessas variáveis pela cinemática direta, de modo que as juntas não podem se separar: as restrições são satisfeitas por construção.

As coordenadas reduzidas são o ambiente natural dos algoritmos clássicos de dinâmica de robôs. O algoritmo recursivo de Newton-Euler, o algoritmo do corpo rígido composto e o algoritmo de corpos articulados de Featherstone trabalham diretamente com grandezas do espaço das juntas e calculam a dinâmica inversa ou direta em um tempo que cresce de forma linear ou quase linear com o número de elos. As equações de movimento assumem a forma conhecida M(q) q̈ + C(q, q̇) q̇ + g(q) = τ, que corresponde diretamente ao controle de robôs. Simuladores que usam essa abordagem incluem MuJoCo, Drake, ferramentas baseadas em Pinocchio e os tipos de articulação do PhysX e do Bullet; o Isaac Gym, por exemplo, simula todo robô como uma articulação de coordenadas reduzidas do PhysX.

As principais vantagens são a precisão e a estabilidade em cadeias longas: não há deriva nem estiramento das juntas, os limites e os acionamentos das juntas atuam sobre as variáveis de junta reais e há menos variáveis a integrar. As limitações são que a estrutura precisa ser uma árvore cinemática, de modo que laços fechados, como mecanismos de quatro barras ou robôs paralelos, precisam de restrições adicionais de fechamento de laço, e que os contatos com o ambiente ainda precisam ser tratados como restrições ou forças de penalidade. As coordenadas maximais continuam comuns na física de jogos e para corpos fracamente conectados, porque são simples e fáceis de paralelizar.

Por que importa

A forma como um simulador representa um robô afeta se as juntas se mantêm unidas sob cargas altas, qual passo de tempo pode ser usado e o quanto a dinâmica simulada das juntas se aproxima do modelo do controlador. Saber se uma ferramenta usa coordenadas reduzidas ou maximais explica muitas diferenças de estabilidade, desempenho e opções de modelagem entre motores de física.

Principais aplicações

  • Simulação física de braços robóticos, robôs com pernas e humanoides
  • Bibliotecas de dinâmica de corpo rígido para controle e controle preditivo baseado em modelo
  • Simulação paralela em GPU para aprendizado por reforço
  • Otimização de trajetória com modelos de dinâmica no espaço das juntas
  • Simulação diferenciável de sistemas articulados

Na prática

Um engenheiro importa o URDF de um humanoide em um simulador em GPU para aprendizado por reforço. Carregado como uma articulação de coordenadas reduzidas, o estado do robô é a pose e a velocidade da base mais uma posição e uma velocidade por junta, que correspondem diretamente ao vetor de observação e aos alvos PD das juntas que a política produz. Quando o mesmo modelo foi construído antes a partir de corpos rígidos separados ligados por restrições de junta, os joelhos se separavam visivelmente em aterrissagens bruscas e precisavam de muito mais iterações do solver. O robô também tem um mecanismo de tornozelo de cadeia fechada; como as articulações precisam ser árvores, o engenheiro o modela como uma árvore com uma restrição extra de fechamento de laço e verifica se os limites de torque das juntas resultantes correspondem ao mecanismo real.

Equívocos comuns

  • Coordenadas reduzidas e maximais modelam físicas diferentes — idealmente as duas descrevem a mesma dinâmica; as diferenças vêm da solução numérica, da deriva e da rigidez das restrições
  • Coordenadas reduzidas podem representar diretamente qualquer mecanismo — laços cinemáticos fechados, como em robôs paralelos e mecanismos articulados, precisam de restrições extras de fechamento de laço
  • Usar coordenadas reduzidas elimina a necessidade de um solver de restrições — contatos, limites das juntas e fechamentos de laço continuam sendo restrições que precisam ser resolvidas

Quem deve saber

  • Desenvolvedores de simulação e de motores de física
  • Engenheiros de aprendizado de robôs que usam simuladores em GPU
  • Engenheiros de controle que trabalham com bibliotecas de dinâmica de corpo rígido
  • Engenheiros que preparam modelos de robôs, como arquivos URDF e MJCF

Tecnologias relacionadas

  • PhysX Articulations
  • MuJoCo
  • Pinocchio
  • Drake
  • Algoritmo recursivo de Newton-Euler (Recursive Newton-Euler Algorithm)

Termos relacionados

  • Articulated Body Algorithm
  • DOF
  • Configuration Space
  • URDF
  • Forward Kinematics
  • Differentiable Simulation

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.