Otonom: Kumandasız Robot
Şimdiye kadar robotun her hareketini sen verdin. Çubuğu ittin, robot gitti; çubuğu bıraktın, robot durdu. Robot senin elinin bir uzantısıydı. Bu modülde o eli çekiyoruz. Kumandayı masaya koy, robota bir görev ver ve bırak kendi karar versin.
Buna otonom denir: robotun, o anda kimse yönetmeden, önceden yazdığın plana göre kendi başına hareket etmesi. Sürüş sırasında robot senin çubuğuna bakıyordu. Otonomda ise robot saate bakar: "iki saniye ileri git, sonra dön, sonra dur." Kararı veren artık sensin ama önceden, kod yazarken; robot o kararı sen orada değilken uygular.
Yeni olan ne?
Robotun donanımı değişmiyor. Yeni parça, yeni bağlantı yok; bu modül tamamen kod modülüdür. Zaten kullandığın altı hook'tan ikisi şimdiye kadar boş duruyordu: autonomousInit ve autonomousLoop. Bu modülde onları dolduruyorsun. Driver Station'da otonom fazını açıyorsun, süresini ayarlıyorsun; Start'a basınca robot senin yazdığın planı tek başına çalıştırıyor.
Değişen üç şey var:
- Robot artık joystick yerine zamana bakar. Hareketleri saniyelerle sıraya dizersin.
- Hareketleri sırayla yaptırmak için basit bir faz fikri kullanırsın: robot hangi adımda olduğunu bir sayıyla tutar, adım bitince bir sonrakine geçer.
- Robotun beklemesi gerektiğinde
delayile durup beklemezsin; geçen zamanı ölçersin. Bunun bir güvenlik nedeni var ve bu modülde onu öğreneceksin.
Bu modülün sonunda
- Otonom ile sürüş arasındaki farkı ve
autonomousInitileautonomousLoop'un ne zaman çalıştığını açıklayabileceksin. - Bir hareket dizisini fazlara bölüp robotu adım adım kendi başına yürütebileceksin.
delayile uzun bekleme yapmanın neden tehlikeli olduğunu anlatıp beklemeyi geçen zamanı ölçerek kurabileceksin.- "Bir metre gitmek kaç saniye sürer" sorusunu ölçerek yanıtlayıp bir mesafeyi katsayıyla planlayabileceksin.
- Bu yöntemin bir tahmin olduğunu, pil ve zemin değiştikçe sapacağını fark edip sınırlarını anlatabileceksin.
- Sürüş, mekanizma ve otonomu birleştirip robota tek başına küçük bir görev yaptırabileceksin.
Modülün dersleri
Her ders bir ders saatidir. Sıra önemli: her ders bir öncekinin üstüne kurulur.
Otonom Nedir · Başlat
Otonom fazını Driver Station'da aç; robot henüz kıpırdamaz, boş autonomousLoop'a telemetri koyup çalıştığını gör.
Zamanla Sür · Sür
2 saniye ileri git ve dur. delay yerine geçen zamanı millis ile ölç; güvenlik kuralını anla.
Faz Makinesi · Sırala
Hareketleri adımlara böl. Bir int faz sayısı ve if'lerle robotu ileri, dön, dur diye adım adım yürüt.
Kalibrasyon · Ayarla
Bir metre kaç saniye sürer, dönüş kaç saniye? Ölç, katsayı çıkar, rotayı ona göre planla.
Derse git →Görevli Otonom · Birleştir
Fazın içine mekanizmayı ve telemetriyi kat; robot giderken bir de iş yapsın, ne yaptığını ekrana döksün.
Derse git →Görevler · Ustalaş
Sürüş, mekanizma ve otonomu birleştir: robot tek başına bir rotayı gitsin, bir iş yapsın.
Derse git →Gerekenler
Bu modül baştan robot kurmaz; önceki modüllerde kurduğun robotun üstüne yalnızca kod ekler. Onu sürer ve telemetri verir durumda hazır bulundur.
| Ne | Adet | Görevi |
|---|---|---|
| Çalışan robotun | 1 | Modülün tabanı; sürüyor ve telemetri gösteriyor olmalı |
| Telefon ya da tablet | 1 | Driver Station'ı açıp otonom fazını başlatmak için |
| Mezura ya da metre şerit | 1 | Kalibrasyon dersinde mesafe ve süreyi ölçmek için |
| Bant, kutu ya da şişe | birkaç | Zeminde rota ve durak işaretlemek için |
Robotun donanımına ve pinlerine dokunmuyorsun; hepsi olduğu gibi kalıyor. Bu modülde yalnızca autonomousInit ve autonomousLoop hook'larını yazıyorsun.
Başlamadan
Bu modül Telemetri ve Durum modülünün üstüne kurulur. Oradan iki şeyi biliyor olman gerekir: robotun düz kodla nasıl yönetildiği ve telemetriyle robotun içinde ne olduğunu ekrana nasıl döktüğün. Otonomda robot senin gözünün önünde ama elinin dışında çalışacak; ne yaptığını görmek için telemetri en büyük yardımcın olacak.
Hazırsan Ders 1 ile başla: Otonom nedir.