Simülasyonlar
Dersin tüm simülasyonları; kurulum gerekmeden tarayıcında çalışır.
Çizgi izleyen robot
Yansıma sensörlü iki tekerlekli robot. İki sensörlü aç-kapa (bang-bang) denetleyiciyi beş sensörlü PD denetleyiciyle karşılaştır.
Sensör gürültüsü ve filtreleme
30 Hz örneklenen gürültülü bir mesafe sensörü. Hareketli ortalamayı, üstel hareketli ortalamayı (EMA) ve tek boyutlu Kalman filtresini gerçek mesafeyle karşılaştır.
PWM ve motor hızı
PWM, 12 V beslemeyi tamamen açıp kapatır. Motor ve LED ortalama gerilime tepki verir, bu yüzden doluluk oranı hızı ve parlaklığı belirler. Burada zaman yavaşlatıldı; Arduino PWM yaklaşık 490 Hz'de çalışır.
PID basamak yanıtı
Sürtünmeli bir ray üzerinde araba. Hedef değer her 5 saniyede 0 ile 1 arasında değişir. Yalnız P ile başla, aşımı sönümlemek için D ekle, sonra bozucu kuvvet ver ve kalıcı durum hatasını I ile gider.
Diferansiyel sürüş kinematiği
Tekerlek hızlarını ayarla ve robotun anlık dönme merkezi (ADM, ICR) etrafında dönüşünü izle. Kesikli robot odometri tahminidir: tekerlekleri kusursuz sayar, oysa gerçek tekerleklerde küçük bir yarıçap hatası vardır.
İki eklemli kol kinematiği
Hedefi taşımak ve ters kinematiği çözmek için tuvalde sürükle, ya da ileri kinematiğe geçip eklem açılarını kendin ayarla. Gölgeli halka erişilebilir çalışma alanıdır.
Izgarada yol planlama
Duvar çiz, başlangıcı ve hedefi taşı, sonra aramayı çalıştır. Her algoritmanın yol bulana kadar kaç hücre genişlettiğini ve yolun en kısa olup olmadığını karşılaştır.
Parçacık filtresiyle konum belirleme
Robot dört işaret noktasına gürültülü mesafeler ölçer. Her mavi nokta robotun nerede olduğuna dair bir tahmindir; kırmızı halka filtrenin kestirimidir. Filtrenin robotu kaybedip yeniden bulduğunu görmek için robotu kaçır.
Quadrotor uçuş denetimi (2B)
Kaskad denetleyicili düzlemsel quadrotor: dışta konum PID, içte yönelim PD. Hedef koymak için gökyüzüne tıkla, ya da görev kipine geçip ara noktaları yerleştir ve görevi başlat.
Sürü davranışı (boids)
Her drone yalnız yakın komşularına bakarak üç yerel kurala uyar: uzak dur (ayrılma), yönünü eşle (hizalanma) ve grupla kal (birlik). Sürünün hedefini taşımak için tıkla.
ROS 2 hesaplama grafiği
Düğümler konulara (topic) mesaj yayınlar, diğer düğümler bunlara abone olur. Bir düğümü durdurmak ya da başlatmak için tıkla ve sistemin hangi kısımlarının sustuğunu gör.
Engelleyen delay() ile millis() durum makinesi
İki trafik ışığı aynı döngüyü çalıştırır. Soldaki delay() kullanır ve yaya butonunu yalnız bir durum bittiğinde okuyabilir; sağdaki her döngüde okuyan engellemeyen bir durum makinesidir. Butona bas ve tepki sürelerini karşılaştır.
Kesme ile yoklama: enkoder tıklarını saymak
Optik enkoder her yuvada bir darbe üretir. Yoklama (polling) pine birkaç milisaniyede bir bakar ve tekerlek hızlıyken kenarları kaçırır; kesme (interrupt) her kenarı yakalar. Yoklama tık kaçırmaya başlayana kadar hızı ya da yoklama periyodunu artır.
Renk ve şerit ayırma
Yapay bir kamera görüntüsü HSV'ye çevrilir ve eşiklenerek maskeye dönüşür. Maskenin ağırlık merkezi (ya da şerit merkezi) bir direksiyon hatasına dönüşür. Aralıkları ayarla, ışığı değiştir, topu sürükle, sonra döngüyü P denetleyiciyle kapat.
Tarayıcıda sinir ağı eğitmek
Küçük bir ağ (12×12 piksel → gizli katman → 3 sınıf) daireyi, kareyi ve üçgeni ayırt etmeyi öğrenir. Öğrenme oranını, gizli nöron ve eğitim görüntüsü sayısını değiştir; aşırı öğrenmenin ortaya çıktığını görmek için veri çoğaltmayı kapat.