Trouble reading Kinect values from robot

Hello,

We set up our robot and kinect recently and have gotten the kinect working on the driver station. The kinect server runs properly and the skeletons display under the Kinect Skeleton area of the dashboard.

However, we’re unable to read any of this data from the robot. We’re using WPIlib and java, and we started to test with the WPIlib KinectStickExample. This results in the printout “Bad Retval: 3” and all the read values are zeroes. We looked into the cause of this printout, and it’s the FRCControl getDynamicControlData method. The API for this method says that the returned value should be 0, 1, or 2, but we couldn’t find what 3 meant.

Other information… Trying to access the skeleton data from the Kinect class also resulted in all zeroes. We tried performing the gestures in front of the kinect but still received zeroes. The firewall on the driverstation computer is disabled and the kinect server is running. The driverstation and kinect drivers are all up to date.

Thanks for any help.

During the beta test, it was stated that this value means the robot isn’t receiving the kinect data.

What is your network configuration? What kind of driver station computer are you using?

Our driverstation is an HP mini. And we are using LAN Realtek PCIe FE Family Controller. The IP address is 10.4.675, the subnet mask is 255.255.255.0, and the default gateway is blank. We appreciate the help.

We are also seeing the same behavior. The getY() method on the KinectStick continually returns 0 even though in the driver station we see that the skeleton is getting Y values. We are using java, and a Dell windows 7 driver station. Everything else is working well, camera, drives, normal joysticks etc.

We are also having issues with the kinect. We are getting the skeleton and we’re using C++. We’ve setup the server and run the debug for the server. Everything seems to work fine, but the robot is not getting values from the kinect.

It all seems to work fine except that the information isn’t being sent to the robot. We’ve even tried to use the kinect object to just get if there is 1 person in the field of view, and we know that something isn’t right because the ds is showing data.

An update from Team 467:
We tried using our old driverstation: a 2go pc running windows 7
it is running the same software as our newer dell
it worked and it did not give us any bad retval
we are currently trying to find a difference between the two systems

I thought it was said that finding the “joystick” values had not yet been implemented and that the teams would have to do so on their own? :confused:

Try installing Visual Studio C# (the Classmate has that).
There may be some required dependencies.

We have installed Visual C# to no avail.

Our team is having this problem, too, but we’re using LabVIEW. We’re using the Classmate, so it should have visual C# on it. The driver station sees everything fine, but no information reaches the robot.

Okay, FIRST thinks that the issue is due to a conflict with the missing Cypress IO board.

Here are some temporary solutions to try.
Please, report back if this helps or fails.

  • See if plugging your Cypress board USB in makes it all better.
    or

*]Go to the Driver Station I/O tab, click Configure and change it to Compatible mode to see if that makes the Kinect data work.

Hallelujah!! Changing it to compatible mode worked. Thank you for solving our week long problem. Much appreciated.

The change to compatibility mode gave us access to the getY() method from the class KinectStick but not the getX() method

As detailed in the Getting Started with the Microsoft Kinect for FRC document, there is no gesture mapped to the X-axis in the FRC Kinect Server. If you want something on this axis, you will have to edit the Kinect Server C# code.

This worked for us too, we now see getY. Thank you!


I am here: http://maps.google.com/maps?ll=43.264436,-77.617103