Simulation Specific User Interface Elements
WPILib, bir grafik kullanıcı arabirimi (GUI) bileşeni sunmak için genişletilmiş robot simülasyonuna sahiptir. Bu, ekiplerin robotlarının girdilerini ve çıktılarını kolayca görselleştirmesine olanak tanır.
Not
The Simulation GUI is very similar in many ways to Glass. Some of the following pages will link to Glass sections that describe elements common to both GUIs.
GUI’yi çalıştırma
GUI’yi Run Simulation komut paleti seçeneğiyle başlatabilirsiniz.
And the Sim GUI
option should popup in a new dialog and will be selected by default. Press Ok. This will now launch the Simulation GUI!
GUI’yi kullanma
Düzeni Öğrenmek
Aşağıdaki öğeler simülasyon GUI’sinde varsayılan olarak gösterilir:
Robot State - Bu, robotun mevcut durumu veya “modudur”. Normal Driver Station’da yaptığınız gibi modu değiştirmek için etiketlere tıklayabilirsiniz.
Timing-Zamanlama - Robotun zamanlayıcılarının değerlerini gösterir ve zamanlamanın değiştirilmesine izin verir.
System Joysticks - Bu, şu anda sisteminize bağlı kumanda çubuklarının bir listesidir.
FMS - This is used for simulating many of the common FMS systems.
NetworkTables - Bu, NetworkTables’da yayınlanan verileri gösterir.
Joysticks - Bu, robot kodunun doğrudan çekebileceği joysticklerdir.
Other Devices-Diğer Cihazlar - Bu, Parça Kitine dahil olan ADXRS450 cayro veya simülasyonu destekleyen üçüncü taraf cihazlar gibi diğer kategorilerin hiçbirine girmeyen cihazları içerir.
Aşağıdaki öğeler Donanım menüsünden eklenebilir ancak varsayılan olarak gösterilmez.
**Addressable LEDs-Adreslenebilir LED’ler ** - Bu,
AddressableLED
Sınıfı tarafından kontrol edilen LED’leri gösterir.Analog Inputs - Bu, Analog tabanlı jiroskoplar gibi normalde roboRIO’da ANALOG IN konektörünü kullanan tüm cihazları içerir.
DIO - (Dijital Giriş Çıkışı) Bu, roboRIO’da DIO konektörünü kullanan tüm cihazları içerir.
Encoders - Bu,
Encoder
sınıfını genişleten veya kullanan tüm somutlaştırılmış cihazları gösterecektir.PDPs-PDP’ler - Bu, Power Distribution Panel nesnesini gösterir.
PWM Outputs - This is a list of instantiated PWM devices. This will appear as many devices as you instantiate in robot code, as well as their outputs.
Relays - Bu, tüm röle cihazlarını içerir. Buna VEX Spike röleleri dahildir.
Solenoids - Bu, “connected” solenoidlerin bir listesidir. Bir solenoid nesne oluşturduğunuzda ve çıkışları ittiğinizde, bunlar burada gösterilir.
Kumanda Çubuklarına System Kumanda Çubuğu Ekleme
Sistem kumanda çubukları listesinden bir kumanda çubuğu eklemek için, “System Joysticks” menüsü altında gösterilen bir kumanda çubuğuna tıklayıp “Joysticks” menüsüne sürükleyin.
Not
FRC ® Driver Station, bağlı oyun kumandalarına özel eşleme yapar ve WPILib simülatörü bunları varsayılan olarak “eşleme” yapmaz. Bu davranışı, “Joysticks” menüsünün altındaki “Map gamepad-Harita oyun kumandası” geçiş düğmesine basarak etkinleştirebilirsiniz.
Klavyeyi Joystick olarak kullanma
You add a keyboard to the list of system joysticks by clicking and dragging one of the keyboard items (e.g. Keyboard 0) just like a joystick above. To edit the settings of the keyboard go to the DS item in the menu bar then choose Keyboard 0 Settings. This allows you to control which keyboard buttons control which axis. This is a common example of how to make the keyboard similar to a split sticks arcade drive on an Xbox controller (uses axis 1 & 4):
ADXRS450 Girişlerini Değiştirme
ADXRS450 nesnesini kullanmak, cayro tabanlı çıktıları test etmenin harika bir yoludur. Bu, “Orher Devices” menüsünde görünecektir. Daha sonra “Connected”, “Angle” ve “Rate” gibi çeşitli seçenekleri gösteren bir açılır menü ortaya çıkar. Bu değerlerin tümü, değiştirebileceğiniz ve robotunuzun anında kodlayıp kullandığı değerlerdir.
Robot Kodundan Simülasyonu Belirleme
Üretici kitaplıklarının robot simülasyonunu çalıştırırken derlenmediği durumlarda, içeriklerini bir boolean
döndüren RobotBase.isReal ()
ile kapsayabilirsiniz.
TalonSRX motorLeft;
TalonSRX motorRight;
public Robot() {
if (RobotBase.isReal()) {
motorLeft = new TalonSRX(0);
motorRight = new TalonSRX(1);
}
}
Not
C++ ‘da değer türlerini yeniden atamak, taşıma veya kopyalama ataması gerektirir; Hem SIM’i desteklemeyen hem de taşıma veya kopyalama atama operatörü olmayan üretici sınıfları, bir değer türü yerine bir işaretçi kullanılmadıkça koşullu tahsis ile çalışılamaz.
Görünüm Ayarlarını Değiştirme
View menü öğesi şunları içerir Zoom ve Style özelleştirilebilir ayarları. Zoom seçeneği, uygulamadaki metnin boyutunu belirler, oysa Style seçeneği, Classic
, Light
ve Dark
modlar arasında seçim yapmanızı sağlar .
Dark
stil ayarının bir örneği aşağıdadır:
Uygulama Verilerini Temizleme
Application data for the Simulation GUI, including widget sizes and positions as well as other custom information for widgets is stored in a imgui.ini
file. This file is stored in the root of the project directory that the simulation is run from.
The imgui.ini
configuration file can simply be deleted to restore the Simulation GUI to a “clean slate”.