Tutorial: Deploy to the Robot - PatrickPenguinTurtle/GRIPWiki GitHub Wiki
You can deploy GRIP to a roboRIO, where it will run in headless mode. The advantage over using your driver station to run GRIP in competition is that you don't need to send camera data over the wireless network. This saves bandwidth and reduces lag.
Deploying
To deploy to a roboRIO you need to have a network connection to the robot.
Once you have created a pipeline in GRIP, go to Tools > Settings and enter your team number. The rest of the fields can usually be left unchanged, as long as mDNS is working. This setting is saved in your project file, so you shouldn't need to do this again unless you make a new project.
Next, when you want to test your changes on the roboRIO, go to Tools > Deploy and click the "Deploy" button. You can manually override the deploy settings with this dialog, but you probably won't have to if you're deploying to a roboRIO.
You should see a bunch of log text appear in the console. Eventually you will receive a success message and GRIP will be running. GRIP will keep running on the roboRIO until you either close GRIP on your machine or click the "Stop" button.
Previewing NetworkTables values
You're probably gonna want to see what values are going into NetworkTables for debugging purposes. This can be done with with OutlineViewer, which is included with the WPI Eclipse plugins.
OutlineViewer can run as either a NetworkTables client or server.
- If you're running GRIP on a roboRIO, run NetworkTables in client mode with the address "roboRIO-xxxx-frc.local"" (where xxxx is your team number)
- If you're running GRIP locally, run NetworkTables in server mode, and set your NetworkTables Server in the GRIP settings to "localhost"
You should see any values published to NetworkTables, including values from GRIP.
Common Problems
Windows 7
MDNS Support is not included with Windows 7 or earlier. You will need to have the WPILib developer tools installed and working in order to deploy to your robot if you want to use the mDNS name (eg. roboRIO-190-frc.local
instead of 10.1.90.1
). Keep in mind that the IP address may be different when using USB or link local, so mDNS is useful to have enabled.
Could not find main class "null"
When using v1.2.0 to deploy a project made in v1.1.1, you may get a Could not find main class "null"
error. This is because v1.2.0 adds the option to specify JVM arguments when deploying, but projects made before v1.2.0 don't have the default options stored.
To fix this, set Deploy JVM Options to -Xmx50m -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError
.
The next release of GRIP will automatically "upgrade" old project settings with new defaults to avoid this issue.