Design & Implementation of Fuzzy Controller for Fpga Based Robotic Fish.
Post on 22-Nov-2015
21 Views
Preview:
Transcript
National Conference on Electrical & Electronics Engg. (NCE3-14), 5 Jun 2014, HKBK College of Engg., Blore
Design and Implementation of Fuzzy logic
Controller for FPGA based Robotic Fish
Laxmanrao Kulkarni1, Prakash R Tonse
2, Salma M. Khan
3
1UG Student, Department of Electronic and Communication Engineering, SCET, Belgaum, India 2PG Student, Department of Electronic and Communication Engineering, SDMCET, Dharwad, India
3Lecturer, Department of Electronic and Communication Engineering, SCET, Belgaum, India
Email: laxmanrao1392@gmail.com1 tonseprakashppt@gmail.com
2 smkh178@gmail.com3
ABSTRACT:
In this paper, a novel design of Fuzzy logic controller
design FPGA Based fish robot is presented. Design
follows the propulsion and maneuvering mechanisms
of real fishes. The re-programming ability of FPGA
can be used for the up-gradation of the source code to
the next higher versions. Working of FPGA based
Fish Robot is more hardware weighted rather than
software weighted as the design is implemented using
much optimized circuit components. FPGA circuitry
is truly a hard implementation of program
execution. FPGAs, which do not use operating
systems, minimize reliability concerns with true
parallel execution and deterministic hardware
dedicated to every task. Fuzzy Logic the basis of Soft
computing can be considered to be the superset of the
Crisp Logic which takes into account the whole
spectrum of possibilities. It also has an upper hand as
it gives the system a human like thinking advantage of
these features of fuzzy ,this robot is made autonomous
by adding obstacle avoidance property using 2 sharp
IR sensors, the speed and angle of servo motor are
varied in accordance with the defuzzified value
obtained from FLC implemented on VHDL.
Key words: FPGA, Fuzzy logic controller (FLC), crisp
logic, true parallel execution, hardware parallelism,
faster response times.
1. INTRODUCTION
In todays world people are more interested in
underwater environment (Marine) as it is still mystery.
So researchers started exploring it, by means of scuba
diving and underwater robots. Robots like submarine
robots and ROVs, but as ocean investigation operation
should be carried out more efficiently, it is necessary to
have a high propulsion device, thus researchers started
R&D (Research & Development) on fish like ROVs
such as fish robot.
Most studies on robot fish focused on exploring the
hydrodynamic mechanism of fishlike swimming, and
constructing autonomous underwater vehicles with the
efficiency and maneuverability of real fish. One famous
prototype is MITs RoboTuna developed in 1994, which
initiated the research and development of robot fish.
RoboTuna and subsequent RoboPike were used to study
drag reduction in fishlike locomotion. Later, an improved
version of RoboTuna: Vorticity Control Unmanned
Undersea Vehicle (VCUUV), was constructed by Draper
Laboratory of MIT . The VCUUV was equipped with
many different sensors, and could realize up-down
motion and avoid obstacles, which allow it to be able to
navigate autonomously in a 3-D workspace. In addition,
California Institute of Technology, Northeastern
University and University of California Berkeley carried
out a series of fishlike propulsion projects in theoretic
exploration and physical realization. In Japan, Tokai
University examined the use of specific kinds of pectoral
fin motions to maneuver a robotic Blackbass, Kagawa
University developed a novel type of underwater micro
biped robot with ionic conducting polymer film (ICPF)
actuator, and the National Maritime Research Institute
(NMRI) of Japan built a variety of robot fish prototypes
designed to realize efficient propulsion and autonomous
control.
This paper mainly concentrates on utilization of fish
robot for Underwater Exploration & Protection. It
takes care to develop a user friendly, cost-effective, more
feasible & application oriented robot.
So, our new approach is to develop such a device,
which satisfies all the above stated features of fish robot
and also should be made easy for future extension. Hence
this paper proposes development of Fuzzy logic
controller for smooth motion and accurate obstacle
avoidance property of robotic fish
National Conference on Electrical & Electronics Engg. (NCE3-14), 5 Jun 2014, HKBK College of Engg., Blore
2. DESIGN ANALYSIS
The design analysis of proposed fish robot can be
described in two ways, Locomotive specific analysis &
Application specific analysis.
A) Locomotive specification analysis:
As the design requirement of our robot meets the design
proposed in the paper A Framework for Biomimetic
Robot Fishs design and realization by Junzhi Yu,
Long Wang, and Min Tan, so we shall consider the
same principle for locomotive analysis.
A schematic diagram describing the design of a robot
fish is shown in Fig.1. Construction/structure determines
its functions. As surveys conducted by zoologists show,
it is common for high-speed aquatic animal to be in the
shape that the maximum width of the body is about one
fourth of its body length, which can furthest reduce the
form drag. A central issue in the systematic design is the
comprehensive consideration of the following two
questions: (a) Does the current design meet the
constraints of the mechatronic system? (b) Is the adopted
control method feasible? In addition, geometric
configuration and mass distribution should be taken into
account as well.
{
Fig.1 An overall framework of robot fish design.
Based on the prior preparations, through some rounds of
systematic emulations and physical tests, a final robot
fish design scheme that balances the stability and
propulsive efficiency can be achieved. The detailed steps
in robot fishs design are then illustrated as follows:
1) Abstracting morphological parameters and kinematic
parameters from the geometric characteristics and
swimming properties of biological fish respectively. In
this step, a theoretical model of robot fish can be derived
from the biological model.
2) Following the steps of selecting hydrodynamic shape
and its drag coefficients determining thrust in light of the
requirements of drag, acceleration and maneuverability
determining the shape of caudal fin and its area
according to the calculated thrust to select the
appropriate kinematic parameters.
3) Modifying and resetting each parameter conditioned
by both constraints of the mechatronic system and
feasibility of the used control method, and return to step
2) to design again until good hydrodynamic shape and
stability are achieved.
4) Conducting the geometric space configuration and
mass distribution of robot fish, in terms of the
requirements of hydrodynamic shape, stability and
control algorithm, and developing the prototype of robot
fish.
5) Optimizing the kinematic parameters based on
hydrodynamic experiments on the prototype. In this case,
intelligent control method can be applied to the robots
motion control so as to improve its maneuverability
under complex environments. Therefore, the
comprehensive performance in locomotion and agility of
the fish reaches a relatively optimal level.
3. LITERATURE SURVEY On the exhaustive survey of literature it was found that varied number of approaches has been carried out to design fish like robot[1][2] papers shows the early work done in developing fish like robot. [6] Concerns a study, in which authors have investigate the sinusoidal wave production method by means of fins which imitate MPF fish. In the robotic fish investigated in this paper, sinusoidal wave will be produced by six servomotors located in fishlike robots fin. A mechanical system, including two servomotors, serves to control direction and depth of the robotic fish movement. Paper has done discussion in detail wireless control system, designed for fish robot control, Changes in speed, direction of crank rotation and phase differences of adjacent servomotors in the fin will be controlled by the control system & says that by this method swimming direction and speed of fish robot can be changed from out of pool. [5] This paper shows an application of fuzzy logic in designing and fabricating an intelligent robotic fish with multiple actuators which can swim freely and autonomously avoid obstacles in water. The multiple actuators on the robotic fish consist of two pectoral fins, one on each side of the fish, two tail sections, a center of gravity adjuster for the head of the fish, and a pump used to draw in or expel water. Based on the multiple actuators having adequate controls, the fish can swim forward, turn to the right, turn to the left, rise, and sink with high agility. The two main functions of the robotic
National Conference on Electrical & Electronics Engg. (NCE3-14), 5 Jun 2014, HKBK College of Engg., Blore
fish are obstacle avoidance and target tracking. The distance between the fish and the obstacle is detected and measured by four infrared sensors on the fishs body. The fish can then avoid the obstacle autonomously when it approaches the obstacle. Obstacle avoidance is achieved using fuzzy control technique. As shown in the simulation and practical experiment, the path of obstacle avoidance using fuzzy control is much smoother than that using intuitive control. The other function is target tracking, in which the robotic tracker fish can track the robotic target fish autonomously and due to the obstacle avoidance function the two will not collide. All of the above motion controls are implemented by FPGA with the aids of several sensors.
4. FUZZIFIERS AND DEFUZZIFIERS
Various types of Fuzzifiers and Defuzzifiers are
described in the literature [3] out of which the ones
chosen for implementation on FPGA are described
below. Fuzzifiers form the basis for converting the crisp
values into fuzzy quantities and form the initial entity in
any soft computing applications. Here the crisp values
are suitably mapped onto the fuzzy spectrum. A) Types of Fuzzifiers used Fuzzifiers can be of varied types. Usually a look up table
approach based on intuitiveness is applied where in the
membership values are assigned based on experience. Even
then there are fuzzifiers like Triangular, Gaussian,
Rectangular, Trapazoidal fuzzifiers which can be applied it
the fuzzy quantities are varying in a defined manner [1].
Some of the fuzzifiers used for implementation are
explained below. a) Triangular Fuzzifier: This type of fuzzifier has a
triangular variation as can be seen the Fig. 2.
Fig 2: Triangular Fuzzifier b) Trapezoidal Fuzzifier: This type of fuzzifier is
having a characteristic variation of trapezoid as shown in Fig. 3
Fig 3: Trapezoidal Fuzzifier
B) Defuzzifutzzification: If Fuzzification gives us the fuzzy value to handle the
uncertainities then the Defuzzifier gives us the crisp
value which can be understood by any processor or
device in real world and hence forms one of the very
important blocks of any Fuzzy logic based inference
systems used in Soft Computing [2]. There are varieties
of Defuzzifiers available like min-max method, center of
sums methods etc., and the one chosen for
implementation is described below.
Centroid method: This procedure (also called center of
area, center of gravity) is the most prevalent and
physically appealing of all the defuzzification methods
[1]; it is given by the algebraic expression. y
* = ( y B(y) dy) (B(y) dy)...(4)
Fig 4: Centroid Defuzzification Method
C) Mamdani inference engine The fuzzy inference engine is the heart of the controller. It consists of the rule-base. The rules are constructed using fuzzy IF-THEN-ELSE constructs. In the literature, conditional, unconditional and simple assignment types of rules have been reported. Mamdanis fuzzy inference method is the most commonly seen fuzzy methodology. In Mamdani
inference engine, after the aggregation process, there is a fuzzy set for each output variable that needs defuzzification. Its possible, and in many cases much more efficient, to use a single spike as the output membership functions rather than a distributed fuzzy set. This is sometimes known as a singleton output membership function, and it can be thought of as a pre-defuzzified fuzzy set. It enhances the efficiency of the defuzzification process because it greatly simplifies the
computation required by the more general Mamdani method, which finds the centroid of a two-dimensional function as shown in fig 5. Rather than integrating across the two-dimensional function to find the centroid, we use the weighted average of a few data points. Sugeno-type systems support this type of model. In general, Sugeno-type systems can be used to model any inference system in which the output membership functions are either
linear or constant.
Fig 5:Graphical representation of Mamdani inference
engine.
National Conference on Electrical & Electronics Engg. (NCE3-14), 5 Jun 2014, HKBK College of Engg., Blore
5. MATLAB IMPLEMENTATION
A) Mamdani Implementation A simple block diagram of the Mamdani inference engine for Mamdani based Fuzzy Logic Controller.
Fig 6 : Block Diagram of Mamdani FLC
The figure 6 indicates three inputs viz. Left position,
Center and Right position. These inputs are responsible
for signifying the distance of the obstacle from the robot.
The range for all the input variables is (0 to 32) which are
nothing but the distance of the objects. The
corresponding membership functions are shown in figure
7, 8 and 9 respectively. The linguistic variable left
position, center and right position are trapezoidal type of
membership functions along with dense of type
triangular is defined. These member functions are
decided on intuition. Sufficient degree of overlapping is
ensured to obtain smoother output. These member
functions are decided on intuition. Sufficient degree of
overlapping is ensured to obtain smoother output.
Figure 7: Membership functions for obstacle distance
at right position.
Figure 8: Membership functions for obstacle
distance at left position.
Figure 9: Membership functions for obstacle
distance at center position.
There are five outputs for the simulated FIS i.e., Left-big, Left-small, center, Right-small and right-big which gives the duration of green signals at respective lanes. The
membership functions are shown in figure 10. The obstacle density varies from 0 to 40cms.
Figure 10: Membership functions for angle change
of servo motor.
6. VHDL IMPLEMENTATION A) .Entity Declaration
In this section, the implementation of Fuzzy Logic
Controller for FPGA based fish robot using VHDL is
described. In this prototype implementation, the FLC
receives inputs in the form of digital converted values in
8bits from ADC which is fed by sharp sensors at
respective positions. The outputs will be in the form of
duty cycle of pulse width modulation which drives the
body steering servomotor. A reset pin (rst) is provided to
reset the controller at any point in time.
Fig.11: Entity for Fuzzy based TLC.
National Conference on Electrical & Electronics Engg. (NCE3-14), 5 Jun 2014, HKBK College of Engg., Blore
B) Preprogramming the Fuzzy based FLC
The programming environment for FLC is based on
VHDL. The behavioral description is analyzed simulated
and synthesized onto Xilinx FPGAs. An application for
the prototype implementation is developed by writing
behavioral description in VHDL and the description is
iteratively refined and debugged with the simulator
available i.e., ModelSim version 5.2. After the
description code is verified to be functionally correct by
simulation, it is translated onto a Xilinx net list form. The
net list is then mapped onto FPGA architecture by
automatic partition, placement and routing tool to form a
loadable FPGA object module [7]. A static timing
analysis tool is then applied to the object module to
determine maximum operating speed for all the
implementations.
7. RESULTS AND DISCUSSION
The Mamdani and controllers are implemented using the
Fuzzy logic toolbox in MATALB R2012a software. The
Mamdani type FLC has a total of 27 rules in the fuzzy
rule-base. This includes all the permutations and
combinations of input and output variables and
membership functions. Fig 11 indicates the partial
Ruleviewer for Mamdani FLC. Fig 12 gives the Surface
Viewer for the said systems.
Fig 11 the partial Ruleviewer for Mamdani FLC
Fig 12. Surface Viewer for the FLC.
Fig 11 indicates the Ruleviewer for FLC. The controller
is built using a total of again 27 fuzzy IF-THEN-ELSE
Rules in Mamdani based implementation the Center of
Gravity (CG) method is used for defuzzification. More
the number of rules smoother will be the output curve
and hence the precision in the output.
A) VHDL/FPGA Implementation
As the entire code is synthesizable, the synthesis is
carried out on the FPGA (Spartan 3E Xc3S500Evq100-
4). The entire design is optimized for speed and area
using Xilinx device family Spartan. The RTL schematic
and simulation result is show bellow.
Fig 13. RTL schematic of FLC.
Fig 14. Simulation results of FLC for Fuzzy
logic based robotic fish.
National Conference on Electrical & Electronics Engg. (NCE3-14), 5 Jun 2014, HKBK College of Engg., Blore
8. CONCLUSION
In this project work, an attempt has been made to design and implement Fuzzy Logic Controller (FLC) For FPGA based Fish Robot application on various platforms. In Phase 1 of the project the Fuzzy Logic Controller was designed using MATLABs Fuzzy Logic Tool box and satisfactory results were obtained. Then in Phase 2 of this
project mapping of Fuzzy Logic Controller for the said application using Mamdani Inference Engine on VHDL was carried out and was tested rigorously for every possible input and output combinations. Once the code was tested for veracity the Fuzzy Logic controller for FPGA based was successfully implemented on FPGA platform with some alteration in the code to get an embedded system which can be a part of the system which will improve swimming mechanism of the Robotic
fish. The Synthesis report obtained after the implementation of FLC has shown satisfactory resource utilization. Through this project it can be concluded that Fuzzy Logic can be implemented for efficient swimming and turning performance of robotic fish.
ACKNOWLEDGEMENT The authors thank the Principal and the Management of Shaikh College of Engineering and Technology, Belgaum, for providing the necessary resources to carry out the research work. The first author specially thanks Noorulain Khadri H.O.D E&C dept. SCET, for initiating
this project at the Dept. of Electronics and Communication Engineering. The authors also thank the efforts made by project team constituting of Mr. Akshay Upadhey, Mr. Pratik desai and Mr.Anand Chougule, UG students, Dept Electronics and Communication Engineering for providing the software and hardware support during the phase of this project work.
REFERENCES
[1] Study on turning performance of a fish robot by
koichi HIRATA, tadanori TAKIMOTO and kenkichi TAMURA.
[2] The Design and Implementation of a Biomimetic Robot by FishChao Zhou1, Min Tan1, Nong Gu2, Zhiqiang Cao1, Shuo Wang1 and Long Wang1
[3] Timothy Ross, Fuzzy Logic with Engineering Applications, McGraw Hill Publications,
[4] Shubhalakshmi Shetty, Shruti S R., Prakash R. Tonse, Siddalingesh. S. Navalgund,A Comparative analysis of Mamdani and Sugeno Fuzzy Rule Based Washing Machine Controller. Proceedings of ICETE-11, pp:440-445.
[5] Mohsen Siahmansouri, Ahmad Ghanbari and Mir
Masoud Seyyed Fakhrabadi, Design,
Implementation and Control of a Fish Robot with
Undulating Fins.
[6] Pei-Jun Lee, Meng-Shiue Lee, and Ruei-Chan Wang, A Fuzzy Control Based Robotic Fish with Multiple Actuators. international Journal of Fuzzy Systems, Vol. 14, No. 1, March 2012
[7] Daijin Kim, Member, IEEE , An Implementation of Fuzzy Logic Controller on the Reconfigurable FPGA System , IEEE TRANSACTIONS ON
INDUSTRIAL ELECTRONICS, VOL. 47, NO. 3, JUNE 2000 pp:703-715.
[8] Mahmoud A. Manzoul and Dinesh Jayabharathi , FUZZY CONTROLLER ON FPGA CHIP, 62901 0-7803-0236-2 192 33.00 0 1992 IEEE pp:1309-1316.
[9] Sameep Singh and Kuldip S. Rattan , Implementation of a Fuzzy Logic Controller on an FPGA using VHDL 0-7803-7918-7/03/$17.00 @ 2003 IEEE pp:110-115..
[10] Mohamed Slim Masmoudi, Insop Song, Fakhreddine Karray, Mohamed Masmoudi, Nabil Derbel, HARDWARE/ SOFTWARE APPROACHE FOR THE FPGA IMPLEMENTATION OF A FUZZY LOGIC CONTROLLER 0-7803-9727-4/06 2006 IEEE.
[11] Scott Dick, Vincent Gaudet, Huiqing Bai, Bit-Serial Arithmetic: A Novel Approach to Fuzzy Hardware Implementation, 978-1-4244-2352-1/08/$25.00 2008 IEEE
[12] Douglas Perry, VHDL Programming by Example, Tata McGrawHill Publishers, VI edition
[13] http://www.open-electronics.org/robofish-create- your-robot-fish-with-arduino/
AUTHORS PROFILE
Prakash Tonse is pursuing his 2nd
year of
Postgraduate studies in Digital Electronics
at the Dept. of E&CE at SDMCET,
Dharwad. His research interests include
VLSI, Digital Circuits and Fuzzy Logic
Applications. Mr. Prakash is currently the
life member of Institution of Electronics and
Telecommunication Engineers (IETE),
Institution of Engineers India (IE-I) and
International Association of Computer
Science and Information
Technology(IACSIT).
Laxmanrao Kulkarni is pursuing his final
year of undergraduate studies in Electronics
and Communication at Shaikh College of
Engineering & Technology, Belgaum,
Belgaum. His research interests include
frontend VLSI, Digital Circuits and
embedded systems.
Ms. Salma M. Khan is a lecturer at the
Department of Electronics & Communication
Engineering at Shaikh College of Engineering
& Technology, Belgaum. She completed
Bachelor of Engineering in Electronics and
communication at Gogte Institute of
Technology, Belgaum. She pursued her
Masters in VLSI DES at K.L.E Societys Dr.
M. S. Sheshgiri College of Engineering &
Technology, Belgaum. Her area of interests
includes VLSI, embedded systems, control
systems and Fuzzy logic based applications. At
present she is a life member of Indian Society
for Technical Education (MISTE).
top related