Open Source Robotics

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

NeuralActuator: Neural Actuation Modeling for Robot Dynamics and External Force Perception

Autores: Zhiyang Dou, John U. Onyemelukwe, Hangxing Zhang, Heng Zhang, Minghao Guo, Yunsheng Tian, Michal Piotr Lipiec, Joshua Jacob, Chao Liu, Peter Yichen Chen, Yuri Ivanov, Wojciech Matusik · RSS 2026

Licenças

  • Acesso aberto
  • Artigo: CC BY 4.0

Tudo o que segue se baseia no artigo completo sob a licença CC BY 4.0; sua figura é mostrada com crédito aos autores.

Em resumo

Um modelo de atuador baseado em transformadores para braços com servos de baixo custo, treinado através do MuJoCo diferenciável a partir de dados de pose, estima a força no efetuador final sem sensor de força e melhora a imitação sensível à força.

Por que importa

Dá a braços de baixo custo um sinal de força utilizável sem sensor de força/torque no momento da inferência, com inferência em GPU abaixo de um milissegundo, acima de uma taxa de controle de 60 Hz. Esse sinal aumentou o sucesso da clonagem de comportamento em tarefas com carga, e o modelo pode ser recalibrado em uma nova unidade com 12 trajetórias em cerca de seis minutos.

Problema

Braços com servos de baixo custo usam atuadores CC com escovas e redução em que atrito, histerese, folga e deriva térmica quebram a hipótese de relação linear entre corrente e torque. Isso corrompe a simulação, o rastreamento de esforço e qualquer estimativa de força baseada na corrente do motor. Modelos de atuador aprendidos anteriores precisam de rótulos de torque de sensores de torque nas juntas ou de corrente calibrada, que essas plataformas não fornecem de forma confiável.

Solução proposta

O NeuralActuator é um transformador de quatro camadas que lê nove quadros de comandos, estados das juntas e telemetria dos atuadores (corrente ou carga, tensão, temperatura) e produz um substituto de torque, uma força 3D bruta no efetuador final, uma porta de probabilidade de contato e uma pontuação de condição por motor. A cabeça de torque é treinada propagando-a por um simulador diferenciável MuJoCo/MJX e ajustando-se às poses medidas, de modo que não são necessários rótulos de torque; as cabeças de força, de porta e de condição são treinadas diretamente com rótulos do novo Neural Actuation Dataset, gravado com um par líder-seguidor de braços OpenManipulator-X e um sensor de força/torque de seis eixos.

Principais ideias

  • Em servos de baixo custo com redução, o mapa linear entre corrente e torque pode falhar completamente: ajustar Kt por junta no OpenManipulator-X deu inclinações negativas em duas juntas antes do limite ser aplicado
  • Trajetórias de pose propagadas por um simulador diferenciável bastam para supervisionar um substituto de torque quando não existem rótulos de torque
  • Separar a regressão de força de uma porta de probabilidade de contato mantém a força prevista perto de zero quando não há contato, situação em que observadores clássicos acusam contatos falsos
  • Modelos paramétricos de atrito fixos (Stribeck, folga) acrescentam pouco ao modelo linear nesses servos; uma rede condicionada ao histórico captura as não linearidades dominantes
  • A força prevista, usada como entrada extra, melhora políticas de aprendizado por imitação na manipulação de cargas

Principais resultados

  • Benchmark de carga a 100 passos: MAE de força de 0,12 N contra 0,66 N da melhor linha de base clássica (observador de momento generalizado), 1,23 N do ID-Friction e 1,41 N do ID-Linear; os métodos clássicos mostraram 33-59 % de contatos falsos positivos no regime sem contato
  • Benchmark com sensor de seis eixos e forças de até 9 N: MAE de força de 0,36-0,39 N a 100 passos e 0,38-0,57 N a 500 passos; 0,00-0,02 N previstos em referências sem contato
  • Clonagem de comportamento em 40 tentativas: o sucesso em pegar e colocar subiu de 80 % para 92,5 % e em subir e permanecer de 85 % para 95 % com a entrada de força do NeuralActuator
  • Detecção da condição do motor (junta 3 restringida com elástico): 91,0 % de acurácia, 96,2 % de revocação e 0,95 de AUC-ROC, contra 67,1 % de acurácia e 0,72 de AUC-ROC da melhor linha de base feita à mão (Random Forest)
  • Tempo de execução: 1,44M parâmetros, inferência média em GPU de 0,25 ms e vazão de 4.019 Hz com tamanho de lote 1
  • Entre plataformas: MAE de força offline no Franka Panda de 0,26-0,42 N com cargas de 200-600 g; MAE de força no SO-101 de 0,47-0,73 N a 500 passos; a adaptação online com 12 trajetórias (356 s) reduziu o erro de rastreamento em cerca de 44 %

Limitações

  • Execuções de horizonte longo condicionadas à telemetria gravada acumulam erro e acabam degradando a precisão do rastreamento (os autores mitigam isso com adaptação online com poucas trajetórias)
  • O substituto de torque é equivalente ao do simulador, não um torque de atuador medido: quando contatos ou cargas estão ausentes do modelo direto, ele pode absorver seus efeitos e outras discrepâncias do modelo
  • A inferência online precisa de telemetria dos atuadores ao vivo, e o modelo não consegue simular comandos candidatos não executados, por isso não pode ser usado em planejamento contrafactual como MPC sem um modelo adicional de resposta de esforço
  • A cabeça de força estima uma única força resultante 3D no efetuador final: sem localização de contatos em múltiplos pontos nem wrench completo, e precisa de rótulos de força explícitos para o treinamento
  • Cargas de cerca de 50 g ou menos (cerca de 0,5 N) ficam perto do piso de ruído da plataforma de baixo custo; os resultados com o Franka são um benchmark offline que usa um estado futuro como aproximação do sinal de comando

Impacto na área

Vencedor do RSS 2026 Outstanding Systems Paper in Memory of Seth Teller Award e finalista do RSS 2026 Outstanding Paper Award; 5 citações até agora. Os autores disponibilizam o Neural Actuation Dataset e indicam uma página do projeto e um repositório de código.

Resumo

Simuladores diferenciáveis impulsionaram o aprendizado de políticas e o controle baseado em modelos, mas a dinâmica dos atuadores continua sendo uma fonte importante de erro sim-to-real. Isso é particularmente grave em plataformas de baixo custo, em que a relação linear entre corrente e torque τ = K_t·I deixa de ser confiável durante o rastreamento de alvos comandados por causa de atrito, histerese, folga e efeitos térmicos. Apresentamos o NeuralActuator, um modelo neural de atuador que prevê conjuntamente (i) um substituto de esforço generalizado equivalente ao do simulador para a propagação de trajetórias em plataformas de servos de baixo custo, (ii) a força externa com uma porta de probabilidade de contato para percepção de força sem sensores, e (iii) uma pontuação de condição do motor para a junta supervisionada. Também apresentamos o Neural Actuation Dataset (NAD), coletado com um sistema de teleoperação de braços gêmeos que registra os estados do robô e a telemetria dos atuadores junto com rótulos de força externa. A cabeça do substituto de torque é treinada por simulação diferenciável a partir de trajetórias de pose, sem rótulos diretos de esforço generalizado, enquanto as cabeças de força, de porta e de condição do motor recebem supervisão direta. Um transformador captura as dependências temporais e permite inferência em tempo real. Avaliamos o NeuralActuator em um OpenManipulator-X de 5-DoF, um SO-101 de 6-DoF e um Franka Emika Panda de 7-DoF, abrangendo três famílias de atuadores e plataformas que custam de aproximadamente USD 500 a mais de USD 30.000. As plataformas de baixo custo permitem avaliar a dinâmica e a força, enquanto o experimento offline com o Franka fornece um benchmark adicional de estimativa da força da carga. Os experimentos demonstram ainda sua aplicação na estimativa da condição do motor no OpenManipulator-X e uma melhora no desempenho da clonagem de comportamento quando o NeuralActuator é usado como módulo pré-treinado.

Links

  • arXiv 2607.11734: https://arxiv.org/abs/2607.11734
  • DOI 10.15607/rss.2026.xxii.159: https://doi.org/10.15607/rss.2026.xxii.159
  • PDF: https://arxiv.org/pdf/2607.11734v1
  • Código: https://github.com/Frank-ZY-Dou/Dynamics-Modeling/tree/main/NeuralActuator
  • Página do projeto: https://frank-zy-dou.github.io/projects/NeuralActuator/index.html

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