I just got two Glidewheels from Mindsensors for testing. The Glidewheel allows you to integrate other motors into your NXT models, providing precise control over even the oldest 9V motors.
The Glidewheel is designed for Power Functions motors, but works just as well for my RCX motors.
The hard part of using them with RCX LEGO is that they don’t fit directly or close to the RCX motors. You’ll have to mount them elsewhere and stick an axle through them. This is further complicated by the stud-based RCX LEGO.
The first thing I made with them is this small car that uses a drive and steer motor. Even with the rotation sensor that you could buy for the RCX, it was incredibly hard to steer a robot like this.
With the Glidewheel it is incredibly easy. Well, almost. My first attempt looked much like my past attempts with the RCX.
The RCX motors are a lot faster than the NXT motors, so what happens is that the PID controller in the NXT starts overreacting.
To stop this, I used an algorithm called gradual descent(or twiddle, as prof Thrun calls it), which basically modifies P, I or D a little, and sees if it gets better or worse.
</code>
The result of this code for my little car was
P
I
D
Default
96
32
32
Free
40
40
32
Load
40
32
40
Inserting these values in my code, I get this smooth motion.