the university of south alabama school of ...chair of thesis committee: dr. michael v. doran...

115
THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF COMPUTER AND INFORMATION SCIENCES AN ADAPTIVE LEARNING SYSTEM: THE USE OF A ROBOTIC PUTTER By Jason A. Alfano A Thesis Submitted to the Graduate Faculty of the University of South Alabama in partial fulfillment of the requirement for the degree of Master of Science In Computer Science August 2001 Approved: Date: ________________________________________________________________________ Chair of Thesis Committee: Dr. Michael V. Doran ________________________________________________________________________ Member of Committee: Dr. David D. Langan ________________________________________________________________________ Member of Committee: Dr. Jeffrey P. Landry ________________________________________________________________________ Member of Committee: Dr. Thomas G. Thomas Jr. ________________________________________________________________________ Director of Graduate Studies: Dr. Roy J. Daigle ________________________________________________________________________ Dean of Computer and Information Sciences: Dr. David L. Feinstein ________________________________________________________________________ Dean of Graduate School: Dr. James L. Wolfe

Upload: others

Post on 28-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

THE UNIVERSITY OF SOUTH ALABAMA

SCHOOL OF COMPUTER AND INFORMATION SCIENCES

AN ADAPTIVE LEARNING SYSTEM:

THE USE OF A ROBOTIC PUTTER

By

Jason A. Alfano

A Thesis

Submitted to the Graduate Faculty of the University of South Alabama

in partial fulfillment of the requirement for the degree of

Master of Science

In

Computer Science

August 2001

Approved: Date: ________________________________________________________________________ Chair of Thesis Committee: Dr. Michael V. Doran ________________________________________________________________________ Member of Committee: Dr. David D. Langan ________________________________________________________________________ Member of Committee: Dr. Jeffrey P. Landry ________________________________________________________________________ Member of Committee: Dr. Thomas G. Thomas Jr. ________________________________________________________________________ Director of Graduate Studies: Dr. Roy J. Daigle ________________________________________________________________________ Dean of Computer and Information Sciences: Dr. David L. Feinstein ________________________________________________________________________ Dean of Graduate School: Dr. James L. Wolfe

Page 2: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

AN ADAPTIVE LEARNING SYSTEM:

THE USE OF A ROBOTIC PUTTER

A Thesis

Submitted to the Graduate Faculty of the University of South Alabama in partial fulfillment of the requirement for the degree of

Master of Science

In

Computer Science

By Jason A. Alfano

B.S., University of South Alabama, 2000 August 2001

Page 3: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

< Dedication>

ii

Page 4: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

ACKNOWLEDGEMENTS

I’d like to thank the Academy and all my fans.

iii

Page 5: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

TABLE OF CONTENTS

LIST OF TABLES............................................................................................................. vi

LIST OF FIGURES .......................................................................................................... vii

ABSTRACT..................................................................................................................... viii

Chapter 1: Introduction....................................................................................................... 9

Chapter 2: Background ..................................................................................................... 13

2.1 Robotics .......................................................................................................... 13 2.1.1 Hardware.............................................................................................. 14 2.1.2 Wheeled vs. Legged Robots ................................................................ 14 2.1.3 The Robotic Putter ............................................................................... 15

2.2 Planning .......................................................................................................... 16 2.3 Learning .......................................................................................................... 17

2.3.1 Types of Learning ................................................................................ 18 2.3.2 Neural Networks .................................................................................. 18

2.4 Computer Vision............................................................................................. 20 2.4.1 Color Segmentation ............................................................................. 20 2.4.2 Lens Distortion..................................................................................... 21

2.5 Path Planning .................................................................................................. 22 2.5.1 A* Search............................................................................................. 22 2.5.2 Quasi-Time-Optimal Path Planning Method ....................................... 25 2.5.3 The Quadtree Method .......................................................................... 27 2.5.4 Sub-Optimal Obstacle Avoidance........................................................ 29 2.5.5 Shortest Path Planning for Tethered Robots........................................ 32

2.6 ARNIE P ......................................................................................................... 34 2.7 Conclusion ...................................................................................................... 35

Chapter 3: Methodology ................................................................................................... 36

3.1 The Baseline Test............................................................................................ 36 3.1.1 Method of the Baseline Test ................................................................ 37

iv

Page 6: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

3.1.2 Results of the Baseline Test ................................................................. 37 3.2 The Environment ............................................................................................ 38 3.3 The Software................................................................................................... 40

3.3.1 The Vision System............................................................................... 41 3.3.2 PuttSoft ................................................................................................ 44

3.4 Experiments .................................................................................................... 53 3.4.1 Experiment 1 ........................................................................................ 53 3.4.2 Experiment 2 ........................................................................................ 55

Chapter 4: Results and Analysis ....................................................................................... 58

4.1 Results and Analysis of Experiment 1 ............................................................ 58 4.2 Results and Analysis of Experiment 2 ............................................................ 60

4.2.1 Results of Experiment 2 on Course 1 .................................................. 62 4.2.2 Results of Experiment 2 on Course 2 .................................................. 64

Chapter 5: Conclusions..................................................................................................... 67

Chapter 6: Future Directions............................................................................................. 69

REFERENCES ................................................................................................................. 72

APPENDICES

Appendix A – Default Grid Values ...................................................................... 75 Appendix B – Experiment 2 Course 1 Raw Data Listing..................................... 80 Appendix C – Experiment 2 Course 2 Raw Data Listing..................................... 98

VITA............................................................................................................................... 114

v

Page 7: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

LIST OF TABLES

Table 3.1 - Right-handed Baseline Test Results............................................................... 37

Table 3.2 - Left-handed Baseline Test Results ................................................................. 38

Table 3.3 - Momentum Loss Test Results ........................................................................ 46

Table 3.4 - Baseline Test Results for the Modified Putt On Fabric.................................. 54

Table 4.1 - Experiment 1 Results for Left-handed First Putt............................................ 59

Table 4.2 - Experiment 1 Results for Right-handed First Putt ......................................... 59

Table 4.3 - Experiment 2 Results for Course 1................................................................. 61

Table 4.4 - Experiment 2 Results for Course 2................................................................. 62

vi

Page 8: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

LIST OF FIGURES

Figure2.0.1 - The Configuration-Space Transformation .................................................. 24

Figure 2.2 - Path Planning by Cell Decomposition .......................................................... 26

Figure 2.3 - An Example of the Quadtree Method ........................................................... 28

Figure 2.4 - Avoidance of One Obstacle .......................................................................... 30

Figure 2.5 - Avoiding Infinite Loops................................................................................ 31

Figure 2.6 - Algorithm SP (Xavier, 1999) ........................................................................ 33

Figure 3.1 - The Putting Environment .............................................................................. 40

Figure 3.2 - Orientation Markers ...................................................................................... 43

Figure 3.3 - Learning Grid................................................................................................ 44

Figure 3.4 - Vector Projection .......................................................................................... 49

Figure 3.5 - Experiment 2 Course 1.................................................................................. 56

Figure 3.6 - Experiment 2 Course 2.................................................................................. 57

Figure 4.1 - Optimal Putt for Course 1 ............................................................................. 63

Figure 4.2 - Optimal Putt for Course 2 ............................................................................. 65

vii

Page 9: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

ABSTRACT

Alfano, Jason, M.S. University of South Alabama, August 2001. An Adaptive Learning System: The Use of a Robotic Putter. Chair of Thesis Committee: Dr. Michael V. Doran

Artificial intelligence is a rapidly expanding area within the field of computer

science. An important aspect of artificial intelligence is the concept of computer adaptive

learning. The purpose of this research was to apply the concept of computer adaptive

learning to a new domain through the use of robotics. More specifically, this project

involved the design and implementation of a learning algorithm, which allowed a robotic

putter to adapt to the layout of a putting surface and to improve its putting accuracy. The

design of this algorithm was based on learning, using recorded putts on a specific course.

The algorithm adapted based on past behavior. The results of using such a method

showed that the putter improved its performance over time as it adapted to the terrain of

the course. The use of the adaptive learning methods in this thesis might be applied to

other areas.

viii

Page 10: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Chapter 1: Introduction

This research explores the methods needed to implement a system that can adapt

to its surrounding environment and learn from mistakes without human interaction.

Before this task could be accomplished, the following research question had to be

answered. Can existing knowledge of adaptive learning be applied to the domain of

robotics, allowing a robot to improve its putting accuracy over a number of trials?

There are several reasons why this topic serves as a promising research area.

Learning constitutes one of the biggest challenges in the control of mobile robots. We

have achieved the concept of learning by direct input-output associations, but much still

remains to be achieved in dealing with the question of how to completely utilize a robot's

sensory perceptions (Nehmzow, 2000).

To meet the goals of this research, an experiment was conducted using a robotic

putter. The putter was expected to play miniature golf on a course unknown to the robot.

When humans play miniature golf, they first visually scan the course to develop a plan

for making a putt. A person must locate the hole and identify obstacles on the path in

order to determine the most efficient putt. Unless they have played that hole before, their

first attempt is usually not perfect. The robotic putter, although not currently capable of

competing on a human level, was able to learn and adapt to a course in the same manner

9

Page 11: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

as a human. This required the use of a vision system to locate the robot, the ball, and any

obstacles on the putting surface. The input from the vision system provided the cognitive

software with the ability to examine the course, make a putt, track the path of the ball,

make corrections for future putts on that course, and observe whether or not the putt was

successful.

Numerous other studies have been conducted that involve game playing.

Andersson (1998) developed a robot ping-pong player. Andersson gives a number of

technical and non-technical reasons for the integration of game playing and robotics. His

non-technical reasons include that most games are easy to understand, and that they allow

progress in a machine’s performance to be easily observed. Ping-pong and other games

also provide fairly stable problems, which will not soon become obsolete. On a more

technical level, the real-time characteristics and precise calculations required to play

ping-pong allow the problem to be generalized across many areas of robotics, from

sensing, to processing, to actuation, and to system design. The system must be accurate

and able to adapt to its changing environment. The overall complexity of ping-pong

makes it a good experimental task for a robot to master.

Webster and Wei (1992) introduced the idea of robotic putting with the intelligent

golfing system ARNIE P (Automated Robotic Navigational unit with Intelligent Eye and

Putter). ARNIE P was developed to explore the problems of robotic performance using

hand-eye coordination and intelligent feedback mechanisms. These researchers state that

there are four main reasons for choosing robot golf as a research area. The first reason is

that putting is difficult for humans and requires many years of practice to be proficient.

For that reason, putting is assumed to be a difficult task for a robot to accomplish as well.

10

Page 12: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Secondly, putting requires a clever algorithm for hand-eye coordination. The third

reason is it requires a learning algorithm in order to improve performance. Lastly, it is a

constrained environment to conduct experiments with artificial intelligence and robotics

(Webster, 1992).

Technology similar to this research is already being applied in useful situations.

Urban search and rescue (USAR) is currently developing robots that can perform

searches through collapsed or damaged structures for human survivors (Murphy, 2000).

The military has developed completely autonomous four-wheelers that can track an

enemy tank and destroy it with deadly accuracy (Pioneer, 1999). NASA is currently

building wheeled rovers to explore new terrain on planets that humans cannot explore.

The rover is completely autonomous and has the capabilities of functioning even when

flipped on its back (Pioneer, 1999).

Although the study of robotics and artificial intelligence is very popular, we still

do not have what many humans would consider to be "intelligent robots" (Nehmzow,

2000). The adaptive learning algorithm for the robotic putter has the capabilities of being

generalized, reused, and improved upon to implement similar algorithms in the process of

controlling future robots. The scope of miniature golf requires this project to incorporate

many aspects of computer science. The vision system used by the software provides an

accurate layout of the environment. This information was interpreted to plan a putt based

on the location of the ball and navigate the putter around the environment. The vision

system was able to track the ball and the robot, providing feedback to the system for

improvement. The algorithms used to achieve these tasks might expand to wider

domains, particularly in the areas path planning and object tracking.

11

Page 13: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

12

Page 14: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Chapter 2: Background

This research relied on several areas of computer science. Each area contributed

to the overall direction and success of the research project. An understanding of each

area was necessary and how each contributed to this research will be discussed. It

required the application of each topic to form an adaptive system to solve this problem.

The following areas will be discussed: robotics, planning, machine learning, computer

vision, path planning, and the heuristics used by Webster and Wei (1992). Each will be

examined in consideration of how it factored into the solution to the problem.

2.1 Robotics

The study of mobile robotics is an interesting research area for several reasons.

One reason is that the ability to turn a computer on wheels into an intelligent agent that

can recognize its surroundings, navigate, and adapt from experience requires the

application of several disciplines. Also, there are many practical uses for mobile robots,

including transportation, exploration, surveillance, inspection, and cleaning (Nehmzow,

2000). This section will briefly cover some areas to consider when studying robotics.

13

Page 15: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

2.1.1 Hardware

Robots must have a way of interacting with their environment. Depending on the

desired functionality of the robot, different actuators and sensors may be used to build the

robot. The most commonly used actuators are electric motors. They are easy to control

and provide reasonable torques and satisfactory control (Nehmzow, 2000).

Sensors are physical devices that can measure properties of the robot’s

environment. They deliver low-level information about the surroundings that can be

interpreted into meaningful data. Sensors cover a range of devices from tactile bumpers,

which detect physical contact, to cameras, which can provide the robot with sight

(Nehmzow, 2000).

Every type of sensor has its advantages and disadvantages. Sensors such as

tactile bumpers must be mounted onboard. This gives the robot a local perspective,

allowing it only to observe part of its surroundings at a time. Vision can be implemented

both globally and locally. While more difficult to decipher, the input from a global

vision system can provide a robot with knowledge of its entire surroundings without

having to tolerate the restrictions associated with several onboard sensors (Kruse &

Wahl, 1998).

2.1.2 Wheeled vs. Legged Robots

Before a robot can perform a task, it must first be able to move. The physical

structure of a robot depends on the operations it can perform. Wheeled robots are the

simplest to control. They are physically stable machines and can move very quickly on

14

Page 16: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

most level surfaces. Unfortunately, they are limited by rough terrain such as stairs or

rocky surfaces. For this reason, wheeled vehicles are only used in situations where speed

and stability are key factors and there is little or no need for difficult exploration

(Pioneer, 1999).

Another design approach is that of a legged robot. When they are properly

designed and built, legged robots are far more versatile than the wheeled platforms. The

number of legs used on a robot will depend on its desired functionality. More legs give a

robot more stability and better control. However, this is a trade-off for agility, speed,

weight, and power needed to run the machinery (Pioneer, 1999).

2.1.3 The Robotic Putter

The robotic putter used in this research was constructed from a small PVC

platform, a plastic putting arm, three wheels, and four Hobbico CS-51 Standard servos,

which are the actuators that control the movements of the robot. An onboard servo

controller activates the servos by receiving commands from the workstation to which the

robot is connected. Two of the wheels are controlled by servos, while a third caster

wheel maintains the balance for the platform. The remaining two servos provide the

robot with base rotation and arm motion to make two independent axes of movement for

putting. However, the base servo was never used in this research because rotating it

often hindered the robot’s ability to swing the putting arm without hitting the platform.

For this reason, the base servo was always set to align the putting arm perpendicular to

the facing direction of the robot.

15

Page 17: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

The servos have a range of 255 discrete positions [0…254], which spans

approximately 190° of motion. The putting arm is controlled by moving its servo from

one extreme to the other with a rest position of 126. The servos that control the wheels

were modified to allow continuous rotation. Instead of having a range of positions, the

modified servos have a range of approximately 40 speeds [127…166] and [86…125]. A

value greater than 126 produces a clockwise spin while a value less than 126 produces a

counterclockwise spin. Turning the wheels at the same speed in the same direction

moves the putter forward or backward. The robot can also turn by moving one wheel

faster than the other or spin by rotating the wheels in the opposite direction of each other.

2.2 Planning

In order for a robot to make decisions it must have the ability to form a plan to

reach a particular goal (Andersson, 1988). The word "plan" suggests a sequence of

actions that when followed, leads to a desired goal. Two basic methods involved in

planning in artificial intelligence are the STRIPS method and the use of situation

variables (Winston, 1992; Fikes, Hart, & Nilsson, 1972).

The STRIPS method uses a set of assertion additions and deletions to reflect

physical movements. For example, the deletion of ON (LAMP, TABLE) and the

addition of ON (LAMP, FLOOR) represent the action of moving the LAMP from the

TABLE to the FLOOR. Using assertions such as these we can create a plan that will

achieve a specific goal by searching for a set of operations that will lead from an initial

set of assertions to a goal set of assertions (Fikes, Hart, & Nilsson, 1972).

16

Page 18: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

By a process called backward chaining, the effort put forth to reach a goal state

can be reduced. Backward chaining is the act of starting at the goal state and searching

backwards through operators for a particular addition pattern. Once found, the addition

pattern becomes the new goal state and the process continues until all prerequisites of the

operator are satisfied. (Fikes, Hart, & Nilsson, 1972).

Another method of planning is through the use of situation variables in logic. In

cases where situations change over time, situation variables prove to be useful in

developing a plan of action. For example, ON (LAMP, TABLE) would become ON

(LAMP, TABLE, S) where S represents a situation where the LAMP is on the TABLE.

For any other situation we cannot say that the statement ON (LAMP, TABLE) is true.

With the use of situation variables, planning in a time/state changing environment is

possible, which allows the incorporation of planning into robotics (Winston, 1992; Fikes,

Hart, & Nilsson, 1972).

2.3 Learning

One result of human learning is interaction with the surrounding environment.

The majority of the skills used to move around within the environment are learned at a

very early age. When an infant plays, crawls, or looks around, it has no explicit teacher,

but it does have a direct sensorimotor connection to its surrounding environment (Barto

& Sutton, 1998). By exercising this connection, the child learns what happens to its

surroundings as a result of its actions and vice versa. In the same manner as a child, a

robot can learn by recording and processing feedback data from its environment.

17

Page 19: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

2.3.1 Types of Learning

Two basic types of learning are supervised learning and unsupervised learning.

Supervised learning is learning by following examples provided by an outside source.

Although important, this type of learning is not adequate for training machines through

interaction (Barto & Sutton, 1998). Unsupervised learning is more flexible and is ideal

for machine learning through interaction with the environment.

One approach to unsupervised learning, reinforcement learning, is more focused

on reaching a goal by interacting with surroundings than are other methods of machine

learning. By using this method, a robot learns so as to maximize a numerical reward

signal (Barto & Sutton, 1998). The robot must discover which actions result in the

greatest rewards by performing them in a trial-and-error fashion. In some cases, the

actions performed affect the next reward and subsequent rewards to come, called the

search and delayed reward. The trial-and-error and search and delayed characteristics are

very important aspects of reinforcement learning.

2.3.2 Neural Networks

To understand what a neural network is and how it works, we must first

understand the concept of an artificial neuron. We can think of an artificial neuron as a

device or node that receives one or more input lines. These devices are called neurons

because they mimic the activity of neurons in the human brain. A neuron’s input lines

18

Page 20: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

can carry signal strengths represented by a pattern of numbers, which implies that the

order of these numbers is important (Bharath & Drosen, 1994).

The neuron converts the inputs signals into a net input. The net input is usually

calculated using what is called an activation function. One simple activation function

passes the sum of the input values through a threshold function, which determines the

value of the output. For example, the output of a node is one if the sum is greater than

the specified threshold value or zero if the sum is less than the threshold value (Winston

1992).

An artificial neural network is a network of interconnected artificial neurons

(Bharath & Drosen, 1994). Neural networks are usually viewed in layers where the

layers are fully interconnected, but the neurons within a layer have no interconnection

between them. One of the most widely used neural networks is the multi-layer feed-

forward network. This type of network consists of an input layer of neurons, one or more

hidden layers of neurons (they are considered hidden because their outputs are not

observable), and an output layer of neurons. Each neuron calculates its output based on

the sum of its inputs and its activation function.

In order for a neural network to learn, it must be trained. During the training

process, the weights associated with each link in the network are manipulated to produce

a desired output. By training a neural network, it can mimic both supervised and

unsupervised types of learning (Jain, Johnson, & Rooij, 1996).

In the supervised form of learning, a target value is provided as a part of the

training data. In this case, the training data is the set of inputs values along with its

associated output value for a specific training cycle. During the training process, these

19

Page 21: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

values are fed back into the network until the weights are sufficiently adjusted to produce

an output within the desired range of the target value (Jain, Johnson, & Rooij, 1996).

Unlike supervised learning, there is not a specified target value to reach while

training under unsupervised learning. Instead, the set of input data and output data are

repeatedly applied to the network until a stable system is reached (Jain, Johnson, &

Rooij, 1996).

2.4 Computer Vision

“The more a robot knows about its environment, the more efficiently it can

operate” (Kruse & Wahl, 1998). Using an external camera-based vision system, a global

mapping of the robot’s environment can be continuously updated, allowing path planning

and collision avoidance to be done efficiently. This section describes some techniques

used in detecting objects by color and issues with camera lens distortion.

2.4.1 Color Segmentation

Vision systems using object segmentation by color are crucial in real-time mobile

robot applications where a dynamic environment is required. The leading techniques

required to accomplish this include linear color thresholding, nearest neighbor

classification, color space thresholding, and probabilistic methods (Bruce, Balch, &

Veloso, 2000).

Linear thresholding is the process of dividing the color space into 3-dimensional

planes. Each pixel is classified according to the plane it lies in. Nearest neighbor

20

Page 22: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

classification is performed by classifying a pixel according to a pre-determined set of

values that have a distinct location in color space. Color space thresholding uses a set of

constant thresholds that classify a color class as a rectangular block in color space. The

last method mentioned uses a pixel’s individual color components as indices in a multi-

dimensional histogram. The real number at this location specifies the probability of

membership within a particular color class. Each of these methods has advantages and

disadvantages in efficiency and effectiveness. Bruce et al (2000) developed a color

segmentation system that was used in this research, which utilizes all of these techniques

with emphasis on efficiency.

2.4.2 Lens Distortion

A desktop camera often exhibits a certain amount of lens distortion, especially

radial distortion (Zhang, 2000). There are two types of radial distortion: barrel distortion,

which occurs when the off-axis magnification is weaker than at the center, and

pincushion distortion, which occurs when the opposite is true. In order to get accurate

locality information on objects within the robot’s environment, radial distortion must be

corrected.

Polynomial approximations of radial distortion follow the form

r = ρ + k1ρ3 + k2ρ5

where r is the radius of the undistorted image, ρ is the radius of the distorted image, and

k1 and k2 are coefficients of radial distortion. The distortion can usually be approximated

using only the first and third power of ρ (Walton, 1995). The radius of the undistorted

21

Page 23: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

image can be used to compute the undistorted pixel coordinates given the known

distorted pixel coordinates.

2.5 Path Planning

“Motion planning that designs a path to connect initial position and final position

is one of the most essential problems in robotics” (Yamamoto, Iwamuri, & Mohri, 1999).

It is important that a path-planning algorithm is chosen based on the instance of the

problem and the constraints provided by the physical robot itself. Robots can rely on a

number of different types of sensors from vision to onboard tactile sensors. The way a

robot perceives its environment can impact how a path-planning algorithm will behave in

that environment. This section explores five potential avenues of robot path-planning

problems.

2.5.1 A* Search

To understand the A* search, we must first take a brief look at two other

concepts: the branch-and-bound method and the dynamic-programming principle. The

branch-and-bound method always keeps track of partial paths that could possibly lead to

the shortest possible path. The shortest partial path is extended one level to the

neighboring nodes of its terminal node. These new paths are added to the set of partial

paths and the process is repeated until the goal is reached or all paths have been

exhausted. To ensure that the shortest path is found, the process should terminate when

22

Page 24: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

the shortest partial path is longer than the shortest complete path instead of terminating

when the goal is reached (Cormen, Leiserson, & Rivest, 1990).

The dynamic-programming principle holds that “the best way through a

particular, intermediate node is the best way to it from the starting node, followed by the

best way from it to the goal. There is no need to consider any other path to or from the

intermediate goal” (Winston, 1992).

The A* Search is a combination of a smart branch-and-bound search and the

principle of dynamic programming. The term smart here means that the branch-and-

bound method can estimate the remaining distance to the goal. If the estimated

remaining distance is a lower bound on the actual distance, then the A* Search produces

an optimal solution to the problem. Generally the estimate may be assumed to be a lower

bound on the actual distance (Winston, 1992). The algorithm is as follows:

• Form a queue containing the root node • Until the a path in the queue terminates at the goal or the queue is empty

o Dequeue a path, and extend path by all neighbors of its terminal node o Reject all new paths with loops o If two or more paths reach a common node, keep only the one with the

minimal cost o Sort the entire queue by the sum of the path length and a lower-bound

estimate of the cost remaining, with least-cost paths in front. o If the goal node is found, announce success; else, announce failure

(Winston, 1992)

23

Page 25: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Initial Position

Desired Position

Initial Position

Desired Position

Initial Position

Desired Position

Initial Position

Desired Position

Initial Position

Desired Position

Initial Position

Desired Position

Figure2.0.1 - The Configuration-Space Transformation

Figure 2.1 illustrates a robot motion-planning problem in a simple environment

consisting of a triangular robot and two obstacles. To apply the A* Search procedure to

robot path planning, the problem must be described in a simpler representation. The new,

simpler representation involves navigating a point around virtual obstacles called

configuration-space obstacles (Winston, 1992).

Ordinary obstacles can be transformed into configuration-space obstacles by

sliding the robot around the obstacle, keeping track of an arbitrary tracing point as the

robot is moved. As the tracing point is moved around the obstacle, the boundary of the

24

Page 26: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

configuration-space obstacle is created. If the point remains outside this boundary the

robot will be able to maneuver around the object collision-free (Winston, 1992).

To find the shortest path, a graph is created. In this case, edges between nodes

are only placed when there is a clear line of sight between the nodes, creating what is

called a visibility graph. From where the robot is, it can either see the goal position or it

cannot. If it can see the position, the shortest path is a straight line between it and the

goal. Otherwise, it must move to a visible vertex (Winston, 1992).

The A* search algorithm is fairly straightforward and simple to follow. However,

some assumptions must be made in order for this method to successfully work. Unless

the robot is perfectly round, this method assumes no rotation of the robot will take place.

If the robot is allowed to or requires rotation during its navigation, several configuration

spaces must be made, corresponding to the various degrees of rotation for the robot. This

makes the search more difficult, involving motion not only through individual

configuration-spaces, but also from space to space.

2.5.2 Quasi-Time-Optimal Path Planning Method

Yamamoto et al (1999) propose a path planning method to control a mobile

platform with two independently driven wheels. They introduce the idea of a path

parameter to simplify planning when dealing with dynamics and kinematics constraints.

Using the path parameter, they divide the problem into two sub-problems: time-

optimization of a trajectory along a specified path and a search for an optimal path. The

remainder of this section will only cover their research on searching for an optimal path.

25

Page 27: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Start

Goal

(a) (b)

(c)Start

Goal

(d)

Start

Goal

(a) (b)

(c)Start

Goal

(d)

Figure 2.2 - Path Planning by Cell Decomposition

The path searching method uses B-spline control points to generate a path using

navigation time as a cost. The cost is calculated using the MTTPSP (Minimum Time

Trajectory Planning with Specified Path) algorithm (Yamamoto, Iwamuri, & Mohri,

1999). First, multiple paths are generated based on a global view of the environment.

Cell decomposition is used to generate the multiple initial paths. Searching the B-spline

control points then optimizes them. The method to generate multiple, collision-free paths

consists of four steps:

26

Page 28: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

1. Capture the robot within a circle that covers its entire area. Extend the area of the obstacles by the radius of the circle. This reduces the robot to a point. Then, approximate the collision areas of the environment using polygons. – Figure 2.2(a)

2. Connect the nearest vertices of the polygons together except to other vertices belonging to the same polygon. This decomposes the environment into a set of convex cells. – Figure 2.2(b)

3. Search through all sequences of the cells from the cell containing the start point to the cell containing the goal point. – Figure 2.2(c)

4. For each sequence, connect the midpoints of the boundaries of the adjacent cells to create a set of paths made up of polygonal lines. Place control points on the lines to generate the possible robot paths using B-spline curves. – Figure 2.2(d) (Yamamoto, Iwamuri, & Mohri, 1999)

2.5.3 The Quadtree Method

Ghoshray and Yen (1996) present an obstacle avoidance algorithm that generates

a point-to-point path for a robot to follow in a given workspace. The algorithm uses a

concept they call a quadtree to map a workspace into a grid. A quadtree is a spatial

mapping in which a given region is divided into four contiguous squares called

quadrants. The quadtrees can then be treated as nodes in a graph. Each quadtree is

given a color of black or white, where black represents a quadtree that contains an

obstacle or part of an obstacle, and white represents a quadtree that does not.

Before the quadtree is constructed, the resolution λ of the quadtree is determined

by projecting the maximum configuration of the robot onto the x-y coordinate plane. A

root node is created which represents the entire environment. From this node, the

environment is hierarchically decomposed until the leaf nodes reach a resolution of λ. At

this point all leaf nodes should be marked white or black (Ghoshray & Yen, 1996).

The white node covering the starting position will be the robot’s start node, and

the white node covering the destination position will be the target node. A tree is

27

Page 29: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

constructed containing only the start node. Searching the four adjacent nodes located to

the top, bottom, left and right of the start node expand the tree. If these nodes are black

or fall outside the workspace, they are pruned from the tree. This process is repeated on

all remaining nodes until the target node is reached or there are no white nodes left

unexplored (Ghoshray & Yen, 1996).

Start Position

TargetPosition

TargetNode

StartNode

Start Position

TargetPosition

Forbidden Region

Obstacle Region

Free Region PathOptimal Path

Start Position

TargetPosition

TargetNode

StartNode

Start Position

TargetPosition

Forbidden Region

Obstacle Region

Free Region PathOptimal Path

Figure 2.3 - An Example of the Quadtree Method

Ghoshray and Yen (1996) define an O-corner as the intersection between the x-

axis and y-axis at the robot structure in such a way that the lengths of the robot’s parts

are measured based on O-corner as the origin. After all paths have been determined, the

O-corner of each of the robot’s possible configurations is placed at the center of each of

the white nodes in the tree. If there is any intersection between the robot and the node,

the node is removed from the list of feasible collision-free nodes, and all paths using the

28

Page 30: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

node are also deleted. At this point, all possible collision-free paths have been generated

from the start node to the target node. Once this is accomplished, the path with the

minimum distance is chosen as the optimal collision-free path. Figure 2.3 illustrates an

example of the quadtree workspace and the optimal path(s) chosen from it.

2.5.4 Sub-Optimal Obstacle Avoidance

Shiller (1999) presents an on-line planner for sub-optimal obstacle avoidance. It

generates near-shortest paths incrementally by avoiding obstacles one at a time.

Shiller first demonstrates the optimal avoidance of one planar obstacle, which is

called OB in Figure 2.4. The obstacle only affects the shortest paths from points within a

free-space called the shadow. The shadow is created by a point light source at

destination o. The tangent points along the edge of OB are called exit points since any

shortest path originating in the shadow must pass through them.

29

Page 31: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

xo

a

b

o

OB

Shadow xo

a

b

o

OB

Shadow

Figure 2.4 - Avoidance of One Obstacle

The algorithm presented applies to environments satisfying the following

assumptions:

1. The free-space is connected (There are no obstacles with holes). 2. The boundary of each obstacle is a piecewise smooth closed curve. 3. The number of obstacles is finite, and the obstacles are non-intersecting, finite in

size, and do not overlap with the goal. In case of overlapping obstacles, they are represented as one obstacle (Shiller, 1999).

30

Page 32: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

xo

o

xo

o

(a) (b)

xo

o

xo

o

(a) (b)

Figure 2.5 - Avoiding Infinite Loops

An earlier version of this algorithm also required that the goal lie outside the

convex hull of the union of all obstacles. This problem made the algorithm fall into an

infinite loop as seen in Figure 2.5(a). The latest version takes care of this requirement by

tracking exit points from which a shortest path was computed and choosing the next

shortest path as seen in Figure 2.5(b). They are stored in an ordered list Q with elements

Qi = {p, k} where p is an exit point and k is the number of times the point was visited.

The following algorithm shows how this is used:

Step 1. Initialize x = x0, i = 0 Step 2. Search Q for x

a. If none: i. Add the current point to Q, set i = i +1 (index for points in Q)

ii. k = 1, and Qi = {x, k} b. Else:

i. Remove all elements Qi, i > j, until Qj ={x, k}, set the current x and k to the values in Qj, k = k + 1, and update k in Qj

Step 3. Select the current obstacle Obm, from x to o a. If none:

i. Go to Step 5. Step 4. (Avoid Obm)

31

Page 33: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

a. Compute and follow the kth distinct shortest path that avoids Obm to o until clearing Obm (reaching the exit point pm), set x = pm, and go to Step 2

Step 5. Move along (x, o) to o Step 6. Stop (Shiller, 1999)

2.5.5 Shortest Path Planning for Tethered Robots

Xavier (1999) considers a problem of planning shortest paths for tethered robots

with a tether of finite length in an environment with polygonal obstacles. For the

purposes of his research, an infinitely flexible tether is assumed that is always drawn

tight. However, the research should still be applicable in cases where tethers have

bounded curvature.

An instance if the shortest path planning problem for a tethered robot is defined as

I(O, L, X, u, s, g, c) where O is the planar environment of disjoint simple polygons with n

total vertices, L is the maximum length of the tether, u is the anchor point of the tether, s

is the starting position of the robot, g is the goal position of the robot, c is the type of

constraint a solution path must obey, and X is the tether’s initial configuration, given by a

path no longer than L from u to s. (Xavier, 1999).

There are three types of constraints, c, that the solution must follow: tether

constraints, obstacle constraints, and crossing constraints. The obstacle and tether

constraints state that the robot cannot intersect with any obstacles and that the tether can

slide freely within the environment, but must also not enter any obstacle. The tether must

bend around objects to maintain the latter constraint. If the robot can cross over the

tether, the robot is semi-planar. If it cannot, it is purely planar. If the robot can move the

tether to avoid crossing it, the robot is pushy planar (Xavier, 1999).

32

Page 34: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

s

(a)

g

u

s

(b)

g

u

A B

C

s

(c)

g

u

A B

C

s

(d)

g

u

A B

C

s

(a)

g

u

s

(b)

g

u

A B

C

s

(c)

g

u

A B

C

s

(d)

g

u

A B

C

Figure 2.6 - Algorithm SP (Xavier, 1999)

As a result of his findings, Xavier devised an algorithm SP, illustrated in Figure

2.6, that solves the shortest path problem for a finite length, tethered robot under the

semi-planar constraint:

Let px: [0, l] R2 denote a path from u to s that follows X. Define the reverse path rx as rx (w) = px (l - w) for all w in [0, l].

1. Triangulate the environment such that all obstacle edges are triangles edges, and label each triangle as being an obstacle triangle or a free-space triangle.

2. Compute the visibility graph Gv of O∪ {g}, and use it to compute the shortest path from each vertex to g.

3. Find vertices of O∪ {g} visible from s and order them by angle relative to s.

33

Page 35: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

4. Compute the changes that occur in the ordered set of vertices visible from rx(w) was w goes from 0 to l, and compute the order set of sections {Si} of rx on which this ordered set does not change. (Some sections may have zero length if general position is not assumed.)

5. For each Si, with corresponding interval [wi, wi+1] such that rx: [wi, wi+1] Si, in order:

a. For some point xi in Si and corresponding xi in [wi, wi+1] such that rx(xi) = xi, compute the set of vertices Vi containing

i. Each visible vertex if i = 0; ii. Each visible vertex that was not visible in the previous section,

otherwise. b. For each vertex v in Vi:

i. Let path qi, v be the path that is the concatenation of px | [0,l-xi], the line segment from xi to v, and the shortest path from v to g. (px | [0,l - xi] denotes “px restricted to [0,l - xi]”.)

ii. Compute the minimum length path q’i, v that is homotopy equivalent to qi, v.

iii. If the length of q’i, v is greater than L, then skip the rest of this loop body, go to step 5(b)i, and consider the next vertex in Vi.

iv. (Otherwise), let path pi, v be the path that is the concatenation of rx | [0, xi], the line segment from xi to v, and the shortest path from v to g.

v. Compute the minimum length path p’i, v that is homotopy equivalent to pi, v , compare the length of p’i, v to that of best solution so far, and set the best solution to p’i, v if its length is shorter (Xavier, 1999).

2.6 ARNIE P

ARNIE P's method of learning used feedback from a single putt. From the

feedback, the ARNIE P would make corrections to the speed, pitch, and angle parameters

in its calculations to repeat the same putt (Webster & Wei, 1992). The system

temporarily adapted to the putting terrain for one or more putts from a static location, but

was not able to memorize a surface for future play, from different locations or follow

through on missed attempts.

In order to make a putt ARNIE P first had to compute the distance to the cup

using binocular stereo vision. Once calculated, the distance was used to compute the

34

Page 36: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

pitch of the club necessary to putt the ball that distance. The system used a constant

speed of the club, only varying the pitch to putt different distances. Lastly, the angle

necessary to line the robot up with the ball and the hole was computed in order to provide

a straight shot to the hole.

After a putt, the path of the ball was recorded to observe any necessary

adjustments in pitch and angle. To determine the necessary angle adjustments, the

difference between the actual angle of the putt and the computed angle to the cup was

calculated. The facing angle of the robot was adjusted by half of this difference. This

heuristic was sufficient in improving the accuracy of the putts after each adjustment,

rather than adjusting by the whole difference and risking the possibility of constantly

missing to the left and right of the hole.

2.7 Conclusion

Applying the concepts described in this section helped with the design of a

software system that controlled the robotic putter. Based on the budget available, a putter

has been designed with the ability to perform the desired tasks necessary for this

research. The putter uses its own methods of planning and learning, which were derived

from the previously discovered methods that have been mentioned. The adaptive

heuristics used by Webster and Wei were used and modified to fit the needs of this

research.

35

Page 37: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Chapter 3: Methodology

This research was conducted in four stages. Stage 1 was a baseline test of the

robot to determine its putting capabilities and constraints. Stage 2 was the development

of the physical putting environment based on the results of the baseline test. Stage 3 was

the development of the vision system and PuttSoft software that controls the robot, and

Stage 4 was the conducting of two experiments to determine if the hypotheses were

supported.

3.1 The Baseline Test

Before the putting environment was built, a baseline test was performed to

measure putting accuracy and distance on various surfaces. The primary objective of the

baseline test was to determine which surface provided the highest degree of accuracy and

the truest roll of the golf ball. The secondary objective was to find a putting distance

long enough to make for interesting research, but still fit within the viewing limitations of

the overhead camera. A rubber mat, pool felt, butcher paper, and drapery blackout fabric

were the four surfaces chosen because of their availability and varying textures.

36

Page 38: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

3.1.1 Method of the Baseline Test

Because of possible inconsistencies with the hardware, the baseline test was

performed for both left-handed and right-handed putts. For each surface, the robot was

aligned to putt five times from both sides for distance. The five distances for each trial

were averaged for comparison. Next the robot was aligned to putt five times from both

sides for accuracy. For measuring accuracy a practice hole of regulation size was placed

at ½ of the average putting distance for that surface. The practice ring was placed at this

distance to ensure that the ball had enough momentum to roll over the lip of the ring.

Accuracy was measured as the number of successful putts made in the five trials. This

process was repeated with the practice hole being placed at ¾ of the average putting

distance for each surface.

3.1.2 Results of the Baseline Test

The following tables show the capabilities of the robotic putter performing on

different surfaces. The robot completed five trials on each of the four surfaces. These

results served as a baseline for conducting future experiments of this research. They

were presented and discussed (Alfano, 2000) in preliminary work on this project.

Table 3.1 - Right-handed Baseline Test Results

Rubber Mat Felt Paper Fabric Maximum Distance 6 ft. 5 in. 2 ft. 4 ¾ in. 4 ft. 9 ½ in. 3 ft. 9in. Minimum Distance 6 ft. 2 in. 2 ft. ¾ in. 4 ft. 6 in. 3 ft. 6 ½ in.

Average Distance 6 ft. 3 ¾ in. 2 ft. 4 ½ in. 4 ft. 7 ½ in. 3 ft. 8 in. Accuracy @ ¾ avg. Distance 1 for 5 5 for 5 5 for 5 5 for 5 Accuracy @ ½ avg. Distance 3 for 5 5 for 5 5 for 5 5 for 5

37

Page 39: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Table 3.2 - Left-handed Baseline Test Results

Rubber Mat Felt Paper Fabric Maximum Distance 6 ft. 9 ¾ in. 2 ft. 6 in. 5 ft. 1 in. 3 ft. 11 in. Minimum Distance 6 ft. 4 ½ in. 2 ft. 4 in. 4 ft. 9 ¾ in. 3 ft. 8 ¾ in. Average Distance 6 ft. 7 ½ in. 2 ft. 5 ¼ in. 4 ft. 11 ½ in. 3 ft. 9 in. Accuracy @ ¾ avg. Distance 2 for 5 5 for 5 4 for 5 5 for 5 Accuracy @ ½ avg. Distance 3 for 5 5 for 5 5 for 5 5 for 5

In addition to providing acceptable accuracy, the use of the paper and fabric as

putting surfaces resulted in putting distances that would fit within the view of the vision

system. While the felt surface would also satisfy this constraint, the short putting

distance would make for less interesting research. The rubber mat was not chosen due to

its poor accuracy readings and long putting distances, which exceed the limits of the

viewing area.

Choosing between the paper and the fabric became an issue when considering the

second putt requirement of hypothesis 1, which will be explained later in section 3.4.

Both surfaces provided the robot with acceptable accuracy, but the paper would allow for

a possible hole in one, which would not be useful in the study of hypothesis 1. The fabric

was also more durable than the paper and came in widths large enough to cover the

course in one strip. Therefore, the fabric was chosen as the putting surface for the two

experiments.

3.2 The Environment

When functioning in the open world, there are an endless number of problems and

obstacles people have to avoid. It would be impossible to program a robot to adapt to all

38

Page 40: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

of them. For this reason, the putter was expected to operate in a closed-world system,

designed to provide it with a finite number of obstacles to overcome.

The putting environment was designed to fit within the constraints of the

overhead vision system. The base of the surface was built using a ¾ inch 4x8 ft.

particleboard nailed down to a framework of 2x4 boards. A regulation size hole was cut

out at 2 ft. from one end and centered over the width of the board to allow sufficient

room for the robot to maneuver. The fabric was stretched tight over the board and

stapled around the edges to ensure a smooth clean surface.

Bricks were chosen to use as obstacles because of their weight and hard flat

edges, which provide good elastic surfaces off of which the putter can bank a shot. They

could also easily be rearranged to build new courses or removed from a course to allow

the robot to play without obstacles. Cinder blocks were placed around the base, creating

a solid wall to keep the ball on the course and allow the robot to make bank shots if

necessary. (See Figure 3.1)

39

Page 41: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

2 ft.

2 ft.

4 ft.

8 ft.

Figure 3.1 - The Putting Environment

3.3 The Software

Software was developed to accomplish vision sensory input and to control the

putting platform. It was necessary to use and interpret this input data to make intelligent

decisions and adapt to the environment. The control software handles all aspects of the

robot’s putting behavior and adjusts to what was observed from the environment.

40

Page 42: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

3.3.1 The Vision System

The hardware for the vision system includes a Winnov Videum VO ISA capture

card and a Mintron Color CCD Camera. The camera was mounted approximately 9 ft.

above the putt course, providing a 5x9 ft. viewing area. The camera captured frames at a

resolution of 320x240 pixels with a color depth of 16 bits.

Bruce et al (2000) developed a new system, called CMVision, for real-time object

segmentation of color images. It can detect multiple objects of up to 32 colors and report

their bounding box and area at 30 Hz. The vision system software for this research was

written using the CMVision libraries. CMVision detects objects using color

segmentation by thresholding YUV color values. Once all objects are detected they are

sorted according to color and size. The vision system takes the object bounding box

information from the object lists and broadcasts it to the Client PC using UDP packets.

The lens of the camera exhibited significant barrel distortion on the images,

which provided inaccurate data on the location of objects within the environment. Before

the xy-coordinates could be sent to the client, the barrel distortion had to be corrected.

The camera calibration coefficients were found using the Microsoft Easy Camera

Calibration Tool software discussed in (Zhang, 2000). Using these values, the xy-

coordinates were transformed to the undistorted coordinates and sent over the network.

After correcting barrel distortion, the 4 x 8 ft. putting surface was reported by the vision

system to be 327x162 pixels wide. At this setting, a pixel was approximately one third

of an inch in size.

41

Page 43: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

The objects necessary to be detected for the experiments included the ball,

surface, obstacles, and the robot. They all had to be distinct colors so that the system

would not become confused about the objects. The fabric used to make the surface was

tan. The bricks were wrapped in white paper. Both the ball and robot were yellow, but

the color of the robot was not used for its detection. Instead, two red markers were

placed on the robot to not only give it a position, but an orientation as well. The ball was

detected by taking the second largest item in the yellow object list.

The orientation of the robot was necessary for the software to know its absolute

facing angle. This allowed the robot to accurately orient itself in the correct direction for

navigating and putting. The face angle, θface, of the robot was calculated from the

coordinates of the markers, m1 and m2, using the following equation:

θface = tan-1((ym2 – ym1)/(xm2 – xm1)) + 135°

The locations of the two orientation markers are illustrated in Figure 3.2.

42

Page 44: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Marker 2

Marker 1

135º

m 2

m1

135º

Figure 3.2 - Orientation Markers

The surface and the obstacles, if any, were detected first and their position and

dimensions were sent to client PC for initialization of the putting software. After

initialization, the vision system continuously detected and sent the information of the two

markers and the ball location.

43

Page 45: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

3.3.2 PuttSoft

The adaptive behavior was implemented as a system of converging angles and

velocities. The course was evenly divided into a 5x9 square grid, each comprised of its

own set of values that are updated as the system adapts.

20

34

1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16 17 18

19 21 22 23 24 25 26 27

28 29 30 31 32 33 35

37

36

38 4039 41 42 43 44 45

20

34

1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16 17 18

19 21 22 23 24 25 26 27

28 29 30 31 32 33 35

37

36

38 4039 41 42 43 44 45

Figure 3.3 - Learning Grid

The course was broken into grid squares in order to compensate for variation in

the values reported by the vision system as objects moved further from the center of the

camera’s view. A physical grid square was approximately 9½ x 10 ½ inches in size.

Within a grid square this size, the robot has the ability to position itself relative to the ball

to make an accurate putt using the current square’s values. Due to the variance in the

length of a putt, using a smaller grid size would decrease the probability of the ball

44

Page 46: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

landing in the same square over multiple trials. This would increase the number of trials

necessary to allow the grid values to converge to the appropriate values. Each grid

square structure contains the following information:

• θoffsetleft and θoffsetright values to offset the angles that the robot lines up with the ball for both left-handed and right-handed putts

• historyleft and historyright arrays to keep a history of ten past angle by which the robot missed for both left-handed and right-handed putts

• velocityleft-high, velocityleft-low, velocityright-high, and velocityright-low values used to estimate the distances of left-handed and right-handed putts at both the normal speed (high) and the modified putt speed (low).

The grid offset angles and putt velocity values were initially randomly generated.

This was done to show that the system could converge to correct values from arbitrary

values. The history of missed angles was initialized to 360°. The reason for this will be

explained in the description of the state machine.

The velocities are used to estimate the distance the ball will roll for each putt. If

the ball bounces off of an obstacle or a wall, some momentum is lost in the collision.

The momentum lost is based on the velocity of the ball before the impact, but to

accurately compute the exact loss requires too many unknowns. For this reason, some

assumptions had to be made. First, the angular velocity of the putting arm was assumed

to carry over to the ball with no loss. Secondly, the loss of momentum of the ball after a

collision was assumed to be constant.

A Hobbico CS-51 Standard servo can rotate at an angular velocity ω of 60°/0.19

seconds. The radius r equal to the length of the putting arm was measured to be

approximately 4.1 inches. The velocity v0 of the putting arm was calculated using the

following equation:

45

Page 47: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

v0 = ω * 2πr/360° v0 = 22.78 in/sec

Assuming the force due to rolling friction remains constant and was the only force

acting against the ball, a uniform negative acceleration is produced on the ball. Using v0

as the initial velocity of the ball, the acceleration, a, due to the force friction was

calculated. Since the acceleration was constant, the equation v2 = v02 + 2ad was used

with the final velocity v = 0. At this point, the average distance, d, of a putt with initial

velocity, v0, was the only other unknown. Performing ten putting trials and taking the

average of the distances obtained this distance, which was found to be 55.56 inches.

Once d was obtained, the acceleration a was given by:

a = -v02/2d

a = -4.67 in/sec2

To determine the loss of momentum of the ball, a series of small

experiments was performed to measure the distance the ball bounced off the cinder block

wall. The robot was placed at five different distances from the wall and made ten putts

toward the wall at each location.

Table 3.3 - Momentum Loss Test Results

Distance from the wall 18 in. 24 in. 30 in. 36 in. 42 in. Average distance of bounce 15 ¼ in. 13 ¼ in. 10 ¼ in. 6 ¼ in. 3 ½ in. Velocity before collision 19 in./sec 17 in./sec 15 in./sec 14 in./sec 11in./sec Velocity after collision 12 in./sec 11 in./sec 10 in./sec 8 in./sec 6 in./sec Percentage lost 36% 35% 37% 44% 49%

46

Page 48: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

The velocity v before the collision was calculated according to the distance d of

the ball from the cinder block given by:

v2 = v02 + 2ad

The velocity of the ball after the collision was assumed to be a new initial

velocity v0 required to move the ball by the average distance of the bounce. Since the ball

stopped moving, the same equation v2 = v02 + 2ad was used with the final velocity v = 0,

giving:

v0 = (-2ad)½

The percentages of velocity lost appeared to converge to a constant value of 36

percent for the trials at 18, 24, and 30 inches away from the wall. The two trials

performed at 36 and 42 inches only provided a bounce off the wall between 6 ¼ to 3 ½

inches. A bounce from these putts would leave the ball at undesirable lie for the next

putt. Therefore, the percentages of velocity lost at these distances were not considered,

leaving a constant 36 percent to be used in estimating bank shots in the software.

PuttSoft was designed as a simple state system in which all processing activities

were executed based on the state of the machine. It was designed to receive messages

from the vision system, and parse them into the data necessary for computation. Upon

parsing a message in the control loop, the system variables are updated and the activity

corresponding to the current state is executed. The following is a description of the states

of the system.

INITIALIZE – This state is simply used to initialize all variables used within

the control loop. The current square is set to the square in which the ball is located. This

47

Page 49: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

state is set when the system starts and whenever the user chooses to restart the putting

process. After the system is initialized, the state is set to FIND_PATH.

FIND_PATH – Most of the decision making for the system is done in this state

before any actions are carried out. The following is list of variables that must be known

prior to navigating and putting the ball:

• The angle of the putt, θputt • The necessary facing angle of the robot, θface • The necessary position to prepare for docking with the ball, the pre-docking

position • The direction of the putt, i.e. LEFT-HANDED or RIGHT-HANDED • The power of the putt, i.e. HIGH or LOW

The process of calculating these variables is based on the location of the ball. The

following is the procedure for calculating the optimal right-handed putt from a certain

location:

• Calculate the absolute angle θ from the ball to the hole • Until valid putt vector intersects with the hole or all 360° have been tried

o Project a putt vector of magnitude d for all right-handed putting powers in the direction of θ

o Estimate new ball position for each power, choosing the optimal lie, i.e. the closest point to the hole with an unobstructed view of the hole

o Project a 90° normal to the putt vector of magnitude equal to a constant pre-docking distance and offset the vector direction by the θoffsetright to produce the pre-docking position

o If the pre-docking position is valid, i.e. the robot can navigate to that point If the estimated putt is better than the best putt so far

• Set θface to normal 180° • Set θputt to the angle • Set the pre-docking position • Set the putt power • Set the current putt to the best putt so far

• Increment θ by 1°

48

Page 50: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

This procedure is repeated for the left-handed putt, using all left-handed variables

and a negative 90° normal to the putt vector to compute the pre-docking position. Both

putts are compared to find the optimal putt.

θoffsetleft

θoffsetright

ball Putt vector

Figure 3.4 - Vector Projection

Once a pre-docking position is found, it is used, along with the current robot

location and the corners of all the configuration-space obstacles, as a node in creating a

visibility graph. After a visibility graph is created, the shortest path from the robot to the

pre-docking position is found using the A* Search algorithm. Once a path is found, it is

stored in a stack and the state is set to GET_TARGET.

GET_TARGET – In this state, the next node in the path stack is popped and is

designated as the current target. The state is set to DRIVE. If the stack is empty, the

49

Page 51: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

docking position is calculated and used as the current target, and the state is set to

DOCK_DRIVE.

DRIVE – This state is used when the robot is navigating to its next point along

the path to the pre-docking position. The angle from the robot to the next point is

calculated. If the facing angle of the robot is within five degrees of this angle, then the

robot drives forward. Otherwise, it turns in the appropriate direction. If the robot is

within five pixels of the target position, the state is set to GET_TARGET to get the next

point in the path.

DOCK_DRIVE – In this state, the robot drives to the docking position. This

state differs from the normal DRIVE state in that the robot moves forward for 50 ms and

then stops to make sure then the software gets accurate position information from the

vision system on the next iteration of the control loop. When the robot is within three

pixels from the docking position, the state is set to DOCK_TURN.

DOCK_TURN – Once the robot has reached the docking position, it must spin to

face in the appropriate direction to make the planned putt. When it comes within two

degrees of the desired facing angle, the state is set to PUTT.

PUTT – Putt takes the previously determined putt direction and power and

swings the putting arm accordingly. As soon as the swing is complete, the state is set to

TRACK_BALL.

TRACK_BALL – In this state, the system tracks the ball movement after a putt.

When the ball’s position changes from its previous position, the new position is added to

the end of a ball path list. When the ball’s position does not change for more than 20

50

Page 52: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

iterations of the control loop, the tracking stops, by changing the state to

ANALYZE_PATH. However, if the putt is successfully made, the state is set to DONE,

skipping the ANALYZE_PATH state since no adaptation is required.

ANALYZE_PATH – After the path of the ball has been stored, the system must

compare the actual putt to the putt that the robot attempted to make. First the distance of

the putt is calculated by taking the sum of all the distances between points within the ball

path list. Next the angle the ball was hit, θactual, is calculated and compared to the angle at

which the robot attempted to hit it, θattempt. Since the path of the ball does not always

make a perfectly straight line, the end point cannot be used to calculate the actual angle

of the putt. Instead, the point that best defines the angle is found and used. To do this, a

series of lines are projected from the initial location of the ball to all other points along

the path. The line that best defines the angle of the putt is the one that covers the most

points along the path.

Once the actual distance and angle of the putt are found, they are compared with

the expected data to produce values by which the system adapts. The distance of the putt

is compared to the estimated putt distance. If the difference between the distances is

greater than ten pixels (approximately 3 inches), the velocity value is changed

appropriately. If the putt went farther than estimated, the velocity value used to estimate

the distance is increased by 1 pixel/second. Otherwise it is decreased by 1 pixel/second.

This is the one component of the adaptive behavior. As the velocity converges to the

correct value, the estimation of the putt distance becomes more accurate.

51

Page 53: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

The difference in angles, Δθ = θattempt - θactual, is the error in the putting angle. The

sign of Δθ determines the direction of the error. A positive Δθ represents a putt too far to

the right, while a negative Δθ represents a putt too far to the left. Once Δθ is calculated,

its absolute value is compared to the absolute values of the appropriate history array. If

the absolute value of Δθ is less than the absolute history values, the largest value in the

history is replaced with Δθ, and the appropriate θoffset in the current grid square is

updated using the following equation:

θoffset = θoffset - Δθ/2

The initial values of the history array were set to 360° to assure that any value of

Δθ would replace the largest history value in the initial trials. This allows the software to

fine tune the angles for each grid square and prevent large inconsistent values from

affecting the angles in the later stages of adapting. Using this method, the putts made

from the current grid square will converge to the correct putting angle over time. This is

the second component of the adaptive behavior. As θoffset converges to the correct value,

the estimation of the putt direction becomes more accurate.

Having both the putt velocities and angles converge to accurate values, the lie of

the ball can be more accurately estimated. After the actions for this state are completed,

the state is set to FIND_PATH to begin making the next putt.

DONE – This state stops all motion of the robot and the state remains here until

the user starts the putting process again.

52

Page 54: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

3.4 Experiments

Two experiments were conducted in this research. Experiment 1 was designed to

support hypothesis 1: Given a flat surface with no obstacles, the putter will be able to

position itself to make a second putt using input from its overhead vision system.

Experiment 2 was designed to support hypothesis 2: Given a flat surface with an

obstacle, the putter will be able to play around the obstacle and adapt to the layout of the

course by either reducing the number of strokes per hole or converging to an optimal

path.

3.4.1 Experiment 1

The first experiment was designed to test the robot’s ability to consistently dock

with the ball in order to putt toward the hole. The putting course built in phase 2 was

used for this experiment. No obstacles were used and the ball was place in the center of

the course to give the robot a straight shot to the hole. To comply with the requirements

of the first hypothesis, the robot could not make a hole in one since it was required to

position itself for a successful second putt. To ensure that this always happened, the

course was designed to be par 2 by making the distance of the tee location 1.3 to 1.6

times greater than the distance obtained from the baseline test.

Due to the tightly stretched fabric over the particleboard, the robot was capable of

putting farther than the expected results given from the baseline test. Since the servos

used to build the putter are only capable of rotating at one speed, software had to be used

53

Page 55: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

to slow the servos down enough to keep the robot from making a hole in one. A new

baseline test was run for the modified putt on the fabric, which determined the tee

positions for this experiment.

Table 3.4 - Baseline Test Results for the Modified Putt On Fabric

Left-handed Right-handed Maximum Distance 2 ft. 8 in. 2 ft. 6 in. Minimum Distance 2 ft. 4 ¾ in. 2 ft. 4 ¾ in. Average Distance 2 ft. 6 ¼ in. 2 ft. 5 ¼ in. Accuracy @ ¾ avg. Distance 5 for 5 5 for 5 Accuracy @ ½ avg. Distance 5 for 5 5 for 5

No learning was required in this experiment since the purpose of it was to see if

the robot could properly and consistently dock with the ball for a successful putt. The

offset angles for each grid square were manually modified to produce accurate putts for a

straight shot to the hole.

Ten trials were run for both left-handed and right-handed first putts. Since the

average putt distances for the modified putt differed by only one inch, the putt distance

for the left-handed putt was used to determine the tee positions. Placing the tee positions

at 1.3 to 1.6 times this distance produced a range of 39 to 48 inches from the hole. The

tee positions for each of the ten trials were spread over this range one-inch apart. The

modified putt was only used for the first putt of each trial. For each trial, the total

distance, lie of the ball, distance of the first putt, distance remaining, second putt

direction, and success was recorded. The robot was expected to complete each trial on

this course in two putts. Successful completion of the first course was deemed sufficient

54

Page 56: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

to support the first hypothesis. The results of this experiment are shown in the next

chapter.

3.4.2 Experiment 2

The second experiment was designed to test the adaptive behavior of the robot.

Experiment 2 was performed on two courses to show that the robot could adapt in

different environments. On the first course, an obstacle was placed in the path to the

hole, requiring the robot to make a long putt past the brick for an easy second putt in the

hole. On the second course, obstacles were arranged to make the robot bank a putt off

the wall for a longer second putt to the hole.

Course 1, shown in Figure 3.5, was designed to show that the robot could putt the

ball past an obstacle and next to the hole for a short second putt. The tee position was set

at approximately 4 ft. 8 inches away from the hole. The obstacle was placed in front of

the hole slightly off center to force the robot to decide to putt past it on one side. A series

of trials were performed until the system converged to the estimated velocities and angles

necessary to successfully complete this course.

55

Page 57: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

4 ft. 8 in.

Figure 3.5 - Experiment 2 Course 1

Course 2 was designed to show the robot would readily attempt a bank putt, if

necessary, to successfully complete the course. The distance of a bank shot made the

task of creating such a course difficult. In order to putt around an obstacle, the robot

would not only have to bank the ball off the wall, but hit it hard enough to produce an

acceptable lie to make a second putt. The robot will not make a putt if the estimated

position of the ball lies within the configuration space of an obstacle or the wall. This is

because of the robot’s inability to maneuver into these areas to make a second putt. For

this reason course 2, shown in Figure 3.6, was designed so that the robot would be forced

to make a bank shot without having to putt around an obstacle. Two bricks were placed

beside the tee position, constraining the area that robot had to maneuver. It could not

dock on the left or right side of the ball for a straight putt to the hole because of its size.

For this reason, the robot chose to make bank shot off the wall, moving the ball out of

56

Page 58: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

this area and leaving it in a better position for a second putt. A number of trials were

performed until the system converged to the estimated velocities and angles necessary to

successfully complete this course.

Figure 3.6 - Experiment 2 Course 2

Successful completion of both courses was necessary to support the second

hypothesis. The robot was expected to putt around the obstacle(s) and adapt to the layout

of the course by either reducing the number of strokes per course or converging to an

optimal path. The results of experiment 2 on both courses are discussed in the next

chapter.

57

Page 59: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Chapter 4: Results and Analysis

In this chapter, the results of experiments 1 and 2 will be discussed. The results

of experiment 1 are necessary to support hypothesis 1: Given a flat surface with no

obstacles, the putter will be able to position itself to make a second putt using input from

its overhead vision system. The results of experiment 2 are required to support hypothesis

2: Given a flat surface with an obstacle, the putter will be able to play around the obstacle

and adapt to the layout of the course by either reducing the number of strokes per hole or

converging to an optimal path.

4.1 Results and Analysis of Experiment 1

The overall results of experiment 1 appear in Table 4.1 and 4.2. Table 4.1 shows

the results of the ten trials with a left-handed first putt and Table 4.2 shows the results of

the ten trials with a right-handed first putt.

58

Page 60: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Table 4.1 - Experiment 1 Results for Left-handed First Putt

Trial Total Distance

Distance Putt

Distance Remaining

2nd Putt Direction Success

1 48 in. 20 in. 28 in. Left-handed Yes 2 47 in. 25 in. 22 in. Left-handed Yes 3 46 in. 23 in. 23 in. Left-handed Yes 4 45 in. 21 in. 24 in. Left-handed Yes 5 44 in. 21 in. 23 in. Left-handed Yes 6 43 in. 20 in. 23 in. Left-handed Yes 7 42 in. 24 in. 19 in. Left-handed Yes 8 41 in. 24 in. 18 in. Left-handed Yes 9 40 in. 21 in. 19 in. Left-handed Yes 10 39 in. 27 in. 12 in. Left-handed Yes

Table 4.2 - Experiment 1 Results for Right-handed First Putt

Trial Total Distance

Distance Putt

Distance Remaining

2nd Putt Direction Success

1 48 in. 22 in. 26 in. Right-handed Yes 2 47 in. 23 in. 25 in. Right-handed Yes 3 46 in. 22 in. 24 in. Right-handed Yes 4 45 in. 20 in. 25 in. Right-handed Yes 5 44 in. 22 in. 22 in. Right-handed Yes 6 43 in. 22 in. 21 in. Right-handed Yes 7 42 in. 21 in. 21 in. Right-handed Yes 8 41 in. 19 in. 22 in. Right-handed Yes 9 40 in. 21 in. 19 in. Right-handed Yes 10 39 in. 20 in. 19 in. Right-handed Yes

For every left-handed first putt, each of the second putts was also left-handed.

This was also evident for each of the right-handed trials. The algorithm chooses which

side to putt from based on the location of the ball and the putter relative to that location.

If both left-handed and right-handed second putts are equally likely to be successful, the

position closest to the robot is chosen. Because of the fairly straight first putts, the robot

59

Page 61: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

remained closer to the same side of the ball. Therefore, the algorithm always chose to

putt from the same side as the first putt.

Some of the first putts curved to the left or right. The slight drift of each of the

first putts can be attributed to the speed of the modified putt. At such slow speeds the

ball was assumed to be more susceptible to the effects of small imperfections in the fabric

and particleboard, causing it to drift slightly to one side or the other. This had no effect

validity of the experiment. However, it helped to show that the robot could make

successful second putts from various absolute angles in the direction of the hole.

The results of experiment 1 show that all second putts were successful for all 20

trials. The robot was capable of successfully making left-handed second putts in the

range of 28 to 12 inches as shown by the Distance Remaining column in Table 4.1.

Similar results in Table 4.2 show that the robot was capable of making right-handed

second putts in the range of 26 to 19 inches. This shows a set of values from which the

robot was able to make successful putts, but does not limit its capabilities to these ranges.

4.2 Results and Analysis of Experiment 2

The overall results of experiment 2 appear in table 4.3 and 4.4. Table 4.3 shows

the results of experiment 2 on course 1. Table 4.4 shows the results of experiment 2 on

course 2. For each course, the following data was collected for each putt: the putt grid

square number, the putt direction, the putt power, the estimated distance, actual distance,

the distance remaining to the hole, the angle missed, θoffset after the putt, and the

60

Page 62: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

adapted putt velocity after the putt. Only the first two putts for each trial are shown in

the tables. The raw data for the both experiments are shown in Appendices A2 and A3.

Table 4.3 - Experiment 2 Results for Course 1

Grid Direction Power

Estimated Distance (inches)

Actual Distance (inches)

Distance Remaining (inches)

Angle Missed (degrees)

θoffset After (degrees)

Estimated Velocity After (inches/second)

1st Putts Trial 1 20 Left High 48.3 54.8 17.8 10.6 3.7 21.6Trial 2 20 Left High 49.8 53.6 14.2 4.3 1.6 21.9Trial 3 20 Left High 51.0 59.0 16.6 3.9 -4 22.2Trial 4 20 Left High 52.4 61.0 8.0 -1.9 0.6 22.5Trial 5 20 Left High 53.9 55.7 9.8 0.7 0.2 22.5Trial 6 20 Left High 53.9 52.4 12.1 4 -1.8 22.5Trial 7 20 Left High 53.9 * 102.2 8.9 -0.1 -1.7 22.8Trial 8 20 Left High 55.4 * 90.7 10.1 -0.1 -1.7 23.1Trial 9 20 Left High 56.9 59.0 11.3 2.2 -2.7 23.1

Trial 10 20 Left High 56.9 54.5 10.1 0.4 -2.9 23.1Trial 11 20 Left High 56.9 * 78.8 11.6 0.4 -3.1 23.4Trial 12 20 Left High 58.4 59.9 10.4 0.5 -3.3 23.4Trial 13 20 Left High 57.9 66.8 9.1 0.5 -3.6 23.5

2nd Putts Trial 1 43 Left High 55.4 45.3 27.0 6.9 4.5 22.5Trial 2 34 Left Low 14.2 14.2 0.0 0 3 12.1Trial 3 43 Left High 53.9 40.9 24.3 8.6 0.2 22.2Trial 4 34 Left Low 16.6 16.6 0.0 0 3 12.1Trial 5 34 Left Low 9.8 9.8 0.0 0 3 12.1Trial 6 34 Left Low 15.7 26.7 11.3 -2.8 4.4 12.4Trial 7 34 Left Low 8.9 8.9 0.0 0 4.4 12.4Trial 8 34 Left Low 10.1 10.1 0.0 0 4.4 12.4Trial 9 34 Left Low 11.3 11.3 0.0 0 4.4 12.4

Trial 10 34 Left Low 10.1 10.1 0.0 0 4.4 12.4Trial 11 34 Left Low 11.6 11.6 0.0 0 4.4 12.4Trial 12 34 Left Low 10.4 10.4 0.0 0 4.4 12.4Trial 13 34 Left Low 9.1 9.1 0.0 0 4.4 12.4

* These values were reported higher than the actual distances due to a misreading of the final ball location from the vision system.

61

Page 63: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Table 4.4 - Experiment 2 Results for Course 2

Grid Direction Power

Estimated Distance (inches)

Actual Distance (inches)

Distance Remaining (inches)

Angle Missed (degrees)

θoffset After (degrees)

Estimated Velocity After (inches/second)

1st Putts Trial 1 12 Left High 30.8 33.2 27.3 -5.3 0.7 20.7Trial 2 12 Left High 29.6 32.0 31.4 -3 2.1 20.7Trial 3 12 Left High 30.8 33.5 28.4 6.2 -0.9 20.7Trial 4 12 Left High 30.2 32.9 31.1 0.5 -1.2 20.7Trial 5 12 Left High 29.9 35.0 28.4 3.5 -2.9 21.0Trial 6 12 Left High 32.0 42.7 23.1 1.2 -3.5 21.3Trial 7 12 Left High 32.0 38.5 25.5 -7.7 0.3 21.6Trial 8 12 Left High 33.5 39.1 21.3 2.3 -0.8 21.9Trial 9 12 Left High 34.1 35.3 24.3 -2.9 0.6 21.9

Trial 10 12 Left High 34.1 35.0 25.8 -1 1.1 21.9Trial 11 12 Left High 34.1 35.0 24.9 -0.5 1.4 21.9Trial 12 12 Left High 34.1 35.9 24.0 6.5 1.4 21.9

2nd Putts Trial 1 5 Right Low 33.5 30.2 8.3 18.6 -0.3 17.5Trial 2 14 Right Low 31.4 22.8 12.4 16.6 -2.3 16.9Trial 3 5 Right Low 32.3 27.0 3.3 5 -2.8 17.2Trial 4 5 Right Low 31.4 31.4 8.3 4.6 -5.1 17.2Trial 5 5 Right Low 31.4 41.2 3.0 3.3 -6.7 17.5Trial 6 6 Right High 23.1 23.1 0.0 0 -5 20.4Trial 7 5 Right Low 32.3 21.0 5.3 -2.8 -5.3 17.2Trial 8 6 Right High 21.3 21.3 0.0 0 -5 20.4Trial 9 6 Right High 24.3 24.3 0.0 0 -5 20.4

Trial 10 6 Right High 25.8 25.8 0.0 0 -5 20.4Trial 11 6 Right High 24.9 24.9 0.0 0 -5 20.4Trial 12 6 Right High 24.0 24.0 0.0 0 -5 20.4

4.2.1 Results of Experiment 2 on Course 1

The tee position was placed in grid square 20 approximately 4 ft 8 inches from the

hole. The robot made all first putts left-handed because the default velocity in square 20

for left-handed high putts was greater than that of the right-handed putts. The system

adapted over time, choosing to make a long putt past the right side of the obstacle for a

short second putt from square 34.

62

Page 64: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

20

34

Putt 1

Putt 2

Figure 4.1 - Optimal Putt for Course 1

In the first two trials, the software estimated the ball landing in square 33 on the

first putts. The actual first putts of the first two trials landed in squares 43 and 34

respectively due to incorrect velocity and angle values. After the third trial, the robot

began consistently putting to square 34 as estimated by the software. From square 34,

the angle offset values were able to converge to a value sufficient to make successful

second putts. This supports the assumption that the grid square size was adequate for this

research.

The second putts did not converge until the seventh trial. In trial 1 the robot

missed the hole three times before making a successful fifth putt. Trials 3, and 6 required

four putts. Although the second putts from grid square 34 in trials 2, 4, and 5 were

successful, the second putt in trial 6 was missed. This incident can be attributed to the

63

Page 65: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

size of the grids. The grid squares are much larger in size than the ball. Even though the

first putts consistently land in grid square 34, the location of the ball within the grid

square might differ enough to make the angle offset values incorrect for the different

positions. Although the grid square size did not affect the overall results of this

experiment, using smaller grid squares to handle this problem will be discussed in

chapter 6.

Overall, the grid values converged, allowing the robot to consistently complete

the first course in two putts. Although the distance in inches remaining to the hole after

the first putts did not lessen with each trial, a decreasing trend can be seen in Table 4.3

under Distance Remaining. The angle offset value for the left-handed high putt changed

from the default value of 9° to a value of –3.3° as shown in the θoffset After column of

Table 4.3. Because the first putts were traveling farther than expected, the left-handed

high velocity also changed from 21.6 to 23.5 inches/second as shown in the Estimated

Velocity After column of Table 4.3.

4.2.2 Results of Experiment 2 on Course 2

The tee position was placed in grid square 12 between the obstacles and the top

wall. All of the first putts for each trial were made left-handed because the ball was

placed too close to the obstacles to position itself for a right-handed putt. The only

option the robot had was to make a bank putt off the top wall to position the ball for a

better second putt to the hole.

64

Page 66: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

12

6Putt 1

Putt 2

Figure 4.2 - Optimal Putt for Course 2

As shown in Table 4.4, the absolute angle of the first putt converged to a value of

315.5° after nine trials, making the estimated position of the ball lie in grid square 6. In

the first five trials, the first putts landed in grid squares 5 and 14. As the angle

converged, less of the x-component of the ball’s momentum was absorbed by the

collision with the wall, causing the ball to travel farther in the x-direction, as shown in

the Actual Distance column of Table 4.4. This left the ball in the desired position in

square 6. After trial 8, the velocity of the putts for square 12 converged to a value of 21.9

inches/second, as shown in the Estimated Velocity columns, which allowed the software

to more accurately estimate the distance of the next putt and the angle to converge to

315.5°. Overall, the Distance Remaining to the hole after the first putt decreased over

time from 27.3 to 24 inches. The second putt from square 6 never had to be adjusted

because the default values were sufficient to make a successful putt from that location.

65

Page 67: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Since the first putt adapted after trial 8, the values of grid squares 5 and 14 never

had the opportunity to completely converge for a successful second putt. For this reason,

trials 1, 2, 3, 5 and 7 required three putts. Trial 2 required a total of four putts.

66

Page 68: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Chapter 5: Conclusions

In this chapter, the results of the experiments from Chapter 4 will show to be

related to the research hypotheses. Successful completion of experiment 1 was sufficient

to support hypothesis 1. Successful completion of the courses in experiment 2 was

evidence in supporting hypothesis 2.

As stated in Chapter 4, the first experiment was successfully completed. The

robot was able to properly dock with the ball in order to consistently make an accurate

second putt to the hole. Therefore, the results of experiment 1 support hypothesis 1:

Given a flat surface with no obstacles, the putter will be able to position itself to make a

second putt using input from its overhead vision system.

In the second experiment, the robot was able to adapt to the environments of both

courses. Course 1 demonstrated its ability to putt and navigate around an obstacle and

reduce the number of total putts per trial from five to two. Course 2 showed the robot’s

ability to bank a putt off the wall, providing a better lie for a second putt. The robot was

able to reduce the number strokes from four to two and optimize the putt to the hole.

Given the results discussed Chapter 4, experiment 2 supports hypothesis 2: Given a flat

surface with an obstacle, the putter will be able to play around the obstacle and adapt to

the layout of the course by either reducing the number of strokes per hole or converging

to an optimal path.

67

Page 69: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Overall, the evidence supporting the hypotheses provides an answer to the

question of this research. Existing knowledge of adaptive learning can be applied to the

domain of robotics, allowing a robot to improve its putting accuracy over a number of

trials.

68

Page 70: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Chapter 6: Future Directions

Many questions and ideas for future work arose during this research. Three areas

of future research derived from these ideas: improving or expanding upon the existing

methods, testing and comparing new methods with the existing methods, and expanding

upon the physical environment and hardware for more interesting research.

Some ideas to improve the existing methods include implementing dynamic

configuration-space obstacles for improved navigation and docking, increasing the

resolution of the learning-grid to test for increased putting accuracy, and expanding the

system to handle three-dimensional terrain mapping and adaptation.

To navigate in the environment, the robot used the A* Search algorithm described

in chapter 2. Configuration-space obstacles had to be generated from the obstacles in the

environment, based on the size of the robot. Since the robotic putter is not round, it is not

symmetric over all possible configurations. To handle this problem the worst-case

configuration scenario was used to create the configuration-space obstacles. This

constrained the maneuverability of the platform by causing the system to think the robot

could not fit a particular location when, in fact, it probably could. To remedy this

problem, dynamic configuration-spaces could be used as suggested by Winston (1992).

69

Page 71: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

The idea of using a higher resolution learning-grid was recognized after

conducting experiment 2. Overall, the grid square size used in this research proved to be

adequate for this research. It is anticipated that increasing the resolution might increase

the number of trials necessary to converge to the appropriate values. However, there

were a few instances where a smaller grid resolution might have led to an improved

putting accuracy. Some interesting questions stemmed from this occurrence. Would a

smaller grid resolution improve the accuracy and precision of the robot? If so, what is

the optimal resolution? Assuming there is an increase in trials, is the trade-off between

the number of trials necessary to adapt and the improved accuracy worth the extra work?

In addition to improving the existing methods of this research, future work could

also consist of experimenting with new methods. The learning methods used in this

research were developed using a simple, but effective technique of converging angles and

velocities, which allowed the robot to adapt to the optimal putt on a particular course. A

question concerning the learning method of this research is whether a better method

exists.

The putting environment used in this research was confined by the viewing area

limitations of the camera and the robot’s maximum putting distance. In order to

undertake the experiment in a larger area, multiple overhead cameras would be

necessary. This would require matching and synchronizing images from each camera.

With the ability to view a larger area, several research opportunities could evolve. More

interesting courses with multiple obstacles could be designed to rigorously test the

capability of the robot. The robot could also be reengineered to extend its putting

70

Page 72: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

distance to make for more interesting research, especially in calculating difficult bank

shots.

This research was conducted on a flat, level terrain. The ultimate research target

would be to putt on a more realistic terrain. This would require three-dimensional

mapping of the environment. To accomplish this task, it would be necessary to integrate

an onboard camera into the vision system to detect any hills or valleys in the

environment. Onboard vision could also improve the robot’s ability to accurately dock

with the ball before putting. The ability to adapt to such an environment would require a

method of estimating three-dimensional physics and a more complex learning technique

than that of this research.

Expanding this research into the areas described in this chapter would provide

even greater insights to the areas of robotics and machine learning. Implementing these

ideas would bring this research toward the ultimate goal of robotics and artificial

intelligence: to mimic human behavior and learning. In doing so, the robotic putter might

eventually be able to demonstrate competition with a human.

71

Page 73: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

References

Alfano, J. A. (2000).

Andersson, R. L. (1988). A Robot Ping-Pong Player. Cambridge, Massachusetts: The

MIT Press.

Barto, A. G., & Sutton, R. S. (1998) Reinforcement Learning. Cambridge,

Massachusetts: The MIT Press.

Bharath, Ramachandran & Drosen, James. (1994). Neural Network Computing. Blue

Ridge Summit, PA: Windcrest/McGraw-Hill, Inc.

Bruce, J., Balch, T., & Veloso, M. (2000). Fast and inexpensive color image

segmentation for interactive robots. Proceedings of IROS-2000.

Cormen, T. H., Leiserson, C. E., & Rivest, R. L. (1990). Introduction to Algorithms The

MIT Press and McGraw-Hill.

Fikes, R. E., Hart, P. E., & Nilsson, N. J. (1972). "Learning and Executing Generalized

Robot Plans." In. Webber, Bonnie Lynn, and Nils J. Nilsson (Eds.). Nilsson.

Readings in Artificial Intelligence. (pp. 231-249). Palo Alto, California: Tioga

Publishing Company.

72

Page 74: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Goshray, S., & Yen, K. K. (1996). A Comprehensive Robot Collision Avoidance Scheme

by Two-Dimensional Geometric Modeling. Proceedings of the 1996 IEEE

International Conference on Robotics & Automation. 1087-1092.

Jain, L. C., Johnson, R.P., & Rooij, A. J. F. van. (1996). Neural Network Training Using

Genetic Algorithms. Singapore: World Scientific Publishing Co.

Kruse, E. & Wahl, F. M. (1998). Camera-Based Monitoring System for Mobile Robot

Guidance. Proceedings of the 1998 IEEE/RSJ International Conference on

Intelligent Robots and Systems. 1248-1253.

O’Rourke, J. (1993). Computational Geometry in C. Cambridge: Cambridge University

Press.

Pioneer Productions (Producer). (1999). Extreme Machines [Videotape]. The Learning

Channel.

Murphy, R. R. (2000). Marsupial and Shape-shifting Robots for Urban Search and

Rescue. IEEE Intelligent Systems.

Serway, R. A. (1996). Physics for Scientists & Engineers (4th ed.). Saunders College

Publishing.

Shiller, Z. (1999). On-Line Sub-Optimal Obstacle Avoidance. Proceedings of the 1999

IEEE International Conference on Robotics & Automation. 335-340.

73

Page 75: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Walton, J. M. (1985). Terrain Mapping from a Mobile Platform Through Optical Flow

Techniques. Unpublished Masters thesis, Massachusetts Institute of Technology,

Cambridge, MA.

Webster, R. W., & Wei, Y. (1992). An Intelligent Mobile Robot Golfing System Using

Binocular Stereo Vision. Proceedings of the Eleventh IEEE International

Conference on Pattern Recognition. 603-607.

Winston, P. H. (1992). Artificial Intelligence. Reading, Massachusetts: Addison-Wesley

Publishing Company.

Xavier, P. G. (1999). Shortest Path Planning for a Tethered Robot or an Anchored Cable.

Proceedings of the 1999 IEEE International Conference on Robotics &

Automation. 1011-1017.

Yamamoto, M., Iwamura, M., & Mohri, A. (1999). Quasi-Time-Optimal Motion

Planning of Mobile Platforms in the Presence of Obstacles. Proceedings of the

1999 IEEE International Conference on Robotics & Automation. 2958-2963.

Zhang, Z. (2000). A flexible new technique for camera calibration. IEEE

Transactions on Pattern Analysis and Machine Intelligence. 1330-1334.

74

Page 76: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Appendix A – Default Grid Values

This appendix shows in initial random values of the learning grid. The data is in

the following format:

Grid # velocityleft-high velocityleft-low θoffsetleft historyleft 1 through 10 velocityright-high velocityright-low θoffsetright historyright 1 through 10 Grid 1 80 48 -5 360 360 360 360 360 360 360 360 360 360 79 57 -8 360 360 360 360 360 360 360 360 360 360 Grid 2 72 40 8 360 360 360 360 360 360 360 360 360 360 80 54 13 360 360 360 360 360 360 360 360 360 360 Grid 3 73 46 -5 360 360 360 360 360 360 360 360 360 360 68 53 -8 360 360 360 360 360 360 360 360 360 360

Grid 4 78 58 12 360 360 360 360 360 360 360 360 360 360 69 57 14 360 360 360 360 360 360 360 360 360 360 Grid 5 79 53 15 360 360 360 360 360 360 360 360 360 360 65 60 9 360 360 360 360 360 360 360 360 360 360 Grid 6 68 52 0 360 360 360 360 360 360 360 360 360 360 69 40 -5 360 360 360 360 360 360 360 360 360 360

75

Page 77: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Grid 7 65 47 1 360 360 360 360 360 360 360 360 360 360 63 57 -12 360 360 360 360 360 360 360 360 360 360 Grid 8 71 49 -12 360 360 360 360 360 360 360 360 360 360 62 40 8 360 360 360 360 360 360 360 360 360 360 Grid 9 68 41 -12 360 360 360 360 360 360 360 360 360 360 68 47 6 360 360 360 360 360 360 360 360 360 360 Grid 10 63 47 -3 360 360 360 360 360 360 360 360 360 360 78 59 -12 360 360 360 360 360 360 360 360 360 360 Grid 11 70 51 10 360 360 360 360 360 360 360 360 360 360 75 55 -10 360 360 360 360 360 360 360 360 360 360 Grid 12 70 57 -2 360 360 360 360 360 360 360 360 360 360 70 60 13 360 360 360 360 360 360 360 360 360 360

Grid 13 74 49 -11 360 360 360 360 360 360 360 360 360 360 80 52 -7 360 360 360 360 360 360 360 360 360 360 Grid 14 72 60 -9 360 360 360 360 360 360 360 360 360 360 62 58 6 360 360 360 360 360 360 360 360 360 360 Grid 15 63 57 -9 360 360 360 360 360 360 360 360 360 360 65 48 5 360 360 360 360 360 360 360 360 360 360 Grid 16 78 55 -3 360 360 360 360 360 360 360 360 360 360 64 54 9 360 360 360 360 360 360 360 360 360 360 Grid 17 71 43 5 360 360 360 360 360 360 360 360 360 360 74 43 7 360 360 360 360 360 360 360 360 360 360 Grid 18 79 46 -3 360 360 360 360 360 360 360 360 360 360 78 52 -3 360 360 360 360 360 360 360 360 360 360

76

Page 78: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Grid 19 65 40 15 360 360 360 360 360 360 360 360 360 360 77 42 -8 360 360 360 360 360 360 360 360 360 360 Grid 20 72 52 9 360 360 360 360 360 360 360 360 360 360 72 55 5 360 360 360 360 360 360 360 360 360 360 Grid 21 64 58 1 360 360 360 360 360 360 360 360 360 360 69 51 14 360 360 360 360 360 360 360 360 360 360 Grid 22 69 53 -14 360 360 360 360 360 360 360 360 360 360 79 48 -12 360 360 360 360 360 360 360 360 360 360 Grid 23 75 50 1 360 360 360 360 360 360 360 360 360 360 67 46 13 360 360 360 360 360 360 360 360 360 360 Grid 24 70 58 4 360 360 360 360 360 360 360 360 360 360 62 52 14 360 360 360 360 360 360 360 360 360 360

Grid 25 74 45 -15 360 360 360 360 360 360 360 360 360 360 74 48 4 360 360 360 360 360 360 360 360 360 360 Grid 26 77 59 -6 360 360 360 360 360 360 360 360 360 360 70 52 13 360 360 360 360 360 360 360 360 360 360 Grid 27 78 60 -8 360 360 360 360 360 360 360 360 360 360 77 41 -11 360 360 360 360 360 360 360 360 360 360 Grid 28 69 60 -12 360 360 360 360 360 360 360 360 360 360 75 41 -4 360 360 360 360 360 360 360 360 360 360 Grid 29 71 51 15 360 360 360 360 360 360 360 360 360 360 68 48 0 360 360 360 360 360 360 360 360 360 360 Grid 30 78 58 -9 360 360 360 360 360 360 360 360 360 360 75 52 10 360 360 360 360 360 360 360 360 360 360

77

Page 79: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Grid 31 67 49 7 360 360 360 360 360 360 360 360 360 360 64 40 -8 360 360 360 360 360 360 360 360 360 360 Grid 32 72 48 8 360 360 360 360 360 360 360 360 360 360 65 51 -2 360 360 360 360 360 360 360 360 360 360 Grid 33 75 53 -2 360 360 360 360 360 360 360 360 360 360 66 49 -1 360 360 360 360 360 360 360 360 360 360 Grid 34 67 41 3 360 360 360 360 360 360 360 360 360 360 74 54 14 360 360 360 360 360 360 360 360 360 360 Grid 35 80 60 12 360 360 360 360 360 360 360 360 360 360 74 53 1 360 360 360 360 360 360 360 360 360 360 Grid 36 68 44 1 360 360 360 360 360 360 360 360 360 360 77 56 13 360 360 360 360 360 360 360 360 360 360

Grid 37 63 50 9 360 360 360 360 360 360 360 360 360 360 60 50 -9 360 360 360 360 360 360 360 360 360 360 Grid 38 79 51 -7 360 360 360 360 360 360 360 360 360 360 60 58 0 360 360 360 360 360 360 360 360 360 360 Grid 39 60 54 -4 360 360 360 360 360 360 360 360 360 360 74 57 13 360 360 360 360 360 360 360 360 360 360 Grid 40 76 44 -3 360 360 360 360 360 360 360 360 360 360 78 56 1 360 360 360 360 360 360 360 360 360 360 Grid 41 71 48 9 360 360 360 360 360 360 360 360 360 360 65 60 7 360 360 360 360 360 360 360 360 360 360 Grid 42 72 59 14 360 360 360 360 360 360 360 360 360 360 63 51 15 360 360 360 360 360 360 360 360 360 360

78

Page 80: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Grid 43 77 40 8 360 360 360 360 360 360 360 360 360 360 68 47 4 360 360 360 360 360 360 360 360 360 360 Grid 44 77 60 1 360 360 360 360 360 360 360 360 360 360 63 49 6 360 360 360 360 360 360 360 360 360 360 Grid 45 80 55 15 360 360 360 360 360 360 360 360 360 360 63 44 11 360 360 360 360 360 360 360 360 360 360

79

Page 81: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Appendix B – Experiment 2 Course 1 Raw Data Listing

Trial 1 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 10.7092 Angle Missed: 10.6002 Estimated Distance: 163 Actual Distance: 185 Lie: (222, 173) Distance Remaining: 60 Grid square 20 Values Before Putt: Velocity: 72 Angle Offset: 9 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360 Grid square 20 Values After Putt: Velocity: 73 Angle Offset: 3.69992 History of Missed Angles: 10.6002 360 360 360 360 360 360 360 360 360

80

Page 82: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 1 - Putt 2 Putt Direction: Left Putt Power: High Estimated Direction: 292.329 Angle Missed: 6.93934 Estimated Distance: 187 Actual Distance: 153 Lie: (292, 38) Distance Remaining: 91 Grid square 43 Values Before Putt:

Velocity: 77 Angle Offset: 8 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360 Grid square 43 Values After Putt: Velocity: 76 Angle Offset: 4.53033 History of Missed Angles: 6.93934 360 360 360 360 360 360 360 360 360 Trial 1 - Putt 3 Putt Direction: Left Putt Power: High Estimated Direction: 232.421 Angle Missed: -8.50243 Estimated Distance: 81 Actual Distance: 120 Lie: (203, 87) Distance Remaining: 51 Grid square 9 Values Before Putt: Velocity: 68 Angle Offset: -12 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360 Grid square 9 Values After Putt: Velocity: 69 Angle Offset: -7.74879 History of Missed Angles: -8.50243 360 360 360 360 360 360 360 360 360

81

Page 83: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 1 - Putt 4 Putt Direction: Right Putt Power: Low Estimated Direction: 64.3391 Angle Missed: 12.0905 Estimated Distance: 92 Actual Distance: 74 Lie: (240, 147) Distance Remaining: 30 Grid square 16 Values Before Putt: Velocity: 54 Angle Offset: 9 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360 Grid square 16 Values After Putt: Velocity: 53 Angle Offset: 2.95475 History of Missed Angles: 12.0905 360 360 360 360 360 360 360 360 360 Trial 1 - Putt 5 Putt Direction: Left Putt Power: Low Estimated Direction: 279.462 Angle Missed: 0 Estimated Distance: 30 Actual Distance: 30 Lie: (247, 119) Distance Remaining: 0 Grid square 34 Values Before Putt: Velocity: 41 Angle Offset: 3 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360

82

Page 84: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 2 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 10.4183 Angle Missed: 4.27364 Estimated Distance: 168 Actual Distance: 181 Lie: (223, 160) Distance Remaining: 48 Grid square 20 Values Before Putt: Velocity: 73 Angle Offset: 3.69992 History of Missed Angles: 10.6002 360 360 360 360 360 360 360 360 360 Grid square 20 Values After Putt: Velocity: 74 Angle Offset: 1.5631 History of Missed Angles: 10.6002 4.27364 360 360 360 360 360 360 360 360 Trial 2 - Putt 2 Putt Direction: Left Putt Power: Low Estimated Direction: 298.142 Angle Missed: 0 Estimated Distance: 48 Actual Distance: 48 Lie: (245, 120) Distance Remaining: 0 Grid square 34 Values Before Putt: Velocity: 41 Angle Offset: 3 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360

83

Page 85: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 3 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 9.41834 Angle Missed: 3.9304 Estimated Distance: 172 Actual Distance: 199 Lie: (238, 173) Distance Remaining: 56 Grid square 20 Values Before Putt: Velocity: 74 Angle Offset: 1.5631 History of Missed Angles: 10.6002 4.27364 360 360 360 360 360 360 360 360 Grid square 20 Values After Putt: Velocity: 75 Angle Offset: -0.402101 History of Missed Angles: 10.6002 4.27364 3.9304 360 360 360 360 360 360 360 Trial 3 - Putt 2 Putt Direction: Left Putt Power: High Estimated Direction: 278.125 Angle Missed: 8.57424 Estimated Distance: 182 Actual Distance: 138 Lie: (276, 41) Distance Remaining: 82 Grid square 43 Values Before Putt: Velocity: 76 Angle Offset: 4.53033 History of Missed Angles: 6.93934 360 360 360 360 360 360 360 360 360 Grid square 43 Values After Putt: Velocity: 75 Angle Offset: 0.243212 History of Missed Angles: 6.93934 8.57424 360 360 360 360 360 360 360 360

84

Page 86: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 3 - Putt 3 Putt Direction: Right Putt Power: Low Estimated Direction: 248.801 Angle Missed: 10.4597 Estimated Distance: 88 Actual Distance: 71 Lie: (251, 86) Distance Remaining: 31 Grid square 35 Values Before Putt: Velocity: 53 Angle Offset: 1 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360 Grid square 35 Values After Putt: Velocity: 52 Angle Offset: -4.22985 History of Missed Angles: 10.4597 360 360 360 360 360 360 360 360 360 Trial 3 - Putt 4 ***Some values lost – overwritten by software*** Putt Direction: Right Putt Power: Low Estimated Direction: ? Angle Missed: 10.4597 Estimated Distance: ? Actual Distance: ? Lie: (?, ?) Distance Remaining: ? Grid square 17 Values Before Putt: Velocity: 43 Angle Offset: 7 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360 Grid square 17 Values After Putt: Velocity: 44 Angle Offset: 1.84663 History of Missed Angles: 10.3067 360 360 360 360 360 360 360 360 360

85

Page 87: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 3 - Putt 5 Putt Direction: Right Putt Power: Low Estimated Direction: 100.954 Angle Missed: 0 Estimated Distance: 88 Actual Distance: 88 Lie: (243, 116) Distance Remaining: 0 Grid square 16 Values Before Putt: Velocity: 53 Angle Offset: 2.95475 History of Missed Angles: 12.0905 360 360 360 360 360 360 360 360 360 Trial 4 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 10.4183 Angle Missed: -1.92395 Estimated Distance: 177 Actual Distance: 206 Lie: (234, 142) Distance Remaining: 27 Grid square 20 Values Before Putt: Velocity: 75 Angle Offset: -0.402101 History of Missed Angles: 10.6002 4.27364 3.9304 360 360 360 360 360 360 360 Grid square 20 Values After Putt: Velocity: 76 Angle Offset: 0.559876 History of Missed Angles: 10.6002 4.27364 3.9304 -1.92395 360 360 360 360 360 360

86

Page 88: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 4 - Putt 2 Putt Direction: Left Putt Power: Low Estimated Direction: 281.749 Angle Missed: 0 Estimated Distance: 53 Actual Distance: 53 Lie: (243, 117) Distance Remaining: 2 Grid square 34 Values Before Putt: Velocity: 41 Angle Offset: 3 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360 Trial 5 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 9.12754 Angle Missed: 0.654873 Estimated Distance: 182 Actual Distance: 188 Lie: (234, 149) Distance Remaining: 33 Grid square 20 Values Before Putt: Velocity: 76 Angle Offset: 0.559876 History of Missed Angles: 10.6002 .27364 3.9304 -1.92395 360 360 360 360 360 360 Grid square 20 Values After Putt: Velocity: 76 Angle Offset: 0.232439 History of Missed Angles: 10.6002 4.27364 3.9304 -1.92395 0.654873 360 360 360 360 360

87

Page 89: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 5 - Putt 2 Putt Direction: Left Putt Power: Low Estimated Direction: 288.97 Angle Missed: 0 Estimated Distance: 33 Actual Distance: 33 Lie: (245, 123) Distance Remaining: 0 Grid square 34 Values Before Putt: Velocity: 41 Angle Offset: 3 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360 Trial 6 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 10.4183 Angle Missed: 3.98836 Estimated Distance: 182 Actual Distance: 177 Lie: (221, 151) Distance Remaining: 41 Grid square 20 Values Before Putt: Velocity: 76 Angle Offset: 0.232439 History of Missed Angles: 10.6002 4.27364 3.9304 -1.92395 0.654873 360 360 360 360 360 Grid square 20 Values After Putt: Velocity: 76 Angle Offset: -1.76174 History of Missed Angles: 10.6002 4.27364 3.9304 -1.92395 0.654873 3.98836 360 360 360 360

88

Page 90: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 6 - Putt 2 Putt Direction: Left Putt Power: Low Estimated Direction: 283.218 Angle Missed: -2.84177 Estimated Distance: 53 Actual Distance: 90 Lie: (234, 80) Distance Remaining: 38 Grid square 34 Values Before Putt: Velocity: 41 Angle Offset: 3 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360 Grid square 34 Values After Putt: Velocity: 42 Angle Offset: 4.42088 History of Missed Angles: -2.84177 360 360 360 360 360 360 360 360 360 Trial 6 - Putt 3 Putt Direction: Right Putt Power: Low Estimated Direction: 73.443 Angle Missed: 14.436 Estimated Distance: 88 Actual Distance: 78 Lie: (232, 150) Distance Remaining: 35 Grid square 16 Values Before Putt: Velocity: 53 Angle Offset: 2.95475 History of Missed Angles: 12.0905 360 360 360 360 360 360 360 360 360 Grid square 16 Values After Putt: Velocity: 53 Angle Offset: -4.26324 History of Missed Angles: 12.0905 14.436 360 360 360 360 360 360 360 360

89

Page 91: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 6 - Putt 4 Putt Direction: Left Putt Power: Low Estimated Direction: 291.501 Angle Missed: 0 Estimated Distance: 35 Actual Distance: 35 Lie: (245, 120) Distance Remaining: 0 Grid square 34 Values Before Putt: Velocity: 42 Angle Offset: 4.42088 History of Missed Angles: -2.84177 360 360 360 360 360 360 360 360 360 Trial 7 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 10.7092 Angle Missed: -0.0634884 Estimated Distance: 182 Actual Distance: 345 Lie: (241, 147) Distance Remaining: 30 Grid square 20 Values Before Putt: Velocity: 76 Angle Offset: -1.76174 History of Missed Angles: 10.6002 4.27364 3.9304 -1.92395 0.654873 3.98836 360 360 360 360 Grid square 20 Values After Putt: Velocity: 77 Angle Offset: -1.73 History of Missed Angles: 10.6002 4.27364 3.9304 -1.92395 0.654873 3.98836 -0.0634884 360 360 360

90

Page 92: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 7 - Putt 2 Putt Direction: Left Putt Power: Low Estimated Direction: 277.595 Angle Missed: 0 Estimated Distance: 30 Actual Distance: 30 Lie: (247, 122) Distance Remaining: 0 Grid square 34 Values Before Putt: Velocity: 42 Angle Offset: 4.42088 History of Missed Angles: -2.84177 360 360 360 360 360 360 360 360 360 Trial 8 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 10.4183 Angle Missed: -0.144997 Estimated Distance: 187 Actual Distance: 306 Lie: (245, 151) Distance Remaining: 34 Grid square 20 Values Before Putt: Velocity: 77 Angle Offset: -1.73 History of Missed Angles: 10.6002 4.27364 3.9304 -1.92395 0.654873 3.98836 -0.0634884 360 360 360 Grid square 20 Values After Putt: Velocity: 78 Angle Offset: -1.6575 History of Missed Angles: 10.6002 4.27364 3.9304 -1.92395 0.654873 3.98836 -0.0634884 -0.144997 360 360

91

Page 93: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 8 - Putt 2 Putt Direction: Left Putt Power: Low Estimated Direction: 271 Angle Missed: 0 Estimated Distance: 34 Actual Distance: 34 Lie: (244, 114) Distance Remaining: 0 Grid square 34 Values Before Putt: Velocity: 42 Angle Offset: 4.42088 History of Missed Angles: -2.84177 360 360 360 360 360 360 360 360 360 Trial 9 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 10.7092 Angle Missed: 2.1536 Estimated Distance: 192 Actual Distance: 199 Lie: (242, 155) Distance Remaining: 38 Grid square 20 Values Before Putt: Velocity: 78 Angle Offset: -1.6575 History of Missed Angles: 10.6002 4.27364 3.9304 -1.92395 0.654873 3.98836 -0.0634884 -0.144997 360 360 Grid square 20 Values After Putt: Velocity: 78 Angle Offset: -2.7343 History of Missed Angles: 10.6002 4.27364 3.9304 -1.92395 0.654873 3.98836 -0.0634884 -0.144997 2.1536 360

92

Page 94: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 9 - Putt 2 Putt Direction: Left Putt Power: Low Estimated Direction: 274.514 Angle Missed: 0 Estimated Distance: 38 Actual Distance: 38 Lie: (247, 122) Distance Remaining: 0 Grid square 34 Values Before Putt: Velocity: 42 Angle Offset: 4.42088 History of Missed Angles: -2.84177 360 360 360 360 360 360 360 360 360 Trial 10 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 9.41834 Angle Missed: 0.400972 Estimated Distance: 192 Actual Distance: 184 Lie: (230, 148) Distance Remaining: 34 Grid square 20 Values Before Putt: Velocity: 78 Angle Offset: -2.7343 History of Missed Angles: 10.6002 4.27364 3.9304 -1.92395 0.654873 3.98836 -0.0634884 -0.144997 2.1536 360 Grid square 20 Values After Putt: Velocity: 78 Angle Offset: -2.93479 History of Missed Angles: 10.6002 4.27364 3.9304 -1.92395 0.654873 3.98836 -0.0634884 -0.144997 2.1536 0.400972

93

Page 95: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 10 - Putt 2 Putt Direction: Left Putt Power: Low Estimated Direction: 295.821 Angle Missed: 0 Estimated Distance: 34 Actual Distance: 34 Lie: (247, 119) Distance Remaining: 0 Grid square 34 Values Before Putt: Velocity: 42 Angle Offset: 4.42088 History of Missed Angles: -2.84177 360 360 360 360 360 360 360 360 360 Trial 11 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 10.7092 Angle Missed: 0.424848 Estimated Distance: 192 Actual Distance: 266 Lie: (236, 155) Distance Remaining: 39 Grid square 20 Values Before Putt: Velocity: 78 Angle Offset: -2.93479 History of Missed Angles: 10.6002 4.27364 3.9304 -1.92395 0.654873 3.98836 -0.0634884 -0.144997 2.1536 0.400972 Grid square 20 Values After Putt: Velocity: 79 Angle Offset: -3.14721 History of Missed Angles: 0.424848 4.27364 3.9304 -1.92395 0.654873 3.98836 -0.0634884 -0.144997 2.1536 0.400972

94

Page 96: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 11 - Putt 2 Putt Direction: Left Putt Power: Low Estimated Direction: 283.324 Angle Missed: 0 Estimated Distance: 39 Actual Distance: 39 Lie: (247, 122) Distance Remaining: 0 Grid square 34 Values Before Putt: Velocity: 42 Angle Offset: 4.42088 History of Missed Angles: -2.84177 360 360 360 360 360 360 360 360 360 Trial 12 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 10.4154 Angle Missed: 0.495769 Estimated Distance: 197 Actual Distance: 202 Lie: (236, 151) Distance Remaining: 35 Grid square 20 Values Before Putt: Velocity: 79 Angle Offset: -3.14721 History of Missed Angles: 0.424848 4.27364 3.9304 -1.92395 0.654873 3.98836 -0.0634884 -0.144997 2.1536 0.400972 Grid square 20 Values After Putt: Velocity: 79 Angle Offset: -3.3951 History of Missed Angles: 0.424848 0.495769 3.9304 -1.92395 0.654873 3.98836 -0.0634884 -0.144997 2.1536 0.400972

95

Page 97: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 12 - Putt 2 Putt Direction: Left Putt Power: Low Estimated Direction: 284.826 Angle Missed: 0 Estimated Distance: 35 Actual Distance: 35 Lie: (243, 115) Distance Remaining: 0 Grid square 34 Values Before Putt: Velocity: 42 Angle Offset: 4.42088 History of Missed Angles: -2.84177 360 360 360 360 360 360 360 360 360 Trial 13 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 10.7092 Angle Missed: 0.496796 Estimated Distance: 197 Actual Distance: 227 Lie: (236, 147) Distance Remaining: 31 Grid square 20 Values Before Putt: Velocity: 79 Angle Offset: -3.3951 History of Missed Angles: 0.424848 0.495769 3.9304 -1.92395 0.654873 3.98836 -0.0634884 -0.144997 2.1536 0.400972 Grid square 20 Values After Putt: Velocity: 80 Angle Offset: -3.64349 History of Missed Angles: 0.424848 0.495769 3.9304 -1.92395 0.654873 0.496796 -0.0634884 -0.144997 2.1536 0.400972

96

Page 98: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 13 - Putt 2 Putt Direction: Left Putt Power: Low Estimated Direction: 286.699 Angle Missed: 0 Estimated Distance: 31 Actual Distance: 31 Lie: (245, 123) Distance Remaining: 0 Grid square 34 Values Before Putt: Velocity: 42 Angle Offset: 4.42088 History of Missed Angles: -2.84177 360 360 360 360 360 360 360 360 360

97

Page 99: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Appendix C – Experiment 2 Course 2 Raw Data Listing

Trial 1 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 310.77 Angle Missed: -5.33644 Estimated Distance: 104 Actual Distance: 112 Lie: (167, 67) Distance Remaining: 92 Grid square 12 Values Before Putt: Velocity: 70 Angle Offset: -2 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360 Grid square 12 Values After Putt: Velocity: 70 Angle Offset: 0.66822 History of Missed Angles: -5.33644 360 360 360 360 360 360 360 360 360

98

Page 100: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 1 - Putt 2 Putt Direction: Right Putt Power: Low Estimated Direction: 32.6609 Angle Missed: 18.581 Estimated Distance: 113 Actual Distance: 102 Lie: (226, 138) Distance Remaining: 28 Grid square 5 Values Before Putt: Velocity: 60 Angle Offset: 9 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360 Grid square 5 Values After Putt: Velocity: 59 Angle Offset: -0.290509 History of Missed Angles: 18.581 360 360 360 360 360 360 360 360 360 Trial 1 - Putt 3 Putt Direction: Left Putt Power: Low Estimated Direction: 312.138 Angle Missed: 0 Estimated Distance: 28 Actual Distance: 28 Lie: (245, 119) Distance Remaining: 0 Grid square 34 Values Before Putt: Velocity: 41 Angle Offset: 3 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360

99

Page 101: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 2 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 304.28 Angle Missed: -2.95141 Estimated Distance: 100 Actual Distance: 108 Lie: (149, 72) Distance Remaining: 106 Grid square 12 Values Before Putt: Velocity: 70 Angle Offset: 0.66822 History of Missed Angles: -5.33644 360 360 360 360 360 360 360 360 360 Grid square 12 Values After Putt: Velocity: 70 Angle Offset: 2.14393 History of Missed Angles: -5.33644 -2.95141 360 360 360 360 360 360 360 360 Trial 2 - Putt 2 Putt Direction: Right Putt Power: Low Estimated Direction: 25.1149 Angle Missed: 16.6147 Estimated Distance: 106 Actual Distance: 77 Lie: (203, 125) Distance Remaining: 42 Grid square 14 Values Before Putt: Velocity: 58 Angle Offset: 6 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360 Grid square 14 Values After Putt: Velocity: 57 Angle Offset: -2.30735 History of Missed Angles: 16.6147 360 360 360 360 360 360 360 360 360

100

Page 102: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 2 - Putt 3 Putt Direction: Right Putt Power: Low Estimated Direction: 350.216 Angle Missed: 17.6376 Estimated Distance: 85 Actual Distance: 56 Lie: (258, 127) Distance Remaining: 16 Grid square 24 Values Before Putt: Velocity: 52 Angle Offset: 14 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360 Grid square 24 Values After Putt: Velocity: 51 Angle Offset: 5.18119 History of Missed Angles: 17.6376 360 360 360 360 360 360 360 360 360 Trial 2 - Putt 4 Putt Direction: Right Putt Power: Low Estimated Direction: 217.568 Angle Missed: 0 Estimated Distance: 16 Actual Distance: 16 Lie: (242, 117) Distance Remaining: 0 Grid square 26 Values Before Putt: Velocity: 52 Angle Offset: 13 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360

101

Page 103: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 3 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 306.802 Angle Missed: 6.17688 Estimated Distance: 104 Actual Distance: 113 Lie: (175, 50) Distance Remaining: 96 Grid square 12 Values Before Putt: Velocity: 70 Angle Offset: 2.14393 History of Missed Angles: -5.33644 -2.95141 360 360 360 360 360 360 360 360 Grid square 12 Values After Putt: Velocity: 70 Angle Offset: -0.944514 History of Missed Angles: -5.33644 -2.95141 6.17688 360 360 360 360 360 360 360 Trial 3 - Putt 2 Putt Direction: Right Putt Power: Low Estimated Direction: 43.7456 Angle Missed: 4.96974 Estimated Distance: 109 Actual Distance: 91 Lie: (234, 119) Distance Remaining: 11 Grid square 5 Values Before Putt: Velocity: 59 Angle Offset: -0.290509 History of Missed Angles: 18.581 360 360 360 360 360 360 360 360 360 Grid square 5 Values After Putt: Velocity: 58 Angle Offset: -2.77538 History of Missed Angles: 18.581 4.96974 360 360 360 360 360 360 360 360

102

Page 104: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 3 - Putt 3 Putt Direction: Left Putt Power: Low Estimated Direction: 349.695 Angle Missed: 0 Estimated Distance: 11 Actual Distance: 11 Lie: (240, 117) Distance Remaining: 0 Grid square 25 Values Before Putt: Velocity: 45 Angle Offset: -15 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360 Trial 4 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 305.773 Angle Missed: 0.481048 Estimated Distance: 102 Actual Distance: 111 Lie: (152, 67) Distance Remaining: 105 Grid square 12 Values Before Putt: Velocity: 70 Angle Offset: -0.944514 History of Missed Angles: -5.33644 -2.95141 6.17688 360 360 360 360 360 360 360 Grid square 12 Values After Putt: Velocity: 70 Angle Offset: -1.18504 History of Missed Angles: -5.33644 -2.95141 6.17688 0.481048 360 360 360 360 360 360

103

Page 105: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 4 - Putt 2 Putt Direction: Right Putt Power: Low Estimated Direction: 30.264 Angle Missed: 4.59046 Estimated Distance: 106 Actual Distance: 106 Lie: (217, 113) Distance Remaining: 28 Grid square 5 Values Before Putt: Velocity: 58 Angle Offset: -2.77538 History of Missed Angles: 18.581 4.96974 360 360 360 360 360 360 360 360 Grid square 5 Values After Putt: Velocity: 58 Angle Offset: -5.07061 History of Missed Angles: 18.581 4.96974 4.59046 360 360 360 360 360 360 360 Trial 4 - Putt 3 Putt Direction: Left Putt Power: Low Estimated Direction: 8.13011 Angle Missed: 0 Estimated Distance: 28 Actual Distance: 28 Lie: (245, 111) Distance Remaining: 0 Grid square 25 Values Before Putt: Velocity: 45 Angle Offset: -15 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360

104

Page 106: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 5 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 306.009 Angle Missed: 3.51408 Estimated Distance: 101 Actual Distance: 118 Lie: (167, 60) Distance Remaining: 96 Grid square 12 Values Before Putt: Velocity: 70 Angle Offset: -1.18504 History of Missed Angles: -5.33644 -2.95141 6.17688 0.481048 360 360 360 360 360 360 Grid square 12 Values After Putt: Velocity: 71 Angle Offset: -2.94208 History of Missed Angles: -5.33644 -2.95141 6.17688 0.481048 3.51408 360 360 360 360 360 Trial 5 - Putt 2 Putt Direction: Right Putt Power: Low Estimated Direction: 33.1582 Angle Missed: 3.25819 Estimated Distance: 106 Actual Distance: 139 Lie: (236, 112) Distance Remaining: 10 Grid square 5 Values Before Putt: Velocity: 58 Angle Offset: -5.07061 History of Missed Angles: 18.581 4.96974 4.59046 360 360 360 360 360 360 360 Grid square 5 Values After Putt: Velocity: 59 Angle Offset: -6.69971 History of Missed Angles: 18.581 4.96974 4.59046 3.25819 360 360 360 360 360 360

105

Page 107: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 5 - Putt 3 Putt Direction: Left Putt Power: Low Estimated Direction: 29.0546 Angle Missed: 0 Estimated Distance: 10 Actual Distance: 10 Lie: (240, 114) Distance Remaining: 0 Grid square 25 Values Before Putt: Velocity: 45 Angle Offset: -15 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360 Trial 6 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 311.593 Angle Missed: 1.20422 Estimated Distance: 108 Actual Distance: 144 Lie: (189, 62) Distance Remaining: 78 Grid square 12 Values Before Putt: Velocity: 71 Angle Offset: -2.94208 History of Missed Angles: -5.33644 -2.95141 6.17688 0.481048 3.51408 360 360 360 360 360 Grid square 12 Values After Putt: Velocity: 72 Angle Offset: -3.54419 History of Missed Angles: -5.33644 -2.95141 6.17688 0.481048 3.51408 1.20422 360 360 360 360

106

Page 108: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 6 - Putt 2 Putt Direction: Right Putt Power: High Estimated Direction: 44.5105 Angle Missed: 0 Estimated Distance: 78 Actual Distance: 78 Lie: (243, 118) Distance Remaining: 0 Grid square 6 Values Before Putt: Velocity: 69 Angle Offset: -5 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360 Trial 7 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 311.66 Angle Missed: -7.71636 Estimated Distance: 108 Actual Distance: 130 Lie: (177, 64) Distance Remaining: 86 Grid square 12 Values Before Putt: Velocity: 72 Angle Offset: -3.54419 History of Missed Angles: -5.33644 -2.95141 6.17688 0.481048 3.51408 1.20422 360 360 360 360 Grid square 12 Values After Putt: Velocity: 73 Angle Offset: 0.313994 History of Missed Angles: -5.33644 -2.95141 6.17688 0.481048 3.51408 1.20422 -7.71636 360 360 360

107

Page 109: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 7 - Putt 2 Putt Direction: Right Putt Power: Low Estimated Direction: 34.9333 Angle Missed: -2.84068 Estimated Distance: 109 Actual Distance: 71 Lie: (236, 101) Distance Remaining: 18 Grid square 5 Values Before Putt: Velocity: 59 Angle Offset: -6.69971 History of Missed Angles: 18.581 4.96974 4.59046 3.25819 360 360 360 360 360 360 Grid square 5 Values After Putt: Velocity: 58 Angle Offset: -5.27936 History of Missed Angles: 18.581 4.96974 4.59046 3.25819 -2.84068 360 360 360 360 360 Trial 7 - Putt 3 Putt Direction: Left Putt Power: Low Estimated Direction: 60.6423 Angle Missed: 0 Estimated Distance: 18 Actual Distance: 18 Lie: (250, 114) Distance Remaining: 0 Grid square 25 Values Before Putt: Velocity: 45 Angle Offset: -15 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360

108

Page 110: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 8 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 314.782 Angle Missed: 2.30011 Estimated Distance: 113 Actual Distance: 132 Lie: (206, 56) Distance Remaining: 72 Grid square 12 Values Before Putt: Velocity: 73 Angle Offset: 0.313994 History of Missed Angles: -5.33644 -2.95141 6.17688 0.481048 3.51408 1.20422 -7.71636 360 360 360 Grid square 12 Values After Putt: Velocity: 74 Angle Offset: -0.836063 History of Missed Angles: -5.33644 -2.95141 6.17688 0.481048 3.51408 1.20422 -7.71636 2.30011 360 360 Trial 8 - Putt 2 Putt Direction: Right Putt Power: High Estimated Direction: 58.4075 Angle Missed: 0 Estimated Distance: 72 Actual Distance: 72 Lie: (243, 113) Distance Remaining: 0 Grid square 6 Values Before Putt: Velocity: 69 Angle Offset: -5 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360

109

Page 111: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 9 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 315.525 Angle Missed: -2.86202 Estimated Distance: 115 Actual Distance: 119 Lie: (187, 58) Distance Remaining: 82 Grid square 12 Values Before Putt: Velocity: 74 Angle Offset: -0.836063 History of Missed Angles: -5.33644 -2.95141 6.17688 0.481048 3.51408 1.20422 -7.71636 2.30011 360 360 Grid square 12 Values After Putt: Velocity: 74 Angle Offset: 0.594948 History of Missed Angles: -5.33644 -2.95141 6.17688 0.481048 3.51408 1.20422 -7.71636 2.30011 -2.86202 360 Trial 9 - Putt 2 Putt Direction: Right Putt Power: High Estimated Direction: 47.4897 Angle Missed: 0 Estimated Distance: 82 Actual Distance: 82 Lie: (245, 113) Distance Remaining: 0 Grid square 6 Values Before Putt: Velocity: 69 Angle Offset: -5 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360

110

Page 112: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 10 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 315.401 Angle Missed: -1.00392 Estimated Distance: 115 Actual Distance: 118 Lie: (185, 53) Distance Remaining: 87 Grid square 12 Values Before Putt: Velocity: 74 Angle Offset: 0.594948 History of Missed Angles: -5.33644 -2.95141 6.17688 0.481048 3.51408 1.20422 -7.71636 2.30011 -2.86202 360 Grid square 12 Values After Putt: Velocity: 74 Angle Offset: 1.09691 History of Missed Angles: -5.33644 -2.95141 6.17688 0.481048 3.51408 1.20422 -7.71636 2.30011 -2.86202 -1.00392 Trial 10 - Putt 2 Putt Direction: Right Putt Power: High Estimated Direction: 46.8476 Angle Missed: 0 Estimated Distance: 87 Actual Distance: 87 Lie: (243, 117) Distance Remaining: 0 Grid square 6 Values Before Putt: Velocity: 69 Angle Offset: -5 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360

111

Page 113: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 11 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 315.525 Angle Missed: -0.524714 Estimated Distance: 115 Actual Distance: 118 Lie: (189, 54) Distance Remaining: 84 Grid square 12 Values Before Putt: Velocity: 74 Angle Offset: 1.09691 History of Missed Angles: -5.33644 -2.95141 6.17688 0.481048 3.51408 1.20422 -7.71636 2.30011 -2.86202 -1.00392 Grid square 12 Values After Putt: Velocity: 74 Angle Offset: 1.35926 History of Missed Angles: -5.33644 -2.95141 6.17688 0.481048 3.51408 1.20422 -0.524714 2.30011 -2.86202 -1.00392 Trial 11 - Putt 2 Putt Direction: Right Putt Power: High Estimated Direction: 48.3665 Angle Missed: 0 Estimated Distance: 84 Actual Distance: 84 Lie: (247, 119) Distance Remaining: 0 Grid square 6 Values Before Putt: Velocity: 69 Angle Offset: -5 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360

112

Page 114: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

Trial 12 - Putt 1 Putt Direction: Left Putt Power: High Estimated Direction: 315.525 Angle Missed: 6.54202 Estimated Distance: 115 Actual Distance: 121 Lie: (194, 53) Distance Remaining: 81 Grid square 12 Values Before Putt: Velocity: 74 Angle Offset: 1.35926 History of Missed Angles: -5.33644 -2.95141 6.17688 0.481048 3.51408 1.20422 -0.524714 2.30011 -2.86202 -1.00392 Grid square 12 Values After Putt: Velocity: 74 Angle Offset: 1.35926 History of Missed Angles: -5.33644 -2.95141 6.17688 0.481048 3.51408 1.20422 -0.524714 2.30011 -2.86202 -1.00392 Trial 12 - Putt 2 Putt Direction: Right Putt Power: High Estimated Direction: 51.4496 Angle Missed: 0 Estimated Distance: 81 Actual Distance: 81 Lie: (243, 113) Distance Remaining: 0 Grid square 6 Values Before Putt: Velocity: 69 Angle Offset: -5 History of Missed Angles: 360 360 360 360 360 360 360 360 360 360

113

Page 115: THE UNIVERSITY OF SOUTH ALABAMA SCHOOL OF ...Chair of Thesis Committee: Dr. Michael V. Doran Artificial intelligence is a rapidly expanding area within the field of computer science

VITA

Jason was born in a cabbage patch. His formative years were spent nose to nose

with the family beagle upon which he formally was shat!

114