NXT and leJOS
I finally gave in and bought a Mindstorms NXT kit in mid 2007. What a nice kit. With the sensors and cpu in this kit you really can duplicate much of the work that was only possible in a research lab a few years ago. I decided to use the leJOS Java implementation as my language of choice and since November 2007 I've been a member of the leJOS development team. I've worked on many of the lower level aspects of the system including: i2c sensors, LCD display, Sound, Bluetooth, USB, the linker and debug facilities.
A Wii Motion Plus 2 Axis Gyro
Take a look at my version of an NXT version of the Wii Motion Plus Gyro. I've converted one for use iwth the NXT here and will be investigating the characteristics of the device.
Testing motor drivers
I've been investigating a simplified motor driver with acceleration at the core. Another leJOS user posted a simulation of various motor controllers and I've tried to reproduce the same tests using hardware. The results can be found here...
leJOS at JavaOne
I co-presented a talk with Roger Glassey at JavaOne 2009 on leJOS. The slides for our talk are available (with linked videos of some of the demonstrations) here...
There is a video of part of the presentation available here....
A big thanks to Roger and everyone that helped and came along for making this a great evening!
My take on the now classic Lego Segway. It's built using a HiTechnic gyro and a homebuilt accelerometer (I modified the sound sensor by adding an adxl202, 2 axis accelerometer to it!). The Java control program first fuses the output from the two sensors using a Kalman filter then feeds the output of that through a PID control loop to the two motors.
I've created a short video of the robot in action. You can either view it via YouTube or download a windows media version.
The source code for this project is available here.
PID motor control for leJOS
I spent some time comparing the standard leJOS motor control algorithm to one based on a PID controller. I created a pdf document with a summary of the work, you can read it here. The results have been used to tune the leJOS implementation.
Cybermaster based Rover
I've used the Lego Cybermaster kit to build a pathfinding mobile robot controlled using a C++ program running on a PC. This provided some interesting problems to solve (split between host control and local control, pathfinding, limited program space with the Cybermaster and construction of bump sensors). My rover page has lots more details. Cybermaster Information
When I first got my Cybermaster very little information was available about how to control it from a PC environment. Since then Lego have published full details. I published the results of my own investigations and they are still here.