编程Romi

为Romi编写程序与为普通的FRC机器人编写程序非常相似,事实上,所有相同的工具(Visual Studio Code、Driver Station、SmartDashboard等)都可以在Romi上使用。

创建Romi程序

Creating a new program for a Romi is like creating a normal FRC program, similar to the Zero To Robot programming steps.

WPILib comes with two templates for Romi projects, including one based on TimedRobot, and a Command-Based project template. Additionally, an example project is provided which showcases some of the built-in functionality of the Romi. This article will walk through creating a project from this example.

备注

In order to program the Romi using C++, a compatible C++ desktop compiler must be installed. See Robot Simulation - Additional C++ Dependency.

创建一个新的 WPILib Romi项目

使用Ctrl+Shift+P打开Visual Studio代码命令面板,并在提示符中键入New Project。选择Create a new project命令。

../../_images/romi-vscode-new-project.png

这将弹出“新建项目创建器”窗口。在这里,单击Select a project type (Example或Template),并从出现的提示符中选择Example。

../../_images/romi-vscode-select-type.png

接下来,将出现一个示例列表。滚动列表以找到RomiReference示例。

../../_images/romi-vscode-reference-example.png

填写New Project Creator中的其他字段,并单击Generate Project创建新的robot项目。

运行一个Romi程序

Once the robot project is generated, it is essentially ready to run. The project has a pre-built Drivetrain class and associated default command that lets you drive the Romi around using a joystick.

One aspect where a Romi project differs from a regular FRC robot project is that the code is not deployed directly to the Romi. Instead, a Romi project runs on your development computer and leverages the WPILib simulation framework to communicate with the Romi robot.

To run a Romi program, first, ensure that your Romi is powered on. Next, connect to the WPILibPi-<number> WiFi network broadcast by the Romi. If you changed the Romi network settings (for example, to connect it to your own WiFi network) you may change the IP address that your program uses to connect to the Romi. To do this, open the build.gradle file and update the wpi.sim.envVar line to the appropriate IP address.

43//Sets the websocket client remote host.
44wpi.sim.envVar("HALSIMWS_HOST", "10.0.0.2")
45wpi.sim.addWebsocketsServer().defaultEnabled = true
46wpi.sim.addWebsocketsClient().defaultEnabled = true

Now to start your Romi robot code, open the WPILib Command Palette (type Ctrl+Shift+P) and select “Simulate Robot Code”, or press F5.

Launching simulation via the WPILib Command Palette

如果一切顺利,您应该在控制台输出中看到一行读取HALSimWS: WebSocket Connected的内容。

../../_images/romi-vscode-connected.png

您的ROMI代码现在正在运行!