Arduino ile Labirent Çözen Robot Yapımı

Merhabalar, bu projede arduino kullanarak labirent çözen bir robotun nasıl yapılabileceğini açıklamaya çalıştım.
Labirent çözen robotlar temelde 2 farklı tip labirentte dolaşmaktadır. Bunlar çizgi labirentleri ve duvar labirentleridir. Nispeten duvarlı bir labirentin evde inşası daha uğraştırıcı olduğundan ben çizgi labirentini tercih ettim. Ancak çizgi labirentlerinde yol takibi ve kavşak çözümleme duvar labirentlerinden daha uğraştırıcı olmaktadır.
Bu çalışmada sonlu ve basit bir çizgi labirentini robota çözdürmeye çalıştım. Basit sonlu labirentler çıkışların birbirine bağlanıp sonsuz döngüler oluşturmadığı labirentlerdir. Döngüsel labirentlerin çözümünde çok daha karmaşık algoritmalar kullanılmaktadır.
Labirent çözümlemede sıkça kullanılan sol el kuralı metodu ile önce labirenti tam tur dolaşarak öğrenmeyi ve sonrasında bu hamleleri sadeleştirerek gereksiz noktalara girmeden en kısa yolu bularak labirentten çıkmayı amaçladım.
Bu robotun yapımı için gerekli olan malzemeler, çalışma mantığı ve algoritması ile arduino kodunu aşağıda bulabilirsiniz.

Gerekli Malzemeler
1 adet Arduino Nano
1 adet QTR-8A çizgi sensörü
1 adet L298N motor sürücü kartı
1 adet LM2596 DC regülatör
2 adet N20 serisi 12mm 6V DC redüksiyonlu 60 RPM motor
2 adet uygun tekerlek
1 adet sarhoş tekerlek
1 adet 2s lipo pil
1 adet ON-OFF switch
Yeterince jumper kablo
Şase için 4mm dakota malzeme
Labirentin yapımı için siyah elektrik bandı
Motor Mount için Thingverse linki

İlgili Dokumanlar
Çizgi labirenti çözüm algoritması ile ilgili akademik çalışma:
https://www.pololu.com/file/0J195/line-maze-algorithm.pdf

QTR-8A sensör kütüphanesi
https://github.com/pololu/qtr-sensors-arduino/releases

Temel Labirent Çözme Algoritmaları
https://en.wikipedia.org/wiki/Maze_solving_algorithm

Kod:
https://github.com/mucitpilot/mazesolve/archive/main.zip

Robotun Tasarımı







Devre Şeması

Robotun Ölçüleri





Labirentte karşılaşılabilecek Durumlar


Hareket Dizinde Yapılabilecek Sadeleştirmeler
L=Left, B=Back, R=Right, S=Straight
  • LBR = B
  • LBS = R
  • LBL = S
  • SBL = R
  • SBS = B
  • RBL = B

Yapım Videosu

Yorumlar

  1. merhabalar, anlatım çok güzel gerçekten, ama kodları bulamadım ben.

    YanıtlaSil
  2. sizin kodlarınızı kullandım robot labirenti çözüyor fakat kısa yoldan labirenti çözmüyor
    robot kendi ekseni etafında dönüyor çözemedim

    YanıtlaSil
  3. kodları bulamıyorum yardımcı olabilir misiniz ?

    YanıtlaSil
  4. hocam cevap verecek misin ?

    YanıtlaSil
    Yanıtlar
    1. Hocam yukarıda linki var ya

      https://github.com/mucitpilot/mazesolve/archive/main.zip

      Sil

Yorum Gönder

Bu blogdaki popüler yayınlar

QTR-8A Kızılötesi Çizgi Sensörü Kullanımı ve Basit PID Çizgi İzleyen Robot Yapımı

A4988 Step Motor Sürücü Kartı ile NEMA Step Motor Kullanımı

Arduino ile ESP8266 Kullanımı ve İnternet Erişimi Serisi -1 (İnternet Üzerinden Veri Çekme)