Navigation Controllers for Mobile Robots

quartercircleAI and Robotics

Nov 14, 2013 (3 years and 8 months ago)

73 views

Department of Computer Science & Engineering


Navigation Controllers for Mobile Robots



By Luis D. Echevarria Arroyo, Advisor: Mauricio Castillo
-
Effen

Summer REU Program

Abstract



This

work

explores

the

use

of

controllers

based

on

fuzzy

logic

to

navigate

a

ground

mobile

robot

between

two

land

marks

while

avoiding

obstacles
.

The

smooth

trajectories

generated

by

the

fuzzy

logic

controller

show

that

in

many

cases,

it

outperforms

other

types

of

controllers,

such

as

those

generated

by

controllers

based

on

algorithmic

or

reactive

control

approaches
.

The

use

of

Virtual

Reality

to

visually

assess

the

performance

of

the

controllers

is

one

key

aspect

of

the

work
.


Motivation


At

the

Center

for

Robot

Assisted

Search

and

Rescue,

there

is

a

variety

of

ground

robots

that

are

used

for

urban

search

and

rescue

in

disaster

situations
.

One

basic

ability

of

the

ground

robots

is

to

navigate

autonomously

in

hostile

environments

searching

for

victims
.

In

other

words,

they

have

to

be

able

to

reach

a

destination

point

and

come

back

to

the

place

where

they

have

been

sent

from
.



Main

Goal

To

evaluate

the

application

of

fuzzy

logic

to

the

development

of

navigation

controllers

for

mobile

robots
.


Main

Assumptions



All

Terrain

Robot

Vehicle

(ATRV)

follows

perfect

planar

skid

steering

kinematics
.



ATRV

has

perfect

self
-
localization

mechanisms
.



ATRV

can

localize

obstacles
.


Main

Approach

Use

of

human

knowledge

to

solve

the

navigation

problem
.

This

is

accomplished

by

the

use

of

fuzzy

logic
.

Simulation Diagram

Materials





Virtual

Reality

Modeling

Language

(VRML)

is

a

text

language

used

for

describing

3
-
D

shapes

and

interactive

environments
.




The

Virtual

Reality

Toolbox

of

MATLAB

links

Simulink

with

the

virtual

reality

graphics
.



Simulink

controls

the

position,

rotation,

and

dimensions

of

the

3
-
D

images

defined

in

the

virtual

reality

environment
.



The

Fuzzy

Logic

Toolbox

provides

tools

for

you

to

create

and

edit

fuzzy

inference

systems

within

the

framework

of

MATLAB
.

You

can

integrate

your

fuzzy

systems

into

simulations

with

Simulink
.


Methods



Acknowledgement


I

want

to

thank

Mauricio

Castillo,

Dr
.

Miguel

Labrador

and

Dr
.

Rafael

Perez

for

their

guidance

and

support
.

This

project

was

funded

by

the

National

Science

Foundation
.

Fuzzy Sets for the Mobile Robot


Fuzzy Logic Controller Rules

Useful Angles

Discussion


The

fuzzy

rule
-
base

of

the

system

still

in

development

combines

the

repelling

influence,

which

is

related

to

the

distance

and

the

angle

between

the

robot

and

the

obstacle,

with

the

attracting

influence

produced

by

the

angular

difference

between

the

actual

direction

and

position

of

the

robot

and

the

final

configuration,

to

generate

a

new

motion

command

for

the

mobile

robot
.


Results

Trajectory in the X
-
Y Diagram


A virtual reality screenshot WITH obstacle!!


If (distanceToGoal=far) then (move=advance).

If (distanceToGoal=close) and (velocity=zero) then (move=advance).

If (distanceToGoal=close) and (velocity=not zero) then (move=reduce).

If (distanceToGoal=zero) and (velocity=zero) then (move=constant).

If (distanceToGoal=zero) and (velocity=not zero) then (move=reduce).

If (angleToGoal=neg) then (turn=bigRight).

If (angleToGoal=pos) then (turn=bigLeft).

If (angleToGoal=zero) and (angleToGoalRate=zero) then (turn=steady).

If (angleToGoal=zero) and (angleToGoalRate=neg) then (turn=smallRight).

If (angleToGoal=zero) and (angleToGoalRate=pos) then (turn=smallLeft).

ATRV Kinematics

zero

close

far

Input “distanceToGoal”

reduce

constant

advance

Output “move”

neg

zero

pos

bigLeft

smallLeft

steady

smallRight

bigRight

Output “turn”

Input “angleToGoal”

slow

zero

fast

Input “velocity”

neg

zero

pos

Input “angleToGoalRate”

0

1

-
1

1

0

1

-
0.1

0.1

1

1

1

1

1

-
1

1

-
1

1


References


http://www.mathworks.com/access/helpdesk/help/helpdesk.html

http://www.erudit.de/erudit/events/esit2000/proceedings/BB
-
02
-
5
-
P.pdf

http://www.informatik.unistuttgart.de/ipvr/bv/RoboCupCamp2002.html