robotics.sciencemag.org/cgi/content/full/5/42/eaaz1012/DC1
Supplementary Materials for
Bioinspired underwater legged robot for seabed exploration with low
environmental disturbance
G. Picardi, M. Chellapurath, S. Iacoponi, S. Stefanni, C. Laschi, M. Calisti*
*Corresponding author. Email: [email protected]
Published 13 May 2020, Sci. Robot. 5, eaaz1012 (2020)
DOI: 10.1126/scirobotics.aaz1012
The PDF file includes:
Text Fig. S1. Exploded view of SILVER2 with all subsystems. Fig. S2. CAD rendering of three-DOF segmented leg. Fig. S3. Electronic subsystem. Fig. S4. Exploded view of the camera canister. Fig. S5. The original U-SLIP and the articulated version. Fig. S6. Comparison between SILVER2 and U-SLIP simulation over a single step. Fig. S7. Control of hopping locomotion. Fig. S8. Parametric analysis of U-SLIP performance with respect to touchdown angle and spring stiffness. Fig. S9. Control of omnidirectional walking locomotion. Fig. S10 Reconstructed long-exposure images. Table S1. Parameters of U-SLIP model and values used in simulations. Table S2. Free parameters of omnidirectional walking gait. Table S3. Data of the tests presented. Legends for movies S1 to S5
Other Supplementary Material for this manuscript includes the following: (available at robotics.sciencemag.org/cgi/content/full/5/42/eaaz1012/DC1)
Movie S1 (.mp4 format). Hopping locomotion. Movie S2 (.mp4 format). Hopping locomotion. Movie S3 (.mp4 format). Walking locomotion. Movie S4 (.mp4 format). Sea life. Movie S5 (.mp4 format). Approaching procedure.
TEXT
Hardware details
Fig. S1. Exploded view of SILVER2 with all subsystems.
Chassis
The chassis of the robot acts as a structural entity to hold the components of the robot and protect the robot
from any external impact. It consists of two parallel vertical polycarbonate plates connected together by two
aluminum bars and a Delrin™ plate that provide structural integrity and space for attaching different
components of the robot. The components were arranged to provide easy access to the canister while being
as compact as possible. The legs were connected to the bottom of the vertical plates. Electronic and power,
camera and sampling subsystems were attached to the horizontal structural elements fig. S1. The two
canisters containing components of electronic and power subsystem were attached to the horizontal plate.
The camera subsystem was attached to the horizontal aluminum bar in the frontal side. The sampling system
was also attached to bottom of the same bar. The fasteners used were made of stainless steel to have better
corrosion resistance. The aluminum alloy used was Al 6061.
Propulsion subsystem
Fig. S2. CAD rendering of 3DOFs segmented leg. The coxa motor allows rotations around z-axis and defines the coxa
plane, where the two links of the leg lie. Femur and tibia motors define the position of the leg in the coxa plane. Overall
the configuration of leg Li can be described by the angles of the motors with the following notation qi = [ci fi ti]. Each
leg coordinate frame {Li} is centred on the coxa motor axis, at the same height of the femur motor axis. The x-axis is
parallel to the x-axis of the body frame, the z-axis points upward and y-axis completes a right-handed coordinate frame.
SILVER2 propulsion subsystem is made of two sets of 3 legs per side. Legs 3, 4, 5 are mirrored with respect
to legs 1, 2, 6. Each leg is composed of two links and has 3 rotational DOFs (fig. S2). Each joint is actuated
with a XM430-W350-R Dynamixel servomotor enclosed in a custom design waterproof canister. Motors are
attached to the inner part of the canister and connected to a stainless-steel shaft which extrudes from one of
the canister cap. A dynamic sealing on the shaft ensures watertight enclosure. For each leg, the three
canisters are connected with underwater cables carrying the serial communication channel and leakage
sensors signals. The first motor of each leg Li, namely coxa motor, is connected to the polycarbonate vertical
plate and defines the vertical plane on which Li lies, namely the coxa plane. The second and third motors,
namely femur and tibia motor, control the position of Li on the coxa plane. The leg geometry allows for a
wide workspace, so that the geometric limitation for the leg configurations are almost always related to
interferences with the body, the ground or the other legs. Following the tibia motor (third motor), the shaft is
not directly connected to the last leg section but to a specifically tuned torsion elastic component. The elastic
component allows for the tibia junction to act as a torsional Serial Elastic Actuator (SEA). The torsional
elasticity is obtained by mounting two compressive springs in contraposition into a circular slot. At the end
of the leg, the foot structure encloses a piezoelectric disk, lodged in a 3d printed case and embedded in
watertight silicone. The foot is free to rotate shortly around a hinge, pressing against the center of the
piezoelectric disc when in contact with the ground. The hinge is placed far from the central axis to allow for
the contact pressure to be transmitted even when the foot gets in contact with the ground with a stiff angle.
Design of the foot is modular, so that it is easy to replace the rotating part: as a matter of fact, to different
feet were used (a half spherical black one, and one presented in fig. S2), but no difference were observed.
Electronic and power subsystems
Fig. S3. Electronic subsystem. Connections with buoy, camera, power and propulsion subsystems.
The electronic and power subsystems are contained inside 2 wide aluminum canisters placed horizontally at
the center of body. The electric connection between the canisters and with camera and propulsion
subsystems is realized through a series of underwater cables. Each cable’s ends terminate with a watertight
penetrator sealed with resin. All the components and connections with buoy, power, camera, and propulsion
subsystems are shown in fig. S3. The first canister contains the power subsystem which is made of a lithium
battery of 12V 25000mA, voltage and current sensors, voltage regulator (not shown in Figure) and the power
switch. The battery is the only power source of Silver 2.0, which is independent from outer sources. The
second canister contains the electronic subsystem. The main control unit (MCU) is a 3.0 Raspberry pi b+.
Onboard sensors are pressure sensor penetrator (MS5837-30BA), Inertial measurement unit which includes a
3-axis magnetometer and embedded sensor fusion algorithm for estimation of orientation (BNO055), a
custom circuit board for the reading for the reading of the piezoelectric sensors , and a custom circuit board
to read 27 humidity sensors positioned across the waterproof canisters (motors, camera, electronic and
battery). The electronic subsystem is mounted on an easily extractable card cage.
Camera subsystem
Fig. S4. Exploded view of the camera canister. Exploded view of the watertight dome enclosing two HD cameras
mounted on a 2DOF Pan and tilt gimbal actuated with servomotors.
The camera subsystem is made of two components: the camera canister featuring a watertight dome
enclosing two HD cameras mounted on a 2DOFs (pan and tilt) gimbal (shown in fig. S4) and the four PWM
dimmable underwater torches. The torches are part of a standalone system (LUMEN-QUAD-R2) directly
connected to the electronics canister and are capable of generating up to 1500 lumen. The canister has a
hemispherical transparent dome enclosing two high-resolution Low-Light USB Camera, mounted on a
gimbal. The gimbal has two DOF, vertical (tilt) and horizontal (pan) rotation, actuated by two servomotors.
The two cameras area arranged to allow for stereoscopic video and 3D reconstruction. The gimbal system is
designed to have the rotation axis intersecting in the geometrical center of the dome and allow for a rotation
of 90 degrees in both direction and both rotations.
Sampling subsystem
The sampling device is a simple passive system consisting of 6 closed cylindrical aluminum tubes (diameter
10 mm). One end of each tube is screwed to a plate and the other was made truncated to penetrate easily into
sandy sediments. Each cylinder contains a small hole (diameter 4mm) closer to collect sand during sampling
actions. A sampling actions consists in lowering the posture to penetrate the sediment with the sampling
system, trapping sand into the small holes. When the body is raised, the sediment is collected inside the tube.
Samples were fetched from tube after each mission.
Communication subsystem and interface
The robot was tethered to the buoy on the surface using Ethernet cable (category 5, bandwidth: 100 MHz,
Data transfer rate: 100 Mbps). The antenna, Bullet M Omni (bandwidth: 2.4 GHz, Data transfer rate: 100
Mbps) was placed on a buoy in waterproof container together with battery and electronics and allow a
theoretical maximum range of 100m. The robot can be controlled wirelessly by a human operator from
land/boat through the antenna. A shorter steel cable connected the buoy to the robot to prevent the Ethernet
cable from stretching.
Software communication among the different components of the robot was performed by mean of Robot
Operating System (ROS), under a Lubuntu distribution mounted on the Raspberry board. The pilot-robot
interface exploited the software framework for generic user interface (GUI) embedded in ROS, the rqt
interface. Data collection was obtained by launching bag services.
Locomotion control
Legs are actuated by 18 XM430-W350-R Dynamixel servomotor. Position and velocity commands are pre-
computed by the MCU based on gait specific control parameters and sent to the robot via serial
communication. The frequency of the control loop is 100Hz.
Anchoring the U-SLIP model
Fig. S5. The original U-SLIP and the articulated version. U-SLIP model (a) and the articulated one (b), where the
articulated leg with the SEA anchors the behaviour of a linear spring from hip to foot.
In the presented approach, the selection of the appropriate stiffness of the SEA is crucial. The stiffness of
SILVER2 can be expressed through 3 equivalent parametrizations (fig. 5 Sb), i.e. the stiffness of the linear
springs used to implement the torsional SEA kSEA, the stiffness of the equivalent torsional spring kROT at the
knee joint and the stiffness of the equivalent linear leg k as in the U-SLIP model. First, the desired stiffness
for the equivalent U-SLIP model k was selected to limit the vertical displacement due to joint compliancy in
static conditions and meet general performance requirements through U-SLIP simulations. Then, the
stiffness of the torsional spring kROT is derived from a moment balance at the knee joint in static conditions.
Finally, the appropriate stiffness of the linear springs used to implement the SEA kSEA was simply derived
from the geometry of the SEA itself. In this work, we targeted an equivalent linear stiffness k=660N/m,
reached when the robot stands on six legs. The resulting linear stiffness of the SEA springs was
kSEA=10kN/m.
Recapping the U-SLIP model during punting phase, the horizontal and vertical dynamics are respectively
described by the following equations:
2 2
¨0
2 2
( ) tt
t
r r x x yk x xXx x x
m M m M x x y
2 2
¨0
2 2
( ) t w
t
r r x x y VgY ky mgy y y
m M m M m M m Mx x y
.
Where m is the mass of the robot, M is the added mass, X is the horizontal damping coefficient due to
water, Y is the vertical damping coefficient due to water, 0r is the length of the leg at touchdown, tx is the
horizontal position of foot at touchdown, g is the gravity acceleration, V is the volume of the robot, w is
the density of water. The control input is the elongation of the leg, which we chose to be linear sr r t and it
depends on elongation speed sr , maximum elongation defined as
maxr , and touch down angle α (not shown
in the equations). Once a combination of spring stiffness k and control parameters sr and α which leads to a
robustly stable locomotion was found, we derived specifications for the articulated legs in terms of peak
force obtained from the compression of the linear spring, and time to reach the maximum elongation maxr .
Those specifications became the requirements of a classical mechanical design problem, thus that the
combination of SEA springs, and motors to ensure the timely elongation of the leg were evaluated until the
proper components were selected.
It is worth to mention that the present design methodology, does not consider the actual direction of resulting
forces on the body, which may differ from U-SLIP model. However, this approach resulted effective due to
the good stability of the U-SLIP system for the final choice of the mechanical parameters selected for our
robot. A comparison among the U-SLIP simulations obtained with the parameters reported in table S1 and
the actual trajectories of the robot, as tracked during field tests is shown in fig. S6. The comparison over a
single step (as commonly done in the evaluation of hopping machines, not to let the errors propagate in the
subsequent hops) reveals a good matching between SILVER2 and U-SLIP. In particular, the hopping period
of roughly 5s, and the horizontal and vertical displacements over a period were correctly predicted by the
model. The most notable difference occurs in the horizontal trajectory which, in the case of SILVER2, looks
linear. Such mismatch does not affect the prediction of the average performance of the hop and may be
explained considering the disturbance of currents in real conditions as well as inaccuracies in the
identification of hydrodynamic parameters such as X, Y and M.
Table S1. Parameters of U-SLIP model and values used in simulations. The value of all parameters was obtained by
design, except for the hydrodynamic drags X and Y that were selected as for a box of the size of the robot and M which
was selected as m/2. The rest length of the equivalent single leg r0 is the height of the centre of mass of SILVER2 at
touch down and thus, for the case of articulated legs, depends on the configuration of the legs at touch down. The
volume of the robot V is computed as /u wV m m where mu is the underwater weight of the robot in kg as
measured with a dynamometer.
Parameter Symbol Value
Dry mass m 22 kg
Added mass M 11 kg
Leg’s rest length r0 0.2 m
Leg’s maximum elongation rmax 0.1 m
Horizontal drag X 0.5040
Vertical drag Y 1.0080
Spring stiffness k 660 N/m
Gravity g 9,81
Volume V 0,021 m3
Density of water ρw 1024 kg/m3
Touch down angle α 70°
Extension speed rs 1 m/s
Fig. S6. Comparison between SILVER2 and U-SLIP simulation over a single step.
Hopping
Fig. S7. Control of hopping locomotion. A) Schematics showing the forces transferred to the body of the robot by the
legs. B) Sideways hopping control. Left, top view; middle, front view with legs in retracted position; right, front view
with legs in extended position. The asymmetry of extended positions between the two sides of the robot generates
propulsion in the direction of negative x-axis. C) Rotating hopping control. Left, top view; middle, front view with legs
is retracted position; right, front view with legs in extended position. The position of coxa joints of all legs generates a
momentum around z-axis.
The hopping locomotion demonstrated in the paper is based on two simple control primitives, which in turn
are defined by two positions in which a leg can be. With a reference to joint angles depicted in fig. S2, each
leg Li can be in the retracted position qir =[ci
r fir t
ir] or in the extended position qi
e =[cie f
ie t
ie]. The action of
going from qir to qi
e, corresponds to the extension primitive, whereas the reverse action corresponds to the
retraction primitive.
In addition to an open loop control layer in which the extension and retraction primitives are clock driven
(when the touch-down-clock elapses, the extension primitive is triggered; when the lift-off-clock elapses, the
retraction primitive is triggered), an additional layer harnesses the feedback from the contact sensors to
trigger the primitives as follows:
If touch down is detected or touch-down-clock elapses:
Extend all legs
Reset touch-down-clock
If lift off is detected or lift-off-clock elapses:
Retract all legs
Reset lift-off-clock
When Li is in contact with the ground, it exerts a force Fi to the body at the attachment point of Li with
direction and intensity which depend on qir, q
ie and on the extension trajectory. In the present work the latter
aspect was not systematically modelled and values for qir and q
ie were tuned heuristically. Furthermore, the
extension trajectory consisted in a linear trajectory for every joint at the maximum velocity allowed by the
hardware. Note that a linear trajectory for every joint does not result in a linear trajectory of the foot.
In this work, we used a gait in which all legs extend altogether when contact is detected on any feet. In this
condition and neglecting any rotation around axis x and y due to body geometry, we can assume that legs get
in contact with the ground and exert a force to the body at the same time. As shown in fig. S7A, the overall
force exerted to the body by the action of legs is thus F =
6
1
i
i
i
c F
, where ci is zero if Li is not in contact with
the ground and 1 otherwise. Similarly, the overall momentum around z-axis is M =
6
1
i
i
i
c M
with Mi
depending on the projection of Fi on plane XY.
Sideways locomotion in the direction of x-axis was obtained as depicted in fig. S7B, with coxa angles
arranged to generate an overall null momentum around z-axis, and asymmetry in the extended position of the
legs on the two sides of the robot to generate a force in the direction of negative x-axis. The trajectories
presented in fig. S6 were obtained with the following joint angles qir = [0, 50, 130] i=1-6, qj
e = [0, 9, 141]
i=1-3, qke = [0, 20, 85] k=4-6 , which correspond to the poses reported in fig. S 7B middle and right.
Rotations in place was obtained as depicted in fig. S7C, with radially symmetric pushing directions to cancel
out forces on the XY-plane, and coxa angles arranged to generate momentum around z.
By taking the U-SLIP model as a reference, the tuning knobs of the hopping locomotion are inter-limbs
coordination, touch down angle α and the extension law r of the equivalent single leg, which are dictated by
the extended and retracted position of each leg qir, q
ie and on the joint velocity selected to transition from one
to the other. In particular, as depicted in fig. S7A, α results from the vector sum of the forces generated by
the legs in contact with the ground.
Fig. S8. Parametric analysis of U-SLIP performance with respect to touch down angle and spring stiffness. Each
curve is obtained with a different value of equivalent linear spring stiffness from k =110N/m to k=660N/m. A)
Horizontal velocity vx of U-SLIP increases for smaller values of α and larger values of k. B) Conversely, cost of
transport CoT increases for higher values of α and smaller values of k. For simulations that reached stable periodic
hopping 𝐶𝑜𝑇 = 𝐸𝑙𝑜 − 𝐸𝑡𝑑 𝑚𝑔𝑣𝑥⁄ , where 𝐸𝑙𝑜 is the energy at lift off, 𝐸𝑡𝑑 is the energy at touch down and 𝑣𝑥 is the mean
horizontal velocity as in A.
In fig. S8 we reported a parametric analysis of U-SLIP that highlights the influence of touch down angle α
spring stiffness k on the horizontal velocity vx and cost of transport CoT of the system. Values of α resulting
in unstable behaviour are not shown. Velocity can be increased by selecting smaller values of α or higher
values of 𝑘. Conversely, CoT increases for higher values of α and smaller values of 𝑘. It is worth noticing
that the stiffness of each leg is fixed by design through the choice of kSEA, however, the equivalent stiffness
of SILVER2 depends on the number of legs in contact with the ground at each time. For this reason, in fig.
S8 we reported six values of 𝑘 = 𝑛110 N/m, corresponding to the stiffness of the equivalent virtual leg
obtained by hopping on n=1-6 legs. The results of simulations provide insights on the effects of inter-limbs
coordination on the performance of the robot, indeed hopping on six legs results in faster and more efficient
locomotion, whereas for example, hopping on three legs in a sort of dynamic alternating tripod may result in
slower and less efficient locomotion. Finally, the formula used for CoT in simulations is different from the
one used to estimate it on the real robot which also accounts for energy dissipated to power the
microcontroller and sensors and for this reason, no comparison can be made.
Table S2. Free parameters of omnidirectional walking gait
Equations of leg kinematics. The coordinates of the tip of the foot of Li xi, yi, zi can be expressed as a function
of the joint angles as follows:
0 2 3 1
0 2 3 1
2 3
cos cos cos sin
cos cos sin cos
sin sin
i i i i i i
i i i i i i
i i i i
x l l f l f t c l c
y l l f l f t c l c
z l f l f t
Equations of leg inverse kinematics. For a given position of the tip of the foot, the joint angles can be found
as follows:
𝜌𝑖 = √𝑥𝑖2 + 𝑦𝑖
2
𝛽𝑖 = 𝑎𝑡𝑎𝑛2(𝑦𝑖 , 𝑥𝑖)
𝛾𝑖 = 𝑎𝑡𝑎𝑛2(𝑙1, √𝜌𝑖2 − 𝑙1
2)
𝑐𝑖 = 𝛽𝑖 − 𝛾𝑖
𝑟𝑖 = 𝑥𝑖 cos 𝑐𝑖 + 𝑦𝑖 sin 𝑐𝑖 − 𝑙0
𝑎𝑖 = √𝑟𝑖2 + 𝑧𝑖
2
𝑓𝑖 = acos (𝑙2
2 + 𝑎𝑖2 − 𝑙3
2
2𝑙2𝑎𝑖) + 𝑎𝑡𝑎𝑛2(𝑧𝑖 , 𝑟𝑖)
𝑡𝑖 = π − acos (𝑙2
2 − 𝑎𝑖2 + 𝑙3
2
2𝑙2𝑙3)
Equations of leg trajectories. Subscript 𝑖 is not reported for the sake of readability. When the foot is in
contact with the ground (stance phase) the trajectory is a segment. When the foot is not in contact with the
ground, the trajectory is a hemi-ellipse. Here ns and nf are the number of points into which the trajectory is
quantized.
𝑥𝑠 = 𝑙𝑖𝑛𝑠𝑝𝑎𝑐𝑒(𝑥𝑐 −𝑠2
cos 𝛼 , 𝑥𝑐 +𝑠2
cos 𝛼 , 𝑛𝑠)
𝑦𝑠 = 𝑙𝑖𝑛𝑠𝑝𝑎𝑐𝑒(𝑦𝑐 −𝑠2
𝑠𝑖𝑛𝛼, 𝑦𝑐 +𝑠2
𝑠𝑖𝑛𝛼, 𝑛𝑠)
𝑧𝑠 = −ℎ 𝑜𝑛𝑒𝑠(1, 𝑛𝑠)
𝑥𝑓 = 𝑙𝑖𝑛𝑠𝑝𝑎𝑐𝑒(𝑥𝑐 +𝑠2
cos 𝛼 , 𝑥𝑐 −𝑠2
𝑐𝑜𝑠𝛼, 𝑛𝑓)
𝑦𝑓 = 𝑙𝑖𝑛𝑠𝑝𝑎𝑐𝑒(𝑦𝑐 +𝑠2
𝑠𝑖𝑛𝛼, 𝑦𝑐 −𝑠2
𝑠𝑖𝑛𝛼, 𝑛𝑓)
𝑧𝑓 = −(ℎ − ∆𝑧 sin (𝜋𝑡𝑓)
Where (xc,yc) are the coordinates of the midpoint of the segment followed by the foot during the stance
phase. For each leg (xc,yc) lies on the circle centered in OB with radius w (fig. SA).
Parameter Symbol
Walking direction α
Step length s
Gait period T
Gait width w
Gait height h
Ground clearance ∆z
Phase lag φ
Duty cycle β i
Both gaits were resilient to damages to the leg: in one situation, a foot detached from the leg, and the overall
behaviour was slightly affected by increasing the pitching motion of the robot, but without impairing
locomotion,
Data analysis
For each trials the following signals were extracted:
1. Current absorbed c(tc), [A];
2. Acceleration vector ax(ta), ay(ta), az(ta), [m/s2];
3. Yaw angle ψ(ta), [deg];
4. Pressure data p(tp), [mbar];
Each trial starts at ti and ends at te. Current sensor, pressure sensor and IMU all had different sampling
frequencies so that for each signal there is an associated time vector.
The vertical position z [mm] was obtained from the pressure data p, by taking as a reference the datasheet of
the pressure sensor, through the following conversion:
10 refz p p
Where pref is the atmospheric pressure at sea level measured at the beginning of the trial.
The statistics reported in the main text were obtained from the signals using Matlab as follows:
1. Mean current absorbed c mean c ;
2. Max current absorbed max c ;
3. Max vertical acceleration max zabs a ;
4. 1 2 ) ( 1 2e iSlope P t P P t P , where z was fitted to a line using polyfit function.
The resulting angular coefficient and constant term are respectively P(1) and P(2);
5. Mean turning rate max max / e imin t t ;
6. Mean hopping frequency / e if length apex t t , where apex is a vector with the local
maxima of z, obtained with findpeaks funtion;
7. Mean hopping height z mean dz , where dz apex lowest , where lowest is a vector of
the same dimension of apex with the local minima of z, obtained with findpeaks funtion.
Missions
Table S3. Data of the tests presented. Ground types are identified as in the paper. Cross identifies if a certain type of
action was performed during the specific mission. Immersion time is the overall time the robot was in water, while
operational is the time when robot was performing an action, and on-board signals were recorded.
Ground
type
Date [D M,
Y]
Average
depth [m]
Immersion
time [min]
Operational
time [min]
Hopping Walking Rotating Sampling
P 07/03/2019 2 120 35 X X
P 11/03/2019 2 120 33 X X X
R 20/03/2019 0,5 36 25 X
X
R 21/03/2019 0,5 80 28 X X X
R 09/04/2019 0,5 38 24 X
R 20/05/2019 0,6 40 31 X
S 04/06/2019 0,8 59 33 X
X X
R 07/06/2019 1,5 15 10
X
Omnidirectional walking
Fig. S9. Control of omnidirectional walking locomotion. A) Schematics showing body frame (origin OB), world
frame (origin Ow) and the frame of a generic leg (origin Oi) with an example of foot trajectory. B) Schematics of leg
frame with definition of leg angles ci, fi, ti, leg segments, and auxiliary axis ri for the definition of the coxa plane.
Segments l0 and l1 correspond to the L-shaped component connecting the shaft of the coxa motor to the canister of the
femur motor, l2 is the first link of the leg and l3 accounts for the lengths of the third link of the leg and the foot. C) Top
view of leg frame with coxa angle ci defining the coxa plane. D) Coxa plane frame with femur and tibia angles, fi and ti.
The omnidirectional walking gait allows the robot to translate in direction α without any rotation nor
displacements around z-axis according to the set of parameters reported in table S2. The control is based on
the inverse kinematics of the segmented leg. Equations of direct and inverse kinematics for the leg of
SILVER2 are reported below, with symbols defined in fig. S9. The contribution of the SEA is neglected. All
legs follow identical trajectories in their respective frame (except for mirror symmetries between the L1,L2,L6
and L3,L4,L5) with a phase lag of φi set by the operator.
The omnidirectional walking gait hereby presented is a very general implementation, and many different
locomotion strategies can be obtained through different parameters settings. For example, the classic
alternating tripod implemented on hexapod robots is obtained by setting the phase lags to φi=0, i=1,3,5,
φj=180°, j = 2,4,6 and β > 0.5. Additionally, the duration of the phase in which both tripods are in contact
with the ground can be increased by increasing β. Other inter-limb coordination strategies can be obtained by
tuning phase lags and duty cycle, however, in the present paper, only the alternating tripod was used due its
recognized stability and efficacy in hexapod robot locomotion. The locomotion speed in dictated by step
length s and gait period T as s/T, while the robot stance can be set through gait width w and gait height h.
Finally, the ground clearance controls how much the feet are lifted in the swing phases and higher values are
to be preferred on irregular terrain to reduce the risk of tripping.
D 08/06/2019 6 56 18 X
X X
R 25/06/2019 0,5 43 14
X
X
M 13/07/2019 11,5 48 22 X X X
R 23/07/2019 0,5 37 16
X
total 692 289
average 58 24
Missions were performed in several sites, in different period of the year (table S3). Mission time varied
significantly depending on requirements and setup operations, but generally lasted around 2 hours. This time
includes the time to transport SILVER2 on the boat or rubber boat, to reach the immersion site, to deploy and
to recover the robot, and eventually to return to the base. Team was composed of three members on average:
two on the boat, one acting as SILVER2 pilot, and a third one in water, in free diving.
Immersion time reports the period when the robot was actually immersed in water, while operational time
identifies the period when the robot was undertaking some actions and recording the ROS bag. Occasionally,
corrupted ROS bags were saved: these are not included in the reported time. Operational and Immersion time
may differ due to the pilot experience and mission requirements. The User interface, largely based on RQT
and service calls, is not effective for online control, thus when mission requirements changed during the
operation, or when additional movements or experiments where asked, the gait parameters have to be
manually changed.
Long exposure algorithm
Fig. S10. Reconstructed long-exposure images. A) Top left: initial frame, top right: last frame, bottom: cumulative
frame. B) Top left: initial frame, top right: last frame, bottom: cumulative frame.
We proved the stability of our passive station keeping strategy by the low value of acceleration data, and by
visual feedback from the cameras mounted on the robot. To visualize stability with respect to a changing and
hydrodynamic environment, long-exposure images cI were reconstructed from frames I of the actual
videos with the following procedure:
~ 1d dcI k I I k I cI k
Where dI is a logical 2-D mask obtained from the difference on grayscale images of the current frame
gI k with the previous cumulated (long-exposure) image 1gcI k , as:
1d g gI I k cI k
With the value 1 for 8-bit unsigned integer images.
Example images of first, last and cumulative frame are reported in fig. S8 and fig. S9.
Movie S1. Hopping locomotion. View from outside water camera. The hopping locomotion of SILVER2
is shown from the pier. In this video the robot approaches a significantly high obstacle and negotiates it
without external intervention from the pilot.
Movie S2. Hopping locomotion. View from seabed and on-board cameras. The hopping locomotion is
shown from a camera placed in the rocky seabed (approximate depth of about 0.5m). The punting and
swimming phases are highlighted. The hopping locomotion is also shown from the robot’s point of view,
while hopping onto the sand dunes ground.
Movie S3. Walking locomotion. View from seabed camera. The walking locomotion is shown from a side
view. It is possible to notice how fishes are not disturbed by the gait, and they move all around the robot
Movie S4. Sea life. View from on-board camera. A few clips of sea life recorded from the camera of the
robot are reported, either while the robot was moving or when it was standing.
Movie S5. Approaching procedure. View from outside water and seabed camera. The approaching
procedure is shown with clips from outside water and from the seabed. The use of static locomotion allows
to get close to the target without the risk of accidentally hitting it.
Top Related