Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation...

42
Semi-Autonomous Control of Mobile Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Robotic Field Agents: The Algorithm, Interface, and Implementation Results Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr. John R. Wright, Jr., CSIT Department of Industry & Technology Millersville University of Pennsylvania

Transcript of Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation...

Page 1: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Semi-Autonomous Control of Mobile Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Robotic Field Agents: The Algorithm,

Interface, and Implementation ResultsInterface, and Implementation Results

Mr. John M. Kuperavage Mr. John Haughery

Dr. John R. Wright, Jr., CSIT

Department of Industry & TechnologyMillersville University of Pennsylvania

Page 2: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

The Need for Education

“Advances in the field of robotics have resulted in dependable robots that are extremely accurate and repeatable while becoming affordable. In the last decade the prices for robots have fallen nearly 40%. During the same period robots have become faster and more versatile. Analysts expect the use of robots in the electronics industry to grow at an average rate of 35% annually during the next four years” (Dunham, 2001).

“It has been cited by the RIA [Robotics International Association], that only 12% of the American companies that could use a robot, are presently using one. Therefore, 88% of the market is still untapped. There are many reasons for this. But the predominant reason is the lack of a trained workforce that understands how to implement the technology. We need more engineers to develop a hands-on understanding of what constitutes a good application” (Harris, 2003).

www.rixan.com

Page 3: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

The Need for Education

Recent advances in the development of robotics combined with significant reduction of their costs have made the implementation of such devices in today’s smaller and midsize companies increasingly necessary and feasible.

According to Peter Cavallo, head of U.S. sales for Denso Robotics, “it’s well within the means of any size company to use robots. It’s no longer just the realm of large or dollar-intensive companies” (Spencer, 2003).

Page 4: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Overview of Robotic Control

Industrial Robots Bang-Bang Point-to-Point Controlled Path Continuous Path

Mobile Robots Hard Wired Tele-operation Semi-Autonomous Autonomous

Known versus Unknown

Page 5: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Sectors of Society that Employ Mobile Robots

1) Manufacturing Automatic Guided Vehicles (AGVs)

2) Medical Hospital Food Delivery

3) Military (Urbie) Recognizance

4) Research/Exploration Space, Hazardous Environments, etc.

http://robotics.jpl.nasa.gov/tasks/tmr/picts/StairPhoto.jpg

Page 6: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Progression of Semi-Autonomous Research

Students began with general Basic Stamp II tutorial books which included programs to run servo motors and various sensors.

What’s a Microcontroller and

Robotics with the BOE Bot

Once familiar with the basics, the students were able to start applying this knowledge to begin operating speed controllers and steering servos to move a mobile robotic vehicle.

Independent research was performed on more advanced sensors and wireless Bluetooth technology.

Page 7: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

SA-1’s Development

SA-1 was first introduced using only tele-operated control but was designed to have an autonomous function integrated into it. This was done while the team members were being introduced to the technology in various classes.

Independent Studies and Independent Research expanded our technical capability in the use of infrared sensors and wireless Bluetooth communications.

The original SA-1, which was built for the 2004 NAIT conference employed semi-autonomous control (tele-operation and autonomous modes).

SA-1 was modified for the 2005 National Robotics Challenge. The autonomous function was expanded to include a search pattern that could be activated to find an object and then grab it. This advanced our autonomous mode, leaving the tele-operation the same.

Page 8: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Motor Control

Many tele-operated vehicle motors are controlled by speed controllers.

Research was preformed on to how to control a hobbyist level speed controller via a microcontroller.

We found that the control is similar to that of a servo motor. A pulse out range of 500 to 1000 milliseconds will drive the speed controller from full reverse to full forward (750 being neutral).

Page 9: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Infrared (IR) Sensors To detect objects, two Parallax S.S.I.R infrared sensors were used.

These required no integration other then connecting them to the proper pins.

These were placed inside of the gripper to detect the object and then center the robot on it.

The sensors used one pin on the Microcontroller to both send and receive signals.

Certain kinds of light sometimes cause erroneous signals with this type of sensor. The code had to be modified to filter out these stray signals, which allowed for more accurate detection. This code will be explained later.

Sensors

Page 10: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Bluetooth Communication To allow an operator to initiate the automation and monitor the status of

the robot, a wireless communication link needed to be established.

AppMod Header VSS Pins

Code was written to allow communications between the EmbeddedBlue transceiver and the PC adapter. The user would first open a HyperTerminal window on the PC screen where he could see a prompt which was sent from the microprocessor. Then he could input a value that could be used in the code to do things such as start an automated process.

This was done using a Parallax EmbeddedBlue transceiver and a USB Bluetooth adapter for the PC.

The Bluetooth adapter simply plugs into a PC USB port. The EmbeddedBlue transceiver plugs directly into the AppMod Header on the BASIC Stamp II.

Page 11: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Tele-Operated to Autonomous Control

SA-1’s control was transferred from the remote control to the Basic Stamp through the wireless Bluetooth connection.

The user would drive the robot to a position where the object would be within a certain range of the gripper.

At this point, the user would initiate the automated function from the HyperTerminal prompt on the laptop screen.

This sent a start signal to the microprocessor, which began the automated process. During this process, the microprocessor takes precedence over the remote controller, temporarily disabling it.

To transfer control of the robot back to the remote controller, the microprocessor activated a control relay which temporarily shorted out the BASIC Stamp reset. This reset the program and the process.

Page 12: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Integrating the Technologies

Once the students had the knowledge base and more advanced technologies had been explored, the next step was to integrate the research into one working system.

Many code adaptations were necessary to allow all of the systems to function together.

Our team’s task was to develop a semi-autonomous system to allow an operator drive an unknown course and engage an automatic mode that searches for an object and then picks it up.

This process was automated to allow the pick up to be done quicker and more reliably then if it were done through manual control.

We will now go through an overview of the logic algorithm which was formed to develop the code for the automated portion of the robots control.

Page 13: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Complete AlgorithmSTART

Check Bluetooth Input for Start

Signal

Is theAutomation

ProccesStarted?

Yes

No

Drive Forward Onepulse within Search

Pattern

Check IR Inputs

Forward Pulse outto hinge motor

Open ManipulatorDoor

Do both IR'sdetect the Can?

Drive Strait ForwardOne Pulse

Close ManipulatorDoor

Is the Can inthe

Manipulator?

Turn Wheels Strait

Check shell openlimit switch

Is the shellcompletelyopened?

Reverse Pulse outto hinge motor

Check shellclosed limit

switch

Is the shellcompletely

closed?

END

No

No

No

No

Yes

Yes

Yes

Yes

Start Automation

Open/Close Shell

Open/Close Shell

Object Search

Grab Object

Page 14: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Starting the Automation ProcessSEROUT 1,84,[CR,"Press 1 to start the Automation process",CR] SERIN 0,84,[DEC1 CmdData]BRANCH CmdData,[Open_Shell]GOTO Main

• “SEROUT” puts a display on the computer screen prompt and “SERIN” waits for the user to give a response.

• A zero on the keyboard starts the automation process by directing the program to an open shell subroutine.

• No input re-loops the code until an input is given.

S TA R T

C h eck B lu etooth Inp u t for S tart

S ig n al

Is th eA u tom ation

P roccesS tarted ?

Y es

N o

Start Automation

To: Open the Shell

Page 15: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Complete AlgorithmSTART

Check Bluetooth Input for Start

Signal

Is theAutomation

ProccesStarted?

Yes

No

Drive Forward Onepulse within Search

Pattern

Check IR Inputs

Forward Pulse outto hinge motor

Open ManipulatorDoor

Do both IR'sdetect the Can?

Drive Strait ForwardOne Pulse

Close ManipulatorDoor

Is the Can inthe

Manipulator?

Turn Wheels Strait

Check shell openlimit switch

Is the shellcompletelyopened?

Reverse Pulse outto hinge motor

Check shellclosed limit

switch

Is the shellcompletely

closed?

END

No

No

No

No

Yes

Yes

Yes

Yes

Start Automation

Open/Close Shell

Open/Close Shell

Object Search

Grab Object

Page 16: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Opening/Closing the Shell

Open/Close Shell

F orw ard P u ls e ou tto h in g e m o tor

C h ec k s h ell op enlim it s w itch

Is th e s h e llc om p le te lyop en ed ? N o

Y e s

From: Start Automation

To: Object Search

Open_Shell: IF IN4 = 0 THEN Manipulator PULSOUT Motor,870 PAUSE 20GOTO Open_Shell

• This is a loop to open the shell. Once inside, the program will remain in the loop until a limit switch indicating “fully open” is depressed. That limit corresponds to “IN4 = 0” and the “THEN” goes to code to open the manipulator.

• If the limit switch is not depressed, the program will continue to run through the loop pulsing out to “Motor” which controls the speed controller for the hinge motor.

• This is the exact same process for closing the shell, except you pulse out to the speed controller in the opposite direction.

Page 17: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Complete AlgorithmSTART

Check Bluetooth Input for Start

Signal

Is theAutomation

ProccesStarted?

Yes

No

Drive Forward Onepulse within Search

Pattern

Check IR Inputs

Forward Pulse outto hinge motor

Open ManipulatorDoor

Do both IR'sdetect the Can?

Drive Strait ForwardOne Pulse

Close ManipulatorDoor

Is the Can inthe

Manipulator?

Turn Wheels Strait

Check shell openlimit switch

Is the shellcompletelyopened?

Reverse Pulse outto hinge motor

Check shellclosed limit

switch

Is the shellcompletely

closed?

END

No

No

No

No

Yes

Yes

Yes

Yes

Start Automation

Open/Close Shell

Open/Close Shell

Object Search

Grab Object

Page 18: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Opening the Manipulator

Object Search

D rive F orw ard O n ep u lse w ith in S earc h

P atte rn

C h eck IR In p u ts

O p en M an ip u la to rD oor

D o b oth IR 'sd etec t th e C an ?

Tu rn W h eels S tra it

N o

Y e s

From: Open Shell

To: Grab Object

• The code to open the manipulator is simply a set number of passes through a loop. (Notice, no feedback.) Each time through the loop, a pulse is sent to two servos on both sides of the manipulator to open the two doors.

• The program then proceeds to a search pattern. This is a left, then right zigzag pattern, checking the sensors for an object 8 times each cycle.

Manipulator:FOR a = 1 TO 10 PULSOUT Servo1, Backwards PULSOUT Servo2, Fwd PAUSE 20NEXT

Page 19: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Each time through the search, the cycle yields four pulses to the left and four to the right. This is done by always pulsing to “Motor2”, which is a drive motor speed controller. The zigzag motion is accomplished by pulsing out forward or reverse to “Pin 10”, which is the steering servo.

You can also again see a “SEROUT” which gives a prompt indicating the status of the search.

The “GOSUB” is a subroutine to check the sensors for object detection each after each pulse.

Search:FOR x = 1 TO 4 PULSOUT 10, 1000 PULSOUT Motor2, 815 SEROUT 1,84,[CR,"The SA-1 is Searching", CR]GOSUB sensor_checkNEXT

PAUSE 250

FOR x = 1 TO 4 PULSOUT 10, 500 PULSOUT Motor2, 815 SEROUT 1,84,[CR,"The SA-1 is Searching", CR] GOSUB sensor_checkNEXT

PAUSE 250

GOTO Search

The Search Pattern

Page 20: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Checking the Sensors

The “LOOKUP” Command checks the sensor at different frequencies (different sensitivities).

“FREQOUT” sends and receives the signal through Pin 1 or IN1.

“CountUp” records how many times the something is detected.

sensor_check:CountUp = 0tally = 0FOR freqSelect = 0 TO 6 LOOKUP freqSelect,[37500,38000,38500,39000,39500,40000,40500], irFrequency FREQOUT 1,1, irFrequency IF IN1 = 0 THEN CountUp = (Countup + 1)NEXTIF (CountUp > 1 )THEN tally = (tally + 1)

IF tally = 2 THEN found ***Bolded code is for detection using two sensors

If the reliability is high enough (enough instances of detection are seen), the a variable “tally” is incremented.

This code is for one sensor. Setting up another sensor the same way would have the same result.

To align the mobile robot on the object, all sensors must detect something reliably. In this case two sensors must set the variable “tally” to two before continuing to the object “found” section of the code.

Page 21: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Object Found!

Object Search

D rive F orw ard O n ep u lse w ith in S earc h

P atte rn

C h eck IR In p u ts

O p en M an ip u la to rD oor

D o b oth IR 'sd etec t th e C an ?

Tu rn W h eels S tra it

N o

Y e s

From: Open Shell

To: Grab Object

• Once the robot searches and finds the object, it must straighten its wheels before proceeding to pick the object up.

• This is done by pulsing a centering value to a servo a set number of times to overcome the resistance of the ground.

Found:

FOR x = 1 TO 8 PULSOUT Servo3, 750 PAUSE 300NEXT

Page 22: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Complete AlgorithmSTART

Check Bluetooth Input for Start

Signal

Is theAutomation

ProccesStarted?

Yes

No

Drive Forward Onepulse within Search

Pattern

Check IR Inputs

Forward Pulse outto hinge motor

Open ManipulatorDoor

Do both IR'sdetect the Can?

Drive Strait ForwardOne Pulse

Close ManipulatorDoor

Is the Can inthe

Manipulator?

Turn Wheels Strait

Check shell openlimit switch

Is the shellcompletelyopened?

Reverse Pulse outto hinge motor

Check shellclosed limit

switch

Is the shellcompletely

closed?

END

No

No

No

No

Yes

Yes

Yes

Yes

Start Automation

Open/Close Shell

Open/Close Shell

Object Search

Grab Object

Page 23: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Grabbing the ObjectGrab Object

D rive S tra it F orw ardO n e P u lse

C lose M an ip u la torD oor

Is th e C an inth e

M an ip u la tor?

N o

Y e sFrom: Object

Search

To: Close Shell

• Within the “MOVE” loop, the code pulses to the drive motor speed controller until the object is in the gripper. This is indicated by a depressed limit switch “IN3”.

• Notice again that “SEROUT” is used to prompt the user of the status of the robot.

• Once the object is in the gripper the two servos on both sides of the gripper close the doors by receiving a set number of pulses.

MOVE: PULSOUT Motor2, 815 SEROUT 1,84,[CR,"The SA-1 is now in motion", CR] IF IN3 = 0 THEN SERVO_CLOSE PAUSE 20GOTO MOVE

SERVO_CLOSE: FOR b = 1 TO 5 PULSOUT Servo2, Fwd PULSOUT Servo1, Backwards PAUSE 20 NEXT

Page 24: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Complete AlgorithmSTART

Check Bluetooth Input for Start

Signal

Is theAutomation

ProccesStarted?

Yes

No

Drive Forward Onepulse within Search

Pattern

Check IR Inputs

Forward Pulse outto hinge motor

Open ManipulatorDoor

Do both IR'sdetect the Can?

Drive Strait ForwardOne Pulse

Close ManipulatorDoor

Is the Can inthe

Manipulator?

Turn Wheels Strait

Check shell openlimit switch

Is the shellcompletelyopened?

Reverse Pulse outto hinge motor

Check shellclosed limit

switch

Is the shellcompletely

closed?

END

No

No

No

No

Yes

Yes

Yes

Yes

Start Automation

Open/Close Shell

Open/Close Shell

Object Search

Grab Object

Page 25: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

What the Process Looks Like!

The algorithm

in motion!The operators

view

**Video taken at the 2005 National Robotics Challenge, Marion Ohio

Page 26: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Seems Simple? Developing this algorithm may seem easy or difficult to

some, but there is more to creating a working Semi-Autonomous system.

So far, we have acquired the necessary knowledge, developed key technologies, and integrated them by forming a logic algorithm for the autonomous mode.

Even though everything works as bench tested, you still need to perform electromechanical integration to make all those components function together.

SA-1 had two major electromechanical systems: Opening and closing the shell and grabbing the object.

Page 27: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Opening/Closing SA-1 A hinging action was used to open/close SA-1’s

shell.

This also lowered manipulator to ground level to allow the object to be grabbed.

This hinging was performed by means of a motor and a screw.

The chassis hinged at its center and its front end, which allowed it to fold up as it opened.

Page 28: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Opened

Closed

Page 29: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Hinging Motor & Screw

Function Lowered &

raised the manipulator.

Provided a mechanical advantage for lifting a load.

Motor Screw Threaded Nut

Page 30: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Hinging Motor Wiring Diagram

Page 31: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Hinging Open Limit Switch(Mechanical Interface)

Page 32: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Open

Previous Slide

Page 33: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Hinging Open Limit Switch(Mechanical interface)

Page 34: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Hinging Closed Limit Switch(Mechanical interface)

Page 35: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Closed

Previous Slide

Page 36: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Hinging Closed Limit Switch(Mechanical interface)

Page 37: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Limit Switch Wiring Diagram

Note - The wiring diagrams for all limit switches are the same except each is wired to a different input.

Page 38: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Gripping The Object

SA-1 employed an encompassing gripper to grasp the object.

A limit switch was used to indicate when the object was within the gripper’s grasp.

The limit switch employed an active compliance system to reduce contact shock to the object.

Page 39: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Gripper Limit Switch(Mechanical interface)

Page 40: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Conclusions We discussed the need for robotic education and an overview

of mobile robotics and control.

The progression of research leads students from performing simple applications to developing complex algorithms, which can be used to automate portions of the robots function.

Once an algorithm is developed, code can be written to perform the tasks within each section.

Finally, electromechanical integration must take place to allow the code to control the mechanical components properly.

Page 41: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

Thank You!Any Questions?

Page 42: Semi-Autonomous Control of Mobile Robotic Field Agents: The Algorithm, Interface, and Implementation Results Mr. John M. Kuperavage Mr. John Haughery Dr.

References

Dunham, P. (2001). Robots provide automated soldering solution. Electronics Manufacture and Test. Accessed online (July, 2003): http://www.emtmagazine.co.uk/

Harris, S. (2003). Stats for grant application. Email correspondence with Stephen Harris, President of Rixan Associates, Inc. Dayton, Ohio.

Lindsay, A. (2004). Robotics with the Boe-Bot (VERSION 2.2). Parallax, Inc.

Spencer, R., Ed. (2003). Robotic machine tending a mature application, but still has room to grow. Robotics World, 21(5). Accessed online (July, 2003): http://www.roboticsworld.com/features.asp

What’s a Microcontroller. (VERSION 1.9). (1999). Parallax, Inc.