Flow-aided path following of an underwater robot
David S. Jung, Peter P. Pott, Taavi Salumäe, and Maarja Kruusmaa
Abstract— This paper describes an underwater robot navigation strategy in flow. Our aim is to demonstrate that knowing
the relative flow speed is advantageous because it permits using
more energy efficient and stable control for trajectory following.
We use a biomimetic robot that moves in uniform flow using
a side-slipping maneuver. Side-slipping permits the robot to
move laterally with respect to the incoming flow by exploiting
its passive dynamics. The side-slipping maneuver is controlled
by adjusting the heading of the robot with respect to the flow.
We implement simple PID controllers for controlling the motion
of the side-slipping robot laterally and transversely. Also, we
compare the performance of the robot in the case where the
robot does not know the flow speed. In this latter case the
robot’s heading towards the waypoint is controlled and the
flow effect is considered as a disturbance compensated by the
control algorithm. Comparative experiments demonstrate that
it is advantageous for a robot to know not just its speed and
orientation with respect to the world’s frame of reference but
also its local flow-relative speed. It permits the robot to follow
trajectories more stable and using less energy. In the discussion
section we propose possible future directions for implementing
the on board flow-relative control.
I. I NTRODUCTION
In underwater robotics, waves, wind, and currents are
considered as environmental disturbances. In mainstream
underwater robotics, those effects are usually not explicitly
taken into account as the large heavy vehicles overcome
the flow effects due to their inertia. The environmental
disturbances can be then just corrected with the vehicles’
control algorithms. Sometimes flow and wave effects are presented using simple models [1], [2]. For example, underwater
gliders incorporate models of the effect of flow on the vehicle
into algorithms for optimal path planning [3].
Several recent trends in robotics suggest that hydrodynamic disturbances become more relevant for vehicle control.
First is the trend of miniaturization that makes smaller
vehicles more dependent on flow effects. Second, new application areas in less stable environments are explored. Third,
recent developments in soft robotics, flexible robotics, and
biomimetic robotics [4] introduce new vehicles with new
kinds of dynamics where the interaction between the robot
and the hydrodynamic environment is not yet thoroughly
investigated. Motion control, trajectory, and path following of
This work is supported by European Union 7th Framework program
under FP7-ICT-2007-3 STREP project FILOSE (Robotic FIsh LOcomotion
and SEnsing), www.filose.eu.
D. S. Jung, T. Salumäe, and M. Kruusmaa are with Center
for Biorobotics, Tallinn University of Technology, Tallinn,
Estonia.
[email protected], taavi.salumae,
[email protected]
D. S. Jung, P. P. Pott are with Institute of Electromechanical Design, Technische Universität Darmstadt, Darmstadt, Germany.
[email protected]
those vehicles are even more complicated as the undulating
motion of the fin actuators is highly non-linear [5]. With
an exception in [6] those robots are investigated and tested
in still water taking sometimes into account only the selfinduced hydrodynamic effects [7]–[9].
In this paper we present a strategy for underwater locomotion where the effects from the external flow are taken
into account to create a flow-related motion of the vehicles.
The basic difference here is that flow is not treated as the
disturbance that has to be corrected by control algorithms but
as the navigational aid that permits robots to take advantage
of the environmental conditions and to exploit their passive
dynamics to move more efficiently. In particular, we use
a side-slipping maneuver of a flexible biomimetic robot.
It permits moving perpendicular with respect to flow by
controlling the heading of the vehicle. A simple controller for
controlling the side-slip angle is developed to drive the robot
along the closed path in a flow tank. For trajectory following,
the coordinates of the waypoints are given in the global
coordinates and also the speed of the robot is calculated
with respect to the global frame (ground speed). At the same
time, the side-slipping maneuver can be effectively used only
if the robot knows its flow-relative speed. We show in our
experiments that it is advantageous to know the magnitude
and direction of the flow.
Though flow-relative dynamics has not gained much attention in underwater robotics, real fish are well known for
taking advantage of flow conditions and to exploit the hydrodynamic effects for better maneuverability and swimming
efficiency [10]–[13]. The flexible body of fish permits using
the relative flow to create the bending and turning moment
[14]. Sometimes those maneuvers are believed to be passive
while in other cases probably the lateral line flow sensing
helps to control the maneuver [15]. In our previous work
we have demonstrated local flow sensing of an underwater
robot [16], [17]. In this paper we demonstrate that the sideslipping angle can be detected using onboard sensors which
in the future can be integrated to the control of a flow-relative
navigation of an autonomous robot.
The rest of the paper is organized as follows. In the next
section we describe the robot and its behavior in flow. We
proceed describing our experimental setup in a flow tank
and the control algorithms used in the experiments. We
develop the controller experimentally as the dynamics of the
flexible body interacting with its hydrodynamic environment
is to complex to incorporate into a controller. Then we
experimentally compare two trajectory following strategies in
the flow. In one case the robot is aware of the flow conditions
and uses a control algorithm that takes the flow effects
into account. In other case the robot is not aware of the
flow conditions and simply compensates for the disturbances
created by the flow. In the next experiment we demonstrate
flow-aided path following along a closed trajectory in a
flow tank. Finally, we demonstrate that the side-slip angle
can be determined using on-board pressure sensors thus
illustrating that local flow conditions can be acquired by the
robot autonomously. We finish the paper with remarks about
possible future work directions.
The robot consists of a rigid head (Fig. 1 (1)) containing
five pressure sensors (MS5407-AM, Intersema, Hampton,
USA) (2), a microprocessor, and the electronics. A rigid
middle section (3) containing a servo motor (4) connects the
head to the compliant tail (5) which ends in a rigid fin (6).
The stiffness of the tail is chosen according to the properties
of a rainbow trout (Oncorhynchus mykiss) to enable the
robot to copy fish-like movement [18]. The overall length
of the robot is 500 mm and the maximum width is 85 mm.
To actuate the robot, an actuation plate (7) is molded into
the tail and connected to the motor via steel cables (8). The
motor actuates the compliant part by applying a concentrated
moment on the plate inside it. The motion has the form of
(1)
where A is the amplitude of the sinusoidal oscillation, f is
the actuation frequency, and ϕ0 is the actuation offset. The
swimming speed of the robot is controlled by altering the
actuation amplitude and frequency. The swimming direction
and turning radius is changed by adding an offset ϕ0 to the
actuation.
As experimentally determined in [17], the swimming
speed Urobot , in the investigated range of 0.2 to 0.4 bl/s (body
length per second – size-related speed), is related to actuation
frequency and actuation amplitude according to
f = −0.62 + 5.50 · Urobot
(2)
2
A = −0.04 · Urobot
+ 1.83 · Urobot − 3.00
(3)
whereby for (2) the amplitude is held constant (A = 10◦ )
and in (3) the frequency is constant (f = 2 Hz).
An actuation frequency of 2 Hz is used during all experiments as actuation in this mode gives highest thrust while
minimizing actuation amplitude and current consumption.
All experiments are conducted with a flow speed of
150 mm/s corresponding to a speed of 0.3 bl/s which is the
mean speed achievable with the robot.
The static hydrodynamic forces acting on the robot during
rotation around the yaw axis, lateral movement, and sideslipping are simplified displayed in Fig. 2. The picture
displays the simplified situation when the tail is not actuated
and the robot is floating against a flow, thus dynamic forces
can be neglected. The tail is deflected to turn the robot a),
the flow hits the tail on the side to which it is deflected,
and slows down. According to Bernoulli’s law, the pressure
p1 rises in this region. At the opposite side of the tail the
7
2right
1
5
8
2nose
II. T HE ROBOT
ϕ = A · sin(2πf t) + ϕ0
6
3
4
2left
Fig. 1.
Mechanical design of the prototype, [16]
pressure p2 is lower resulting in a lateral force F from higher
to lower pressure. This force is not only apparent in one point
as indicated in the figure but it is a distributed force acting
on the whole tail. This force results in a torque M turning
the robot about its center of mass.
In Fig. 2 b) the robot already turned it’s orientation towards
the flow. In this case the flow is dammed left of the nose of
the robot. The force resulting from the different pressures
p1 and p2 possesses a lateral component resulting in a sideslipping of the robot.
In flow, both movements happen in parallel and the robot
does not need to actively actuate its tail to turn. Instead, it just
needs to float against a flow where the static tail deflection
angle determines the side-slip angle. The actual direction of
robot’s motion is then determined by superposition of lateral
force and drag.
Flow
p1
Drag
F
p2
M
a) Turning
Flow
FLateral
p2
F
Drag
p1
b) Lateral Movement
Fig. 2.
Forces acting on the robot in flow during turning, p1 > p2
III. E XPERIMENTAL S ETUP
The experiments are performed in the working section of a
transparent flow tank schematically displayed in Fig. 3. The
working section has a size of (1.5 × 0.5 × 0.5) m3 and the
collimator enables a laminar flow up to 500 mm/s ± 20 %.
The camera (Dragonfly ExpressT M , Point Grey Research
Inc., Richmond, Canada) is placed above the working section
to observe the robot during the experiments. A floater giving
the robot a small positive buoyancy is attached to the robot’s
middle section using a rod. The camera detects two LEDs
mounted on the top of the floater and determines the robot’s
position and orientation.
x-coordinates are in direction of the flow, y-coordinates
are lateral to the flow, and the orientation angle α is measured
counterclockwise, as shown in Fig. 3 b). As the robot with
the floater has a positive buoyancy the floater touches the
ceiling of the working section. The friction between floater
and ceiling is small enough to enable a free movement of the
robot. The camera provides the global reference frame and
the speed of the robot related to the global frame. The flow
related speed is given by manually adjusting the speed on
the incoming laminar flow. The absolute speed of the robot
is given by the sum of the flow speed and relative speed
recorded by the camera: Urobot = Uflow + Ucam
Camera
Collimator
Ceiling
Floater with LEDs
Pressure
Sensors
Flow
y
Flow
Fish-Robot
x
Working Section
LED Marker
Flow
α
y
φ
x
b) Bird's-eye View
Fig. 3.
ẏ = f (α, U )
(4)
α̇ = g(ϕ)
(5)
For the trajectory following experiments we implement 3
controllers, for controlling x-position, y-position, and the
heading α. x- and y-position control are used for sideslipping while the angle control is only used for comparative
experiments. The y-position and heading control use the
offset actuation angle ϕ0 and the x-position the amplitude
A as process variable. All three controllers use the camera
data as feedback.
As PID-controllers are implemented in the first place, three
variables have to be determined: the proportional gain Kc ,
the derivative time TD and the integral Time TI .
Z
d
1 t
e(τ ) + TD e(t)
(6)
u(t) = Kc e(t) +
TI 0
dt
u(t) is the manipulated variable, either actuation offset or
amplitude, and e(t) is the error between set point and process
value, either y-, x-position, or orientation α, depending on
the controller and feedback.
As the controllers are designed for a flow speed of 0.3 bl/s
and the lateral movement changes with the flow speed, the
performance of these controllers will decrease when used in
other flows.
A. Position Control for Side-Slipping
a) Side View
Flow
derivation α̇ in turn depends on the deflection angle of the
tail ϕ. Thus the system comprises two integral elements.
Structure of the working section, a) side view, b) bird’s-eye view
The camera and the robot are controlled and read out
by programs written in LabView (National Instruments,
Austin, TX, USA) running on an external computer. The data
acquired by the camera are the position of both LEDs, the
orientation of the robot towards the flow, and the position
of the center of mass. This data is used to control and
observe the position of the robot during experiments. The
data sent to the robot is the desired angle of the motor and the
outputs are the pressure sensor signals, temperature signals
to compensate the temperature drift of the pressure sensors,
and the actual motor angle.
IV. C ONTROLLER
The problem treated in this paper is to control the movement of the fish-like robot lateral to a flow (y-direction) in a
constant laminar flow. The lateral movement speed ẏ depends
on the flow velocity Uflow and the orientation angle α. Its
The controller described in this section is designed to
control the position of the robot taking into account the flow
speed. It realizes the side-slipping maneuver described in
Section II.
Important characteristics of the controller are its rise
time Tr , defined as the time the robot needs to reach 90%
of the value of a step in the desired position, and the
steady state error ess . The rise time Tr is dependent on the
lateral movement speed ẏ which in turn is restricted by the
maximum deflection angle of the tail ϕmax and the robot’s
mass m. According to experiments, the minimum rise time
without overshoot (aperiodic case) is 11 s. This is achieved
when the lateral deflection of the tail is set to a maximum to
accelerate the fish and after half of the distance the deflection
is inverted to slow down the movement.
At the beginning of the experiment characterizing the
controllers performance the fish is orientated in the middle
of the flow tank (y0 = 225 mm), then a step function of
∆y = 75 mm is applied to the desired position and after
100 s the desired position y is set back to y0 . Then the
same procedure is repeated with a step function to the other
direction (∆y = −75 mm). The step function is restricted
to ±75 mm to avoid collision of the robot with the wall of
the working section and to avoid boundary layer effects near
the wall. The actuation offset is restricted to ϕ = ±8◦ to
prevent the robot from being destroyed by high actuation
angles. The rise time Tr as well as the steady-state error ess
are determined to characterize the controller.
450
8
4
400
350
Actuation Angle [°]
y−Position [mm]
0
−4
−8
300
250
200
Offset Angle φ0
8
Desired Angle α d
6
Actual Angle α
4
2
0
−2
−4
−6
160
Fig. 5.
180
200
220
Time [s]
240
260
280
Performance of the camera based angle control
Actual Position y
Desired Position yd
150
100
Fig. 4.
The camera based controller is a simple P-controller with
a gain KC = −4. Fig. 5 shows the performance of this
controller. The desired angle is shown as dashed and the
actual angle as solid line. The robot follows the desired
orientation with a mean error of 1◦ .
Orientation Angle [°]
Fig. 4 shows the performance of the best controller found
during experiments with the proportional gain Kc = 0.2,
integral time TI = 24 s and derivative time TD = 12 s. The
desired position is illustrated by the dashed black line, the
actual position by the solid black line, and the controller
output, the offset actuation angle, is given by the gray solid
line. After each step the desired value is held constant for
100 s to observe the steady state behavior.
150
200
250
300
Time [s]
350
400
450
500
Controller performance for step changes of the desired position
The rise time Tr of the system is about 12 s, the average
steady state error ess,av and maximum steady state error
ess,max have values of 2 mm and 10 mm, respectively. Due to
asymmetries of the robot, the actuation offset is not centered
around zero but shows an offset as the robot is drifting to
the left side, which is compensated by the controller. The
actuation offset reaches its maximum value of ±8◦ after
the step function is applied. This means that the rise time
can not be decreased as long as the maximum offset is
restricted to ±8◦ . This is acknowledged by the fact, that
the minimal theoretical rise time without overshoot of 11 s
is almost reached.
Parameter
proportional gain Kc
integral time TI
derivative time TD
average steady-state error ess,av
maximum steady-state error ess,max
rise time for a step of 75 mm Tr
Value
0.2
24 s
12 s
2 mm
10 mm
12 s
TABLE I
C ONTROLLER PARAMETERS
During this experiment the x-position is controlled by
changing the actuation amplitude using a camera feedback
PI-controller with parameters Kc = −0.3 and TI = 12 s. The
amplitude is approximately 16◦ .
B. Orientation Control using Camera Feedback
The controller in this section controls the global orientation and speed of the robot. It is used in comparative
experiments where the heading of the robot is towards the
next trajectory waypoint and the environmental disturbances
are compensated by the camera feedback.
V. R ESULTS
In this section we describe 3 experiments: 1) comparative
experiments between side-slip control and orientation angle
control to show the importance of knowing the flow parameters, 2) closed trajectory following with the side-slip control,
and 3) side-slip orientation feedback using pressure sensors
to show the scope of onboard flow sensing.
A. Control Strategies for Environments with and without
Flow
First, we compare trajectory following strategies with and
without the external flow. The task of the robot is to follow
two diagonal trajectories (x- and y-position as a function
of time) across the flow tank’s working section (Trajectory
1: the longest possible straight line, Trajectory 2: straight
line with higher angle towards flow). If there is no external
flow the fastest way to reach a way point is to head directly
towards this point, the absolute speed of the robot then equals
the relative speed with respect to the flow. For this case we
use the orientation control described in Section IV-B. In the
case of a flow we can use the side-slipping effect to produce
the lateral component of motion along the diagonal line. For
this case we use the controller described in Section IV-A.
Fig. 6 shows the paths of the robot when following the
trajectories given as dashed line. Using the control strategy
for still water (black
p line) the deviation from the desired
(xdesired − xreal )2 + (ydesired − yreal )2 =
trajectory eav =
10.1 and 64.6 mm, respectively, is higher than the average
deviation of the side-slipping control (9.8 and 11.2 mm). Also
the trajectory for the side-slipping control (gray line) is more
stable. The angle control also has somewhat higher energy
consumption (6 and 8 % more average current consumption
Iav ) than the side-slipping control. The difference in the
current consumption as well as the position error increases
as the path gets more perpendicular to the flow.
Obviously, the side-slipping maneuver is a viable alternative when the trajectory goes perpendicular to the flow while
350
Still Water Strategy
Desired Trajectory
Flow Strategy
y−Position [mm]
300
320
C
300
Flow
280
y−Position [mm]
going in direction of the flow the difference is small. A robot
in a flow could then use several motion primitives for path
following in the flow and change them depending on the
shape of the path.
Actual Position
Desired Position
Errors
260
240
220
B
D
200
180
250
160
200
140
520
540
560
Trajectory 1
150
Trajectory 2
Fig. 7.
A
580
600
620
x−Position [mm]
640
660
680
Closed trajectory following
100
Fig. 6.
400
500
600
x−Position [mm]
700
800
900
Trajectory following for the different strategies
strategy
Trajectory 1:
Trajectory 1:
Trajectory 2:
Trajectory 2:
eav
eav
Iav
Iav
no flow
heading towards the target
10.1 mm
0.35 A
64.6 mm
0.35 A
flow
side slipping
9.8 mm
0.33 A
11.2 mm
0.32 A
TABLE II
C OMPARISON OF DIFFERENT STRATEGIES TO FOLLOW A TRAJECTORY
B. Following a Closed Trajectory
This experiment demonstrates using the side-slipping control on a more complicated, closed, trajectory, where the
relative flow speed varies on various sections of the trajectory. The PID controller for implemented y-position as well
as a controller for the position in direction of the flow (xdirection) as described in Section IV-A, are tested in parallel.
The experimental results presented in Fig. 7 show the
desired (dashed line) and actual (black solid line) trajectories.
Each leg of the diamond is traversed in 60 s starting from
position A over B, C, and D back to A. For the edges AB
and DA the relative speed of the robot is smaller than for the
edges BC and CD as the robot simply floats now backward
in the flow. The relative speed is adjusted by the amplitude
of the tail beat as described in Section IV-A. The deviation
is shown by the gray lines connecting desired and actual
position at the same time. It can be seen that the robot can
very accurately follow the trajectory in the flow by adjusting
its flow-relative speed and using the side-slipping effect.
The average deviation from the original path is 6 mm but
increases as the trajectory is run faster.
C. Orientation Control using Pressure Feedback
As shown in Fig. 2 b) the pressure at the left side of
the robot’s head is higher than the pressure right of it
during lateral movement to the right side. We conducted
experiments to find out whether we are able to determine
the side-slip angle from the readings of the pressure sensors
mounted on the robot. Fig. 8 shows the correlation of the
pressure difference ∆p = (pright,1 + pright,2 ) − (pleft,1 + pleft,2 )
and the orientation. The offset shown in Fig. 8 is a result
of inaccurate offset compensation of the pressure sensors. In
this section, a controller using this information as feedback
is implemented and tested.
60
Pressure Difference [Pa]
300
40
20
0
−20
−40
Measurement
Linear Model
−60
−40
−30
Fig. 8.
−20
−10
0
10
Orientation Angle [°]
20
30
40
Correlation of pressure difference to orientation
The upper graph of Fig. 9 shows the orientation angle
α (dashed line) and the pressure difference ∆p (solid line)
when controlling the robot’s heading using pressure feedback. The relation of pressure difference to orientation angle
is smaller than shown in Fig. 8 as the noise filtering also
damps the signal components.
The controller recognizes the direction of movement of
the robot by comparing the pressure difference with zero.
When the pressure difference is higher or less than zero for
more than 6.5 s this indicates that the robot is moving to one
side and the moving direction is inverted. This is a 2-pointcontrol, either the motor offset is −8◦ to move the robot right
and if the movement to the right side is recognized the offset
is set to 8◦ to move the robot left. The gray areas indicate
the time intervals that indicated a lateral movement.
The lower graph of Fig. 9 shows the corresponding lateral
position of the robot as solid line and the actuation offset
10
30
6
4
10
2
0
0
−2
−10
−4
Orientation Angle α
−6
−8
y−Position [mm]
−20
Pressure Difference ∆ p
Movement Recognized
−10
400
−30
300
8
0
200
−8
Actuation Offset φ0
100
0
Fig. 9.
Orientation Angle [°]
20
Actuation Offset [°]
Pressure Difference [Pa]
8
Position y
200
220
240
Time [s]
260
280
300
Orientation angle and pressure difference using pressure control
as dashed line. In the beginning, the robot moves to the
right, when the movement is detected (t = 202 s), the
desired movement direction is changed by inverting the offset
actuation angle (ϕ0 = 8◦ to −8◦ ). The robot’s movement
slows down and it turns to the left side (t = 209 s).
This sequence is repeated several times in both movement
directions.
The results show that while the simple feedback control
through pressure sensors can be realized, the performance
of such a controller is yet rather inaccurate due to the low
sampling rate, signal-to-noise ratio, and robot’s self motion.
In future, a more sophisticated control using sensors with
higher accuracy, higher sampling rates and more sophisticated control will be implemented.
VI. D ISCUSSION AND C ONCLUSION
Currently, the standard means for flow sensing for underwater vehicles is the Doppler Acoustic Current Profiler
(DACP) which has been demonstrated to work successfully
in various real-world applications [19]. The downside of
DACP is that those devices are bulky and therefore not
suitable for usage on board of small biomimetic vehicles.
Also, they measure the bulk flow around the vehicles rather
than the local flow at robot’s boundary, from which the sideslipping angle actually depends on. Some evidence of local
flow related control is demonstrated in our previous work
[16], [17]. Recently, there are several technological solutions
proposed to implement the artificial lateral line [20]–[22].
Though none of those sensors have yet been demonstrated
to work onboard of an underwater vehicle, they offer new
perspective for flow related control for both biomimetic and
conventional underwater vehicles.
In this paper we have introduced a flow-relative path following strategy using a side-slipping maneuver. The results
show that knowing the magnitude and direction of flow
permits developing more efficient ways of exploiting the
passive dynamics of the vehicle. Side-slipping in the flow
results to more stable trajectories, smaller deviations, and
lower energy consumption. We also demonstrate that it is
possible to determine the heading of the robot with respect
to flow with onboard pressure sensors. Implementing the onboard flow-related control is the direction of our future work.
R EFERENCES
[1] T. Fossen, Marine Control Systems, Marine Cybernetics Ed., Trondheim, Norway, 2002.
[2] L. Lionel, Underwater Robots Part II: Exisiting Solutions and Open
Issues, Mobile Robotics – Towards New Applications, pp. 362-398,
2006.
[3] R. E. Davis, N. E. Leonard, D. M. Fratantoni, Routing strategies for
underwater gliders, Journal of Deep-Sea Research II, vol. 56, 2009.
[4] R. Pfeifer, M. Lungarella, F. Iida, Self-organization, embodiment, and
biologically inspired robotics, Science 318, pp. 1088-1093, 2007.
[5] F. Boyer, M. Porez, A. Leroyer, Poincaré-Cosserat Equations for the
Lighthill Three-dimensional Large Amplitude Elongated Body Theory:
Application to Robotics, Journal of Nonlinear Science, vol. 20, no. 1,
pp. 47-79, 2010.
[6] C. Zhou, Study and implementation of station-holding performance on a
fish robot in adverse unsteady flow, IEEE/RSJ International Conference
on Intelligent Robots and Systems (IROS), pp. 928-933, 18-22 Oct.
2010.
[7] C. W. Chong, Z. Yu, K. H. Low, Robust gait control for steady swimming of a carangiform fish robot, IEEE/ASME International Conference
on Advanced Intelligent Mechatronics, AIM, pp. 100-105, 2009.
[8] J. Yu, M. Tan, S. Wang, and E. Chen, Development of a biomimetic
robotic fish and its control algorithm, IEEE Transactions on Systems,
Man, and Cybernetics – Part B: Cybernetics, vol. 34, no. 4, pp. 17981810, 2004.
[9] A. Crespi, D. Lachat, A. Pasquier, A. Ijspeert, Controlling swimming
and crawling in a fish robot using a central pattern generator, Autonomous Robots, vol. 25, pp. 3-13, 2008.
[10] C. L. Gerstner, Use of substratum ripples for flow refuging by Atlantic
cod, Gadus morhua, Environmental Biology of Fishes, vol. 51, pp. 455460, 1998.
[11] C. L. Gerstner, P. W. Webb, The station-holding performance of the
plaice Pleuronectes platessa on artificial substratum ripples, Canadian
Journal of Zoology, vol. 76, no. 2, pp. 260-268, 1998.
[12] P. W. Webb, Entrainment by river chub Nocomis micropogon and
smallmouth bass Micropterus dolomieu on cylinders, Journal of Experimental Biology, vol. 201, pp. 2403-2412, 1998.
[13] J. C. Liao, A review of fish swimming mechanics and behaviour
in altered flows, Philosophical transactions of the Royal Society of
London, vol. 362, pp. 1973-1993, 2007.
[14] K. Singh, T. J. Pedley, Modeling lateral manoeuvers in fish, J. Fluid
Mechanics, vol. 697, pp. 1-34, 2012.
[15] H. Bleckmann, Role of the lateral line in fish behaviour, Chapman
and Hall, ch. 7, pp. 201-235, 1993.
[16] T. Salume, I. Rano, O. Akanyeti, M. Kruusmaa, Against the flow: A
Braitenberg controller for a fish robot, IEEE International Conference
on Robotics and Automation, St. Paul, USA, May 14-18, 2012.
[17] M. Kruusmaa, T. Salume, G. Toming, J. Ježov, A. Ernits, Swimming
Speed Control and on-board Flow Sensing of an Artificial Trout, In
Proceedings of the Int. Conf. of Robotics and Automation (IEEE
ICRA), Shanghai, China, May 9-13, 2011.
[18] T. Salume, Design of a Compliant Underwater Propulsion Mechanism by Investigating and Mimicking the Body of a Rainbow Trout
(Oncorhynchus mykiss), Master Thesis, Tallinn, 2010.
[19] J. A. Farrell, S. Member, S. Pang, W. Li, Chemical Plume Tracing via
an Autonomous Underwater Vehicle, vol. 30, pp. 428-442, 2005.
[20] Y. Yang, N. Nguyen, N. Chen, M. Lockwood, C. Tucker, H. Hu, H.
Bleckmann, C. Liu, D. L. Jones, Artificial lateral line with biomimetic
neuromasts to emulate fish sensing, Bioinspiration & Biomimetics, vol.
5, 2010.
[21] G. Krijnen, T. Lammerink, R. Wiegrenik, J. Casas, Cricket-inspired
flow sensor array, in Proc. IEEE 6th Sensors Conference, pp. 539-546,
2007.
[22] A. Qualtieri, F. Rizzi, G. Epifani, A. Ernits, M. Kruusmaa, M. D.
Vittorio, Parylene-coated bioinspired artificial hair cell for liquid flow
sensing, Microelectronic Engineering, Elsevier, to appear.