Visual Servoing
Görsel servo kontrol, hedefe doğru sürekli görsel düzeltmeler yaparak robot hareketini yönlendirmek için kamera görüntülerini kullanan bir geri beslemeli kontrol yöntemidir.
Görsel servo kontrolü, kameradan alınan görüntüleri kullanarak robotun hareketini istenen konuma veya görüntüye doğru sürekli ayarlayan bir geri besleme kontrol tekniğidir. Robot görsel özellikleri gözlemler, bu özelliklerin hedef yapılandırmadan ne kadar farklı olduğunu ölçer ve yeni görüntüler geldikçe hareketini düzeltir. Bu yaklaşım, görüntüleri yorumlayan bilgisayarlı görü ile bu ölçümleri fiziksel eyleme dönüştüren robotik alanlarını bir araya getirir. Görsel servo kontrolü eş anlamlı bir terimdir. J. Hill ve W. T. Park, terimi 1979'da Hareketli Kameralı Bir Robotun Gerçek Zamanlı Kontrolü adlı çalışmayla ortaya attı.
Görsel Servo Kontrolü Nasıl Çalışır?#
Görsel servo kontrolü sistemi, mevcut gözlemleri istenen bir görüntüyle veya göreli pozla karşılaştırır. Özellik çıkarımı, anahtar noktalar, çizgi konumları veya nesne konturları gibi ölçümler sağlar. Bir kontrolcü, ortaya çıkan hatayı hareket komutlarına dönüştürür. Hareket, kameranın gözlemlerini değiştirerek geri besleme döngüsünü kapatır ve robot hedefine yaklaşırken tekrarlanan düzeltmelere olanak tanır.
Etkileşim matrisi (diğer adıyla görüntü Jacobian'ı), kamera hareketinin görsel ölçümleri nasıl değiştirdiğini tanımlar. Matrisin sözde tersi, özellik hatasını düzeltici bir hıza dönüştürür; kontrolcü kazancı ise düzeltmenin gücünü belirler. Kameranın montaj biçimi iki yaygın düzen oluşturur: eye-in-hand düzeninde kamera hareketli aracın üzerine yerleştirilirken eye-to-hand düzeninde çalışma alanını gözlemleyen harici bir kamera kullanılır.
Ultralytics YOLO, bu döngü için algı ölçümleri sağlar: YOLO26, nesne tespiti aracılığıyla sınırlayıcı kutular üretir ve ROS entegrasyonu, kameradan elde edilen tespitleri ve derinlik bilgilerini robot yazılım bileşenleri arasında aktarır. Alt aşamadaki bir kontrolcü, bu ölçümleri kullanarak hareketi hesaplar.
Görüntü Tabanlı ve Poz Tabanlı Görsel Servo Kontrolü#
Temel yöntemler, kontrol hatasının gösterim biçimine göre farklılık gösterir:
- Görüntü tabanlı görsel servo kontrolü (IBVS): Nokta koordinatları gibi mevcut ve istenen görüntü özellikleri arasındaki farkları en aza indirir. Nokta özelliği kullanan kontrolcüler, görüntü hareketini fiziksel harekete bağlamak için kamera geometrisinden ve derinlik tahminlerinden yararlanır.
- Poz tabanlı görsel servo kontrolü (PBVS): Üç boyutlu konum ve yönelimi belirlemek için poz kestirimi kullanır, ardından istenen pozla arasındaki farkı azaltır. Kamera kalibrasyonu ve geometrik yeniden yapılandırma, doğruluğu etkiler.
- Hibrit görsel servo kontrolü: Görüntü uzayındaki ölçümleri üç boyutlu ölçümlerle birleştirir. Yerleşik 2.5D görsel servo kontrolü yaklaşımı, görüntü özelliklerini kısmi poz bilgileriyle bir araya getirir.
Nesne izleme, kareler arasında özellik veya nesne eşleşmesini korur; görsel servo kontrolü ise bu gözlemleri hareketi kontrol etmek için kullanır. Görsel SLAM, kamera hareketini kestirir ve bir harita oluşturur. Bu algı yetenekleri, robotun navigasyon ve kontrol sisteminin farklı bölümlerini destekler.
Uygulamalar ve Pratik Kısıtlamalar#
- Robotik Kavrama: Yakın mesafeli kavrama sırasında RGB-D kamera, minimum derinlik algılama mesafesinin altına inerek geçerli mesafe ölçümlerini kaybedebilir. Kapalı döngü görsel kavrama, nesne hareket ettiğinde de RGB özellik ölçümlerini kullanarak son yaklaşımı düzeltmeye devam etmek için IBVS'den yararlanır.
- Mobil Robot Konumlandırma: ViSP Pioneer gösterimi, kameralı bir Pioneer P3-DX robotunun görsel bir hedefe göre konumunu kontrol eder. Hedef gözlemleri, poz tabanlı bir kontrolcü aracılığıyla robotun hareketini düzeltmek için kullanılır.
Zamanlama ve görünürlük, kontrolü doğrudan etkiler. Görüntü işleme gecikmesi izleme gecikmesine yol açabilir ve döngüyü kararsız hâle getirebilir. Bu nedenle gerçek zamanlı çıkarım sırasında çıkarım gecikmesi, tespit doğruluğu kadar önemlidir. Örtüşme, özellik eşleşmesini kesintiye uğratırken kötü koşullandırılmış özellik geometrisi, hız tahminlerini görüntü gürültüsüne duyarlı hâle getirir. Sensör füzyonu, hareket sırasında kullanışlı durum tahminlerini korumak için görsel ölçümleri eklem enkoderleri gibi bilgilerle birleştirir.
Basit Bir IBVS Simülasyonu#
Bu Python simülasyonu, sabit bir noktayı gözlemlerken yana doğru hareket eden kameraya standart sözde ters kontrol yasasını uygular. NumPy'yi pip install numpy ile yükle.
import numpy as np
point = np.array([0.0, 0.0, 2.0])
camera = np.array([-0.4, 0.2, 0.0])
desired = np.zeros(2)
gain, dt, focal_pixels = 1.0, 0.05, 800.0
initial_error = np.linalg.norm((point - camera)[:2] / point[2])
for _ in range(200):
relative = point - camera
observed = relative[:2] / relative[2]
error = observed - desired
# Interaction matrix for sideways camera translation.
interaction = -np.eye(2) / relative[2]
velocity = -gain * np.linalg.pinv(interaction) @ error
camera[:2] += velocity * dt
final_error = np.linalg.norm((point - camera)[:2] / point[2])
print(f"Pixel error: {initial_error * focal_pixels:.2f} -> {final_error * focal_pixels:.2f}")Nokta, tekrarlanan düzeltmelerle merkeze geldikçe görüntü hatası yaklaşık 178,89 pikselden 0,01 piksele düşer. Nokta özelliklerinde öteleme etkileşim terimleri derinlikle ters orantılıdır: Noktanın derinliği iki katına çıkarsa, kameranın aynı miktarda yana doğru ötelenmesinin oluşturduğu görüntü kayması yarıya iner.










