AME 3623: Project 1: Digital Logic Robot Controller

Autonomous navigation is a problem that exists in many domains -- whether we are designing mobile robots for factory floors or unstructured desert terrain, or aircraft that must perform surveillance and targeting functions. One common method for navigation is to use a set of landmarks to locate and guide the robot through its environment. Such landmarks can be naturally occurring objects that are visible over a wide area, or they can be artificial beacons. For example, the VHF Omnidirectional Range (VOR) navigation system is used by aircraft to determine an appropriate heading toward a known location (check out a VOR Simulator).

In this lab, we will implement a simple beacon-based navigation system for a wheeled robot. Our goals include:

Problem

There will be two infrared beacons located within the environment. Your robot's task will be to:
  1. Lock onto a beacon (the robot will be placed such that the beacon is initially in partial view).

  2. Move toward the beacon.

  3. Stop when a second beacon is detected to the right of the robot.

  4. In general, your robot should stop when it does not sense any beacons.

Deadline

Due date: Thursday, February 23

By this date, you must:


Robot interface

Beacon Receivers

A total of four infrared receivers will be mounted onto the robot. Two will be mounted in a fixed configuration at the front of the robot. The remaining two will be mounted on a controllable turret.

For each receiver, you will have access to 2 digital bits of state information. These bits encode the strength of the signal, which changes as a function of distance to and alignment with the beacon. The encoding is as follows:

B1 B0 Signal Interpretation
0 0 No signal
0 1 Low signal
1 0 Medium signal
1 1 High signal

Robot Control

The robot uses two pairs of wheels to move. By driving the wheels in the appropriate manner, the robot is able to turn left/right, to translate forward/backward, or to mix translation with turning. For this lab, you will control the motion of the robot through a simple digital interface consisting of 3 input lines. The semantics of this digital interface are as follows:

C2 C1 C0 Robot motion
0 0 0 Stop
0 0 1 Forward
0 1 0 Backward
0 1 1 Left
1 0 0 Right
1 0 1 Forward-Right
1 1 0 Forward-Left
1 1 1 x

Turret Control

The turret is controlled with 2 digital bits. The semantics of these are as follows:

T1 T0 Turret state
0 0 Face forward
0 1 Face left
1 0 Face right
1 1 x


Physical Interface

The lynxmotion robot control board provides several physical interfaces for your use:

Power

The robot control board may be powered in one of two ways: Never directly connect these power sources to your own circuit, as you will destroy components.

Note that when you first supply power to the robot control board, it will go through a bootup/test phase before controlling the robot. If you do not see the boot sequence (as indicated by the flashing LEDs), this is indicative of either a power supply problem or a problem in your own circuit.

When the 9V battery begins to run low on "juice," the robot and/or your circuit will begin to do odd things. Typically, the first odd behavior is exhibited by the IRed sensors (false and/or no readings). If this is the case, replace the battery with a fresh one.

Motor power is provided by the large 7V batteries. When you plug this battery into the robot, be prepared for it to move. A good way to start testing your circuit is to put the robot "up on blocks" such that the wheels do not touch the floor. As this battery runs low on juice, your robot will begin to behave sluggishly. At this point, replace with a fresh battery.


Materials to Hand In

Project Report

Your report should include the following: The reports are due at 5:00 on February 23rd. These must be turned in via the D2L drop-box (one copy per group) in either postscript or pdf format (no M$Word, please).

Personal Reports

Your personal report must include the following information: The personal reports are due at 5:00 on February 23rd. These must be turned in via the D2L drop-box in raw text format.


fagg at ou.edu

Last modified: Tue Feb 21 22:30:16 2006