Irobot Robot Project

1614 Words4 Pages

Includes Source Code

Lego Navigation System

Abstract
My project was to create a robot out of a Lego Mindstorms construction set that was capable of “knowing” where it was. The robot would head out on a random path, remember and update its location, and return to its origin on a straight line. The challenge of this project was not so much a matter of constructing the robot, but of creating a working program in the week and a half time limit. The project goal was met on the last day, thus showing that a Lego navigation system is possible.
Background
A war zone is a dangerous place, especially for the infantry. Any advantage, technological or otherwise is welcome, and any technology that spares soldiers’ lives is invaluable. Recently, …show more content…

Two of the leading manufacturer’s of these robots are iRobot and the US
Marine Corps. IRobots’ PackBot EOD uses a camera/grabber, multiple sensors, and a unique tread system capable of climbing stairs in order to execute the majority of its tasks. It also has GPS. The US Marine Corps’ Dragon Runner is a rugged, four-wheeled machine with a camera and other sensors safely encased in the body. The Dragon Runner weighs roughly 16 pounds, while the PackBot is just over twice that much weight. While these robots are a great help in a war zone, the navigation system could be improved. If the robot could navigate by itself, the soldiers that previously had to operate the robot would be free to do more important tasks. By implementing a Cartesian coordinate system, I believe that these robots be programmed with a simple self-navigation system.
Procedure
The physical design of NavBot is very simple. It follows the basic design of
TankBot, as described in David Baum’s Definitive Guide to Lego Mindstorms. I chose this design as the basis of my robot due to its simplicity and ease of construction. While it follows the basic TankBot design, it has its …show more content…

The new location was calculated after each straight movement.
Once NavBot had repeated the process of moving and turning the desired number of times, the program had to turn to face the origin, and head back the correct distance. First, NavBot decided in which quadrant it was in, based on it’s x and y coordinates. It could also tell if it was on either the x or y axis. It then turned to face downward if it was above the y axis, and upward if it was below
(in the case that it was on either axis, it simply faced the origin). This was so that I only had to program how to face the origin with NavBot facing one direction, as opposed to any of four directions. This is where some of the trigonometry problems really came into play. I’d planned to program how far to turn to face the origin by using trigonometry, but since that wasn’t in option, I had to come up with an alternate strategy. I tried using the Taylor series to approximate the inverse of the tangent function (the only function I needed) , but I later discovered that it was incredibly inaccurate (off by up to forty degrees even when NavBot was less than three seconds from the origin). I

Open Document