[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Common Parts

Here's what I've compiled so far:  1) Introduction

1.1 Introduction
	As a response to the request for proposal for an autonomous
tag-playing robot (see appendix C), a design for Zeta was drafted and
implemented.  The design involved intelligent control of a mechanical
system facilitated by feedback from sensory inputs.  The project was an
exercise in the integration of computer intelligence, control and
feedback, and physical mechanics within a framework of imposed
limitations.  The concept of a self-contained, intelligent mechanical unit
that does not require human intervention is the basis for many modern
engineering designs, including the NASA Mars rover, certain satellites and
underwater search systems.  Zeta was an introduction to the broader issues
in engineering design, illustrating the complexity involved in high-level,
intelligent systems. 1.2 Perspective - Theory and History
	Zeta was an integrated model of autonomous interaction among
intelligence, control and feedback, and mechanics that had to meet a set
of imposed physical constraints such as in size, weight, and speed.  The
electromechanical subsystem dealt with the chassis and the locomotion of
the robot; the interface subsystem acted as a nervous system, linking the
computer with the mechanical chassis and providing the computer with
sensory inputs; the computer subsystem was responsible for implementing
the intelligence aspect of the design. 
	The electromechanical subsystem was directly related to the
physical properties of the robot.  The primary challenge was the selection
of appropriate motors and gearing ratios to ensure that sufficient torque
could be applied to enable effective locomotion.  The torque required to
accelerate the robot could be readily calculated using the following
formula1. T = Mar Once the required torque is known, motors with the
appropriate rotation rate, voltage, and current could be selected since
the conservation of energy required the following relationship among
rotation rate, voltage, and current2. T( = (VI
	The interface subsystem was most involved with the design and
implementation of circuitry.  The subsystem represented an exercise in
signal processing.  Circuits involved both digital and analog signals. 
Digital signals were either implemented directly via a switch mechanism or
via CMOS technology.  CMOS 4050 buffers were frequently used at the
computer-circuit interface because of their superior transfer
characteristics.  The advantages to using CMOS gates are that logic
switching level is at circa half of the supply voltage, hysteresis is
minimal, and the output current capability can be high even though input
current can be very low3.  Analog signals were primarily processed via
operational amplifiers.  Analog outputs can be effectively converted to a
digital output for computer interface using 4050 buffers. 
	Software must be capable of implementing intelligent control.  A
6502 and 6522 based project board was utilized in the design.  A
simulator, assembler, compiler, and monitor system were available for use. 
With appropriate customizations made to the compiler, programs written in
C could be compiled and assembled into machine code.  Debugging
capabilities were maximized via utilization of the monitor program, which
enabled easy upload from and download to the RAM.  A high-level
implementation of intelligent control would have involved forms of fuzzy
logic4.  However, for tag playing strategies, fuzzy logic was not
absolutely required, and a sophisticated state-machine algorithm was
sufficient to implement intelligent tactics and control. 1.3 Acceptance
Criteria 1.4 Division of the Problem
	Effective subdivision of a problem is an essential element of any
team's solution to the problem.  The task of creating an autonomous
tag-playing robot was managed via a three-pronged approach.  Three key
subsystems were identified - electromechanical subsystem, the interface
subsystem, and the intelligence subsystem. 
	Each subsystem is responsible for key components in the design. 
The electromechanical subsystem was responsible for the skeleton and drive
system of the robot, ensuring that Zeta effectively performed its physical
functions and that all circuitry and wiring would be securely attached to
the chassis and protected from damage. The interface subsystem acted as a
link between the computer and the surroundings, and between the computer
and the mechanical structure.  The subsystem was responsible for the
construction of the beacon and sensors to enable opponent tracking,
construction of motor control circuitry and touch sensors to facilitate
locomotion control.  Lastly, the intelligence subsystem referred to the
computer board used by Zeta and the software designed to run the computer. 
The subsystem was responsible for making intelligent decisions based on
sensor inputs and providing any necessary control signals to the interface
	The above subdivisions of the problem allowed the main objective
to be approached from three directions simultaneously.  Moreover,
subdividing the problem led to the specialization of knowledge, so that
each team member would not be required to acquire skills to tackle the
design as a whole.  These two factors were crucial in maximizing
development speed. 

5) Integration
	Zeta's integration proceeded as its individual components were
completed.  If a problem arose during integration, then fixing that
component was prioritized over the integration of other components.  This
mode of operation allowed integration to proceed as quickly as possible.
5.1 Drive System Integration
	Integration of Zeta began with the motors.  The motors were tested
with the motor control circuit under pulse width modulation (PWM) control. 
Duty cycles of the PWM were varied and qualitatively compared using the
motor.c test program (SEE APPENDIX ?).  Initially, the motors often reset
the computer, and the zener diodes on the motors were frequently damaged. 
The former problem was solved by increasing the capacitance of the two
capacitors over the motor leads, while the latter problem was solved by
using zener diodes with higher power ratings.  Moreover, the computer
would also reset due to sparks generated inside the relay switches as the
motor attempted to change the direction of the motor; however, the dilemma
was resolved by turning off the motors before toggling the relay.
	The complete drive system, which included the mechanical
structure, motor control circuitry, and computer, was then tested.  At the
time, the resultant locomotion and the drive system was deemed
satisfactory.  However, as Zeta's weight increased over time, it became
obvious that the mechanical system would not be able to drive the robot. 
Different combinations of plastic and metal pulleys and rubber and
metallic spring belts were tried.  A solution not requiring major
reconstruction of Zeta's skeletal base was never found. 
	After the integration of the drive system, the optical encoders
used by the computer to control the speed of the wheels were integrated.
However, controlling the speed of unloaded wheels was found to be
challenging.  Complex control algorithms, similar to fuzzy logic
(REFERENCE TO FUZZY) were implemented without success.  As integration
progressed, a simple faster/slower algorithm was found to be sufficient in
controlling wheel speed when the robot was loaded, when inertia was
applied to the wheels. 5.2 Touch Sensors Integration
	Integration continued with the touch sensors.  Initially, the
microswitches used for the bumper sensors were too sensitive and would
trigger under the weight of the bumper plate. Once the switches were
replaced, the touch sensors were successfully integrated onto the chassis
and provided correct inputs for the computer.  5.3 Infrared Sensors
	The IR sensor circuitry was the final component to be integrated. 
Noise that had not been noticeable when circuit output was connected to an
LED became more apparent when output was connected to the computer. 
Through a process of deduction and elimination, the source of the noise
was eventually found to be the batteries.  The use of fresh 9V batteries
eliminated the noise problem.  Batteries supplying less than 9.5V could be
problematic. Due to the sensor-selecting scheme implemented in the design,
the reset time of the IR detector circuit was a key issue.  The find_tau.c
program (SEE APPENDIX) was used to determine the reset time of the
filter-amplification as its input was changed from one photosensor to the
next.  The initial reset time of 100ms to 200ms was considered to be too
long, but the time was effectively decreased to 18ms by changing the time
constant of the peak rectifier circuit via decreasing the resistance value
by ten fold (SEE DIAGRAM).  The find_tau.c program was also useful for
diagnosing general sensor problems. When the IR sensor circuit was tested
with the motors running, motor noise was found to cause the circuit to
return false positives.  The problem was solved by turning the motors off
before examining sensor inputs.  The sensor input was effectively checked
every 3.5 seconds. 
	The integration process was completed after the IR sensors were
integrated.  Unfortunately, Zeta continued to suffer from locomotion
problems, which could not be successfully solved. 6) Suggestions for
	There is considerable room for improvement in all three
subsystems.  The IR sensors should be made less susceptible to motor noise
by increasing the shielding or by decreasing their sensitivity.  The
computer should track the location of walls and avoid running into them. 
Finally, the drive system should provide more torque to the drive wheels. 
	Less incremental and more radical improvements to Zeta are also
possible.  The rules of the tag competition state that dropped objects are
permitted, and there is tremendous untapped potential for tag robot
innovation in this area. 
	Dropped objects can be used to cause signal interference by
emitting IR light.  To enable the robot to distinguish between the signal
from a dropped decoy emitter and its beacon signal, another level of
modulation could be added to the decoy emission signal.  To further
increase the complexity, multiple dropped decoys could be remotely
controlled by Zeta via radio signals.  The decoys could be turned on and
off in such a manner that not only would the opposing robot be confused,
but it could also be led to a location most favorable to Zeta.  To
interfere with robots that employ ultrasonic sensors instead of IR
sensors, an ultrasonic emitter that transmits fast-paced chirps would be
an effective design. 
	Moreover, the dropped decoys can act as a secondary sensory
system.  Each of the dropped decoys could also have sensors that would use
radio communication to report sensory input back to Zeta.  These secondary
sensors could be sonar, which can be used to detect obstacles, or
short-range IR sensors to further improve beacon detection range.  By
implementing a sonar obstacle detection system, Zeta would be able to
gather information about areas in the playing field that it has not
explored.  The extra IR sensors could enable Zeta to detect the beacon
even when the opponent is out of its normal detection range.  As a result,
the on-board IR detection circuit can be made slightly less sensitive as
well, making it less susceptible to electromagnetic interference. 
	The next stage of development would be dropping mobile objects. 
Mobile decoys could perform the same functions described before, and with
intelligent control of their movement, mobile decoys could improve
tag-playing capabilities tremendously.  For example, in pursue mode,
mobile decoys could assist in cornering the opponent, while in evade mode,
Zeta could back herself into a corner and dropped objects could form a
wall around it. 
	The first challenge in implementing any of these suggestions would
be finding a mechanical mechanism for dropping objects.  As the
improvements become more advanced, the complexity shifts towards
electronic control circuitry and then towards the computer algorithms. 
However, these suggestions would enable Zeta to become a very formidable
tag player, even in a larger playing field. 


[1] M.J. Malone, Engineering Design AER201S Reference Manual, UTIAS,
Toronto, 3rd ed., 2000, page 75. 

[2] M.J. Malone, Engineering Design AER201S Reference Manual, UTIAS,
Toronto, 3rd ed., 2000, page 74. 

[3] M.J. Malone, Engineering Design AER201S Reference Manual, UTIAS,
Toronto, 3rd ed., 2000, page 113. 

[4] http://www.seattlerobotics.org/encoder/dec97/fuzzy.html

Appendix Description of Hardware
	Detailed descriptions of all circuits on Zeta can be found in the
interface subsystem section.  Although TABLE??? Shows, in a pin by pin
fashion, the interface between the computer and all circuitry, TABLE ??? 
divides the interface points into inputs and outputs with complete
descriptions of the circuitry functions and descriptions of all the pins
used.  Not shown on the table is that pin 9 of all ports was connected to
electrical ground.