使用 Shuffleboard 测试指令

通过向 Shuffleboard/SmartDashboard 添加按钮来触发指令,可以轻松测试指令。通过这种方式,不需要与机器人程序的其余部分集成,并且可以轻松地独立测试指令。这是验证指令的最简单方法,因为在程序中使用一行代码,就可以在 Shuffleboard 上创建一个按钮来运行指令。然后可以将这些按钮留在原位以在将来验证子系统和命令操作。

这个带来的额外好处是它能够更好地协调数个同时在给出指令的程序部分。当代码被写入机器的主程序项目后,每个指令都可以被拉出来单独调试。

在 Shuffleboard 上创建按钮

要在 Shuffleboard 中创建按钮,请确保选中“SmartDashboard 上的按钮”复选框。

通过将机器人命令的实例放置到仪表板上,可以在SmartDashboard上创建按钮。这是一种非常常见的操作,因此已将其作为复选框添加到RobotBuilder。编写命令时,请确保已选中该复选框,然后按钮将自动生成。

操作按钮

每个创建的按钮在 Shuffleboard 中都有自己的小部件。

按钮将自动生成并显示在仪表板屏幕上。您可以重新排列 Shuffleboard 上的按钮。在这个例子中,有许多命令,每个命令都有一个相关的测试按钮。按命令按钮将运行指令。一旦按下,再次按下它将中断指令,导致调用 Interrupted() 方法。

手动添加命令

SmartDashboard.putData("Autonomous Command", new AutonomousCommand());
SmartDashboard.putData("Open Claw", new OpenClaw(m_claw);
SmartDashboard.putData("Close Claw", new CloseClaw(m_claw));
SmartDashboard::PutData("Autonomous Command", new AutonomousCommand());
SmartDashboard::PutData("Open Claw", new OpenClaw(&m_claw));
SmartDashboard::PutData("Close Claw", new CloseClaw(&m_claw));

可以通过自己编写代码将命令手动添加到 Shuffleboard。这是通过将指令的实例以及应该与 Shuffleboard 上的按钮相关联的名称传递给 PutData 方法来完成的。只要按下按钮,就会安排这些实例。结果与 RobotBuilder 生成的代码完全相同,尽管单击 RobotBuilder 中的复选框比手动编写所有代码要容易得多。