Josh Kline's Robotics Project 1

[ Back to Index. ]

This page describes my project for Harvey Mudd's Robotics (CS154) course. I will be building and programming a robot from the Lego Mindstorms kit.

Problem Statement

Create a robot using Lego Mindstorms and program it to traverse a room while avoiding obstacles. The room will be set up like an obstacle course and the robot's objective will be to make it from one side of the room to the other.

This project is interesting to me because it will give me a chance to explore the Lego platform while delving into a broader robotics topic, that of navigation.

Bonus

While completing this project I will also be designing a curriculum to present this problem to a group of students at Pomona High School. This project is in conjunction with Seminar in Science Education (IE197).

Update [2003-11-16 but known for some time before that data]: It is unclear whether this portion of the project will continue. Implementation of a curriculum is dependent upon agreement from my partners in IE197. Personally I am confident that a two or three hour activity could easily be organized using the out of the box LEGO programming environment and a pre-built platform. There are many details to be decided, including how much instruction to give the students and how much to let them try to decipher on their own, e.g. do I tell them how to make the robot turn, or is that part of the challenge for them to figure out. Many possible competition scenarios could be devised for example fastest time through a maze, ability to complete more and more difficult mazes.

Progress

  1. Installed The Robotics Invention System (RIS) the software that comes with the Mindstorms kit.
  2. Constructed "Hank the Bumpertank" from the The Unofficial Guide to LEGO MINDSTORMS Robots.
    Front/Side View
    Front/Side View
    70.86 Kb
    Top View
    Top View
    49.29 Kb
    Both Motors
    Both Motors
    59.19 Kb
    One Motor
    One Motor
    53.03 Kb
    Touch Sensors/Bumpers
    Touch Sensors/Bumpers
    54.93 Kb
  3. Programmed Hank using the program listed in the book.
  4. Tweaked program to give more desirable results. Some success.
  5. 2003-02-10: Spent about 4 hours trying to get the brickOS installed. First cygwin needed to be installed and I think that was done successfully. There seems to be some trouble with the Hitachi gcc compiler. I tried following some instructions i found on the web but on the last "make install" there was an error that I don't understand. I e-mailed to Joe Mallone to see if he could provide any assistance.
  6. Unknown date. Unfortunately Joe Mallone was not able to get the brickOS functioning on my current box. With the help of Matt Livianu I narrowed down the problem, or I should say the symptom, to a link error having to do with memcpy.c. Not being knowledgeable about the workings of Linux I am unable to progress further on this issue.
  7. 2003-02-16 After several hours of tinkering (trial and error and following directions of myriad web pages) I got the brickOS installed. The Brown University cs148 course web page was helpfull in this process. I was able to download the firmware onto my RCX block but was unable to download any programs. The dll program seems to just hang. Hopefully I will be find some solution to this problem as well.
  8. 2003-02-17: Cosmetic Makeover. I have named my current robot "Perspective" in anticipation of building a second robot for use with BrickOS. Today I transformed Perspective into a mean fighting machine complete with lasers and a rotating, tilting turret. Here are some pictures of the preliminary armored stage.
    Armor and weapons, armedone16.jpg
    77.42 Kb
    Armor and weapons, armedone19.jpg
    73.49 Kb
    The current state is much fiercer having an armored turret and additional degrees of freedom in the guns but quality photos have not been processed yet. Stay tuned...

Algorithms: What's in a brain?

Worlds: What is an obstacle?

Near term goals, aka the next step

Long term goals

Blatant Paper Citation

In their 2002 paper "Get Back in Shape!" Yoshida et al. describe a type of robot that can reconfigure itself. This robot is made up of small identical pieces, each a robot on its own, that use shape memory alloy to attach to each other and rotate around each other. While LEGOs are reconfigurable to a high degree they are not yet able to reconfigure themselves. (Fortunately they have managed to train humans to do this for them.) By Prof Dodds' axiom that "anything that can be done can be done in LEGO" it is probable that there will eventually be LEGO robots that can assemble or rearrange themselves or each other LEGO creations.


Original stuff Copyright 2003 Josh Kline. LEGO, Mindstorms, Robotic Invention System, are probably copyright or trade mark LEGO corporation, or some other group like that. Don't sue me, it won't do you any good.

Valid XHTML 1.0!