You are on page 1of 94

Autonomous Robot Navigation

With The Use Of GPS

Ricardo Faerron Guzmán

A thesis submitted in partial fulfillment

of the requirements for the degree of

BACHELOR OF APPLIED SCIENCE

Supervisor: A.A. Goldenberg

Department of Mechanical and Industrial Engineering


Autonomous Robot Navigation

With The Use Of GPS

Abstract

The development of methods for autonomous navigation of a mobile robot in a real world

environment is one of the major areas of interest for current research. Still there are problems when

facing this challenge, including unstructured environments, moving obstacles and sensor

integration.

This report details an attempt to develop an autonomous robot using only ultrasonic sensors for

sensing the environment and GPS and a digital compass for pose and localization. Also an

algorithm for navigation based on reactive behaviour is presented. The implementation of it was not

fully possible due to the reliability of data gathered from the ultrasonic sensors. Therefore it is

concluded that the use of only ultrasonic sensors for triggering reactive behaviours in an outdoor

environment is not ideal and a different approach needs to be take to solve the problem.
Acknowledgements

The author would like to thank his thesis supervisor, Professor Goldenberg, for allowing for such a

project to be carried out and sparking an interest within the immense field of robotics.

Special thanks are also given to Nicolas Wrathall and Graeme Ashford for taking the time and effort

to share their valuable knowledge. Also, this is extended to Ryan Mantel who was of incredible help

with the construction of the chassis for the robot.


Table of Contents

!
"
# $"
$ %
%& '
% # "
% ($ "
% ($ )
%%
%' * $ " %
%+ $ ,
4. $ " %
' - $ %
' . / 0 %'
+ # " , %1
+ %1
+ '
+ 2# '
+ '
+%& '
+'3 " '
/ $ ''
4 & '
"" 5 6# & '4
7 "$ 1%
List of Figures

/ 62 3 3 +
/ 6 ) - 8 9
/ %68$ # : ; "" 0 $ $ . ) " 1
/ '68 " ) ) " ) $
/ +6 $
/ 6& )$ ( '
/ 46 +
/ 62 2# <=( +
/ 16= 0 = %%
/ 6 $ ) ( 4
/ 6 2# ) () " " ) %
/ 6 2# ) () " " )'' %%
/ %6 ) 0$ " 0 $ : %+
/ '6 ) 0$ " 0 $ 0 %
/ +6/ ) 0$ " 0 $ : %4
/ 6/ 0$ " 0 $ 0 %4
Autonomous robots are machines able to perform tasks without human

intervention. For these robots to be able to interact with its surroundings they must

be programmed to respond to outside stimuli. Often times this stimuli can contain

chaotic and unpredictable variables which make them difficult to model. This is the

reason why many kinds of robots have some degree of autonomy, while complete

autonomy is hard to achieve.

Still, a high degree of autonomy is particularly desirable in fields considered

dull, dirty, or dangerous and are increasingly performed by robotic autonomous

systems. These include cleaning floors, mowing lawns, wastewater treatment and

surveillance, all which present unique challenges in navigation and mobilization.

Outdoor navigation currently present the biggest challenge to designers of

robotic systems and even though a robot that can manoeuvre autonomously in an

urban environment is extremely desirable, it is still a long time from occurring due

to several factors. These factors include an unstructured environment with uneven

terrain, instability of a sensed environment which is continuously changing, and the

use and integration of multiple sensors. These problems create uncertainties that

cannot be solved with the use of indoor navigation algorithms that have been

widely research in the past and it is this gap in knowledge that currently drives

resources to develop future autonomous robots.

1.1. Motivation

Today, several common chores can be performed in a satisfactory manner

by self-driven robots including vacuuming, lawn mowing and pool cleaning. Other
4

tasks such as autonomous transportation and surveillance are only starting to be

implemented in a small scale. Possible applications for this field are; intelligent

robots for services in hospitals, offices, factories or any type of hazardous area.

Current gaps between the available technology and ever-increasing applications

for these systems drive investigation towards new techniques for navigation. Still,

for a robotic mobile systems to be successful at performing these tasks, autonomy

in an environment that is not purposely engineered for the robot, has to be

achieved.

Currently, different algorithms exists to solve the problems of robot

localization, goal recognition and path planning for a mobile robot navigating

indoors and it is fair to say that the majority of the past research has focused on

navigation in structured environments [2]. Still, the problem of outdoor navigation is

one that is not completely solved yet.

Problems encountered outdoors by a robot will be different than those

encountered indoors. Type of obstacles outdoors cannot be easily categorized

because of their wide variety. Therefore, outdoor autonomy is most easily achieved

in the air and sea, since obstacles are less common. On ground, several issues

arise, including terrain, weather, object recognition, random moving obstacles and

increase weaknesses of the sensing devices themselves. As an example,

computer vision solutions have certain limitation that can make them impractical in

an unstructured setting [3].

To overcome sensor limitations, robots combine the use of high-end

sensors such as stereo cameras, lasers rangefinders, tire encoders, global

positioning systems (GPS), inertial measurement units (IMU) and sonar. These
sensors, along with the hardware and software that have to accompany them,

constitute a great cost in investment for the robot. This justifies the need for further

research into the implementation of low cost sensors and their ability to provide the

necessary information for the navigation of the robot.

1.2. Objectives

The aim of this project is to present a design of a simple, low cost method of

autonomous navigation for a mobile robot using a subsumtion architecture (also

described as reactive logic). This will allow the robot to divide its tasks into simple

behaviours, which will be layered on top of each other. Simple control systems will

then be implemented at each layer of the program to verify the functionality of the

system.

Furthermore a proof of concept model of a robot will be described. The

proposed design will try to demonstrates how commercially available sensor can

be integrated into one package in order to provide a solution to the outdoors

navigation problem. The robot will therefore have to be able to navigate

autonomously through using only global positioning system and a digital compass

as its only means of localization. To achieve this, ultrasonic sensors help the robot

interact with its environment while the GPS guides it to its destination.

As mentioned before the robot will use subsumption architecture. In this

case the model incorporates 3 particular behaviours which allow it to interact with

its surroundings. These behaviours are unobstructed navigation, perimeter

following and obstacle avoidance. These are part of the reactive logic of the robot

which uses information from its sensors to respond to the changes in its

environment. This means that the robot will not have to be provided with mapping
1

or localization algorithms, but instead only uses ultrasonic emitter and receiver for

sensing and reacting.

It must be mentioned that even though this project strives for results

comparable to ones already achieved by more complex robots such as the

wayfarer [10], it is worth to investigate how outdoor navigation can be achieved

using reactive logic since it allows the robot to encounter a variety of different

situations which can be categorized as behaviour. Then each behaviour can be

giving a complex control system, which by itself would not solve the outdoor

navigation problem but when layered with other behaviours provides a feasible

solution.
There are two different problems that need to be solved for a navigation

method to work. These are robot localization and motion planning.

2.1. Robot localization

The problem of localization consists of answering the question ‘Where am

I?’ from the robots perspective. If a robot does not know where it is, it becomes

difficult for it do determine what to do next.

Dead reckoning is a type of localization that determines new position based

on previous position by computing or directly obtaining the distance and direction

moved. A compass can be easily used to indicate direction while distance is

usually determined indirectly by measurement of speed and time, but it may also

be measured directly.

A simple example of this type of navigation is the use of odometry with

wheel encoders. This technique allows for direction and velocity to be measured

based on vehicle dimension and knowledge of the time between encoder pulse.

Therefore if rotational speed of a shaft can be obtained from the encoder, angular

and linear velocity of the vehicle can be calculated along with heading and distance

traveled.

Another example of dead reckoning is inertial navigation. This is based on

prior knowledge of time, gravitational field, initial position, initial velocity, and initial

orientation relative to a known reference frame Then the linear acceleration of the

vehicle within the inertial reference frame can be determined by tracking both the

current angular velocity of the system and the current linear acceleration of the
system. Integrating inertial accelerations yields inertial velocity. Integrating again

enables the current position of the vehicle relative to the initial position.

Both inertial navigation and odometry system suffer from accumulation of

error over the course of time and cannot be used without periodically updating its

current positioning with a know reference frame. Due to this it is common to

integrate these systems with GPS position to provide continuous positioning

information [14], [15].

GPS has been extensively used in land vehicle navigation applications. The

main advantage of using GPS is that the data gathered does not depend on

previous readings and therefore errors in localization do not grow over the course

of time. The disadvantage is its accuracy and precision, which is dependant on its

surroundings and the number of satellites it reads.

Studies have been done in order to tackle the limitations of GPS technology.

Ohno et al,[1] use map-based navigation for an outdoor environment. The robots

positioning is obtained using odometry and differential GPS (DGPS)

measurements and an extended Kalman filtering framework is used to correct

positioning data. Through testing the authors found that even when DGPS position

measurements were highly inaccurate, the heading data was still reliable. From

this the authors propose 2 separate correction techniques for heading and

positioning for the mobile robot. However testing of the system was only done in

areas with walk ways amongst buildings and testing of the DGPS data still has to

be done around areas with large natural obstructions like trees.


2.2. Motion planning

Motion planning is a classic problem of navigation and it involves finding a

collision-free path for the robot from one specific position to another. It is aimed at

enabling robots with the capabilities of automatically deciding and executing a

sequence of motions. Two main categories of motion planning are presented

ahead.

The path planning problem has been studied extensively and examples

include [4] and [5].

Most of these efforts have been spent on path planning in static

environment since they present a less complicated solution. In the basic variation

of path planning, the task is to generate a collision-free path for a movable object

among known and static obstacles. Most of the current approaches to path

planning are based on the concept of configuration space (C-space) introduced by

Lozano-Pérez and Wesley [16].

C-space is the set of all possible configurations of a robot. Once the

problem has been formulated in the C-space, it becomes equivalent to finding a

connected sequence of collision-free configurations from the start configuration to

the goal configuration.

GPS data can also be integrated for use in path planning. Although in

certain setting GPS can encounter the so-called urban canyon environments where

the signals from the transmitting satellites can be blocked by high-rise buildings. To

solve the problem a constrained method was proposed by [13]. It is based on the
%

idea of approximating the path of the robot to that of a line, which would be a

common assumption for most roads. This constraint then helps to minimize the

number of necessary satellites for localization to 2. Then, with the use of a detailed

map of the city modeling of junctions can be done by connecting piecewise

continuous lines. This information is stored in the database of the proposed GPS

positioning system and an approximate model of the vehicle’s path can be

obtained from the database.

Path planning can thus be an efficient way of movement for a robot, but it

may require great amounts of computations particularly in highly dynamic

environments.

The concept of subsumption architecture was originally developed by

Rodney Brooks. It essentially provides a method for structuring reactive systems

from the bottom up using layered sets of rules. In reactive navigation no specific

coding of a path is computed, instead reactive-based robots are built up out of a

set of independent, simple behaviours. These are defined by what triggers them

(usually a sensor reading) and the action taken (which usually involves an end-

effector). Behaviours are then layered on top of one another. When two behaviors

conflict, a central arbitrator decides which should take precedence. The robot'
s

overall behaviour is emergent, and, will be greater than the sum of its parts. Since

dynamic environments present a challenge to path planning because a computated

path might become obstructed, a reactive approach can work particularly well in

the presence of moving obstacles and in unknown environments [17].


'

An advantage of this type of navigation is that it is very flexible since

multiple behaviours can be incorporated. Disadvantages happen since it can be

less efficient than path planning since it might take a longer time to achieve the

goal and the system may reach deadlock state or get stuck in a loop depending on

the situations it encounters.

2.3. Current advanced navigating autonomous robots

Mostly propelled by military investment, there have been recent robot


platforms and concepts that have been developed for the purpose of autonomous
navigation. An example is the Mobile Detection Assessment and Response
System (MDARS) project, which is a joint Army-Navy development effort. The
project was able to build a prototype of an outdoor surveillance robot in the 1990s.
Now, different designs are moving into production and are currently being
implemented [6].
The General Dynamics MDARS robot, shown in figure 1, can navigate semi-
autonomously and detect intruders using the Multiple Robot Host Architecture
(MRHA) software architecture planned for all unmanned military vehicles [7]. This
is a sophisticated command and control architecture that provides coordinated
control of multiple autonomous vehicles from a single host console. The robot is
powered by a small diesel engine. Its payload comprises a video cameras and two-
way audio communications. The robot has been used since 2004. It has been
deployed by civilian guards at the Hawthorne Army Depot and by 2010 the system
is expected to support guards operations in six depots in the USA[7] [8].
+

/ 62 3 3

Also, the US department of Defence sponsors the Defence Advanced

Research Projects Agency (DARPA) challenges, which are competitions for

autonomous vehicles. The main technological challenge for competitor of the race

is to develop a system that is reliable and capable of driving at relatively high

speeds through unstructured environments. These requirements necessitate

advancements that build on previous methods of navigation. Thus its aim is to

encourage the development of new technologies needed to create the first fully

autonomous mobile robot. In 2005 five teams where successful at completing the

race.

The winner of the competition (figure 2) was developed by Stanford

University’s Racing Team in cooperation with the Volkswagen Electronics

Research Laboratory (ERL).


/ 6 ) - 8 9

Stanley is capable of perception and path planning while driving at an

average speed of 35mph while avoiding obstacles. The computing infrastructure

consists of 6 pentium M blade servers, taking the inputs from its sensors. Pose

sensors include GPS with satellite base differential correction, a GPS compass, an

inertial measurement unit (IMU) with 6 degrees of freedom and wheel odometry.

Perception sensors include 4 laser range finders, both monocular and stereo vision

and a radar. Stanley “low-level modules, feed raw data from light detection and

ranging (LIDAR), the camera, GPS sets and inertial sensors into software

programs [to control] the vehicle’s speed, direction and decision making”[9].

It is this software that makes Stanley unique. The software is able to

estimate the vehicles 15 state variables at 100hz using an unscented Kalman filter

(UKF). The filter incorporates readings from the GPS, the GPS compass, the IMU

and the wheel encoders. While the GPS is available a “weak” UKF model is used

since absolute positioning is constantly given. When GPS is unavailable the pose

of the vehicle heavily relays on data from the IMU and therefore a more restrictive

UKF model is used. It is through the integration of the gyroscope data and wheel

velocity that the pose can be calculated.


4

Software then uses readings from the LIDAR and vision to determine an

occupancy grid of drivable terrain. This is done since LIDAR has the limitation it

can only detect obstacles about 25 meters ahead, which is a problem when dealing

with high speeds. It is then when the stereo vision system is used to compare the

readings of the laser with the images captured, while computer algorithms “learn”

the terrain and map out an optimal driving surface thus determining what part of

the image outside of the laser range should be chosen for driving.

The US Army Tank-Automotive Research, Development, and Engineering

Centre are sponsors for the Wayfarer payload for the Packbot. The Packbot [figure

3] is a lightweight, deployable, modular robot platform. This platform has been

used by Brian Yamauchi of the iRobot Corporation to develop an autonomous

navigation payload. This allows the robot to perform autonomous urban

reconnaissance missions including route, perimeter and street reconnaissance.

The capabilities of the Wayfarer are discussed by Yamauchi in [10], [11] and

[12]. Some of the algorithms of navigation programmed into the Wayfarer are

obstacle detection, perimeter following, automatic flipper deployment, cul-de-sac

avoidance and stasis detection and escape. Here, only the obstacle detection and

perimeter following will be discussed.

Obstacle detection is done with the use of LIDAR. Generally, the LIDAR

system involves a laser range finder reflected by a rotating mirror. The laser is

scanned around a desired plane, gathering distance measurements at specified

angle intervals. It also uses a stereovision camera to provide a 3D image of the

surrounding and be able to detect distances. These 2 sensors help in the creation

of a scaled vector field histogram. This technique creates an occupancy grid with a
polar histogram of the obstacles detected by the sensors. Obstacles detected by

the 3D stereovision system are projected to a 2-D field and are used to update the

occupancy grid. This occupancy grid is just basically a frame with cells

representing a 2D plane surrounding the robot, and each cell stores the probability

of that corresponding location in space being occupied. The occupancy grid is also

then analysed using a real time Hough transform to find lines that correspond to

walls. The Hough transform works on the principal that it uses the points from the

occupancy grid to determine possible lines in the grid [20].

For perimeter following, the Wayfarer uses the lines determined by the

Hough transform analysis of the occupancy grid to steer the robot so that it is

parallel to the obstacle. With this information the Wayfarer can also perform

mapping and localization. As the robot moves through the environment the range

data is used to create the update the occupancy grid, effectively creating a map of

the environment. Localization is important in this case as the robot has to

determine its new locations with respect to its previous location in order to be able

to properly update the occupancy grid. For localization a combination of GPS and

odometry sensors are used.

The limitations of the Wayfarer are mainly due to limitations in the sensors it

possesses. The sensors are unable to detect glass obstacles and objects with

narrow cross sections such as telephone pole wires. Also, while the sensors work

well to detect other solid obstacles, they typically are not able to differentiate

between solid objects, which the robot needs to steer around from foliage. The

Wayfarer is also not design to deal with moving obstacles which would lead to

collisions if the robot is not able to react fast enough to its changing environment.
1

Finally, another limitation is the speed at which the robot can move since testing

has been limited to the robots maximal speed. It is therefore unclear if the achieve

results can be obtained if the system was implemented on a high-speed mobile

robot platform.

/ %68$ # : ; "" 0 $ $ . ) "


The scope of the prototype presented in this section was to develop an

autonomous vehicle (AV). The main limitation of the robot will be that it has to be

confined to urban settings along the perimeter of a building or similar structures. To

navigate, the robot must have a specific goal as to where it is headed. Also, when

moving, the robot must be able to sense the proximity of the objects around it and

react accordingly. This is done by the integration of sensors fro positioning, pose

and object detection.

Specifically, the robot uses 3 types of sensor, which include a global

positioning system receiver, a digital compass and ultrasonic sensors. These are

all available commercially and have previously been used to provide useful

information for navigation of the robot.

The AVs navigation algorithm is based on the a philosophy that robots

should be like insects, equipped with simple control mechanisms tuned to their

environments, instead of complex architectures that require complete models of

the environment for decision making.

3.1. Vehicle description

The vehicle design was a combination of a test platform previously

developed by Nicolas Wrathall [19] along with the addition of mechanical

components and ultrasonic sensors for use in navigation.


/ '68 " ) ) " ) $

The figure above shows the mechanical enclosure that houses the

electronic components used to interface the embedded microprocessor (a

Microchip dsPIC30F6010A digital signal controller board developed by Graeme

Ashford) with the motors and sensors. Inside it contains the interface board for the

GPS receiver as well as the keypad and the microcontroller board. On the outside,

the housing supports the GPS receiver, the Digital compass, the LCD screen, the

keypad and all the mountings for the connectors of the motors, the power supply

and the Mplab IC2 debugger tool.

On top of this platform more components where mounted to give the robot

manoeuvrability and its sensing ability (figure 5). First a chassis was built which

holds the 12V geared DC motors and the tank treads. On the back of the robot a

L298 motor controller was incorporated to be able to handle the higher currents

demanded by the motors, since the original microcontroller board was only able to

supply one volt per motor. Finally supports where adapted to the test platform in

order to mount the ultrasonic sensors used for obstacle detection.


/ +6 $

3.2. Vehicle Interface

To run the robot a simple interface with the keypad and LCD was created.

When turned on the user is prompted to wait for GPS initialization with the option of

waiting for the wide area augmentation system (WAAS) to be initialized. Once the

WAAS system is initialized the left LED besides the LCD screen will light up.

For simplicity reasons, upon continuation the user must carry the robot to

the desired destination and once there the coordinates will be recorded into the

memory. Then the user will have to carry the robot to its desired starting point and

instruct the robot to begin. This completes the start up sequence.

3.3. Navigation

Navigation is done, as mentioned before, with the use of GPS data from the

receiver which updates at 1Hz, and its heading is corrected with the use of an

algorithm which controls motor voltage based on the digital compass readings. The
%

vehicle will therefore continuously monitor its position and orientation compared to

its desired position and orientation, and the vehicles control system will guide it

towards its destination.

The main advantage of using GPS for localization is that the data gathered

does not depend on previous readings and therefore errors in localization do not

grow over the course of time as they would with localization methods such as dead

reckoning with wheel encoding. The disadvantage of using GPS is its accuracy,

which is dependant on its surroundings. GPS is known to have problems when

there are obstructions in between the receiver and the satellites it communicates

with [1].

Ultrasonic sensors are used to obtain information about obstacles around

the AV. An obstacle avoidance algorithm is implemented to give the robot the

necessary reactive behaviour when encountering something in its path. When the

desired orientation enters in conflict with an obstacle, the obstacle avoidance

algorithm will then have to choose suitable way to steer away from the obstruction

and then continue towards the target.

For more information about the vehicles control system and navigation

routine refer to section 3.5.

3.4. Electrical and electromechanical components

The communication and equipment connections presented in figure 6 show

the inner working of the robotic system. It is controlled by a Microchip

dsPIC30F6010A 16bit digital signal controller mounted on a development board.

The board allows communication with analog and digital inputs as well as a UART

port, 2 SPI pots, 1 USB port 1 I2C ports. These ports allow for connections to be
'

made with the sensors, the display and the debugging tools such as Hyper terminal

and the MPLAB ICD 2.

/ 6& )$ (

To display information to the user a Lumex LCM-SO1602DSF/A LCD screen

is connected through the input/output ports. It is a 2-line, 16 character display.

Also, for user input a 12 button keypad is connected also to the microcontrollers

input/output ports with the use of a resistor network contained inside the test

platform.

For sensing, the vehicle uses Maxbotix LV MaxSonar-EZ1 sonar modules.

The module provides a 42 KHz ultrasonic ping for object ranging at distances from

6 to 254 inches. It then outputs the distances in several types of communication

outputs including serial (0-5V), analog voltage or PW output. To interface with the
+

microcontroller the sensors are also connected to the analog input/output ports.

The readings recorded by the ADC buffers are then calibrated at 9.8mV per inch

for the 5V input to the module.

/ 46

Localization is achieved with the use of a Garmin GPS 16-HVS receiver,

with integrated antenna. Its 12-channel receiver continuously tracks satellites and

reports position using standard National Marine Electronics Association 0183

sentences at 1Hz. It is also WAAS-enabled, so it can determine location to within

3 meters. WAAS uses a network of ground-based reference station to measure

small variations in the GPS satellites'signals in the western hemisphere. The GPS

communicates with the microcontroller board through a RS232 interface chip

connected to the UART port.

/ 62 2# <=(

For heading estimation a Honeywell HMR3300 digital compass is used. It

includes a MEMS accelerometer for a horizontal three-axis, tilt compensated

precision compass for performance up to a ±60° tilt range. The connection to the
microcontroller board is done using a SPI port and it updated at 8 Hz. For

correction between true north from magnetic north the data from GPS is used.

Finally, for correction due to vehicle vibration, the compass is internally

programmed to filter its heading output.

/ 16= 0 = %%

For motion, a pair of Lynxmotion GHM-12 Spur Gear Head Motor are used

and are connected to Lynxmotion 2" wide tracks. These tracks provide a little more

versatility than normal wheels since the robot is able to traverse uneven surfaces

without getting stuck. Still there small size poses limitations to the terrain they are

able to move in.

3.5. Autonomous Navigation Algorithm and Logic

Figure 10 shows the flow diagram for navigation of the AV. It shows the

simplicity with which the three main robot behaviours operate. This is done with a

simple decision branch where the controller decides whether an obstacle is

present. In theory, this method allows for further behaviours to be added, and each

one can be layered one on top of the other depending on priority. Each behaviour

can then have its own independent control system that dictates how the robot

behaves overall.
4

/ 6 $ ) (

For the algorithm to be implemented, the calculations for remaining distance

and desired heading have to be computed using the GPS data. Distance remaining

is obtained using the Haversine formula. This formula is only an approximation

when because the Earth is not a perfect sphere.

For 2 points on a sphere with given latitude and longitudes, the formula is

given by:

d = R.c (1)
where

R = earth’s radius (mean radius estimate = 6,367,000meters)

lat = lat2- lat1

long = long2- long1

a = sin²( lat/2) + cos(lat1) * cos(lat2) * sin²( long/2)

c = 2 * atan2(root_a, root_(1-a))

d is the distance in meters

(Note; angles need to be in radians).

To calculate the heading that would follow a circular arc around a sphere a

separate formula is used. This is given by;

= atan2[sin( long)*cos(lat2), cos(lat1)*sin(lat2) - sin(lat1)*cos(lat2)*cos( long)]

(2)

(Note; angle returned from an atan2 function ranges from –180 to 180 degrees and

must be normalized to 0 to 360 for appropriate heading calculation)

Once this is done, the algorithm loops until it reaches a specified distance

from the target. This distance is set at 3 meters since this is the minimum

inaccuracy that is obtained by the GPS receiver when WAAS is enabled.

For navigation, the following logic was programmed. It tries to include the

mechanical limitation of the prototype that where encountered during testing. (see

section 5). First the AV calculates it desired heading from GPS data. Then, the AV

must poll its ultrasonic sensors in order to determine if there exists an obstacle in

its path. If there is, the AV will have to try to turn away from it, while if there isn’t
1

then the AV will use its heading control to change the motor’s PWM and thus its

direction.

Obstacle avoidance is given the highest-level priority of the behaviours in

the algorithm. It is triggered when the robot senses an obstacle immediately in front

at a distance closer than 15 inches. In the case where all sensors detect a value

below this threshold, the AV is programmed to stop moving since it is considered to

be completely surrounded. If only the front sensor returns this distance then the AV

will start turning towards the direction that senses the obstacle farthest away. If one

side sensor detects this distance then the wall following behaviour will determine

what needs to be done. This is explained later in this section.

Turning control is programmed by setting the PWM of the left or right motor

to cero depending on the direction of the turn. The AV will then start turning until

the front sensor shows no obstacle is within a certain distance or if it comes too

close to an obstacle. In the first case, once the condition is met the robot will

continue with another behaviour. In the later case, the PWM of the motors is set to

0 and the robot is considered to be unable to avoid the obstacle.

Wall following behaviour is triggered when the AV does not need to perform

obstacle avoidance. The other condition that must be meet is that an obstacles

needs to be located in the direction of the front sensor, or the sensor which is

pointing towards the desired heading. This is because the AV would either drive

eventually drive straight into the obstacle or try to run into it leading to the

triggering of the obstacle avoidance behaviour. So once on obstacle is sensed to

be at 75 inches away from the AV, it is considered that the desired path is blocked,

and therefore the AV most follow the obstacle that blocks the path until the desired
%

heading is free. To follow the obstacle the side sensors will determine the distance

to the obstacles and maintain a certain separation from it.

The unobstructed heading control is used in the cases where the AV doesn’t

detect an obstacle in the direct path on which the robot wants to move meaning

neither obstacle avoidance or wall following have been triggered. The way the

control system works is it calculates the heading error, which is the difference from

the AV’s current heading to the desired heading. Then to correct this error, since

the AV is already traveling at maximum PWM , a factor which is proportional to the

error is subtracted from the PWM of one of the motors, depending on the desired

turning direction. The function is then calibrated for the vehicle in such a way that

any heading error with a value above 90 degrees will decrease the motors speeds

to 0, giving the minimum turning radius possible for the prototype. This is a turn

radius of approximately 36 inches which is due to the fact that even though one

motor is set to stop, the friction with the ground will still cause the treads to turn.

This limitation is further discussed in section 5. Any error in between 90 and 0

degrees will then cause the AV to have a higher turning radius. Thus the AV

increases its turning radius as the heading error tends to cero, which would set the

motors to an equal velocity.


%

4.

Separate testing of the autonomous navigation algorithm was done in order

to verify the working status of the AV. Each behaviour was tested for functionality

before it could be implemented in conjunction with each other.

4.1. Unobstructed heading control

Due to the size restriction of the treads and the torque available to drive the

motors, the vehicle was tested only on even surfaces that did not present large

gradients or sudden level changes. Also, because of uncertainty in GPS readings

testing of the GPS navigation was done in an area with clear view of the sky,

enabling reception of signal from several satellites. Because of this most testing

was performed at King’s College Circle at the University of Toronto. This area

provides the open space necessary.

The fist behaviour to be tested was the unobstructed heading control, which

is done based on GPS readings and calculation of desired heading. Correction of

the error found in the difference between the desired heading and the actual

heading are then performed as specified in section 3.5.

An initial proportionality constant was chosen to have the value of 10.

Results from a test run show the GPS coordinates recorded by the AV at 2hz (the

GPS was still transmitting at 1Hz). The point in red shows the desired destination

and the blue points show the location of the vehicle.


%

39.685

39.684

39.683
Latitude North (degrees)

39.682

Vehicle
39.681 position

39.68
Destination

39.679

Linear
39.678 (Ideal path)

39.677
-23.735 -23.73 -23.725 -23.72 -23.715 -23.71 -23.705
Longitude East (degrees)

/ 6 2# ) () " " )

The graph shows a large disparity between the straight line that should be

followed by the AV and the actual direction taken. This was determined to be due

to the fact that correction of heading was not enough at the starting stages of

motion when the heading error was small. Once the AV approached the target the

heading error became larger and thus more drastic correction was performed by

the controller leading to it eventually steering towards the target. To fix this, more

testing was done using higher proportional constants to correct the error.
%%

39.686

39.685

39.684

39.683
Latitude North (degrees)

39.682

39.681 Vehicle
location
39.68 Destination

39.679
Linear (Ideal)
39.678

39.677

39.676
-23.73 -23.725 -23.72 -23.715 -23.71 -23.705
Longitude East (degrees)

/ 6 2# ) () " " )''

With the use of the higher constant an improvement in the trajectory was

noticed, yet it still shows large deviations form the desired straight line. This

additional problem was determined to be due partly to mechanical limitations for

motor direction and later discussed in the limitations section. The reason being that

tight turns are hard to be obtained because of the malfunction of one of the logic

gates inside of the motor controller leading to the inability of the right motor to be

able to turn in the reverse direction. Then the minimum turn radius of the robot on a

tiled floor was calculated to be 36 inches, which is fairly large for an AV than only

measures 14” by 11”.

It is worth mentioning that even though large deviations from the ideal

straight line where encountered, the unobstructed heading control still provided the
%'

AV a way of reaching the target (within its specified 3 meter tolerance). So even

though this control system encounters some limitations, it still serves the original

purpose of serving for integration with other behaviours for the AV navigation

algorithm.

4.2. Obstacle avoidance and Wall Following

Most of the time spent in the testing of the prototype was used trying to

obtain reliable obstacle avoidance and wall following behaviours. Testing of the

obstacle avoidance behaviour and wall following was done both indoors and

outdoors, yet eventually fell short of desired expectations. This was caused by

erratic sensor readings. These problems were not limited to the outdoor

environment but were also found indoors during testing of the obstacle avoidance.

Indoors, reflection of sonar waves from small features on the floor were read

by the sensors. Specifically, with sensor placement of 4 inches about the tiled floor,

a small unevenness of about 5mm in height and a patch of dirt left by a shoe where

detected when the robot was at about one foot from the feature. It was therefore

decided to elevate the height of the sensor to 8 inches and to point them slightly

upwards. This helps to limit the detection of false obstacles but will limit the ability

of the robot to detect small steps in the terrain that have a height of about 2 inches,

which the AV’s tracks will not be able to climb over.

Unfortunately, outdoors accuracy and repeatability of sensor readings was

never achieved. Noise introduced in these environments made the data gathered

highly unreliable and therefore the AV was unable to accurately determine

positioning of obstacles.
%+

When trying to implement each behaviour proper control could not be

accomplished since they are based purely on the reading of the sonar sensors. For

example, for obstacle avoidance the reading from a sonar sensor is continuously

updated to give the positioning of the obstacle in front and the control system then

determines the PWM of the motors in order to steer the AV. But when noise levels

become so high that the distance read by the sensor oscillates between the

threshold distance that activates the behaviour, the robot will erratically enter the

turning control.

To try to limit the problem an analysis of the data gathered by the sensors

had to be performed. Figures 13 and 14 shows readings an experiment that tried to

filter the data gathered. The first set of data shows sensor readings at 50 Hz taken

of the sky, while the second set shows data gathered close to a wall located at 180

inches from the sensor.

600

500
Analog value recorded

400

300 datas set 1

200

100

0
1
27
53
79
105
131
157
183
209
235
261
287
313
339
365
391
417
443
469
495
521

Dicrete time series at 50Hz

/ %6 ) 0$ " 0 $ :
%

600

500
Analog value recorded

400

300 datas set 1

200

100

0
1
31
61
91
121
151
181
211
241
271
301
331
361
391
421
451
481
511
Descrete time series at 50Hz

/ '6 ) 0$ " 0 $ 0

The first graph shows a dip in the readings that cannot be fully explained

except as ambient noise. The second set of data shows large oscillation in values

read by the sonar sensor even though the object placed in front of it was always

kept at a fixed distance. It seems as if the sensor was reading 2 different distances

that changed periodically. This might have been due to an echo effect, but it is hard

to determine the exact reason and a way to correct it.

A second order low pass Butterworth filter was applied with cut-off

frequency of 20 Hz, which is a bit less than half of the sampling frequency. The

results are shown in figures 15 and 16.


%4

600

500
Filtered analog value

400

300 datas set 1

200

100

0
1
31
61
91
121
151
181
211
241
271
301
331
361
391
421
451
481
511
Dicrete time series

/ +6/ ) 0$ " 0 $ :

600
Analog value recorded

500

400

300
datas set 1

200

100

0
1
30
59
88
117
146
175
204
233
262
291
320
349
378
407
436
465
494
523

Time interval

/ 6/ 0$ " 0 $ 0

The graphs shows that filtering is still not able attenuate noise with large

magnitudes and long periods. Filtering is therefore unable to yield the expected

values of distance, as the constant component of the signal that would be due to

the constant distance from the sonar to the object, was not obtained.
%

Without proper sonar readings robust wall following and obstacle avoidance

behaviours were not achieved. This presents a downfall in the development of this

project. Its repercussions and possible solutions are discussed in the following

sections.
%1

Section 3.2 described the test platform designed by Nicolas Wrathall. It was

this platform that was used as a base for the AV since this was the material that

could be provided for developmental purposes by the University of Toronto.

Unfortunately, this layout was not made with the intention of further development

and created complications when adding the robot chassis, the external motor

control and the rechargeable batteries used to run the motors and controller board.

The main disadvantage was all the external wiring which had to be used in order to

connect the motor cables, the motor power supply, the controller board power

supply and the GPS receiver. These cables can easily become entangled with the

treads that drive the robot and can become loosened due to vibrations during

driving.

5.1. Motors

There are certain mechanical limitations that are caused by the use of the

12V DV geared motors. These can only provide a maximum speed of about 253

rpm at no load, which is then decreased due to the weight of the robot. This limits

the AV speed to approximately 0.35m/s.

The current drawn by the motors is also a limitation to the design. The

microcontroller board uses L293 motor controller that can only handle up to 1 amp

of current per motor. For this reason an external L298 motorcontroller was used.

This motor controller is rated at 2 amps per motor but it is mentioned. The 12V DC

motors used for the AV actually have a stall current of 3.8 amps and it is believed

that at one point during testing this current value cause a logic gate failure in one of
'

the controller switches which lead to motor malfunction. The result was that the

right motor is no longer able to operate in reverse limiting the turning radius of the

AV to about 36 inches when operating on a flat surface. This complicates the

development of the program used for navigation since its limits the heading

correction of the AV when driving towards a target and when avoiding obstacles.

Also, even thought the microcontroller board has the input capability to

process enconder readings, the motors used for the robot do not have this output

and therefore vehicle velocity cannot be tracked. This is a constraint to the control

system for navigation and the potential use of inertial navigation in future

developments.

Lastly, the type of terrain encountered by the AV creates complications

during the implementation of the design. The AV is only able to traverse flat fields,

paved areas and uneven surfaces that create abrupt obstacles not above 1 inch in

height.

5.2. Sensor limitation

One of the motivating points for the undertaking of this project was the

current inexistence of a simple solution to the outdoor navigation problem. This is

due to the fact the outdoor environment poses many complications for the sensors

an AV relays on. This was no exception for the design presented.

"

The precision or accuracy quoted by many GPS manufacturers is often

done using a statistic known as CEP (Circular Error Probable) and are usually

tested under ideal conditions. These conditions refer to a clear view of the sky with
'

no obstructions above 5 degrees elevation from the field of view. These conditions

do not represent real life situations and thus inaccuracies are introduced. These

are due to reduced number of satellites seen by the receiver, a reduced strength of

satellite geometry, satellite signal echo and corruption of GPS measurements.

Also, since GPS works as a passive receiver that updates positioning every

second, in cases where the vehicle speed is large it would create a problem of

localization accuracy since location errors are introduced when positioning is

important. To correct these positioning error different techniques can be used. For

more complicated systems, inertial navigation, vision and dead reckoning can be

used to continuously update positioning during the elapsed time during received

GPS signals.

For the AV to be able to navigate effectively sonar data has to be reliable.

This was one of the mayor problems faced during the development of the AV.

The accuracy and repeatability of the data gathered by the sensors was

lacking since problems with noise were encountered. Due to this lack of accuracy it

was not possible to complete a robust implementation of obstacle avoidance or

perimeter tracking. Initial experimentation in an indoor environment showed that

wall following could be achieved if sensors direction was carefully determined so

that small objects on the ground were not read. Outdoors, this could not be

repeated. For the code presented in appendix A (based on the algorithm presented

in figure 10), testing outdoors showed erratic behaviour of sensor readings even

while the environment remains static. This leads to serious problems since the
'

robot relies entirely on its ultrasonic sensor readings to arbitrate which part of the

algorithm it should carry out, be it wall following, obstacle avoidance or

unobstructed driving. Possible solutions to this problem are presented in the

section for further improvements.

5.3. Control system

As the design process for the AV matured, it became evident that the

mechanical limitations created further complications for the control system that

could be implemented. A lack a sensed vehicle speed meant that a proper PID

control system for speed and heading based on a feed back loop could not be

designed. This approach would require heading to be corrected based on wheel

radius, separation, angular velocity and turn radius. Encoder would provide the

angular velocity necessary to develop the model. Instead, the control system

detailed in section 3.5 for unobstructed heading control (based on PWP) was used.

It assumes that correction of the heading error can be done by changing the PWM

of the motors but lacks a complete model of vehicle dynamics for correction.

The results presented in section 4.1 show the limitations of the PWM control

used since large deviations from an ideal path were obtained, even though the AV

was able to reach the target destination.

5.4. Design process

Originally, the controller board developed by Graeme Ashford, was intented

to be interfaced with a lego building set and its NXT sensors. This was the

approach originally taken by Nicolas Wrathall for the development of a proof of

concept model of an AV [19]. Because of this an initial design was created which

used only lego parts and sensors. This design suffered greatly from mechanical
'%

and sensorial problems. First, the flexibility of lego parts makes the robot chassis

very fragile. Also the controller board is made for running at 5-10 volts, which is

also fed to the motor through a L293 motor controller. The controller then has a 1.5

volt drop before it is transmitted to the motors. This implies that even thought the

motors can be run at 12 volts, they where actually being run at approximately 8

volts when connected to the board. Adding to this, the weight of the vehicle and the

uneven terrain added to the torque needed to be provided by the motor. Eventually

the motors would stall when lower PWM values were used for turning negating

there use completely. Because of this the external motor controller were used.
''

#$

The unobstructed heading control was shown to be able to direct the AV

towards its given destination. Unfortunately, the necessary wall following and

obstacle avoidance behaviour could not be achieved in order to properly integrate

the necessary behaviours to implement the navigation algorithm proposed. It is

therefore necessary to continue with critical improvements that will help

demonstrate the feasibility of the algorithm.

First, the results obtained in section 4.3 show that outdoor navigation is with

only ultrasonic sensors for obstacle avoidance and wall following is a greater

challenge than anticipated. It then becomes necessary to integrate sensors that

can help with these tasks. For systems described in section 2.4 it can be seen that

many advanced robots use a combination of vision, LIDAR and radar to solve this

problem. But since part of the motivation of this project was to motivate the use of

simple sensors for navigation a combination of stereovision cameras with

redundant sonar sensors should be used. Still, vision-based systems are quite

complicated and require more computational resources than simple range-finding

systems. An analysis of the ability of the dsPIC used for this project would need to

be done in order to determine if it can be used for image processing, or if an

external digital signal processor needs to be embedded within the camera system

itself.

Also, for a continuous localization of the AV other sensors can be added.

Motors with encoders can provide an approximated speed of the vehicle which can

be used along with the GPS reading for updating position. Also, because of the
'+

flexibility of the behaviour based algorithm, the use of wheel encoder would allow

for the implementation of a already proven control system like the one

demonstrated in [19] and [1]. This fulfills one of the goals set out by the project

which is to present an algorithm that my incorporate more complex control systems

to defined behaviour. Still, since the maximal speed of the AV presented is of

0.35m/s, only small error are introduced when updating positioning at 1Hz

(frequency of the GPS receiver). These errors are small in comparison to the 3-

meter precision of the GPS receiver and therefore would only be completely

necessary at higher speeds.

Lastly, simple improvements can be made if the mechanical design is

started from scratch instead of an adaptation of an already build test platform. This

would allow for proper positioning of cables inside of the robot instead of partly on

the outside. It also would help to accommodate external batteries that power the

motors and the microcontroller separately. Finally the external motor controller

could be placed with other electrical components also eliminating more external

wiring.
'

%&

Even though the proposed goal of obtaining a simple method of outdoor


navigation of an autonomous robot was not completely achieved there are
important facts that can be taken from this experiment.
When looking back at the difficulties encountered in the process of
development, it can be said that the unreliable nature of ultrasonic sensors make
them undesirable for this type of application. It is therefore important to first
develop a robust algorithm that can be implemented with other currently available
sensors like stereovision and radar before the physical design of the robot is made.
Particularly important is the combination of different type of sensors which when
properly integrated can give an accurate representation of the robots surroundings.
Only with this will the problem of motion planning in an outdoor setting be solved.
Having said this, the next step of investigation should focus on how to integrate
these different sensors and already existent techniques like Kalman filtering have
been shown to filter out bad data from multiple sensor inputs [21].
Also, it is still necessary to continue with more research to prove if reactive
behaviour can be a feasible solution for navigating in the outdoor environment
when the unstructured settings play a role on sensor accuracy.
'4

' ( &
8$ " $ 0 " " 2 $)
. $ > 0 0 $ $

? @"% ) $A
BB )
C/ &D& . C/ & C //E F8C#,, GH
C/. 38D. 38C //GH
C/7 # D#7 C //E &, C* E 8C # GH
C/7 D& 3*C# 8C //GH
C/ D& 3*C# 8C //GH
C/2 D& 3*C# 8C //GH
? @ $A
? @ $A
? @ $A
? @ $ $A

BBBBBBBBBBBBBBBBBBBBBBBBBB& 8 8 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
? ) # % ' +1
BI8 " ) 0 $ / &J =!IB
? ) 8 C#* 3 1' BB 54% BB 54+% BB 5 %

BB#. 3 )
? ) #. % #3&
? ) #. ' #3&

BB % 2=8 8
? ) 3% C, 82
? ) 3%7 C, 8&%

BB ',*/8 8
? ) 3' C, 82
? ) 3'7 C, 8/

BB / :3 )
BB % 2=8 8
? ) % C 34
? ) 7% C3
? ) K% C '

BB ',*/8 8
? ) ' C/
? ) 7' C 3+
? ) K' C +

? ) BB %

? ) K &C&= 5++
? ) K &C&= 5

BB2# & &


'

? ) 2# C C$ LML
? ) 2# C $: C $ LIL
? ) 2# C C$ C 53
? ) 2# C C$ C 5
? )
? )
? ) $:
? ) %
? ) '

? ) 2# & 5'7
? ) 2#22 5+
? ) 2#2 5'
? ) #2 * 5'3
? ) #2 7 5'
? ) #2 5'+

BB,&3 3 )
? ) D > GDD AA GE 5 G
? ) ,&3C C 3
? ) ,&3C* C 3
? ) ,&3C C 3
? ) ,&3C C 3
? ) ,&3C C & %
? ) ,&3C%C & '
BB? ) ,&3C 8 7* DD,&3C* J G>
D,&3C* J GG

BIIIIIIIIIIIII 8 8 /2, 7 , 3*/ 8 IIIIIIIIIIB

BI3 ) 6 NO> NO> IB


BI0 $ > 0 IB

BI $ $ IB
BB N& 8 8 OCC CCDDCC " CCD5 G>CC CCD% GGGH
BB N& 8 8 OCC CCDDCC " CCD G>CC CCD% GGGH

BI ) $ $ ) IB
BB %N& 8 8 OCF7 D% GH
BB 'N& 8 8 OCK7 D% GH

BI3 ) 0 $ IB

8 C$ N OH
$ FC N OH
) "C$ N OH
"C N OH
"N OH
"C" H

BI<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< IB

BI3 ) 0 $ IB

BB CC CCDDCC " CCD5 GGGH


BB CC CCDDCC " CCD GGGH
'1

BI3 ) 0 $ IB

BB %H

BB ) - 7
$ 8FC7 )) N OH
8FC7 )) C, H
8FC7 )) C# H
$ 8FC7 )) C C- H BB "$
$ FC7 )) N OH
FC7 )) C, H
FC7 )) C# H
$ FC7 )) C&$: H
$ FC H BB " :
$ "C $: H
$ C" H

#* H
/* H
* H

BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
BB2# 3
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
-8&C H BB-8& 8 )# /5
C-8&C H
-8&C H
0C " C) H
0C2# C) H
C H
)C H
)C H
CH
) C H
CH
) C H
$ C$ "$ H
$ C$ "$ H
2# C; C H
H
) $ ! C H
) C$ $ H
) C$ $ H
32# C C H
32# C 3H
$ C" H
) 2# C " H
) 2# C H
) C H
$ C C H
) 2# C C H
) "C C H
C H
$C "H
$C " H
+

) 5C "H
) C "H
) $C H
) C H
) "C H

0 C2# C) H

BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
0: H
: C) H
: C C) H
: H

H
$ N+ OH
$ - 7 N OH
$ I C" H
C H
C0 C) H
C0 C H
$ 0 C$ H

"C) H
C" H
C" $H
C. H
C. H
C. H
C. %H
C. 'H
C. +H
C H
C "H
;C H
:C" H

8+C$ C" H
) C H
) " C H
) C "H
C" C H
) C" H
FC" H
"C$ C" H
:C H
"C H

) H
) %H
) 'H

% H
' H

# C H BB < > <LL > <$ = >%<$ , >'<


+

$ =H
$ ,H
) $ H
) " C$ H
) $ C H
) C C$ H
) C C H
) C$ H
) C$ H
) C H BB $ ) )
) " $H
) H
# C C H
# C H
# C H
# C" C H
C" H
C" H
) "C $H
) "C0 H
C C0 $H
$:C"H
$:C H
) C ))H
C H
) $ C H
) $ C C H
C"0 H
C H
C" H
" C #C H

:8 "
P
H BB 0 >
: H BB >
H BB >
H BB
:H
Q 8 :H

0 "
P
C H
) C H
$ C$ "$ H
C H
) C H
$ C$ "$ H
Q" >" > "C0 " > > C " C" > H
5H
0 " I" C" H
0 " I" C" H
0 " " $N' OH
C" J H
" $C" H
+

" $C) H

$ 5 0 N% OJ RRH BB " ) " )


BIIIIIIIIIIIIII* 3 /2, 7 , 3*/ 8 IIIIIIIIIIIB

C :D G
P
8 : J HBB )0
8 : :J H
8 : J H
8 : J H
8 J HBB
# J8 C#* 3HBB "
8& 8& J HBB :
#& 8 # J 'HBB "
/ 8 /J HBB ")
*& 8 *J HBB "
BB #, J %HBB &#- " '<4
8& 8 J HBB $
Q

C#. D GH
C D GH
C +D GH
C- 8D GH
C 85D GH
C +D GH
C: " D GH
C D ) 0 C " GH
C # D GH
# C D GH
#C D GH
C D $ > GH
C D ) 0 C " >) GH
C) 0 D ) 0 C " >) GH
C) 0 D ) 0 C " GH
C2# D ) 0 C " > 0 " " > 0 " " 7GH
C D ) 0 C" > C > GH
C D $ C " GH
C D $ C " GH
C %D) $ C " GH
C$ D GH
C$ D GH
2# C D GH
0C" : D$ 2# C" : N O> " : C GH
0 C" : D $ I" : > 5C GH
) C$ D 0 " " > 0 " " 7GH
) C$ D 0 " " > 0 " " 7GH
C$ %D 0 " " > 0 " " 7GH
) C D 0 " " > 0 " " 7GH
C0 " D 0 " I " GH

C -FC- 8D GH BB 5 - 8

C0 D $ GH
C D GH
+%

C" D $ I GH
C D $ " GH
C D GH
,&3C 8 7*D GH
C C D C GH

C D C GH
C D C GH
CD C GH
C$ D GH
C: " D GH

0 C" : D $ I" : > 5C GH


0 C- 7D$ I C C0 > C GH
0 C- 7 D$ I C C0 > C GH
BIIIIIIIIIIIII 8 8 / /- &8 IIIIIIIIIIIIIIIB

D G
P

0 C2# C) J H BB < 0 ) " > <

"C" J H
#* J H
/* J H
* J H
C DGH
C#. DGH
C +DGH
C 85DGH
C # DGH
C- 8DGH
C :DGH
C DGH
C: " DGH
C D GH
"C) J H
C" J H
C" $ J H
C J H
8 +C$ C" J H
C DGH
C" DR# . RGH
C D' GH
C" DR) 2# RGH
C D GH
C DGH
C 3 J H
C 3 *J H
" C J H
C" DR ! 2# RGH
C D' GH
C D GH

C D%>GH BB) 0
+'

C D'>GH BB) 0

#. %J H BB )
#. 'J H BB $

C H
:"J H
)C H

0$ D2# C; C JJ EE S0 C2# C) GP
)D " C SJ 8 : GP
" C J 8 : H
C D' GH
J " )D > RT R> " C GH
C" D GH

Q
QBB0$ D2# C; C JJ G

C DGH
J " )D > RU J T R>
2# C; C GH
C" D GH

C D' GH
J " )D > RT R> GH
C" D GH

C D GH

BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB " " BBBBBBBBBBBBBBBBBBBBBBBB


: C) J H
0: J H

0$ DS: C) EE 0: SJ GP
: C) J H
0: J H
C DGH
J " )D > RU 6T 6T R>
2# C; C > GH
C" D GH
C D' GH
J " )D > R=3 #6T )R>$C " GH
C" D GH
C D GH

C DGH
J " )D > RT =* 6T )R> C" >
$C GH
C" D GH
C D' GH
J " )D > R(6
T )#6T )R>C >"C GH
C" D GH
C D GH

Q
++

C DGH
C" DR* 0 " RGH
C D' GH
C" DR ) RGH
C D%GH

BBBBBBBBBBBBBBB ) BBBBBBBBBBBBBBBBBBBB

0$ D 0: SJ GP
C DGH
C" DR?6 I6 RGH

: C) J H
0: J H

0$ DS: C) GP
)D C-8&C SJ -8&C GP
C-8&C J -8&C H
C D' GH
J " )D > R=3 #6T )R>
$C " GH
C" D GH
QBB )D C-8&C SJ -8&C G
QBB0$ DS: C) G

)D 0: JJ GP BB
C-8&C J -8&C H
BB 0 ")
0$ D C-8&C JJ -8&C GH
BB0 ) 0 "

BB C DGH
BB C" DR RGH
BB0$ D$C "AJ 'GH
0$ D C" JJ L
(LEE S0 C2# C) GH BB "

" C" J E H
C0 " D" C" GH

BB " 0 " )
C DGH
J " )D > R, 6T T ') R> C > C GH
C" D GH
C D' GH
J " )D > R, 6T
T ') R> C > C GH
C" D GH
C D GH

C DGH
C" DR. " RGH
C D GH

QBB )D 0: JJ G
+

QBB0$ DS: C) EE 0: SJ G

C DGH
C" DR# ? RGH

: C) J H
0: J H

0$ DS: C) V
V 0: SJ GH
BB0 ) ?:

0$ D C" JJ L
(LEE S0 C2# C) GH BB "

C DGH
C" DR RGH
C D GH
C "J H

BB

:" J''H BB 0 $
5 C"0 H BB ) "0
) C$ H
C J C D C " C" > GH

C$ H
C$ H

0$ D C A %G
P
$ :C DGH BB " " "

BB
)D %C @% V
V C @% V
V C @% G
P
C DGH
Q
)D %C A 4+EE C )C C" C C$ A 4+G
P
DGH
Q

P
0 C) 0DGH
Q
BB )
C J C D C " C" >
" $N" $C" W OGH
QBB 0$ D C A % G

C DGH
C DGH
C" DR. " $ RGH
C D' GH
C D+GH
+4

#. %J H
#. 'J H
C DGH
C" DR* # RGH
0$ D G

QBB

BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB ) ) BBBBBBBBBBBBBBBBBBBBBBBBBBB
BI
D G
P
:" J+ H

C$ J C$ D C " C" > GH

C$ J " C$ < C$ H

)D D C$ GA GP
)D C$ @< GP
BB )
C$ J% W C$ H
#. 'J ' H BB $
5 C"0 J ' < :" I D C$ GH BB ) )
)D 5 C"0 @ G
P
#. %J H
Q

P
#. %J ' < :" I D C$ GH BB )
Q
Q
)D C$ A< EE C$ @ GP
#. %J ' H
5 C"0 J ' < :" I D C$ GH
)D 5 C"0 @ G
P
#. 'J H
Q

P
#. 'J ' < :" I D C$ GH
Q
Q
)D C$ A EE C$ @ GP
BB )
#. 'J ' H
5 C"0 J ' < :" I D C$ GH
)D 5 C"0 @ G
P
#. %J H
Q

P
+

#. %J ' < :" I D C$ GH


Q
Q
)D C$ A G P
BB $
C$ J% < C$ H
#. %J ' H
5 C"0 J ' < :" I D C$ GH
)D 5 C"0 @ G
P
#. 'J H
Q

P
#. 'J ' < :" I D C$ GH
Q
Q
PQ BB )D D C$ GA %G
Q

P
BB " )D 5 0 >R $> C$J T )X X R> C$ GH
BB0 C- 7DD$ IG 5 0 > D 5 0 GGH
#. 'J ' H
#. %J ' H
QBB )D D C$ GA %G

C J C D C " C" > GH


Q BB

BB " "
$ :C D G
P
BB $ Y C C Y
: C H

C J 3&7-/FF B H BB 1 (" $
C J 3&7-/FF B H
%C J 3&7-/FF B H

BB C" C C C$ DG Y
C J " C$ W1 H
)D C A% G
P
C J C <% H
Q
C J " C$ H
%C J " C$ <1 H
)D +C @G
P
+C J% W 'C H
Q
+1

)D< +@ C$ Z C EE C$ Z C @ 1 GH
P C )C C" C C$ J C H
: C J H
Q
)D D C$ Z C G@ +GH
P C )C C" C C$ J C H
: C J H
Q
)D D C$ Z %C G@ +GH
P C )C C" C C$ J %C H
: C J %H
Q
)D D C$ Z 'C G@ +GH
P C )C C" C C$ J 'C H
: C J 'H
Q
)D<1 @ C$ Z +C EE C$ Z +C @ +GH
P C )C C" C C$ J +C H
: C J +H
Q
PQ
Q

0 C) 0 D G
P
$ :C DGH BB $ :
:"J % H

)D %C @ 4+GBB 0$ 0 ) 0 $
P
BB) 0
#. %J H
#. 'J H
C" DR 7 8 &,* =* 3RGH
C D' GH
Q
BB 0 ) 0 0 $ $
P

)D 'C @ 4+V
V +C @ 4+G
P
C J 4+Z +C H BB 3&7-/FF Y
)D C @G
P
#. %J ' H
#. 'J ' < :"I D C GH
Q

P
#. 'J ' H
#. %J ' < :"I D C GH
Q
Q

)D C @ 4+ V
V C @ 4+GH
P
C J 4+Z C H 3&7-/FF Y
)D C AG
P
#. C J' H
#. C J' < :"I D C GH
Q

P
#. C J' H
#. C J' < :"I D C GH
Q
Q
H
Q BB )) 0 ) 0 $ )
Q BB )) )

IB
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB

0 C- 7D$ I C C0 > C GP
BB 5 " 6
BB0 C- 7DD$ IG > ! )D GGH
BB0$ )$

> H

C- 8F *J H BB 8F "

)D C W 8FC7 )) C, A ! )D8FC7 )) GGP


C- 8F *J H BB 8F "
< H
Q

)D JH @ C H WWGP
J 8FC7 )) C# W8FC7 )) C, W H
)D AJ ! )D8FC7 )) GG <J ! )D8FC7 )) GH
8FC7 )) N OJ C C0 N OH
Q
8FC7 )) C, WJ C H

)DS- 8 -8F7/GP
- 8F *2 J 8FC7 )) N8FC7 )) C# OH BB0
8FC7 )) C, <<H BB $
8FC7 )) C# WWH BB "
)D8FC7 )) C# JJ ! )D8FC7 )) GGP
8FC7 )) C# J H
Q
Q

)D8FC7 )) C, JJ G8FC7 )) C# J H BB " ! 0 ""

C- 8F *J H BB 8F "
H
Q

C -FC- 8D GP
BB- 8
- 7 2 J +H BB- 7 2 J +<<A + + 7 [ 1' #
- 3*J H BB < > "
- 8 J H

C- 8F # J +H BB" +< $ $ $
C- F # J +H BB" +< $ $ $
- 8 -8F *, J H BB " 0$ ) $)
- 8 - F *, J H BB " 0$ $
- 3* - 8* J H BB - 8
- 8 -8F* J H BB - 8 > 8F "

C- 8F /J H
C- F /J H
C- 8F *J H BB 8F "
C- F *J H BB F "

0 C" : D $ I" : > 5C GP


$ 5C" : N OH
5C" >5C $ : H

5C" : N OJ K &C&= H
5C" : N OJ K &C&= H
5C" : N OJ 5C H

5C $ : J H
) D5C" J H 5C" @ 5C H 5C" WWGP
5C" : N 5C" W %OJ " : N 5C" OH
5C $ : WJ " : N 5C" OH
Q
5C" : N 5C" W %OJ 5C $ : T +H

0 C- 7 DD$ IG5C" : >5C W 'GH


Q

0 C- 7 D$ I C C0 > C GP
BB 5 " 6
BB0 C- 7DD$ IG > ! )D GGH
BB0$ )$

> H

C- 8F *J H BB 8F "

)D C W 8FC7 )) C, A ! )D8FC7 )) GGP


C- 8F *J H BB 8F "
< H
Q

)D JH @ C H WWGP
J 8FC7 )) C# W8FC7 )) C, W H
)D AJ ! )D8FC7 )) GG <J ! )D8FC7 )) GH
8FC7 )) N OJ C C0 N OH
Q
8FC7 )) C, WJ C H

)DS- 8 -8F7/GP
- 8F *2 J 8FC7 )) N8FC7 )) C# OH BB0
8FC7 )) C, <<H BB $
8FC7 )) C# WWH BB "
)D8FC7 )) C# JJ ! )D8FC7 )) GGP
8FC7 )) C# J H
Q
Q

)D8FC7 )) C, JJ G8FC7 )) C# J H BB " ! 0 ""

C- 8F *J H BB 8F "
H
Q

CC CCDD "> C" GGC- F "D GP


BB $ FC " > FC " > FC "%H

)D- 8 #* JJ G#* WWH


)D- 8 /* JJ G/* WWH
)D- 8 * JJ G * WWH

0$ D- 8 - F3 GP
FC7 )) N FC7 )) C# OJ - F *2H

0 $D FC GP
6
)D FC7 )) N FC7 )) C# OJJ 2# C C $ GP
FC7 )) C&$: J H
"C $: J H
FC7 )) C# WWH
FC J H
Q
:H

6
)D FC7 )) N FC7 )) C# OJJ 2# C $: C $ GP
FC7 )) C# WWH
FC J $: H
Q
P
)D FC7 )) C&$: JJ G FC7 )) C&$: J FC7 )) N FC7 )) C# OH
FC7 )) C&$: \J FC7 )) N FC7 )) C# OH
FC7 )) C# WWH
Q
%

:H

$: 6
)D FC7 )) N FC7 )) C# OJJ 2# C C $ C GP
FC7 )) C# WWH
FC J H
Q
)D "C $: JJ GP
)D FC7 )) N FC7 )) C# OA 5%1G "C $: J D FC7 )) N FC7 )) C# O< 5%4GI H
"C $: J D FC7 )) N FC7 )) C# O< 5% GI H
FC7 )) C# WWH
Q
P
)D FC7 )) N FC7 )) C# OA 5%1G "C $: WJ D FC7 )) N FC7 )) C# O< 5%4GH
"C $: WJ FC7 )) N FC7 )) C# O< 5% H
FC7 )) C# WWH
)D "C $: SJ FC7 )) C&$: GP
FC J H
FC7 )) C# J H
Q
Q
:H

6
)D FC7 )) N FC7 )) C# OJJ 2# C C $ C GP
FC J H
FC7 )) C, J FC7 )) C# W H BB $ M>& >,/
FC7 )) C# J H
0C" : D FC7 )) > FC7 )) C, GH

Q
:H

) 6
FC J H
QBB 0 $D FC G
QBB0$ D- 8 - F3 G

C- F /J H
QBB CC CCDD "> C" GGC- F "D G

CC CCDD "> C" GGC- 8F "D GP

)D8FC7 )) C, SJ GP
0$ DS- 8 -8F7/GP
- 8F *2 J 8FC7 )) N8FC7 )) C# OH

8FC7 )) C# WWH
)D8FC7 )) C# JJ ! )D8FC7 )) GGP
8FC7 )) C# J H
Q

8FC7 )) C, <<H
)D8FC7 )) C, JJ GP
8FC7 )) C# J H BB " ! 0 ""
'

:H BB 5 0$ "
Q
QBBDS- 8 -8F7/G
QBB )D8FC7 )) C, SJ G
C- 8F /J H
QBB CC CCDD "> C" GGC- 8F "D G

CC CCDD "> C" GGC- F "D GP


C- F /J H
QBB CC CCDD "> C" GGC- F "D G

CC CCDD "> C" GGC- 8F "D GP

)D8FC7 )) C, SJ GP
0$ DS- 8 -8F7/GP
- 8F *2 J 8FC7 )) N8FC7 )) C# OH

8FC7 )) C# WWH
)D8FC7 )) C# JJ ! )D8FC7 )) GGP
8FC7 )) C# J H
Q

8FC7 )) C, <<H
)D8FC7 )) C, JJ GP
8FC7 )) C# J H BB " ! 0 ""
:H BB 5 0$ "
Q
QBBDS- 8 -8F7/G
QBB )D8FC7 )) C, SJ G
C- 8F /J H
QBB CC CCDD "> C" GGC- 8F "D G

0C" : D$ 2# C" : N O> " : C GP


2# C" : C" J H
H
$ " : C3 J H
" : C J H
) "C " J H
"C J H

)D2# C" : N2# C" : C" OJJ L ML


GP
" : C 3 J 2# C" : N OH
) DJ H @ H WWG" : C 3 \J 2# C" : N OH
QBB )D2# C" : N2# C" : C" OJJ L MLG

0 $ D" : C 3GP
2# &6
) DJ H @J" : C H WWGP
0 $D" : C GP
6 BB )
)D2# C" : N OJJ L
>L
GP
" : C WWH
"C " J H
-8&C J H
Q
+

:H

6 BB-8&
)D2# C" : N OJJ L
>L
GP
" : C WWH
"C " J H
C J H
C J H
"C J H
Q
P
-8&C WJ D2# C" : N O< ' GI "C " H
"C " BJ H
Q
:H

6 BB
)D2# C" : N OJJ L>
LGP
" : C WWH
"C " J H
C J H
C J H
"C J H
Q
C" J 2# C" : N OH
:H

%6 BB,
)D2# C" : N OJJ L
>L
GP
" : C WWH
Q
)D2# C" : N OSJ LLGP
)D "C @ GP
C WJ D2# C" : N O< ' GI "C " H
"C " BJ H
"C WWH
)D "C JJ G "C " J H
Q
P
C WJ D2# C" : N O< ' GI "C " H
"C " BJ H
Q

Q
:H

'6 BB, $ "$


)D2# C" : N OJJ L
>L
GP
" : C WWH
"C " J H
C J H
C J H
"C J H
Q
C$ "$ J 2# C" : N OH
:H
+6 BB,
)D2# C" : N OJJ L >
LG" : C WWH
)D2# C" : N OSJ LLGP
)D "C @ %GP
C WJ D2# C" : N O< ' GI "C " H
"C " BJ H
"C WWH
)D "C JJ %G "C " J H
Q
P
C WJ D2# C" : N O< ' GI "C " H
"C " BJ H
Q
Q
:H

6 BB, $ "$
)D2# C" : N OJJ L
>LGP
" : C WWH
2# C " J H
"C " J H
BB
BB C0 " D
Q
C$ "$ J 2# C" : N OH
:H

46 BB "
)D2# C" : N OJJ L
>L
GP
" : C WWH
"C " J H
2# C J H
Q
P
2# C " WJ D2# C" : N O< ' GI "C " H
"C " BJ H
Q
:H

6 BB&
)D2# C" : N OJJ L
>L
GP
" : C WWH
"C " J H
-8&C J H
)D2# C SJ GP
"C C WJ 2# C H
C WWH
Q
Q
P
2# C WJ D2# C" : N O< ' GI "C " H
"C " BJ H
Q
:H
4

16 BB-8&
)D2# C" : N OJJ L>L
GP
" : C WWH
"C " J H
C J H
Q
P
-8&C WJ D2# C" : N O< ' GI "C " H
"C " BJ H
Q
:H

6BB
)D2# C" : N OJJ L
>L
G" : C WWH
P
C WJ D2# C" : N O< ' GI "C " H
"C " BJ H
Q
:H

6BB
C C J 2# C" : N OH
" : C WWH

" C" J E C " C" H BB )


C0 " D" C" GH BB )
)D C " SJ G
P
" C" JE" $N C " OH BB )
C0 " D" C" GH BB )
C " WWH BB )
Q
:H

) 6
:H
QBB 0 $D" : C G
QBB) DJ H @J" : C H WWG
:H

2#22 6
) DJ H @J" : C H WWGP
0 $D" : C GP
6 BB )
)D2# C" : N OJJ L
>L
GP
" : C WWH
"C " J H
-8&C J H
Q
:H

6 BB-8& 8
)D2# C" : N OJJ L
>L
GP
" : C WWH
"C " J H
C J H
C J H
"C J H
Q
P
-8&C WJ D2# C" : N O<
' GI "C " H
"C " BJ H
Q
:H

6 BB
)D2# C" : N OJJ L
>L
GP
" : C WWH
Q
)D2# C" : N OSJ LL
GP
)D "C @ GP
C WJ D2# C" : N O< ' GI "C " H
"C " BJ H
"C WWH
)D "C JJ G "C " J H
Q
P
C WJ D2# C" : N O< ' GI "C " H
"C " BJ H
Q

Q
:H

%6 BB $ "$
)D2# C" : N OJJ L>
LGP
" : C WWH
"C " J H
C J H
C J H
"C J H
Q
C$ "$ J 2# C" : N OH
:H

'6 BB
)D2# C" : N OJJ L>L
G" : C WWH
)D2# C" : N OSJ LL
GP
)D "C @ %GP
C WJ D2# C" : N O< ' GI "C " H
"C " BJ H
"C WWH
)D "C JJ %G "C " J H
Q
P
C WJ D2# C" : N O< ' GI "C " H
"C " BJ H
Q
Q
:H
1

+6 BB $ "$
)D2# C" : N OJJ L
>L
G" : C WWH
C$ "$ J 2# C" : N OH
:H

6 BB2# ;
)D2# C" : N OJJ L
>L
GP

" : C WWH
J H
"C " J H
)D2# C; C JJ GC 3 J H
C3 J H
)D2# C; C A G 0C2# C)
J H
Q
2# C; C J 2# C" : N O<' H
:H

46 BB ) <
)D2# C" : N OJJ L>L
GP
" : C WWH
$C "J H
)D2# C" : N W OJJ LLV
V2# C" : N W OJJ L >
LG "C " J H
)D2# C" : N W OJJ LL G "C " J H
"C " J H
$C " J )DE2# C" : N W OGH
Q
P
WJ D2# C" : N O<
' GI "C " H
"C " BJ H
Q
:H

6 BB= ! )" +<11+


)D2# C" : N OJJ L
>L
GP
" : C WWH
Q
)D2# C" : N OSJ LL
G
$C "WJ D2# C" : N O<' GI "C " H
:H

16
:H

6BB2 = $ 6<1111< 11111>


:H

6BB32#
:H

6BB32# ) 3 < %
:H
4

) 6
:H

QBB 0 $D" : C G
QBB) DJ H @J" : C H WWG
:H

2#2 6
J H
:H

#2 *6
) DJ H @J" : C H WWGP
0 $D" : C GP
6 BB )
)D2# C" : N OJJ L >
LGP
" : C WWH
)D2# C" : N W OJJ LL G "C " J H
)D2# C" : N W%OJJ LL
G "C " J H
"C " J H
$C J H

Q
:H

6 BB$ !
)D2# C" : N OJJ L
>L
GP
" : C WWH
WJ H

Q
P
$C J )DE2# C" : N W OGH
0$ D2# C" : N W OSJ L
>L
G WWH
BB$C WJ D2# C" : N O<
' GI "C " H
BB "C " BJ H
Q
:H

6 BB
)D2# C" : N OJJ L
>L
GP
" : C WWH
WJ H

Q
P
C J )DE2# C" : N W OGH
0$ D2# C" : N W OSJ L
>L
G WWH
BB C WJ D2# C" : N O<
' GI "C " H
BB "C " BJ H
Q
:H

%6 BB"
4

)D2# C" : N OJJ L


>LGP
" : C WWH
Q
P
"C J )DE2# C" : N W OGH
0$ D2# C" : N OSJ L>L
G WWH
BB"C WJ D2# C" : N O<
' GI "C " H
BB "C " BJ H
Q
:H

) 6
:H
QBB 0 $D" : C G
QBB) DJ H @J" : C H WWG
:H

#2 76
J H
:H

#2 6
J H
:H

) 6
J H
QBB 0 $ D" : C 3G

QBB 0C" : D$ 2# C" : N O> " : C G

CC CCDD "> C" GGC / D GP


"C) J H
C" J #&,H
C" $ J #&=H
DR * *8RGH
Q

CC CCDD "> C" GGC * D GP


"C) J H
C" J #&,H
C" $ J #&=H
DR * *8RGH
Q

CC CCDD "> C" GGC :* D GP


"C) J %H
C" J #&,H
C" $ J #&=H
DR * *8RGH
Q

CC CCDD "> C" GGC $* D GP


4

"C) J 'H
C" J #&,H
C" $ J #&=H
DR * *8RGH
Q

CC CCDD "> C" GGC 3& "D GP


C 3 *J H

)D GP BBS: C) GP
)D 3&7-/4A %+GP
)D 3&7-/4@J %+ G 0: J H
)D 3&7-/4AJ %+ EE 3&7-/4@J ++ G 0: J +H
)D 3&7-/4AJ ++ EE 3&7-/4@J 4 G 0: J H
)D 3&7-/4AJ 4 G 0: J H

)D: C C) GP
)D : JJ 3&7-/4GP
: C) J H
: C C) J H
: J H
Q
P
: J 3&7-/4H
C D GH
Q
QBB )D: C C) G
P
: C C) J H
: J 3&7-/4H
C D GH
QBB
QBB )D 3&7-/ A %+G

)D 3&7-/ A %+GP
)D 3&7-/ @J %+ G 0: J H
)D 3&7-/ AJ %+ EE 3&7-/ @J ++ G 0: J 'H
)D 3&7-/ AJ ++ EE 3&7-/ @J 4 G 0: J 4H
)D 3&7-/ AJ 4 G 0: J H

)D: C C) GP
)D : JJ 3&7-/ GP
: C) J H
: C C) J H
: J H
Q
P
: J 3&7-/ H
C D GH
Q
QBB )D: C C) G
P
: C C) J H
: J 3&7-/ H
C D GH
QBB
4%

QBB )D 3&7-/ A %+G

)D 3&7-/1A %+GP
)D 3&7-/1@J %+ G 0: J %H
)D 3&7-/1AJ %+ EE 3&7-/1@J ++ G 0: J H
)D 3&7-/1AJ ++ EE 3&7-/1@J 4 G 0: J 1H
)D 3&7-/1AJ 4 G 0: J H

)D: C C) GP
)D : JJ 3&7-/1GP
: C) J H
: C C) J H
: J H
Q
P
: J 3&7-/1H
C D GH
Q
QBB )D: C C) G
P
: C C) J H
: J 3&7-/1H
C D GH
QBB
QBB )D 3&7-/1A %+G

P
: C C) J H
: J H
QBB
QBB )DS: C) G
BI
1J ) J
J )4J
J )
J )1J %
IB

C 3 *J H
C 3 /J H
Q

CC CCDDCC "CC>CC $ 0CCGGC8 "D G


P

:J H
H
;C WWH
)D 8 : A GBB )
8 : <J HBB
8 : : WWHBB :
8 : WWH

)D : WW JJ G
PBB )
: J HBB :
4'

BB 8 : J H
8 : WWHBB
BI)D 8 : T A G
C3 J H

C3 J HIB

Q
)D : T+ JJ GP
BB ! " %
)D %! C " C) JJ EE %" SJ GP
%" J H
) DJ H @ " C$ C H WWGP
% " C$ N OJ H
QBB)
% " C$ C" J H
QBB )
%! C " C) J H

BB ! " '
)D '! C " C) JJ EE '" SJ GP
'" J H
) DJ H @ " C$ C H WWGP
' " C$ N OJ H
QBB)
' " C$ C" J H
QBB )
'! C " C) J H
Q

BB 0$
)D # C JJ EE : T +JJ GP
# C J H
# 7-/J L
$LH
C3 J H
# C" C WWH
Q
)D : T+ JJ GP
)D # 8 8 # (GP
# C WWH
# 8 8 # (J H
Q
# C J H
C3 J H
Q

8 : : J :H
/ 8 /J HBB ")

CC CCDD "> C" GGC8 "D GP


8& 8 J H
)D C0 C) GP
0 $D C0 C GP
4+

6 BB$ $
,&3C%J D0 C$ >
4GH
,&3C J D0 C$ >GH
,&3C J D0 C$ >
+GH
,&3C J D0 C$ >
'GH
,&3C* J H
0$ D,&3C* SJ GH BB
# J % I'H
BB '
C0 C J H
:H

6 BB 0
,&3C* J H
0$ D,&3C* SJ GHBB
,&3C%J D0 C $ >%GH
,&3C J D0 C $ >GH
,&3C J D0 C $ >GH
,&3C J D0 C $ >GH
,&3C* J H
0$ D,&3C* SJ GHBB > '
C0 C J H
:H

6 BB) $ $ 0
,&3C* J H
0$ D,&3C* SJ GHBB
# J % I' HBB '
C0 C) J HBB )
C0 C J HBB $ $
:H

) 6
# J % I' H
C0 C) J H
:H
QBB 0 $D C0 C G
QBB )D C0 C G
P
0 $D C GP
6 BB
,&3C J H
0 C$ J 5 H
C0 C) J H
C J H
8& 8&]# J H BB"
# J% H
:H

6 BB )
# J % ,I H
C J H
:H

6 BB 0
J " )D >
R, 6T +)R> "C0 " C GH
4

BB J " )D > RT 6T )R># C >$ C GH


C" J H
C J %H
# J% H
:H

%6 BB0 $
,&3C J H BB0 $
)DI C" SJ GP
0 C $ J I C" H
C" WWH
C0 C) J H
Q
P
C J 'H
# J% H
Q
:H

'6 BB 0
,&3C J H
0 C $ J 5 W' H
C0 C) J H
C J +H
# J% H
:H

+6 BB 0 0
J " )D > R, 6T +)R> "C0 " C GH
C" J H
C J H
# J% H
:H

6 BB0 $
,&3C J H BB0 $
)DI C" SJ GP
0 C $ J I C" H
C" WWH
C0 C) J H
Q
P
C J 4H BB : C
# J % ,I H BB
Q
:H

46
8& 8&]# J %H BB" >%<<A 6+ D + G
# J % ,I H
C J H
:H

) 6
:H
QBB 0 $D C G
44

QBB

8& 8 J H
C8 /J H
Q

CC CCDD "> C" GGC 8 "D GP


BB " $ #< &]
"C$ N "C$ C" OJ C /4H
)D"C$ C" AJ 11G "C$ C" J H
"C$ C" WWH
:C WWH

C 8 /J H

CC CCDD "> C" GGC 8% "D GP


BB % "
BB :J +

BB C "J 8 +H
%" WJ +H

%" C$ N %" C$ C" OJ 8 +H

)D % " C$ C" JJ " C$ C < GP


% C J % " C$ N % " C$ C" O< %" C$ N OH
)D % C @G % C WJ ++%+H
% " J D" C$ C < GBD ID % C GI 4 < GH
% " C$ C" J H
Q
P
% C J % " C$ N % " C$ C" O<
% " C$ N % " C$ C" W OH
)D % C @G % C WJ ++%+H
% " J D" C$ C < GBD ID % C GI 4 < GH
% " C$ C" WWH
Q

% 0C " J H
%! C " C) J H
)DC 8%*#G C 8%*# J H
C 8%*# J H

C 8% /J H BB ")
QBB CC CCDD "> C" GGC 8% "D G

CC CCDD "> C" GGC 8' "D GP


BB ' "
BB : J+

BB C "J 8 +H
'" WJ +H
4

'" C$ N '" C$ C" OJ 8 +H

)D '" C$ C" JJ " C$ C < GP


' C J ' " C$ N ' " C$ C" O<
'" C$ N OH
)D ' C @G ' C WJ ++%+H
' " J D" C$ C < GBD ID ' C GI 4 < GH
' " C$ C" J H
Q
P
' C J ' " C$ N ' " C$ C" O<
'" C$ N ' " C$ C" W OH
)D ' C @G ' C WJ ++%+H
' " J D" C$ C < GBD ID ' C GI 4 < GH
' " C$ C" WWH
Q

' 0C " J H
'! C " C) J H
)DC 8'*#G C 8'*# J H
C 8'*# J H

C 8' /J H BB ")
QBB CC CCDD "> C" GGC 8' "D G

CC CCDD "> C" GGC # "D GP


$ "C $ H
"C $ J # 7-/H

0 $D # C GP
6
)D "C $ JJ LL
G# C J H
)D "C $ JJ LL GP
# C J H
# C WWH
C3 J H
Q
BB P
BB # C J H
BB # C WWH
BB C3 J H
BB # C C J D8 W+ GT 1'4 HBB
BB Q
:H

6
$ =J "C $ H
$ = J$ =T + H
# C J %H
:H

%6
$ ,J "C $ H
$ , J$ ,T + H
# C J H
C3 J H
41

# C C J D8 W+ GT 1'4 H BB

$ J H
$ J + I$ =H
$ WJ$ ,H
$ BJ H
" C$ J$ H
)D C C JJ L
.LG$ <J C H
)D C C JJ L
*LG$ WJ C H
0$ D$ AJ % G$ <J % H
0$ D$ @ G$ WJ % H

# C WWH
0C " C) J H

:H
'6
# C WWH
# C J H
:H
Q

C # /J H BB "
QBB CC CCDD "> C" GGC # "D G

BIIIIIIIII* 3 / 8* -#8 * ( &* -8 * IIIIIIIIB

C$ D GP
"C) J H
"J 8 : WH

" C #C J # C H

0$ D "C) JJ GP
)D # C JJ EE 8 A # C C EE C 3 JJ GP
BB )D # C JJ EE " C #C JJ # C GP
BB" C #C J # C H
# C J H
# 7-/J L $L
H
C3 J H
Q
)D # C A" C #C G "C) J H
)D 8 : A "GP
C3 J H
# C J H
Q

Q
QBB C$ D G

C$ D GP
"C) J H
"H

)D # C SJ GP
C D+GH
C3 J H
# C J H
Q
"J 8 : W H
" C #C J # C H

0$ D "C) JJ GP
)D # C JJ EE 8 A # C C EE C 3 JJ GP
BB )D # C JJ EE " C #C JJ # C GP
BB" C #C J # C H
# C J H
# 7-/J L $L
H
C3 J H
Q
)D # C A" C #C G "C) J H
)D 8 : A "GP
C3 J H
# C J H
C D GH
Q

Q
QBB C$ D G

C D $ > GP
BB $ %J $ > $ 'J )
BB J) 0 >J
)D$ JJ %GP
)D JJ GP
3% J H
3%7 J H
Q
)D JJ GP
3% J H
3%7 J H
Q
Q
)D$ JJ 'GP
)D JJ GP
3' J H
3'7 J H
Q
)D JJ GP
3' J H
3'7 J H
Q
Q
QBB C D $ > G

C- 8D GP
8FC7 )) C, J H
8FC7 )) C# J H
FC7 )) C, J H
FC7 )) C# J H
8FC7 )) C C- J H
FC J H

- 7 2 J% H BB% %H BB- 7 2 J % %<<A ' 7 [ 1' #


- 3*J H BB < > "
- 8 J H

C- 8F # J +H BB" < $ $
C- F # J H BB" 4J $ $
- 8 -8F *, J H BB " 0$ ) $)
- 8 - F *, J H BB " 0$ $
BB- 3* 7 -3 J H
- 3* - 8* J H BB - 8
- 8 -8F* J H BB - 8 > 8F "

C- 8F /J H
C- F /J H
C- 8F *J H BB 8F "
C- F *J H BB F "

- 7 2 J 4H BB- 7 2 J 4<<A %% +7 W T [ 1' #


- 3*J H BB < > "
- 8 J H

C- 8F # J H BB" < $ $
C- F # J 4H BB" 4J $ $
- 8 -8F *, J H BB " 0$ ) $)
- 8 - F *, J H BB " 0$ $
- 3* - 8* J H BB - 8
- 8 -8F* J H BB - 8 > 8F "
C- 8F /J H
C- F /J H
C- 8F *J H BB 8F "
C- F *J H BB F "
QBB C- 8D G

C # D GP
BI
) $ #"
&]> 3 > 3 # 8 ) $ 3 3
31 3

: J
:"J
IB

# C J H
# C J H
$ J H
$ =J H
$ ,J H
# C C J H
# C J H
# C" C J H

BB "C$ C" J H
C # *J H
# 8 8 #* J H

# 7-/J H BB # ))

C # /J H BB "" " >$ " ) $


C # *J H
C # # J %H

# & J H BB # )
# 8 8 # (J H

C 3 J H BB $ $ # 0)

BB # & &]*J H
BB # & &]# J H
BB # & * J H

# 8 8 # * J H BB ##

QBB C#

#C D GP

C3 J H

"C J H
"C C "J H
"C$ C" J H
"C$ N OJ L
$LH
"C N OJ # 8/H
8 C$ N OJ 8 : :H
BB # C J H
BBC 3 J H

) DHHGP

BB )D # C JJ EE 8 : A # C C EE C 3 JJ GP
)D # C JJ EE 8 A # C C EE C 3 JJ GP
BBC # DGH
"C J # C H
# C J H
# 7-/J L $L
H
C3 J H

BB )D"C$ C" AJ 11G "C$ C" J H


BB "C$ C" WWH
BB "C$ N "C$ C" OJ D$ G # 7-/H
Q
%

)D$ SJ "C$ N "C$ C" < OGP


)D"C$ C" AJ 11G "C$ C" J H
"C$ C" WWH
"C$ N "C$ C" OJ $ H
"C N "C$ C" OJ # C H
"C C "J 8 : WH

)D # 8 8 # ( JJ GP
# C WWH
Q

QBB)
QBB # C

#C D GP
"C$ C" J H
"C$ N OJ L$L
H
8 C$ N OJ 8 : :H
:C J H
C3 J H

) DHHGP

BB )D # C JJ EE 8 : A # C C EE C 3 JJ GP
)D # C JJ EE 8 A # C C EE C 3 JJ GP
BB # 8 8 #* J H
# C J H
# 7-/J L
$LH
C3 J H

)D # 8 8 # ( JJ GP
# C WWH
Q

QBB)
QBB # C

C#. D GP
#8& J H
C#8* J H BB
C#8 # J H BB" > ))
C#8&]# J H BB" > ) #. ); > <<A#. : I8 D'B/ G
C#8 3 J H BB) <

#8#* J H BB "

#. & J H
C# 3 J H BB "
C# 3 J H BB "
'

C# 3%J H BB "
C# 3'J H BB "
C#* =J H BB #. = $
C#* =J H BB #. = $ ,*/8 8
C#* %= J H BB #. %= $
C#* '= J H BB #. '= $ 2=8 8

#. & J H
38& J H
38& J H
/,8 & J H
/,87& J H

(3& J H
C# (3 = J H BB B " #.
C# (3 = J H BB B " #.
C# (3%= J H BB B " #.
C# (3'= J H BB B " #.

#3&'J H BB
#3&%J H BB
#3& J H BB %
#3& J H BB '
Q

C D GP
8 J 5////H
8 7 J 5////H
8 & J 5////H
8 3 J 5////H
8 *J 5////H
8 /J 5////H
8 2 J 5////H

C8 3 J H BB -8#-8
C8 3 J H BB -8#-8
C8 3 J H BB -8#-8%
C8 & %J H BB -8#-8'
C8 & 'J H BB -8#-8+
C8 3 J H BB -8#-8
C8 3 J H BB -8#-84

C8 *4J H BB#.
C8 *+J H BB#.
C8 *%J H BB#. %
C8 * J H BB#. '
C8 21J H BB3
C8 2 J H BB3 7
C8 2 J H BB3
C8 24J H BB3 7
C8 &%J H BB3%
C8 2 J H BB3%7
C8 / J H BB3'
C8 2 J H BB3'7

C8 3 +J H BB 8 D- 7G
+

C8 31J H BB
C8 3 J H BB
Q

C 85D GP

BB )DK G C 8'*# J H BB
BB C 8'*# J H BB "
BB )DK G C 8%*# J H BB
BB C 8%*# J H BB "
)DK%G C 8 *# J H BB
C 8 *# J H BB "
)DK'G C 8 *# J H BB
C 8 *# J H BB "

C 8 #J H BB ""
C 8 #J H
C 8% # J H
C 8' # J H

C 8 /J H BB ")
C 8 /J H
C 8% /J H
C 8' /J H

C 8 *J H BB "
C 8 *J H
C 8% *J H
C 8' *J H

C 3 #J H

BBC # *J H BB # "
BBC # # J 4H

QBB C 85

C +D GP
BB) "
8+& J H BB :> <
8+& 8&]# J H BB" > <<A 6'D 4 G
8+& 8 J H BB +
BB C8+ /J H
BB C8+ *J H
Q

C: " D GP
: C) J H
: C C) J H
0: J H

C 3 *J H
C 3 J H
BB " " " 3#&/2@ +6A
C#&/2 J H
C#&/2 J H
C#&/2%J H
C#&/2'J H
C#&/2+J H
C#&/2 J H
C#&/24J H
C#&/2 J H
C#&/21J H
C#&/2 J H
C#&/2 J H
C#&/2 J H
BB ) $ 5" " 3& @ +6%A
C(&/2 J H
BB $ : $ 0 $" : 3& %@+6A
C 3& J H
BB3 $ 0 B= $ 0 3& @16A 3#&/2@ +6A
3& &=# J H
BB3 $ 0 " 0 3& @%A 3& ,@ +6A
C J H
C& , J H
C& , J H
C& ,%J H
C& ,'J H
C& ,+J H
C& , J H
C& ,4J H
C& , J H
C& ,1J H
C& , J H
C& , J H
C& , J H
BB3 $ 0 " 0 B= $ 3&= @ +6A

BB $ "" " " B ; 3& @46A 3& %@ 6A


C &J H
C J H
C &J H
BB $ 0 " $ )) 3& @16A
C/ J H
BB " 3& @+6
1A
C #J H
BB8 B3 3& @ +A
C ,8 J H
C& & J H

QBB C: " D G

BI
)J
)%J
)J
0
" J )'
%J )
'J )
+J )
4

J )+
1J ) J
J )4J
J )
J )1J %

IB

C D C GP
H
) D J H @+I C H WWGH
J H

BI C H
C J8 W C I 1H
)D C AJ 1' G C <J 1' H
)D C @ G C J H
0$ D C @8 GHBB ) C $ 8 >0 ) 8
0$ D8 @ C GHIB
Q

C D C GP
H
)DJ H @ C H WWG C D GH
BI C H
C J 8 : :W C H
)D C AJ G C <J H
)D C @ G C J H
0$ D C @ 8 : : GH
0$ D C A 8 : : GHIB
Q

CD C GP
"H
"J 8 : W C H
0$ D 8 : @ "GH
Q

,&3C 8 7*D GP
C #, J #,H
#, J 4H
,&3C* J H
0$ D,&3C* SJ GH
C D'GH
,&3C* J H
0$ D,&3C* SJ GH
#, J C #,H
Q

C C D C GP
,&3C J D C >GH
,&3C J D C >GH
,&3C J D C >GH
,&3C%J D C >
%GH
Q

C0 D $ G
P
BB,&3C J H
BB# 87 J AA 'H
,&3C%J D>4GH
,&3C J D>GH
,&3C J D>+GH
,&3C J D>'GH
BIC 7 %J D>4GH
C7 J D>GH
C7 J D>
+GH
C7 J D>
'GHIB
,&3C 8 7*DGH
BB# 87 J H
,&3C%J D>%GH
,&3C J D>GH
,&3C J D>GH
,&3C J D>GH
BIC 7 %J D>%GH
C7 J D>GH
C7 J D>GH
C7 J D>GHIB
,&3C 8 7*DGH
C D' GH

BI
I & $ $ ,&3
IB

C D G
P
,&3C J H
C0 D 5 GH
C D GH
Q

BI0 )$ $ ,&3 IB

C" D $ IG
P
,&3C J H BB 0 $
0$ DI G
C0 DI WWGH
Q

BI
I2 $ " ) "
IB

C D $ " G
1

P
,&3C J H
C0 D 5 W" GH
Q

BI $ ,&3 < " ' IB

C D G
P
BB "H
,&3C J H BB 0
C D + GH

C C D 5 GH
,&3C 8 7*DGH
C D' GH
,&3C 8 7*DGH

C C D 5&GH
,&3C 8 7*DGH
C D GH

C C D 5 GH
,&3C 8 7*DGH
C C D 5 GH
,&3C 8 7*DGH
C D +GH

C0 D 5 GH BB ' >B >+5 )


C0 D 5 GH BB " ))
C0 D 5 /GH BB " > :
C0 D 5 GH BB

BB ! $ 8
C J H
C0 C) J H
C0 C J H
8& J H BB :> <
8& 8&]# J H BB" > <<A 6 D %% G
8& 8 J H BB )) +
# J% H
C8 # J 4H BB "" J
C8 /J H BB ")
C8 *J H BB "
Q

C$ D GP
BB-#3 8*,&3 =* 3 2
C DGH

J " )D > RT )6R> C$ GH


C" D GH
J " )D > RT ,)R> C GH
C" D GH
J " )D > RT R> C" GH
C" D GH
1

BB J " )D > RT R> C C GH


BB C" D GH
BB J " )D > RT R>" 'GH
BB C" D GH
BB C" DR RGH
C D' GH
J " )D > RT )6R>$ GH
C" D GH
J " )D > RT )R>2# C GH
C" D GH
BB J " )D > RT R>" %GH
BB C" D GH
BB C" DR RGH
Q

) C$ D 0 " ) > 0 " GP


BB $B.
C C H
C C H
7C C H
7C C H
H
H
H

C C J D) C WD G) C B GH
C C J D) C WD G) C B GH
7C C J D C W D G C B GH
7C C J D C W D G C B GH

C C IJ # B H
C C IJ # B H
7C C IJ # B H
7C C IJ # B H

J D7C C < C C GI D7C C GH


J D C C GI D7C C G< D C C GI D7C C GI D7C C < C C GH

)D JJ GP
)D A G 4H
1H
Q
P
J D > GH
IJ < ID% BD I# GGH
0$ D AJ % G <J % H
0$ D @ G WJ % H

H
Q
QBB) C$ D 0 " " > 0 " " 7G

) C$ D 0 " " > 0 " " 7GP


BB 3" ) $ 0 "
1

C H
C C H
C H
BB C H
BB C H
C C0 $H
H

C J D" 7 C W" 7 C B G< D" C W


" C B GH
C J <D" 7 C W" 7 C B GW D" C W
" C B GH

C C J DD" 7 C W" 7 C B GW D" C W


" C B GGI# B% H

C C0 $ J # I D C C GI % 4''1,B H

BI)D C JJ GP
)D C A G 1H
4H
QIB
BB P
J I D C I C C0 $> C I 1+ GB# H
0$ D @ G WJ % H
0$ D AJ % G <J % H
H
BBQ
QBB) C$ D 0 " " > 0 " " 7G

) C D 0 " ) > 0 " GP


BB $B.
C C H
C C H
7C C H
7C C H
H
H
"C H
H

C C J D) C WD G) C B GH
C C J D) C WD G) C B GH
7C C J D C WD G C B GH
7C C J D C WD G C B GH

C C IJ I# B% H
C C IJ I# B% H
7C C IJ I# B% H
7C C IJ I# B% H

J 7C C < C C H
J 7C C < C C H

J ; D D B GI D B GW DC C GI D7C C GI D B GI D B GGH
1

)D AJ G "C J I D GH
"C J I D GH

"C IJ % 4,I ,H

"C H

QBB) C D 0 " " > 0 " " 7G

C0 " D 0 " I " GP


" <A C J CH
" <A C J C H
" <A C J CH
" <A C J C H
BB H
QBB C0 " D 0 " " G
1%

N O ] $ >8 8 $ >7 $ > K >^ )


0 7 32# 3 / _# )$ % ***
& ) >8 0 > % " '< 1

N O $ >R >
R- ) $ > 114>
+

N%O *3 3 : >^ , : ) ($ R
# / && ) ($ >* " >/ > 11+>` < '>
"" 11< '

N'O `, >^ # _ ] 0 # $ >7 > > 11

N+O , ( >^# $ _ & - # > 0 K :>

N O ^ 3 " _ >N O> +` 1>N


O> =88#6$ "6
BB000 B B B B $

N4O 8, >= * >2 2 $>8 = $<# ^ 3 "


= ; _N O> 11 ` >N O> =88#6
$ "6
BB000 " 0 B B B B $ $

N O ^- *5 2 3 _N O> + " % >N


O> =88#6

N1O > R3 # 2 &$ . R>R# " $ R> ` >

N O 7 K $ >^8$ . ) " ) ) _>


$2 ">7 $

N O 7K $ >^. ) 6 # ) $ # : _> $
2 ">7 $

N O 7 K $ >^# : 6 # ) ) _> $2 ">


7 $
1'

N %O K & 2 >^ ($ # . $ 2# - & * _>


***8 >( 1> N O> %/ >N
O> =88#6
$ "6
BB 5" B "B " "Y J 44 E J '%4

N 'O 2 >8 2 $>8 K ` > ] " > . &$ > / >^8


2# >
_ # # *& ) * $ $ ( > %% '> >
/,> 11 > " %Z 4>"" %' Z%+

N +O & ( :># > "$ >^2# B : ) $ : $ a


9 >
_ # ***Z ** ( $ ) & )> 0 >& > 11%>
"" %'Z '

N O 8 , ! <# !> . >^ $ ) # & <) # $ # $

>
_& )$ & >( > 141

N 4O 3 0: `, & 0 >^ )< " ) _>

# 11' *** & ) > 3 >& > 11' ""

4<

N 1O . $ >^ $ 2# 3 & " >


- )8 > > ">%

N O `/ >- , . >^ $ <. $


= $8 ) _ *** E ! N O 11+ $>N
O> =88#6$ "6
BB 5" B "B " "Y J% 1+E J

N O & " = 3 <. $ >^ ] / ) 2# ), ($ _>


O> 11'< >N O> =88#6
$ "6
BB 5" B "B " "Y J' 4%1 E J1 +

You might also like