Design, modeling and open-loop control of a BCF mode bio-mimetic Robotic Fish
Transcript of Design, modeling and open-loop control of a BCF mode bio-mimetic Robotic Fish
1
Abstract—This paper deals with the design of a bio-inspired fish
like underwater vehicle. As the applications of underwater robots
grow, finding efficient propulsion techniques is of the utmost
importance. The current research has focused on the use of
biomimetic propulsion, which simulates the undulation of fish tail,
i.e. the sinusoidal oscillation. The objective is to mimic the
propulsion technique of the BCF mode carangiform swimming
style to swim efficiently over large distances at impressive speeds.
Beginning from the CAD construction in Solidworks, 3D motion
simulations in Matlab VRML and open-loop experimental and
simulation results are provided to illustrate the effectiveness of
the proposed methodology.
Index Terms – Biomimetic, Robotics, BCF, Kinematic Modeling,
Lagrange-Euler equations, Solidworks, MatlabVRML.
I. INTRODUCTION
he manifold contribution of bio-inspired robotics or bio-
mimetic [4] has been both continuously increasing
through the last decade. Biomimetics reflect the features and
capabilities of natural evolution of a system that could be
efficiently replicated or mimicked in a human engineered
system to the design of new technologies and the improvement
of conventional ones. One of the important focused
technologies has been the development of autonomous
underwater vehicles [5] as a greater part to the increasing
interest in unmanned underwater surveillance and monitoring.
Of particular interest are regions of the underwater
environment which are unexplored and dynamic as well as
underwater detection, pollution source tracking, underwater
archaeology, search and rescue, and so forth. A bio-inspired
approach in the design of underwater vehicles i.e. inspired
from nature has shown credibility for the design of vehicles
suitable to both vehicular morphology and methods of
locomotion. The study of underwater evolution of life and its
Dr. S K Panda is with the Electrical and Computer Engineering Department
National University of Singapore, Singapore 117576; (e-mail: eleskp@
nus.edu.sg).
Dr. Rajesh Kumar is with the Electrical Engineering Department Malviya
National Institute of Technology, Jaipur, India. (e-mail: [email protected]).
Abhra Roy Chowdhury is presently a Ph.D. scholar at the Electrical and
Computer Engineering Department National University of Singapore,( e-mail:
A0079791@ nus.edu.sg).
Bhuneshwar Prasad is presently a M.Sc. student at the Electrical and
Computer Engineering Department National University of Singapore, (e-mail:
bhuneshwar21@ nus.edu.sg).
Vinoth Kumar is presently a M.Sc. student at the Electrical and Computer
Engineering Department, National University of Singapore, (e-mail:
vinothkumarvishwanathan@ nus.edu.sg).
plethora of locomotion modes [2] has long been a subject of
interest to the Biological community. Aligning to the research
interest of the aforesaid, the Engineering community has taken
up the further task to construct mechanisms that shows or
replicates the behavior of swimming life-forms and their
motion. Majority of conventional design of autonomous
underwater vehicles used propellers as their principal mode of
propulsion. The propeller based locomotion although rendered
the initial answers to underwater locomotion but set issues on
high-maneuverability, efficiency and low power consumption.
The scientific community and researchers also found that
propeller-strikes produce greater amount of marine debris [8],
marine creature‟s mortality and shallow waters ecosystem
disturbances. Broadband noises produced from propellers have
severe acoustic effects on marine wildlife. Biomimicked or
Fish-like robots are expected to be quieter, more maneuverable
(lesser accidents), and possible more energy efficient (longer
missions). Undulating-finned robot can preserve undisturbed
condition of its surroundings for data acquisition and
exploration (stealth). Movement of fish through water without
creating ripples and eddies were more reasons to choose a bio-
inspired design for underwater locomotion.
Considering the propulsive features [5] of existing fish modes,
a novel propulsive mechanism that integrates fish-like
swimming with modular links and fin movements is proposed
in this paper. The robot will be able to implement speedy and
efficient fish-like swimming. This paper focuses on the
modeling, simulation and development studies of a BCF (Body
Caudal Fin) [1] [2] based prototype. The work in this paper
specifically identifies the usefulness of our model for purposes
of both speed and maneuverability. The construction of a
mechanical prototype for propulsion is demonstrated.
The objectives and scopes show the target and boundary for
this project. Due to the complex nature of the mechanical
system, the paper focuses on developing a linear system model
using robot dynamics derivation. The simulation method is in
MATLAB Simulink, which is implemented by toolboxes Sim-
Mechanics and VRML. The prototype mechanical hardware
model was designed and developed using Solidworks. The
general approach that was used to complete is given as
following:
Develop a mathematical model of the Robot fish
based on the physical (CAD) data, dynamics
analysis and engineering assumptions.
Design, Modeling and Open-loop Control of a
BCF Mode Bio-mimetic Robotic Fish Abhra Roy Chowdhury, Bhuneshwar Prasad, Vinoth Kumar, Dr. Rajesh Kumar, Dr. S K Panda
T
2
Develop a Solidworks model of the Robot-fish
design.
Export the Solidworks model to Matlab-Simulink
by use of Sim-Mechanics toolbox.
With the help of Virtual Reality Modeling
Language (VRML) in Matlab-Simulink develop a
3D Simulation of the prototype model.
Demonstrate the feasibility of building a flexible
bodied Robotic Fish (Robo-Fish) Propelled by a
single oscillating caudal fin and two pectoral fins
The paper is organized as follows. Section II reviews the
propulsive mechanism of the fish swimming. An overview of
the BCF swimming mode [2] in fishes is presented. In Section
III, the design characteristics and features of the prototype are
explained. The kinematics and dynamics modeling studies are
also presented. Further it presents the Solidworks design of the
mechanical prototype integrated with the MATLAB Sim-
Mechanics and its 3D Simulation using Virtual Reality
Modeling Language (VRML) toolbox. Then, Section IV shows
results from open loop experimental and simulation results are
presented on the four joints to produce the undulation of the
body motion. Conclusions and directions for future work are
discussed in Section V.
II. OVERVIEW OF BCF MODE FISH SWIMMING
Fishes have the ability to turn in less than a body length, and
from a standing start, fish can accelerate rapidly using only a
few flicks of their tails at the levels of more than 10 g's.
Locomotion in fishes is accomplished through a sequential
system of smaller muscles which contract in a wave along the
fish's body [1], [3]. Once they begin to move, fishes utilize
their sensory system to detect vortices created by their tails
and "push off' of the vortices which allows them to be very
efficient swimmers. This ability to take advantage of sensory
feedback allows them to avoid obstacles, make quick
maneuvers, and become as agile as possible in the underwater
environment efficiently.
The propelling process in fish motion is either undulatory
motion or oscillatory motion. In both ways body structures and
fin segments contribute the most in generating propulsion. Fish
swim either by using [2] [3]:
Body and/or caudal fin (BCF) locomotion,
Median and/or paired fin (MPF) locomotion,
Combination of both BCF and MPF[8] locomotion
There is a great variety of different types of fish propulsion
mechanisms. Two most generic categories of these are
periodic swimming and transient swimming. The latter is used
for rapid starts, escape maneuvers and turns. Periodic
swimming is used for steady, sustained locomotion. The
classification for fish periodic swimming was presented by
Breder et al.[9] in 1926. According to this classification there
are two main families of swimming: body and/or caudal fin
locomotion (BCF) and median and/or paired fin locomotion
(MPF). Fishes using BCF locomotion bend their bodies mainly
the posterior part into a backward-moving propulsive wave
that extends to caudal fin while fishes using MPF locomotion
use their other fins to propel themselves. Since 85% of fishes
use BCF locomotion, the focus of this paper is set on this type
of propulsion. At the basis of propulsion body and/or caudal
fin propulsion can be divided into 5 subgroups [2] [3]:
Anguilliform, Sub-carangiform, Carangiform, Thunniform and
Ostraciiform. Anguilliform swimming involves undulatory
motions, meaning that the transversal wave is moving through
whole body. Ostraciiform swimmer generates oscillatory
motions, in which the propulsive structure swivels without
exhibiting a wave formation. Sub-carangiform, carangiform
and thunniform motions are in between undulatory and
oscillatory motions sorted by the ratio of these two types. Two
of the most common types of fish bodies are carangiform, of
which the freshwater largemouth bass is one example.
Carangiform swimmers generally have rapidly oscillating tail.
In this type of locomotion the majority of movement is
concentrated in the very rear of the body and tail. The other
type is thunniform, of which the tuna is an example. Here, the
tail itself tends to be large and crescent shaped. These two
body types are not extremely different, and both are efficient
swimmers. Present paper tries to include the features of both
the swimming forms to develop a new prototype.
III. SYSTEM MODEL
The BCF mode carangiform style [5] of locomotion is
approximated using a 4-link (including the pectorals attached
to the head) mechanism with four actuated joints. The first link
as “head” functions as the “body” and is roughly two-thirds of
the weight of the entire robot. The “tail” of the robot is formed
by the second link connected to the caudal fin and pectorals by
the third and fourth link. Our mechanism is a reasonable
approximation to BCF carangiform locomotion, and therefore
small modifications of this model should have general use in
the analysis of carangiform swimming. In specific the methods
and techniques presented in this paper are applicable to the
posterior of the body with any degree of articulation or even
full flexibility.
The dynamics of any rigid body [6] can be completely
described by the translation of the centroid and the rotation of
the body about its centroid. The dynamics equations for the
four link system described are derived by defining the inertia
torques of each link and the reaction torques from the
connecting links. This leads to the ability to derive the actuator
torques necessary to produce the tail motion that is desired.
The links are interdependent in two major respects:
The torque produced on or by a link produces a
reaction torque on the other links.
The motion of the links changes the shape of the
linkage, which changes the inertia seen by previous
links
The approach used in this paper is developing a linearized
dynamic model of the Robo-Fish system. The two major
sections of the present paper Robo-Fish system model are:
1. Denavit-Hartenberg (DH) Kinematics Mode [7]: The
dynamics due to translation and rotation along the joints and
3
the hydrodynamic (non-linear) forces on the Robotic Fish
system.
2. Lagrangian Dynamics Model [7]: The dynamics due to
kinetic and potential energy generated along each link and
inertia of the free-flow water entrained in the Robo-Fish
System.
When describing the kinematics and dynamics of the mode
shown in Fig.1, the interlink actuator-shaft constitutes the
inertial frame of reference. A local coordinate frame is
assigned to each DOF, both the constrained and the
constraining, of the link segments. The coordinate frames are
assigned according to the Standard Denavit-Hartenberg
notation.
Link and Joint Parameters
Joint angle (θi): the angle of rotation from the X i-1
axis to the Xi axis about the Z i-1 axis. It is the joint
variable if joint i is rotary.
Joint distance (di): the distance from the origin of the
(i-1) coordinate system to the intersection of the Z i-1
axis and the Xi axis along the Z i-1 axis. It is the joint
variable if joint i is prismatic.
Link length (ai): the distance from the intersection of
the Z i-1 axis and the Xi axis to the origin of the ith
coordinate system along the Xi axis.
Link twist angle (αi): the angle of rotation from the Z
i-1 axis to the Zi axis about the Xi axis.
Reference Frames:
FI Inertial frame of manipulator-base system.
FB Base Frame located at the centre of mass of the
base.
Fi Coordinate frame of the ith
link of the manipulator.
Vectors:
rB Position of frame F0 relative to and projected onto
frame FB.
rI Position of frame F0 relative to and projected onto
frame F0.
di Position of frame Fi relative to and projected onto
frame F0.
ri Position of point on link i relative to frame F0.
ρi Position of point on link i relative frame Fi.
b Position of point on the base relative frame FB.
bB Position of point on the base relative to frame FI.
vi Velocity of point on link i relative to frame FI.
vB Velocity of point on the base relative to frame FI.
Link parameters have been identified for the assigned frames,
according to the Standard Denavit-Hartenberg convention.
Table 1 summarizes the link parameters.
Generalized Equations of Motion
In the present work to obtain the dynamic equations of the
DOF base, the Lagrange-Euler formulation [7] is used which is
given by
τ i
eqn. …. (1)
Where, The Lagrange function is defined as
L = K – P eqn. …. (2)
Table 1. Identified link parameters for the Robo-fish model.
Fig.1: Relative orientations and locations of local coordinate frames at the CM of the head and the Inertial Frame of reference.
4
Where
K: Total kinetic energy of robot
P: Total potential energy of robot
q: Joint variable of i-th joint
q : First time derivative of joint variables
τ: Generalized force (torque) at i-th joint
The right hand side of the equation is external forces or
torques acting on the base such as thruster control jets or
momentum gyros equations of motion.
eqn. …. (3)
Where,
eqn. …. (4)
D is the Inertia matrix
eqn. …. (5)
eqn. …. (6)
h is the Coriolis-centripetal matrix
eqn. …. (7)
c is the Gravity matrix.
τ is the generalized Force (torque) vector, and q is the
generalized angular coordinate. The above manipulator
dynamic equations have been developed in three dimensions
for an „n‟ link manipulator on a 6 degree of freedom base,
assuming that there is gravity acting on the system. In matrix
form torques are given by the dynamic equation form as
D(q)q + h(q,q ) + c(q) = τ
eqn. …. (8)
Where M is the Inertia matrix, V is the Coriolis-centripetal
matrix, G is the Gravity matrix.
(A) Solidworks Model Design
Solidworks, as the mainstream software in virtual prototype
field, combines multi-body dynamics modeling with large
displacements as well as multi functioning tools. It also
supports data exchange with other geometric modeling
software during product development. Solidworks has a more
powerful geometric modeling function. By utilizing
Solidworks, a kinematics model of Robot-fish, with
coordinated motion of multiple propulsive mechanisms, is
established as shown in Fig. 2 and further imported into
MATLAB through a common data exchange interface with the
XML format.
(B) Sim-Mechanics Model of the Robo-Fish
After the Robo-fish Assembly is exported to the Physical
Modeling XML format, the Sim-Mechanics toolbox Model is
generated.
Fish Environment – Ground – Head – Root Body – Interlinks -
Caudal fin inside a subsystem, called Robo-fish assembly,
representing the entire Sim-mechanics assembly. Fig.3
(C) 3D Simulation using VRML (Virtual Reality Model)
Model
Simulink 3D Animation allows us to visualize the dynamic
system simulations in a 3D virtual reality environment. It
provides an interface between MATLAB and Simulink and
virtual reality graphics represented in Virtual Reality Modeling
Language (VRML). By changing the position, rotation, size,
and other properties of objects in the virtual world, enabling us
to observe the dynamic behavior of the system.
The V-Realm Builder GUI offers a hierarchical, tree-style
view of objects that make up the virtual world. The
characteristics of the Robo-Fish can be driven from Simulink.
This model computes the position and the pitch of the Robot-
Fish.
In the Simulink diagram, the VR Sink is updated with two
inputs. The first input is Robot-Fish rotation. The rotation is
defined by a four-element vector. The first three numbers
define the axis of rotation. In present work, it is [0 0 1] for the
Z-axis. The yaw of the Robot-Fish is expressed by the rotation
about the Z-axis. The last digit is the rotation angle around the
Fig.2: Solidworks model of Robo-fish
.
Fig.3: Robot-Fish Complete model in Sim-Mechanics
.
5
Z-axis, in radians. In the Simulink model, we have to connect
the line going to the Scope block labeled Display Yaw to the
Robot-Fish rotation input. The second input is plane
translation. This input describes the plane‟s position in the
virtual world. This position consists of three coordinates, x, y,
z. The connected vector must have three values. In this model
underwater environment is in the x-y plane. In the Simulink
model, the line going to the Scope block labeled Display
Position to the Robot-Fish translation input is connected. Once
the signals are connected the Scope blocks are removed. The
actual simulated model in VRM appears as shown in the Fig.4.
IV. SIMULATION RESULTS AND DISCUSSION
The project implementation is carried out in MATLAB. The
yaw-axis servomotor is a Hitec HS5085MG (3.6Kg-cm) and
Hitec HS485HB (4.8Kg-cm) used in the head joint. The work
in this paper has addressed the construction of a fin-actuated
(bio-inspired) fishlike underwater vehicle demonstrating the
Solidworks (mechanical model), MATLAB Sim-Mechanics,
VRML (3D motion) and Simulink to emulate the same. Also
the kinematic and dynamic modeling studies are explained and
tackled. Information about the design and construction of the
prototype is also elaborated. The inspiration and motivation of
this paper is described by the remarkable swimming abilities
of BCF mode carangiform style of swimming.
Out of various activities, some cases are considered for the
open-loop implementation. The controller implementation is
done on PIC dsPIC33F. The Simulink Model of the Robo-fish
is shown in Fig.5
For a given set of angles that generate the undulation of
motion in the open loop the output response has been observed
as shown in Fig.6. After feeding the desired set of trajectory
angles, the trajectory equation velocity (qd) and acceleration
(qdd) are calculated for particular time between initial and final
time. After obtaining angles, velocity and acceleration, D-H
matrix is formed (the dynamic sub-system).
By substituting these in Lagrangian equation, the torque at the
4 body joints are calculated acting on each servo actuator
(Motor sub-system).The tracking controller shown here is PD
(Proportional + Derivative) with appropriate tuned gains for a
stable system response. In all the above four cases it is seen
that the torques effect on the joint angle variation is a smooth
fixed pattern. The angular motion as shown in Fig.7 posses a
steady state position in short time periods (for all the four
joints) after the initial actuation signal has been rendered. All
the four joints (therefore links) attain steady state and settle in
that position, and moves linearly in one direction. When
torque is applied to the first joint, the first joint oscillates and
the second follows it with a delay.
Similarly for the other joints the system motion works. The
angular velocity also reduces to a stable margin Fig.8 after the
actuators have encountered the given torque generated by
desired trajectory angles on the dynamics of the body. As the
four joints have been distributed throughout the entire length
of the Robo-fish as shown in the mechanical design and
following the simulation results, the smooth and steady motion
of the entire body is therefore inferred.
Fig.4: Robot-fish VRML simulation
.
Fig.6: Robot-Fish open-loop simulation output (torque)
.
Fig.5: Computed Torque control model of Robot-fish in Simulink
.
Fig.7: Robot-Fish angular position output (4 joints)
.
Time (sec)
.
Time (sec)
.
6
All the four joints (therefore links) attain steady state and settle
Based on the steady simulation results the experiments
validating the same were undertaken for different body-motion
configurations to emulate the undulation of the Robo-fish in
open environment (here Air) shown in Fig 9.
V. CONCLUSIONS AND FUTURE WORK
The manufactured prototype is a 45 cm. long, 6 DOF fishlike
underwater robot with a horizontal caudal fin (tail). The
system uses DC servomotors as actuators and is controlled by
micro-controller dsPIC33F. The future work primarily focuses
on developing a closed loop control algorithm and its
implementation .Up-gradation of the servos to BLDC and
hydrodynamic analysis has to be performed in the subsequent
stages of the development of this project. This paper describes
the modeling method of a Bio-Inspired Robo-Fish. Simulations
and Experiments have been carried out to verify the model of
the robotic fish. Future work will focus on the more accurate
fluid force and optimization of the robotic fish. The 3D
dynamic model derived within the framework of multi-body
dynamics has to be compared with experimental measurements
from the tests performed to verify the efficacy of the
established model. In addition, the discrepancy between the
simulations and the experiments is also due to the un-modeled
factors and mechanical limitations on the robot nonlinearities
present in the system.
REFERENCES
[1] M.J Light Hill: “Aquatic animal propulsion of high
hydrodynamic efficiency.” Journal of Fluid Mechanics.,Vol.
44,pp.256-301, 1970.
[2] M.Sfakiotakis, D.M.Lane, and J.B.C.Davies, “Review of fish
swimming modes for aquatic locomotion”, IEEE Journal of
Oceanic Engineering 24, pp. 237 – 252, 1999.
[3] P. W. Webb, “Form and function in fish swimming”, Scientific
American, vol. 251(1), pp. 58-68, 1984.
[4] M. S. Triantafyllou, A. H. Techet, and F. S. Hover, “Review of
experimental work in biomimetic foils,” IEEE J. Ocean. Eng.,
vol. 29, no. 3, pp. 585–594, Jul. 2004.
[5] P. R. Bandyopadhyay, “Trends in biorobotic autonomous
undersea vehicles,” IEEE J. Ocean. Eng., vol. 30, no. 1, pp.
109–139, Jan. 2005.
[6] P. R. Bandyopadhyay, D. N. Beal, and A. Menozzi, “Biorobotic
insights into how animals swim,” J. Exp. Biol., vol. 211, pp.
206–214, 2008.
[7] Fu K.S, R.C Gonzalez, and C.S Lee “Robotics Control, Sensing,
Vision and Intelligence”. New York: McGraw-Hill, 1987.
[8] K. H. Low, C. W. Chong, Chunlin Zhou, and Gerald G. L. Seet,
“An Improved Semi-Empirical Model for a Body and/or Caudal
Fin (BCF) Fish Robot”, 2010 IEEE International Conference
on Robotics and Automation Anchorage Convention District,
USA, pg 78 – 83.
[9] C. M. Breder, “The locomotion of fishes,” Zoologica, vol. 4, pp
159–256, 1926.
[10] Junzhi Yu and Long Wang, Design” Framework and 3-D
Motion Control for Biomimetic Robot Fish”, IEEE International
Symposium on Intelligent Control, Cyprus, pp. 1435 – 1440,
2005.
[11] Rui Ding, Junzhi Yu, Qinghai Yang, Min Tan, and Jianwei
Zhang , “CPG-based Dynamics Modeling and Simulation for a
Biomimetic Amphibious Robot”, Proceedings of the 2009 IEEE
International Conference on Robotics and Biomimetics, Dec
2009, Guilin, China, pg 1657 -1662.
[12] S. Guo, Y. Okuda, K. Asaka,” A Novel Type of Underwater
Micro Biped Robot with Multi DOF”, Proceedings of the 2004
IEEE International Conference on Robotics & Automation,
pp.4881-4886, 2004.
[13] K.A.Harper, M.D.Berkemeier, and Grace, “Modelling the
dynamics of spring driven oscillating-foil propulsion”, IEEE
Journal of Oceanic Engineering 23,285-296, 1998.
[14] H. Yamada, et al, “Development of amphibious snake-like robot
ACMR5,” Proceedings of 36th Int. Symposium on Robotics, pp.
433–440,2005.
[15] N. Kato and M. Furushima, “Pectoral fin model for maneuver
of underwater vehicles,” in Proc. IEEE AUV Symposium., pp.
49–56., 2002.
Fig.8: Robot-Fish angular velocity (4 joints) output
.
Fig.9: The Open-loop experimental setup showing the driving of the
Robo-fish to perform various fundamental maneuvers via delivery
of appropriate trajectory
.
Time (sec)
.