Haydarpaşa Lisesi robotik takımımı Haydarpaşa Panthers'in 2025 Reefscape sezonuna ait robotun kodu. Bu sezonun temasında görevimiz mercan(içi boş beyaz boru şeklinde) adı verilen oyun parçalarını resif üzerindeki belli yüksekliklere takmak, alg(büyük mavi top) adı verilen oyun parçalarını resif üzerinden alıp puana dönüştürmek ve tırmanmak.
Takımın sürdürülebilirliği ve yazılım kaynakları için bu sene yazılım tarafında yapılanların ayrıntılı kılavuz (Sezondan sonra güncellenecek)
Techinal Binder: Panthers 2025 Reefscape Technical Binder
Robotun kodunu yazarken işimizi kolaylaştıracak birçok eklenti, kütüphane ve araç kullandık.
- Advantagekit FRC robotlarında veri kaydı ve analiz yapmak için kullanılan bir kütüphanedir. Gelişmiş hata ayıklama ve maç analizi sağlar.
- Pathplanner FRC robotları için kolayca otonomu planlamamızı sağlar.
- Phoenix 6 KrakenX60 motorları kontrol etmek için gerekli olan kütüphane. Talon FX motorları ile uyumlu çalışır.
- photonlib Limelight'ın simulasyon desteği olmadığı için kameraları simüle etmek için kullandık. Kameraların sahadaki hedef verilerini simüle eder.
- RevLib Neo motorları kontrol etmek için gerekli olan kütüphane. REV Robotics motor kontrol cihazları ve sensörleri ile uyumludur.
- Error Lens Hata mesajlarını ve uyarıları satır içinde göstererek hata ayıklamayı kolaylaştırır.
- Gradle for Java Java projelerinde Gradle görevlerini yönetmek için kullanılır.
- Markdown Preview Enhanced Markdown dosyalarını düzenlerken önizleme yapma imkanı sunar.
- Project Manager Proje yönetimini kolaylaştırarak farklı projeler arasında hızlı geçiş yapmayı sağlar.
- Spotless Gradle Kod formatlama ve temizleme işlemleri için kullanılır.
- Todo Tree Kod içinde TODO notlarını otomatik olarak algılar ve listeler.
- 2025 WPILIB VS Code FRC robotları için geliştirme ortamı sağlar.
- Pathplanner FRC robotları için yörünge oluşturma ve planlama aracı.
- Advantage Scope Gerçek zamanlı olarak robot verilerini izlemek ve analiz etmek için kullanılır.
- Elastic Dashboard Robot verilerini görselleştirmek ve analiz etmek için kullanılır.
- REV Hardware Client REV Robotics donanımını yapılandırmak ve kontrol etmek için kullanılır.
- Phoenix Tuner X Motor denetleyicilerini ve sensörleri yapılandırmak için kullanılır.
- Limelight Hardware Manager Limelight kamera ayarlarını yapılandırmak ve izlemek için kullanılır.
- Touch Server Xbox kontrolcüsü olarak telefonu kullanmayı sağlar.
- Balena Etcher Bir cihaza yazılım yazdırmayı sağlar. Biz Roborio'yu ve Limelight'ı güncellemek için kullandık.
- Network Assistant Tool Vivid Hosting tarafından sağlanan yeni FRC radiolarını konfigüre etmek için kullanılır.
- readme.so Bu readME dosyasını oluşturmak için kullandık.
- Bütün stageler'e mercan koyabilme
- Hızlı cycle
- Full CTRE swerve
- Resife otomatik pozisyonlanma
- PID ve Motion Magic ile pozisyon kontrolü
- CommandBased kod yapısı
- AdvantageScope custom model konfigürasyonu
- Advantage scope ile tam simulasyon desteği
- Asansör simulasyonu
- Pathplanner ile otonom
- Hardware Abstraction kod yapısı
- Elastic Dasboard ile driver station
- SysID ile asansör ve drivetrain karakterizasyonu
- FaultReporters
- Detaylı loglar
- Optimizasyon
- Bu sene en zorlandığımız şey radio'yu konfigüre etmek oldu. Bu yüzden asla radio işini sona bırakmıyoruz.
- Limelight'ı da kalibre etmemiz gerektiğini öğrendik.
- İlk defa simulasyonda kendi robotumuzu simüle ettik. Bu yüzden biraz sancılıydı. Tam olarak edemedik ama genel olarak çalışıyor. Bunu sezondan önce öğrenmekte büyük fayda var.
- Roborio'yu her sezon güncellemeyi unutma!
- Limelight'ı her sezon güncellemeyi unutma!
- Radio'yu her sezon güncellemeyi unutma!
- Kodu commitlerken bütün yapılanları tek bir committe gönderme düzgünce ayır ve best practice yöntemleri kullan. Düzgün commit mesajları yaz. Yoksa daha sonra versiyonu geriye döndürmek istersen baş ağrıtabilir.
- Maple-sim ve superstructure kullanma planımız vardı. Maple-sim'i çalıştıramadık superstructure'u da işimize yarayacak bir durum olmadığı için kodunu sildik. Maple-sim entegrasyonu kesin sağla. Gerekiyorsa da superstructure kullan.
- Oynayan eklemlere yazılımsal limit ekle
- SysID düzenli olarak kullan.
- PID ayarlarken 0.1'den başla her seferinde iki katına çıkar hedef nokta etrafında sallanmaya başlayınca yavaş yavaş D değerini arttır.
- Koda bolca yorum ve açıklama ekle.
WPILIB indirin.
Projeyi klonlayın
git clone https://github.com/FRC-Haydarpasa-Panthers-9231/9231_Reefscape_2025_RobotCode.git2025 WPILIB VS Code üzerinden projeyi açın.
CTRL + SHIFT + P bastıktan sonra açılan pencereye Simulate Robot Code yazıp seçin.
Build almasını bekleyin.
Enter tuşuna basın ve simulasyonu çalıştırın.
Simulasyonu Teleoperated moduna almayı ve kontrolcüyü seçmeyi unutmayın.
-
Haydarpaşa Panthers 9231 Takımdaki bütün üyelerin emeği için.
-
Hyperever Mentörlük destekleri için.
-
@dukeofsoftware 9231 Yazılım Kaptanına koda yaptığı katkılar için.
-
Mechanical Advantage 6328 Kullanılan bazı util ve saha pozisyonu dosyaları için.
-
Windham Windup 3467 Yazdıkları koddan ilham aldık.
-
The Junkyard Dogs 2106 Led sistemi için.
-
FRC Discord Community Zorlandığımız kısımlarda topluluktan destek aldık.
Herhangi bir geri bildiriminiz varsa, lütfen [email protected] adresinden bize ulaşın.












