BrickEngineer: LEGO Design

LEGO Engineering for LEGO NXT and Robot Enthusiasts

KnuthLab LEGO Exploration Rover


Image of KnuthLab Exploration Rover

KnuthLab Exploration Rover with Researchers A. Fischer and N. Malakar

The Knuth Cyberphysics Laboratory in the University at Albany Physics Department has developed the KnuthLab LEGO Exploration Rover, which acts as a testbed for robotic intelligence and navigation software. Development of this rover was funded by a NASA SBIR Award (Advanced Bayesian Methods for Lunar Surface Navigation) through Autonomous Exploration Inc. as well as a University at Albany Faculty Research Award (Developing Robotic Explorers, PI: K.H. Knuth).

The LEGO Exploration Rover is powered by six NXT Standard Motors in a Rocker-Bogie suspension system used in all of the NASA Mars rover designs. The rover is approximately 1.5 ft high with a 1 ft x 1.5 ft base. It is larger than the NASA Sojourner Rover, which was part of the Pathfinder Mission to Mars in 1997, and smaller than the Mars Exploration Rovers Spirit and Opportunity. It can safely carry a payload of 8 pounds.

Image of KnuthLab LEGO Exploration Rover

KnuthLab LEGO Exploration Rover


The LEGO Exploration Rover has two laptop bays built into the box-like frame in which it can carry two Asus Eee Laptops for onboard processing. The wheels are controlled by two LEGO NXT bricks, which can communicate with the laptops via Bluetooth. The rocker-bogie suspension and low speed allows it to handle relatively rugged terrain and steep grades.

The white frame mounted on top of the rover is the Bayesian Vision-Based Navigation System being developed by Autonomous Exploration Inc. for NASA.

Check back, as we will be posting videos of its operation and discussing some of the important design features.

Little Rover with Instructions and Code

 

I have finally compiled building instructions for my Little Rover, which can be seen above in a 3D Rendering courtesy of POVRay.  An earlier version of this rover can be seen in this YouTube video:

Little Rover Prototype Video

Rover Design

The complete detailed building instructions can be found here in this 94-page pdf file.
Warning: it is about 9MB in size.  The design is not entirely compatible with the standard NXT Mindstorms Kit.  This design relies on two touch sensors, several 1×9 bent liftarms, and as far as I can tell from Peeron, the NXT Kit has only two.  This may require a little redesign.  Other compatibility issues and their solutions can be found in the Parts List in the instructions.

Remember to download the software DriveSmart here as well.
Installation instructions can be found in the zip file.

DriveSmart Code

The main file is called DriveSmart.rbt.  Drive Smart runs four threads:

Drive Thread
The Drive Thread (lowest one of the four) drives until a warning flag is set by one of the other
threads. It then waits until it gets an all clear message via the Wait Until Free block, and then
it starts driving again.

Bumper Threads
There are two threads that monitor the bumpers.
The reaction is only activated if nothing else is currently commanding the robot.  In this case the
bumper has been pressed and the robot will veer away from the hazard.

Ultrasound Thread
This thread monitors the ultrasound rangefinder.
The reaction is only activated if nothing else is currently commanding the robot.  When the robot
comes too close to a hazard, the robot is commanded to stop.  It then looks both ways and then turns
in the direction with more room.  If the robot is within 10 cm of a hazard on both sides, it then
backs up.

The robot can roam about a wide variety of rooms and not get stuck.
He does not detect stairs though!  So be careful.

Download: instructions and code.

Enjoy!
Kevin Knuth

Content Protected Using Blog Protector By: PcDrome.