Search Code

Ders 9/10: Raspberry Pi Pico 4WD Akıllı Araba ile Engel Kaçınma

Bu ders, bir parçasıdır: Raspberry Pi Pico 4WD Akıllı Araba

Ders 9/10: Raspberry Pi Pico 4WD Akıllı Araba ile Engel Kaçınma

Giriş

Robojax'ın 10 dersten oluşan Kurs Ders 9'una dayanan bu kılavuz, SunFounder Raspberry Pi Pico 4WD Akıllı Araç kitini kullanarak engellerden kaçınan bir robotun nasıl inşa edileceğini gösterir. Proje, servo tahrikli ultrasonik sensörü motor kontrolüyle birleştirerek çevresinde otonom olarak gezinebilen bir robot oluşturur. Sensörü radar gibi tarayarak araç engelleri algılar ve ilerlemek için akıllıca boş bir yol seçer; bu da onu robotik, sensör entegrasyonu ve otonom navigasyona mükemmel bir giriş haline getirir.

Bu proje yalnızca bir oyuncak değil; birçok pratik uygulama için bir temeldir. İşte size ilham verecek birkaç fikir:

  • Otonom Keşif Robotu: İnsan müdahalesi olmadan bir odayı veya dış alanı haritalayıp keşfedebilen bir robot inşa edin.
  • Akıllı Süpürge: Temizlik yaparken mobilyalardan ve duvarlardan kaçınarak bir odada gezen bir robot oluşturmak için aynı ilkeleri kullanın.
  • Güvenlik Devriye Botu: Arabayı bir çevreyi devriye gezecek şekilde programlayın ve beklenmedik engelleri veya izinsiz girişleri algılamak ve raporlamak için ultrasonik sensörü kullanın.
  • Yapay Zeka için Eğitim Platformu: Bu projeyi yol bulma ve eşzamanlı konumlandırma ve haritalama (SLAM) gibi daha karmaşık algoritmaları öğrenmek için bir basamak olarak kullanın.

Bu ders, aracın kararlar almasını sağlayan temel mantık ve koda odaklanır. Araç, ultrasonik sensörü döndürmek için bir servo motor kullanır ve 0 ila 180 derece arasındaki mesafeleri ölçen bir radar görevi görür. Kod, bu verileri analiz ederek en geniş boş yolu bulur ve aracı buna göre ileri, sola veya sağa hareket ettirir. Video, tek tek bileşenlerin test edilmesinden nihai engelden kaçınma algoritmasının gerçek dünyadaki bir labirentte çalıştırılmasına kadar tüm süreci gösterir.

Donanım/Bileşenler

Bu proje, SunFounder Raspberry Pi Pico 4WD Akıllı Araç kitine dayanmaktadır. Bu derste kullanılan temel bileşenler şunlardır:

  • Raspberry Pi Pico mikrodenetleyici kartı
  • Dört motorlu SunFounder 4WD Akıllı Araç şasisi
  • Motor sürücü kartı
  • Ultrasonik mesafe sensörü (HC-SR04 tipi)
  • Servo motor (ultrasonik sensörü döndürmek için)
  • Güç kaynağı (araç için piller)

Bağlantı Kılavuzu

SunFounder kiti kolay montaj için tasarlanmıştır ve kablolama genellikle özel bir genişletme kartı aracılığıyla önceden bağlanır. Ultrasonik sensör servo motora monte edilir ve ardından ana kontrol kartına bağlanır. Bu kurulum, sensörün çevreyi taramak için döndürülmesine olanak tanır. Kitinize özel ayrıntılı bir bağlantı şeması için lütfen resmi SunFounder belgelerine bakın.

Temel bağlantılar, ultrasonik sensörün tetikleme ve yankı pinlerini ve servo motorun sinyal pinini içerir; bunların tümü Raspberry Pi Pico üzerindeki belirli GPIO pinlerine bağlanır. Motor sürücüsü ayrıca dört tahrik motorunu kontrol etmek için Pico'ya bağlanır. Video, bağlantı şemaları dahil tam belgelerin kit ile birlikte indirilebileceğini belirtir.

Kod Açıklaması

Bu ders, `obstacle_avoid` örneğindeki mantığa odaklanır. Kod MicroPython'da yazılmıştır. Tam program indirilebilir olsa da, aracın davranışını kontrol eden önemli, kullanıcı tarafından yapılandırılabilir parametrelere odaklanacağız. Bunlar genellikle betiğin en üstünde bulunur.

Robotunuzun performansını ince ayarlamak için ayarlayabileceğiniz ana değişkenler şunlardır:


# Radar ve hareket parametreleri
radar_reference = 20  # Güvenli kabul edilecek minimum mesafe cm cinsinden
step_angle = 10       # Her radar tarama adımı için açı artışı
forward_speed = 30    # İleri hareket için motor hızı (0-100)
turn_speed = 50       # Dönüş için motor hızı (0-100)
forward_scan_angle = 50  # Engel algılanmadığında servo tarafından taranan açı
  • radar_reference: Bu, santimetre cinsinden kritik güvenlik mesafesidir. Bir engel bu değerden daha yakın algılanırsa, araç bunu bir "tehlike" olarak değerlendirir ve bir kaçınma manevrası başlatır. Videoda bu 20 cm olarak ayarlanmıştır.
  • step_angle: Bu, radar taramasının çözünürlüğünü tanımlar. Daha küçük bir değer (örn. 10 derece) daha ayrıntılı bir tarama anlamına gelir ancak daha uzun sürer. Daha büyük bir değer daha hızlı olur ancak dar engelleri kaçırabilir.
  • forward_speed ve turn_speed: Bunlar motorlara gönderilen gücü kontrol eder. Aracın genel hızını ve çevikliğini değiştirmek için bunları ayarlayabilirsiniz. Dönüş hızı, aracın etkili bir şekilde dönebilmesini sağlamak için genellikle daha yüksek ayarlanır.
  • forward_scan_angle: Hemen önünde acil bir tehlike olmadığında, araç taramasını doğrudan yolundaki engelleri daha sık kontrol etmek için bu açıya (ileri yöne odaklı) daraltır ve daha yumuşak ileri hareket sağlar.

Video ayrıca ana karar verme mantığını da açıklar. Bir `get_direction()` işlevi, mesafe okumaları listesini (güvenli/güvenli değil için 1'lere ve 0'lara dönüştürülmüş) analiz ederek en geniş sürekli "1" yolunu bulur. Bu en geniş yolun nerede olduğuna bağlı olarak işlev bir yön döndürür: "ileri", "sol" veya "sağ". Ana döngü daha sonra karşılık gelen eylemi yürütür, aracı döndürür ve öndeki yol temizlenene kadar yeniden tarar.

Canlı Proje/Gösterim

Video, projenin kapsamlı bir gösterimini sunmaktadır. Öncelikle ultrasonik sensör tek başına test edilerek mesafeyi nasıl ölçtüğü ve değerleri kabuk (shell) üzerinde nasıl yazdırdığı gösterilmektedir. Eğitmen daha sonra engelden kaçınma algoritmasını bir akış şeması kullanarak açıklar ve sola ve sağa dönme karar sürecini detaylandırır. Son olarak, araba kutulardan oluşturulan küçük bir labirente yerleştirilerek engelden kaçınma davranışının tamamı canlı olarak gösterilir. Araba, ileriye doğru açık bir yol bulmak için sola ve sağa dönerek labirentte başarıyla ilerler.

Video Bölümleri

  • [00:00] Engelden Kaçınmaya Giriş
  • [01:31] SunFounder Akıllı Araba Kiti ve Özelliklerine Genel Bakış
  • [02:47] Engelden Kaçınma Özelliğinin Nasıl Çalıştığı
  • [03:34] Ultrasonik Sensörün Test Edilmesi
  • [07:45] Engelden Kaçınma Algoritması ve Akış Şemasının Açıklanması
  • [12:49] Ana Engelden Kaçınma Kodunun Analizi
  • [15:43] Engelden Kaçınma Mantığının Canlı Gösterimi
  • [22:53] Engellerden Oluşan Bir Labirent ile Final Gösterimi
  • [24:35] Sonuç ve Sonraki Adımlar
Kod eklenmemiş.

Kaynaklar ve referanslar

Henüz kaynak yok.

Dosyalar📁

Dosya mevcut değil.