Sie sind auf Seite 1von 16

GPS Based Navigation for Field Mobile Robots

Sigfred Vincent Larot


Pearl Anne Melody Sumagang
Godfrey Digal
and
Adrian Tristan Gari
February 8, 2012
Abstract
Development of autonomous navigating mobile robots is one of the most
interesting topics in the research field at present. Despite the technological
advancement of our civilization, many problems are faced when designing
autonomous robots such as avoiding moving obstacles, localization, and sensor integration.
This paper presents an attempt to develop an autonomous robot with
the ability to navigate unfamiliar terrain using ultrasonic sensor for collision
and obstacle detection and a GPS and compass module for localization
and heading determination. An algorithm for path planning and obstacle
avoidance is also presented in this paper.

1 Introduction
Many of our electronic devices today are automated and unmanned. There
are many instances that the automated and unmanned robots are a big help
to the society. These kinds of robots could make the work of people easier
and the lives safer. An example is a robot that is used by the military that
serves as a lookout for surveillance in critical areas. Through the use of
these robots the lives of the soldiers are placed away from danger. Another
automated and unmanned robot that is a big help to us is the Percussion
Actuated Nonelectric Disrupter, which has become the primary tool used
by bomb squads nationwide to disable conventional, handmade-type bomb
remotely.
With the vastness of the applications of unmanned and autonomous land
vehicles, this project attempts to develop an autonomous mobile robot that
could navigate from an initial position to a specified destination with the
use of GPS for localization, compass module for heading determination, and
sonar for collision detection. As part of this project, an algorithm for path
planning and obstacle avoidance is implemented.

1.1 Problem Statement


Autonomous robot are machines that are able to perform desired tasks,
without continuos human intervention. Many kinds of robots, to some extent, have a degree of autonomy. Different robots can be autonomous many
ways. A high degree of autonomy is particularly desirable in fields such as
surveillance, management of hazardous materials, space explorations, bomb
detonation and other dirty and dangerous tasks.
Most of the autonomous navigating robots seen today are developed with
sophisticated artificial intelligence for path planning. Some robots can even
calculate for the shortest possible path for it to navigate to its destination,
some create maps of their surrounding environment to know exactly where
they, which they then use to recalculate the path planning solution they
obtained previously. These type of robots are of great use to industries that
engage in handling hazardous materials, where humans cannot handle. Also,
it can be used for autonomous land vehicles, for example, it can navigate a
car to a location when the users inputs a destination address, and it may
take control of a car when the user is drunk-driving.
Outdoor navigation of mobile robots is still a big challenge for engineers and robot designers at present. Much of the studies about mobile
robot navigation that were made over the past years were focused on indoor navigation. Many industries employ mobile robots indoors for sorting
papers and mails, package management, and hazardous material disposal.
Though this robots exist in a large number of companies, algorithmns used

in them cannot solve the problem faced in outdoor navigation. It is this gap
in knowledge that currently drives resources to develop future autonomous
robots.

1.2 Objectives
The primary objective of this project is to design an autonomous mobile
robot that can navigate to a user-defined coordinates while avoiding obstacle
along the way. The specific objectives for this project are the following:
Robot should be able to navigate to a user-defined location using data
from a GPS module and compass.
Robot should be able to detect possible collisions and avoid obstacles
while navigating with the use ultrasonic ranging sensors.
Robot should be able to send information and receive commands from
the user through a WIFI network.

1.3 Significance of the Study


An autonomous field mobile robot capable of navigating to a specific location would make certain tasks to be performed in a satisfactory manner.
Autonomous transportation, automated surveying of land areas, and proximity surveillance are among the applications may use GPS based navigation
of autonomous mobile robots. With this technology, users could just input
desired destination for the robot to navigate. With an on board sonar, the
robot can do collision detection and obstacle avoidance while traversing the
environment and still reach its destination. With this capability, the user is
no longer obliged to monitor the movements of the robot leaving the user
free to do other tasks he/she may wish to do.
The robot the researchers is designing in this project communicates with
the user through a wifi network. Most of todays devices, such as mobile
phones, tablet pc, laptops, ereaders, PDAs, and music players are wifi capable, making our mobile robot compatible for use with these devices.
Design of autonomous navigating robots is still at its infancy. Developers
are faced with many problems such as sensor reading inaccuracy, implementation of a decent algorithm for motion planning, and collision detection
algorithm.

1.4 Scope and Limitation


This project is aims to develop an autonomous robot capable of navigating
to a user-defined coordinates through an even and partially even terrain with
the use of a GPS module for localization, sonar for collision and obstacle

detection, and compass for heading recognition. The scope of this project
includes the following:
WIFI communication between the user and the mobile robot.
Path planning algorithms using a GPS and compass module.
Obstacle avoidance and collision detection of mobile robot using ultrasonic range finder.
This project does not include the following:
Specific applications for the GPS based robot navigation like Percussion Actuated Nonelectric Disrupter (PAND), surveillance and surveying applications.
Navigation of robot for extended period of time; the research does not
include experiments on which batteries are better suited for the robot.
The length of time that the batteries will be fully consumed by the
robot was not included in the research.
Extensive algorithm for wall following; the researchers goal is to simply
navigate the robot on the specified location without much regard for
obstales. the robot on the specified location without much regard for
obstacles.
Navigation of the robot on very rough and rugged terrain.
Use of alternative components.

2 Review of Related Literature


[1] and [2] describes how GPS is used for localization and path planning.
Localization answers the question where am I? in terms of the robots point
of view. Through the use of GPS, localization is achieved by taking readings
from satellites orbiting around the earth. After the problem of localization
is being solved, path planning must then be considered. A paper describing
how mobile robot path planning is implemented in unknown environments is
presented by Ersson and colleague[3]. This paper shows three steps for the
robot to solve the path planning problem: planning, moving and sensing,
and reposing the problem.
Another paper presents outdoor navigation for a mobile robot with the
use of differential GPS and odometry. The authors aim is to do a mapbased outdoor navigation for an autonomous mobile robot using differential
GPS (DGPS) and odometry. During outdoor navigation, the robot position
on the map is always confirmed by fusion of DGPS and odometry. The
extended Kalman filter (EKF) framework is applied for the modification
and the fusion between odometry and DGPS measurement data.[4].

The researchers also included this paper[5]. This paper focuses on motion planning for car-like robots and particularly on applications where an
arbitrary working area should be covered by the robot. This paper aims
to develop a path planning application which can compute a feasible path
between two arbitrary points. Furthermore, the path shall fully cover a
predefined area avoiding obstacles. It is also desired that the predefined
working area is cruised in parallel lanes.
Since this research uses lots of components that needs to be interfaced
with the microcontroller, the researchers picked a book[6], as a reference on
coding and general ideas on how to use the components such as ultrasonic
range finders, GPS module, and compass, all of which the researchers did
not have prior experience in using.
[7] provides a collection of libraries for working with various types of
hardware; a comparison with other prototyping platforms, and information
about the components of the Arduino board.

3 Methodology
3.1 System Setup
The system setup is divided into two subsystems:
Platform Side
User Side
The platform side refers to the actual robot platform and the peripherals
used. The platform side is further divided into three subsystems, namely,
the sensor unit, the MCU unit, and the Wi-Fi TX/RX unit.
The sensor unit is composed of the following: compass module, GPS
module, and ultrasonic range finders. The main reponsibility of the sensor
unit is to provide the MCU essential information for the robot to navigate
properly. The GPS unit relays to the MCU the current coordinates of the
robot, allowing the robot to know where it is, thus localization is achieved.
The project also used two ultrasonic range finders, one is embedded in the
front of the platform allowing it to detect obstacles ahead, another one is
placed in a servo motor, allowing it to rotate towards the obstacle. The
second sensor is used for wall following algorithm and will be discussed in
the succeeding part of the paper. The compass module is used for heading
control. It tells the MCU where the robot is facing, thus, guiding the robot
where it should be headed with the help of the GPS coordinates relayed
from the GPS module.
The MCU unit is the brains of the whole platform. It is responsible for
the calculations involved in path planning, managing the obstacle avoidance
routine, communicating with the user side, and navigation control.

The user side refers to the programs that are running on the server
device. It include the following:
Socket routine, which is responsible for managing the communication
between the GUI and the robot platform.
GUI, interacts with the user. It contains functions necessary for the
user to send and receive information to and from the robot platform.
It shows the user the current position of the robot in terms of longitude
and latitude. It allows the user to send commands to the platform. It
also has the ability to log all the data sent by the robot platform and
save it as a text file to be used by the user for statistics purposes.
GPS parser, is another component of the user side which does not
interact with the user directly. It is used for converting GPS strings
sent by the platform side to a human readeable form. After processing
the GPS string in terms of longitude and latitude, the GUI displays
the parsed data for the user to read.
Wireless router, is used by the user device for the actual communication with the robot platform.
Below is the preliminary block diagram of our proposed system.

Figure 1: Preliminary System Block Diagram

3.2 Components
3.2.1 GPS
Overview: The platform does not have the ability to know its current
location and the coordinates defined by the user. It has to keep track on
its current position. For the platform to do this, it must use a location
tracking sensor that works outdoor and make use of the GPS. GPS or the
Global Positioning System is a satellite-based navigation system. Sensors
that can receive data from the GPS are the GPS receivers. The advantages of
GPS are very high tracking sensitivity (159dBm) and extremely fast TTFF
(Time to First Fix) at low signal level. The disadvantages of GPS are signal
multipath that occurs when the GPS signal is reflected off objects such as
tall buildings and accuracy.
The platform will be incorporated with the GPS receiver engine board
EM-406A from GlobalSat Technology Corporation. The GPS receiver has a
built-in SuperCap to reserve system data for rapid satellite acquisition and a
built-in patch antenna [4]. EM-406A uses the NMEA Output Command[8].

Figure 3: GPS Module


Characterization: The GPS module location in the platform that receives
the clearest reception of satellite signal is to be determined. Test on the
accuracy and precision using the Arduino microcontroller will be done.

3.2.2 Compass
Overview: Digital compass will be used for the platform to know where
it is heading or sensing the horizontal components of the earths magnetic
field. The platform must distinguish where it is heading for it to navigate
properly. Its advantage is the use of user calibration mode for diminishing

the hard-iron effects of the end-users (customers) location of the product. Hard-iron effects come from nearby ferrous materials with residual
magnetism that buck or boost the intensity of the earths magnetic field
that leads to heading errors. Such hard-iron effects come from vehicle chassis, speaker magnets, and high current conductors or circuit traces. This
must take into consideration since the platform will navigate to unfamiliar
places. The disadvantages of the digital compass are that each degree of
tilt from the level of orientation could add two degrees of compass heading
error and magnetic error that can be introduce if operated near strong magnetic sources. The platform has 4 motors (electromagnetic) that can be a
source of magnetic error and should be a concern in making the design of
the platform.
This research will use the Honeywell HMC6352 integrated compass module[9].
The HMC6352 Integrated Compass Sensor circuit uses two magneto-resistive
sensors of orthogonal orientation for sensing the horizontal components of
the earths magnetic field (0 to 630 milli-gauss). The HMC6352 uses I2C
Communication Protocol that is provided on the pins 7(I2C Data Output)
and 10(I2C Clock). The board has the dimension of 6.5mm by 6.5mm by
1.5mm with the things needed for it to work..

Figure 4: Compass Module


Characterization: The compasss size is essential since the platform has
a limited area. The effective distance for the module and the 4 motors must
be known for the module to give the accurate headings or not be affected
by the magnetic field that is caused by the 4 motors.

3.2.3 Sonar
Overview: The platform must know and spot any upcoming obstacle along
the way for it to avoid and not to be crushed to it. To be able to spot any

upcoming obstacle, a sonar range finder is necessary to be used. Sonar


range finder provides very short to long-range detection and ranging. Its
advantages are; it can detect objects from 0-inches to 254-inches can be
used for indoor environment, very low power ranger that is excellent for
multiple sensor or battery based systems and has a fast measurement cycle
that is required for the platform for its obstacle detection and avoidance
algorithm.
The sonar range finder that will be used for the platform is the LVR - EZ1 from MaxBotix
R Inc. The data from the sonar range
MaxSonar
finder can be read through pulse width output (PW), analog voltage output
(AN), and serial digital output(TX).[10].

Figure 5: Ultrasonic Range Finder


Characterization: The ideal height that the sonar range finder should be
place for it to give the most desirable readings must be known. The best
placements of the sonar range finder in the platform for it to detect all of
the upcoming objects are needed. Size of the sonar range finder will be measured. Test on the accuracy and stability using the Arduino microcontroller
will be done.

3.2.4 Motor Driver


Overview: As mentioned in the previous section, the platform must avoid
any upcoming objects and it should navigate to predefined coordinates. For
this to happen the motors have to run and make use of the motor driver
which is needed to control the motors. The platform will have the L298
H-Bridge Dual Bidirectional Motor Driver from the Canakit Corporation.
It allows the user to easily and independently control two motors of up to
2A each in both directions and it is well suited for connection to a microcontroller requiring just a couple of control lines per motor. It can also be
interfaced with simple manual switches, TTL logic gates, relays, etc.[11].

Figure 6: Motor Driver

Characterization: The Size of the motor drivers should be determined for


it to fit in the chassis of the platform. The position of the motor drivers
must be close enough to the motors to save space.

3.2.5 Wifly
Overview: As stated in the previous section, the platform must navigate
to the predefined coordinates that the user desires. For this to happen, the
platform must communicate to WIFI capable devices, specifically laptop,
using the Wifly. This research will use the WiFly GSX 802.11 b/g Wireless
LAN Module from Roving Networks. The WiFly can communicate through
the UART hardware interface and it also supports the Adhoc connections.
The WiFly GSX module is a stand alone, embedded wireless 802.11 networking module. Because of its small form factor and extremely low power
consumption, the RN-131G is perfect for mobile wireless applications such
as asset monitoring, GPS tracking and battery sensors. The WiFly GSX
module incorporates a 2.4GHz radio, processor, TCP/IP stack, real-time
clock, crypto accelerator, power management and analog sensor interfaces.
In the simplest configuration the hardware only requires four connections
(PWR, TX, RX, GND) to create a wireless data connection. Additionally, the sensor interface provides temperature, audio, motion, acceleration
and other analog data without requiring additional hardware. The WIfly
GSX module is programmed and controlled with a simple ASCII command
language [12].

10

Figure 7: Wifly Module


Characterization: The WiFly GSX module must be check if it can actually establish connection to WIFI capable devices. Testing the range of
WiFly GSX module must be done.

3.2.6 Arduino
Overview: The platform must have a brain that controls the components
in the platform. A microcontroller will be used to get, transmit and process
data from the sensors and other components of the platform. This research
will use the Arduino Mega from Arduino. The microcontroller on the board
is programmed using the Arduino programming language (based on Wiring)
and the Arduino development environment (based on Processing). It has
serial communication pins, I2C communication pins, digital pins and analog
pins that is perfect for interfacing the other components.[7].

11

3.2.7 Rover 5 Platform


Overview: This research will make use of the Rover 5 Robot Platform.
It will be the base of our entire system. It has 4 independent DC motors,
each with gearbox. The entire gearbox assembly can be rotated at 5-degree
increments for different clearance configuration that is quite useful for the
platform to travel to uneven terrains. The Rover 5 Robot Platform can also
support heavy digital components, up to 10Kg/cm stall torque per motor
that will be perfect to drive all of the components.

Characterization: The ideal clearance configuration of the gearbox must


be known. It must be tested from 0 to 5-degree increment in its clearance
for the most effective movements of the platform in uneven terrains.

3.2.8 Wireless Router


Overview: The platform must communicate with a WIFI capable device,
most likely a laptop, with a higher range of communication. To make this
happen, a wireless router is needed. The Wireless Router that will be used
in this research is the TP-Link TL-WR340G WiFi router. Its features include the 54Mbps transmission rates and compatible with all the 802.11b/g
products, that is also compatible with the WiFly GSX module.

12

Characterization: The maximum range of the wireless router with respect


to the platform must be determined. Test if the connection of the laptop
and the platform will not loss within range.

3.3 Autonomous Navigation


3.3.1 Localization
The problem with localization deals with the way of letting the robot know
its current location. There are many ways to solve this problem. One of
which is through dead reckoning. Dead Reckoning is a type of localization
that tells the robot its current position based on the previous position. This
can be done by directly measuring the distance and direction travelled by
the robot or by means of computation based on speed and time for the robot
to reach from the previous position to its current position. With the use of
a compass, direction can be know, while using optical encoders the distance
travelled can be calculated based on the number of revolutions made by the
wheels while travelling from the previous position to the current position[1].
For example the circumference of each wheels of the robot is 1 meter and
it takes 100 revolutions to reach point A to point B where point A is the
previous position and point B is the current position, then the distance
travelled is 100 meters.This is based on the equation D = cn, where D is the
distance travelled from previous to current position, c is the circumference
of the wheels and n is the number of revolutions made while travelling from
point A to point B. Though this technique can be done easily, it is not
ideal for use over vast distances due to the accumulation of error as distance
travelled increases.
Another technique for localization is the use of GPS to tell the robot
where it is with refence to the actual coordinates on the earth. This technique does not depend on previous data gathered and therefore no computational error is generated. The only drawback with this type of localization

13

is the accuracy of the GPS unit itself, especially when there are obstructions
in the sky such as buildings, cloudy weather, and trees.

3.3.2 Obstacle Avoidance and Wall Following


Obstacle avoidance is a reactive behavior of the robot triggered when an
obstacle is detected immediately in front. For this project the distance of
the obstacle in front that could trigger the obstacle avoidance routine would
be 2 feet. In case an obstacle is detected in the left side, right side, and in
front, the mobile robot is programmed to turn in place until the front sensors
no longer detects an obstacle. If only the front sensor returns this distance
then the mobile robot will start turning towards the direction that where
the obstacle is sensed farthest away. If one side is detected with obstacle
with this distance then the wall following behaviour will determine what
needs to be done.

3.3.3 Unobstructed Heading Control


The unobstructed heading control is used in the cases where the mobile
robot doesnt 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 mobile robots current heading to the
desired heading. Then to correct this error, a factor which is proportional
to the error is subtracted from the PWM of one of the motors, depending
on the desired turning direction.

4 Schedule
The research is divided into seven phases which are described below. The
Gannt Chart is shown in figure 2 on page ??.

14

Figure 2: Gannt Chart

15

References
[1] R.F. Guzman Autonomous robot navigation with the use of GPS
[2] C.Foley, K. Horn, R.N. Pittman, and M. Willis. GPS navigation for field
mobile robot
[3] T. Ersson and X. Hu.Path planning and navigation of mobile robots in
unknown environment
[4] K. Ohno, T. Tsubouchi, B. Shigematsu, and S. Yuta. Differential GPS
and odometry-based outdoor navigation of a mobile robot.
[5] L. Krammer. Motion planning for car-like robots.
[6] T. Igoe. Making things talk.
[7] Arduino Reference. http://www.arduino.cc.
[8] Product user manual. EM-406 GPS Receiver Engine Board
[9] Datasheet. Honeywell HMC6352 Electronic Compass
R
[10] Datasheet. LV-MaxSonar -EZ1TM
High Performance Sonar Range
Finder

[11] Users Manual. Canakit L298 H-bridge Dual Bidirectional Motor Driver
[12] Datasheet. Wifly GSX 802.11 b/g Wireless Lan Module

16

Das könnte Ihnen auch gefallen