İçindekiler:

Gelişmiş Çizgi Takip Robotu: 22 Adım (Resimli)
Gelişmiş Çizgi Takip Robotu: 22 Adım (Resimli)

Video: Gelişmiş Çizgi Takip Robotu: 22 Adım (Resimli)

Video: Gelişmiş Çizgi Takip Robotu: 22 Adım (Resimli)
Video: Çizgi İzleyen Araç 4WD | Arduino ve TCRT5000 ile Çizgi Takip Eden Robot | (Kod+Şema) | (Detaylı) 2024, Kasım
Anonim
Image
Image
Prototipleme - Perfboard
Prototipleme - Perfboard

Bu, yaptığım ve bir süredir üzerinde çalıştığım Teensy 3.6 ve QTRX çizgi sensörünü temel alan gelişmiş bir çizgi izleyen robottur. Daha önceki çizgi izleyen robotumdan tasarım ve performansta bazı önemli gelişmeler var. Robotun hızı ve tepkisi iyileştirildi. Genel yapı kompakt ve hafiftir. Bileşenler, açısal momentumu en aza indirecek şekilde tekerlek eksenine yakın düzenlenmiştir. Yüksek güçlü mikro metal dişli motorlar, yeterli torku sağlar ve alüminyum göbekli silikon tekerlekler, yüksek hızlarda çok ihtiyaç duyulan çekişi sunar. Destek kalkanı ve tekerlek kodlayıcılar, robotun konumunu ve yönünü belirlemesini sağlar. Tekneye monte edilmiş Teensyview ile ilgili tüm bilgiler görselleştirilebilir ve önemli program parametreleri butonlar kullanılarak güncellenebilir.

Bu robotu yapmaya başlamak için aşağıdaki malzemelere ihtiyacınız olacak (ve emrinizde çok fazla zaman ve sabrınız olacak).

Gereçler

Elektronik

  • Teensy 3.6 Geliştirme Kurulu
  • Hareket Sensörlü Prop Shield
  • Sparkfun TeensyGörünüm
  • Pololu QTRX-MD-16A Yansıma Sensör Dizisi
  • 15x20cm çift taraflı prototip PCB
  • Pololu Yükseltici/Düşürücü Voltaj Regülatörü S9V11F3S5
  • Pololu Ayarlanabilir 4-5-20V Voltaj Regülatörü U3V70A
  • MP12 6V 1580 rpm mikro dişli motor enkoderli (x2)
  • DRV8833 Çift Motorlu Sürücü Taşıyıcı (x2)
  • 3.7V, 750mAh Li-Po pil
  • Açma / kapama düğmesi
  • Elektrolitik kapasitör 470uF
  • Elektrolitik kapasitör 1000uF (x2)
  • Seramik kapasitör 0.1uF (x5)
  • Butonlar (x3)
  • 10 mm Yeşil LED (x2)

Donanım

  • Atom Silikon Tekerlek 37x34mm (x2)
  • 3/8” Metal Bilyeli Pololu Bilyalı Teker
  • N20 motor montajı (x2)
  • Cıvata ve fındık

Kablolar ve Konnektörler

  • 24AWG esnek teller
  • 24 pinli FFC - DIP koparma ve FFC kablosu (Tip A, 150 mm uzunluk)
  • Yuvarlak dişi pin başlığı
  • Yuvarlak dişi pin başlığı uzun terminali
  • Sağ açılı çift sıra dişi başlık
  • Sağ açılı çift sıra erkek başlık
  • Erkek pin başlığı
  • Erkek iğne pimi başlığı

Aletler

  • multimetre
  • Havya
  • lehim teli
  • tel striptizci
  • Tel makası

1. Adım: Sistemlere Genel Bakış

Daha önceki kendi kendini dengeleyen robot tasarımımda olduğu gibi, bu robot da bir yapının amacına hizmet eden bir perfboard üzerine monte edilmiş bir koparma panoları topluluğudur.

Robotun ana sistemleri aşağıda özetlenmiştir.

Mikrodenetleyici: 32-bit 180MHz ARM Cortex-M4 işlemciye sahip Teensy 3.6 geliştirme kartı.

Hat sensörü: Pololu'nun QTRX-MD-16A orta yoğunluk düzeninde (8 mm sensör aralığı) 16 kanallı analog çıkış hattı sensör dizisi.

Tahrik: 6V, 1580rpm, manyetik tekerlek kodlayıcılı yüksek güçlü mikro metal dişli motorlar ve alüminyum göbeklere takılmış silikon tekerlekler.

Odometri: Koordinatları ve kapsanan mesafeyi tahmin etmek için manyetik tekerlek kodlayıcı çiftleri.

Yön sensörü: Robotun konumunu ve yönünü tahmin etmek için hareket sensörlü destek kalkanı.

Güç kaynağı: Güç kaynağı olarak 3.7V, 750mAh lipo pil. 3.3V yükseltme/düşürme regülatörü, mikrodenetleyiciye, sensörlere ve görüntüleme cihazına güç sağlar. Ayarlanabilir yükseltici regülatör, iki motora güç sağlar.

Kullanıcı arayüzü: Bilgileri görüntülemek için Teensyview. Kullanıcı girişlerini kabul etmek için üç basmalı düğme. Çalışırken durum göstergesi için iki adet 10 mm çapında yeşil LED.

Adım 2: Prototiplemeye Başlayalım

Image
Image

Yukarıdaki devreyi perfboard üzerinde uygulayacağız. Öncelikle ara panolarımızı üzerlerine başlıklar lehimleyerek hazır tutmalıyız. Video, hangi ara panolarda hangi başlıkların lehimlenmesi gerektiğine dair bir fikir sağlayacaktır.

Başlıkları koparma panolarına lehimledikten sonra, Teensyview'i ve buton koparmayı Teensy'nin üzerine koyun.

3. Adım: Prototipleme - Perfboard

Prototipleme - Perfboard
Prototipleme - Perfboard

15x20cm çift taraflı prototip perfboard alın ve resimde gösterildiği gibi kalıcı bir işaretleyici ile sınırı işaretleyin. Sensör dizisi, tekerlek ve mikro metal dişli motorları beyaz daire ile işaretlenmiş yerlere monte etmek için M2 boyutunda delikler açın. Daha sonra tüm bileşenleri lehimledikten ve test ettikten sonra perfboard'u sınır boyunca keseceğiz.

Perfboard üzerindeki başlık pimlerini ve soketleri lehimleyerek prototiplemeye başlayacağız. Ara panoları daha sonra bu başlıklara eklenecektir. Perfboard üzerindeki başlıkların konumuna dikkat edin. Tüm kabloları bu başlık düzenine göre bağlayacağız.

Adım 4: Prototipleme - Prop Shield

Prototipleme - Prop Kalkanı
Prototipleme - Prop Kalkanı
Prototipleme - Prop Kalkanı
Prototipleme - Prop Kalkanı
Prototipleme - Prop Kalkanı
Prototipleme - Prop Kalkanı
Prototipleme - Prop Kalkanı
Prototipleme - Prop Kalkanı

İlk önce pervane kalkanına olan bağlantıları lehimleyeceğiz. Prop shield'ın sadece hareket sensörlerini kullandığımız için prop shield'ın 3V ve toprak pinleri dışında sadece SCL, SDA ve IRQ pinlerini bağlamamız gerekiyor.

Bağlantı tamamlandıktan sonra Teensy ve prop shield'ı takın ve burada belirtilen adımları izleyerek hareket sensörlerini kalibre edin.

Adım 5: Prototipleme - Güç ve Toprak

Prototipleme - Güç ve Toprak
Prototipleme - Güç ve Toprak

Resme bakarak tüm güç ve toprak bağlantılarını lehimleyin. Tüm devre kartlarını yerlerine yerleştirin ve bir multimetre kullanarak sürekliliği sağlayın. Gemideki farklı voltaj seviyelerini doğrulayın.

  • Li-po çıkış voltajı (genellikle 3V ile 4.2V arasında)
  • Yükseltme/düşürme regülatörü çıkış voltajı (3,3V)
  • Ayarlanabilir yükseltici regülatör çıkış voltajı (6V'a ayarlanmış)

Adım 6: Prototipleme - Motor Sürücü Taşıyıcı

Prototipleme - Motor Sürücü Taşıyıcı
Prototipleme - Motor Sürücü Taşıyıcı
Prototipleme - Motor Sürücü Taşıyıcı
Prototipleme - Motor Sürücü Taşıyıcı
Prototipleme - Motor Sürücü Taşıyıcı
Prototipleme - Motor Sürücü Taşıyıcı

DRV8833 çift motorlu sürücü taşıyıcı kartı, kanal başına 1.2A sürekli ve 2A tepe akımı sağlayabilir. Bir motoru sürmek için iki kanalı paralel bağlayacağız. Aşağıdaki adımları izleyerek bağlantıları lehimleyin.

  • Motor sürücü taşıyıcısının iki girişini ve iki çıkışını resimde gösterildiği gibi paralel hale getirin.
  • Giriş kontrol kablolarını motor sürücüsüne bağlayın.
  • İki taşıyıcı kartın Vin ve Gnd terminallerine 1000 uF elektrolitik kapasitör ve 0.1 uF seramik kapasitör bağlayın.
  • Motor sürücüsü çıkış terminallerine 0.1 uF seramik kapasitör bağlayın.

Adım 7: Prototipleme - Hat Sensörü Dizi Başlığı

Prototipleme - Hat Sensörü Dizi Başlığı
Prototipleme - Hat Sensörü Dizi Başlığı
Prototipleme - Hat Sensörü Dizi Başlığı
Prototipleme - Hat Sensörü Dizi Başlığı
Prototipleme - Hat Sensörü Dizi Başlığı
Prototipleme - Hat Sensörü Dizi Başlığı
Prototipleme - Hat Sensörü Dizi Başlığı
Prototipleme - Hat Sensörü Dizi Başlığı

Teensy 3.6'nın iki ADC'si vardır - 25 erişilebilir pime çoğullanmış ADC0 ve ADC1. Aynı anda iki ADC'den herhangi iki pin'e erişebiliriz. ADC0 ve ADC1'e sekiz hat sensörünü bağlayacağız. Çift sayı sensörleri ADC1'e ve tek sayı sensörleri ADC0'a bağlanacaktır. Aşağıdaki adımları izleyerek bağlantıları lehimleyin. Daha sonra hat sensörünü FFC'den DIP adaptörüne ve kablosuna bağlayacağız.

  • Tüm çift sensör pimlerini (16, 14, 12, 10, 8, 6, 4, 2) resimde gösterildiği gibi bağlayın. Sensör pimi 12'yi bağlamak için kabloyu perfboard'un arka tarafından yönlendirin.
  • Yayıcı kontrol pimini (EVEN) Teensy pim 30'a bağlayın.
  • Tüm tek sensör pimlerini (15, 13, 11, 9, 7, 5, 3, 1) resimde gösterildiği gibi bağlayın.
  • Vcc ve Gnd'ye 470 uF elektrolitik kapasitör bağlayın.

Perde üzerindeki çizgi sensörü pimlerini ve bunlara karşılık gelen başlık pimlerini yakından gözlemlerseniz, çizgi sensörünün üst sırasının perboard üzerindeki başlığın alt sırasına eşleştiğini ve bunun tersini fark edeceksiniz. Bunun nedeni, çift sıralı dik açılı başlıklar kullanarak çizgi sensörünü perfboard'a bağladığımızda, sıraların doğru şekilde hizalanmasıdır. Bunu çözmem ve programdaki pin atamalarını düzeltmem biraz zaman aldı.

Adım 8: Prototipleme - Mikro Dişli Motor ve Kodlayıcı

Prototipleme - Mikro Dişli Motor ve Enkoder
Prototipleme - Mikro Dişli Motor ve Enkoder
  • N20 motor bağlantılarını kullanarak mikro metal dişli motorunu kodlayıcı ile sabitleyin.
  • Motor ve enkoder kablolarını resimde gösterildiği gibi bağlayın.
  • Sol kodlayıcı - Ufacık pinler 4 ve 0
  • Sağ kodlayıcı - Ufacık pinler 9 ve 27

Adım 9: Prototipleme - LED'ler

Prototipleme - LED'ler
Prototipleme - LED'ler
Prototipleme - LED'ler
Prototipleme - LED'ler

İki LED, robotun bir dönüş algılayıp algılamadığını gösterir. LED'leri Teensy'ye bağlamak için 470 ohm serisi bir direnç kullandım.

  • Teensy pin 6'ya sol LED anot
  • Teensy pin 8'e sağ LED anot

Adım 10: Prototipleme - Aralar

Image
Image
Prototipleme - Aralar
Prototipleme - Aralar

Artık perfboard üzerindeki tüm lehimlememizi tamamladığımıza göre, perfboard üzerinde işaretlenmiş sınırı dikkatlice kesebilir ve ekstra perfboard bitlerini kaldırabiliriz. Ayrıca, iki tekerleği ve tekerlek tekerleğini takın.

Tüm koparma kartlarını ilgili yuvalarına takın. FFC-DIP dağıtımını eklemek ve QTRX-MD-16A hat sensörünü sabitlemek için videoya bakın.

11. Adım: Yazılım Kitaplıklarına Genel Bakış

Yazılım Kitaplıklarına Genel Bakış
Yazılım Kitaplıklarına Genel Bakış

Teensy'yi Arduino IDE'de programlayacağız. Başlamadan önce bazı kütüphanelere ihtiyacımız olacak. Kullanacağımız kütüphaneler:

  • kodlayıcı
  • Teensyview
  • EEPROM
  • ADC
  • NXPMMotionSense

Ve bazıları bu robot için özel olarak yazılmış,

  • Butona basınız
  • Hat Sensörü
  • TeensyviewMenü
  • motorlar

Bu robota özgü kitaplıklar ayrıntılı olarak tartışılmıştır ve sonraki adımlarda indirilebilir.

Adım 12: Açıklanan Kitaplıklar - Buton

Bu kitaplık, buton devre kartını Teensy ile arayüzlemek içindir. Kullanılan fonksiyonlar

PushButton(int leftButtonPin, int centerButtonPin, int rightButtonPin);

Bu yapıcıyı bir nesne oluşturarak çağırmak, buton pinlerini INPUT_PULLUP moduna yapılandırır.

int8_t waitForButtonPress(void);

Bu işlev, bir düğmeye basılana ve bırakılana kadar bekler ve tuş kodunu döndürür.

int8_t getSingleButtonPress(void);

Bu işlev, bir düğmeye basılıp bırakılmadığını kontrol eder. Evet ise, anahtar kodunu döndürür, aksi takdirde sıfır döndürür.

Adım 13: Kitaplıklar Açıklandı - Hat Sensörü

LineSensor, çizgi sensör dizisini Teensy ile arayüzlemek için kullanılan kitaplıktır. Kullanılan fonksiyonlar aşağıdadır.

LineSensor(boş);

Bu yapıcıyı bir nesne oluşturarak çağırmak, ADC0 ve ADC1'i başlatır, EEPROM'dan eşik, minimum ve maksimum değerleri okur ve sensör pinlerini giriş moduna ve emitör kontrol pinini çıkış moduna yapılandırır.

geçersiz kalibre (uint8_t kalibrasyonModu);

Bu fonksiyon hat sensörlerini kalibre eder. Kalibrasyon Modu, MIN_MAX veya MEDIAN_FILTER olabilir. Bu işlev daha sonraki bir adımda ayrıntılı olarak açıklanmaktadır.

void getSensorsAnalog(uint16_t *sensorValue, uint8_t modu);

Argüman olarak geçirilen üç moddan herhangi birinde sensör dizisini okur. Mod, emitörlerin durumudur ve AÇIK, KAPALI veya DEĞİŞTİRİLEBİLİR. TOGGLE modu, ortam ışığından kaynaklanan sensör yansıma okumalarını telafi eder. ADC0 ve ADC1'e bağlı sensörler senkronize olarak okunur.

int getLinePosition(uint16_t *sensorValue);

Ağırlıklı ortalama yöntemiyle sensör dizisinin hat üzerindeki konumunu hesaplar.

uint16_t getSensorsBinary(uint16_t *sensorValue);

Sensörlerin durumunun 16 bitlik bir temsilini döndürür. İkili, sensörün hattın üzerinde olduğunu ve ikili sıfır, sensörün hattın dışında olduğunu gösterir.

uint8_t countBinary(uint16_t ikiliValue);

Sensör değerlerinin 16 bitlik gösterimini bu fonksiyona geçirmek, hat üzerindeki sensörlerin sayısını döndürür.

void getSensorsNormalized(uint16_t *sensorValue, uint8_t modu);

Sensör değerlerini okur ve her sensör değerini karşılık gelen minimum ve maksimum değerlerle sınırlar. Sensör değerleri daha sonra karşılık gelen min ila maks aralığından 0 ila 1000 aralığına eşlenir.

Adım 14: Kitaplıklar Açıklaması - TeensyviewMenu

TeensyviewMenu, görüntüleme menüsü işlevlerine erişilebilen kitaplıktır. Kullanılan fonksiyonlar aşağıdadır.

TeensyViewMenu(void);

Bu yapıcıyı çağırmak, LineSensor, PushButton ve TeensyView sınıfının bir nesnesini oluşturur.

geçersiz giriş(void);

Bu, menüde gezinmek içindir.

geçersiz testi(void);

Bu, çizgi sensörü değerleri test için Teensyview'de görüntülendiğinde menü içinde dahili olarak çağrılır.

Adım 15: Kitaplıklar Açıklandı - Motorlar

Motorlar, iki motoru sürmek için kullanılan kitaplıktır. Kullanılan fonksiyonlar aşağıdadır.

Motorlar(boş);

Bu yapıcıyı bir nesne oluşturarak çağırmak, motor yön kontrolünü ve PWM kontrol pinlerini çıkış moduna yapılandırır.

void setSpeed(int leftMotorSpeed, int rightMotorSpeed);

Bu işlevin çağrılması, iki motoru argüman olarak iletilen hızlarda çalıştırır. Hız değeri -255 ile +255 arasında değişebilir ve dönme yönünün tersine döndüğünü gösteren bir negatif işaret bulunur.

Adım 16: Test Etme - Kodlayıcı Odometrisi

Manyetik tekerlek kodlayıcılarını test edeceğiz ve robotun kat ettiği konumu ve mesafeyi görüntüleyeceğiz.

DualEncoderTeensyview.ino dosyasını yükleyin. Program, Teensyview'de kodlayıcı işaretlerini görüntüler. Kodlayıcı, robotu ileri hareket ettirirseniz artırmayı, geriye doğru hareket ettirirseniz eksiltmeyi işaretler.

Şimdi EncoderOdometry.ino dosyasını yükleyin. Bu program robotun konumunu x-y koordinatları cinsinden gösterir, kat edilen toplam mesafeyi santimetre ve döndürülen açıyı derece olarak görüntüler.

Kodlayıcı işaretlerinden konumu belirlemek için Seattle Robotics Society'nin R/C Servo Diferansiyel Sürücülü Bir Robotta Odometri ile Ölü Hesaplama Uygulamasına başvurdum.

Adım 17: Test Etme - Prop Shield Hareket Sensörleri

Burada belirtilen adımları izleyerek hareket sensörlerini kalibre ettiğinizden emin olun.

Şimdi PropShieldTeensyView.ino'yu yükleyin. Teensyview'de her üç eksenin ivmeölçer, jiroskop ve manyetometre değerlerini görebilmeniz gerekir.

Adım 18: Programa Genel Bakış

Gelişmiş çizgi takipçisi programı Arduino IDE ile yazılmıştır. Program aşağıda açıklanan sırayla çalışır.

  • EEPROM'da saklanan değerler okunur ve menü görüntülenir.
  • BAŞLAT'a basıldığında program döngüye girer.
  • Normalize edilmiş hat sensörü değerleri okunur.
  • Hat konumunun ikili değeri, normalleştirilmiş sensör değerleri kullanılarak elde edilir.
  • Hat üzerindeki sensörlerin sayısı, hat konumunun ikili değerinden hesaplanır.
  • Enkoder keneleri güncellenir ve kat edilen toplam mesafe, xy koordinatları ve açı güncellenir.
  • 0 ile 16 arasında değişen farklı ikili sayım değerleri için bir dizi talimat yürütülür. İkili sayım 1 ile 5 arasındaysa ve hat üzerindeki sensörler yan yanaysa PID rutini çağrılır. Döndürme, diğer ikili değer ve ikili sayı kombinasyonlarında gerçekleştirilir.
  • PID rutininde (aslında bir PD rutini), motorlar hata, hata değişimi, Kp ve Kd değerlerine göre hesaplanan hızlarda sürülür.

Şu anda program, pervane kalkanından oryantasyon değerlerini ölçmemektedir. Bu devam eden bir çalışmadır ve güncellenmektedir.

TestRun20.ino'yu yükleyin. Robotumuzu test edeceğimiz sonraki adımlarda menüde nasıl gezineceğimizi, ayarları nasıl yapacağımızı ve hat sensörlerini nasıl kalibre edeceğimizi göreceğiz.

Adım 19: Menüde ve Ayarlarda Gezinme

Menü, sol ve sağ butonlar kullanılarak dolaşılabilen ve orta buton kullanılarak seçilebilen aşağıdaki ayarlara sahiptir. Ayarlar ve işlevleri aşağıda açıklanmıştır.

  1. KALİBRASYON: Hat sensörlerini kalibre etmek için.
  2. TEST: Hat sensörü değerlerini görüntülemek için.
  3. LAUNCH: Satır takibini başlatmak için.
  4. MAX SPEED: Robotun hızının üst sınırını ayarlamak için.
  5. DÖNDÜRME HIZI: Robot bir dönüş yaptığında, yani her iki tekerlek zıt yönlerde eşit hızlarda döndüğünde hızının üst sınırını ayarlamak için.
  6. KP: Orantılı sabit.
  7. KD: Türev sabiti.
  8. ÇALIŞMA MODU: İki çalışma modu arasında seçim yapmak için - NORMAL ve ACCL. NORMAL modda robot, hat konum değerlerine karşılık gelen önceden tanımlanmış hızlarda çalışır. ACCL modunda, robotun MAX SPEED'i, yolun önceden tanımlanmış aşamalarında ACCL SPEED ile değiştirilir. Bu, robotu yolun düz bölümlerinde hızlandırmak için kullanılabilir. Aşağıdaki ayarlara yalnızca RUN MODE ACCL olarak ayarlanmışsa erişilebilir.
  9. TUR DISTANCE: Yarış pistinin toplam uzunluğunu ayarlamak için.
  10. ACCL SPEED: Robotun hızlanma hızını ayarlamak için. Bu hız, aşağıda tanımlandığı gibi yolun farklı aşamalarında MAX SPEED'in yerini alır.
  11. NUMARA. OF STAGES: ACCL SPEED'in kullanıldığı aşamaların sayısını ayarlamak için.
  12. AŞAMA 1: MAX SPEED'in ACCL SPEED ile değiştirildiği aşamanın başlangıç ve bitiş mesafelerini ayarlamak için. Her aşama için başlangıç ve bitiş mesafeleri ayrı ayrı ayarlanabilir.

Adım 20: Hat Sensörü Kalibrasyonu

Image
Image

Hat sensörü kalibrasyonu, 16 sensörün her birinin eşik değerinin belirlendiği işlemdir. Bu eşik değeri, belirli bir sensörün hattın üzerinde olup olmadığına karar vermek için kullanılır. 16 sensörün eşik değerlerini belirlemek için iki yöntemden birini kullanıyoruz.

ORTA FİLTRE: Bu yöntemde, çizgi sensörleri beyaz yüzeyin üzerine yerleştirilir ve 16 sensörün tümü için önceden tanımlanmış sayıda sensör okuması alınır. Tüm 16 sensörün medyan değerleri belirlenir. Çizgi sensörleri siyah yüzey üzerine yerleştirildikten sonra aynı işlem tekrarlanır. Eşik değeri, siyah ve beyaz yüzeylerin medyan değerlerinin ortalamasıdır.

MIN MAX: Bu yöntemde, sensör değerleri kullanıcı durma talebinde bulununcaya kadar tekrar tekrar okunur. Her sensörün karşılaştığı maksimum ve minimum değerler saklanır. Eşik değeri, minimum ve maksimum değerlerin ortalamasıdır.

Bu şekilde elde edilen eşik değerleri, 0 ila 1000 aralığına eşlenir.

MIN MAX yöntemiyle hat sensörlerinin kalibrasyonu videoda gösterilmektedir. Hat sensörleri kalibre edildikten sonra veriler resimdeki gibi görselleştirilebilir. Aşağıdaki bilgiler görüntülenir.

  • Karşılık gelen hat sensörünün hat üzerinde olduğunu gösteren ikili 1 ve hat sensörünün hat dışında olduğunu gösteren ikili 0 ile hat konumunun 16 bit ikili gösterimi.
  • Hat üzerindeki sensörlerin toplam sayısı.
  • Bir seferde bir sensör olmak üzere 16 sensörün minimum, maksimum ve sensör değerleri (ham ve normalleştirilmiş).
  • -7500 ila +7500 aralığında hat konumu.

Minimum ve maksimum hat sensörü değerleri daha sonra EEPROM'da saklanır.

Adım 21: Test Çalıştırması

Image
Image

Video, robotun bir turu tamamladıktan sonra duracak şekilde programlandığı bir test çalışmasına aittir.

Adım 22: Son Düşünceler ve İyileştirmeler

Robotlar Yarışması
Robotlar Yarışması

Bu robotu oluşturmak için bir araya getirilen donanım, onu çalıştıran program tarafından tam olarak kullanılmaz. Program kısmında birçok iyileştirme yapılabilir. Destek kalkanının hareket sensörleri şu anda konum ve oryantasyonu belirlemek için kullanılmamaktadır. Enkoderlerden gelen odometri verileri, robotun konumunu ve yönünü doğru bir şekilde belirlemek için destek kalkanından gelen oryantasyon verileriyle birleştirilebilir. Bu veriler daha sonra robotu parkuru birden fazla turda öğrenecek şekilde programlamak için kullanılabilir. Bu kısımda deneme yapmanızı ve sonuçlarınızı paylaşmanızı tavsiye ederim.

İyi şanlar.

Robotlar Yarışması
Robotlar Yarışması

Robot Yarışmasında İkincilik Ödülü

Önerilen: