novel fuzzy logic controller based on time delay inputs ... · novel fuzzy logic controller based...

18
Rojas et al. Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 1 Novel Fuzzy Logic Controller based on Time Delay Inputs for a Conventional Electric Wheelchair M. Rojas P. Ponce A. Molina Instituto Tecnológico y de Estudios Superiores de Monterrey, Campus Ciudad de México. ABSTRACT This work proposes a Dynamic fuzzy logic Controller for the navigation problem of an electric wheelchair. The controller uses present data from three ultrasonic sensors as the main source of information from the environment. However other inputs, named as “dynamic time delay”, are obtained from past samples of those static data and are used to design the rule base. Although fuzzy logic controllers with static inputs could solve basic navigation problems, the proposed structure with dynamic inputs gets an excellent performance for more complex navigation problems. There were designed static and dynamic navigation strategies, which were first deployed in software just to evaluate their behavior. They were tested in a maze and their trajectories were compared to select the best. For improving its response, the dynamic fuzzy logic strategy was deployed in hardware. The paper presents a comparison between the software and hardware applications to illustrate the possibility of implementing the proposed methodology in different platforms. The dynamic fuzzy logic controller led the electric wheelchair without colliding against walls, and is a high performance navigation system. Moreover, this controller could solve the sensor limitations. Keywords: fuzzy logic, dynamic, controller, wheelchair, ultrasonic sensors.

Upload: ngodiep

Post on 28-Jan-2019

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Novel Fuzzy Logic Controller based on Time Delay Inputs ... · Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 1 ... which were first

Rojas et al. Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 1

Novel Fuzzy Logic Controller based on Time DelayInputs for a Conventional Electric Wheelchair

M. RojasP. Ponce

A. Molina

Instituto Tecnológico y deEstudios Superiores de

Monterrey, Campus Ciudadde México.

ABSTRACTThis work proposes a Dynamic fuzzy logic Controller for the navigationproblem of an electric wheelchair. The controller uses present datafrom three ultrasonic sensors as the main source of information fromthe environment. However other inputs, named as “dynamic timedelay”, are obtained from past samples of those static data and areused to design the rule base. Although fuzzy logic controllers withstatic inputs could solve basic navigation problems, the proposedstructure with dynamic inputs gets an excellent performance for morecomplex navigation problems. There were designed static and dynamicnavigation strategies, which were first deployed in software just toevaluate their behavior. They were tested in a maze and theirtrajectories were compared to select the best. For improving itsresponse, the dynamic fuzzy logic strategy was deployed in hardware.The paper presents a comparison between the software and hardwareapplications to illustrate the possibility of implementing the proposedmethodology in different platforms. The dynamic fuzzy logic controllerled the electric wheelchair without colliding against walls, and is a highperformance navigation system. Moreover, this controller could solvethe sensor limitations.

Keywords: fuzzy logic, dynamic, controller, wheelchair, ultrasonicsensors.

Page 2: Novel Fuzzy Logic Controller based on Time Delay Inputs ... · Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 1 ... which were first

2 Revista Mexicana de Ingeniería Biomédica · volumen 35 · número 2 · Agosto, 2014

Correspondence:Mario Rojas

EGIA, Calle del Puente #222Col. Ejidos de Huipulco,

Tlalpan C.P. 14380, MéxicoD.F

Email address:[email protected]

Received:October 12, 2013.

Accepted:June 19, 2014

RESUMENEn este trabajo se presenta un controlador dinámico con lógica difusapara el problema de navegación de una silla de ruedas. El controladorusa datos presentes de tres sensores ultrasónicos como la principal fuentede información del entorno. Sin embargo, a partir de valores pasadosse obtienen otras entradas designadas como “retrasos dinámicos´´para la base de reglas. A pesar de que los controladores de lógicadifusa con entradas estáticas pueden resolver problemas básicos denavegación, la estructura propuesta con entradas dinámicas tiene unexcelente desempeño para problemas de navegación más complejos.Se diseñaron estrategias de navegación estáticas y dinámicas, lascuales fueron implementadas primero en software para evaluar sudesempeño. Se usó un laberinto y sus trayectorias fueron comparadaspara seleccionar el mejor. Para mejorar su respuesta, la estrategiadinámica fue implementada en hardware. Este artículo presenta unacomparación entre las aplicaciones de hardware y software para ilustrarla posibilidad de implementar la metodología en diferentes plataformas.El controlador dinámico de lógica difusa dirigió la silla eléctrica sincolisionar contra los muros, y es un sistema de navegación de altodesempeño. Así mismo, este controlador podría resolver las limitacionesdel sensor.

Palabras clave: lógica difusa, controlador, dinámico, silla de ruedas,sensores ultrasónicos.

Introduction

Word report on disability recommends the use ofelectric wheelchairs (EW) as assistive technologyfor handicapped persons [1]. Furthermore, smartelectric wheelchairs could solve the mobilityproblem when the patients suffer strong mobilitylimits and cannot control the joystick. Theycould be assisted by a smart wheelchair whichincludes sensors, controllers, user interfaces andnavigation modules as presented in [2] and [3].

The smart wheelchairs are classified asautonomous, semi-autonomous and hybridsystems [4]. In an autonomous wheelchair,the operator indicates it where to go, thenthe system plans the route and moves therewithout assistance. In those prototypes, the useronly waits for the system to reach the specifiedobjective without being able to choose the speedor the trajectory. Besides, those systems arelimited to local and well-known environments,and they are planned to be used by patientswho cannot control any device because of theirdisability. In the semi-autonomous prototypes,

the operator and the system work together bymeans of some user interface, sensors and smartnavigation techniques. With this approach, thepatient partially needs help in certain navigationtasks but he is able to control the mobility. Taskslike obstacle avoidance, wall following, parkingand door passage are typically used in this kindof smart EW as mentioned in [5], [6] and [7].

Conventional controllers are classified in two:linear and nonlinear. The linear controllers areconstructed from analyzing a set of equations,which model the dynamic of the system withprecision, or at least approximately. Onthe other hand, for nonlinear controllers themathematical model contains uncertainties or istotally unknown because of its complex behavior(all control systems are actually nonlinear) [8].

Fuzzification

Rule base

Defuzzification

Inference

engine

Linguistic Logic Strategy

Input

data

Output

data

Fuzzy controller

!

!"#$%&'()'*+&',$--.'/012%033&%'

Page 3: Novel Fuzzy Logic Controller based on Time Delay Inputs ... · Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 1 ... which were first

Rojas et al. Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 3

Figure 1. The fuzzy controller.

The fuzzy logic, introduced by Zadeh in [9],is used as a control technique for systems inwhich no mathematical model is known. Itis complicated to find a mathematical modelwhen the user takes navigation decisions basedon vague and imprecise information, but itis possible to approximate their actions witha controller based in fuzzy logic. The basictopology of a Fuzzy Logic Controller (FCL) isshown in Figure 1. The inputs are crisp values,which are changed into degrees of membershipbetween 0 and 1. The membership functionsare described with linguistic labels (like Closeor Far), which are very useful for constructingthe rule base built with if-then structures. Theinput fuzzy sets are used as antecedents andthe output fuzzy sets as consequents, both areconnected with a fuzzy operator to determinethe rule membership value. This value is usedin the defuzzification process to determine thecrisp output.

There are several works of FLC applied toautonomous mobile robots, for instance [10],[11] and [12]. More precisely, a review offuzzy logic applications in electric wheelchairs ispresented in Table 1. This technique can beused to implement obstacle avoidance or wallfollowing algorithms for navigation of the EWin some unknown environments. For instance,in references [13], [14], [15], [16] and [17] arepresented prototypes which use distance sensorsas inputs for the fuzzy logic controller. Anothercases of application are those with fuzzy logic aspart of the user interface to get instructions fromthe user (i.e. the flex sensor in [18], the voicecommands in [15] or the joystick operation modedescribed in [16]). Finally, other works use fuzzylogic for complementary tasks of the completesystem as pairing location patterns in a map orcontrolling the speed of the wheelchair motors ([19] and [20], respectively).

According to the review presented in Table1, the wheelchair performance is related with

three main aspects: the sensors employed,the processing core and the implementedmethodology. For the case of sensors, theyare used to get distance measurements fromobstacles. Ultrasonic sensors have been widelyused in prototypes because of their low cost andfast responses, however they have some noiseproblems, which can be improved with software.Another alternative is the infrared sensors (IR),but they are limited in distance and visible lightaffects their performance as presented in [15].Other systems use laser range finders, but theyare not as cheap as ultrasonic sensors [5]. Itis certainly true that a big number of sensorscomprises more environment information for thecontroller, but this outcomes in a more complexcontrol [16]. In those cases, if the processor islimited in resources the response will be slow.

The other aspect to consider is the processingcore. In Table 1, all projects were implementedusing microcontrollers or computers, and justone of them used real-time hardware to controlthe motors rotation speed [21]. In contrast,there are parallel architectures which allow datato access the resources at the same moment,and they guarantee the execution in a timeperiod. The real-time hardware, like Field GateProgrammable Array (FPGA) has proved to bevery efficient and reliable, and there are a lotof advantages about configuring a controller inthe FPGA instead of using a computer or anymicrocontroller [22].

Finally, in relation with the implementedalgorithm to avoid obstacles, the Mamdamimethodology is used in [14], [18], [15], [16], [17]and [23]. Mamdani is a predominant inferencetechnique for fuzzy logic controllers based onhuman experience. In all those prototypes, staticinputs are used to compute the output of thecontroller (static inputs mean current time data),however more information can be obtained fromthe past samples. That information is knownas dynamic, and can be used as extra inputsfor the controller to improve the whole systemperformance.

Page 4: Novel Fuzzy Logic Controller based on Time Delay Inputs ... · Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 1 ... which were first

4 Revista Mexicana de Ingeniería Biomédica · volumen 35 · número 2 · Agosto, 2014

Table 1. Main works developed using fuzzy logic for an Electric Wheelchair (EW)Ref. Description

[13] Two fuzzy controllers are used: one for joining a target specified by specifying an (x, y)coordinate and the other for avoiding obstacles.

[14] The fuzzy controller considers distance, presence and direction from the objects to decide ifit necessary to change the trajectory.

[18] It uses two fuzzy controllers, one to determine actions from the flex sensors and the other forobstacle avoidance based in ultrasonic sensors. Preference is given to the fingertip control ifobstacles are far and to the obstacle avoidance system if objects are close.

[15] It includes an obstacle avoidance control which uses IR sensors, as well as a contour followingcontrol. Both are fuzzy logic controllers.

[20] Utilizes FPGA technology in a wheelchair combined with a fuzzy logic control designed tomanipulate the rotation speed of the driving motors. It is not a navigation control.

[16] The fuzzy controller is based in the information given by eight sonar sensors and the joystick.Inference system is based in that information to control direction and speed of the wheelchair.

[19] The fuzzy control is focused on matching the position of a wheelchair in a sidewalk networkmap of an urban area, by using a GPS.

[17] The fuzzy logic controller is designed to alternate between manual and automatic navigationdepending of near obstacles. This assures the switching to be gradual. The automaticcontroller is also based in fuzzy logic to avoid obstacles.

[23] The controller is used to determine the operator orders by using a seat pressure sensor andbody movements as the interface. The inputs for the inference system are the x and y velocityand acceleration of human gravity center. The prototype includes omnidirectional wheels formoving in every direction.

This work proposes a dynamic fuzzy logiccontroller for an EW navigation system, whichutilizes only three ultrasonic sensors. Extrainformation is computed from the distancemeasurements as additional inputs for thecontroller in order to get better results.Implementation was done first in softwarerunning in Windows 7, and then in the FPGAchip embedded in a cRIO 9014 to guarantee dataprocessing in real time.

METHODOLOGY

The electric wheelchair structuraldesign

The system described in this section is named as“The software implementation”. A commercialelectric wheelchair by Quickie, model P222-SE,was adapted with the hardware shown in Figure2. The NI USB-6211 is a data acquisition moduleused to generate the voltages that move the EWmotors. Two analog channels are used: one

for forward-backward movement and another forsteering left-right actions.

In addition, three Parallax PING)))ultrasonic sensors were installed in thewheelchair at different positions: front left(S1), front right (S2) and back (S3). Thegeneral information regarding the ultrasonicsensors is presented below (more informationin [24]). They detect objects by emitting ashort ultrasonic burst and then “listening” theecho. The sensors normally emits a short40 kHz burst under the operation of a hostdigital system (trigger pulse), for example amicrocontroller. This burst travels through theair, hits an object and then bounces back to thesensor. The PING))) sensor provides an outputpulse to the host that will terminate when theecho is detected, hence the width of this pulsecorresponds to the distance to the target. Theprinciple of operation of these sensors is shownin Figure 3.

The microcontroller block is a Basic Stamp2 (BS2-IC), a 20 MHz speed processor made

Page 5: Novel Fuzzy Logic Controller based on Time Delay Inputs ... · Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 1 ... which were first

Rojas et al. Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 5

by Parallax. This microcontroller acquires data

ComputerMicrocontroller

A01

AO2

Serial

port

Joystick

User Interface

NI-DAQ

USB 6211

Wheelchair

Quickie P222-SE

Motors

PING)))

Sensors

Figure 2. Components of the wheelchair systemimplemented in LabVIEW

!"#$%&'J)'K4%4334L'KIMNCCC'$32%4901"/'9&190%9'<%"1/"<3&'0,'Figure 3. Figure 3. Parallax PING))) ultrasonicsensors principle of operation described in theirmanual [33].

from the ultrasonic sensors, converts itinto distance measurements and sends thatinformation via serial communication to theinterface hosted in a laptop. The microcontrolleris configured to receive distance samples every100 ms from the sensors. Finally, the interface tooperate the electric wheelchair was programedin LabVIEW 2013. It receives distance datafrom the BS2-IC and sends voltage operationvalues to the acquisition module 6211. Thisinterface allows the user to move the wheelchairwith virtual controls and to observe themeasured distances to objects (in centimeters).Furthermore, the fuzzy logic controller (FLC)was integrated to execute automatic actionsbased in those measurements.

Navigation scenarios analysis

The wheelchair must move in any environmentwith static objects like walls, doors, hallways;and dynamic objects, which suddenly appearlike a person walking. When an object isdetected in the path, the controller computes

which movement or steer action is going to

S1 S2

S3

S1 S2

S3

S2S1 S2S1

S2

a) b)

c) d)!

!"#$%&' Q)' M4;"#42"01' 9/&14%"09' 4C' 9242"/' 05924/3&9R' 5C' :.14F"/'Figure 4. Navigation scenarios a) staticobstacles, b) dynamic obstacles, c) turningcorners, d) Straight navigation.

be performed. It is desirable that in everyconfiguration, the system should go forward ina straight route avoiding obstacles. In Figure 4are presented four configurations to analyze howthe system behaves, which inputs are consideredand what actions are needed to do in every case.With this analyses is determined the rule basefor the fuzzy controller.

The configuration indicated in Figure 4.a.shows the sensors S1, S2 and S3 blockedby objects at a distance considered “close”.Consequently, the action is to steer left or rightto avoid the blocking object. The second scenariopresented in Figure 4.b. shows dynamic andstatic obstacles moving either around the sensorsS1 or S2. When an object appears suddenly,the EW must avoid crashing with it. The thirdconfiguration presented in Figure 4.c. shows ifthere is a steering action that must be carriedout for a long time to turn over a corner (theblocked sensor stills in that same state until thecorner is over). Finally, the last navigation caseis a straightforward trajectory observed in Figure4.d. It is desirable that the wheelchair movesin the middle of a hallway, and maintain samedistance between left and right walls.

Page 6: Novel Fuzzy Logic Controller based on Time Delay Inputs ... · Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 1 ... which were first

6 Revista Mexicana de Ingeniería Biomédica · volumen 35 · número 2 · Agosto, 2014

Fuzzy logic navigation strategies

Three fuzzy logic controllers were designed afterthe analysis of the configurations. Figure 5 showsthe strategies proposed for navigation.Strategy-A. It uses as inputs the distancemeasurements from left, right and back sensors.The idea is simple, when a sensor is blocked thecontroller calculates a direction to steer. Observethat these inputs are static because they are thecurrent data taken from sensor.Strategy-B. It uses the same logic as in Strategy-A, but additionally it considers past samplesfrom sensors S1 and S2 as inputs to detectdynamic objects. The inputs labeled as dS1/dtand dS2/dt are defined as delayed data, thus s1 isthe current distance and dS1/dt is the last pastvalue obtained. In addition, this strategy usesas an input the arithmetic mean of 16 samplescollected from steering past actions (D output)performed by the controller.Strategy-C. This controller is based in theprevious strategies, but it includes another inputto make straighter trajectories. This input isobtained by subtracting S2 from S1. If this inputis included, the EW tries to stay at the centerof the path. 12 rules were proposed for thisstrategy, the next cases are described next:

• Rule 1, 2, 3. Left, right and back sensorsare completely blocked.

• Rules 4, 5. Chair is blocked in one side, leftor right.

• Rules 6, 7, 8. Chair is blocked in both sidessimultaneously

• Rules 9, 10, 11. All sensors are in the “far”set.

• Rule 12. An object appears suddenly.

The complete rule set is shown in Table 2.Variables are defined in terms of fuzzy sets

termed as:

S1, S2, S3 → C (Close), F (Far)

ds1, ds2 → GF (Getting far)

S → P (Positive), Z (Zero), N (Negative)

Strategy-A

Fuzzy Logic

Controller D

MS1

S3

S2

Strategy-B

Fuzzy Logic

Controller

D

M

S1

S3

S2

dS2

dt

dS1

dt

Y

dS1

dS2

Strategy-C

Fuzzy Logic

Controller

D

M

S1

S3

S2

dS2

dt

S2-S1

dS1

dt

S

dS1

dS2

Y

!

!"#$%&'T)'!$--.'/012%033&%'92%$/2$%&9':&9"#1&:',0%'4<<%04/+&9'UR'Figure 5. Fuzzy controller structures designedfor approaches A, B and C

M → N (Negative), MF (Medium Fast), B(Backward), F (Forward), MF (MiddleForward)

D → L (Left), ML (Medium Left), N(Negative), MR (Medium Right), R(Right)

Y → TR (Turning Right), TN (Turning Null),TL (Turning Left)

Inputs variables description

The fuzzy sets used for every variable aredescribed next:

Page 7: Novel Fuzzy Logic Controller based on Time Delay Inputs ... · Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 1 ... which were first

Rojas et al. Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 7

Table 2. The software implementation rule set (Strategy-C)1 s : N ∩ s1 : C ∩ s2 : C ∩ s3 : C ⇒M : N ∩D : N2 s : Z ∩ s1 : C ∩ s2 : C ∩ s3 : C ⇒M : N ∩D : N3 s : P ∩ s1 : C ∩ s2 : C ∩ s3 : C ⇒M : N ∩D : N4 s : N ∩ s1 : F ∩ s2 : C ⇒M : MF ∩D : L5 s : P ∩ s1 : C ∩ s2 : F ⇒M : MF ∩D : R6 s : N ∩ s1 : C ∩ s2 : C ∩ Y : TR⇒M : B ∩D : R7 s : Z ∩ s1 : C ∩ s2 : C ∩ Y : TN ⇒M : B ∩D : N8 s : P ∩ s1 : C ∩ s2 : C ∩ Y : TL⇒M : B ∩D : L9 s : N ∩ s1 : F ∩ s2 : F ⇒M : F ∩D : ML10 s : Z ∩ s1 : F ∩ s2 : F ⇒M : F ∩D : N11 s : P ∩ s1 : F ∩ s2 : F ⇒M : F ∩D : MR12 ds1 : GF ∪ ds2 : GF ⇒M : MF ∩D : NWhere ∩ = Tm = min(x, y).

1 !! ! !!!

2 !! ! !!!

3 !! ! !!!

4 ! !! !

5 ! !!!

6 !! ! !!!

7 !! ! !!!

8 !! ! !! !

9 !!!"

10 ! !!!

11 !!!"

12 ! !!!

!"! #! $! %!&!

!'"%

!'%

!'(%

&'!

!

)*+*),-./

0*+*012

0

3&43"43#*5678

µ93&43"43#:

!$! ;! <! &!!"!

!'"%

!'%

!'(%

&'!

!

=3 =0

>3&4>3"*5678

µ9>3&4>3":

?@?A ?B

1: C:

=3*+*=/DDEFG*371,,

=0*+*=/DDEFG*01.D

@*+*@/G1DEH/

I*+*I/2-

J*+*J-.EDEH/

?A*+*?K2FEFG*A/LD

?@*+*?K2FEFG*@K,,

?B*+*?K2FEFG*BEGMD

)

!%'( %'< %'N ;'%%'%

!'"%

!'%

!'(%

&'!

%'" O5P8

µ9O:

!! $!!

!'"%

!'%

!'(%

&'!

Q$!!

@ I

3*5678

µ93:

6: >:

J

Figure 6. Fuzzy Input definitions and memberships functions a) distance, b) distance differential, c)past steering action and d) sensor difference.

Distance. This variable is defined with twofuzzy sets: close (“C”) and far (“F”) andis specified for S1, S2 and S3 sensors.The distance range of these inputs wasconsidered as much as necessary to avoidcollisions as shown in Figure 6.a.

Distance differential. These inputs were

calculated from S1 and S2. The “dS1”and “dS2” inputs are defined by two fuzzysets: getting fast (“GF”) and gettingslow (“GS”). They are useful for thesystem to take decisions by consideringthe approaching of dynamic objects to thewheelchair. Membership functions of theseinputs are presented in Figure 6.b.

Page 8: Novel Fuzzy Logic Controller based on Time Delay Inputs ... · Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 1 ... which were first

8 Revista Mexicana de Ingeniería Biomédica · volumen 35 · número 2 · Agosto, 2014

!

"#

$%&$%'

!%'$

!%$

!%($

)%!

*%'

# +

",-./

µ0"1

&%'*%2

31

"4 4

&%!

#,5,#367839:

"#,;,"<::=>,#367839:

+,;,+?==

"4,;,"<::=>,4@9839:

4,5,4@9839:

A,5,A>BC

"A,;,"<::=>,A>BC

+,;,+?==

"D,;,"<::=>,D<EFC

D,5,D<EFC

!

"A

&%!$%$

!%'$

!%$

!%($

)%!

*

A +

G,-./

µ0G1

&%H*%$

I1

+D D

&%$

!Figure 7. Fuzzy outputs definition a) Movement, b) Direction outputs

Past steering action. It is defined fromthe collected information about the paststeering values that indicate an actionperformed for a long time. This inputnamed “Y” is obtained from the “D”output and is defined with 3 membershipfunctions as shown in Figure 6.c: turningleft, turning null and turning right (“TL”,“TN” and “TR”, respectively).

Sensor difference. It is obtained bysubtracting S1 from S2 and determinesif the wheelchair is deviating negatively,positively or zero (“N”, “P”, and “Z”). Ifthe difference is negative, the wheelchairsteers to the left side; if positive, steers tothe right side of the reference. Membershipfunctions are shown in Figure 6.d.

Output variables description

Output variables indicate the movement orsteering action of the wheelchair: forward,backward, left or right. The obtained valuesare defuzzified into analog voltages. Figure 7shows the sets definition for these outputs. Theirranges are adjusted to the functional voltages formoving the motors and they are not symmetrical.

Movement. The “M” output correspondsto analog voltage channel 1, and it isdefined by five fuzzy sets named Backward,Middle Backward, Null, Middle Forwardand Forward (“B”, “MB”, “N”, “MF”,“F”). These five membership functionsallow the system to go backward or forwardin different speeds.

Direction. This output (labelled as “D”)activates analog channel 2 and is defined

by five sets named Left, Middle Left, Null,Middle Right, Right (“L”, “ML”, “N”,“MR”, “R”).

Static and dynamic fuzzy controllers

Navigation circumstances presented above couldbe used to define static and dynamic fuzzylogic controllers. A static FLC operates withthe current sensor data to obtain the outputs(Strategy-A), but a dynamic FLC considerscurrent and past values from sensors to obtainthe outputs (Strategies B and C). A study of astatic controller behavior is presented below inorder to see how the information from the pastis not affecting the firing rules. It was used theproposed Strategy-C in this analysis.

The study case has the following conditions:there are objects blocking the sensors S1 and S2,approaching at different speeds from a distanceconsidered far. This is illustrated in Figure 8.

If the controller has a set of fixed linguisticrules (as those in Table 2) and it is assumed thatthe rules (10, 9, 7 and 4) are affected for specificinputs. The firing strength graphs obtained inthis case study are shown in Figure 9.

The firing strength shows how the ruleschange according to the movement of the EW.The Speed response is presented in Figure 10.a.which shows actions executed. In the firstconfiguration, distance registered in sensors S1and S2 decrease at the same rate. In the velocitygraph as the distance becomes small, forwardspeed is needed to slow down to avoid collision upto the moment it changes direction to backward.Meanwhile, in the angular velocity response nochange in direction is registered. However,for the second response presented in Figure

Page 9: Novel Fuzzy Logic Controller based on Time Delay Inputs ... · Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 1 ... which were first

Rojas et al. Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 9

object

S1 S2

S3

96 cm74 cm

4 cm

object

7 cm

object

S1 S2

S3

95 cm84 cm

3 cm

object

6 cm

! Figure 8. Case Study regarding the configurationwhen both sensors change values (a) at samespeed and (b) S1 changes faster than S2.

a)

b) !"#$%&'\)'!"%"1#'92%&1#2+'#%4<+9',0%'/01:"2"019'B4C'05924/3&9'

0

50

100

020406080100

0

0.2

0.4

0.6

0.8

1

S1 [cm]

rule 7

rule 4

rule 9

S2 [cm]

rule 10

Firin

g S

trength

0

50

100

0

50

100

0

0.2

0.4

0.6

0.8

1

rule 11

rule 10

S1 [cm]

rule 4

rule 9

S2 [cm]

Firin

g S

trength

Figure 9. Firing strength graphs for conditions(a) obstacles moving at the same speed (b)obstacles moving at the different speed.

a)

b)

!"#$%&' (])' *+&' ;&30/"2.' #%4<+9' ,0%' /01,"#$%42"019' B4C'

0 1 2 3 4 5 6 7-100

-50

0

50

100

Velo

city [

%]

time [s]

Forward

Backward

0 1 2 3 4 5 6 7-100

-50

0

50

100

Angula

r V

elo

city [

%]

time [s]

Left

Right

0 1 2 3 4 5 6 7 8 9-100

-50

0

50

100

Velo

city [

%]

time [s]

Forward

Backward

0 1 2 3 4 5 6 7 8 9-100

-50

0

50

100

Angula

r V

elo

city [

%]

time [s]

Left

Right

Figure 10. The velocity graphs for configurations(a) obstacles moving at the same speed (b)obstacles moving at different speed.

10.b. corresponding to the other configuration,forward speed decreases slowly until it changesto backward when both sensors are completelyblocked. Because S2 arrives first at the closeregion, a left angular velocity is registered.

The FPGA controller implementation

In fact, the controllers implemented in softwareplatform cannot operate under deterministicprocessing time [25]; hence, the processing cyclesrunning on LabVIEW cannot be greater thanmilliseconds and the real time applications whichneed deterministic time do not use a softwareplatform.

Page 10: Novel Fuzzy Logic Controller based on Time Delay Inputs ... · Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 1 ... which were first

10 Revista Mexicana de Ingeniería Biomédica · volumen 35 · número 2 · Agosto, 2014

I/O interface

Computer

NI cRIO-9014

FPGA

Analog Output

Module

Digital I/O

Module

Wheelchair

Quickie P222-SE

Motors

PING)))

Sensors

!

!"#$%&'(()'E0F<01&129'0,'2+&'7+&&3/+4"%'9.92&F'"F<3&F&12&:'Figure 11. Components of the wheelchair system implemented in the FPGA.

!"#$

%&'

()

*+%

'+,#

'+,"

!-./

0,#

0#$

1233452678

9:75;73<=--->*?<@ABCD75;

EAFG65D<H+,<

!#$"

$#<IJ<

!

!"#$%&'(D)'Z"#"243'I^_'41:'41430#'0$2<$2'F0:$3&9'/01,"#$%42"01 Figure 12. Digital I/O and analog output modules configuration.

For the EW application is very importantto ensure that the system will execute withoutinterruptions or possible operating systemfailures. In addition, it is necessary to have avery fast response because a person’s integritydepends on it. Hardware designed controllers cansolve the mentioned drawbacks of the softwareimplemented ones. Frequently, FPGAs are usedbecause they are accessible in different locationsas embedded systems, and because of theirprocessing characteristics the speed range ofnanoseconds can be reached for the operatingcycles. If the FPGA is used, the information

is processed inside the chip and the computer isrequired only for setting the initial conditions ofthe FCL, thus no operating system interruptionsappear. Based in those advantages, it wasproposed an alternative version of the systemnamed as “The hardware implementation” whichcomponents are shown in Figure 11.

It was used a NI Compact-RIO (c-RIO)9014 to implement a deterministic real-timesystem. The c-RIO combines the real-timeapproach and reconfigurable FPGA technologiesin the same device for embedded control,data acquisition and analysis. This device

Page 11: Novel Fuzzy Logic Controller based on Time Delay Inputs ... · Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 1 ... which were first

Rojas et al. Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 11

supports interchangeable modules for I/O toaccess data to the Spartan-3 Xilinx chip with 3

!"#$%&

'"()& $"*(%&

"($%&

+,-

./01/2,3%

4562/25,

")$%&

"77%&'"$*%&

'"$*%&

!

!"#$%&'(J)'64-&'2&92'9/&14%"0 Figure 13. Maze test scenario.

million equivalent gates, besides it integrates a40MHz clock. In this hardware implementationthe ultrasonic sensors are connected directlyto the device, thus the processing timeis reduced because it is not necessary aserial communication port as in the softwaresystem. For all these reasons, the hardwareimplementation is expected to provide betterresults.

Only 2/4 analog output channels from theNI C-Series 9263 module and 6/8 high speeddigital I/O from the NI 9401 C-Series modulewere used. DIO0-DIO3 were configured as digitalinputs and DIO4-DIO7 as outputs. The interfaceuses a diode and a resistance to implementa bidirectional ultrasonic line in the NI 9401module as shown in Figure 12. As explained withthe microcontroller, the FPGA implementationsends a pulse to the ultrasonic sensor and waitsto receive the response. It is used the samesampling time as in the software implementation:100 ms. The 9263 analog output module isused for sending control voltage (channels AO0and A01) to the wheelchair’s joystick, in thesame way the NI-DAQ9611 does in the softwareimplementation.

Control strategies test and validation

A maze was designed for validating the proposedcontrollers under different navigation conditions;all the dimensions of the maze are presented in

Figure 13. The target of the electric wheelchairis to navigate from the initial point to the finalone without colliding against the walls.

start

Fuzzy control sets

and rules

Configure serial

port

Stop

Get distance

Mode

Fuzzy

Manual

Voltaje

out

!

!"#$%&'(Q)'!3$L':"4#%4F',0%'90,274%&'/012%033&%'"F<3&F&1242"01 Figure 14. Flux diagram for software controllerimplementation.

%&

!

!"#$%&'(T)'I192433&:'/0F<01&129',0%'2+&'90,274%&';&%9"01'Figure 15. Installed components for the softwareversion

Notice that the scenario has right anglecorners, and for security matters flexible wallswere used. All the experiments were performedwith the same start position. The strategiesA, B, C implemented in software and Strategy-C implemented in hardware were tested in thismaze.

Page 12: Novel Fuzzy Logic Controller based on Time Delay Inputs ... · Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 1 ... which were first

12 Revista Mexicana de Ingeniería Biomédica · volumen 35 · número 2 · Agosto, 2014

RESULTSSoftware implementation

For the software implementation, the FCLstrategies were realized with the “PID and fuzzy

!"#$"

%&"'()!"#*+&

,-.',/.',0

12$3#4)5&'(#"#

62378"&')*78"!'

,.'(,-.'(,/

9855:

,"27

;24"#<&'28"12$3#4)5&'(#"#

=*('!

)'=>"2',$--.'30#"/?'/012%033&%'530/8':"4#%4F'"F<3&F&12&:'

Figure 16. fuzzy logic controller block diagramimplemented in the FPGA.

logic Control toolkit” in LabVIEW 2013. Thecontrol was integrated to the LabVIEW interfaceas presented in the flux diagram shown in Figure14.

In Figure 15 are presented the componentsassembly under the EW seat for the softwareimplementation.

The hardware implementation

Apart from the software version, the hardwareimplementation is described. Tasks done by thereal-time controller are indicated in Figure 16and they were programmed in the LabVIEWFPGA toolkit. The sensors distance to objectsare obtained and with those data other inputsare computed: dS1, dS2, S. Numerical valuesare normalized to fit the fixed point format usedby the fuzzy controller for the decision making.Obtained outputs are de-normalized to fit usefulvoltages for the EW.

Variable Y is not considered because Svariable helps the controller to approach thecurves better. The rule set for the FPGAimplementation is shown in Table 3.

Page 13: Novel Fuzzy Logic Controller based on Time Delay Inputs ... · Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 1 ... which were first

Rojas et al. Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 13

1 !! ! !!!

2 !!! ! !! !

3 !!" ! !!!

4 !! ! !!!

5 !! ! !!!

6 !! ! !! !

7 !! ! !!!"

8 !! ! !!!

9 !! ! !!!"

10 !!" ! !!!

Functional Logo

Total Slice

T1

!

!"#$%&'(Y)'=>"2',$--.'30#"/?'/0:&'<%0#%4FF&:'7"2+'G45HI@A'!KNU'20038"2 Figure 17. Fuzzy logic code programmed with LabVIEW FPGA toolkit.

Table 3. The FPGA implementation rule set1 s1 : C ∩ s2 : C ∩ s3 : C ⇒M : N ∩D : N2 s : N ∩ s1 : F ∩ s2 : C ⇒M : MF ∩D : L3 s : P ∩ s1 : C ∩ s2 : F ⇒M : MF ∩D : R4 s : N ∩ s1 : C ∩ s2 : C ⇒M : B ∩D : R5 s : Z ∩ s1 : C ∩ s2 : C ⇒M : B ∩D : N6 s : P ∩ s1 : C ∩ s2 : C ⇒M : B ∩D : L7 s : N ∩ s1 : F ∩ s2 : F ⇒M : F ∩D : ML8 s : Z ∩ s1 : F ∩ s2 : F ⇒M : F ∩D : N9 s : P ∩ s1 : F ∩ s2 : F ⇒M : F ∩D : MR10 ds1 : GF ∪ ds2 : GF ⇒M : MF ∩D : N

Table 4. Consumed resources with the systemFunctional Logo Total Slice SliceBlock slices registers LUTsT1Wheelchair NA 9794 9562 14888Control

!! ! !!!

!! ! !!!

!! ! !! !

7 !! ! !!!"

8 !! ! !!!

9 !! ! !!!"

10 !!" ! !!!

!

!"#$%&'([)'MI'E0F<4/2W`I_'"192433&:',0%'2+&'%&43W2"F&'9.92&F'Figure 18. NI Compact-RIO installed for thereal-time system.

In Figure 17 is presented the configuredfuzzy controller code created on LabVIEWFPGA toolkit, constructed with fixed pointoperations and configured as hardware intothe FPGA chip. There have been labeledfive different parts: digital I/O port andline selection for sending/receiving data fromultrasonic sensors, normalization blocks to scalesignals in useful ranges for the fuzzy controller,the fuzzy controller block (which contains themembership functions, the inference engine and

Page 14: Novel Fuzzy Logic Controller based on Time Delay Inputs ... · Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 1 ... which were first

14 Revista Mexicana de Ingeniería Biomédica · volumen 35 · número 2 · Agosto, 2014

the rules base), the output normalization blocksfor values computed, and finally, the analog

'

!"#$%&' (\)' *+&' /0F<3&2&' 9.92&F)' !0%' 2+&' +4%:74%&'Figure 19. The complete system. For thehardware implementation, the laptop is onlyused for setting the controller initial conditionsand to register data.

output channels selected to supply voltage formovement and steering actions between 4 and 7volts. After the compilation into the FPGA, theconsumed resources shown in the summary withthis configuration is shown in Table 4.

Moreover, in Figure 18 is presented the c-RIO installation which is online with the PC inthe hardware implementation. In figure Figure19 is presented the complete wheelchair system.

The maze test validation for the softwareversion

The three strategies A, B, and C implementedin LabVIEW were tested, but only the third onewas completely successful. Figure 20 presentsthe observed trajectories for the test. Images

were taken from an upper view and becauseof that perspective some walls look wider.

!*1!

!+1!

!91!

!"#$%&'D])'_524"1&:'2%4a&/20%"&9'"1'2&92'9/&14%"0)'Z029'%&<%&9&12'Figure 20. Obtained trajectories in test scenario.Dots represent lateral sensor position during the

Page 15: Novel Fuzzy Logic Controller based on Time Delay Inputs ... · Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 1 ... which were first

Rojas et al. Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 15

route, a) Strategy A, b) Strategy B, c) StrategyC.

a

B

D()'b4%:74%&'41:'90,274%&'2%4a&/20%.'2%4/8"1#'/0F<4%"901'Figure 21. Hardware and software trajectorytracking comparison for the Strategy-C using, a)Computer device b) Compact-RIO.

By using strategy-A, the wheelchair crashed fourtimes as indicated with arrows in Figure 20.a.and it was very close to the left wall, howeverit finished the maze in 1.26 minutes. Strategy-Bdid not finish the maze because wheelchair gotstocked in the first corner as can be observed inFigure 20.b. The third trajectory corresponds tostrategy-C, which was completed in 1.10 minuteswithout colliding. Four zones are labelled inFigure 20.c. as “1”, “2”, “3” and “4” to analyzethem. It seems that in the middle of the curve(zone 2) there was a collision, but it is only aperspective effect.

Software and hardware implementations

Figure 21 shows the results trajectories observedin the hardware and software implementations.It was compared the Strategy-C implemented

in software and the strategy designed for thehardware in the maze test.

DISCUSSION

Static and dynamic controllerscomparative

As presented in Figure 20, the Strategy-C wasthe only one that completed the maze withoutcolliding. The differences between navigationstrategies implemented and the considerationsdone about dynamic and static controllers areremarkable. A comparison between Strategy-A and Strategy C shows that the last oneresults more efficient in time. Further, aspresented in Figure 20.c., in the zone labeledas “1” there were oscillations caused by thewheelchair approaching to the left wall and thecontroller action trying to correct its trajectory.In zone “2”, a continuous soft curve to turnis described contrasting the actions observed instrategy-A (Figure 20.a.), where it is notoriousthat for the same curve the steering actionsare more complicated. In zone “3”, there aremore oscillations caused by the slow response ofthe system processing data in software. Whenthe computer takes a specific action at sometime instant, another obstacles is detected bysensors. In addition, when the computer sendsdata to the motors they react after sometime. This phenomenon is repeated severaltimes until stabilizes. Finally, in zone “4”the trajectory stabilizes and only one abruptcontroller correction is noted.

Other differences between the observedtrajectories are caused by the dynamic inputsconsidered in the Strategy-C, which are designedto help the controller in tasks as turning in acurve. For the static controller implementedwith Strategy-A, it is distinguished a “squared”turn, but for the same zone the dynamiccontroller uses data collected from past actionsto make decisions. This paper does notshow all the possible devices in which thecontroller could be deployed, but it analyzed theperformance of the proposed controller in orderto validate it. Normally, micro-controllers arechipper than FPGAs, so it is a very attractive

Page 16: Novel Fuzzy Logic Controller based on Time Delay Inputs ... · Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 1 ... which were first

16 Revista Mexicana de Ingeniería Biomédica · volumen 35 · número 2 · Agosto, 2014

possibility to implement this controller usingmicro-controllers.

Comparative between real-time andsoftware versions

The hardware version describes smoothertrajectories and continuous movements, whichare better in contrast with the abrupt movements

obtained with the software implementation. Theuncertainties exhibited in the marked regions ofFigure 21.a. do not occur in Figure 21.b. andthe described curve is smoother. In this test,the measured time to complete the maze was 20seconds, which is really fast compared to thatobtained in software Strategies A and C (1.26and 1.19 seconds, respectively).

Table 5. Comparison table between hardware and software implementationsCharacteristic Software Hardware

implementation implementation

Trajectories Rough, abrupt Smooth, cleanOperations cycle rate 500 ms 100 msOperative system Windows 7 None

Sensors 3 ultrasonic Parallax PING))) 3 ultrasonic Parallax PING)))Sensors sample time 100 ms 100 ms

Input acquisition device Microcontroller BS2-IC @ 20MHz 9401 digital inputs moduleOutput acquisition device NI USB 6211 9263 analog outputs module

Maze time consumed 1.19 sec 20 secNumber of rules 12 10

Processor Intel Core @ 2.4 GHz Spartan-3 Xilinx @ 40 MHzData Communication Serial TCP/IP

to the computer (just for data sharing)

Those differences between both implementationsare remarkable. It is explained because thehardware version uses a dedicated processor toacquire and process data that do not depend onany operating system. The target processor isnetworked to a host PC only for the graphicalinterface and data logging. In Table 5 ispresented a comparison.

Sensors

As reviewed in the datasheet, the Tburst is 200 µsand the maximum echo return pulse is 18.5 msfor the maximum distance, tholdoff is 740 µs andtout is 2 µs. Consequently, the fastest time inthe process of measuring data is calculated as:

5µ+ 750µ+ 18.5ms = 19.255ms

This sample time is very slow even for thesoftware version, and it limits the controllerspeed response. The acquisition cycle for the

software and the hardware versions is fixed to100ms. However, in the software version distancedata is passed from the microcontroller by aserial communication to the computer and, aftercalculating the outputs, the numerical result goesto the 6211 module. This recurrent process(indicated in Figure 14.) consumes 500 ms.Meanwhile in the FPGA version, the analogousprocess indicated in Figure 16 consumes 101 ms.Since sampling time for acquiring distance is 100ms, then only 1.7 ms are used by the fuzzycontroller. Comparing consumed time in thehardware and software versions, it is remarkablethat FPGA is superior. Besides, the FPGAimplementation could process data faster butit is limited by the ultrasonic sensors responsespeed.

In order to work properly, the blockingobstacles must be in front of the sensors sightline to be detected because they are strictlydirectional. However, the use of the dynamicinputs increase their performance for avoiding

Page 17: Novel Fuzzy Logic Controller based on Time Delay Inputs ... · Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 1 ... which were first

Rojas et al. Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 17

static obstacles.

ConclusionsNovel dynamic fuzzy logic navigation strategieswere proposed and evaluated using an electricwheelchair. Although the ultrasonic sensorsprovide limited information regarding thenavigation environment, the fuzzy logiccontrollers work properly because the dynamicinformation (time delay inputs) about thenavigation system was included in the linguisticrules. The dynamic controllers do not change theconventional structure of a fuzzy logic controllerbut they modified the quality of the informationabout the navigation environment by addinginput with delays. The main goal of thiscontroller is to extend the input informationusing time delay signals, hence the controller isable to find the correct solution using limitedinput information.

Initially, a study of the navigationperformance on software of each controller waspresented in order to implement in real time thebest navigation controller. The implementationbased on hardware reaches excellent results andthe electric wheelchair movements are flatterthan movements implemented on software. Sincethe FPGA implementation of the dynamiccontroller shows reduction in time response, goodavoiding obstacles performance and less severmovements, this is the best option to implementa dynamic controller for an electric wheelchair.

One of the main limitations of the controllerare the blind points, caused by the number ofsonar sensors used (only two of them provideinformation about the forward navigation).Adding sensors could expand the informationfrom the environment of the actual prototype.Besides, it is a good idea to extract dynamicinputs from the new sensors. Although thedynamic controller increases the navigationperformance, the number of fuzzy rules andmembership functions will be more and thetuning process will be more complex. It isrecommended to use an optimization method,i.e. genetic algorithms. On the other hand,the electric wheelchair controller is not robustto noisy signals, so it is recommended to use an

adaptive filter and sensor signal estimator.In order to have more information about the

quantitative performance of the prototype, otherissues could be evaluated. For example: theconsumed time to solve alternatively mazes, thenecessary distances for detection between themobile objects and the wheelchair, the responseto materials and composition of different objectsand the behavior of the dynamic navigationstrategy in small space scenarios.

References

1. World Health Organization, “World reporton disability”, The World Bank, 2011.

2. D. Ding and R. A. Cooper, “Electric-Powered Wheelchairs, A Review ofCurrent Technology and Insight intoFuture Direction”, IEEE Control SystemMagazine, vol. 25, no. 2, pp. 22-34, 2005.

3. C. Urdiales, Collaborative Assistive Robotfor Mobility Enhancement (CARMEN),Malaga: Springer , 2013.

4. R. C. Simpson, “Smart Wheelchairs:A literature review”, Journal ofRehabilitation Research & Development,vol. 42, no. 4, pp. 423-436, 2005.

5. P. Boucher, “Design and validationof an intelligent wheelchair towards aclinically-functional outcome”, Journal ofNeuroengineering and Rehabilitation, vol.10, 2013.

6. S. P. Levine, “The NavChair AssistiveWheelchair”, IEEE Transactions onRehabilitation Engineering, vol. 7, no. 4,1999.

7. L. Conde, G. Pires and U. Nunes, “Abehavior based fuzzy control architecturefor path tracking and obstacle avoidance”,in Proceedings of the 5th PortugueseConference on Automatic Control, 2002.

8. J. J. Slotine and L. W., Applied NonlinearControl, New Jersey: Prentice Hall, 1991.

Page 18: Novel Fuzzy Logic Controller based on Time Delay Inputs ... · Novel Fuzzy Logic Controller Based on Time Delay Inputs for a Conventional Electric Wheelchair. 1 ... which were first

18 Revista Mexicana de Ingeniería Biomédica · volumen 35 · número 2 · Agosto, 2014

9. L. Zadeh, "Fuzzy sets *," Information andControl, vol. 8, no. 3, p. 338-353, 1965.

10. H. A. Hagras, “A Hierarchical Type-2 fuzzylogic Control Architecture for AutonomousMobile Robots”, IEEE Transactions onFuzzy Systems, vol. 12, no 4, 2004.

11. S.-L. El-Teleity, “Fuzzy logic controlof an autonomous mobile robot”, deMethods and Models in Automation andRobotics (MMAR), 2011 16th InternationalConference on, Miedzyzdroje, 2011.

12. K. D. a. S. T. G.P. Moustris, “FeedbackEquivalence and Control of Mobile RobotsThrough a Scalable FPGA Architecture”,de Recent Advances in Mobile Robotics,InTech, 2011, pp. 401-426.

13. M. Njah and M. Jallouli, “WheelchairObstacle Avoidance Based on FuzzyController and Ultrasonic Sensors”, inInternational Conference on ComputerApplications Technology (ICCAT), Sousse,2013.

14. G. Liu, “Fuzzy Controller for ObstacleAvoidance in Electric Wheelchair withUltrasonic Sensors”, in InternationalSymposium on Computer Science andSociety, Kota Kinabalu, 2011.

15. G. Pires and U. Nunes, “A WheelchairSteered through Voice Commands andAssisted by a Reactive Fuzzy-LogicController. Journal of Intelligent andRobotic Systems”, Journal of Intelligentand Robotic Systems, vol. 34, no. 3, pp.301-314, 2002

16. H. R. Moslehi, “Design and Developmentof fuzzy logic Operated Smart MotorizedWheelchair”, in 24th Canadian Conferenceon Electrical and Computer Engineering(CCECE), Niagara Falls, Canada., 2011.

17. I. Spacapan, J. Kocijan and T. Bajd,“Simulation of fuzzy-logic-based intelligentwheelchair control system”. Journal ofIntelligent & Robotic Systems, vol. 39, no.2, pp. 227-241, 2004.

18. V. Tyagi, N. Gupta and P. Tyagi., “Smartwheelchair using fuzzy inference system”,in Global Humanitarian TechnologyConference: South Asia Satellite (GHTC-SAS), 2013.

19. M. Ren and K. H.A., “A fuzzy logic mapmatching for wheelchair navigation”, GPSsolutions, vol. 16, no. 3, pp. 273-282, 2012.

20. M. Poplawski and M. Bialko.,“Implementation of parallel fuzzy logiccontroller in FPGA circuit for guidingelectric wheelchair”, in Conference onHuman System Interactions, 2008.

21. P. Marek and M. Bialko, “Implementationof fuzzy logic Controller in FPGA Circuitfor Guiding Electric Wheelchair”, in 11thInternational Conference, ICAISC 2012,Zakopane, Poland, 2012.

22. K. Parnell and R. Bryner, “Comparing andContrasting FPGA and MicroprocessorSystem Design and Development”, 21July 2004. [Online]. Available:http://www.xilinx.com/.

23. J. Songmin and e. al., “Multimodalintelligent wheelchair control basedon fuzzy algorithm”, in InternationalConference on Information andAutomation (ICIA), 2012.

24. Parallax Inc., “Product documentationfor the PING))) Ultrasonic DistanceSensor”, 11 9 2009. [En línea]. Available:http://www.parallax.com/sites/default/files/downloads/28015-PING-Documen-tation-v1.6.pdf.