Update March 2012: The project with source code is located here.
In the past year, a classmate and I have researched 'self-balancing robots' as a final year project. The goal was to create a simulation model of such a robot, and the result was an NXT Segway, with a HiTechic Gyro sensor, and programmed in RobotC (and a 170-page document going with it). I found this to be a very interesting project, but since the project document was written in Dutch entirely, that won't be very helpful to most of you.
Another Segway, you might think, and that's actually quite right. Today however, I wanted to try to program this Segway in NXT-G, because the current version of NXT-G (2.0) is relatively fast. It turns out that the Segway can still balance very well when programmed in NXT-G. It's a little slower, but it can still handle uneven terrain and small disturbances.
In the next week, I'll post some more updates, including the NXT-G program. Basically, all you need to create this robot is the HiTechnic Gyro sensor, any NXT set (any wheel size will work), and the NXT-G 2.0 software.