Dave Parker is a software engineer from California, USA who works on the side as a volunteer teacher and youth coach using LEGO MINDSTORMS, and is currently a member of the MINDSTORMS Community Partner (MCP) group. Dave has been building his own projects with LEGO MINDSTORMS NXT for about 2 ½ years and posting projects with building instructions and programs to his web site at www.nxtprograms.com
Summary of the Project:
This robot simulates a self-balancing “Segway”, with a rider standing on top. The robot balances on two wheels by itself using only the standard NXT 2.0 Color Sensor as a proximity sensor. With Bluetooth remote control, you can also make the rider lean forward and backward, which causes the Segway to drive forward and backward in response.
More Details about the Project:
There have been many cool self-balancing robots built with LEGO MINDSTORMS using various types of sensors, dating back to Steve Hassenplug’s LegWay for the original LEGO MINDSTORMS (RCX), and also including Philippe ‘Philo’ Hurbain’s NXTWay for LEGO MINDSTORMS NXT using the standard light sensor. Several other designs have used gyro sensors to achieve a stable balance.
For this project, I wanted to design a “Segway” type self-balancing robot that used only the contents of the LEGO MINDSTORMS NXT 2.0 (8547) box, which means that it would use the NXT Color Sensor to balance, and have a control program written in the standard NXT-G programming system. I also wanted it to look like a Segway with a rider on it, and I wanted to make the rider be able to lean forward and backwards to change the balance of the robot and cause it to drive forward or backwards in response, similar to a real Segway.
To balance, the robot uses the NXT Color Sensor in Light Sensor mode as a proximity sensor to the ground, to estimate the relative tilt angle of the robot, and the control program constantly adjusts the motor power to the wheels to try to keep the robot in the same position that it started out in. This means that the robot must be started perfectly balanced to begin with, and the ground surface must be a smooth uniform color, but if these conditions are met, and with a little practice, you can get it to balance quite well by itself, and even recover from light nudges by hand.
To get the rider to lean back and forth, you can use a second NXT brick as a remote control and the built-in Bluetooth capabilities of the NXT to send messages to the modified Bluetooth-enabled control program to control the rider’s lean angle. This will change the balance of the robot and cause the balancing program to drive the robot in the direction of the lean to compensate, similar to the way a real Segway starts or stops.
Main Project Page: Building
Programs and Instructions
Download the LEGO Digital Designer file (LFX) by pressing the "Download" button below.