Open Source Robotics

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

System Identification

  • Também chamado: SysID, Sys ID, model identification, parameter identification
  • Categoria: Learning & autonomy › RL & simulation
  • Tags: dynamics, modeling, sim-to-real, parameter-estimation, control, simulation

O processo de construir um modelo matemático de um robô ou de outro sistema dinâmico a partir de dados medidos de entrada e saída, de modo que seu comportamento previsto corresponda ao hardware real.

Definição

Identificação de sistemas (system identification) é a prática de estimar um modelo de um sistema dinâmico a partir de dados experimentais. Os engenheiros aplicam entradas conhecidas (comandos de motor, torques, tensões), registram as saídas resultantes (posições e velocidades das juntas, forças) e ajustam os parâmetros de um modelo para que suas previsões correspondam ao que foi medido. A área tem sua própria tradição de livros-texto, com System Identification: Theory for the User, de Lennart Ljung, como referência padrão.

As abordagens costumam ser descritas por quanta física pressupõem. A identificação de caixa branca ou de caixa cinza parte de equações conhecidas, como a dinâmica de corpos rígidos, e estima as constantes desconhecidas: massas dos elos, centros de massa, inércias, coeficientes de atrito, constantes dos motores e eficiências das engrenagens. A identificação de caixa preta ajusta um modelo genérico, como uma função de transferência ou uma rede neural, com pouca estrutura prévia. Para braços robóticos seriais, a dinâmica de corpos rígidos é linear nos parâmetros inerciais, então eles podem ser estimados por mínimos quadrados depois que o regressor é montado a partir de trajetórias medidas das juntas.

A qualidade dos dados decide o resultado. A entrada precisa ser persistentemente excitante, ou seja, precisa movimentar o sistema o suficiente para revelar cada parâmetro estimado; um robô que só se move devagar não consegue revelar sua inércia, e um que nunca inverte o sentido esconde seu atrito. Por isso as equipes projetam trajetórias de excitação, filtram as estimativas ruidosas de velocidade e aceleração e validam o modelo com dados que não foram usados no ajuste.

No aprendizado de robôs, a identificação de sistemas é usada para calibrar simuladores, de modo que uma política treinada em simulação encontre uma correspondência mais próxima no hardware real. Ela atua ao lado da randomização de domínio, que cobre o que a identificação não consegue determinar, e ao lado de modelos residuais aprendidos, que capturam efeitos que a estrutura de modelo escolhida deixa de fora. Alguns controladores aprendidos realizam uma forma de identificação online, adaptando-se à dinâmica que observam durante a operação.

Por que importa

Todo controlador, simulador e planejador baseado em modelo só é tão bom quanto o modelo por trás dele. A identificação de sistemas é a forma como uma equipe transforma um modelo CAD e uma folha de dados em um modelo que prevê o robô real, o que afeta diretamente a precisão de rastreamento, as margens de segurança e o quão bem o treinamento simulado se transfere para o hardware.

Principais aplicações

  • Calibração de simuladores físicos para corresponderem aos robôs reais antes da transferência sim-to-real
  • Estimativa de parâmetros inerciais e de atrito para controle feedforward e por torque computado
  • Modelagem de atuadores, incluindo constantes dos motores, atrasos e limites de torque
  • Identificação da massa e da inércia da carga útil para que um braço robótico possa compensar um objeto pego
  • Construção de modelos de sistemas macios ou flexíveis cujos parâmetros são difíceis de calcular a partir de princípios básicos

Na prática

Uma equipe que coloca em funcionamento um novo braço robótico normalmente parte do URDF e das inércias do CAD e depois executa trajetórias de excitação em cada junta ou no braço inteiro enquanto registra as posições das juntas, as correntes e os torques comandados. Ela estima o atrito (muitas vezes termos de Coulomb mais viscosos), as constantes de torque dos motores e os parâmetros inerciais base por mínimos quadrados, verifica o modelo ajustado com uma trajetória reservada e carrega os valores identificados tanto nos termos feedforward do controlador quanto no simulador. Ao treinar políticas em simulação, os mesmos valores identificados definem o centro das faixas de randomização de domínio, e efeitos dos atuadores, como latência ou saturação de torque, são medidos separadamente e modelados explicitamente.

Equívocos comuns

  • A identificação de sistemas produz um modelo exato — ela encontra o melhor ajuste dentro da estrutura de modelo escolhida e da faixa dos dados; efeitos não modelados permanecem
  • Qualquer movimento gravado serve como dado — as entradas precisam excitar cada parâmetro estimado, ou alguns parâmetros simplesmente não são observáveis
  • Identificação de sistemas e randomização de domínio são abordagens concorrentes — elas são complementares, com a identificação estreitando as faixas que a randomização depois cobre

Quem deve saber

  • Engenheiros de controle que projetam controladores baseados em modelo
  • Pesquisadores de aprendizado de robôs que trabalham com transferência sim-to-real
  • Engenheiros de simulação que constroem gêmeos digitais de robôs físicos
  • Engenheiros de hardware que caracterizam novos atuadores

Tecnologias relacionadas

  • Randomização de domínio (Domain Randomization)
  • Transferência sim-to-real (Sim-to-Real Transfer)
  • Estimação por mínimos quadrados (Least Squares Estimation)
  • Filtro de Kalman (Kalman Filter)
  • Controle adaptativo (Adaptive Control)
  • Gêmeo digital (Digital Twin)

Termos relacionados

  • Sim2Real
  • Domain Randomization
  • Digital Twin
  • 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

Vídeos

  • System Identification Methods: Brian Douglas
  • What Is System Identification? | System Identification, Part 1: MATLAB

Wikipédia

  • Identificação de sistemas

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