First of all, since this is my first post, let me say just how much I love this software. I've been using the RCX and NXT over the last could years with LeJOS to do some cool projects in University with AI and vision systems and the simplicity of the implementation has been so helpful.
I'm currently working with the NXT, a BeagleBoard and a Kinect sensor. The idea is that the BeagleBoard will use OpenKinect to access data from the Kinect and use that data data to decide where to move. The BeagleBoard and Kinect are both mounted to the NXT so the Beagleboard will control the NXT over USB.
I currently have a Java program for the NXT and another for the controller that lets me remote control the robot. However, the OpenKinect software we are using is based on C++ so I cannot use the host program. Is it possible for me to create a wrapper for my Java class which will allow the methods to be called? I've researched this a little and it seems like quite a bad idea. I've also looked at the nxtOSEK API but I want to check here before I go that route. Firstly it would mean using that API (which doesn't have neat things like differential pilot) and secondly I don't see a PC API described on their website for communicating over USB like NXJ has.