FRC En İyi Uygulamalar
Etkinlik Hazırlık Kontrol Listesi
- Tüm pipeline'ları programlama dizüstü bilgisayarınıza indirin ve yedekleyin.
- En son Limelight imajının bir kopyasını programlama dizüstü bilgisayarınıza indirin.
- Pipeline'larınızın ve indekslerinin bir listesini kaydedin.
- 1 - Çift Hedef Alçak
- 2 - Çift Hedef Yüksek Kargo
- LL'nize giden tüm güç ve ethernet kablolarına gerilim önleyici ekleyin.
- Tüm bağlantıları sıcak yapıştırıcı ile sabitlemeyi düşünün.
- Antrenman ve etkinlikler sırasında yayını görüntülemek için web tarayıcısı yerine bir gösterge paneli (Smartdashboard, Shuffleboard) kullandığınızdan emin olun. Varsayılan web kontrolleri, anlık bağlantı kesintilerinden sonra yayınlara otomatik olarak yeniden bağlanma özelliğine sahip değildir, ancak SmartDashboard ve Shuffleboard'da varsayılan olarak otomatik yeniden bağlanma özelliği bulunur.
- Bir etkinlikte ethernet bağlantısını etkinleştirmek ve ikinci radyo portunu kullanmamak için robotunuza bir ağ anahtarı ekleyin. Brainboxes SW-005 5 portlu Anahtar öneririz.
- Bükümlü Cat6 kabloları ve örgülü teller kullanın. Düz ethernet kabloları kullanmayın.
- İkinci radyo portunu kullanmayın. Mümkünse tüm cihazları ağ anahtarınız üzerinden yönlendirin.
- USB üzerinden robotunuza bağlıyken Limelight iletişimini etkinleştirmek için Port Yönlendirme kurun.
- 5800, 5801, 5802, 5803, 5804, 5805, 5806 ve 5807 portlarını yönlendirin
- Java
- C++
import edu.wpi.first.wpiutil.net.PortForwarder;
@Override
public void robotInit()
{
// Port yönlendirmesini robot kodunuzda yalnızca bir kez yapılandırdığınızdan emin olun.
// Bu fonksiyon çağrılarını herhangi bir periyodik fonksiyona yerleştirmeyin
for (int port = 5800; port <= 5809; port++) {
PortForwarder.add(port, "limelight.local", port);
}
}
http://roborio-(teamnum)-FRC.local:5801 artık limelight.local:5801'e yönlendirilecek
İkinci bir limelight eklemek için, farklı bir yerel port seti kullanın. İlk PortForwarder.add() argümanındaki "+10"a dikkat edin:
for (int port = 5800; port <= 5809; port++) {
PortForwarder.add(port+10, "limelight-left.local", port);
}
http://roborio-(teamnum)-FRC.local:5811 artık limelight-left.local:5801'e yönlendirilecek
#include <wpi/PortForwarder.h>
void Robot::RobotInit
{
for (int port = 5800; port <= 5809; port++)
{
wpi::PortForwarder::GetInstance().Add(port, "limelight-left.local", port);
}
}
http://roborio-(teamnum)-FRC.local:5801 artık limelight.local:5801'e yönlendirilecek
İkinci bir limelight eklemek için, farklı bir yerel port seti kullanın. İlk PortForwarder::add() argümanındaki "+10"a dikkat edin:
for (int port = 5800; port <= 5809; port++)
{
wpi::PortForwarder::GetInstance().Add(port+10, "limelight.local", port);
}
http://roborio-(teamnum)-FRC.local:5811 artık limelight-left.local:5801'e yönlendirilecek
Port yönlendirme etkinleştirildikten sonra, Limelight'ınızın yapılandırma sayfasına http://roborio-(teamnum)-FRC.local:5801 adresinden erişebilirsiniz. Örneğin, 2928 numaralı takım http://roborio-2928-FRC.local:5801 adresini kullanacaktır.
Etkinlik Sırasında Kalibrasyon
- Robotunuzu sahadaki her hedefe doğru yönlendirin.
- Eşikleme işleminin düzgün çalıştığından emin olun. Bu işlem sırasında "threshold" görünümüne geçin (görüntü akışının altında bulunur).
- Robotunuzu hedefe yakın ve uzak mesafelere getirin. Artı işaretlerinin düzgün kalibre edildiğinden emin olun.
- Hedeften uzaktayken, robotunuzu sola ve sağa ~30 derece döndürerek diğer hedeflerin yanlışlıkla izlenmeyeceğinden emin olun.
- Daha fazla ayarlama ipucu için aşağıdaki ayarlama bölümüne bakın.
- Diğer saha/arena elemanlarının yanlışlıkla izlenmediğinden emin olun. Arena ışıklarını yakalıyorsanız alan ve en-boy oranı filtrelerinizi kontrol edin.
- Tüm hedeflerin ve hatalı hedeflemenin anlık görüntülerini alın. Bunları pit alanında pipeline'larınızı ayarlamak için kullanabilirsiniz.
Pipeline Ayarlama
- Mümkün olan en düşük pozlamayı kullanın ve saha ışıkları ve LED yansımaları görüntüden kaldırılana kadar siyah seviye ofsetini artırın.
- Eşikleme testini hedefinizden uzakta ve açılı durumdayken yapın.
- İstenmeyen LED yansımalarını filtrelemek için 2019.7'nin "Akıllı Benek Reddetme" özelliğini kullanın.
Sahaya Bağlanmadan Önce
- Dizüstü bilgisayarınıza statik IP yapılandırması verin.
- IP: 10.TE.AM.5
- Alt Ağ Maskesi: 255.0.0.0
- Ağ Geçidi: 10.TE.AM.1
- RIO'nuza statik IP yapılandırması verin.
- IP: "10.TE.AM.2"
- Alt Ağ Maskesi: 255.255.255.0 ** - BURADAKİ FARKA DİKKAT EDİN**
- Ağ Geçidi: 10.TE.AM.1
- Limelights'larınıza benzersiz ana bilgisayar adları verin (birden fazla kullanıyorsanız).
- Limelights'larınıza benzersiz statik IP yapılandırmaları verin.
- Her zaman ".11" adresleriyle başlayın ve yukarı doğru gidin. (10.9.87.11, vb.)
- Diğer adreslerin kullanımı, ünitelerinizin FMS'ye bağlıyken arızalanmasına neden olabilir.
- IP: "10.TE.AM.11"
- Alt ağ maskesi: 255.255.255.0
- Ağ Geçidi: "10.TE.AM.1"
Not: Sıfır içeren takım numaraları özel dikkat gerektirir:
- 916 numaralı takım 10.9.16.xx kullanır,
- 9106 numaralı takım 10.91.6.xx kullanır
- 9016 numaralı takım 10.90.16.xx kullanır
Ek bilgi: https://docs.wpilib.org/en/stable/docs/networking/networking-introduction/ip-configurations.html
Maç Öncesi Kontrol Listesi
- Limelights'larınıza giden tüm güç ve Ethernet kablolarını kontrol edin.
- Tüm elektrik bağlantılarını gevşeklik ve yıpranmış kablolar açısından kontrol edin.
- Tüm montaj vidalarını / kablo bağlarını / bantları kontrol edin.
- Her zaman ESD önlemlerine uyun.
Bant Genişliği
- Bazı takımlar bant genişliği sınırının çok altında kalarak iki Limelight ve iki USB kamera çalıştırır. Bant genişliğini azaltmak için aşağıdaki adımları izleyin.
- Sürücü modunu kullanmak yerine bir "sürücü" pipeline'ı oluşturun. Yayın bant genişliğini azaltmak için pozlamayı düşürün.
- USB kamera mı kullanıyorsunuz? Resim içinde resim modunu etkinleştirmek için "stream" NT anahtarını kullanın. Bu, yayın bant genişliğini önemli ölçüde azaltacaktır.
- Yayın kritik değilse ayarlar sayfasında yayın hızını "düşük" olarak ayarlayın.
- 2019.7'de tanıtılan 160x120 yayın seçeneğini kullanın.
Sorun Giderme
- Yayına IP:5800 adresinden bir web tarayıcısıyla erişmeyi deneyin. Bu, sorunlarınızın kaynağını belirlemenize yardımcı olacaktır.
- Gösterge panelini yeniden başlatın
- Bilgisayarınızı yeniden başlatın
- Saha sıfırlanmışsa robotunuzu yeniden başlatın
- Bozuk Ethernet kabloları aralıklı ağ sorunlarının nedeni olabilir.
- Sahada her zaman statik IP yapılandırmaları kullanın.