UNIVERSITY OF OKLAHOMA GRADUATE COLLEGE

jadesoreAI and Robotics

Nov 13, 2013 (3 years and 7 months ago)

104 views


i

UNIVERSITY OF OKLAHOMA

GRADUATE COLLEGE



















AUTONOMOUS STAIRCLIMBING WITH A MOBILE ROBOT














A THESIS

SUBMITTED TO THE GRADUATE FACULTY

In partial fulfillment of the requirements for the

Degree of

MASTER OF SCIENCE




By

MICHAEL FAIR

Norman, Oklahoma

2000


ii















AUTONOMOUS STAIRCLIMBING WITH A MOBILE ROBOT






A THESIS APPROVED FOR THE DEPARTMENT OF

AEROSPACE AND MECHANICAL ENGINEERING








BY












______________________________________



____________________________
__________



______________________________________




iii













































Copyright by Mike Fair 2000

All Rights Reserved


iv

Acknowledgements

Sdfsdf

Dfsdfd



v

Table of Contents


I.

Introduction

................................
................................
................................
.................

1

A.

Purpose for Autonomous Stairclimber
................................
................................
....

1

B.

Related Work

................................
................................
................................
..........

3

II.

Problem Definition
................................
................................
................................
......

4

A.

Immediate Goal

................................
................................
................................
.......

4

B.

Potential Capabilities

................................
................................
..............................

5

C.

Obstacles and Issues

................................
................................
...............................

5

III.

Robot Base Development

................................
................................
.......................

7

A.

Electro
-
Mechanical starting point

................................
................................
...........

7

B.

Control Electronics

................................
................................
...............................

11

C.

Control Board Communications

................................
................................
...........

13

D.

High level
computer platform

................................
................................
...............

14

E.

Sensor Suite

................................
................................
................................
..........

15

IV.

Central Robotic processor

................................
................................
.....................

22

A.

Platform
................................
................................
................................
.................

22

B.

Software Development
................................
................................
..........................

23

C.

Low Level Controls

................................
................................
..............................

27

D.

Communications

................................
................................
................................
...

32

V.

Data Integration

................................
................................
................................
........

37

A.

Coordinate Systems

................................
................................
..............................

37

B.

Transformations

................................
................................
................................
....

39

C.

Sensor Redundancy

................................
................................
...............................

41

VI.

Navigation Strategies

................................
................................
............................

42

A.

Simplistic Approach
................................
................................
..............................

42

B.

Feature recognition

................................
................................
...............................

44

C.

Stair negotiation

................................
................................
................................
....

46

D.

Path Planning

................................
................................
................................
........

51

VII.

Results

................................
................................
................................
...................

52

A.

Satisfaction of Goals

................................
................................
.............................

52

B.

Performance

................................
................................
................................
..........

53

VIII.

Conclusions

................................
................................
................................
...........

53

A.

Future Avenues of Research

................................
................................
.................

53

B.

Mistakes Made

................................
................................
................................
......

53

C.

Applications, Contributions to Robotics

................................
...............................

54

IX.

Bibliograp
hy

................................
................................
................................
.........

56

X.

Appendices

................................
................................
................................
................

57

Appendix A: Electrical schematics for the Quest wheelchair

................................
.....

57

Appendix B: Control board electrical schematics

................................
.......................

58

Appendix C: Control board program code
................................
................................
...

59

Appendix D:

High level computer software

................................
................................

67

Appendix E: Ground Station computer software

................................
.........................

83

Appendix F: Differential GPS correction serv
er software

................................
...........

8
4

Appendix G: System components

................................
................................
................

87



vi


List of Tables


Table 1 Control Board Program Sequen
ce

................................
................................
.......

14

Table 2 Fuzzy Turn Control Definition

................................
................................
............

29

Table 3 PC Command packet

................................
................................
...........................

36

Table 4 Inter
-
Stamp packet

................................
................................
...............................

36

Table 5 Stamp Report packet

................................
................................
............................

36

Table 6 Stair sequence

................................
................................
................................
......

47



List of Illustrations


Figure 1 Access


Wheelchair

................................
................................
............................

7

Figure 2 Front Easy Down Operation

................................
................................
.................

8

Figure 3 Rear Easy Down Operation

................................
................................
..................

9

Figure 4 Robot Base Configuration

................................
................................
..................

10

Figure 5 Control Board

................................
................................
................................
.....

12

Figure 6 Compass Mounting

................................
................................
.............................

16

Figure 7 Rear Infrared Rangefinder Placement

................................
................................

18

Figure 8: Infrared Sensor output function

................................
................................
.........

19

Figure 9 Laser Tilt Mechanism

................................
................................
.........................

20

Figure 10 On board graphical user interfa
ce for low level robot control

.........................

24

Figure 11 On board graphical interface for high level control functions.

........................

26

Figure 12 Heading
Controller Fuzzy Definitions

................................
.............................

28

Figure 13 Roll Controller Law

................................
................................
..........................

30

Figure 14 Position controller speed law
................................
................................
...........

31

Figure 15 Rear Easy Down Controller Sensor Setup
................................
........................

31

Figure 16 Coordinate Systems

................................
................................
..........................

38

Figure 17 Laser Scanner Coordinates

................................
................................
...............

40

Figure 18 Line fitting algorithm

................................
................................
.......................

45

Figure 19 Line fitting results

................................
................................
.............................

45

Figure 20 Top Step Detection

................................
................................
...........................

46

Figure 21 Staircase Ascent Part: Find

................................
................................
...............

47

Figure 22

Staircase Ascent Part: Align

................................
................................
.............

48

Figure 23 Staircase Ascent Part: Move until Rotate

................................
.........................

48

Figure 24 Staircase Ascent Part: OnStair
................................
................................
..........

49

Figure 25 Staircase Ascent Part: Rotate to Flat (easy down release implicit)

.................

49

Figure 26 Staircase Ascent Part: Clear

................................
................................
.............

49

Figure 27 Staircase Descent Part: Find

................................
................................
.............

50

Figure 28 Staircase Descent Part: Verify

................................
................................
..........

50

Figure 29 Staircase Descent Part: Move until Rotate

................................
.......................

50

Figure 30 Staircase Descent Part: On stairs

................................
................................
......

51

Figure

31 Staircase Descent Complete

................................
................................
.............

51



1

I.

Introduction

Significant advances have been made towards the goal of completely autonomous
mobile robots, but few systems have broken free of a planar environment. This thesis
describes
L
ola
, a robot system that can autonomously negotiate a staircase.
Lola

was
developed at the University of Oklahoma to demonstrate the sensors and algorithms
needed to automatically climb and descend stairs.

A.

Purpose for Autonomous Stairclimber

Mobile roboti
cs is heavily emphasized in many aspects of today’s technology
development. Just as stationary robots have brought safety and efficiency, in
manufacturing for example, mobile robots bring enormous advantages to such things as
planetary exploration, delive
ry of parts within a factory, or bomb defusal. However,
most so called mobile robots primarily operate by telepresence, with a human controller
maneuvering from a remote location. The much observed Sojourner robot, exploring the
surface of Mars, spent mo
st of its time executing precisely planned out movements,
having received detailed orders from controllers on Earth, millions of miles away.
Autonomous robots are needed to take full advantage of a mechanical system’s potential.

Furthermore, the complic
ated task of a three dimensional motion such as climbing
a flight of stairs, has received little attention. Foremost of the reasons for this is the
difficulty of building a chassis that is capable of climbing stairs. This challenge presents
safety issues

that are much less forgiving than the simple task of maneuvering along flat
ground.


2

An intelligent system is also required in order to give a robot mobility over stairs.
The process of staircase negotiation is more complicated and dangerous than simple

two
dimensional navigation, and calls for unique algorithms to rise to the challenge.

Most stair
-
capable mobile systems today have vulnerabilities while on a staircase.
The most dangerous one is the potential for a tipover to occur at some roll angles.

Such a
situation demands intelligent controls, where a high level controller bridges the safety
gap between the goal set and the low level controller.

Locating a staircase is also a critical task. Many mobile robots cannot recognize
the presence of a
staircase and have no ability to protect themselves from plunging down
a flight of stairs. Given the dream of complete autonomy for a mobile agent in any
environment, the ability to recognize and negotiate staircases is crucial.

The primary areas of conc
ern in this research were the design of a sensor suite,
data integration scheme, and stairclimbing logic engine. These components were
combined with a tracked chassis to create a robot with an autonomous stairclimbing
capability. This is a new and signi
ficant feature in mobile robotics that has immediate
and practical applications.

Some fundamental applications of mobile robotics have much to gain from the
ability to negotiate stairs. Hazardous area exploration robots would have much less
restricted acc
ess with an ability to overcome staircase obstacles automatically. Even
today’s janitorial robots, dependent on a human operator to conduct them from floor to
floor, could clean an entire building without operator intervention. Wheelchairs could be
made

to automatically maneuver an occupant safely up and down a staircase.


3

B.

Related Work

1.

Contemporary context of mobile robotics research

Current researchers in mobile robotics focus heavily on obstacle avoidance, path
planning, and localization. Many differen
t robots have been successfully developed with
sophisticated autonomous capabilities, but none are capable of autonomously navigating
in an environment that might include a staircase.

2.


Literature survey

Many companies, research and development laboratories
, and universities have
developed mobile robots with high degrees of autonomy. Most are wheeled vehicles that
have no ability to negotiate stairs. Excellent algorithms have been developed for a
variety of navigational capabilities.

Obstacle avoidance is
currently the favored method of responding to difficult
environments.

A few research programs have directed attention at non
-
planar environments.
Oak Ridge National Labs has developed a mobile robot with a stair
-
climbing capability
that is primarily des
igned for bomb disposal and other tasks where manipulation is
involved of a hazardous nature. ANDROS is a tracked vehicle that has highly
configurable tracks which allow the robot to negotiate virtually any obstacle. The
original development was intended

for teleoperation, but the robot has been adapted to
allow some degree of autonomous operation as well. Remotec Inc., carried out this
adaptation, with no reconfiguration of the original system, except for the addition of
encoders to all the motors. Som
e sensors were added, as well as considerable computing

4

power. Obstacle avoidance was implemented in order to reduce operator workload, but
the staircase problem was not specifically addressed.


IS Robotics developed Urbie, a spectacularly agile tracked v
ehicle with
impressive durability. Staircases present no great challenge to the robot, and it can
recover from most falls. Urbie is however, entirely remote operated.


Johnson & Johnson Inc. recently developed a gyroscopically stabilized wheelchair
that
can balance on either axle of its two axle truck. This allows the chair to climb stairs,
as well as simply stand ‘ upright’. Considerable design was performed for the low level
controls associated with such stability, but motion is still directed by the
human occupant.


The University of Pennsylvania has investigated a curb climbing capability for
wheelchairs of any description, using powerful arms to lift the chair over a single bump.
Again, no high level controls for the device have been implemented.

II.

P
roblem Definition

A.

Immediate Goal

The goal of the overall research program to which this thesis work contributed
was to build a robot system that allowed point and click mobility, with no outdoor
location being inaccessible. A human operator would instruct

the robot to move itself to
a certain geographic position using only a digital map. Clearly stairs present a difficulty
to mobile robotics, and it was desired to work towards a system that could negotiate any
vertical challenge along whatever path might
take it to its goal. The scope of this thesis is
limited to the stair negotiating portion of this scenario. The demonstration of such a
capability would simply entail the robot being placed at an arbitrary point in an outdoor

5

environment, and instructed
to move to a location at the top of a nearby known flight of
stairs.

B.

Potential Capabilities

The capability to recognize, characterize, and negotiate a staircase is feasible with
current technology. Sensors exist with sufficient resolution and speed that c
an gather the
information necessary for staircase detection. The integration of these sensors with
efficient algorithms promises capabilities for all sorts of mobile robots that will greatly
expand their utility. Unfettered access will be possible, even
in unmodified or dangerous
environments.

C.

Obstacles and Issues

Navigation in an outdoor environment is made easier with the use of the global
positioning system, provided that the satellite constellation is sufficiently visible. This is
trivial for most ap
plications of which the designers of the satellite navigation system were
mindful. These include aviation, surveying, marine navigation, and automobile travel, all
of which take place in an open and unobstructed environment. Urban robotics, on the
other
hand, is concerned with navigation adjacent to, and occasionally inside of,
buildings. These structures, as well as trees and other objects obscuring a clear view of
the sky, oftentimes interfere severely with the reception of global positioning signals.

While a position fix is usually possible, and oftentimes highly accurate, the possibility of
a loss of accuracy necessitates consideration of additional sources of navigation data.

A human processes visual information concerning topography instantly and

instinctively. A robot, on the other hand, must rely on some careful algorithms to prevent

6

itself from falling down a precipice. The careful design of these algorithms requires
some way of gathering data about the surrounding topography, as well as a co
mplete set
of rules governing the interpretation of that data.


The most difficult issue in the development of an autonomous stairclimbing
ability is the selection of a sensor suite. In order to detect and characterize stairs in a
variety of different c
onfigurations, a variety of sensors must be employed. Simple
sensors can be integrated to provide information with regard to universal environmental
characteristics. An infrared range finder, for instance, can detect the ground dropoff that
is guaranteed

to occur prior to descending a staircase. However, more generalized
environmental factors require more complex sensors. Information such as the slope,
width, and length of a staircase can only be reliably determined by a versatile sensor such
as a scann
er or a camera.


Infrared rangefinders, and their sonic cousin the ultrasonic transducer, are used
extensively in robots that utilize behaviors to accomplish a task. Simple behaviours that
map short range readings (impending collision) to turn commands (a
voidance) have been
very successful in yielding robots that appear intelligent.


Laser scanners have been used to provide the vast amounts of data needed to map
indoor environments. The scanner is subsequently used to localize the robot in this a
priori m
ap. Such robots have been successful in accomplishing navigational goals, even
in a highly stochastic environment.
Minerva
, developed by Carnegie Mellon researchers,
has been used to give tours in the Smithsonian.


7

III.

Robot Base Development

A.

Electro
-
Mechanica
l starting point

An existing mobile platform provided a convenient electro
-
mechanical device on
which to base a robot. The platform was built by Quest Technologies as a powered
wheelchair with a stair climbing capability. The reliability provided by an e
xisting
design far outweighed the difficulty of grafting a new computer control system onto the
original electronics.

1.

Access


坨敥汣桡楲

Quest Technologies built the Access


powered wheelchair to provide powered
wheelchair users with the freedom of full a
ccess to locations previously inaccessible due
to lack of an elevator. This wheelchair employed both wheels and tracks, and included
numerous sensors and actuators.


16 Joystick

212 Tread

214 Seat

222 Seat actuator

226 Front sonar

228 Rear sonar

230 F
ront easy down arm

232 Rear easy down arm

238 Front oil filled damper

240 Rear oil filled damper

254 Track/wheel select actuator





Figure
1

Access


坨敥汣桡楲


8

The chair’s occupant was able to select wheel mode or track mode, th
ough the
onboard microprocessor, using input from various sensors, could prevent use of the wheel
mode if the presence of a staircase was detected. Assuming the occupant drove the
wheelchair to the top or bottom of a staircase, and then selected track mod
e, the
wheelchair could be driven onto the staircase using normal joystick commands. The
chair automatically leveled the occupant’s seat, and also activated special hydraulic arms
(easy downs) which eased the transition from the level attitude of normal g
round
operation to the pitch down attitude of the staircase (the chair was designed to always
face down the stairs, regardless of the direction of motion). These actions relied on a
system of ultrasonic sensors, limit switches, and clinometers.

As the whe
elchair was driven onto a staircase in order to descend, and the dropoff
of the first wheel was detected, the front mounted easy down was released so that it could
rest on the top one or two steps of the staircase. As the wheelchair progressed forward,
an
d its center of gravity passed over the topmost riser, the vehicle would rotate forward,
putting its weight on the easy down. Since this arm was supported be an oil filled
cylinder, the easy down would dampen the rotation of the vehicle, allowing it to se
ttle
smoothly until the tracks rested firmly on the stairs.


Figure
2

Front Easy Down Operation

The tracks themselves run the length of the wheelchair, approximately one meter,
so they are long enoug
h to span three or four steps, creating a stable base. Furthermore,

9

they have large transverse ridges that catch on the stair treads, preventing the tracks from
simply sliding down the staircase. The tracks are separated laterally be 64cm.

In order to cl
imb a staircase, the user simply backs up to the staircase and drives
onto them in a normal sense, although moving backward. The tracks will catch the stair
treads and the wheelchair will pitch downward as it pulls itself up the stairs. Rear facing
senso
rs scan for the topmost step, and a rear mounted easy down is deployed. Like its
front counterpart, it rest on the ground and an oil filled cylinder provides cushioning
support as the wheelchair advances past the top step and rotates to rest on level grou
nd.


Figure
3

Rear Easy Down Operation

One additional actuator is used in this transitioning system to retract the easy
down arms into their cradles. A single actuator is used to retract both arms.

2.

R
obot Configuration


This thesis focused on the automation of the stairclimbing task, so the wheelchair
seat was removed. It could easily be replaced in order to investigate the application of
this autonomous stairclimbing algorithm to the development of a
ssistive devices.


The original microprocessor that controlled the wheelchair was deemed unusable.
Replacement parts for it’s electronics were scarce, and it’s control algorithms were so
embedded that integration with an outside system seemed overly compl
icated. This
circuit board was therefore removed, along with the ultrasonic sensors it employed and
associated wiring.


10

Once stripped of unwanted components, the wheelchair was reborn as a robot
consisting of a mobile chassis with the capability to switch
between tracked and wheeled
motion. The robot base also included the easy down components from the original
design. Finally, the actuator used to tilt the seat was left in place to gimbal the laser
scanner. The power amplifiers, batteries, power supplie
s, and sensor harness were all
used in their original configuration.


Figure
4

Robot Base Configuration

Lola

has a mass of approximately 150 kg. The dynamics of the vehi
cle are
drastically different, depending on the mode.

The motors have moderate control power when using wheels, and suffer from a
great amount of friction in the system. This results in a large dead zone in the control
band. That is, small control sign
als, either forward or reverse, do not produce any
movement if the vehicle is stationary, and impart little acceleration when the vehicle is
moving. This hysteresis diminished the controllability of the vehicle. In addition, while
the rear wheels are dri
ven, the front wheels float freely on casters. This can produce
arbitrary torques on the vehicle. These effects make it difficult to move along a straight
line, especially when starting to move.


11

No such arbitrary torques exist when the robot is in track
mode, so this mode is
desirable for precise maneuvering. Furthermore, the tracks are geared much lower than
the wheels, so the motors have more effective torque to apply to the vehicle. Still, large
velocities, especially yaw rates, must be avoided since

the motor amplifiers cannot supply
enough counter torque to stop the vehicles movement. These dynamic considerations
will necessitate careful design of the control laws outlined in Chapter IV, section C.

B.

Control Electronics

A digital control board was de
veloped to integrate the robot base with a high level
control computer. This board utilizes two micro
-
controllers, and logic circuitry to control
all the functions of the robot chassis including motion, laser gimballing, attitude
transition, and selection

of tracked or wheeled modes. The board also decodes motion
feedback from the robot’s encoders. In addition, this board provides power for a digital
compass and clinometer unit.

The control board also interfaces with a personal computer through a simple
serial
protocol. This allows a division of labor between all the computer systems involved in
the robot. The control board ensures the proper state of all
Lola’s

mechanical
components.


12


Figure
5

Control Board

The STAMP microcontroller was chosen for these low level control functions.
Manufactured by Parrallax Inc., the STAMP is based on a PIC16 chip, and provides
simple BASIC programming, 16 highly configurable input/ou
tput pins, and robust
electronic performance. The version used, the STAMP BS2
-
SX, runs at 10,000
operations per second, and can run programs up to 2 kB in size. Two units were used to
handle the various functions associated with operating the robot chass
is.

A third microcontroller, the simpler BS1, was used to interface with an analog to
digital converter. Three dual channel converters, and the communications link to the
master microcontroller, employ six of the eight ports on this simple device.

Final
ly, the control board switches the robot power supplies. The simple circuit
controls the high power relay on board the stock wheelchair power supply, which in turn

13

supplies stable voltages to the control board circuitry, as well as powering up the robot’
s
power amplifiers. The circuit includes a large pushbutton for emergency shutdown.

The schematic for the control board, and program code for each STAMP are
included in the appendices.

C.

Control Board Communications

The control board receives a command pa
cket from a high level control computer
and returns a report packet including vehicle status and sensor feedback. Internally, the
STAMPs communicate with each other using their dedicated serial ports. The STAMP
computer is purely sequential, with neither

buffering nor interrupt capabilities. As a
result, proper communication is ensured through strict sequencing of communications
events. This prearranged sequence takes advantage of the STAMP’s ability to wait for
serial input, ensuring that, for example,

the slave listens while the master is sending, and
the roles are only reversed when the first task has been completed. This sequence is also
designed to ensure that, in the event of a communications failure, the slave will hold at
the beginning of the se
quence, allowing the master to recover and reestablish
communications once it returns to its corresponding place in the communications
sequence. Similarly, the master will pause execution until the command packet is
received from the high level computer.

This allows the PC to ensure that all components
in the integrated system maintain a consistent control loop cycle time of approximately
100 milliseconds. This allows the motor signals to be updated frequently enough to
provide smooth and controllable m
otion. In some control modes, this communication
speed is also needed to provide the PC with motion feedback data at a fast enough rate to
close the control loop.


14


Each controller is responsible for some critical functions, however. Therefore the
timeout

feature of the serial input function is used. This ensures that the Stamp will not
wait long before continuing to execute its sequence, albeit in an error mode. Such a
scenario allows it to carry out any time critical operations before resuming its wait

for
serial input.

Execution
time (ms)

PC

Master Stamp

Slave

Analog

4

Issue Command

Receive Command (150)*



1


Error Checking



1


Poll ADC STAMP


Wait for request (

)*

1


Receive Analog Data (30)*


Send analog data

24


Send Packet to Slave

Rec
eive packet (150)*

Measure analog values

6


Tracks

Error Checking


1


Easy downs

Move Seat


1


Wheels

Measure Encoder / reset


16

Receive Report


Report to PC


* Length of timeout (ms)

Table
1

Control Board Program Sequenc
e

D.

High level computer platform

The robot base described in this chapter is intended to function as an object in the
integrated robotic system. Other similar platforms could potentially be substituted
without significant redesign of the higher level system

components. Conversely, this
base could be used with another implementation of the higher level function. Though
this chapter details this robot base, a brief description of the high level controller is given
here.

A laptop personal computer was chosen

to provide high level control, coordinate
the sensors, and communicate with a ground station. A 300 MHz processor was
employed, running Microsoft Windows 98. Borland C++ Builder Pro v.4 was used to
develop the software.

The integration of this compute
r, and the functions it performed, is described in
chapter IV.


15

E.

Sensor Suite

A sensor suite was installed on the robot chassis that could provide reliable
information about the state of the vehicle. The control and navigation algorithms depend
on this data

to make intelligent and timely decisions. The sensor data are integrated
together by the on board computer.

1.

Encoders

The original wheelchair platform included encoders mounted on the drive motors.
These devices, Renco model 8909 76081
-
001, allow the mov
ement of either the wheels
or the tracks to be precisely monitored. The quadrature outputs are interpreted by
dedicated decoders on the control board. The STAMP microcontrollers read this data
every cycle, and the reset the decoder counters. Thus the re
sult is the velocity of each
drive wheel. The control computer packages this data and relays it to the high level
computer.

The drive mechanism is heavily geared, and this ratio changes depending on the
drive mode, either wheels or tracks. The encoder
counts approximately 128 ticks per
centimeter of wheel travel, and 1140 ticks per centimeter of track travel. The decoder
chips, which are reset approximately ten times every second, have sixteen bit counters
and are therefore reliable for any reasonable
speed the robot might encounter.

2.

Compass

A three
-
axis magnetic flux device is used to calculate the attitude of the robot.
Heading, pitch, and roll are output serially from this device, a Honeywell HMR
-
3000, to
the high level computer. The connectors for

the device are mounted on the control board,

16

which provides a convenient source of power. The asynchronous data was most easily
decoded using the packet recognition feature of the Borland programming environment.
The high level computer decodes the mess
age, and acts according to the data.

The compass performance is hindered by the adverse magnetic environment of
the robot. The chassis has many heavy steel components and motor mounts, and worse,
the electromagnetic fields of running motors. The brakes a
lone cause the compass to
move back and forth three degrees as they come on and off.

In addition, the robot frequently encounters areas of significant magnetic
disturbance. Doorways, steel handrails, light poles, and power transformers can be
present in t
he area of the robot’s activity.

The Honeywell compass can be calibrated for local hard iron, but thus procedure
never yielded satisfactory results. The only solution to the problem of electromagnetic
fields was to mount the sensor high above such distur
bances. This mitigated, but did not
eliminate, the inaccuracy associated with the problem.



Figure
6

Compass Mounting



The second source of error, environmental anomalies, is less easily solved. Such
magnetic variations could p
erhaps be mapped a priori. The map could be used to correct
the heading data based on geographic position data , but this data is hard enough to come
by without depending on it for heading data. Instead, the robot must learn to recognize

17

when the compass

is providing erroneous data, and look to other sources. See section 5
-
3
for discussion of sensor redundancy and error correction.

3.

Infrared Range Finders

As the robot generally moves forward, the rear of the robot is an area of little
concern with respect

to navigation. The most notable exception to this occurs when the
robot is negotiating up a flight of stairs. Prior to climbing, the laser scanner can image
the staircase to obtain data on the location of the top of the flight. However, it cannot
monit
or the robots movement up the stairs because the stairclimbing chassis is designed
to always face down the stairs, even when moving upward. Furthermore, the rear easy
down mechanism must be lowered only just before the robot rotates, transitioning from
st
airclimbing to normal, horizontal mode. This is primarily because the rear easy down
can catch the risers, interfering with backwards motion while on a staircase. An auxiliary
device is therefore needed to sense when the transition is about to occur. Th
at is, a sensor
must maintain a watch for the lack of stairs behind the robot, indicating that the robot has
reached the top of the stairs and must release the easy down.

A pair of infrared range finders were mounted on the rear of the robot for this
pur
pose. They send out a continuous light beam and measure the distance to whatever
object reflects it back to the device. Manufactured by Sharp, these GP2D12 sensors
output an analog voltage corresponding to the range. They are mounted in such a way
that
the first unit scans horizontally, and will return a large distance measurement when
the beam, and the robot, clear the last riser in the staircase. The second unit scans
vertically, when the robot is pitched forward on the staircase, and will begin to re
ad an

18

increasing distance as the rear of the robot rises above the ground level. Figure 12
depicts this procedure.


Vertical

Sensor

Horizontal

Sensor


Figure
7

Rear Infrared Rangefinder Placement

An additional pair of sensors in mounted u
nder the front lip of the root deck plate.
These scan directly down, usually sensing the ground. When advancing toward to top of
a flight of stairs, these indicate exactly the location and orientation of the top step.

These sensors have a range of eighty
centimeters, and are roughly linear on a log
-
log basis down to eight centimeters as shown below. At a range less then eight
centimeters, however, the sensitivity switches sign. Since the output function is not
entirely single valued, the devices were mo
unted in such a way as to prevent any obstacle
from getting with range of the undesirable portion of the curve. The front sensors, for
example, were mounted in a cavity up under the deck. This way, they are never less than
eight centimeters away from any

target. The rear sensors were mounted in a similar
fashion.






19

Though a twelve bit analog to digital converter was used, only eight bits are
needed. Since a five volt reference was used by the converter, the expression inside the
logarithm of the foll
owing function represents the numerical value received from the
control board.






0873
.
8
256
ln
*
1959
.
1
exp
5




V
Voltage
Range

(1)



Figure
8
: Infrared Sensor output function




The signal is converted into a synchronous
serial data packet by an

analog to digital converter,
which is then read by the BS1 Stamp microcontroller. The four channels of data are
packaged together, 8 bits per channel, and sent upon request to the master STAMP.

4.

Laser Scanner



The goal of autonomous navigation in an un
controlled environment required
knowledge of obstacles surrounding the robot. In addition, information about terrain
features would allow the robot to predict its own vehicle state throughout its planned
path.


A laser scanner was chosen to collect a com
plete set of range to obstacle data for
the robot’s surrounding environment. A scanner with a maximum scan rate of ten hertz
was found, manufactured by SICK Inc. An infrared, eye
-
safe laser, scans a half circle,
and is mounted on a gimbal that allows it
to tilt up and down. The tilting actuator used

20

for this is stock on the wheelchair base, and can position the original seat column with an
accuracy of two degrees. A simple bar linkage was connected between the seat column
and the scanner gimbal mount.
Tilting speed is sufficient to measure the quarter sphere
in front of the robot in about three seconds.


Linkage

Original

Seat

Actuator


Figure
9

Laser Tilt Mechanism

The data is sent serially at 38,400 baud to the high level computer
. Operating at
any higher data rate ties up the serial communications card on the laptop, and would
require a dedicated interrupt. The laser measures range has one centimeter accuracy and
a range from zero to eighty meters. This gives the scanner suffic
ient resolution to make
decisions concerning the safe path between or around obstacles. The range is also
sufficient to detect a moving target that may be on a collision course.


5.

Differential Global Positioning System

The primary capability required of the

robot, safely navigating to a commanded
location, requires a precise knowledge of the locations of both the goal and the rover.

21

This necessitates an off
-
board system that provides precise, earth fixed position data.
The global positioning system (GPS) o
perated by the United States government, provides
such a means of position sensing. This system utilizes two dozen satellites, in precisely
measured high earth orbits, that transmit their own position information, and the current
time. Receivers can use
this information to calculate their own range to each satellite,
and then triangulate their own position in three dimensions with respect to the satellite.
Calculation of an earth referenced position is then straightforward. Various sources of
error in
this system, all associated with the time of travel calculations for the satellite
broadcast signal, result in a standard deviation error of approximately 10
-
40 meters. This
is known as the circular error probable (CEP). Precise navigation for ground mob
ile
robots requires much better accuracy than this in order to, for example, stay on the
sidewalk.

A technique for augmenting this system is called differential global positioning,
know as DGPS. This requires the use of an additional receiver that is immo
bile, and of
known geographic location. Incoming satellite signals, and specifically the calculated
ranges to satellite vehicle (SV), are compared to those calculated from the two known
positions, those of the fixed receiver and the satellite. The differ
ence in these ranges is
primarily a function of geographic location and are fairly constant over a wide area,
typically of a twenty kilometer radius (commonly referred to as the baseline). Therefore,
this error data can be transmitted to the mobile receiv
er, and used to eliminate the error at
its location as well, reducing the CEP to on the order of centimeters. The signal
processing, and position calculations, are performed by dedicated receiver packages
consisting of a mast mounted antenna and a process
or unit.


22

The G12 receiver from Ashtech was chosen for the rover. The antenna was
mounted on a wooden mast well above the body of the rover. Such a mounting prevented
signals from being corrupted by the dense body of the robot. The receiver commonly
r
eports satellite signals from six vehicles.

A receiver from Novatel, the GPSCard, had previously been installed at the
Department of Aerospace and Mechanical Engineering at the University of Oklahoma for
the Intelligent Controls Laboratory. This antenna
is mounted on the roof of the
department building, and commonly provides psuedorange corrections for ten to twelve
satellites at any time.

These corrections are sent continuously, at a one hertz update rate, to a Windows
NT server. The robot’s ground st
ation computer can log into this server and receive
broadcasts as soon as the GPSCard makes the corrections available. They are then
relayed to the high level computer on board the rover through the common wireless data
link. Finally the computer conveys
the corrections to the Ashtech receiver where they are
automatically integrated into the location calculation.

IV.

Central Robotic processor

A.

Platform

A laptop personal computer was chosen as the high level controller platform
because of the ease with which i
t could be integrated and upgraded. The 300 MHz
processor provided plenty of computational capacity, and the graphical user interface
facilitated the development of the high level control algorithms. The laptop also
interfaced easily with the many serial

devices in the robot base.


23

B.

Software Development

All the high level control software was developed in the Borland C++ Builder
environment. Many graphical interface tools are automated in this development
package, which made it simple to display the robot
’s status to the operator. Such a
display was essential for safe operation of the robot, especially during the design of the
autonomy algorithms.

In addition, the Borland C++ Builder code is event driven, with sections of code
being executed whenever cert
ain events occur. The robot thus responds to
communications events, timers, and user inputs. Furthermore, high level processes can
use the same controls to which users have access through the graphical interface. This
environment allowed the research in

this thesis to focus on the development of
autonomous algorithms, rather than software implementation issues.

The program consisted of two modules. The first implemented communications
with the low level control board, and displayed all the status indica
tors for the robot base.
Sensor data were also decoded in this module, and displayed graphically.
Communications with the ground station were implemented here. Lastly, this module
allowed an operator to manually control all the actuators on the robot.


24


Figure
10

On board graphical user interface for low level robot control


The Joystick allows the user to drive the robot directly. The Stop button below
the actua
tor immediately stops the motors and sets the brakes. All running autonomy
algorithms are interrupted. The Actuator section allows the user to deploy and retract the
easy downs, change drive mode, and tilt the laser scanner. These controls include
indic
ators of both the commanded state and the measured state. The infrared rangefinder
readings are displayed here in centimeters. They change color when ranges meet stair
detection criteria.


25


The Communications section indicates the status of all the seria
l communications
controlled by the high level computer. Data received and transmitted lights flicker when
the line is active. Error checking of communications with the low level control board is
monitored next to the Stamp indicator lights. The checksum

values are shown, and will
light up when errors occur. This is extremely useful in diagnosing communications
problems.


The Sensor section allows communications with different sensors to be toggled on
and off. The LaserScan section displays laser range
data, and allows the user to control
sample rates and analysis modes. The Position and Attitude sections display the current
pose of the robot. The roll indicator in this section lights up to indicate dangerous roll
conditions, and the roll controller si
gnal is displayed here. The roll controller can be
toggled on and off.


Lastly, low level control modes can be selected manually in this module.
Selecting heading control, for instance, gives the heading controller jurisdiction over the
turn signal. Se
lecting position control will automatically also select heading control, and
will also take over the speed signal.

The second module displayed information concerning the autonomous functions
of the robot. The heading controller and position controller wer
e both implemented in
this second module, with displays for the user. This modules also controls the execution
of scripted sequences of tasks, with an input box for the user.


26


Figure
11

On board graphical interface for high level control functions.


The virtual compass on the top of the screen displays the current heading. The
heading controller command shows up as an yellow arrow which turns olive if opposite
the

current heading. The command can be moved using the arrows below the compass,
and can be set directly opposite the current heading using the AboutFace button. Either
the compass or the encoder dead reckoning can be chosen as the source for current
headi
ng information. Yaw rate information is derived from the encoders and is displayed
as a horizontal yellow line at the bottom of the virtual compass.


A map is displayed with landmarks and a depiction of
Lola’s

position and
heading. The differential base
station is shown for reference, and pulses when satellite
correction data arrives from the ground station. Pan and zoom controls allow the user to
see the situation clearly.


27


The Script section allows the user to type in a scripted set of high level
comma
nds. Certain commands can be entered quickly using the buttons at the right.
Commands can also be deleted or moved. The execute button begins execution of the
script, with the currently executing item highlighted by capital letters. Items are deleted
o
nce accomplished. Right clicking on the text box allows the user to save the script to a
file named
felgar.pln
, or to load that file.


Another section, not shown above, can replace the Script box and will show laser
data on an XZ plot. That is, range and

elevation of obstacle directly ahead of Lola will
appear here. This allows the user to monitor the verification of the staircase used in the
ascent sequence.

C.

Low Level Controls

Simple closed loop controllers were implemented which reside on the high leve
l
control computer, but are transparent to high level routines such as obstacle avoidance or
stair sequencing (or even teleoperation) When switched on, they take at least partial
control of the robot in order to achieve the commanded state.

1.

Motor Controll
er

A filter was implemented in the master microcontroller that limits acceleration
both longitudinally and in yaw. This has the effect of filtering the power signal to each
wheel. Such filtering is necessary to protect the power amplifier from back surge
s,
especially when the control signal changes sign.

The implementation of this filter simply limited the slew per cycle of the control
signal to 4% of the total signal range.


28

2.

Heading Controller

The most useful controller closes the loop on vehicle heading.

This frees the
command source, either a human operator or a high level computer, to focus attention on
general navigation, as opposed to the more taxing task of holding an unsteady dynamic
vehicle on a straight course. The controller used different pa
rameters, depending on
drive mode, i.e. either wheels or tracks.

A fuzzy controller was implemented that used heading error and yaw rate to calculate the
turn rate signal. Fuzzy heading error was defined by simple triangular functions that
represent the h
euristic concepts of zero (Z), small (S), medium (M) and large (L), as well
as positive (P) and negative (N). Yaw rate was similarly defined, though only zero,
small, and medium were used.


NL NM NS Z PS PM PL

NM

NS Z
PS PM

0

1

-
90

-
60

-
30

0

30

60

90

Heading Error (deg)

0

1

-
60

-
40

-
20

0

20

40

60

Yaw Rate (deg/s)


Figure
12

Hea
ding Controller Fuzzy Definitions

Turn control signals were defined using crisp values, which make the calculations
considerably easier. The resulting signal is fed to the low level control board, the units
being the hexadecimal equivalent of percent.


29

Tur
n control
fuzzy value


NL

NM

NS

ZZ

PS

PM

PL

Motor control
signal (~%)

-
95

-
65

-
40

0

40

65

95

Table
2

Fuzzy Turn Control Definition

Fuzzy control rules were chosen based on experience with manually driving the
robot.


NM

NS

ZZ

P
S

PM

YawRate


HdgError


NL

NL

NL

NL

NL


NL


NM

NL

NL

NL

NL


NM


NS

NM

NL

NM

NL


NS


PM

PS

ZZ

NS

NM


ZZ


PL

PM

PL

PM

PS


PS


PL

PL

PL

PL

PM


PM


PL

PL

PL

PL

PL


PL

Turn Control Signal Implication


Table 3 He
ading Controller Fuzzy Rules

The turning control signal was calculated with the standard center of gravity
method.









i
j
Fuzzy
j
Fuzzy
i
i
j
Fuzzy
j
Fuzzy
i
j
i
YawRate
HdgError
YawRate
HdgError
Rule
TurnSignal
,

(2)

The heading controller operates at 10 Hz, matching the cycle rate of the
microcontroll
er board.

3.

Roll Controller

A low level controller to mitigate vehicle roll was also designed. Like the other
low level controllers, it operates transparent to upper level routines. This prevents the
robot from continuing along a path that would threaten

a tipover. If the vehicle were to
be angled more than forty five degrees from facing directly down the stairs, the roll angle
could become such that the center of gravity would no longer be above the robot’s

30

footprint, and it would tumble over. Furtherm
ore, at such an angle the lower tread could
hang up on the stairs, or both treads could sideslip. Either event might result in a
dangerous drop down the staircase. The traction provided by the transverse ridges of the
treads depends on the vehicle facing

approximately downward.

By default, the commanded roll is zero. The feedback therefore produces a turn
control signal that tends to force a the vehicle to a level position with respect to the lateral
axis. This is most useful when the robot is negotiat
ing a staircase. The upper level
navigation routines can thus be forgiven a certain amount of error in pointing the robot
directly up or down a staircase. This is especially effective for the climbing routine
where the robot must back up to the base of t
he stairs, without the benefit of the laser
scanner.


-
50

-
25

25

50

-
30

-
20

-
10

0

10

20

30

Roll Angle
(degrees)


TurnControl


Figure
13

Roll Controller Law


4.

Position controller

A controller was also designed that takes full control of the robots motion to
position the robot
at a set geographic goal. This controller requires knowledge of the
robot’s current position, either from GPS or encoder
-
based dead reckoning calculations.
The resulting position error is used to calculate both a heading to the goal and distance to

31

the g
oal. The heading result is passed on to the heading controller, and the position
controller calculates an appropriate forward, or backward, speed. This is primarily based
on the bearing to the goal (i.e. error between current heading and commanded headin
g),
but also on distance. The distance to goal threshold for declaring success is one half
meter, so the robot halts once this has been achieved.



Figure
14

Position controller speed law




The position controller operates at 4

Hz.

5.

Easy Down Controller

The release of the rear easy down mechanism was also implemented as a
transparent, low level control. The measurements from the rear mounted infrared
rangefinders are monitored for signs that the robot has cleared the top step o
f a stair case.
This is evident when the horizontally mounted sensor fails to detect a stair riser, and the
downward looking infrared subsequently measures the sensor to be 20 centimeters or
more above the ground. This was experimentally determined to be

the ideal situation for
the easy down release, not long before the robot will fall back onto level ground.

>24 cm

> 50cm


Figure
15

Rear Easy Down Controller Sensor Setup





Distance > 1m





/





__ Distance > 0.5m








-
100

0

100

-
180

-
120

-
60

0

60

120

180

Heading Error

Speed


32

The front easy down, needed as
Lola

descen
ds a staircase, is primarily controlled
by the descent seqence described in chapter VI. However, an emergency controller was
added to provide security in case the robot happens unexpectedly onto a staircase. The
two infrared rangefinders mounted under th
e front deck, immediately prior to a transition
onto a staircase, would measure ranges greater than one step. Thus a simple rule was
implemented to release the front easy down if both IR sensors in front measure distances
greater than 35 cm.

D.

Communication
s

1.

Hardware and Software

Reliable and efficient data communications were crucial to the integration of the
numerous systems involved in the robot. Numerous sensors, all sending data serially,
provide information that is needed as quickly as possible. Th
e two communication hubs,
primarily the high level computer, secondarily the control board microcontrollers, possess
robust and simple serial ports.

Each of the seventeen ports on the STAMP can be configured as a serial port,
with a maximum throughput of 1
9,200 baud. These ports are not buffered, and cannot
interrupt the program sequence when a data stream is detected, but they are able to wait
for a data packet that matches certain parameters. The most reliable parameter to use is
an initial character st
ring that identifies the start of a packet. Alternatively, the program
can simply wait for a prearranged number of characters. This works well when the
master STAMP has issued a request for data from its communication partner, such as the
analog measurem
ent controller.


33

A PCMCIA card was used as the communications hub hardware of the high level
computer, providing four high speed serial ports with a maximum throughput of 115
kBaud each. This configuration allows any computer with an available card slot to

serve
as the communications hub. The laptop personal computer chosen as the high level
control platform was sufficient. An alternative would be a PC104 computer with a card
slot module.

The laptop software was developed using Borland C++ Builder 4. Th
is package,
along with a communications add
-
on package called Async Professional, by TurboPower,
is extremely simple and efficient for programming applications involving multiple serial
data streams. Various types of data packets fired code that parsed an
d transformed the
information, and responded if neccessary.

The communication link between the robot high level computer and the ground
station was implemented with a wireless serial port, from Freewave Technologies. This
unit has a maximum data throughpu
t of 115 kBaud, and is advertised to provide a twenty
kilometer range. The wireless capability is transparent to the computers on either end,
which can operate at different baud rates.

This communication link is crucial for transmission of GPS correction
data to the
rover. It is also needed to allow the human operator to send high level commands such as
destination goal to the robot. The communications traffic over this link also includes
possible teleoperation commands, as well as feedback from all the
sensors on board the
robot in order for the operator to monitor the system. Position and attitude packets, laser
scans, and vehicle status reports are all forwarded by the on board computer to the ground
station.


34

The GPS correction data is broadcast from
the NT based server over the Internet.
Any ground station can log into this machine, providing a password for security, and
request a single correction packet, or request continuous broadcasts.

2.

Logical structure

All data transmitted to either the ground

station, the DGPS server, or the high
level computer were packaged with a header string and a tail string. These bookends
made it extremely simple to recognize the packets, and direct them to the appropriate
software process. The programs on these compu
ters were written to be entirely event
driven. With regard to communications, this meant that receipt of a packet that included
a header and tail which matched prearranged strings fired a piece of code that used the
data and/or forwarded it along its requ
ired path.

Each type of data packet had its own internal structure. The laser scan packet was
of fixed length, with the majority of the message consisting of byte pairs containing range
data. This data included 2 bits pertaining to the quality of the m
easurement, and 14 bit of
range data. Additional data indicated what units of measure were used in the range
calculation.

The high level computer stripped off these additional data, added a header
and tail to the remaining range data, and sent the new pa
cket to the ground station for the
operators viewing.

The GPS receiver sent its data using readable characters. Its packet included
information such as the time of the week in seconds, whether differential corrections
were being used, geographic position
data in degrees and minutes. These characters were
parsed and assembled into floating point values, which were then used to calculate

35

Cartesian values for position information, referenced to the location of the differential
base antenna.

The data sent f
rom the high level computer to the low level control board
consisted of commands concerning actuators positions and robot motion. Robot motion
information consisted of the commanded forward speed and turning rate. Special
commands could also be included
concerning emergency shutdown. Data sent in the
reverse direction consisted of reports about actuator status, vehicle motion and
rangefinder data. They also included reports about communication errors, either with the
previous receipt of commands, or be
tween the master and slave microcontroller. The
filtered motion signals calculated by the feedback controller were also reported, as a way
of monitoring the feedback controllers during their design process.

Tables 3,4, and 5 show the structure of the low
level communications packets.
The meaning of the data is indicated in the last row of each table. The meaning of single
bit data is given for the logical true and false state, respectively. The easy down position
reports in Table 4 and 5 use two bits.

The meaning description corresponds to states 10,
01, and 00, respectively. Byte and word sized data have conventional units.

Five bits are unused in the PC Command Packet, and are available for special
messages. The next four items in Table 3 contain a
ctuator position commands, which the
control board attempts to satisfy. The easy downs have three positions: fully out, near
(<10 degrees), or fully retracted. The last two items command the speed and yaw rates.
Longitudinally, 1 corresponds to full re
verse, 128 corresponds to idle, and 254
corresponds to full forward. Laterally, 1 corresponds to full right, 128 corresponds to
equal motor speeds for left and right, and 254 corresponds to full left turning.


36

description

Msg

TrkPos

FEZPos

REZPos

StPos

S
peed

Turn

Total

# bits

5

1

1

1

8

8

8

5*


meaning


Up/dn

In/out

In/out



1
-
㈵2


1
-
㈵2


Table
3

PC Command packet

The first item in Table 4 is a record of any error that the master experienced in
receiving the PC Command packet.

The master slave records the position of the brake,
and easy downs, and whether or not the wheel mode is in the process of being changed
(TrkLim). The laser position (StPos) is also passed to the slave unchanged. The filtered
motion commands are also pa
ckaged, and use the same units as the original commands.
Also recorded are 6 channels of analog data, with the voltage resolution indicated. One
of the analog channels corresponds to the seat position.

Descript.

Error

BrkPos

TrkLim

FEZPos

REZPos

StPos

Mo
tors

Analog

Total

# bits

1

1

1

2

2

8

16

48

11*

meaning

OK/Err

On/off

Lmt/mv

Out/nr/in

Out/nr/in



1
-
㈵2

Bytes


Table
4

Inter
-
Stamp packet


The slave passes the information in the Inter
-
Stamp packet to the laptop
unchanged except
for the laser position data and the addition of encoder data. The StPos
byte is changed to reflect the actual position of the laser, and the corresponding analog
data channel is discarded. The slave performs this conversion. The encoder data is
appended

to the packet, one word (two bytes) for each side. An error bit is added to the
first byte in the packet, filling it. This reflects any errors in communication between the
master and slave.


Error

Error

BrkPos

TrkLim

FEZPos

REZPos

LsrPos

Motors

Analog

E
ncoder

Total

1

1

1

1

2

2

8

16

40

16*2

15*

Ok/Err


On/off

Lmt/mv

Out/nr/in

Out/nr/in



1
-
㈵2

㈰浖


瑩ck


Table
5

Stamp Report packet

* given in bytes, includes checksum byte


37

3.

Error Checking

All data packets between the control boa
rd and high level computer, as well as
between the two microcontrollers, included a checksum byte. This was calculated by
XORing all the bytes in the data packet together, except for any header and tail strings.
The sending party calculated the checksum
for the packet to be sent, and tacked this onto
the end of the packet. The receiving party could then calculate a checksum value for
whatever data it actually received, compare it to the checksum included in the packet, and
make a decision about whether o
r not the data had been corrupted in the communications
sequence. This setup ensures, with reasonable certainty, that false commands which
could possibly damage the robot are not processed.

V.

Data Integration

An intelligent system relies heavily on an accur
ate knowledge of both the
environment and the current vehicle state. Therefore, a sensor suite is required that is
more complete than would be necessary for the simplest control scheme. This presents
the challenge of integrating the data gathered into a
single, consistent picture of the state
of affairs at any time. Especially challenging is the desire for the system to be robust,
able to compensate for the loss or inaccuracy of a sensor.

A.

Coordinate Systems

Two different reference frames are used through
out the robot system. The first is
a Cartesian coordinate system affixed to the body of the robot, and has as its origin the
midpoint of the drive wheels. This eliminates the coupling of heading and position, since

38

the robot can be rotated around this po
int without changing position. All the sensor data
are transformed to this coordinate system.

Similar to an classical aerospace coordinate system, the X axis points forward.
Since this is a ground based system though, the traditional aerospace system w
as rotated
so that the Z axis is positive upward, leaving the Y axis, to point to the port side (the
starboard wing of an airplane is usually positive). The upward nature of this Z axis
makes discussion of the ground location, as well as stairway angles,
more intuitive. This
presents some confusion however, in that positive yaw is no longer consistent with
positive heading change with respect to the compass rose.

The second reference system is earth fixed and also Cartesian, and has the
differential base
GPS antenna as its origin. The XX axis points east, the YY axis points
north, and the ZZ axis, of course, points upwards.

ZZ
(
-
gravity)

Z

X

Y

XX
(East)

YY
(North)

Pitch

Heading

(reverse of
compass)

Roll

GPS (0,0,Z.gps)

target

LaserMount

(
LaserPivot.X
,0,
LaserPivot.Z
)

L

T ’

T

Reference
Location

Ground
Offset


Figure
16

Coordinate Systems


39

B.

Transformations

The transformation equations fo
r each sensor are oftentimes dependant on other sensors.

1.

Encoders

The encoders return the distance traveled, in centimeters, of each wheel since the last
measurement. This is transformed to body coordinates, yielding speed in the direction of
the robot’s

heading, and yaw rate.










100
2
Speed
RightWheel
peed
LeftWheelS
Speed
(in meters per cycle)
(3)









WheelBase
Speed
RightWheel
peed
LeftWheelS
Yaw

(in radians)




(4)


where
WheelBase
is 0.43m on wheels and 0.65m on tracks.

The encoder data i
s further used to estimate the robots absolute position using dead
reckoning. Based on the an initial position, this is the only directly available position
information when GPS is not functioning.

Yaw
Heading
Heading
Heading
Speed
YY
YY
Heading
Speed
XX
XX








)
cos(
)
sin(

(5)

2.

Compass

The compa
ss directly measures the orientation of the body fixed reference system
with respect to a local earth fixed reference frame.

The data is run through an infinite impulse reponse filter to reduce spurious noise.
































*
1
75
.
0
25
.
0
z


*


is preadjusted

by 180


if


>180




(6)


40

Z


X


Y


y’






target

z’


x’


origin pictured at laser pivot



LaserOffset.Z’

x’


LaserOffset.X’

3.

Laser Scanner

The laser scanner returns a data set consisting of the range in centimeters to any
obstacle from the center of the scanner. The attitude of the scanner itself is measured,
and the azimuth of each range measurement

is inferred from the measurement index.
This allows the range data to be transformedinto body fixed Cartesian coordinates.

Pitch and roll information from the magnetic

compass allows this data to be further

transformed to a quasi earth fixed coordinat
e


system. That is, heading is not taken into


account, so the data represents the topography


of the environment from the viewpoint along


the robot’s heading.

Figure
17

Laser Scanner Coordinates














t
GroundOffe
LaserPivot
LaserPivot
L
Z
X
0







(7
)

Position of laser mount w.r.t point on ground beneath reference location


































cos
sin
cos
sin
sin
cos
cos
'
'
'
'
'
Z
X
Z
X
t
LaserOffse
t
LaserOffse
Range
Range
t
LaserOffse
t
LaserOffse
Range
T


(8)

Target position in body based frame (X,Y,Z):



L
T
T


























'
cos
0
sin
0
1
0
sin
0
cos
cos
sin
0
sin
cos
0
0
0
1












(9)

Target position in earth based frame (XX,YY,ZZ):


41

4.

GPS

The GPS antenna was mou
nted above the robot’s center of rotation. This
simplifies the transformation from the antenna position to that of the robot reference
point.

The GPS receiver returns the position of the antenna in polar coordinates. This
can be transformed to a local
Cartesian reference frame that is centered at the differential
base antenna.





Local
f
Local
Altitude
F
F
m
Radius




2
Re
2
2
sin(
2
1
6378137





(10)

where
25722
.
298
1

F

is the flattening factor



ference
Vehicle
Local
XX
Longitude
Longitude
Radius
Position
Re






(11a)



ference
Vehicle
Local
YY
Latitude
Latitude
Radius
Position
Re







(11b)

ference
Vehicle
XX
Altitude
Altitude
Position
Re








(11c)

The differential base station used at the University of Oklahoma has the geodetic
coordinates: 35.21028060


North , 97.44277309


West, 371.966 m (Altitude)

C.

Sensor Redundancy

The robots position and heading can be calculated from a number of diffe
rent
sources, none of which are perfectly reliable. The compass is subject to magnetic
anomalies present in the environment, and also due to the robot chassis itself. This
heading measurement can be expected to remain somewhere near to the actual value,
but
its uncertainty must be acknowledged.


42

The GPS can also provide information about the robot’s heading, since a change
in position implies motion along the heading axis. However this is only valid over long
distances, due to the jitter in the GPS solu
tion.

The most stable position and heading data come from the encoders, but this
solution can drift over time due to errors.

Various controllers can choose which source they desire for their input of a
certain piece of data based on their purposes. A st
airwell search routine, for instance,
needs to keep track of position and orientation for only a short while, so the more stable
encoder data is used. The position navigation algorithm, however, cannot afford to get
lost, so it primarily uses GPS and comp
ass data.

VI.

Navigation Strategies

A.

Simplistic Approach

Simplistic algorithms were used to implement the stairclimbing capability. The
task was reduced to its fundamental components. Possible aberrations in the environment
or the robot itself were considered

and routines were designed to detect and respond to
them.

As an example, a simple approach to going down stairs is to mimic a blind
person. A blind person, assuming foreknowledge of a nearby staircase, advances slowly
while feeling for the dropoff of the

top step. Having located the top step, the person
gingerly advances over the threshold, determining the steps orientation and feeling for the
next step. The characteristics of the staircases are then clear enough to proceed at a
normal pace, with the on
ly remaining task being to prepare for the end of the staircase.

43

This exact process was used by the robot to negotiate its way down a staircase that is
known to be nearby. The process is described below in section C.

The simplest method of dealing with
the third dimension that staircases present is
to design a set of reaction rules that reconfigure the robot to be able the negotiate the
steps and the transition from horizontal motion to stairclimbing. Then, the fundamental
motion toward the destination
could continue as normal.

The first part of this simple control scheme requires only the measurement of
current position. A classical controller of some kind would form a position error and act
accordingly. This sensing task could potentially be accomp
lished using only encoders as
a dead reckoning setup. A more complete solution would involve an absolute locator
such as the global position system.

The second part of this scheme, dealing with the staircase, requires at least a set of
sensors that can se
nse an obstacle blocking the path, or the onset of a drop
-
off. This task
could be accomplished with only a few ranging devices configured to monitor the space
to the front and rear, both horizontally, as well with a vision cast downward.

It is desired in
this research to pursue a more intelligent and robust layer of
control that can plan ahead, bringing safety and efficiency to the task of climbing stairs.
In order to accomplish this as simply as possible, a minimal sensor set is desired and the
integrati
on of sensing and control is carried out in a modular fashion. Whenever
possible, actuators are made to respond autonomously from higher level planning
functions.


44

B.

Feature recognition

1.

Wall Identification

Data from the laser scanner is used to identify and
characterize features of interest
to the robot. Locating a staircase is the primary function of the laser.

Looking at a staircase from the bottom, the stair treads are not readily noticeable.
It is primarily the stair risers that are scanned by the la
ser, and these appear to be short
walls that are progressively farther away as the scanner is tilted up. In order to find a
staircase, and align to it, the laser looks for the wall like feature of the stair risers.

A detailed chart of the recognition alg
orithm follows this short description.

In order to obtain a scan of one complete stair riser from end to end, uninterrupted
by the tread, the laser is roughly levelled. Starting at the starboard side, a sequence of