Bu proje, robot yazılımı eğitiminde kullanılmak üzere hazırlanmış bir şablondur.
Depo: https://github.com/zeynepafra07/junior-software-training-template.git
Kontrolör şeması ve hangi tuşa hangi komutun atandığı görsel olarak burada:
Controller Scheme
- Left Bumper (L1) → shoot
- Left Trigger (L2) → shoot
- Right Bumper (L3) → shoot
- Right Trigger (L4) → shoot
- Y Button → score algae to net
- X Button → intake algae L2
- A Button → score algae to barge
- Right Stick → swerve drive
- Back Button → slow mode
- Start Button → fast mode
- D-Pad Up → intake
- D-Pad Down → outtake
- D-Pad Right → open climb
- D-Pad Left → close climb
- Left Stick → move elevator manual
- Left Stick Click → reset encoder
- B Button → intake algae L3
- WPILib’in en güncel geliştirme ortamını kurun ve VS Code ile FRC eklentisinin aktif olduğundan emin olun.
- Projeyi klonlayın:
git clone https://github.com/zeynepafra07/junior-software-training-template.git- VS Code içerisinde projeyi açın ve Gradle yapılandırmasını çalıştırın.
src/main/java/frc/robot/— Robot kodunun ana dizinisubsystems/— Robot mekanizmaları için (Drive, Elevator, Intake vb.)commands/— Komut-temelli mantık kısmıutils/— Yardımcı sınıflar, loglama, matematiksel araçlar
- WPILib’in komut-temelli (command-based) mimarisine uyun.
- Ayarlanabilir parametreler için
constantssınıflarını kullanın; kod içerisinde sabit değerleri doğrudan yazmaktan kaçının. - Sık ve anlamlı commit’ler yapın. Kod incelemesi (pull requests) ile ilerleyin.
- Her alt sistemi bağımsız olarak test edin, ardından bütünleştirin.
- WPILib simülasyon araçlarını kullanarak robot davranışlarını sanal ortamda deneyin.
- Motor yönleri, PID kontrolü ve tetik mappings (trigger mappings) gibi detayları doğrulayın.
- Fiziksel robota geçmeden önce sanal testlerden geçin.
- Elde edilen sonuçları ekip içinde dokümante edin.
- Değişken ve sınıf isimleri: CamelCase kullanın.
- Method isimleri: lowerCamelCase kullanın.
- Alt sistem ve komut isimleri: açık ve anlamlı olsun (ör.
DriveSubsystem,ScoreAlgaeCommand). - Magic number’lar kullanmayın: Tüm sabitleri
Constants.javaiçinde tutun. - Yorum satırları: Kodun ne yaptığını ve neden yaptığını açıklayın, gereksiz yorum yazmayın.
- v1.0.0 – Temel robot alt sistemleri ve komut şablonları eklenmiştir.
- v1.1.0 – Kontrolör tuş atamaları güncellendi, simülasyon destekleri eklendi.
- v1.2.0 – Kod standartları ve örnek komutlar eklenmiştir.
Bu proje Apache License 2.0 altında yayımlanmıştır.
Her türlü fikir, öneri veya hata bildirimi için GitHub üzerindeki “Issues” sekmesini kullanabilirsiniz.
Katkılar memnuniyetle karşılanır; katkıda bulunmadan önce bir issue açmanız önerilir.