模拟特定的用户界面元素
WPILib扩展了机器人仿真功能,以引入图形用户界面(GUI)组件。 这使团队可以轻松地可视化其机器人的输入和输出。
备注
模拟 GUI 在许多方面与:ref:Glass <docs/software/dashboards/glass/introduction:Introduction to Glass> 非常相似。下面的一些页面将链接到 Glass 部分,这些部分描述了两种 GUI 的共同元素。
运行GUI
您只需通过**运行模拟**命令面板选项启动GUI。
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
学习布局
默认情况下,模拟GUI 上会显示以下项目:
机器人状态-这是机器人的当前状态或“模式”。 你可以单击标签来更改模式,就像在普通Driver Station上一样。
计时 - 显示机器人计时器的值并允许操纵计时。
系统操纵杆-这是当前连接到系统的操纵杆列表。
FMS - This is used for simulating many of the common FMS systems.
NetworkTables - 显示已发布到 NetworkTables 的数据。
操纵杆-这是可以直接从机器人代码中拉出的操纵杆。
其他设备 - 这包括不属于任何其他类别的设备,例如部件套件中包含的 ADXRS450 陀螺仪或支持模拟的第三方设备。
可以从硬件菜单添加以下项目,但默认情况下不显示。
Addressable LEDs - 这显示了由“AddressableLED”类控制的 LED。
模拟输入-包括通常使用roboRIO上的** ANALOG IN **连接器的任何设备,例如任何基于模拟的陀螺仪。
** DIO -(Digital Input Output 数字输入输出)这包括使用roboRIO上的 DIO **连接器的所有设备。
** Encoders **-这将显示扩展或使用Encoder类的所有实例化设备。
PDPs - 显示配电面板对象。
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.
继电器-这包括任何继电器设备。 这包括VEX Spike继电器。
螺线管-这是“已连接”螺线管的列表。当你创建电磁对象并推动输出时,此处显示这些。
将系统操纵杆添加到操纵杆
要从系统操纵杆列表中添加操纵杆,只需在“系统操纵杆”菜单下单击并拖动显示的操纵杆到“操纵杆”菜单。
备注
FRC | reg | Driver Station对连接的游戏手柄进行特殊映射,并且WPILib仿真器默认不会“映射”这些手柄。 您可以通过按“操纵杆”菜单下的“映射手柄”开关来打开此行为。
将键盘用作操纵杆
您可以通过单击并拖动键盘项目之一(例如键盘 0)来将键盘添加到系统操纵杆列表中,就像上面的操纵杆一样。要编辑键盘设置,请转到菜单栏中的 DS 项,然后选择键盘 0 设置。这允许您控制哪个键盘按钮控制哪个轴。这是如何使键盘类似于 Xbox 控制器(使用轴 1 和 4)上的分体式街机驱动器的常见示例:
修改ADXRS450输入
使用ADXRS450对象是测试基于陀螺仪的输出的绝佳方法。 这将显示在“其他设备”菜单中。 然后会显示一个下拉菜单,其中显示了各种选项,例如“ Connected”,“ Angle”和“ Rate”。 所有这些值都是可以更改的值,并且是你的机器人代码并可以即时使用。
根据机器人代码确定模拟
如果在运行机器人仿真时供应商库无法编译,则可以使用“ RobotBase.isReal()”包装它们的内容,这将返回“布尔值”。
TalonSRX motorLeft;
TalonSRX motorRight;
public Robot() {
if (RobotBase.isReal()) {
motorLeft = new TalonSRX(0);
motorRight = new TalonSRX(1);
}
}
备注
在C ++中,重新分配值类型需要移动或复制分配。 除非使用指针而不是值类型,否则既不支持SIM又缺少移动或副本分配运算符的供应商类无法通过条件分配解决。
更改视图设置
“视图”菜单项包含可以自定义的“缩放”和“样式”设置。 “缩放”选项决定了应用程序中文本的大小,而“样式”选项则允许您在“标准”,“亮”和“暗”模式之间进行选择.
深色样式设置的例子如下:
清除申请数据
模拟 GUI 的应用程序数据,包括小部件大小和位置以及小部件的其他自定义信息,都存储在“imgui.ini”文件中。该文件存储在运行模拟的项目目录的根目录中。
imgui.ini
配置文件可以简单地删除以将模拟 GUI 恢复到“干净的状态”。