Visual Servoing
- Também chamado: visual servo control, vision-based control
- Categoria: Control › Feedback control
- Tags: control, computer-vision, feedback-control, manipulation, closed-loop
Controle em malha fechada do movimento de um robô usando realimentação visual, em que um erro medido nas imagens da câmera é continuamente levado a zero.
Definição
Servocontrole visual (visual servoing) controla um robô alimentando as medições da câmera diretamente na malha de controle. Em vez de olhar uma vez, estimar onde está um alvo e depois se mover em malha aberta, o robô mede repetidamente um erro entre a imagem atual e uma imagem desejada e comanda um movimento que o reduz. Como o erro é medido de novo a cada ciclo, o robô corrige ao longo do caminho os erros de calibração, as imprecisões do modelo e o movimento do alvo.
As formulações clássicas são a baseada em imagem e a baseada em posição. No servocontrole visual baseado em imagem (image-based visual servoing, IBVS), o erro é definido sobre características da imagem, como coordenadas de pontos ou parâmetros de retas, e a matriz de interação, também chamada de jacobiano de imagem, relaciona o twist de velocidade da câmera à taxa de variação dessas características. Uma lei de controle típica comanda uma velocidade da câmera proporcional à pseudoinversa da matriz de interação multiplicada pelo erro das características. O IBVS tolera erros de calibração, mas precisa de uma estimativa da profundidade das características e pode produzir trajetórias 3D da câmera desajeitadas. No servocontrole visual baseado em posição (position-based visual servoing, PBVS), a imagem é usada para estimar a pose 3D do alvo, e o controlador regula diretamente o erro de pose; isso dá movimento em linha reta no espaço cartesiano, mas depende de calibração e estimativa de pose precisas. Esquemas híbridos, como o servocontrole visual 2.5D, combinam os dois. A câmera pode ser montada no robô (olho na mão, eye-in-hand) ou fixa no espaço de trabalho, observando tanto o robô quanto o alvo (olho para a mão, eye-to-hand).
O servocontrole visual aprendido substitui características ou leis de controle projetadas à mão por redes neurais. Uma rede pode prever, a partir da imagem atual e de um objetivo, a direção ou a velocidade com que o efetuador final deve se mover, e o robô executa um pequeno passo e repete. Isso mantém a estrutura de malha fechada e ao mesmo tempo lida com objetos e cenas para os quais é difícil definir características feitas à mão.
Por que importa
A calibração do robô e da câmera nunca é perfeita, e os objetos raramente estão exatamente onde um modelo diz que estão. Fechar a malha com visão permite que um robô alcance, alinhe e insira com uma precisão que depende principalmente do que a câmera vê, e não de quão bem tudo foi calibrado antes.
Principais aplicações
- Inserção de pino em furo (peg-in-hole), de conectores e outras tarefas de alinhamento preciso
- Preensão de objetos em movimento ou mal localizados
- Posicionamento de instrumentos cirúrgicos e médicos com câmeras endoscópicas
- Acoplamento de robôs móveis e drones a estações de recarga ou alvos
- Alcance aprendido de objetos-alvo a partir de imagens
Na prática
Um braço com uma câmera de punho precisa alinhar sua garra com um conector em uma placa de circuito. Quatro cantos de um marcador fiducial ao lado do conector servem como características de imagem, e suas posições desejadas em pixels são registradas uma vez, posicionando a garra à mão na pose correta. Em execução, um controlador que roda na taxa da câmera detecta os cantos, calcula o erro em pixels, multiplica-o pela pseudoinversa da matriz de interação usando uma profundidade aproximada e envia a velocidade de câmera resultante ao braço por meio da transformação mão-olho e do jacobiano do robô. O ganho é reduzido perto da convergência para evitar oscilação, e a malha para quando o erro em pixels cai abaixo de um limiar. Pequenos erros na calibração mão-olho mudam o caminho, mas não o alinhamento final.
Equívocos comuns
- O servocontrole visual precisa de uma câmera perfeitamente calibrada — os esquemas baseados em imagem, em particular, convergem para a imagem correta mesmo com erros moderados de calibração e de profundidade
- É o mesmo que detectar um alvo e depois se mover até ele — o servocontrole visual continua medindo e corrigindo durante o movimento, em vez de executar um plano em malha aberta
- O servocontrole baseado em imagem sempre move a câmera em linha reta — caminhos retos na imagem podem gerar trajetórias curvas ou de recuo em 3D, e as características podem sair do campo de visão
Quem deve saber
- Engenheiros de manipulação e de montagem
- Desenvolvedores de visão e percepção robótica
- Engenheiros de robótica médica e cirúrgica
- Desenvolvedores de acoplamento de drones e robôs móveis
Tecnologias relacionadas
- ViSP
- Matriz de interação (Interaction Matrix)
- Calibração mão-olho (Hand-Eye Calibration)
- Marcadores fiduciais (Fiducial Markers)
- OpenCV
Termos relacionados
Projetos relacionados
- LeRobot: HuggingFace ML library for real-world robotics in PyTorch
- Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim
- NVIDIA Isaac GR00T: NVIDIA open foundation model for humanoid robot reasoning and skills
- OpenVLA: 7B-parameter Vision-Language-Action model for robotic manipulation
- Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
- OpenArm: 7DOF humanoid arm for physical AI research in contact-rich environments
Vídeos
- Image-Based Visual Servoing - Robot Control Part 1: Engineering Educator Academy
- Robot Image-based Visual Servoing I | Robotic Systems: Leopoldo Armesto