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 azaltıcı ekleyin.
- Tüm bağlantıları sıcak yapıştırıcı ile sabitlemeyi düşünün.
- Antrenman ve etkinlikler sırasında akışı 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 akışlara otomatik olarak yeniden bağlanma yeteneğ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 kullanmaktan kaçınmak için robotunuza bir ağ anahtarı ekleyin. Brainboxes SW-005 5 portlu Anahtar öneririz.
- Bükümlü Cat6 kabloları ve çok telli kablolar 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()
{
// Robot kodunuzda port yönlendirmeyi 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-(takımno)-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-(takımno)-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-(takımno)-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-(takımno)-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-(takımno)-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 yuvarlayın.
- Eşikleme işleminizin 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 yuvarlayın. Nişangahların doğru 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 siyah seviye ofsetini artırarak saha ışıklarını ve LED yansımalarını görüntüden kaldırın.
- Hedefinizden uzakta ve açılı durumdayken eşikleme testinizi yapın.
- İstenmeyen LED yansımalarını filtrelemek için 2019.7'nin "Akıllı Benek Reddi" özelliğini kullanın.
Sahaya Bağlanmadan Önce
- Dizüstü bilgisayarınıza statik bir IP yapılandırması verin.
- IP: 10.TA.KIM.5
- Alt Ağ Maskesi: 255.0.0.0
- Ağ Geçidi: 10.TA.KIM.1
- RIO'nuza statik bir IP yapılandırması verin.
- IP: "10.TA.KIM.2"
- Alt Ağ Maskesi: 255.255.255.0 ** - BURADAKİ FARKA DİKKAT EDİN**
- Ağ Geçidi: 10.TA.KIM.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ılması, birimlerinizin FMS'ye bağlandığında arızalanmasına neden olabilir.
- IP: "10.TA.KIM.11"
- Alt ağ maskesi: 255.255.255.0
- Ağ Geçidi: "10.TA.KIM.1"
Not: Sıfır içeren takım numaralarına sahip takımlar özellikle dikkat etmelidir:
- 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. Akış 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, akış bant genişliğini önemli ölçüde azaltacaktır.
- Akış kritik öneme sahip değilse, ayarlar sayfasında akış hızını "düşük" olarak ayarlayın.
- 2019.7'de tanıtılan 160x120 akış seçeneğini kullanın.
Sorun Giderme
- Akışa IP:5800 adresinden bir web tarayıcısıyla erişmeyi deneyin. Bu, sorunlarınızın kaynağını belirlemenize yardımcı olmalıdır.
- Gösterge panonuzu 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.