ArticlePDF Available

Abstract and Figures

Soft robotics has been a trending topic within the robotics community for almost two decades. However, available tools for the modeling and analysis of soft robots are still limited. This article introduces a user-friendly MATLAB toolbox, Soft Robot Simulator (SoRoSim), that integrates the geometric variable-strain (GVS) model of Cosserat rods to facilitate the static and dynamic analysis of soft, rigid, and hybrid robotic systems. We present a brief overview of the design and structure of the toolbox and validate it by comparing its results with those published in the literature. To highlight the toolbox’s potential to efficiently model, simulate, optimize, and control various robotic systems, we demonstrate four sample applications. The demonstrated applications explore different actuator and external loading conditions of single-, branched-, open-, and closed-chain robotic systems. We think that the soft robotics research community will significantly benefit from the SoRoSim toolbox for a wide variety of applications.
Content may be subject to copyright.
2
IEEE ROBOTICS & AUTOMATION MAGAZINE
MONTH 2022 1070-9932/22©2022IEEE
Soft robotics has been a trending topic within the
robotics community for almost two decades.
However, available tools for the modeling and
analysis of soft robots are still limited. This article
introduces a user-friendly MATLAB toolbox, Soft
Robot Simulator (SoRoSim), that integrates the geometric
variable-strain (GVS) model of Cosserat rods to facilitate the
static and dynamic analysis of soft, rigid, and hybrid robotic
systems. We present a brief overview of the design and
structure of the toolbox and validate it by comparing its
results with those published in the literature. To highlight the
toolbox’s potential to efficiently model, simulate, optimize,
and control various robotic systems, we demonstrate four
sample applications. The demonstrated applications explore
different actuator and external loading conditions of single-,
branched-, open-, and closed-chain robotic systems. We
think that the soft robotics research community will
significantly benefit from the SoRoSim toolbox for a wide
variety of applications.
Introduction
One of the most trending topics in the robotics community is
the development and design of soft robots that can tackle
challenges otherwise hard and even impossible to solve using
their traditional rigid counterparts [1]. Soft robots are light-
weight, cheap, and adaptable to different environments and
scenarios, as demonstrated by the vast number of applications
where they have been employed. On the other side, their
compliance and infinite number of degrees of freedom (DoF)
intrinsically increase the complexity of their modeling.
Different modeling approaches have been proposed previ-
ously, varying in their simplifying assumptions and applica-
bility. Some of the most commonly used approaches in soft
robotics include the lumped mass model (LMM), finite-ele-
ment (FEM)-based models, discrete elastic rod (DER) model,
and the piecewise constant curvature (PCC) model. The
LMM assumes soft links to be repeated segments of point
masses connected by springs and dampers corresponding to
their geometry, expected motion, and DoF. FEM-based mod-
els provide a way of numerically approximating partial differ-
ential equations governing the motion and deformation of the
soft body. The PCC model constructs kinematic relations
based on the robot’s geometry and behavior under loading by
© PHOTOCREDIT
By Anup Teejo Mathew , Ikhlas Ben Hmida , Costanza Armanini ,
Frederic Boyer, and Federico Renda
A MATLAB Toolbox for Hybrid Rigid–Soft Robots Based on the
Geometric Variable-Strain Approach
Digital Object Identifier 10.1109/MRA.2022.3202488
Date of current version: 20 September 2022
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
3
MONTH 2022
IEEE ROBOTICS & AUTOMATION MAGAZINE
discretizing its links into a finite number of circular arcs char-
acterized by constant curvature [2]. Rod models, such as the
Euler–Bernoulli beam, Timoshenko beam, and the Cosserat
rod, model the material deformation of the robot or manipu-
lator by assuming it to be a 1D continuum mechanics object.
The development of precise theoretical models is crucial, but
theory alone may not be enough to satisfy the demand for
computational tools in the soft robotics field. Knowledge
sharing initiatives become essential to allowing the growth of
this relatively new research field [3]. Generalized modeling
platforms eliminate the need to write robot-specific scripts for
the simulation, design optimization, and model-based control
of specific manipulators by providing user-friendly, accurate,
fast, and reliable algorithms.
Popular examples of such platforms include, Soft Motion
(SoMo) [4], a Python-based toolbox to simulate continuum
manipulators as approximated spring mass systems, and Sim-
ulation Open Framework Architecture (SOFA) [5], a simula-
tion tool that employs simplified FEMs. Toolboxes such as
ChainQueen [6] and SimSOFT [7] also employ FEM-based
modeling techniques to simulate soft robots. Titan [8], which
is a GPU-accelerated C++ library, is another example of a
simulator that models soft robots as a spring mass system.
Toolboxes based on DERs include Elastica [9], which employs
the Cosserat rod theory to model and control slender bodies
with a finite number of lumped DoF, and Volume Invariant
Position-based Elastic Rods (VIPER) [10], which uses a vol-
ume-invariant position-based elastic rods model to simulate
the behavior of muscular hydrostats (muscle-like). Finally, the
MATLAB package TMT Dynamics (TMTDyn) [11] uses dis-
cretized lumped systems and reduced-order models to con-
trol and analyze hybrid rigid–soft robots.
The majority of the available toolboxes for soft robotics
modeling are based on FEM and lumped mass systems. These
are theoretically simple but computationally heavy approach-
es, with a lot of nodes and DoF, designed for general-purpose
simulation instead of analysis and control. Most of the DER-
based simulators are oriented toward computer graphics rath-
er than real mechanical systems. TMTDyn is a geometrically
exact package based on the parametrization of positions and
orientations rather than strains. Within this scenario, we pres-
ent SoRoSim, which is a MATLAB toolbox based on the GVS
approach and that directly extends rigid robot modeling tech-
niques to soft and hybrid systems while maintaining a high
level of accuracy. The toolbox takes advantage of the high
fidelity of the Cosserat rod approach and the simplifying
assumptions of the GVS approach that minimize the number
of DoF required to represent the system and provide a geo-
metrically exact framework, leading to accurate, fast, and
computationally less expensive results. We implement a new
computational approach based on a nested Gaussian quadra-
ture scheme to solve the GVS formulation.
The SoRoSim toolbox allows the user to define and
manipulate links (rigid and soft) and robotic systems (linkag-
es) using user-friendly GUIs and the MATLAB workspace.
The GUIs assist the definition of links, the links’ assembly, the
definition of the links’ DoF, the assignment of constraints as
closed-loop joints, and the application of external and actua-
tion forces. A variety of typical external forces and actuation
inputs are handled by GUIs, which provides a black-box
experience, allowing users from all backgrounds to easily use
the toolbox to perform static and dynamic analyses. The tool-
box provides specific MATLAB files that the user can edit to
input customized values of external and actuation forces as
functions of joint coordinates, their derivatives, positions,
velocities, and so on. Moreover, as a MATLAB toolbox, it can
be used alongside built-in functions; add-ons, such as the
Optimization Toolbox; and user-written codes to further
facilitate the analysis and control of robotic systems. The
intrinsic limitation of the toolbox is that it can model soft
links only as Cosserat rods. However, rigid links can be mod-
eled with no limitation on geometry and DoF. Figure 1 shows
a small subset of robotic systems the toolbox can analyze. The
SoRoSim toolbox package and user manual are available for
free on [15]. The “Toolbox Design and Structure” section pro-
vides details on various aspects of SoRoSim toolbox, includ-
ing its design, structure, and workflow.
We perform several toolbox sanity tests by comparing the
toolbox’s analysis results with published data and commercial
software output. We compare the static equilibrium results
with published solutions and ANSYS workbench results. We
study the dynamic simulation of a flexible flying rod and com-
pared it with existing literature. We also investigate the energy
transfer among the kinetic, gravitational potential, and elastic
potential energy of a cantilever beam under gravity. We discuss
these validation studies in the “Toolbox Validation” section. In
addition to validation, in the “Modeling Applications” and
“Design Analysis and Control Applications” sections, we dem-
onstrate four innovative applications where the soft robotics
community can use the toolbox. The examples include the
analysis of the static equilibrium and contact dynamics of
hybrid robotic arms, an underwater locomotor, a design opti-
mization problem, and a study of two cases of inverse dynamic
control problems. Finally, in the “Discussion and Conclusion”
section we discuss the computational performance of the tool-
box and draw conclusions and future directions of SoRoSim.
Governing Equations
The GVS approach was recently introduced by Renda et al.
[16] in statics and Boyer et al. [17] in dynamics. It is based on a
variable-strain parametrization of soft links represented by
Cosserat rods, 1D slender rods that can bend, twist, stretch,
and shear. Cosserat’s model is the most general rod model, as it
accounts for the orientation as well as the position of beam ele-
ments and allows for all six modes of deformation to be con-
sidered during analysis [2]. Since the strain is parameterized in
the GVS approach, it is easy to disable any deformation modes.
Thus, other beam theories can be kinematically reproduced.
For instance, SoRoSim users can enable the rotational modes
along with shear along y and z to create a Timoshenko beam.
The GVS model is also geometrically exact and generalizes the
geometric theory of rigid robotics to hybrid systems of soft
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
4
IEEE ROBOTICS & AUTOMATION MAGAZINE
MONTH 2022
and rigid links with multidimensional joints, externally
applied point and distributed forces, and distributed actuation
forces [18]. In this section, we give a summary of the model
and an overview of the efficient computational techniques
implemented in the SoRoSim toolbox.
Consider a floating hybrid kinematic chain composed of
interconnected rigid and soft bodies represented by Cosserat
rods. The configuration of a soft body i (respectively, a rigid
body) with respect to its predecessor in the chain is defined as
a curve:
():, ()
()
ggXL
XS
E0
1
3
0
Rr
ii iii
ii
7$
!!
=
cm
6
@
(1)
[respectively, a point
()],gSE 3
i
!
mapping the body frame at
Xi
to the body frame of the previous body at the reference
configuration, as demonstrated in Figure 2.
To study the exponential representation of
(),gX
ii
we
introduce its partial derivative with respect to space,
() ,ggX
ii
ii
p=
l
t
and with respect to time,
() ,ggX
.r
ii
i
ih=t
where
()X
R
ii
6
!p defines the strain twist in the body
frame,
()X
R
i
ri6
!
h
is the velocity twist relative to the pre-
decessor in the body frame, and
$
is the isomorphism
from
R6
to se(3). The space derivative of
()gX
ii
is a matrix
differential equation that can be integrated in space
according to
() (),expgXX
ii i
X=
t
^h
where
X
t
is the Mag-
nus expansion of the field
.
p
t
For the rigid link case,
()X
ii
p
t
is constant in
Xi
and equal to the body frame representa-
tion of the joint twist attached to i, while for the soft link
case,
()X
ii
p
t
is variable. The equality of the mixed partial
derivative of
g
i provides the relation between the time
derivative of the strain twists and the link’s relative velocity
and acceleration twists [19]:
() ,
() ,
X
X
ad ad
ad
i
r
ii
r
ii
r
i
r
ii i
r
ii
i
hph
hp
hh
=-
=- -
p
pp
o
opo
o
l
l (2)
where
ad
R
() 66
!
$
#
is the adjoint operator of
s()e3
[20].
It is time now to discretize the system and introduce the
generalized coordinates. The continuous strain fields
()X
ii
p are parametrized by a finite functional basis of strain
modes [16]:
() () ()qXX X
ii ii
ii
i
ppU=+
)
p (3)
where
()X
R
i
n6
i
i
!U
#
p
(ni
being the number of DoF of
linki) is a matrix function whose columns form the basis for
(c) (e)
(f) (g)
(a)
(b) (d)
2.5 cm
Figure 1. A visual representation of the various robotics systems the toolbox can model. These systems include rigid–soft hybrid
robots, where the soft links can be approximated as Cosserat rods. (a) X-RHex, a hybrid robot with compliant legs. (b) Tuft Softworm,
a soft robot that relies on shape memory alloy actuators and frictional forces for locomotion. (c) PoseiDRONE, a hybrid robot that
uses tendon-based soft appendages to swim underwater and move on the seafloor [1]. (d) STIFF-FLOP, a pneumatic soft manipulator
designed for use in surgical procedures [11]. (e) FinRay, a closed-chain soft gripper with rigid connectors [12]. (f) A two-finger tendon-
driven hybrid gripper consisting of modular segments [13]. (g) A bioinspired hybrid flagellate robot for underwater applications [14].
The SoRoSim toolbox can model all these classes of robots by including contact, friction, and fluidic interactions as custom external
forces similar to the examples in the “Modeling Applications” section.
g34
g23
g1(X1)
g2(L2)
g4(1)
ξ4
ξ1(X1)
η1(X1)
r
Figure 2. The proposed kinematics for a floating hybrid soft–rigid
chain.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
5
MONTH 2022
IEEE ROBOTICS & AUTOMATION MAGAZINE
the strain field,
qR
i
ni
!
is the vector of coordinates in that
basis, and
()X
R
ii
6
!p
)
is a reference strain whose primary
function is to model nonzero yet constrained strains, such as
inextensibility. Note that the matrix
()X
i
i
U
p is constant
for rigid joints.
The integration of (2) using (3) for all the bodies leads to
the definition of the geometric Jacobian
(, )JqX
R
i
n6
!
#
6
@
and its derivative
(, ,)JqqX
R
..
i
n6
!#
().nn i
R=
Once
Ji
and
J
.
i
are found, we project the free dynamics of the floating
hybrid chain onto the space of generalized coordinates to
yield the generalized dynamics of the system:
()Mq CDqKqBuF
.
..
++ +=+ (4)
where
()Mq Rnn
!#
is the mass matrix,
(, )Cqq
R
.nn
!# is the
Coriolis matrix,
DRnn
!#
is the damping matrix,
KRnn
!#
is the stiffness matrix,
()Bq Rnn
a
!#
(na
being the total
number of actuators) is the actuation matrix,
(, )Fqq
R
.n
!
is the vector of generalized external forces, and
uRna
!
is the
vector of applied actuation forces.
We developed a recursive two-level nested quadrature
scheme to estimate the coefficients of (4). For soft links, the
SoRoSim toolbox uses the Gauss quadrature numerical inte-
gration method (the order is chosen by the user) to evaluate
these coefficients. Stiffness (K) and damping (D) coefficients,
which are associated with linear elastic models, are precom-
puted offline. However, the framework also allows the com-
putation of nonlinear strain-dependent constitutive laws.
Apart from (K) and (D), all the other coefficients (M, C, B,
and F) of (4) are computed as functions of q and
.q
.
Estimating these coefficients involves assessing
,g
i
,Ji
and
J
.
i
at every evaluation point, such as Gaussian points of the
soft divisions and the center of mass of rigid links. In our pre-
vious article, we used a fourth-order Zannah collocation
approximation to estimate the value of
g
i recursively:
()() (),expggXh Xh
ii ki
ii
kk
X+=
t
^h
where
hk
is the material
length in the kth interval between two consecutive Gauss
quadrature points and
()h
i
k
k
X
t
is the approximation of the
Magnus expansion [16]. Inspired by this, we derived recursive
formulations for the computation of
Ji
and
.J
.
i
The complete
theory and description of the computational strategy behind
the toolbox are available at the link provided in [15].
Equation (4) is an ordinary differential equation that could
be solved using explicit time integrators, such as “ode45” and
ode15s” in MATLAB. The static equilibrium equation of the
system can be derived from (4) by equating the time deriva-
tives of q
(q
o
and
)q
..
to zero. The resulting static equation
could be solved numerically using root finder functions, such
as “fsolve” in MATLAB. For the case of closed-chain robots,
additional terms corresponding to the constraint forces due to
the closed-loop joints will be present in (4) [12].
Toolbox Design and Structure
We developed the SoRoSim toolbox in MATLAB, which pro-
vides users with a vast library of functions for mathematical
computations and gives access to various built-in functions,
add-ons, and toolboxes to analyze different aspects of robotic
systems. We also employ an object-oriented programming
(OOP) approach, which entails program design around data
and objects rather than functions and logic. OOP allows the
developer to group “objects” with similar attributes under a
class,” providing a well-structured map of the program and
allowing easy access and adjustment to object-specific data
(“properties”) with the help of class-specific “methods.” The
SoRoSim toolbox consists of three MATLAB class elements:
SorosimLink, Twist, and SorosimLinkage. These classes work
together to facilitate linkage creation and simulation through
a sequence of user-friendly GUIs.
The SorosimLink class allows the user to construct soft and
rigid links with various joint types and geometry. The user can
choose from nine different types of lumped joints (fixed, revo-
lute, prismatic, helical, cylindrical, universal, planar, spherical,
and free) and three default cross-sectional shapes (circular,
rectangular, and ellipsoidal). However, analysis performed
within the toolbox is not limited to the link’s default cross-sec-
tional shapes. Once a link is defined, the user can update its
properties, such as the screw inertia matrix and stiffness
matrix, to account for any arbitrary cross-sectional shape and
nonhomogeneous mass distribution. The shape may also vary
as a function of curvilinear abscissa along the link axis, X. The
default material model used to compute the cross-sectional
screw stiffness matrix is a linear elastic model. This material
model provides an accurate representation of the material
behavior when it is subjected to strains that do not exceed
100%; since this is the case for most soft robotics applications
this is an appropriate material model to use. However, the tool-
box allows users to use a custom material model by modifying
the elasticity tensor matrix in the SorosimLink class. An over-
view of the SorosimLink creation is provided in Figure 3(a).
The Twist class specifies the active DoF of lumped joints
and the deformation modes and corresponding strain orders of
soft link divisions. For a soft link division, the class allows the
user to enable the required modes among six deformation
modes: torsion about the x-axis, bending about the y-axis,
bending about the z-axis, elongation along the x-axis, shear
along the y-axis, and shear along the z-axis. The order of a par-
ticular mode corresponds to the polynomial that is used to esti-
mate the strain values. The Twist class also allows the user to
define a reference strain value for the soft division correspond-
ing to its rest configuration. The inset in Figure 3(b) shows a
sample GUI with which the user creates the Twist class for a
soft link division. The GVS model allows the definition of the
strain base of the soft links as a continuous or discontinuous
function of X. The user may change the default polynomial
basis of soft links once the SorosimLinkage is defined.
The SorosimLinkage class allows the user to assemble previ-
ously defined links into various single-, branched-, open-, and
closed-chain systems. SorosimLinkage calls the Twist class to
determine each link’s DoF. The user can also add closed-loop
joints by selecting appropriate joint types. The class allows the
definition of various external forces and actuation inputs. The
class automatically precomputes and saves constant properties
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
6
IEEE ROBOTICS & AUTOMATION MAGAZINE
MONTH 2022
Start Link Definition Start Linkage
Definition
Number
of Links
Links
Link Type?Soft Rigid
Material
Definition
DoF
Definition
Linkage
Assembly
Define
Constraints Ye s
Material
Definition
Geometry
Definition
Last
Division?
Geometry
Definition
No
Ye s
End
Soft Link Rigid Link
Linkage Creation
Constraints
Present? No
No
No
No
No
No
Ye s
Ye s
Ye s
Ye s
Ye s
Apply
Gravity?
Apply
External
Loads?
Rigid
Joints
Actuated?
Actuated
System?
Soft Links
Actuated?
Soft Actuator
Definition
Define G
Vector
Define
Actuation
Define
Loads
End
Linkage
Static Analysis Dynamic Analysis ControlOptimization
Decision
User Input
Application
Stored Data
Object
(a)
(b)
Figure 3. A toolbox overview: (a) the SorosimLink creation and (b) the SorosimLinkage creation and applications. Inset: a preview of the GUI.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
7
MONTH 2022
IEEE ROBOTICS & AUTOMATION MAGAZINE
of the linkage, such as the generalized stiffness matrix (K) and
the generalized damping matrix (D). It also allows the users to
program custom external and actuation forces. An overview of
the SorosimLinkage creation is given in Figure 3(b).
We pack the SorosimLinkage class with “methods” that
facilitate the analysis of multibody systems and the postprocess-
ing of results (static equilibrium configuration and dynamic
video output). The methods for analysis include functions to
solve the GVS model for static and dynamic analyses. The
SorosimLinkage methods can also compute values of system
parameters, such as the Jacobian (J), generalized mass (M), and
Coriolis (C) matrices for a given value of q and
.q
.
Users can
utilize these methods for problem-specific analyses. The reader
may refer to the toolbox manual [15] for a detailed description
of all the properties and methods of SoRoSim classes.
Toolbox Validation
To validate the toolbox, we conduct several numerical tests
and comparisons with verified and published data. We pres-
ent these tests in this section.
Test 1: Fixed–Free Beam With a Follower Tip Force
We first simulate the bending behavior of a cantilever
beam with a follower force applied at the tip. Many authors
have considered this problem and solved it using numeri-
cal approaches, such as the finite-strain rod method [21]
and other geometrically exact models [17]. Using the tool-
box, we construct a 100-m-long cylindrical beam with
Young’s modulus
.E675GPa=
and a diameter of 57cm.
We set a fourth-order bending strain about the y-axis to
model the deflection of the rod when subjected to the fol-
lower tip force. The force is varied between 0 N and
130kN. We use 15 Gauss quadrature points, specified dur-
ing the SorosimLink creation process, for the computation
of integrals (in this case, K). Figure4(a) illustrates the
deflection of the link as well as the horizontal and vertical
displacement of the tip as modeled by the toolbox. The
results obtained match those obtained in [21], as detailed
in Figure 4(b). The total DoF of the rod modeled using
SoRoSim is 5 DoF, while Simo et al. [21] used a 1D finite-
element mesh consisting of five elements with quadratic
60
40
20
0
–20
–40
–60
Z (m)
20 kN
50 kN
70 kN
10 kN
5 kN
90 kN
110 kN
130 kN
F = 0 kN
050 100
X (m)
100
50
0
–50
Displacement (m)
100
50
0
–50
Displacement
020406080 100 120
Ver tical (z-Axis)
Horizontal (x-Axis)
Ver tical
Horizontal
050 100
103× TIP Load
f = 20 kN
f = 70 kN
f = 90 kN
f = 110 kN
f = 130 kN
f = 50 kN
f = 5 kN
(1)
(1)
(2)
(2)
(a)
(b)
Load (kN)
Figure 4. (a) The toolbox simulation output. (b) The results obtained in [21]. (1) The clamped beam profile under varying follower tip
loads. (2) The horizontal and vertical tip displacement at different loads.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
8
IEEE ROBOTICS & AUTOMATION MAGAZINE
MONTH 2022
shape functions corresponding to 10 DoF. This demon-
strates the GVS approach’s ability to recreate accurate
results by using fewer DoF. Additionally, the reported
computation time is 16.4s per loading step in [17], while it
took 42ms for the same in the SoRoSim toolbox.
We also use this example to highlight the scaling process
the toolbox uses. The toolbox performs internal computa-
tions on a soft division after normalizing its length into one
unit (here, there are 100 m to one unit). Consequently, physi-
cal quantities with length dimensions are scaled using the
original length of the division. Once the simulation is com-
plete, the toolbox scales back the resulting values of joint
coordinates into their actual dimensions. The normalization
of soft divisions avoids poorly scaled matrices, such as the
generalized stiffness matrix. This allows faster static solutions
and more stable dynamic simulations.
Test 2: FEM Study of a Fixed–Fixed L-Shaped Beam
To test the performance of the toolbox with respect to com-
monly used methods of modeling, we compare the results
obtained when a soft linkage is subjected to a distributed load
(gravity) with those obtained through FEM simulation. Two
0.7-m-long soft links with a
55-cm#
square cross section
(aspect ratio: 14:1) are connected to form an L-shaped linkage
clamped at each end. We use a fixed closed-loop joint to fix
the rear end of the second link with the ground. All six defor-
mation modes are enabled for this simulation; quadratic and
linear polynomials are used to estimate the rotational and
translational modes, respectively. Hence, there are 15 DoF for
a link (30 in total). For the material,
E10 MPa;=
Poisson’s
ratio,
.;05o=
and density,
,1,200kg/m3
t= are used.
We compare the static equilibrium results obtained from
the toolbox with those of ANSYS Workbench. A linkage with
the same geometry and material properties is created in
ANSYS. A total of 152 quadratic 3D elements with 1,062
nodes (~3,000 DoF) are used for the simulation. Figure 5(a)
describes the toolbox result, while Figure 5(b) conveys that of
ANSYS. The maximum deformation obtained from the tool-
box result is 12.98 cm, whereas the FEM simulation gives a
deformation of 13.27 cm. Hence, with fewer DoF
(: ),1100
the
GVS method can estimate the deformed shape of the
L-shaped beam. The simulation results also suggest that the
toolbox can effectively handle closed-loop problems.
Test 3: Dynamics of a Flexible Flying Rod
In this comparison, we look at the dynamics of a freely flying
flexible rod (also known as the flying spaghetti problem)
which is a problem introduced by Simo and Vu-Quoc [22]
and replicated in [17]. We model a 10-m-long soft rod, with
a free lumped joint and initially at rest in the position shown
in Figure 6(a)(1). The position and orientation of the base of
the soft rod are parameterized by lumped DoF of the free
joint. We used the inextensible Kirchhoff model with a qua-
dratic polynomial basis to define the basis of the rod. Hence,
including the six DoF of the free joint, there are 15 DoF in
this system. Time-dependent point force F1 and moments
M2 and M3 are applied at the tip of the rod, as in Figure 6(a)
(1). The magnitude of M2 is defined as a triangular pulse
function that starts at time
,t0s=
peaks at 200 N·m in 2.5 s,
and goes back to zero at 5 s. The numerical values of the
magnitude of F1 and M3 are 1/10 and half of M2, respective-
ly. The user can define such dynamic inputs as a function of
time (t) in the GUI.
We perform the dynamic analysis of the system for the
first 7 s. Figure 6(a)(2) and (3) show two views of superim-
posed snapshots of the rod in midflight at different times, as
solved by the SoRoSim Toolbox. The rod’s position, orienta-
tion, and deformation match exactly with the published
results in [17], provided in Figure 6(b)(2) and (3). This exam-
ple also demonstrates the capabilities of the toolbox in model-
ing lumped and distributed joints (soft body) within the same
framework.
We use this example to highlight the computational effi-
ciency of the toolbox. The system uses 15 DoF to simulate a
complex dynamic motion in 3D. Boyer et al. report a compu-
tational time of 4 h, 30 min for a 30-s simulation of the same
problem [17]. Hence, on average, the reported computational
time for a second of the simulation was 9 min. Using SoRo-
Sim, we were able to solve a 7-s simulation in less than 1 s of
computational time, which is three orders
(, )3 000#2
faster
than the previously reported computational time. Faster-
than-real-time computation
(7#
faster in this case) will allow
the use of SoRoSim for real-world applications. To better
appreciate the dynamic simulations presented in this article,
the reader may refer to the supplementary video available at
https://doi.org/10.1109/MRA.2022.3202488.
Test 4: Energy Balance in SoRoSim Dynamics
Here, we investigate the energy balance in damped and
undamped cantilever beams released from rest with an initial
0.1
0
–0.1
–0.2
Z (m)
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
X (m)
(a)
(b)
(0.7, –0.025, –0.025)
(0.682, –0.009, –0.153)
0.1298 m
C: Copy of Static Structural
Total Deformation
Type: Total Deformation
Unit: m
Time: 1 s
2/10/2022 4:24 PM
0.13265 Max
0.11791
0.10317
0.088435
0.073696
0.058956
0.044217
0.029478
0.014739
0 Min
0 0.15 0.3 (m)
0.075 0.225
y
x
z
Figure 5. (a) The SoRoSim results showing the reference and
deformed shape of the linkage. (b) The total deformation and
deformed shape obtained from ANSYS.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
9
MONTH 2022
IEEE ROBOTICS & AUTOMATION MAGAZINE
strain under gravity. We create a soft link with a length (L) of
0.5 m and a radius that linearly decreases from 2 to 1cm. The
material properties of the link are
,E1MPa=
.,05o=
and
.01, 00 kg/m3
t= For the damped rod, we use an elastic
damping of 11.2 KPa. We enable all three angular modes of
deformation (torsion and rotations about the y- and z-axes)
with a cubic polynomial approximation for the strains. To
obtain a complex dynamic motion, the soft link is released
2
0
–2
–4
–6
–8
2
0
–2
–4
–6
–8
–10
–5
0
2
4
6005
12
8 m
6 m
M3 M2
F1
Z (m)
Z (m)
2
0
–2
–4
–6
–8
–10
Z (m)
Z (m)
X (m)
X (m)
Y (m)
X (m)
(a)
(b)
Y (m)
Y (m)
2.5 s
3.5 s
3.8 s
4.5 s
t = 0 s
2 s
3 s
3.8 s
4.4 s
5.5 s
5.8 s 6.1 s
6.5 s
7 s
5 s
0510 15 20 25
e3
e2
e1
o
8 m
6 m c3 (t)
c2(t)
c2(t)
c3(t) = c2(t)/20
f1(t) = c2(t)/10
f1(t)
t(s)
0 2.5 5
200
1
0
–1
–2
–3
–4
–5 05
–6
–5
–7
–8
–9
Z (m)
1
0
–1
–2
–3
–4
0510 15 20 25
–6
–5
–7
–8
–9
t = 2.5 s
t = 0 s
t = 3.5 s
t = 4.5 s
t = 3.8 s
t = 2 s
t = 3 s
t = 0 s
t = 3.8 s t = 4.4 s
t = 5 s
t = 5.5 st = 5.8 s
t = 6.1 s
t = 6.5 s t = 7 s
(1) (2)
(3)
t = 0 s
(1)
(2)
(3)
Figure 6. A comparison of (a) the simulation results obtained using SoRoSim with (b) those obtained in [17]. (1) The reference
configuration of the flexible rod with external force and moments. Snapshots of the midflight dynamics of the rod in (2) the yz-plane
and (3) the xz-plane. The comparison is with the dashed black line, which models an inextensible rod with three modes/strain.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
10
IEEE ROBOTICS & AUTOMATION MAGAZINE
MONTH 2022
from rest with an initial bending of 1 rad/m about the y-axis.
We run the dynamic simulation for 5 s. Figure 7 describes the
motion of the damped and the undamped rod between time
t0=
and
..t075s=
The total energy of the beam at a given time is given by
the sum of kinetic, gravitational potential, and elastic
potential energies:
...
()
()
()qMqqqKq
Ed
XA
ghdX
dX
U
2
1
2
1
2
1
2
1
M
..
tot T
LL
T
L
T
gT
00
0
hh
pp pp
t
R
=+
+- -
=++
))
r
##
#
(5)
where
h
is the screw velocity,
M
r
is the cross-sectional screw
inertial matrix, A is the area of cross section, g is acceleration
due to gravity, h is the y coordinate of a cross section of the
rod (in the opposite direction of gravity), p is the screw
strain vector, p
)
is the reference screw strain, and
R
is the
cross-sectional screw stiffness matrix. Here, M and K are
defined as in (4).
The first, second, and third terms on the right-hand side of
the equation represent kinetic, gravitational potential, and
elastic potential energies, respectively. We plot these for the
damped and the undamped cases in Figure 7(a). The total
energy of the damped system is decaying, and that of the
undamped system remains a nonzero positive constant corre-
sponding to the initial strain energy. The results highlight the
robustness of the SoRoSim dynamics, as any deviation in the
energy conservation is solely attributed to errors in numerical
integration (in time and space).
For the undamped case, the systems total energy should
remain the same as the initial elastic potential energy, while
for the damped case, the total energy should decrease mono-
tonically. Figure 7(a) conveys the change in the values of vari-
ous forms of energies of the system. The total energy of the
damped system is decaying, and that of the undamped system
remains a nonzero positive constant, as expected. This exam-
ple also emphasizes that apart from dynamic and static simu-
lations, we can use the toolbox for postprocessing. The
methods of the SorosimLinkage class allow the user to com-
pute quantities, such as the configuration (the position and
orientations of cross sections), velocities, and generalized
mass matrices, as functions of q and
.q
.
The user can compute
these values in a separate MATLAB code for postprocessing,
such as the energy computations in this example.
Modeling Applications
This section presents examples of the static equilibrium and
dynamic simulations relevant to the soft robotics field that the
toolbox can solve. We demonstrate the applicability of the
toolbox to different systems and the use of custom functions
to model various external forces, including contact and fluid
interactions.
Hybrid Manipulators
Serial robotic arms are widely used to automate manufactur-
ing processes and any task requiring object gripping and
manipulation. We show the toolbox’s ability to model and
analyze hybrid manipulators for two different cases.
Case 1: Static Equilibrium
This example demonstrates the static equilibrium analysis of a
hybrid (rigid-continuum) robotic arm with soft grippers
under a wide range of loading conditions, including gravity
(distributed load), a point force (F), rigid joint actuation, and
cable actuation of soft links for gripping. We use the toolbox
to investigate the static equilibrium analysis of the manipula-
tor and demonstrate its ability in modeling systems with mul-
tiple types of links, joints, and forces within the same
framework.
The system consists of 11 links that form open-,
branched-, and closed-chain components, as illustrated in
0.5
0.25
–0.25
–0.5
0
0123
Time (s)
(a)
(b) (c)
Energy (J)
45
0
0.2
0.4
0
–0.1
–0.2
0.2
0.4
–0.3
–0.4
0
–0.1
–0.2
–0.3
–0.4
–0.1
0
Z (m)
–0.1
0.1 0
Z (m)
X (m)
X (m)
t = 0 s t = 0 s
t = 0.75 s
t = 0.75 s
Kinetic Energy
Gravitational Potential Energy
Elastic Potential Energy
Total Energy
Y (m)
Y (m)
Figure 7. The free fall dynamics. (a) The energy change for the
undamped (solid) and damped (dashed) beam. Superimposed
images of (b) the damped case and (c) the undamped case.
Dashed lines denote the tip trajectory.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
11
MONTH 2022
IEEE ROBOTICS & AUTOMATION MAGAZINE
Figure 8(a). The first link is a rigid link that is connected to
the ground via a planar joint, which allows displacement in
the xy-plane and rotation about the z-axis. The second and
third links are rigid links connected using revolute joints,
which rotate about the y- and z-axes, respectively. These three
rigid links are controlled by their joint coordinate values. The
toolbox allows the user to enter values of their joint coordi-
nates as inputs to the simulation, as shown in Figures 8(b)(2)–
(4). Following the third link, there is a passive buffer
consisting of three parallel soft links connected to two rigid
disks at each end, as in Figure 8(c). These soft links are
attached to the base disk via spherical joints and connected to
the end disk via closed-loop fixed joints. The buffer, which
adds to the system’s complexity, is an example of a multi-DoF
joint, parallel link, and closed-loop component, which the
SoRoSim toolbox can model. We assign two divisions for
these soft links, enable all rotational DoF, and assign constant
strain bases. Using appropriate reference strain values, we set
1.2
1
0.8
0.6
0.4
0.2
0.1 0.1
–0.1
–0.1
00
0
1.2
1
0.8
0.6
0.4
0.2
0
00.2 0.4 0.6 0.6 0.4 0.2 0
Z (m)
Z (m)
Y (m) X (m)
1.2
1
0.8
0.6
0.4
0.2
0
00.2 0.4 0.6 0.6 0.4 0.2 0
Z (m)
Y (m) X (m)
1.2
1
0.8
0.6
0.4
0.2
0
00.2 0.4 0.60.6 0.4 0.2 0
Z (m)
Y (m) X (m)
π
4
π
4
π
2
0.5 m
0.5 m
1.2
1
0.8
0.6
0.4
0.2
0
0.2 0.4 0.6 0.8 0.6
0.8 0.4 0.2 0
Z (m)
Y (m)
Y (m)
X (m)
X (m)
1.2
1
0.8
0.6
0.4
0.2
0
0.2 0.4 0.6 0.8 0.6
0.8 0.4 0.2 0
Z (m)
Y (m) X (m)
1.2
1
0.8
0.6
0.4
0.2
0.4 0.6 0.8 11.2 0.6 0.4 0.2 0
Z (m)
Y (m) X (m)
Z (m)
1.05
0.95
0.9
–0.05
0.05
0.1
0
1
–0.05 0.05 0.1
0
X (m)
(a)
Y (m)
(1)
(4) (5) (6)
(2
)(
3)
(c) (b)
(d) (e)
0
–0.1
–0.1
0.1 0.2 –0.2
0
0.2
0
–0.2
–0.3
0
–0.1
–0.1
0.1 0.2 –0.2
0
0.2
0
–0.2
–0.3
0
–0.1
–0.1
0.1 0.2 –0.2
0
0.2
0
–0.2
–0.3
0
–0.1
–0.1
0.1 0.2 –0.2
0
0.2
0
–0.2
–0.3
0
–0.1
–0.1
0.1 0.2 –0.2
0
0.2
0
–0.2
–0.3
0
–0.1
–0.1
0.1 0.2 –0.2
0
0.2
0
–0.2
–0.3
t = 1 s t = 2 s t = 4 s
t = 7 s t = 6 s t = 5 s
F
g
3
2
1
Case 1:
Case 2:
Figure 8. Case 1: (a) the hybrid robotic arm, showing some loads the system is subjected to; (b) the static equilibrium configurations
of the arm at different stages of actuation input; and (c) a close-up view of the manipulator tip, showing the buffer with three parallel
closed-loop soft links and the cable-actuated gripper fingers. The (1) initial position, (2) translation of link 1, (3) rotation of link 2, (4)
rotation of link 3, (5) gripper orientation, and (6) object gripping. Case 2 (contact modeling): (d) the hybrid robot and grip target and
(e) snapshots of the object manipulation procedure.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
12
IEEE ROBOTICS & AUTOMATION MAGAZINE
MONTH 2022
the precurvatures of the soft buffer links. An angle-controlled
rigid disk attached at the end of the buffer assists further ori-
entation of the grippers by rotating about its local x-axis as in
Figure 8(b)(5).
Finally, we have a soft gripper with two fingers that are
cable actuated. The thin sections of the finger act as flexible
links, while the thick sections act as rigid links. We assign a
strain basis with constant bending about the local y-axis to
the thin sections. This design of the gripper, where the cable is
positioned outside the thin soft section, is widely used in the
soft robotic community [13]. This particular mode of actua-
tion, where the actuators go in and out of the system, is an
important class of prototype that SoRoSim is able to simulate.
We compute the static equilibrium configuration of the
system for the actuation inputs given in Figure 8(b). The sys-
tem is subject to gravity and a follower point force. The direc-
tion of the gravity and the point force (F) are included in
Figure 8(a). The value of the point force is 2 N. The corre-
sponding equilibrium configurations are detailed in Figure
8(b)(2)–(5). Figure 8(b)(6) demonstrates the actuation of the
grippers when a cable tension of 2 N is applied. We show a
rod as a reference grip target. There are 39 DoF and seven
actuation inputs for the system. On average, the static equilib-
rium simulations [shown in Figure 7(b)(1)–(6)] take 1.2 s.
This example analyzed a system with passive and actuated
rigid joints controlled by joint coordinate values. The toolbox
can also define joints controlled by joint force and moment
values. The user can also assign stiffness values for rigid
joints. For instance, a prismatic joint with a positive stiffness
value is equivalent to a linear spring.
Case 2: Contact Dynamics
Analysis of mechanical systems involving contact–impact
events is demanding for many real-world applications. Con-
tact dynamics involve determining potential contact points
between colliding bodies, evaluating contact–impact forces,
and establishing the transition between different contact sce-
narios. The implementation of contact mechanics is one of
the most challenging and complex problems in modeling and
computation [23].
Contact between two points involves the application of
equal and opposite normal and tangential forces on each
other. The current SoRoSim toolbox does not have built-in
capability for contact dynamics. However, the user can apply
various kinds of external loads by enabling a property of the
SorosimLinkage class, namely, “Custom External Force
Present,” and then editing a MATLAB function,
“CustomExtForce.m,” to model the external force. Quantities
such as Jacobian J, screw velocity
,h
and transformation
matrices g are passed as inputs into the “CustomExtForce”
function. The user can apply a custom external force as a
function of these quantities.
To demonstrate contact dynamics using SoRoSim, we ana-
lyze a three-fingered gripper system attempting to grip and
manipulate a spherical rigid body [Figure 8(d)]. The system
consists of two rigid links with prismatic joints and three
symmetrically arranged fingers similar to the previous case.
We choose the dimensions of links arbitrarily. The inputs to
the dynamic simulations are the kinematic inputs of the pris-
matic joints (vertical and horizontal translation) and the cable
tension, which actuates the fingers.
We make the following approximations to simplify the
estimation of contact points and the evaluation of contact
forces.
1) The three thick rigid sections of each finger are approxi-
mated as spheres with diameters
()r2i
equal to the section
heights and centered at the center of mass of the links.
2) We neglect the tangential (frictional) component of the
contact forces. The normal force due to nine different con-
tact points (three on each finger) is sufficient to provide a
force closure grasp.
3) We use a linear spring with a linear damper to represent
the normal contact force (f). The contact force acting on
the ith link is given by
()
()
|| ||
f
p
p
Hkb
.
iiiisi
si
$ddd
=+
(6)
where
p
si is the vector from the center of the sphere to the
center of the ith link,
|| ||,prr
is
is
i
d
=+-
rs
is the radius of
the spherical target, k is the contact stiffness constant, b is a
damping constant, and
()Hi
d
is the Heaviside function,
which ensures that the force is applied only if there is contact
().0
i2d
While
f
i acts on the ith link,
f
i
R
acts on the grip
target. Figure 8(e) contains snapshots of the grip manipula-
tion maneuver.
While the gripper in Figure 1(f) is a planar equivalent of
this example, the robots in Figure 1(a), (b), and (e) can be
modeled as rigid–soft hybrid robots with contact dynamics.
This example demonstrates that we can use the SoRoSim
toolbox to analyze robotic systems with collision and contact
events.
Underwater Robotics
Due to their compliant nature, soft robots pose no risk to
underwater habitats or organisms, making them an excellent
choice to employ in underwater exploration. Bacteria-
inspired flagellate propellers could be employed for the loco-
motion of robots underwater. The idea of soft propellers is
based on the observation that an inclined rotation of a soft fil-
ament in a liquid environment generates a helical filament
shape, which produces positive thrust for propulsion. An
advanced version of an underwater robot propelled by four
soft flagellate modules is presented in [14], with experimental
validations of the dynamic simulation. For those simulations,
the authors used custom-made MATLAB codes with con-
stant strain (order 0 strain polynomials) approximations.
Here, using the SoRoSim toolbox, we demonstrate the vari-
able-strain dynamics of a similar system with a propeller con-
sisting of three flagella [Figure 9(a)].
To rotate the filaments in an inclined fashion, we attach
them to the terminals of a rigid body, namely, the hook [the
inset in Figure 9(a)]. All hook terminals have an inclination of
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
13
MONTH 2022
IEEE ROBOTICS & AUTOMATION MAGAZINE
45º with the local x-axis. They are also separated by a rotation
of 120º with respect to one another. The hook is connected to
a motor shaft that provides the required torque. Additional
components, such as motors, electronics, the battery, and bal-
ancing weights, are kept inside the spheroidal shell of the
robot. We create a SorosimLinkage consisting of six links: the
shell, shaft, hook, and three filaments. The shell is modeled as
a rigid link with an adjusted inertia matrix to account for the
internal components and spheroidal (nondefault) shape. Its
joint is a passive prismatic joint that allows translation only
along the x-axis. The shaft is modeled as a cylindrical rigid
link with an angle-controlled revolute joint to simulate the
motor’s input to the propeller. The hook is modeled as a fixed-
joint rigid link with an adjusted inertia matrix to account for
its shape. Finally, we define the three 0.7-m-long soft fila-
ments as fixed-joint soft links with linear angular strains (tor-
sion about the x-axis and bending about the y- and z-axes).
The dimensions and material properties of these components
are arbitrary but inspired by the proposed design in [14].
To simulate the fluid–robot interaction forces described in
Figure 9(a), we need to include the external forces due to the
presence of the fluid (buoyancy, drag, and lift forces) and the
forces due to the volume of fluid moved by the propeller
(added mass), described in [14], that are not part of the
default force inputs during the SorosimLinkage creation.
However, this does not prevent the user from implementing
them using the “CustomExtForce.m” function.
By providing an actuation input of
,t2ir=
we run the
simulation to capture the system’s dynamic response for the
first 5 s. Figure 9(b) presents superimposed images of the
motion of the robot, starting from rest to
..t15s=
In the
inset, we plot the robot’s forward velocity as a function of
time. The combination of actuation and environmental inter-
action leads to the emergence of intelligent helical deforma-
tions of the filaments, which, in turn, cause a thrust that
propels the robot forward. This example emphasizes the use-
fulness of the SoRoSim toolbox in modeling rigid–soft hybrid
underwater robots. The toolbox can model the robots men-
tioned Figure 1(c) and (g) in a similar way.
Design Analysis and Control Applications
In addition to static equilibrium analysis and dynamic simu-
lations, we can use the toolbox for design optimization,
inverse kinematics, and control applications. In this section,
we demonstrate examples of an optimization problem and
two control problems that can be solved using the SoRoSim
package and custom-made MATLAB codes.
Design Optimization
Here, we demonstrate the use of the toolbox in optimizing an
objective function based on the static equilibrium of a single
cable-actuated soft manipulator. We begin by defining a soft
link with two divisions, with a total length of 80 cm and a
radius linearly varying from 4 to 2 cm. We use a Young’s
modulus of 10 MPa and a Poisson’s ratio of 0.5. We enable all
the rotational DoF (torsion about the x-axis and bending
about the y- and z-axes) and approximate the corresponding
strains using a first-order polynomial. No external forces are
taken into account for the static equilibrium. We set up an
optimization problem to find an appropriate cable path and
cable tension, minimizing the error in the manipulator end,
and middle point coordinates with desired positions at static
equilibrium. The objective function is given by
|| || || ||rrrr
midmid en
de
nd
X=-+-
rr
(7)
where
rmid
and
rend
are the equilibrium positions of the mid-
point and the endpoint of the manipulator and
rmid
r
and
rend
r
are the desired mid- and endpoint positions.
We set the desired midpoint
rmid
r
to
(. ,.,.)0350101--
and the desired tip point
rend
r
to
(. ,.,.).0450104--
Since
the cable position is constrained to be inside the soft manipu-
lator, the problem is a bounded optimization problem with an
inequality condition. We parametrize the cable paths y and z
coordinates by using quadratic polynomials. Hence, we need
to optimize seven variables: the coefficients of the quadratic
polynomials defining
y
c and
zc
(the y and z coordinates of
0.5
0.4
0.3
0.2
0.1
0
–0.1
–0.2
–0.3
–0.4
0.4 0.2 –0.2 –0.4
000.2 0.4 0.6
Gravity
Drag
Lift
Drag
Buoyancy
Z (m)
Z (m)
Y (m) X (m)
X (m) Y (m)
0.4
0.2
–0.2
–0.4
0
0.5
–0.5 0.4 0.2
–0.2
0
0
0.6
0.4
0.2
0
02 4
Time (s)
Velocity (m/s)
1.5 s
t = 0 s
(a)
(b)
Figure 9. Underwater robotics. (a) The forces acting on the robot,
with an inset showing the hook geometry. (b) The motion of
the flagellate robot (superimposed images) due to the thrust
generated by the soft propeller, with an inset showing the
robot’s speed versus time. Dotted lines show the tip trajectory of
each soft filament.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
14
IEEE ROBOTICS & AUTOMATION MAGAZINE
MONTH 2022
the cable as a function of X) and the cable tension that is
applied.
We use the MATLAB “patternsearch” algorithm to find
the optimal values of variables at the local minimum of the
objective function. The initial condition is obtained from
., ,yXXzXX00002000
cc
22
=++=
++
and
.T0N=
The “patternsearch” algorithm, with parallel computing
enabled, takes about 1.5 min (93 s) to converge at the optimized
parameters. There are 2,887 objective function evaluations (>30
evaluations per second), including static equilibrium and for-
ward kinematics evaluation to estimate the mid and endpoint
coordinates. The optimal solution is given by
..., ..yX XzXX0024 0003 0010 0015 0012
cc
22
=+-=-
.,0012-
and
..T1125N=
The initial and optimized cable
path is shown in Figure 10(a) and (b). The static equilibrium
state of the manipulator at the optimized parameters is in Fig-
ure 10(c). The manipulator tip position matches perfectly
with the desired tip position. However, there is an error of
about 14% in the midpoint position. The error could be due
to geometric constraints, such as the length and radius of the
manipulator. It may be decreased by testing different initial
values for the optimization.
This example stresses that the user can combine SoRoSim
with well-established MATLAB packages, such as the global
optimization toolbox, to deliver analysis results outside the
package of the SoRoSim toolbox. The user may also define an
optimization problem based on a dynamic simulation to esti-
mate the design parameters of a multibody system that opti-
mizes its dynamic performance.
Inverse Dynamic Control
Finally, we use the toolbox to solve two inverse dynamics con-
trol problems. We begin by creating a soft link that is 1 m
long, consisting of two divisions (0.5 m each). The radius of
the link varies linearly from 2 to 1 cm from the base to the tip
[Figure 11(a)]. The material properties are the same as those
used for the optimization example. For the first division, we
define a linear bending about the y-axis and the z-axis. In the
second section, the same deformation modes are defined
using a constant strain basis. The soft manipulator is actuated
using six linearly independent cables (Table 1).
The velocity of the manipulator tip is given by
,Jq
.
tt
h=
where
t
h
is the tip velocity and
Jt
is the Jacobian at the tip.
Taking a time derivative of the equation and substituting
q
..
from (4), we get the dynamics equation of the manipulator
tip. From this equation, if we solve for the actuator strength, u,
and apply a proportional derivative (PD) controller [24], we
get the following task space control law:
0.1
–0.1
–0.1 0.1 0.2 0.3 0.4
X (m)
Y (m)
0.5 0.6 0.7 0.80
0
0.1
–0.1
–0.1 0.1 0.2 0.3 0.4
X (m)
Z (m)
(a)
0.5 0.6 0.7 0.80
0
0.1
–0.1
–0.1 0.1 0.2 0.3 0.4
X (m)
Y (m)
0.5 0.6 0.7 0.80
0
0.1
–0.1
–0.1 0.1 0.2 0.3 0.4
X (m)
Z (m)
(b)
(c)
0.5 0.6 0.7 0.80
0
yc = 0.02
zc = 0
yc = 0.024X2 + 0.003X – 0.010
zc = 0.015X2 – 0.012X – 0.012
0
–0.5
0
0.25
0.5
–0.1 0.1
0
–0.4
–0.3
–0.2
–0.1
(0.35, –0.1, –0.1)
(0.45, –0.1, –0.4)
T = 112.5 N
Figure 10. The (a) initial and (b) optimized cable paths. (c) The final configuration, where the optimized cable path and tension are
used. Red points indicate the desired points.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
15
MONTH 2022
IEEE ROBOTICS & AUTOMATION MAGAZINE
0.05
–0.05
0
Z (m)
X (m)
X (m)
Z (m)
Z (m)
X (m)
Y (m)
Y (m)
Y (m)
Section 1 Section 2
00.2 0.4 0.6 0.8 10
00.5 1
0.4
0.2
0
–0.2
–0.4
–0.4
–0.2
0
0.2
0.4
Z (m)
X (m)
Y (m)
00.5 1
0.4
0.2
0
–0.2
–0.4
–0.4
–0.2
0
0.2
0.4
16 s
1 s
2 s
4 s
8 s
t = 0 s
16 s
1 s
2 s
4 s
8 s
t = 0 s
50
40
30
20
10
0
–10
3
2
1
–1
–2
–3
0
Cable Tension in NActuator Strength in N
0510 15
0.4
0.2
00510 15
Time (s)
Error
1
0.5
00510
Time (s)
Error
0.4
0.2
0
0510 15
Time (s)
Error
Cable 1
Cable 2
Cable 3
Cable 4
Cable 5
Cable 6
Cable 1
Cable 2
Cable 3
Cable 4
Cable 5
Cable 6
Cable 1
Cable 2
Cable 3
Cable 4
Cable 5
Cable 6
Cable 1
Cable 2
Cable 3
Cable 4
Cable 5
Cable 6
Time (s)
50
40
30
20
10
0
–10
Cable Tension in N
0246810
Time (s)
20
10
001020
Time (s)
Error
50
40
30
20
10
0
–10
Cable Tension in N
0510 15 20 25
Time (s)
0510 15
Time (s)
(b) (c)
–0.5 00.5 1
0
0
0.5
–0.5
–0.5
–1
t = 0 s
t = 10 s
X (m)
Z (m)
Y (m)
–0.5 00.5 1
0
0
0.5
–0.5
–0.5
–1
t = 0 s
t = 25 s
(1)
(1)
(2) (2)
(4) (4)
(3) (3)
(a)
Figure 11. The control of a soft manipulator. (a) The definition of the manipulator with six actuators. (b) The circular trajectory control. (c) The fixed position and orientation control under
gravity. Here, (1) and (2) are the outputs of the closed-loop proportional derivative controller, while (3) and (4) are those of an open-loop input.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
16
IEEE ROBOTICS & AUTOMATION MAGAZINE
MONTH 2022
Kq Q++
[(()
)
]
loguJMB g
JM CDqJq
gKK
...
ttdt tp tt
tt
11
1
hhh=+-+
++-
0
@
--
-
.
rr r
^
^^^
h
hhh
(8)
where
K
p and
Kd
are the proportional and derivative gains,
t
h
.
r is the desired tip acceleration,
t
h
r
is the desired tip velocity,
g
t and
g
t
r
are the actual and desired tip transformation matri-
ces, and log is the logarithmic operator in SE(3). Note that the
proposed control law may not ensure a full state (q and
)q
.
convergence of the manipulator at the steady state for an
underactuated system [24]. Addressing issues of task space-
based controllers is out of this article’s scope. Here, we dem-
onstrate the toolbox’s ability to incorporate the control law.
The user can define a custom actuator strength by
enabling the “Custom Actuator Strength” property of the
SorosimLinkage and by editing the “CustomActuator
Strength.m” file. Quantities such as Jacobian J, derivatives of
Jacobian
,J
.
and generalized mass matrix M are passed as
inputs into the “CustomActuatorStrength” function. The user
can directly use these to compute the actuator strength given
by (8).
Case 1: Tip Pose Trajectory Tracking
Here, we attempt to control the position and orientation of the
manipulator tip based on those of a reference frame moving in
a circular trajectory. The circular trajectory we define has a
radius of 0.22 m, parallel to the yz-plane, and its center is locat-
ed at 0.96 m on the x-axis. Moreover, the reference frame of
the trajectory is at 35.96º with respect to the x-axis. The angu-
lar velocity of the reference frame is set to 3.75 r/min.
We run the dynamic simulation for 16 s, using the actuator
strength computed using (8). Superimposed images of the
dynamic results, corresponding actuator strengths, and
errors (inset) are given in Figure 11(b)(1) and (2). The
dynamics of the system are perfectly cancelled out by the
controller, and the error between the tip and the reference
frames converges to zero in fewer than 4 s. The plot in Figure
11(b)(2) details the process of nullifying the system dynam-
ics at the beginning and the oscillation of the actuator
strength as time elapses. We use the “lsqlin” function of
MATLAB to compute the actuator strength given by (8).
Using this function, we ensure that the cable tension is a pos-
itive value of less than 50 N.
To compare the controller’s performance, we input the
actuator strength corresponding to the quasi-static solution
that matches the position and orientation of the manipulator
tip and the moving frame. The dynamics of the simulation are
available in Figure 11(b)(3) and (4). In this case, the error
decreases initially but continues to oscillate indefinitely due to
the dynamic response of the system.
Case 2: Tip Pose Regulation Under Gravity
For the second control case, we attempt to control the posi-
tion and orientation of the manipulator tip based on a fixed
reference frame under the influence of gravity (external
force). The fixed reference frame is the same as the manipula-
tor tip frame at the static equilibrium when the cable tensions
are 40, 0, 30, 15, 0 , and 0 N, respectively, for each cable.
Using the PD controller given by (8), we get a dynamic
response, as shown in Figure 11(c)(1) and (2). We can see a
steady approach to the desired tip position and orientation,
denoted by the reference frame in the figure. The controller
overcomes the dynamic response due to gravity and the actu-
ation force, and the error is quickly reduced to zero in fewer
than 5 s. Over time, the cable tensions converge to constant
values corresponding to the static equilibrium case. To com-
pare the controller performance, we input cable tensions as
ramp functions that increase to reach the static equilibrium
cable tension values at 5 s. This manual actuator strength
input is unable to quickly cancel the system’s oscillatory
response [Figure 11(c)(3)]. The error is observed to decrease
slowly, allowing the tip to approach the desired position and
orientation.
Discussion and Conclusion
The computational performance of the toolbox depends on
problem parameters, such as the number of links, the DoF of
the system, strain order used, number of Gauss quadrature
points on soft links, number of actuators, values of actuator
strengths, external forces, material, and geometric properties.
Here, we report the simulation speed of the current version of
the SoRoSim toolbox. Table 2 summarizes parameters that
characterize the computational performance of the toolbox.
For each analysis discussed in the “Toolbox Validation” and
“Modeling Applications” sections, the table shows informa-
tion, including the total number of links (N), total DoF
(),Ndof
maximum strain order
[()],O
p order of the Zannah
collocation approximation [Z(O)], and total number of points
at which static or dynamic (4) equations are evaluated
().Neva
For static analyses (highlighted in gray), the seventh column
of the table indicates the total static equilibrium simulations
performed
().Ns
For dynamic simulations, the column shows
the real-time duration (0 to
)tmax
of the dynamics problem.
MATLAB solvers used to solve the static or dynamic equa-
tions are shown in the eighth column. The final column
Table 1. The cable coordinates (d1 = 1.5 cm and
d2 = 1 cm).
Cable
Number
Cable
Length (m) y Coordinate z Coordinate
10.5 d
2
1
1d
2
3
1
20.5
d1
-
0
30.5
()dX
2
1
1
1-
()dX
2
31
1
--
4 1 d20
5 1 d
2
1
2
-d
2
3
2
6 1 d
X
2
1
1
2
2
--
cm
dX
2
312
2-
cm
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
17
MONTH 2022
IEEE ROBOTICS & AUTOMATION MAGAZINE
shows the total simulation runtime
().ts
We used a PC with
the following specifications for these analyses: Intel Core
i7-1065G7 CPU at 1.3 GHz and 1.5 GHz and with 16 GB of
random-access memory. The MATLAB version used for
these analyses is R2021a. The comparison of
tmax
and
ts
indi-
cates that the toolbox performs in real time or faster for most
of the examples presented in this article. This is the result of
the geometrically exact formulation, which requires the few-
est DoF to estimate the state of a robot. Fast (2.5× faster than
real time) computation of actuator strengths could be used for
model-based inverse dynamic control of real-world soft
manipulators. We will implement an implicit time integrator
to speed up the simulation in a future version of the toolbox.
Further code optimization and implementation of parallel
computing can also increase the toolbox performance.
It is important to emphasize that, unlike FEM packages,
the toolbox is suitable only for systems whose soft links can be
modeled as Cosserat rods. Despite this limitation, the geo-
metrically exact approach used in the toolbox makes it a fast
(due to a smaller number of DoFs) and accurate tool for sys-
tems involving large deformations, which is the case for the
majority of soft robotics applications. The toolbox allows the
modeling and analysis of systems with open-, branched-, and
closed-chain and interconnected structures. Additionally, the
toolbox provides the user with plenty of ways to use the out-
put data with existing MATLAB packages and user-written
MATLAB codes.
In summary, this article presented SoRoSim, an intuitive
MATLAB toolbox that uses the GVS approach to provide a
unified framework for the modeling, analysis, and control of
soft, rigid, and hybrid robots. It provides users with a level of
freedom that will enable them to tailor and adjust material
models, external forces, actuation paths, and functions to fit
their applications and intended systems. We validated the
toolbox simulation results by comparing the analysis results
with existing literature and numerical studies. We provided
four examples to highlight the application of the toolbox in
soft robotics. SoRoSim successfully bridges the gap between
soft and traditional robotics modeling and analysis. It is an
ongoing effort and will be under constant improvement in
terms of performance, features, and GUI enhancement. We
hope that the users of SoRoSim find it beneficial and user
friendly, and we look forward to it being widely used in the
research and engineering community.
Acknowledgment
This work was supported, in part, by the U.S. Office of Naval
Research Global, under grant N62909-21-1-2033, and Khalifa
University of Science and Technology, under grants CIRA-
2020-074 and RC1-2018-KUCARS. Anup Teejo Mathew and
Ikhlas Ben Hmida are co-first authors. This article contains
supplementary material available at https://doi.org/10.1109/
MRA.2022.3202488, provided by the authors.
References
[1] C. La sch i, B. Ma zzolai, and M. Cia nchett i, “Soft robotics: Technolo-
gies and systems pushing the boundaries of robot abilities,” Sci. Robot.,
vol. 1, no. 1, p. eaah3690, Dec. 2016 , doi:
10.1126/scirobotics.aah3690
.
[2] C. A rmanini, C. Messer, A. T. Mathew, F. Boyer, C. Duriez, and F.
Renda, “Soft robots modeling: A literature unwinding,2021. [Online].
Available: https://arxiv.org/abs/2112.03645
[3] D. Hol land, S. Berndt, M. Her man, and C. Wals h, “Growing the soft
robotics community through k nowledge-sharing initiatives,” Soft
Robot., vol. 5, no. 2, pp. 119121, Apr. 2 018, doi:
10.1089/soro.2 018.29013.dph
.
[4] M. A. Graule, C. B. Teeple, T. P. McCarthy, R. C. St. Lou is, G. R. Kim,
and R. J. Wood, “SOMO: Fast and accurate simulations of continuum
Table 2. A summary of the toolbox performance.
Example N Ndof
p
(O)Z(O)Neva
Ns (Number)/
tmax (s) Solver
ts
(s)
“Test 1: Fixed–Free Beam With a Follower Tip Force” section 1 5 4 4 16 130 fsolve 5.5
“Test 2: FEM Study of a Fixed–Fixed L-Shaped Beam” section 230 2 4 20 1fsolve 0.5
“Test 3: Dynamics of a Flexible Flying Rod” section 115 2 4 13 7ode45 1
“Test 4: Energy Balance in SoRoSim Dynamics” section 112 3 4 15 5ode15s1.5
“Test 4: Energy Balance in SoRoSim Dynamics” section*112 3 2 15 5ode113 6
“Case 1: Static Equilibrium” section 11 39 0 4 143 5fsolve 6
“Case 2: Contact Dynamics” section 621 0 4 96 9ode15s27
“Underwater Robotics” section 620 1 2 30 5ode113 5
“Design Optimization” section 112 1 4 15 2,887 fsolve,
patternsearch
93
“Case 1: Tip Pose Trajectory Tracking” section 1 6 1 4 15 16 ode15
“Case 2: Tip Pose Regulation Under Gravity” section 1 6 1 4 15 10 ode14
Static simulations are highlighted in gray.
*With undamped (D = 0) dynamics.
With a time step of 0.01 s.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
18
IEEE ROBOTICS & AUTOMATION MAGAZINE
MONTH 2022
robots in complex environments,” in Proc. 2021 IEEE Int. Conf. Intell.
Robots Syst. (IROS), pp. 39343941, doi:
10.1109/IROS51168.2021.9636059
.
[5] F. Faure et al., “SOFA: A multi-model framework for interactive
physical simulation,” in Soft Tissue Biomechanical Modeling for Com-
puter Assisted Surgery, ser. Studies in Mechanobiology, Tissue Engineer-
ing and Biomaterials, vol. 11, Y. Paya n, Ed. Berlin, Germany:
Springer-Verlag, Jun. 2012, pp. 283321. [Online]. Available: https://hal.
inria.fr/hal-00681539
[6] Y. Hu et al., “ChainQueen: A real-time differentiable physical simu-
lator for soft robotics,” in Proc. 2019 Int. Conf. Robot. Automat., pp.
62656271, doi:
10.1109/ICR A.2019.879 4333
.
[7] S. Gra zioso, G. D. Giron imo, and B. Sicili ano, “A geometrically exact
model for soft continuum robots: The finite element deformation
space formulation,” Soft Robot., vol. 6, no. 6, pp. 790811, Dec. 2019, doi:
10.1089/soro.2 018.0047
.
[8] J. Austin, R. Corrales-Fatou, S. Wyetzner, and H. Lipson, “Titan:
A parallel asynchronous library for multi-agent and sof t-body
robotics using NVIDIA CUDA,” in Proc. 2020 Proc. IEEE Int. Conf.
Robot. Automat. (ICRA), pp. 7754776 0, doi:
10.1109/ICR A4094 5.
2020.9196808
.
[9] N. Naughton, J. Su n, A. Tekina lp, T. Parthasarathy, G. Chowdhary,
and M. Gazzol a, “Elastica: A compliant mechanics environment for
soft robotic control,” IEEE Robot. Automat. Lett., vol. 6, no. 2, pp. 3389
3396, Apr. 2021. [Online]. Available: https://ieeexplore.ieee.org/
document /9369003, doi:
10.1109/LR A. 2021.3063698
.
[10] B. A ngles e t al., “Viper: Volume invariant position-based elastic
rods,” Proc. ACM Comput. Graph. Interact. Techn., vol. 2 , no. 2, pp. 1–26,
Jun. 2019, doi:
10.1145/334 02 60
.
[11] S. H. Sadati et al ., “TMTDyn: A Matlab package for modeling a nd
control of hybrid rigid–continuum robots based on discretized
lumped systems and reduced-order models,” Int. J. Robot. Res., vol. 40 ,
no. 1, pp. 296347, Jan. 2021, doi:
10.1177/0278364919881685
.
[12] C. Armanini, I. Hussai n, M. Z. Iqbal, D. Ga n, D. Prattichiz zo, and F.
Renda, “Discrete cosserat approach for closed-chain soft robots: Appli-
cation to the fin-ray finger,” IEEE Trans. Robot., vol. 37, no. 6, pp. 110,
Dec. 2021. [Online]. Available: https://ieeexplore.ieee.org/abstract/
document /94 42856, doi:
10.1109/TRO.2021.3075643
.
[13] I. Hussa in et al., “Modeling and prototyping of an underact uated gripper
exploiting joint compliance and modularity,” IEEE Robot. Automat. Let t.,
vol. 3, no. 4, pp. 28542861, Oct . 2018. [Online]. Available: https://ieeexplore.
ieee.org /abs tract/document /83780 53, doi:
10.1109/LR A. 2018.28 459 06
.
[14] C. Ar manini, M. Fa rman, M. Calist i, F. Giorgio-Serchi, C. Stefani-
ni, and F. Renda, “Flagellate underwater robotics at macroscale: Design,
modeling, and characterization,” IEEE Trans. Robot., vol. 38, no. 2, pp.
731747, Apr. 20 22. [Online]. Available: https://ieeexplore.ieee.org/
document /9486942, doi:
10.1109/TRO.2021.3094051
.
[15] “SOROSIM: A unified framework for soft and rigid robotics simu-
lation, control and optimization.” GitHub. Accessed: Jul. 11, 2021.
[Online]. Available: https://github.com/Ik hlas-Ben-Hmid a/SoRoSim
[16] F. Renda, C. A rmani ni, V. Lebastard, F. Candel ier, and F. Boyer, “A
geometric variable-strain approach for static modeling of soft manipu-
lators with tendon and f luidic actuation,” IEEE Robot. Automat. Lett.,
vol. 5, no. 3, pp. 40064013, Jul. 2020. [Online]. Available: https://ieeexplore.
ieee.org/document/9057619, doi:
10.1109/LRA.2020.2985620
.
[17] F. Boyer, V. Lebastard, F. Ca ndelier, and F. Renda , “Dynamics of
continuum and soft robots: A strain parameterization based
approach,” IEEE Trans. Robot., vol. 37, no. 3, pp. 847863, Jun. 2021, doi:
10.1109/TRO.2020.3036618
.
[18] F. Renda and L. Senevirat ne,A geometric and unified approach for
modeling soft-rigid multi-body systems with lumped and distributed
degrees of freedom,” in Proc. IEEE Int. Conf. Robot. Automat. (ICRA),
May 2018, pp. 15671574, doi:
10.1109/ICR A.2018.8461186
.
[19] F. Boyer and F. Renda, “Poincare’s equations for cosserat media:
Application to shells,” J. Nonlinear Sci., vol. 27, no. 1, pp. 1–44, Feb. 2017,
doi:
10.1007/s00332-016-9324-7
.
[20] J. Sel ig, Geometric Fundamentals of Robotics. New York, NY, USA:
Springer-Verlag, 2007. [Online]. Available: https://link.springer.com/
book/10.1007/b138859
[21] J. C. Simo and L. Vu-Quoc, “A three-dimensional finite-strain rod
model. Part II: Computational aspects,” Comput. Methods Appl.
Mechanics Eng., vol. 58, no. 1, pp. 79116, Oct. 1986, doi:
10.1016/0 04 5-
7825(86)90079-4
.
[22] J. Simo and L. Vu-Quoc, “On the dynamics in space of rods under-
going large motions - A geometrically exact approach,” Comput. Meth-
ods Appl. Mechanics Eng., vol. 66, no. 2, pp. 125161, Feb. 1988, doi:
10.1016/004 5-7825(88)90 073-4
.
[23] P. Flores, “Contact mechanics for dynamical systems: A compre-
hensive review,” Multibody Syst. Dyn., vol. 54, no. 2, pp. 127177, Feb.
2022, doi:
10.1007/s11044-021-0 9803-y
.
[24] C. D. Santina , C. Duriez, and D. Rus, “Model based control of soft
robots: A survey of the state of the art and open challenges,” 2021.
[Online]. Available: https://arxiv.org/abs/2110.01358
Anup Teejo Mathew
, Department of Mechanical Engineering,
Khalifa University of Science and Technology, Abu Dhabi
127788, United Arab Emirates. E-mail: anup.mathew@ku.ac.ae.
Ikhlas Ben Hmida
, Department of Mechanical Engineering,
Khalifa University of Science and Technology, Abu Dhabi
127788, United Araa Emirates. E-mail: ikhlas.benhmida@
ku.ac.ae.
Costanza Armanini
, Department of Mechanical Engineering,
Khalifa University of Science and Technology, Abu Dhabi
127788, United Arab Emirates. E-mail: costanza.armanini@
ku.ac.ae.
Frederic Boyer
, Laboratory of Digital Sciences of Nantes, IMT
Atlantique, Nantes 44307 France. E-mail: frederic.boyer@imt-
atlantique.fr.
Federico Renda
, Department of Mechanical Engineering,
Khalifa University of Science and Technology, Abu Dhabi
127788, United Arab Emirates, and Khalifa University Center
for Autonomous Robotic Systems, Khalifa University, Abu
Dhabi 127788, United Arab Emirates. E-mail: federico.
renda@ku.ac.ae.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
... Additionally, we provide a summary of its extension to include a hybrid multibody system. For a detailed description of the GVS approach, the reader is referred to [35], [36]. ...
... The generalized dynamics is solved using an ODE integrator, while the static equilibrium is obtained by numerical rootfinding methods. To implement and solve the GVS model, we used the MATLAB toolbox SoRoSim [35]. The toolbox allows the creation of soft and rigid links with rigid joints and the assembly of these links to form serial, branched, or closedchain robots. ...
... It uses MATLAB functions, such as ode45 for the time integration and f solve for solving static equilibrium. Readers interested in the validation of the GVS model for static and dynamic scenarios are referred to [35]. ...
Article
Full-text available
Soft robots offer remarkable adaptability and safety advantages over rigid robots, but modeling their complex, nonlinear dynamics remains challenging. Strain-based models have recently emerged as a promising candidate to describe such systems, however, they tend to be high-dimensional and timeconsuming. This paper presents a novel model order reduction approach for soft and hybrid robots by combining strainbased modeling with Proper Orthogonal Decomposition (POD). The method identifies optimal coupled strain basis functions - or mechanical synergies- from simulation data, enabling the description of soft robot configurations with a minimal number of generalized coordinates. The reduced order model (ROM) achieves substantial dimensionality reduction in the configuration space while preserving accuracy. Rigorous testing demonstrates the interpolation and extrapolation capabilities of the ROM for soft manipulators under static and dynamic conditions. The approach is further validated on a snake-like hyper-redundant rigid manipulator and a closed-chain system with soft and rigid components, illustrating its broad applicability. Moreover, the approach is leveraged for shape estimation of a real six-actuator soft manipulator using only two position markers, showcasing its practical utility. Finally, the ROM's dynamic and static behavior is validated experimentally against a parallel hybrid soft-rigid system, highlighting its effectiveness in representing the HighOrder Model (HOM) and the real system. This POD-based ROM offers significant computational speed-ups, paving the way for real-time simulation and control of complex soft and hybrid robots.
... This GVS approach is a generalization of other rigid and soft robots' model, such as constant curvature for continuum robots [8] and joint-based modelling of rigid robots [20]. The GVS-based model proved to be excellent in all cases, both in terms of accuracy and complexity for tendon-driven, fluid-driven and concentric tube soft continuum robots [18], [21], [22]. Benefiting from the variable basis functions of the discrete model, the GVS approach can explicitly develop the geometric Jacobian and actuation matrix of soft robots. ...
... Similar to g i , the geometric Jacobian J i is recursively computed using the approximated form of Magnus expansion. For more comprehensive details, readers may refer to [21], where the static and dynamic analysis of soft-rigid hybrid robots with multidimensional rigid joints is discussed. This reference also includes the derivation of the key equations described in the proposed model. ...
Conference Paper
Full-text available
Rod-driven soft robots (RDSR) with a well-balanced performance in terms of perception, precision, and intelligence have a great potential for application. Mathematical description and predicted sensing of deformable soft bodies are crucial to achieve controllable and intelligent behaviors of these robots. In this work, we propose a kinetostatic model for RDSR embedded with co-located sensors based on the Geometric Variable Strain (GVS) approach where local deformations, actuation lengths and external interactions are included. This approach allows us to estimate the shape of RDSR and predict the strain variation of soft bodies under internal and external interactions. Simulations and experimental results show that tip position errors are not greater than 1.8% with respect to the whole body length under different loads (0, 100, 200, 300 gf). The maximum error of predicted sensor length change is up to 2 mm and its percentage relative to the actual length does not exceed 4%. The results demonstrate the accuracy and effectiveness of the proposed model.
... Over the past few years, several open-source soft robot simulators have been developed within the community, offering subsets of these features. Beam-based simulators, such as SoroSim [4] and Elastica [5], have been used for control tasks but are limited to simulating slender structures. For more general geometries, 3D Finite Element Method (FEM) simulators like SOFA [6] and Sorotoki [7] allow simulating a wide range of material models and actuation types for control and design tasks. ...
Preprint
In recent years, soft robotics simulators have evolved to offer various functionalities, including the simulation of different material types (e.g., elastic, hyper-elastic) and actuation methods (e.g., pneumatic, cable-driven, servomotor). These simulators also provide tools for various tasks, such as calibration, design, and control. However, efficiently and accurately computing derivatives within these simulators remains a challenge, particularly in the presence of physical contact interactions. Incorporating these derivatives can, for instance, significantly improve the convergence speed of control methods like reinforcement learning and trajectory optimization, enable gradient-based techniques for design, or facilitate end-to-end machine-learning approaches for model reduction. This paper addresses these challenges by introducing a unified method for computing the derivatives of mechanical equations within the finite element method framework, including contact interactions modeled as a nonlinear complementarity problem. The proposed approach handles both collision and friction phases, accounts for their nonsmooth dynamics, and leverages the sparsity introduced by mesh-based models. Its effectiveness is demonstrated through several examples of controlling and calibrating soft systems.
... Due to the soft nature of the flexible joints, the finger is prone to noticeable bending under its own weight, especially with the presence of the tactile sensor at the tip. Thus, in order to account for that, we conduct a parametric study to guide our design choices using the MATLAB toolbox SoRoSim [26], [27] which simulates soft, rigid and hybrid systems. In this study, we vary the thickness and height of the soft joints (d t and d h , respectively, in Fig. 3 (4)) while monitoring the tip's out-of-plane deflection due to the finger's weight. ...
Preprint
Full-text available
The presence of post-stroke grasping deficiencies highlights the critical need for the development and implementation of advanced compensatory strategies. This paper introduces a novel system to aid chronic stroke survivors through the development of a soft, vision-based, tactile-enabled extra robotic finger. By incorporating vision-based tactile sensing, the system autonomously adjusts grip force in response to slippage detection. This synergy not only ensures mechanical stability but also enriches tactile feedback, mimicking the dynamics of human-object interactions. At the core of our approach is a transformer-based framework trained on a comprehensive tactile dataset encompassing objects with a wide range of morphological properties, including variations in shape, size, weight, texture, and hardness. Furthermore, we validated the system's robustness in real-world applications, where it successfully manipulated various everyday objects. The promising results highlight the potential of this approach to improve the quality of life for stroke survivors.
... In the context of our study, u a will be negative because tendon-driven actuators are capable only of producing pulling forces. K and D are computed based on Hooke-like linear elastic and viscoelastic constitutive laws, which is a reasonable approximation when the soft material is subjected to material strains that do not exceed 100% (see [28]). For more comprehensive details about the implementation of the different components of (8), readers may refer to [26]. ...
Article
Full-text available
Soft robotic systems pose a significant challenge for traditional modeling, estimation, and control approaches, primarily owing to their inherent complexity and virtually infinite degrees of freedom (DoFs). This work introduces an innovative method for dynamically estimating the states of tendon-actuated soft manipulators. Our technique merges the Geometric Variable-Strain (GVS) approach with a kinematic formula that links the length variation of tendons to the deformations of the manipulator and a nonlinear observer design based on state-dependent Riccati equation (SDRE). In our methodology, the soft links are represented by Cosserat rods, and the robot's geometry is parameterized by the strain field along its length. Consequently, its infinite dimensions can be described by utilizing multiple degrees of freedom, depending on the required precision. This enables us to estimate the states (pose and velocity) of tendon-actuated soft manipulators solely based on tendon displacements and actuator forces. Through simulation, we demonstrate the convergence of our estimation method across various DoFs and actuator numbers, revealing a trade-off between the number of DoFs and required actuators for observing system states. Furthermore, we validate our approach with an experimental prototype of 25 cm in length, achieving an average tip position error during dynamic motion of 1.79 cm-less than 7 %\% of the overall body length.
Article
Simulating soft robots offers a cost-effective approach to exploring their design and control strategies. While current models, such as finite element analysis, are effective in capturing soft robotic dynamics, the field still requires a broadly applicable and efficient numerical simulation method. In this paper, we introduce a discrete differential geometry-based framework for the model-based inverse design of a novel snap-actuated jumping robot. Our findings reveal that the snapping beam actuator exhibits both symmetric and asymmetric dynamic modes, enabling tunable robot trajectories (e.g., horizontal or vertical jumps). Leveraging this bistable beam as a robotic actuator, we propose a physics-data hybrid inverse design strategy to endow the snap-jump robot with a diverse range of jumping capabilities. By utilizing a physical engine to examine the effects of design parameters on jump dynamics, we then use extensive simulation data to establish a data-driven inverse design solution. This approach allows rapid exploration of parameter spaces to achieve targeted jump trajectories, providing a robust foundation for the robot's fabrication. Our methodology offers a powerful framework for advancing the design and control of soft robots through integrated simulation and data-driven techniques.
Article
Full-text available
From a functional standpoint, classic robots are not at all similar to biological systems. If compared with rigid robots, animals’ bodies look overly redundant, imprecise, and weak. Nevertheless, animals can still perform a vast range of activities with unmatched effectiveness. Many studies in biomechanics have pointed to the elastic and compliant nature of the musculoskeletal system as a fundamental ingredient explaining this gap. Thus, to reach performance comparable to nature, elastic elements have been introduced in rigid-bodied robots, leading to articulated soft robotics [1] (see “Summary”). In continuum soft robotics, this concept is brought to an extreme. Here, softness is not concentrated at the joint level but instead distributed across the whole structure. As a result, soft robots (henceforth, omitting the adjective continuum ) are entirely made of continuously deformable elements. This design solution aims to bring robots closer to invertebrate animals and the soft appendices of vertebrate animals (for example, an elephant’s trunk and the tail of a monkey). Several soft robotic hardware platforms have been proposed with increasingly higher reliability and functionalities. In this process, considerable attention has been devoted to the technological side of the problem, leading to a large assortment of hardware solutions. In turn, this abundance opened up the challenge of developing effective control strategies that can manage the soft body and exploit its embodied intelligence.
Article
Full-text available
This work reviews the main techniques to model dynamical systems with contact-impact events. Regularized and non-smooth formulations are considered, wherein the fundamental features associated with each approach are analyzed. A brief description of contact dynamics is presented, and an overview of the state-of-the-art of the main aspects related to the contact dynamics discipline is provided. This paper ends by identifying gaps in the current techniques and prospects for future research in the field of contact mechanics in multibody dynamics.
Article
Full-text available
Prokaryotic flagellum is considered as the only known example of a biological “wheel,” a system capable of converting the action of rotatory actuator into a continuous propulsive force. For this reason, flagella are an interesting case study in soft robotics and they represent an appealing source of inspiration for the design of underwater robots. A great number of flagellum-inspired devices exists, but these are all characterized by a size ranging in the micrometer scale and mostly realized with rigid materials. Here, we present the design and development of a novel generation of macroscale underwater propellers that draw their inspiration from flagellated organisms. Through a simple rotatory actuation and exploiting the capability of the soft material to store energy when interacting with the surrounding fluid, the propellers attain different helical shapes that generate a propulsive thrust. A theoretical model is presented, accurately describing and predicting the kinematic and the propulsive capabilities of the proposed solution. Different experimental trials are presented to validate the accuracy of the model and to investigate the performance of the proposed design. Finally, an underwater robot prototype propelled by four flagellar modules is presented.
Article
Full-text available
The Fin-Ray principle, inspired by the physiology of fish rays, represents the foundation of a large number of robotic devices. However, despite their popularity, there is not any ad-hoc theoretical model technique for the analysis of this family of fingers. This lack is the main motivation of the presented work, which provides the mathematical modeling, analysis, and prototyping of a closed-chain Fin-Ray finger. In this scenario, the contribution of this article is twofold. At one end, we provide a general discrete Cosserat approach for the modeling of closed-chain soft robots which shares the geometrical structure of the rigid robotics counterpart. On the other end, the approach is employed to explore the family of Fin-Ray effect fingers. Finally, an improved design, which is able to conform to contacting surfaces, while maintaining stiffness out of its grasping plane, is fabricated and its performances are compared to those of a previously proposed prototype.
Article
Full-text available
In this article we propose a new dynamic model of Cosserat beams in view of its application to continuum and soft robotics manipulation and locomotion. In contrast to usual approaches, it is based on the non-linear parametrization of the beam shape by its strain fields and their reduction on a functional basis of strain modes. While remaining geometrically exact, the approach provides us with a minimal set of ordinary differential equations in the usual Lagrange matrix form that can be exploited for analysis and control design. Inspired from rigid robotics, the calculation of the matrices of this Lagrangian model is performed with a new reduced inverse Newton-Euler algorithm. To assess the approach, this Lagrangian model is compared against a well validated finite elements method through several benches of non-linear structural statics and dynamics.
Article
Full-text available
We propose a novel variable-strain parametrization for soft manipulators, which discretizes the continuous Cosserat rod model onto a finite set of strain basis functions. This approach generalizes the recently proposed piecewise constant strain method to the case of non-constant strain sections. As for its predecessor, the discrete model is based on the relative pose between consecutive cross-sections and is provided in its minimal matrix form (Lagrangian-like). The novel variable-strain model is applied to the static equilibrium of tendon and/or fluidic actuated soft manipulators. It is shown that, for a specific choice of strain basis, exploiting the actuator geometry, the system is trivialized, providing useful tools for control and actuator routing design. Comparisons with the full continuous Cosserat model demonstrate the feasibility of the approach.
Article
Soft robots are notoriously hard to control. This is partly due to the scarcity of models and simulators able to capture their complex continuum mechanics, resulting in a lack of control methodologies that take full advantage of body compliance. Currently available methods are either too computational demanding or overly simplistic in their physical assumptions, leading to a paucity of available simulation resources for developing such control schemes. To address this, we introduce Elastica, an open-source simulation environment modeling the dynamics of soft, slender rods that can bend, twist, shear, and stretch. We couple Elastica with five state-of-the-art reinforcement learning (RL) algorithms (TRPO, PPO, DDPG, TD3, and SAC). We successfully demonstrate distributed, dynamic control of a soft robotic arm in four scenarios with both large action spaces, where RL learning is difficult, and small action spaces, where the RL actor must learn to interact with its environment. Training converges in 10 million policy evaluations with near real-time evaluation of learned policies.
Article
Physical simulators have been widely used in robot planning and control. Among them, differentiable simulators are particularly favored, as they can be incorporated into gradient-based optimization algorithms that are efficient in solving inverse problems such as optimal control and motion planning. Therefore, rigid body simulators and recently their differentiable variants are studied extensively. Simulating deformable objects is, however, more challenging compared to rigid body dynamics. The underlying physical laws of deformable objects are more complex, and the resulting systems have orders of magnitude more degrees of freedom and there-fore they are significantly more computationally expensive to simulate. Computing gradients with respect to physical design or controller parameters is typically even more computationally challenging. In this paper, we propose a real-time, differentiable hybrid Lagrangian-Eulerian physical simulator for deformable objects, ChainQueen, based on the Moving Least Squares Material Point Method (MLS-MPM). MLS-MPM can simulate deformable objects with collisions and can be seamlessly incorporated into soft robotic systems. We demonstrate that our simulator achieves high precision in both forward simulation and backward gradient computation. We have successfully employed it in a diverse set of inference, control and co-design tasks for soft robotics.