Sensorless Force Estimation
- Também chamado: sensorless force sensing, external force estimation, model-based force estimation, proprioceptive force estimation, sensorless torque estimation
- Categoria: Sensing › Contact & force
- Tags: force-estimation, proprioception, dynamics, collision-detection, actuator-modeling, compliant-control
Estimar as forças e torques que um robô exerce sobre o ambiente, ou recebe dele, usando correntes dos motores, estados das juntas e um modelo dinâmico em vez de um sensor de força dedicado.
Definição
Estimativa de força sem sensor (sensorless force estimation) é a prática de inferir forças de contato ou torques externos sobre um robô sem um sensor de força/torque dedicado. Ela usa sinais que o robô já mede, como as correntes dos motores e as posições e velocidades das juntas, junto com um modelo da dinâmica do robô e dos atuadores. A estimativa é a parte do esforço medido dos atuadores que o modelo não consegue explicar pelo próprio movimento do robô, pela gravidade e pelo atrito: o que sobra é atribuído à interação externa.
A cadeia básica começa pela corrente do motor. Em um motor elétrico, o torque é aproximadamente proporcional à corrente por meio da constante de torque, e passar pela relação de transmissão dá um torque aproximado na junta. Subtrair o torque que o modelo de dinâmica de corpo rígido prevê para o movimento medido dá uma estimativa dos torques externos nas juntas. Se for suposto um único local de contato, esses torques podem ser convertidos em uma força no efetuador final por meio da transposta do jacobiano do braço robótico. Como acelerações obtidas a partir de dados ruidosos de encoders não são confiáveis, os métodos comuns as evitam: observadores de perturbação filtram o torque residual, e observadores de momento generalizado usam o momento do robô para estimar o torque externo sem derivar a velocidade.
A maior fonte de erro costuma ser o atuador, e não o braço. Caixas de redução acrescentam atrito que depende da velocidade, da carga, da temperatura e do sentido, além de folga e ripple de torque, e relações de transmissão altas tornam difícil separar forças externas de perdas internas. É por isso que a estimativa sem sensor funciona melhor em projetos com retroacionamento (backdrivable), como atuadores de acionamento direto e de acionamento quase direto, e por isso a identificação do atrito é uma parte grande de qualquer implementação. Modelos aprendidos, como redes neurais que preveem o torque ou o atrito do atuador a partir de sinais do motor, capturam efeitos difíceis de escrever analiticamente.
A estimativa sem sensor é menos precisa que um sensor de força/torque calibrado, mas é mais barata, não acrescenta massa nem fiação no punho e pode detectar contato em qualquer elo, e não só no ponto de montagem do sensor. Ela é amplamente usada para detecção de colisões e para comportamento complacente em robôs com pernas.
Por que importa
Informação de força é necessária para detecção de colisões, interação complacente e manipulação rica em contato, mas sensores de força/torque são caros, frágeis e medem em apenas um ponto. A estimativa sem sensor dá a robôs de baixo custo e a plataformas com pernas uma percepção de contato utilizável a partir do hardware que eles já têm.
Principais aplicações
- Detecção de colisões — parar ou recolher um braço robótico quando ocorre um contato inesperado
- Robôs com pernas — detectar o contato dos pés e estimar as forças de reação do solo a partir dos torques nas juntas
- Braços robóticos de baixo custo — permitir controle complacente e condução manual sem um sensor no punho
- Robôs cirúrgicos e médicos — estimar forças de interação da ferramenta onde é difícil instalar sensores
- Teleoperação háptica — dar ao operador realimentação de força a partir das forças de contato estimadas
Na prática
Uma equipe normalmente começa identificando os parâmetros dinâmicos e de atrito do robô a partir de movimentos registrados sem contato, ajustando o atrito de Coulomb e o viscoso para cada junta e verificando a constante de torque de cada motor. Em seguida, executa um observador de momento ou um observador de perturbação no laço de controle em tempo real e compara sua saída com um sensor de força/torque de referência ou com pesos conhecidos para calibrar os limiares. Para detecção de colisões, define limiares por junta altos o bastante para ignorar o erro de modelo durante movimentos rápidos, mas baixos o bastante para parar o robô rapidamente ao contato; para controle de força, aceita largura de banda e precisão menores do que um sensor daria e verifica de novo os parâmetros de atrito à medida que o robô se aquece.
Equívocos comuns
- A corrente do motor mede diretamente o torque na junta — atrito, perdas na transmissão e a própria dinâmica do robô precisam ser subtraídos antes que forças externas possam ser estimadas
- A estimativa sem sensor é tão precisa quanto um sensor de força/torque — ela costuma ser mais ruidosa e menos precisa, especialmente com caixas de redução de alta relação e em baixas velocidades
- Funciona igualmente bem em qualquer robô — atuadores com retroacionamento e baixo atrito dão estimativas muito melhores do que atuadores com alta redução
- Uma estimativa de torque na junta diz onde está o contato — convertê-la em uma força cartesiana exige conhecer ou estimar o local do contato
Quem deve saber
- Engenheiros de controle que constroem robôs colaborativos e complacentes
- Desenvolvedores de robôs com pernas
- Equipes que projetam braços robóticos de baixo custo
- Pesquisadores que trabalham com modelagem de atuadores e segurança de robôs
Tecnologias relacionadas
- Observador de momento (Momentum Observer)
- Observador de perturbação (Disturbance Observer)
- Sensor de força/torque (Force/Torque Sensor)
- Acionamento quase direto (Quasi Direct Drive)
- Identificação de sistemas (System Identification)
- Jacobiano do braço robótico (Manipulator Jacobian)
Termos relacionados
Projetos relacionados
- Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
- MoveIt 2: Motion planning framework for ROS 2 robot arms, with kinematics and collision checking
- DART: C++ physics engine for articulated rigid body dynamics and robotics simulation
- frax: JAX library for fast, differentiable robot kinematics, dynamics and inverse kinematics
- mjfit: Exact convex collision geometry for MuJoCo pegs, holes, threads and gears