Roborealm variables to the cRio and on dashboard

We are having trouble communicating variables between roborealm and the cRio. We have set up the network tables and have the vision targeting working, but we cannot get roborealm to communicate the distance of the target to the FRC dashboard.

First, check that you are using the most recent version of RR as there are lots of updates.

Check also using the Watch Variable modules that you see something like

/SmartDashboard/Distance

If you don’t edit the VBScript module and change

SetVariable “Distance” …

to

SetVariable “/SmartDashboard/Distance” …

(the dots represent whatever the rest of the line is.

Then add the NetworkTAbles module and select that distance variable. Set the IP address and then wait a bit for it to connect.

You can also run the TableViewer.jar which should then show the Distance variable in it … same with SmartDashboard. Its a good way to ensure that the variable is being transmitted.

Now you can check your CRio code … please post if you still don’t get that value.

STeven.

Thanks! We got the distance variable to show up and communicate with SmartDashboard. The problem was that we were trying to run it wirelessly, and as soon as we connected the offboard processing computer to the wireless router with an ethernet cable, it worked.
Also, is there a way to get the kinect image to show up on the SmartDashboard?

Yes, you can add the Kinect module into RoboRealm, enable the webserver (Options button->Web server tab), change the port from 8080 (default) to 80. Then launch SDB and add a ‘Camera’. In editable mode, right click and change the IP to where RR is running. The image from the Kinect should pop into the SDB after a couple seconds.

Note, watch your bandwidth! The Kinect will produce a 640x480 image which will be too large to stream over wifi (due to bandwidth throttling this year).What you can do is to try to reduce the Kinect’s input image OR you can add a scale module into RR and select that the webserver (again back in that tab) to use the ‘Current’ image which will instead stream the last image of the pipeline. Alternatively, you can use the Marker module to save that scaled version and revert back to the larger one for continued processing. Then in the websever tab you will see that marker name that you used which can be selected to send exactly that image over the network. This is handy since it allows you to use the image as needed within RR but also create a version that would be sent to the SDB.

See the attachment. It should load in the RGB image from the Kinect. It then creates a “Smaller Image” that you need to select in the Webserver tab “Use Image” dropdown.

Hope this helps.

STeven.

kinect.zip (633 Bytes)


kinect.zip (633 Bytes)