Hi, thank you for your interest in this project.
The code is a bit messy right now, I'll try to post it soon.
Now I changed the code to make the robot work in two different ways. A free drive mode let the user control the robot like in the video, another way to control it is with the dpad. With the dpad the robot moves using SimpleNavigator class. Computed coordinates, angle and data from sonic sensor are sent to the pc that draws the robot position and the positions of detected obstacles in a JPanel.
I made this to draw a map of the robot's surroundings, unfortunately this is not very precise yet.
I think it would be fun also to make the robot controllable with a joystick, but I don't know if there is joystick class for java that is not os dependent.
Any suggestion is welcome.
About the os and the device used.
I'm using linux debian with bluez stack and wiiusej for the wiimote. libbluetooth-dev has to be installed and wiiuse.so has to be in java library path. The bluetooth device is a linksys bluetooth usb adapter.
I had troubles with windows too, both bluesoleil and windows stack did not find my NXT.