Probot Core¶
MEB Tasarla Geliştir yarışmasında bir maç iki fazdan oluşur. İlk faz otonom: kumanda yok, robot yalnızca önceden yazılmış koda göre hareket eder, varsayılan süre 30 saniyedir. Otonom bitince teleop başlar: bir kumandayla kontrol edilir, maç sonuna kadar devam eder.
Probot, bu iki fazı ESP32 üzerinde yönetmek için yazılmış bir Arduino kütüphanesidir. Robot açılınca bir WiFi erişim noktası oluşturur. Tablet veya telefon bu ağa bağlanır; tarayıcıda açılan Driver Station arayüzünden Init ve Start yapılır, otonom/teleop geçişleri buradan yönetilir. Joystick verisi ~50 Hz'de robota ulaşır.
Kod tarafında normal Arduino'daki setup() ve loop() yok; kütüphane sahip. Bunların yerine maçın fazlarına karşılık gelen altı hook tanımlanır:
| Hook | Ne zaman çağrılır |
|---|---|
robotInit |
Init'e basılınca, bir kez |
robotEnd |
Stop'ta veya bağlantı kopunca, bir kez |
teleopInit |
Teleop başlarken, bir kez |
teleopLoop |
Teleop boyunca, ~50 Hz |
autonomousInit |
Otonom başlarken, bir kez |
autonomousLoop |
Otonom boyunca, ~50 Hz |
Altısı da tanımlı olmak zorunda; boş olabilirler.
Sinyal kalitesi maç sonucunu belirler
Yarışmada bağlantı kaybı en yaygın arıza sebebidir ve büyük çoğunluğu yazılımla değil donanımla çözülür. Robot kurmadan önce sinyal temizliği rehberini oku.
Arduino IDE, ESP32 kart desteği ve kütüphane kurulumu.
İlk çalışan kod, Driver Station bağlantısı ve joystick verisi.
Hook'lar, joystick API'si, şasi ve mekanizmalar, subsystem deseni, derin otonom.
Takım ve robot süreci üzerine yarışma deneyiminden notlar.
Sıfırdan çalışan robota: subsystem subsystem kodlama rehberi.
Derleme hataları, bağlantı sorunları ve hata ayıklama yöntemi.
WiFi sinyal kalitesi, anten konumlandırması ve yarışma günü kanal planı.
Probot'u AI asistanlara tanıtan teknik özet.