Fuzzy Logic Control of a Mobile Robot

Abstract

In this ment the outgrowth of inconstant robot using fuzzy deduction scheme is presented. The inconstant robot has three inputs and couple outputs. The three inputs are neighborhood measures of the respect and the couple outputs are rotateing trounce and press of the inconstant robot. The inconstant robot is open to flourish the tracking track and represssake impact with the bar.

Contents

  1. Overview and Introduction
  2. Input and Output rambles
  3. Appendix
  4. Fabric and exploit of the administrations
  5. MATLAB mode repress repress task
  6. Critical evaluation

Overview

In the rise of the outgrowth of the inconstant robot, the implied robot must be manifestationd repress the outgrowth future kiks robot is considered. The fuzzy deduction scheme is planned by using MATLAB and utensiled on a robot which is kiks robot. The kiks robot is firmup by installing the kiks software and the akin files are extracted and dunseparated on MATLAB. Then the FIS is planned by coding and deciding the inputs and outputs repress the kiks. The rotateing trounce and press of the robot is explaind as per the administrations of the parameters repress robot actuate and to represssake impact with the bars.

The steps compromised are:

  1. Defining globe of harangue
  2. Deciding the fuzzy firms
  3. Explain alliance capacitys

The fuzzy suspension scheme manifestationd is mamdani FIS which involves

  1. Fuzzification of input shiftings
  2. Administration evaluation
  3. Aggregation of administration output
  4. DE fuzzification

Introduction

The fuzzy repress schemes are administration grounded or scholarship grounded scheme which contains gathering of IF-THEN administrations. The practice of fuzzy scheme is it is extensive deed in performing diversity of computational and measurements.

The practices of using fuzzy scheme in navigation scheme are:

  1. Capabilities of handling doubtful and non-precise counsel.
  2. True span operation
  3. Unconstrained co-operations and dissuasive of contrariant behaviours.
  4. Develop apprehension grounded strategies.
  5. Empurpose and unconstrained utensilation.

The fabric of fuzzy scheme depends on couple leading parameters which are identifying the globe of harangue and defining chasten alliance capacity. The discuss repress using mamdani balance sugeno is owing it manifestations fuzzy stipulations explaind by the mould of the alliance capacity. The mamdani idea fuzzy scheme is empurpose to select repress past civilized affect behaviour of the robot which entails a material computational parcel.

The architecture of the autonomous inconstant robot involves scant ocean considerations which are, track tracking, represssakeance of the bar and behaviour commonwealth. The specification of globe of harangue and alliance capacity and co-operation of administrations are leading repress ease actuate and empurpose outcome of the robot. Track tracking involves navigation of the desired track which is estimated and explaind by civilized operator tracking respects or bars. The hardies of track tracking deals with marred apprehension of environment, inaccutrounce measurements and sensor diffuse. Represssakeance of bar using fuzzy logic involves represssakeing the occasional or dynamic bars season it tracking a track or melting towards a target. Fuzzy logic repress behaviour commonwealth is manifestationd to rectify the aggregate exploit of the navigation scheme.

The infrared sensor with 6 sensors repress the repressward course and 2 sensors repress the clumsy course. In this feature of trailing robot, I feel manifestationd 2 sensors repress just, 2 repress left and 2 repress face sensing. The sensor input is noun manifestationd ‘slow’, ‘fast’, ‘medium’. The fuzzy shiftings are adjectives that modify the shifting, ‘left’ ‘right’ ‘medright’ ‘slowright’ ‘slowleft’. In the mamdani idea of fuzzy scheme, the fuzzifier performs measuring of the input shiftings, layer mapping and fuzzification. The enumescold of alliance capacity explains the moulds of the modescold inputs explaind by the manifestationr. It holds a treasure of 0 and 1 which indicates the ramble of appertaining of the size to a fuzzy firm.

Input and Output rambles.

Input

Alliance capacity

Input ramble

Left

Far, Interjacent, Terminate

[0 21]

Front

Far, Interjacent, Terminate

[0 21]

Right

Far, Interjacent, Terminate

[0 21]

Output

Alliance capacity

Output ramble

Turning trounce

Slowright, lazyleft, medright, left, just, face.

[0 200]

Speed

Veryslow, lazy, average, steadfast, veryfast.

[0 200]

Input ramble repress a sensor is 10bits and the input treasure repress sensor is 1024, the sensors are collocationed into 2 and wherein each unseparated shifting explaind by 1024(210) i.e. 2048 consequently that separated by 100 is 21, future the input ramble is [0 21]. The input is enslaved left, just, face with 2 sensors each. The alliance capacity repress them is explaind distant, interjacent, terminate repress the robot to soundness the bar. The outputs are rotate and press, where in rotate has alliance capacitys lazyright, lazyleft, medright, just, left, face repress the robot to rotate to a course when the robot is nearing the robot. The ramble of the press is considered as [0 200] as the robot actuate was meant to be steadfaster compared to when the press was in the ramble [0 100] owing the robot must cbalance past removal in near span and empurpose press. The alliance capacity repress press is enslaved as lazy, veryslow, steadfast, veryfast, average as the robot should actuate in contrariant course with contrariant press so that the robot flourishs the track and is not attributable attributable attributable attributable attributable attributable attributable attributable attributable uneasy by abrupt bar. The co-operation of the alliance capacitys are administrations repress the robot to flourish to flourish the track and parallel with that to represssake bars and present easeer actuate.

 

Appendix

       1a. Actuate of robot in arena1

   1b. Monitored artifice of arena1

  2a. Actuate of robot in arena2

  2b. Monitored artifice of arena2.

Fabric and exploit of fuzzy administrations.

  1. If (left is distant) and (face is distant) and (just is distant) then (rotate is medright)(press is steadfast) (1)
  2. If (left is distant) and (face is distant) and (just is interjacent) then (rotate is face)(press is average) (1)
  3. If (left is distant) and (face is distant) and (just is terminate) then (rotate is lazyleft)(press is average) (1)
  4. If (left is distant) and (face is interjacent) and (just is distant) then (rotate is medright)(press is steadfast) (1)
  5. If (left is distant) and (face is interjacent) and (just is interjacent) then (rotate is face)(press is average) (1)
  6. If (left is distant) and (face is interjacent) and (just is terminate) then (rotate is lazyleft)(press is very_slow) (1)
  7. If (left is distant) and (face is terminate) and (just is distant) then (rotate is medright)(press is very_slow) (1)
  8. If (left is distant) and (face is terminate) and (just is interjacent) then (rotate is lazyleft)(press is very_slow) (1)
  9. If (left is distant) and (face is terminate) and (just is terminate) then (rotate is lazyright)(press is very_slow) (1)
  10. If (left is interjacent) and (face is distant) and (just is distant) then (rotate is just)(press is steadfast) (1)
  11. If (left is interjacent) and (face is distant) and (just is interjacent) then (rotate is face)(press is steadfast) (1)
  12. If (left is interjacent) and (face is distant) and (just is terminate) then (rotate is lazyleft)(press is lazy) (1)
  13. If (left is interjacent) and (face is interjacent) and (just is distant) then (rotate is medright)(press is very_slow) (1)
  14. If (left is interjacent) and (face is interjacent) and (just is interjacent) then (rotate is face)(press is average) (1)
  15. If (left is interjacent) and (face is interjacent) and (just is terminate) then (rotate is lazyleft)(press is steadfast) (1)
  16. If (left is interjacent) and (face is interjacent) and (just is distant) then (rotate is lazyleft)(press is lazy) (1)
  17. If (left is interjacent) and (face is terminate) and (just is interjacent) then (rotate is lazyright)(press is very_slow) (1)
  18. If (left is interjacent) and (face is terminate) and (just is terminate) then (rotate is lazyright)(press is very_slow) (1)
  19. If (left is terminate) and (face is distant) and (just is distant) then (rotate is medright)(press is lazy) (1)
  20. If (left is terminate) and (face is distant) and (just is interjacent) then (rotate is face)(press is average) (1)
  21. If (left is terminate) and (face is distant) and (just is terminate) then (rotate is lazyleft)(press is veryfast) (1)
  22. If (left is terminate) and (face is interjacent) and (just is distant) then (rotate is just)(press is steadfast) (1)
  23. If (left is terminate) and (face is interjacent) and (just is interjacent) then (rotate is face)(press is average) (1)
  24. If (left is terminate) and (face is interjacent) and (just is terminate) then (rotate is lazyleft)(press is average) (1)
  25. If (left is terminate) and (face is terminate) and (just is distant) then (rotate is lazyright)(press is very_slow) (1)
  26. If (left is terminate) and (face is terminate) and (just is interjacent) then (rotate is lazyright)(press is very_slow) (1)
  27. If (left is terminate) and (face is terminate) and (just is terminate) then (rotate is lazyleft)(press is very_slow) (1)
  28. If (left is distant) and (face is distant) and (just is distant) then (rotate is lazyright)(press is steadfast) (1)
  29. If (left is distant) and (face is interjacent) and (just is distant) then (rotate is lazyright)(press is steadfast) (1)
  30. If (left is distant) and (face is terminate) and (just is distant) then (rotate is lazyright)(press is average) (1)
  31. If (left is distant) and (face is terminate) and (just is interjacent) then (rotate is lazyright)(press is lazy) (1)
  32. If (left is distant) and (face is terminate) and (just is terminate) then (rotate is lazyright)(press is steadfast) (1)
  33. If (left is interjacent) and (face is terminate) and (just is terminate) then (rotate is lazyright)(press is very_slow) (1)
  34. If (left is interjacent) and (face is distant) and (just is terminate) then (rotate is lazyright)(press is very_slow) (1)
  35. If (left is interjacent) and (face is interjacent) and (just is terminate) then (rotate is lazyright)(press is steadfast) (1)
  36. If (left is terminate) and (face is distant) and (just is distant) then (rotate is lazyright)(press is distant) (1)
  37. If (left is terminate) and (face is interjacent) and (just is interjacent) then (rotate is lazyright)(press is distant) (1)
  38. If (left is terminate) and (face is terminate) and (just is terminate) then (rotate is lazyright)(press is lazy) (1)
  39. If (left is terminate) and (face is terminate) and (just is terminate) then (rotate is lazyright)(press is veryfast) (1)

MATLAB Mode to utensil the repress task

% ————————————————-

%  (c) 2000-2004 Theodor Storm <[email protected]>

%  http://www.tstorm.se

%  Modified by Lily Meng 16th September 2009

% ————————————————-

capacity FIS_navigate(port,baud,time)

% FIS_navigate(port,baud,time)

% deportment = serial deportment to unite with (port<0 ==> false robot, deportment>=0 ==> true robot

% operative = operative trounce

% span = span to tpurpose behaviour

if nargin<3 span=60; purpose;

if nargin<2 operative=9600; purpose;

if nargin<1 deportment=-1; purpose;

ref=kiks_kopen([port,baud,1]);

kSetEncoders(ref,0,0);

reflex = 0;

t0=clock;

loops=0;

% Read the FIS from disk

% (don’t repressearn to spare your FIS succeeding you perform changes to it.)

% You need to re-establish the investigation marks with the spectry of your FIS.

fis = readfis(‘Jhansi.fis’);

season (kiks_ktime(port)<time)

   loops=loops+1;

   % Read the Khepara’s ramble sensors and collocation them.

   % Change these if you nonproduction to collocation the sensors contrariantly.

   reflex = kProximity(ref);

   left = mix(reflex(1:2))/100

   face = mix(reflex(3:4))/100

   just = mix(reflex(5:6))/100

   % Manifestation the FIS to estimate the press and ttpurpose trounce

   FIS_outputs = evalfis([left, face, just],fis);

   % Assign the press and ttpurpose trounce to outputs generated by the FIS

   rotate = FIS_outputs(1);

   press = FIS_outputs(2);

   % manifestation the capacity to estimate the trundle-wallow presss

   firmWheelSpeeds(ref,speed,turn);

end;

%kGetEncoders(ref)

t=etime(clock,t0);

disp(sprintf(‘%.1f loops in %.1f seconds = %.1f loops/second (%.0f%%)n’,loops,t,loops/t,(time/t)*100));

kSetSpeed(ref,0,0);

kiks_kclose(ref);

% *************************************************************

% The flourishing capacity utensils the kinemtatics of the

% robot, converting rotate press and repressward press into presss

% repress the left and just trundle-wallows.

% DO NOT MAKE ANY CHANGES TO THIS FUNCTION !!!!!!!!!!!!!!!!!!

capacity firmWheelSpeeds(ref,velocity,rotation)

   trundle-wallowRadius = 6; % mm

   rotateRadius  = 24; % mm

   % Prevent the robot “drifiting to the left”

   % Seems to be a bug in KiKs?

   if abs(rotation)<0.01

       revolution = 0;

   purpose

   wl = (1/wheelRadius)*(celerity – rotateRadius*rotation);

   wr = (1/wheelRadius)*(celerity + rotateRadius*rotation);

   unitsPerRadPerSec = 0.75;

   kSetSpeed(ref,wl*unitsPerRadPerSec,wr*unitsPerRadPerSec);

Critical evaluation

Architecture of autonomous inconstant robot using mamdani idea fuzzy scheme had hardies to earn the desired output. The earliest substance season architecture the kiks was to explain the alliance capacitys and globe of harangue repress empurpose track. Flourishing the steps in architecture the robot, the specification of the parameters, fuzzy administrations, alliance capacitys, the co-operation of alliance capacity was hard, discuss is when past than undoubtful administrations are explaind the robot did not attributable attributable attributable attributable attributable attributable attributable attributable attributable reply to the mode and instead the robot inaugurated spinning 360 rambles in identical collocation. The temptation and untruth rule was manifestationd to explain the administrations took a desire span. When the administrations and alliance capacitys were explaind the robot, retort was observed beside at the identical span the robot could not attributable attributable attributable attributable attributable attributable attributable attributable attributable soundness the bar future manifestationd the bar as track tpurpose the purpose of the bar. During the evaluation of the substances, the robot stopped replying to the administrations and actuate was observed to be very lazy, so, the press of the robot was transitional. The changes in press and span of dissuasive helped in actuate of the robot, testing the administrations repress faithful actuate of the robot and represssakeance of the bar took past span. Beside finally, succeeding solid changes in the administrations and alliance capacity, press of the robot in the mode and other inferior changes performs the robot flourish the tracking track and performs the robot represssake the bar.

Related Post