You are on page 1of 66

B.

Sc Thesis

UNMANNED GROUND VEHICLE

Mohsin Ahmad

2011-MC-129

Sana Rehman

2011-MC-138

Muhammad Waqas Akram

2011-MC-168

Muhammad Arslan Qamar

2011-MC-176

Department of Mechatronics & Control Engineering


University of Engineering and Technology Lahore (Faisalabad Campus)

2015

UNMANNED GROUND VEHICLE


(UGV)

Unmanned Ground Vehicle


Project Advisor:
Mr. Muhammad Usman
Assistant Professor
Department of Mechatronics & Control Engineering
Project Members:
Mohsin Ahmad

2011-MC-129

Sana Rehman

2011-MC-138

Muhammad Waqas Akram

2011-MC-168

Muhammad Arslan Qamar

2011-MC-176

A thesis submitted to the Faculty of UET in partial fulfillment of the requirements


for the degree of Bachelors in Science in Mechatronics & Control Engineering in
the Department of Mechatronics and Control Engineering.
04-06-2015
Approved by:
Internal Examiner ______________
External Examiner ______________

Yllh,
Send your peace nd blessings
On the finl Prophet,
nd his fmily,
nd compnions,
nd those who follow him. {meen}

Acknowledgement

All praises are for ALMIGHTY ALLAH, the creator of heavens and
earth. He blessed us with His mercy and said, Read the Lord is most
bounteous Who teach by the pen, teach man that which he knew not. (AlQuran; 30, 9:3-5)
With Allahs Bounteous Blessings, we have been able to complete
this work. We offer my humblest thanks from depths of my heart to the
HOLY PROPHET MUHAMMAD (S.A.W), the most perfect of exalted who
forever a light tower and guidance of humanity and a source of inspiration
for us to the straight path to Allah Almighty.
We feel it our utmost pleasure and a great honor to avail ourselves
of this opportunity to express heartiest gratitude to our advisor Mr.
Muhammad

Usman,

assistant

professor

of

Mechatronics

&

Control

department for his sincere guidance, keen interest, Sympathetic attitude,


Constructive criticism, enlightened supervision and unstilted help through
out of this project and successful completion of this manuscript.
Our special thanks to our one of the most motivator teachers, Mr.
Ahmad Ali for encouraging, supporting and guiding us in our work.

Abstract

The most prominent problems facing the world today are Terrorism and Insurgency. There is
need to improve the defense system. For that not only manual capabilities are enhanced but also
there are refined machines which are now helping the humanity in security purposes. Back into
the past, several military operations such as searching was done through metal detector to detect
the mines. But there are always such conditions in many areas which are dangerous to human
lives, the world was facing troubles in such situations. There was need to design such a gadget or
tool which should work in those places also where security guards or military people even cannot
go.
Unmanned ground vehicles (UGV) are mobile robots that are used as an extension of human
capability. This type of robot is generally capable of functioning outdoors and over a wide
variety of terrain, operational in place of humans. UGVs have counterparts in aerial warfare
(unmanned aerial vehicle) and naval warfare (remotely operated underwater vehicles). UGVs are
actively being developed for both civilian and military use to perform dull, dirty, and dangerous
activities.
There are normally two classes of unmanned ground vehicles: Teleoperated and Autonomous. A
teleoperated UGV is a vehicle that is controlled by a human operator at a remote location
through any communications link. All cognitive processes are provided by the operator based
upon sensory feedback from remote sensory input such as video cameras. Autonomous
robots can act on their own, independent of any operator. An autonomous UGV is basically an
autonomous robot but is specifically a vehicle that operates on the surface of the ground. The
robot determines its own course using onboard sensor and processing resources. Applications of
UGV are ranging from remote surveillance to scattered mine detection.
There are several aspects emphasized in this project like, obstacle avoidance, path following,
self-alignment, wireless communication between robot and operator and a robotic arm to pick
and place things.

Key words: UGV, Autonomous, Teleoperated, Unmanned Arial vehicle, robotic arm, selfalignment

Table of Content
1

INTRODUCTION....................................................................................................................1
1.1 Overview..............................................................................................................................1
1.2

Problem Statement..............................................................................................................2

1.4

Scope of the Project............................................................................................................2

1.5 Thesis Structure....................................................................................................................3


1.6 Plan of Work.........................................................................................................................3
2

LITERATURE REVIEW.........................................................................................................4
2.1 Unmanned Ground Vehicle..................................................................................................4
2.1.1 Main Components...........................................................................................................4
2.2 Historical Background.........................................................................................................6

METHDOLOGY......................................................................................................................9
3.1 Mechanical Design.................................................................................................................9
3.1.1

Base............................................................................................................................9

3.1.2

Robotic Arm.............................................................................................................10

3.1.3

DC Gear Motors (42RP40ZY6000).........................................................................12

3.1.4

Servo Motors...........................................................................................................14

3.1.5

Torque Calculations.................................................................................................15

3.1.6

Mechanisms.............................................................................................................16

3.2

Electrical Design.............................................................................................................18

3.2.1

Selected Electrical Components..............................................................................18

3.2.2

Circuit Design..........................................................................................................29

3.3

Software Model...............................................................................................................34

3.3.1

Graphical User Interface (GUI) Designing..............................................................34

3.3.2

Building the GUI.....................................................................................................35

3.3.3

Features Designed in GUI.......................................................................................35

3.3.4

Wireless Communication.........................................................................................37

3.3.5

XBee Technology....................................................................................................37

3.3.6

Serial Communication.............................................................................................40

SPECIAL FEATURES...........................................................................................................41
4.1

Obstacle Evasion.............................................................................................................41

4.2

Path Following................................................................................................................41

4.3

Self-Alignment................................................................................................................41

4.4

2D Mapping....................................................................................................................42

4.4.1
4.5
5

SLAM......................................................................................................................42

Pick and Place.................................................................................................................43

RESULTS AND DISCUSSIONS...........................................................................................45


5.1

Final Hardware Design...................................................................................................45

5.2

Simulink Model of UGV.................................................................................................47

5.3

Results and Discussions..................................................................................................48

TECHNICAL PROBLEMS AND THEIR SOLUTIONS......................................................49


6.1

Problems..........................................................................................................................49

6.2

Future Extensions............................................................................................................50

References......................................................................................................................................51

Table of Figures
Figure 2-1: Black prince..................................................................................................................6
Figure 2-2: Golaith tracked mine.....................................................................................................7
Figure 2-3: i negotiator....................................................................................................................8
Figure 2-4: SUGV............................................................................................................................8
Figure 3-1: Base.............................................................................................................................10
Figure 3-2: CAD design of links....................................................................................................11
Figure 3-3: CAD design of gripper................................................................................................11
Figure 3-4: DC gear motor............................................................................................................12
Figure 3-5: H bridge using switches..............................................................................................14
Figure 3-6: Servo motor.................................................................................................................15
Figure 3-7: Free body diagram......................................................................................................15
Figure 3-8: Chain drive mechanism..............................................................................................17
Figure 3-9: Differential drive.........................................................................................................17
Figure 3-10: IR sensor...................................................................................................................18
Figure 3-11: ILQ74........................................................................................................................19
Figure 3-12: TIP147.......................................................................................................................20
Figure 3-13: TIP142.......................................................................................................................20
Figure 3-14: IN4937......................................................................................................................21
Figure 3-15: LM1084....................................................................................................................22
Figure 3-16: Arduino mega 2560...................................................................................................24
Figure 3-17: XBee module............................................................................................................27
Figure 3-18: LiPo battry................................................................................................................28

Figure 3-19: Power distribution and sensor board.........................................................................29


Figure 3-20: Servo driver...............................................................................................................30
Figure 3-21: NPN circuit...............................................................................................................31
Figure 3-22: PNP circuit................................................................................................................32
Figure 3-23: H bridge (3D view)...................................................................................................32
Figure 3-24: H bridge circuit.........................................................................................................33
Figure 3-25: GUI interfacing.........................................................................................................36
Figure 4-1: 2D map........................................................................................................................42
Figure 5-1: Final hardware model.................................................................................................45
Figure 5-2: Simulink model...........................................................................................................47

10

Chapter 1
1 INTRODUCTION
1.1 Overview
An Unmanned ground vehicles (UGV) is a robotic platforms that are used as an extension of
human capability. This type of robot is generally capable of operating outdoors and over a wide
variety of terrain, functioning in place of humans. UGVs have counterparts in aerial warfare
(unmanned aerial vehicle) and naval warfare (remotely operated underwater vehicles). Most of
the UGV that area available are used in military operation. This is due to the comparison value of
life of a human being and a robot. Most of the UGV used for military purposes is as a
replacement for soldier to act as surveillance in dangerous environment. Unmanned robotics are
actively being developed for both civilian and military use to perform dull, dirty, and dangerous
activities. Some UGVs are employed in War in Iraq.
There are two general classes of unmanned ground vehicles: Teleoperated and Autonomous. An
unmanned ground combat vehicle (UGCV) is an autonomous, all terrain unmanned ground
vehicle designed for combat. A teleoperated UGV is a vehicle that is controlled by a human
operator at a remote location via a communications link. All cognitive processes are provided by
the operator based upon sensory feedback from either line-of-sight visual observation or remote
sensory input such as video cameras. It is also must be able to be controlled wirelessly or
autonomously so user will be able to controlled or watch it from a safe distance.
UGV is based on Arduino micro controller in this project. This UGV was designed so that it can
move easily in case of obstacles and can change its path according to coming path. And a robotic
arm placed on it will do pick and place tasks according to the output of controller.
The most difficult part about unmanned ground vehicle isnt lying in the building phase, but in
the software/programming phase. The success of unmanned ground vehicle depends mainly on
how good the control algorithm is, it should be able to manage the changes in case of any
obstacle in its way.

1.2

Problem Statement

In order to help out the military in designing such a robot which can go to such places which are
hazardous to humans. There should be a mobile robot having wheels and mainly some sensors
and a feedback system which will give updates to the operator.
To fulfill the requirement of a military person, the problems are, communication between the
robot and operator and decision making
Besides, the UGV must be able to grip and lift things using the robotic arm that attached to its
body without affecting the movement of the UGV.

1.3

Aims & Objectives

The objectives of this project are to design a tele-operated UGV and autonomous UGV that is
controlled wirelessly via Xbee module that can move on various kind of surfaces and able to take
decision in case of obstacles. Robot should have ability of path following and self-alignment. It
should also capable of drawing the 2D map of unknown environment.
There should be a robotic arm so that it can pick and place things.

1.4

Scope of the Project

In conducting a project, the scopes of the project must be realistic in order to ensure that the
project is done within the time with the objectives reached.
1. The UGV must have wheels so that it can move on different surfaces.
2. Programmed the robot in such a way that it can be controlled wirelessly via Xbee
module.
3. Gripper can pick and lift small and light things with using 4 servo motors.
4. Robot can move forward, backward, turn left and right and can rotate in clock wise and
counter clock wise.
5. The UGV is wirelessly controlled.
6. It can be used to transport objects where the respective things are needed.
7. It can draw a 2D map of an unknown path.

1.5 Thesis Structure


This thesis discusses about the design which is include the hardware design, software and circuit
design of the Unmanned Ground Vehicle (UGV). First chapter will discussed about the

introduction of the project. Problem statements, objectives of the project and the scope of work
are discussed in this chapter. In second chapter, the literature review of the project is discussed.
In chapter 3, the hardware design, software and circuit design, and the programming of the UGV
are discussed as the research methodology. Some extra features of our project are highlighted in
chapter 4. Results and discussion will be discussed in Chapter 5. Finally chapter 6 will is about
the conclusion and future recommendation.

1.6 Plan of Work


This project is divided into two parts. Part one is the proposal preparation for the project and Part
two is the running and executing the project. Research, literature review and the mechanical
design of the project are done in part one. Part two is continue of the work from part one
including the development of the hardware, circuit and software design of the project. Besides,
the data and results analysis is done after all the work is done. The last work is thesis writing.

Chapter 2

2 LITERATURE REVIEW
Unmanned ground vehicle project requires extensive research and knowledge regarding UGVs.
To this end, research paper from various UGV groups is used as guide in the early development
of the dynamic and control theory. Unmanned ground vehicle used in research remain somewhat
the same, having motors to move the wheels and sensors to get feedback.
Generally there are two types of UGV that are available. The first type is an autonomous UGV
which it can perform certain functions without human intervention. Next type is the tele-operated
UGV. It is controlled by human operator via communications link whether it is wired or wireless
communications. There are a wide variety of tele-operated UGVs in use today. Predominantly
these vehicles are used to replace humans in hazardous situations. Examples are explosives and
bomb disabling vehicles.

2.1 Unmanned Ground Vehicle

2.1.1 Main Components


In this section, a theoretical overview id provided for some of the components used in the
Unmanned Ground Vehicle.
Control Board
A microcontroller unit (MCU) is a miniature computer system that is able to provide a variety of
I/O ports, an exceptional processing power for its small size, and enough memory to program
this small board to do various control tasks for several applications and projects. Also its
portability, mobility, and light weight make it a great way to embed in the UGV. We have
decided to use Arduino mega 2560 which is the most suitable controller for our project and its
advantages over other controllers will be discussed later.

Motors

To actuate the wheels and robotic arm motors are required. Two types of motors we will use.
DC Geared motor:
To drive the wheels of UGV, motors have to be selected carefully. The DC geared motor,
consisting of a DC electric motor and a gearbox, is at the heart of several electrical and electronic
applications. In this motor a gear box is used to alter the speed/torque of the motor for an
application. We are going to use two dc motors with encoder in our project.
Servo Motors
For the precise movement of the robotic arm and gripper servo motors will be used.
A servomotor is a rotary actuator that allows for precise control of angular position, velocity and
acceleration. It consists of a suitable motor coupled to a sensor for position feedback, which is
the main purpose of using servo motor to move the links of robotic arm. It also requires a
relatively sophisticated controller, often a dedicated module designed specifically for use with
servomotor. Up till now we have decided to use four servo motors in our robotic arm to have
smooth motion and a good grip of gripper to pick and place.

Wireless Communication
To control the motions and activity of UGV and to assign it different tasks, now a days, wireless
communication is getting more rating because it is an advance and efficient way to communicate
with your device rather than a serial communication between you and machine. We are going to
use XBee wireless module.
XBee wireless transceivers provide a quick, easy way to add wireless communication to any
system. XBee modems are one of the easiest ways to create a wireless point-to-point or mesh
network. We will use XBee standard 802.15 series 1.

2.2 Historical Background


In their 1930s, the USSR developed Teletanks, a machine gun-armed tank remotely controlled by
radio from another tank. These were used in the Winter War (1939-1940) against Finland and at
the start of the Eastern Front after Germany invaded the USSR in 1941. During World War II, the
British developed a radio control version of their Matilda II infantry tank in 1941. Known as
"Black Prince", it would have been used for drawing the fire of concealed anti-tank guns, or for
demolition missions. Due to the costs of converting the transmission system of the tank
to Wilson type gearboxes, an order for 60 tanks was cancelled.

Figure 2-1: Black prince

From 1942, the Germans used the Goliath tracked mine for remote demolition work. The Goliath
was a small tracked vehicle carrying 60 kg of explosive charge directed through a control cable.
Their inspiration was a miniature French tracked vehicle found after France was defeated in
1940. The combination of cost, low speed, reliance on a cable for control, and poor protection
against weapons meant it was not considered a success.

Figure 2-2: Golaith tracked mine

The first major mobile robot development effort named Shakey was created during the
1960s as a research study for the Defense Advanced Research Projects Agency for Artificial
Intelligence (DARPA-AI) to test its obedience with commands, which is different from advanced
robots that are autonomous or semi-autonomous. Shakey was a wheeled platform that had a TV
camera, sensors, and a computer to help guide its navigational tasks of picking up wooden blocks
and placing them in certain areas based on commands.
The success of the Advanced Teleoperator Technology and Ground Surveillance Robot
vehicles led the Office of the Undersecretary of Defense for Tactical Warfare Programs/Land
Warfare (OUSD/TWP/LW) in 1985 to initiate the Ground/Air TeleRobotic Systems (GATERS)
program, under Marine Corps management and with NOSC serving as the developing laboratory,
The thrust of the GATERS program was to develop a TeleOperated Vehicle (TOV)5 to support
the test and evaluation of UGV product concepts by prospective military users of UGVs. The
TOV system consisted of a remote vehicle and an operator control station, connected by fiber
optic cable to provide high bandwidth secure non-line-of-sight communications for distances up
to 30 km.

Figure 2-3: i negotiator

In 2008 the company iRobot manufactured two UGVs iRobot 210 negotiator and SUGV 300.
Generally both of the designs were similar but the differences between them are the functions of
the robot and the gadget or tool that can be attached to the robot. The advantages of this robot are
it is lighter and smaller than SUGV 300 and usually used for surveillance purpose by attach a
camera on top of its main body but the function of this robot is not as versatile as the SUGV.

Figure 2-4: SUGV

Chapter3

3 METHDOLOGY
This project is divided into three parts which are hardware design, circuit design and
software part. In this chapter, the methodology of the project which is consisting of the three
parts that mentioned before will be discussed.

3.1 Mechanical Design


The mechanical portion is the important part of this project since the UGV needs the best
structural design of the body and hardware components are chosen in order to fulfil the
objectives of this project. Further discussion will be included in this part.
3.1.1

Base

We designed our base and then the robotic arm which we have mounted on our UGV in user
friendly software solid works.
25 cm Aluminum Plates are used for the main chassis of the UGV due to its light weight
and ease of machining compared to other metals. As the majority of damages to the chassis arise
from the front and the back of the chassis, it is important to protect these areas with the
aluminum plate. The weight of our base is almost 5kg.
Our UGV base looks like as in figure 3.1

Figure 3-5: Base

3.1.2

Robotic Arm
A robotic arm is a type of mechanical arm, usually programmable, with similar

function to human arm. The links are connected by joints allowing either rotational motion or
translational displacement. The robotic arm has four servos to operate it, the first servo motor is
placed on the first joint between the main body (base) and the first linkage, the second servo is at
the second joint which is connecting the first and the second linkage. The third one is at the third
joint which is connecting the second and third linkage. The last one is at the gripper. Movement
of the gripper is only close and open. The robotic and the gripper can only operate to pick and lift
things in front of the UGV and the UGV need to rotate or move to place the things at the other
spot. However, the gripper can only grip and lift small and light things since the design of the
gripper is not suitable for the heavy and big things. Besides, the torque produced by the servo
only can support small load. The first motor have high torque about 16kg-cm, second motor
have 12kg-cm while remaining two motors have 4.5 kg-cm. Figure 3.2 shows the CAD design of
robotic arm.

10

Figure 3-6: CAD design of links

11

Figure 3-7: CAD design of gripper

Link Lengths
a. Length of first link 16 cm
b. Length of second link 20cm
c. Length of third link 5 cm
Material for Robotic Arm
Aluminum is used for robotic arm.

Wheels
Four wheels of Teflon material are used. The diameter of wheels are more important to
select and it is considered further calculation in path following and obstacle evasion. The
diameter of these wheels are 7.5 cm.
3.1.3

DC Gear Motors (42RP40ZY6000)


In our UGV two dc gear motors with magnetic encoder are used. A geared DC Motor has a

gear assembly attached to the motor. The speed of motor is counted in terms of rotations of the
shaft per minute and is termed as RPM .The gear assembly helps in increasing the torque and

12

reducing the speed. Using the correct combination of gears in a gear motor, its speed can be
reduced to any desirable figure. This concept where gears reduce the speed of the vehicle but
increase its torque is known as gear reduction.

Figure 3-8: DC gear motor

Moreover encoder can be used with motor to measure revolutions, so that the required distance
can be measured.
Table 3.1 Specification of Motor
Rated Voltage(v)

24

no load Speed(rpm)

430

no load Current(A)

0.16

Rated Torque(Nm)

0.53

Rated Current(A)

1.5

Rated Speed(rpm)

327

Stall Torque(Nm)

2.15

Stall Current(A)

5.5

Following are some techniques used to control the motion of wheels via dc geared motors.

13

a) PWM (Pulse Width Modulation)


PWM technique is employed to control speed of robots wheel using faster switching
frequency. In this technique output power is average of on and off times. The average
voltage is calculated by the following formula. PWM could be a flexible, reliable and
fast solution while we can limit the output current and trace the reference set point as fast
as possible. It is very low power-loss in comparison with other techniques.

b) H Bridge
For driving robots motor in two directions, forward and reverse, H-bridge circuit is
required. The H-bridge circuit includes four switches as shown in Figure 3.5.

Figure 3-9: H bridge using switches

14

3.1.4

Servo Motors

A servomotor is a rotary actuator that allows for precise control of angular position, velocity and
acceleration. It consists of a suitable motor coupled to a sensor for position feedback. It also
requires a relatively sophisticated controller, often a dedicated module designed specifically for
use with servomotors. Servomotors are not a specific class of motor although the
term servomotor is often used to refer to a motor suitable for use in a closed-loop control system.
Servomotors are used in applications such as robotics, CNC machinery or automated
manufacturing.
In four degree of freedom robotic manipulator we used four servo motors. One on each joint.
The torque was calculated of these motors by using simple formulae The firs motor which is
placed at first joint between base and first linkage is of 16 kg-cm. This is heavier because it has
to carry the load of remaining links. Second motor have torque about 12 kg-cm and remaining
two motor provide torque of 4.5 kg-cm

Figure 3-10: Servo motor

3.1.5

Torque Calculations

Torque calculations for the motors to attach at each joints are done by this method showing
below. Free body diagram is here:

15

Figure 3-11: Free body diagram

Torque for joint 1:

M4=WLo x L4 = 4.5 kg-cm


Torque for joint 2:

M3=WLo x (L4+L3) + WG X (L3+L4/2) + W4 X L3 + W3 x L3 = 4.5 kg-cm


Torque for joint 3:

M2=WLo

(L2+L3+L4) + WG X (L3+L2+L4/2) + W4

(L3+L2) + W3

(L2+L3/2) + W3 X L2 + W2 X L2/2 = 12 kg-cm


Torque for joint 4:

16

M1=WLo X (L2+L3+L4) + WG X (L3+L2+L1+L4/2) + W4 X (L1+L2+L3) + W3 X


(L2+L1+L3/2) + W3

(L2+L1) + W2 X (L2/2+L1) + W2

(L1) + W1

L1/2 =

16 kg-cm
*WLo= weight of lifted object
3.1.6

Mechanisms

Chain drive mechanism:


A chain drive is a mechanism for transferring mechanical power between two places, and is a
common means of locomotion in bicycles and motorcycles. It is also a motive source for many
different types of machinery. Typically, a chain drive works by having a power source, usually a
motor or pedal system, rotate a toothed wheel known as a sprocket, around which a specially
designed chain is looped. As the sprocket spins, its teeth catch slots in the chain drive, causing it
to rotate around the sprocket. At the other end is a second gear that transforms the mechanical
energy delivered by the drive chain into the desired force. Depending on the gear, the power is
applied in varying capacities. Gears with different numbers of teeth are used to generate
propulsion along a wide range of speeds, and the relationship between these gears is known
as gear ratio.
Chains normally have lesser weight as compared to their counterparts such as gear drives or belt
drives. Slip might occur on belt and rope drives but chains are used to prevent slipping. Many
stiff links are used to make chain; these links are connected through pin joints to allow required
flexibility for rolling around the driven and driving wheels.

17

Figure 3-12: Chain drive mechanism

Differential Drive:
Differential drive is perhaps the simplest possible drive mechanism for a ground contact mobile
robot. This is wheels configuration in mobile robot designs. In this technique, two motors are
utilized to provide motion and one or two wheel(s) are used only for balancing robots structure.
Different speeds for wheels are used to achieve rotation and similar motor speed cause to straight
motion. In fact, it is comfortable design for implementing mobile robots that are able to execute
all defined trajectory. The working of differential drive is shown by this figure.

Figure 3-13: Differential drive

18

3.2 Electrical Design


Electronic part is a bridge that combining the hardware part and the software part. The circuit
designed must follow the specification of the electronic components used and the need of the
software. In this project, the electronic circuit part must be taken seriously because the faulty of
electronic circuit might lead to the hardware and software failure.
3.2.1

Selected Electrical Components


Following electrical components are used in circuitry of this project.

IR Sharp sensor

Optocoupler (ilq74)

BJT (PNP TIP 142, NPN TIP 147)

Diodes (1N4937)

Voltage Regulator LM 10844

Arduino 2560 mega

Xbee 802.15 standard series 1

LiPo Battery

1. IR Sharp Sensor

19

Figure 3-14: IR sensor

The output terminal 1 is connected to ADC channel of Arduino. This terminal generates an
analog signal having valve ranges from (1.2 to 2.9 volts).
The value of output channel depends on this relation
-0.3 to Vcc+0.3
In microcontroller ADC converts analog signal to digital one. At the desired value we perform
our specific value.

2. Opto Coupler ILQ74:


Opto coupler are designed to provide complete electrical isolation between an input and output
circuits. The useful purpose of isolation is to provide protection from high voltage, surge voltage
and low level noises that could be produces errors in the output. Opto couplers also provides
interface between different voltage levels. The input current of an opto coupler can be photo
transistor, LDR or Photo diode.
The ILQ74 is an optically coupled pair with an infrared LED and a silicon NPN phototransistor.
When logic 1 is fed to Opto-Isolator then it on the led as result the NPN transistor switch and
vice versa.

20

Figure 3-15: ILQ74

3. BJTs
We are going to use two types of power BJTs. There ratings are 100v and 10A, which
very suitable for our project point of view. One is NPN and other one is PNP.

NPN Transistor

Figure 3-16: TIP147

PNP Transistor:

21

Figure 3-17: TIP142

In the PNP circuit, the transistor stays turned off if the base is grounded, it turns on when current
flows through the 1K resistor and into the base.

4. Diodes

Figure 3-18: IN4937

As we know that motor is inductive load to prevent from back current due to rate of
change flux a large amount current flow in backward direction. Although both TIP have diodes
but for extra protection we use 1N4937 diodes.

22

5. Voltage Regulator LM10844


Voltage regulator is used to regulate the desired voltage. It reduces the different level
of voltage coming from the battery. And provide constant level of voltage.
Here we are using LM 1084 which regulates the voltage to constant 5V , which we will used for
logic voltage to microcontroller and other devices. Another benefit of LM 1084 is that you will
regulate voltage at your desired level. By using varying the ADJ resistance you will get your
required voltage.
The voltage regulator LM 1084 had 3 terminal pins which were for input, ground and output pin
connections. From the datasheet, the maximum voltage sustainable for input pin of the voltage
regulator is 28.5 Volt with output voltage of 5 Volt. The maximum output current of the LM 1084
is about 5A. To produce a steadily output voltage of 5 Volt with minimum noise, capacitors were
connected parallel to the voltage regulator. Two resistors are required to set the output voltage of
the adjustable output voltage of LM1084.

Figure 3-19: LM1084

6. Micro Controller
The on-board controller is without a doubt a vital component in the UGV. The fact that
the on-board controller will be the one responsible for dispatching a variety of instructions to the

23

other components, yet also receive certain commands from the operator and feedback coming
from the sensor. A proper controller would accomplish such tasks if properly selected. Definitely
a microcontroller is the way to go, because of its capabilities despite its weight and size.
Keeping its important in mind, the selection of a proper microcontroller is critical and should be
based on specific criteria, summarized as follows:

Speed of operation:
Having a suitable computational power in the UGV is must, because

during its motion on any type of surface, the controller should be very responsive and quick to
guarantee a stable and well-behaving walk. It should be fast enough to take decisions in presence
of any obstacle.

Power need to run it:


Power consumption of the controller should be as minimal as
Possible.

Data storage:
The controller should provide enough memory to handle the program
and code embedded. A project could fail because of the lack of memory.

Number of I/O ports:


When designing a system, one should possess the knowledge of how
many inputs and outputs are needed. Selecting a controller that shorts in input or
output ports could cause unneeded troubles.

Analog capabilities:
Some controller lack these such as; ADC, DAC, or a comparator. In
such case this would require to have extra few components and undesired clutter.

Development tools:

24

Extra tools and programs that might be needed to fully utilize the
microcontroller.

Cost:
Both the hardware and software to run it. Sometimes the cost of these
could and will eventually mean the need to compromise.

Environmental conditions
Where would it be mounted? Temperature and humidity issues should
also be considered.

With the help of these guidelines, the selection of the microcontroller is clearer and more
convenient. Importantly in the case of the UGV that the microcontroller selected should be
powerful, light-weight, easy to interface with a computer and prototype which has enough I/O
ports and easy on the pocket.
We, for our UGV, Arduino mega 2560, is used.

Figure 3-20: Arduino mega 2560

25

Arduino 2560 Mega:


The Arduino Mega 2560 is a microcontroller board based on
the ATmega2560 .It has 54 digital input/output pins (of which 15 can be used as PWM outputs),
16 analog inputs, 4 UARTs (hardware serial ports), a 16 MHz crystal oscillator, a USB
connection, a power jack, an ICSP header, and a reset button. It contains everything needed to
support the microcontroller; simply connect it to a computer with a USB cable or power it with a
AC-to-DC adapter or battery to get started. The Mega is compatible with most shields designed
for the Arduino Duemilanove or Diecimila.
The Mega2560 differs from all other boards in that it does not use the FTDI USB-to-serial driver
chip. Instead, it features the ATmega16U2 (ATmega8U2 in the revision 1 and revision 2 boards)
programmed as a USB-to-serial converter.

Table 3.2 Specifications of Arduino 2560 mega


Microcontroller

ATmega2560

Operating Voltage

5V

Input Voltage (recommended)

7-12V

Input Voltage (limits)

6-20V

Digital I/O Pins

54 (of which 15 provide PWM output)

Analog Input Pins

16

DC Current per I/O Pin

40 mA

DC Current for 3.3V Pin

50 mA

Flash Memory

256 KB of which 8 KB used by


bootloader

SRAM

8 KB

EEPROM

4 KB

26

Clock Speed

16 MHz

Power
The Arduino Mega can be powered via the USB connection or with an external
power supply. The power source is selected automatically.
External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or battery.
Leads from a battery can be inserted in the Gnd and Vin pin headers of the POWER connector.
The board can operate on an external supply of 6 to 20 volts. If supplied with less than 7V,
however, the 5V pin may supply less than five volts and the board may be unstable. If using
more than 12V, the voltage regulator may overheat and damage the board. The recommended
range is 7 to 12 volts.

Memory
The ATmega2560 has 256 KB of flash memory for storing code (of which 8 KB is
used for the bootloader), 8 KB of SRAM and 4 KB of EEPROM

Communication
The Arduino Mega2560 has a number of facilities for communicating with a

computer, another Arduino, or other microcontrollers. The ATmega2560 provides four


hardware UARTs for TTL (5V) serial communication. An ATmega16U2 on the board channels
one of these over USB and provides a virtual com port to software on the computer.

USB Overcurrent Protection


The Arduino Mega2560 has a resettable polyfuse that protects your computer's USB

ports from shorts and overcurrent. Although most computers provide their own internal
protection, the fuse provides an extra layer of protection. If more than 500 mA is applied to the

27

USB port, the fuse will automatically break the connection until the short or overload is
removed.

7. Xbee Module
For wireless communication zigbee wireless module IEEE 802.15 standard series 1 is
used in our UGV. With the aid of X-CTU software.
This is the very popular 2.4GHz XBee module from Digi. These modules take the 802.15.4 stack
(the basis for Zigbee) and wrap it into a simple to use serial command set. These modules allow a
very reliable and simple communication between microcontrollers, computers, systems, really
anything with a serial port! Point to point and multi-point networks are supported.

Features:

3.3V @ 50mA

250kbps Max data rate

1mW output (0dBm)

300ft (100m) range

Wire antenna

Fully FCC certified

6 10-bit ADC input pins

8 digital IO pins

128-bit encryption

Local or over-air configuration

AT or API command set

28

Figure 3-21: XBee module

Components of XBee:
XBee transmitter and XBee receiver are two parts of this module which make this device
efficient to send and then to receive the data.
Data is sent from laptop via serial port through X-bee transmitter and a X-bee receiver at some
distance connected with Arduino board receive the transmitted data and manipulated by Arduino.

8. LI-PO Battery
A suitable power supply is one of the critical parts that should be put
into the first consideration in designing a robot. A power supply should have enough voltage
supply and suitable current flow so that it can move the motor. Less voltage supply would make
the motor have not enough torque to drive and having too high current flow also would damage
the electronic component in the circuit. For this project, two LiPo batteries are used of
TURNIGY brand. Lithium Polymer or LiPo battery is a type of rechargeable battery that
normally composed of several identical cells to boost up the voltage and current. One battery is
of 12 voltage supply, 4000mAh and discharge rate of 30C. And second battery is of 24 voltage
supply at 3300mAh. These batteries are good enough to drive two DC motor, four servo motor
for robotic arm and the circuit. Figure 3.10 below show the battery.

29

Figure 3-22: LiPo battry

3.2.2

Circuit Design

The main circuits which are designed in this project are power distribution and sensor board,
NPN, PNP transistor circuits, H bridge circuit and servo driver circuit. While there are also some
small circuits such as voltage regulator circuit, circuit to give output of diode to Arduino and
Arduino circuit.
1. Power Distribution and Sensor board
This below shown circuit is the circuit of the power supply to all circuits and components and
robot and sensors used in projects are attached to circuit and their connection are fed to Arduino.

30

Figure 3-23: Power distribution and sensor board

2. Servo Driver
In this circuit the connections of the servo motors are done.

31

Figure 3-24: Servo driver

32

3. H Bridge circuit:
Two H bridge circuits have been designed in complete project circuit using NPN and PNP
transistor and optocoupler.

NPN (TIP147) Transistor Circuit

Figure 3-25: NPN circuit

Turning on the source is easily accomplished by grounding the 1K resistor, however turning it
off requires bringing the 1K resistor up to the motor voltage. You could tri-state the output and
let the 10K resistor bring it up to the motor voltage. However, if you did, you're microprocessor
pin might be exposed to a voltage that is was not designed to handle. A solution for this problem
is to add an Opto-Isolator to the high side which is a sink circuit to turn on the source circuit.

33

PNP (TIP142) Transistor Circuit

Figure 3-26: PNP circuit

In the PNP circuit, the transistor stays turned off if the base is grounded, it turns on when current
flows through the 1K resistor and into the base.

3D view of H bridge circuit is shown here.

34

Figure 3-27: H bridge (3D view)

35

Figure 3-28: H bridge circuit

36

3.3 Software Model


Software is acting like a brain of the robot. The robot function will be programmed in the
software. Designing the software is as important as designing the hardware of the robot. This
section will discussed about the software tools that used in designing the software for the UGV
and the controlling method for the UGV.

3.3.1

Graphical User Interface (GUI) Designing

To control this UGV wirelessly GUI is built. The main purpose of building GUI is to send our
command to UGV, which in fact firstly sent to Xbee and then transferred to Arduino board
wirelessly. And then our robot take actions according to these commands.
This is most common type of user interface in use today. It is very friendly way for people to
interact with the computer because it makes use of pictures, graphics and icons, hence they are
called graphical. GUI makes use of

Windows
A rectangle area of screen where the commonly used applications run.

Icon
A picture or symbol which is used to represent a software application or
hardware devise.

Menus
List of options from which the user can choose what they require.

Pointer
A symbol such as an arrow which move around the screen as you move the
mouse. Helps you to select objects.

37

3.3.2

Building the GUI

GUI is designed in Microsoft visual studio 2010. And C language is used for building it. It is
built in windows form application as it spends most of its time simply waiting for the user to do
something, such as fill in a text box or click a button.
Windows Forms provides access to native Windows User Interface Common Controls by
wrapping the extant Windows API in managed code. With the help of Windows Forms, the .NET
Framework provides a more comprehensive abstraction.
There are different buttons designed in it, each button has its own task. By pressing each button,
we actually send any character to Comport which is then sent to Xbee serially.
Then from Xbee the data is sent to Arduino in wireless form.

3.3.3

Features Designed in GUI

Modes of GUI
Two modes are there in GUI

Sarge Control

Robotic Arm Control

In first mode we control the base. In base control, forward, and backward motion is controlled.
And left and right turns at different angles are also controlled. We control the speed of our base
through it.
Then in robotic arm control, we control the motion of links, forward and backward motion and
grippers motion is also controlled through it.

38

Text box
There is also a text box which shows that which character has been sent each time when we
press button.
GUI also has a feature that shows all the Comports of pc which are currently in use. When we
attach Xbee, then through GUI we can see with which comport it is connected.

39

Figure 3-29: GUI interfacing

3.3.4

Wireless Communication

In a proper UGV to handle out the military operation, there must be a strong communication
between operator and UGV to have the feedback of current situation which the robot is facing
currently and to give the instructions to the robot what should it do next. In the past, information

40

was used to send through any cable media, but there are always some difficulties using wired
media.
There are a lot of advancements in communication to minimize these problems. Wireless
communication is one of them. Wireless communication is the transfer of information between
two or more points that are not connected by an electrical conductor. Urgent situation can be
alerted through wireless communication. The affected regions can be provided help and support
with the help of these alerts through wireless communication. More over wireless networks are
cheaper to install and maintain. The most common technologies used radio. Early radio systems
transmitted analog signals but now the digital system can also be transmitted through it. In most
advance machines the RF modules or XBee modules are used but there are some dissimilarities
on RF and XBee. Such as:
i.

The RF transmitter and receiver allow one-way communication while the

ii.

XBee transmitter and receiver provides two way communication.


In case of RF technology the transmitter sends and the receiver may or may

iii.

not receive the signal.


In RF, the transmitter has no way of knowing if anything is receiving, and
the receiver has no way of saying "Hey, I didn't get that, Can you send it
again?". While XBee take care of this feature properly.

3.3.5

XBee Technology

Thats why XBee technology is appreciated and we used in our project. As discussed earlier,
Zigbee is a low cost, low power, wireless mesh networking standard. Zigbee can control 254
devices at a time and has the data transfer rate of 250kbps. Because of Zigbees low cost, low
power consumption and ability to connect large number of devices, it could be considered the
best option to be used in wireless control and monitoring applications. Theyre flexible they
send and receive data over a serial port, which means theyre compatible with both computers
and microcontrollers (like Arduino). And theyre highly configurable we can have meshed
networks with dozens of XBees, or just a pair swapping data.
a. XBee Explorer USB

41

This is a simple to use, USB to serial base unit for the XBee line. This unit works with all XBee
modules. Plug the unit into the XBee Explorer, attach a mini USB cable, and you will have direct
access to the serial and programming pins on the XBee unit

b. XBee regulated
This unit of XBee module is essential as to regulate the voltage level to a fix value. It
translate the 5v to 3.3v and vice versa. This unit also works with all XBee modules including
the Series 1 and 2, standard and Pro versions. Plug an XBee into this breakout and you will
have direct access to the serial and programming pins on the XBee unit and will be able to
power the XBee with 5V.

42

c. XBee Serial explorer


This is a simple to use, RS232 to serial base unit for the XBee line.it works with all XBee
modules including the Series 1 and Series 2.5, standard and Pro version. Plug the unit into the
XBee Explorer, attach a RS232 cable, and you will have direct access to the serial and
programming pins on the XBee unit.

43

3.3.6

Serial Communication

Serial communication is the process of sending data one bit at a time, sequentially, over
a communication channel or computer bus. This is in contrast to parallel communication, where
several bits are sent as a whole, on a link with several parallel channels. Information is passed
back & forth between the computer and controller by, essentially, setting a pin high or low.
Buffer:
It is most important to understand the nature of buffer to avoid errors later while writing codes.
There exists a buffer between the two events of sending and reading the data. Say a sensor is
streaming back data to your program, more frequently than your program reads it. Then the data
is stored to a list which we call a buffer. One writes data into it and other reads it, may be with
different speeds.
Initially the buffer is empty. As new data values come in they get added to the bottom of the list
(most recent data). If your program reads a value from the buffer, it starts at the top of the list
(oldest data). Once you read a byte of data, it is no longer in the buffer. The data in the second
position on the list moves up to the top position As soon as the buffer is full and more data is
sent, the oldest data gets discarded to make space for new data.

Chapter 4
4 SPECIAL FEATURES
4.1 Obstacle Evasion
During its motion in a path if there is any hurdle then how can this UGV recognize this and how
it can avoid itself to hit with these hurdles. To make our UGV efficient good to overcome with
these problems we used IR sensor.
The sensors are mounted on the front of the UGV. When IR emitter sends the light, if there is
some obstacle then the reflected light (with different wavelength of that light which was emitted
from the emitter of IR sensor) is detected on IR receiver. Which then send this analog signal to
Arduino and ADC channel of Arduino convert it to digital signal and then further it is decided

44

that weather there is any obstacle or not depending on the digital signal. And then Controller give
instructions to motor to change the angle then motor change the path.

4.2 Path Following


Path following is needed if the robot has to follow a specific path to reach its final
destination. This feature is attained in such a way that, by using sensors the reflected line drawn
on the path or arena is detected and controller sends the corresponding instructions to motors
which then follow the path accurately. To make this more precise, sensors should be selected
carefully. The presented robot captures line position with IR sensors, while these sensors are
escalated at the front of our robot. Several numbers of photo-reflectors can be used as IR sensors.
There will be two line styles that a robot can follow, first is the white stripe on black surface and
second is the black stripe on white surface.

4.3 Self-Alignment
UGV should have ability to make itself align in case of any disturbance for example when a
mobile robot take a turn then the sensors attached to the front of robot do not give same value as
one sensor will give less value than the other sensor. In that situation robot misalign and needs to
be align again to have smooth walk on ward.
Self-alignment can be achieved by comparing the values of both sensors. The motor will
continue to rotate until the value of both sensors become equal. When both sensors will start
giving the same signal then the UGV will be aligned and will move straightly. In this way any
kind of obstacle is detected through UGV and UGV decide if it needs to change the path and it
can align itself easily.

45

4.4 2D Mapping

Figure 4-30: 2D map

If the robot is facing such situation in which it doesnt give any type of feedback to operator i.e.
from camera, then to find where the robot is currently now, 2D mapping and localization
technique is used.
In 2D mapping a map of unknown environment is achieved on computer where the robot is
going right now. There are several techniques are used in mapping the path. One of them is
SLAM.

4.4.1

SLAM
SLAM stands for simultaneous localization and mapping. It is basically computational

problem of constructing or updating a map of an unknown environment while simultaneously


keeping track of a robot within it. SLAM is applicable for both 2D and 3D motion. We will only
be considering 2D motion. SLAM consists of multiple parts; Landmark extraction, data
association, state estimation, state update and landmark update. There are many ways to solve
each of the smaller parts.
For SLAM, the hardware of the robot is quite important. To do the SLAM there is needed a
mobile robot and some sensors. The odometry performance is very useful in SLAM. The

46

odometry performance measures how well the robot can estimate its own position, just from the
rotation of the wheels, that why encoder plays important role here.
Many types of sensors can be used in localization and mapping such as IR sensors, ultrasonic
sensor, cameras, inductive sensors and laser range finder.
What we have done in our project that, wall tracking through IR sensors. IR sensors mounted on
the front of robot identify the wall by transmitting the light and will follow that wall. Meanwhile
we have made a code through which a line will be drawn on matlab environment. The robot can
also backtrack by storing the data in two arrays. One array contains the direction information
while the other array contains displacement (pulses from encoder). When robot start
backtracking it picks one by one value from both array and move back to its original position by
using the same path.

4.5 Pick and Place


The task of a robotic arm is to pick and place. With the help of the links and gripper of the
robotic arm, robot can easily pick and place things from one place to another. In military
operations it can be used to dispose of a bomb and can carry the weapons to that area. So to meet
these needs, we have designed a robotic arm which is capable of pick and place a weight about
50 grams easily. We used servo motors having torques according to these motors.

47

Chapter 5

48

5 RESULTS AND DISCUSSIONS


5.1 Final Hardware Design

Figure 5-31: Final hardware model

49

Table 5.1 shows the hardware specifications and the dimension of the UGV.

Table 5.1 Final Hardware Specifications


Specification

Description

Mobile Base(length x width x 25*25*20 cm


height)
wheel(diameter)

7.5 cm

Arm weight

1.75 kg

Overall weight

8.5 kg

Modulator arm (length)

52 cm

5.2 Simulink Model of UGV


In matlab, using the Simulink library the Simulink model of UGV designed is shown below:

50

Figure 5-32: Simulink model

5.3 Results and Discussions


In our current work we have successfully developed an unmanned ground vehicle capable of
traveling through hazardous environment in daylight. The major navigational difficulty faced
during experimentation is the low ground clearance of the vehicle. Wheels with bigger diameter
may solve this problem. We used chain drive mechanism which is useful and better than belt

51

drive because chain drives, unlike belt drives, do not slip or creep ,have high torque and they are
more efficient than belt drives.
Moreover the differential drive used in our UGV make this robot easy to turn and when this
technique is used no steering wheel is required.
During test trials, the UGV had a run-time of 2-3 hours and was fully capable of navigating
rough terrains. Near real-time control was accomplished when the remote operator took control
of the UGV using a computer.
Operator control its motion and sends instructions wirelessly. XBee technology made it more
efficient to send our instructions to robot serially. It is now easily communicate wirelessly in
outdoor at a range of about 100 meters. And a wall is easily drawn on matlab using 2D mapping
technique, SLAM is basically combination of localization and mapping. What we have done in
our project is only mapping using IR sensors. Our robot track this wall in a known environment
while with more advancement it can be made to track map of an unknown environment. Back
tracking has also been successfully achieved in which robot can return to its initial position by
following the same path.
We have achieved one of main goal in our project, which is self-alignment and path following.
And thus the robot can now move autonomously. A robotic arm placed on its base made our
robot more useful in doing tasks like handling different things and bomb disposal applications.
There were some problems in project which will discuss in next chapter.

Chapter 6

52

6 TECHNICAL PROBLEMS AND THEIR SOLUTIONS


6.1

Problems
1) Due to increase in weight of the mechanical structure the center of gravity may be
effected and the speed of motor may decrease.

Solution: There are two ways to stabilize the speed of motor. By adjusting the mechanical
structure

so that the center of gravity normalized again or with PWM, speed of one of the

motor is made equal to other motor.


2) Even in the dim light the IR sensors give different values. This is due to the noise in the
IR sensor.
Solution: This can be reduces by averaging the sensor.
3) For 2D mapping, the IR sensors are not suitable. They can track a wall but cannot draw a
proper map which give a clear information of the way.
Solution: For this purpose ultrasonic sensor or the laser range finder should be used.
4) There was another problem that the motor torque was already calculated and when the
mechanical structure fabricated the weight of one arm was increased and then the torque
was not appropriate for it.
Solution: There are two solutions for it, attach a spring to support the arm or change the motor
according to the changed torque. And we solved this problem by replacing a motor with high
torque.

6.2 Future Extensions


There are several recommendations that can be considered in order to improve this
project or any project which is similar to this in the future based on several problems
encountered during this project.

53

I.

A higher traction track will need a higher torque motor to move it around, but at the
expense of speed. For future recommendations, a higher speed and torque motor is
suggested for the best performance of the robot.

II.

This UGV can be improvised by attaching the camera for surveillance purposes on the
middle of the main body so that it can give view to the user through PC. For other
additional purpose, the mountable kit can be attached on the body to make the UGV
multipurpose.

III.

Belt drive mechanism and flippers can be attached to the base of UGV so that it can
easily come over the obstacles of the path. And then it can be used on any surface.

IV.

Artificial intelligence can also be used to solve any type of puzzle or to move in any kind
of arena.

V.

Proper mapping and tracking can be done through using ultra sonic sensors.

54

References
1. Douglas W. Gage, A Brief History of Unmanned Ground Vehicle (UGV) Development
Efforts, Special Issue on Unmanned Ground Vehicles, Unmanned Systems Magazine, Vol. 13,
number 3, summer 1995.
2. Parag H. Batavia, Dean A. Pomerleau, Charles E. Thorpe, "Applying Advanced Learning
Algorithms to path following", CMU-RI-TR-96-31, October-1996.
3. Wedeward, K., S. Bruder, V. Yodaiken, and J. Guilberto, Low-Cost Outdoor Mobile Robot: A
Platform for Landmine Detection, 42nd Midwest Symposium on Circuits and Systems, Las
Cruces, NM, August 8-11, 1999.
4. Xiao, Y., and C. Kambhampati, Object detection for surface landmine with mobile robot,
IEEE International Conference on Systems, Man and Cybernetics, Volume 3, IEEE, Yasmine
Hammamet, Tunisia, Oct. 6-9, 2002.
5. "UGCV article".
http://www.machinebrain.com/articles/ugcv/ugcv01.html. Retrieved 23 May 2008.
6. "National Robotics Engineering Center".
http://www.rec.ri.cmu.edu/projects/ugcv/index.htm. Retrieved 23 May 2008.
7. Klafter, R.D. "Mobile Robots, Research and Development", International Encyclopedia of
Robotics: Applications and Automation, Wiley and Sons, NY, 1988, pp 920-943.
8. H.R. Everett. Sensors for Mobile Robot Systems: Theory and Application, A.K. Peters,
Wellesley MA, 1995.
9. Harmon, S.Y. "Autonomous Vehicles", Encyclopedia of Artificial Intelligence, Wiley and
Sons, NY, 1986, pp 39-45.
10. Robert A. Frederick, "Project Plan: Unmanned Air/Ground Vehicle", http://www.eb.uah.edu/
ipt2001.

55

11. Cellini, M.; Mati, R.; Pollini, L.; Innocenti, M., "Obstacle Avoidance for Autonomous
Ground Vehicles in Outdoor Environments," Intelligent Vehicles Symposium, 2007 IEEE , vol.,
no., pp.258,263, 13-15 June 2007.
12. Takashi Gomi, Koichi Ide, and Hirokazu Matsuo, The Development of a Fully Autonomous
Ground Vehicle (FAGV) Applied AI Systems, Inc., Canada 1994

56

You might also like