Otonom Araçlarda Görüntü İşleme ile Şerit Takibi

Simülasyondan Gerçekliğe Bir Yolculuk

Giriş

Bir otonom aracın en temel görevlerinden biri şeridinde kalmaktır. Bunun için aracın önüne yerleştirilen kameralarla gerçek zamanlı görüntü alınır ve bu görüntü üzerinden işaretli şerit çizgileri algılanarak aracın konumu sürekli olarak düzeltilir. Bu yazıda, OpenCV kullanarak nasıl şerit algılama sistemi geliştirdiğimi ve bunu ROS 2 simülasyonu ile nasıl entegre ettiğimi anlatacağım.

1. Proje Süreci ve Kullandığım Teknolojiler

ROS node-topic yapısı

2. Kamera Görüntüsünü İşlemek

ROS 2 üzerinden gelen görüntülerde sarı şerit çizgisini bulmak için şu işlemleri uyguladım:


lower_yellow = np.array([20, 100, 100])
upper_yellow = np.array([35, 255, 255])
mask = cv2.inRange(hsv, lower_yellow, upper_yellow)
    
Kamera ve IMU ile karar verme şeması

3. ROI (Region of Interest)

Kameranın açısı eğik olduğu için görüntünün üst 1/3.2’lik kısmı kesildi. Böylece gereksiz alanlar işlenmeden şerit takibi daha güvenilir hale geldi.

4. Hata Değeri ile Araç Yönü Hesaplama

Şeridin orta noktası ile görüntü orta noktası arasındaki fark alınarak hata değeri hesaplandı:


error = line_center_x - frame_center_x
    

Eğer bu hata 0.3 altında ise araç düz gitmeye devam etti. Aksi durumda dönme komutu gönderildi.

5. Karar Mekanizması (Decision Layer)

`decision_maker.py` modülünde bu hata analizi yapılarak araca `cmd_vel` mesajı gönderildi.

6. Öğrendiğim Şeyler

Sonuç

Teorik bilgilerin pratiğe dönüşmesini sağlayan bu proje sayesinde, görüntü işleme ve otonom sürüş sistemleri konularında önemli deneyimler kazandım. ROS 2 simülasyon ortamı, testler için büyük kolaylık sağladı.

📩 Görüşünü Paylaş | 🔗 LinkedIn