Visual Servoing
- 다른 이름: visual servo control, vision-based control
- 카테고리: Control › Feedback control
- 태그: control, computer-vision, feedback-control, manipulation, closed-loop
시각 피드백을 이용한 로봇 운동의 폐루프 제어로, 카메라 이미지에서 측정한 오차를 계속해서 0으로 몰아간다.
정의
시각 서보잉(visual servoing)은 카메라 측정값을 제어 루프에 직접 넣어 로봇을 제어한다. 한 번 보고 목표가 어디 있는지 추정한 다음 개루프로 움직이는 대신, 로봇은 현재 이미지와 원하는 이미지 사이의 오차를 반복해서 측정하고 그 오차를 줄이는 운동을 지령한다. 오차를 매 주기마다 다시 측정하므로, 로봇은 움직이면서 보정 오차, 모델 부정확성, 목표의 움직임을 바로잡는다.
고전적인 정식화는 이미지 기반과 위치 기반이다. 이미지 기반 시각 서보잉(image-based visual servoing, IBVS)에서는 점 좌표나 직선 파라미터 같은 이미지 특징 위에서 오차를 정의하며, 이미지 야코비안이라고도 하는 상호작용 행렬이 카메라의 속도 트위스트(twist)를 그 특징들의 변화율과 연결한다. 전형적인 제어 법칙은 상호작용 행렬의 의사역행렬에 특징 오차를 곱한 값에 비례하는 카메라 속도를 지령한다. IBVS는 보정 오차에 강하지만 특징 깊이의 추정값이 필요하고, 어색한 3D 카메라 경로를 만들 수 있다. 위치 기반 시각 서보잉(position-based visual servoing, PBVS)에서는 이미지를 사용해 목표의 3D 자세를 추정하고, 제어기가 자세 오차를 직접 조정한다. 이는 데카르트 공간에서 직선 운동을 주지만 정확한 보정과 자세 추정에 의존한다. 2.5D 시각 서보잉 같은 하이브리드 방식은 둘을 결합한다. 카메라는 로봇에 장착할 수도 있고(eye-in-hand), 작업 공간에 고정해 로봇과 목표를 함께 관찰하게 할 수도 있다(eye-to-hand).
학습 기반 시각 서보잉은 손으로 설계한 특징이나 제어 법칙을 신경망으로 대체한다. 신경망은 현재 이미지와 목표로부터 엔드 이펙터가 움직여야 할 방향이나 속도를 예측할 수 있고, 로봇은 작은 한 걸음을 실행한 뒤 이를 반복한다. 이렇게 하면 폐루프 구조를 유지하면서도, 손으로 만든 특징을 정의하기 어려운 물체와 장면을 다룰 수 있다.
중요한 이유
로봇과 카메라의 캘리브레이션은 결코 완벽하지 않으며, 물체가 모델이 말하는 위치에 정확히 놓여 있는 경우는 드물다. 시각으로 루프를 닫으면 로봇은 사전에 모든 것을 얼마나 잘 보정했는지보다 주로 카메라가 보는 것에 따라 정확도가 정해지는 방식으로 도달하고, 정렬하고, 삽입할 수 있다.
주요 응용
- 펙 인 홀, 커넥터 및 기타 정밀 정렬 작업
- 움직이거나 위치가 잘 파악되지 않은 물체의 파지
- 내시경 카메라를 이용한 수술 및 의료 기구 위치 결정
- 이동 로봇과 드론의 충전 스테이션 또는 목표물 도킹
- 이미지로부터 목표 물체를 향해 학습된 도달 동작
실제 사례
손목 카메라가 달린 로봇 팔이 회로 기판 위 커넥터에 그리퍼를 정렬해야 한다. 커넥터 옆 피듀셜 마커의 네 모서리를 이미지 특징으로 쓰고, 그리퍼를 손으로 올바른 자세에 한 번 놓아 그 원하는 픽셀 위치를 기록한다. 실행 시에는 카메라 주기로 도는 제어기가 모서리를 검출하고, 픽셀 오차를 계산하고, 근사 깊이를 사용해 이를 상호작용 행렬의 의사역행렬과 곱한 뒤, 그 결과인 카메라 속도를 핸드-아이 변환과 로봇 야코비안을 거쳐 팔에 보낸다. 진동을 피하기 위해 수렴 근처에서 이득을 줄이고, 픽셀 오차가 임계값 아래로 떨어지면 루프를 멈춘다. 핸드-아이 캘리브레이션의 작은 오차는 경로를 바꾸지만 최종 정렬은 바꾸지 않는다.
흔한 오해
- 시각 서보잉에는 완벽하게 보정된 카메라가 필요하다 — 특히 이미지 기반 방식은 보정 오차와 깊이 오차가 어느 정도 있어도 올바른 이미지로 수렴한다
- 목표를 검출한 다음 그쪽으로 움직이는 것과 같다 — 시각 서보잉은 개루프 계획을 실행하는 대신 운동 중에도 계속 측정하고 보정한다
- 이미지 기반 서보잉은 항상 카메라를 직선으로 움직인다 — 이미지에서의 직선 경로가 3D에서는 휘거나 뒤로 물러나는 경로가 될 수 있고, 특징이 시야를 벗어날 수도 있다
알아야 할 사람
- 조작 및 조립 엔지니어
- 로봇 비전 및 인식 개발자
- 의료 및 수술 로봇 엔지니어
- 드론 및 이동 로봇 도킹 개발자
관련 기술
- ViSP
- 상호작용 행렬(Interaction Matrix)
- 핸드-아이 캘리브레이션(Hand-Eye Calibration)
- 피듀셜 마커(Fiducial Markers)
- OpenCV
관련 용어
관련 프로젝트
- 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
동영상
- Image-Based Visual Servoing - Robot Control Part 1: Engineering Educator Academy
- Robot Image-based Visual Servoing I | Robotic Systems: Leopoldo Armesto