Robot Prototype
Published on 4 Mar 2007 at 2:06 am.
1 Comment.
Filed under Intelligent Systems, Lego, Robotics.
Today I joined the YouTube community by uploading a video of my most recent Lego NXT Robot Prototype. In a previous blog, I introduced the first design, but since then the robot has undergone some serious design modifications. I spent a good part of last night re-programming the robot by adding code that handles many details of obstacle avoidance. By no means is this a research breakthrough, but rather it is an example of my early attempts to control a robot with the Lego Mindstorms software.

The robot is a basic tripod design with two independently driven rear wheels giving it what is known as a differential drive. The front wheel is a caster, whos design was not trivial as I had initially expected. As such, even now, during turns the rear wheels often do not supply sufficient torque to rotate the robot significantly. The result is that there is often some wheel slippage during turns. This is due to the fact that the tripod design is a triangle with a base (rear wheel separation) only 1.5 times that of the front wheel/rear wheel separation. This results in a relatively small lever arm which necessitates a greater force to turn the robot.
The ultrasonic rangefinder is motorized allowing the robot to look left and right. This provides the robot with information that enables it to decide which way to turn based on the distance to obstacles in various directions. In addition, the robot is equipped with bumpers on touch sensors to enable the robot to detect and correct for grazing impacts with obstacles.
The programming is carried out with four threads: one that monitors obstacles in front of the robot as detected by the ultrasonic rangefinder, one that monitors the left bumper, a third that monitors the right bumper, and finally one that controls the forward drive. Detection of any obstacle sets a flag that is monitored by all four threads. In the event of a grazing impact, the robot rotates away from the obstacle. An obstacle directly in front of the robot detected by the ultrasonic rangefinder results in a complete stop followed by left and right glances to look for obstacles on the periphery and collect data to plan a turn.
Click here for the video I just uploaded into YouTube.
Although, the sound is now offset from the video.
Kevin Knuth
Albany NY

Anita on 4 Mar 2007 at 10:36 am: 1
Sweet robot goodness!