After seeing this LEGO Mindstorms EV3, Stair Climbing Robot on ‘The NEXT Step Blog‘, I decided to build my own NXT Version. I had attempted a couple before several years ago, but they weren’t overly successful. Now with lots of IMU Sensor add-ons for the Mindstorms NXT, it makes the task a lot easier.
A IMU or ‘Inertial Measurement Unit‘ is an electronic device that measures and reports on a craft’s velocity, orientation, and gravitational forces, using a combination of accelerometers and gyroscopes, sometimes also magnetometers.
An IMU works by detecting the current rate of acceleration using one or more accelerometers, and detects changes in rotational attributes like pitch, roll and yaw using one or more gyroscopes.
My Stair Climber uses 4x NXT Motors. 2x connected in parallel drive the front two wheels. Another supplies the drive to the pair of small wheels at the rear.
The fourth NXT Motor drives the Lifting Mechanism that moves the rear pair of wheel up and down relative to the rest of the chassis. This is done via a gear rack mechanism which can be seen at the rear of the Robot.
When the Robot is started, it goes through initialization of the CruizCore® XG1300L. Once completed the NXT Display shows data readings from the CruizCore® XG1300L Gyroscope in a graphical format for ease of viewing. The images below show some screenshots from the NXT Screen.
The Robot then moves off waiting for a stair step to be located via a NXT Sonar Sensor. The Robot slows, and the front wheels begin to climb the step. Once the front wheels are at the top of the step it stops.
The Gyroscope produces a reading in degrees of the amount of incline the Robot is at. The Robot’s chassis is then raised to a point where the Gyroscope reads Zero Degrees again. At this point the chassis should be level.
The Robot then moves forward until the Robot’s large rear wheels are on the step as well before then raising the small rear wheels back up to chassis level. Then Robot then drives off too encounter the next step…