PROJECTS FOR EE 271, SUMMER 1999


Project Number One, Robotics, Robot Design.
Any number of teams can be created. Each team should be from 3 to 5 people. Each team will work on one variant, the variants will differ, but the general goals is the same.
  1. Description of our robot arms, and how a "lobster" animated puppet will be built from them as components.
  2. There will be four arms (head will be built later on), each controlled by 5 motors. There are two bits for every motor: 00 = stop, 10 = move up, 01 = move down.
  3. Every arm is controlled separately by a parallel port from a computer, or a hand-held controller that includes batteries and 5 three-position switches.
  4. Learn the kinematics of the OWI robot by playing with it. Think how to adopt it to a hand, a tail, a head on any other body part of your selected animal or alien.
  5. I have the following bodies for you to use:
    1. A litte girl. Size of this puppet allows to animate a head, one hand and one leg.
    2. A gorilla. Kala - 18 inches size. The size of this puppet allows to use one OWI arm to animate: a head, one hand and one leg.
    3. A monster. This is a rubber puppet from Star Wars. You can use one only hand to animate the whole body. Plan modifications using springs and wheels inside to add more action from one OWI arm. Sensors?
    4. A lobster - the main class project. One OWI arm is used for each: a head, a left hand, right hand, left leg, right leg. We use the "extracted" mechanism of eyes and mouth from Furby toy for the part of the head.
    5. Future project: Big gorilla Kala, human size, from Tarzan film. One OWI arm is used for each: a left hand, right hand, left leg, right leg. Several arms and additional Mindstorm Lego components will be used for the head to animate all its components.

  1. THE FIRST VARIANT. REALIZATION OF THE MACHINE IN SOFTWARE.

    Robot's "brain" is a Finite State Machine.
    In the first variant, this machine is entirely implemented in software. For software realization use C language with commands sent to one of 4 parallel ports. Create a C-language based simple language to control our animal, use procedures for various movements like "waving a hand", "grabing with one hand and giving to another hand", "putting on a floor", etc. At first assume that this is an autonomous state machine, that has no inputs. It executes a sequence of moves only You can use parallel port, serial port or USB bus to interface the robot. Observe that the original design of OWI robot has an interface to a parallel port. However, there are many ready devices that you can purchase that connect (outside the computer) the USB, serial or parallel buses. You are free to experiment with any of these interfacing approaches, and you have to explain completely and with examples in your report what you have done and why.
    Next, assume that there are some sensors connected to the robotic arms: touch, temperature, magnetic, etc. Signals from these sensors are converted to binary form and are connected to another parallel port. The machine should have also some input signals (keyboard, switches) to select one of the possible commands executed by it, for instance, take to position (x,y,z), grab a pen, move it up, go to position (x1,y1,z1) and leave it there.

    Now you can create a state machine with inputs.
    The inputs correspond to sensors, outputs to motor commands.
    Describe simple behaviors as state machines. For instance, the robot can move its hand down until it touches the floor, or it can rotate until it will approach a (hot) human hand.
    The robot can play tic-tac-toe, and react if a pion is missing, etc.

  2. THE SECOND VARIANT. REALIZATION OF THE MACHINE IN HARDWARE.

    In the second variant the same problems are given, but the "robot's brain" is programmed in a EPLD of any type.
    You learn about PLD programming and program EPLD with robot's behavior. Keep it really simple.
    Find elsewhere in this class pages how to use PAL programmer that is located either in IEEE store or in FAB laboratory.
    If you want, you can use TTL counters, adders, gates etc for your design, but I would prefer any EPLD.
    If you do not know how to program a PAL (GAL, EPSD) you may either learn it, or use TTL logic.
    FPGA is also fine; Xilinx, Altera, but this would be perhaps more difficult if you are a beginner.

    If you want to purchase some components for this project, ask me and I will perhaps allow you to do it. We will reimburse the costs, if you will return all your project's components software and reports to me after class. Talk to Don Muller in ECE office about receipts and reimbursements. Frey's Electronics and Radio Shack are OK to purchase the components, but you can buy best items for best prices from the mail order, also directly from Internet.
    Search and browse Internet for excellent robotics resources.
    Browse WWW pages of your classmates from this class for excellent links to various robotics resources.

  3. THE THIRD VARIANT. VHDL FOR ROBOTICS.

    The same project as above, but you create a state machine, sequence generator, together with another state machine, counter of length of each sequence. You design the counterpart of the first variant in VHDL. Next you design the counterpart of the second variant in VHDL. It means, the machine should have both inputs and outputs. Because VHDL allows to create and simulate large and complex machines, this variant should assume more complex behaviors, many sensors, and so on.

REMARKS


In each of these projects it is very important that you will document, starting from the very beginning of this project, all your decisions, actions, choices and components.
I will not accept poorly documented projects. See elsewhere in this WWW page for documentation standards. I am not dogmatic about how you will create your WWW Pages and your written texts of reports, but in any case they must be clear, clean and complete. If you can show your mastery of using Multimedia such as animation and video, this is better for you, but most important is complete specification of what you have done. This will help me to grade you and will help next students who read these pages.

Each project should be documented both on paper and on WWW page. Tools from Microsoft, such as WORD/POWERPOINT allow to have both from the same source.