Does anyone know if GRIP is compatible with Labview? Here it show it being able to run on the roborio while using java or C++ but I haven’t been able to find anything about Labview.
Also does anyone know when an ARM compatible build may be available?
The LabVIEW vision support has shipped with Vision Builder AI for years. GRIP is not compatible with LabVIEW, but VBAI has and continues to serve the same purpose as GRIP now does for Java and C++.
The GRIP installer includes an ARM build. If you deploy GRIP (tools>deploy), it copies this to the roboRIO.
GRIP communicates with NetworkTables, so it should theoretically be possible for it to work with LabView, but we haven’t tried it yet. Let us know if you do get it to work, or if it doesn’t work.
You will need to make sure that after adding your LabVIEW program, the Java virtual machine (see java install docs), and GRIP that there is enough memory and CPU to run your robot program. That’s a lot of code and it would be easy to over-tax the roboRIO. If it fits, then outputting values using NetworkTables should be consumable from any language on the roboRIO.
Another option is to put a network camera on the robot and send the images to the laptop and run the vision program there. That will take the load off the roboRIO for image processing. Then send the target values back to the robot with network tables. Just be sure that the control loops for aiming the robot aren’t based on the update rate of the camera. Just use the camera results to set a setpoint and use another sensor like a gyro, potentiometer or encoder to aim the robot. Those have very fast updates and will allow for a fast control loop.
So i’ve managed to get GRIP up and running on a raspberry pi that is connected to the same network as the rio and will be placed on the robot. Wondering if someone can point me to some examples for accessing the network tables values in labview. I’m figuring it needs to be done with the networktables bind and a network tables read but i’m not really sure what value types i’m looking for or the best place in the code to put these items. Any help would be appreciated.
Bind is just for the dashboard. It binds control and indicators to variables using the name of the control.
You will want to use the NT Read VI. Enter the name of the variable. If the name starts with / it is a full variable name. If it doesn’t, the VI will add /SmartDashboard/ to the front of it.
I was able to actually get hooked to our rio tonight and went into the dashboard and i’m seeing some data. Before this I was trying to use the simulator but must have not been sending the data to the right place or something.
Under variable name i’m seeing
GRIP
myContoursReport
area
centerX
centerY
height
solidity
width
SmartDashboard
Auto List
DB
…So ON
If I want to read the height variable would I use the path /GRIP/myContoursReport/height to get that data.