Fons Robosoft2023 2
Fons Robosoft2023 2
net/publication/370796111
CITATIONS READS
0 45
5 authors, including:
Dominiek Reynaerts
KU Leuven
400 PUBLICATIONS 7,407 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Bert Van Raemdonck on 18 May 2023.
Abstract— Soft robots designed within a conventional robotic increasing peaks and deflate in order of decreasing valleys
framework typically consist of individually addressable compli- [5]–[7]. This mechanism was applied in a self-propelling
ant actuators that are merged together into a deformable body. endoscope [8], a trotting robot [9], and artificial cilia [10].
For inflatable soft robots, this comes at a high cost of tethering
which drastically limits their autonomy and versatility. This Another source of morphological control can be found in the
cost can be decreased by connecting multiple actuators in a fluidic resistances between actuators. This resistance can be
fluidic network and partially offloading control to the passive constant [11] or can change with the direction of the flow
interactions within the network. This type of morphological [12] and with the pressure differential over the component
control necessitates some of the elements in the network to have [13], which can be harnessed to generate locomotion from a
nonlinear characteristics. However a standardized simulation
framework for such networks is lacking. Here, we introduce single pressure input. A persistent trend in these systems is
the open-source python library FONS (Fluidic object-oriented that more rich nonlinearities produce more complex behavior,
network simulator), a tool for simulating fluidic interactions allowing a greater reduction in the control hardware.
in lumped fluidic networks of arbitrary size. It is compatible For all of these systems, designing them in function of a
with both gaseous and liquid fluids and supports analytical, desired behavior requires precise tuning of the component
simulated and measured characteristics for all components.
These components can be defined using a library of standard characteristics. This tuning can be perfected experimentally
components or can be implemented as custom objects following by iteratively prototyping robots with different parameters
a modular object-oriented framework. We show that FONS is (top arrow on Fig. 1), but that approach is often too costly
capable of simulating a multitude of systems with highly non- and time intensive. Another approach is fully in-silico with
linear components exhibiting morphological control. multi-physics simulations featuring turbulent flows, large
deformations and fluid-structure interactions, but such mod-
I. I NTRODUCTION els are not mature enough to be integrated in a design
In traditional robots every degree of freedom is actuated loop. The most practical way to design fluidic systems with
by a dedicated motor, and control software dictates the goal morphological control is through lumped modeling. In this
trajectory in joint space. In soft robotics, it is challenging framework, the robot is discretized into a network of compo-
to reproduce a precise trajectory because every actuator is nents described by few variables. Usually, it is sufficient to
a continuous structure with infinite degrees of freedom with only consider the fluidic interactions between these compo-
only a single controlled input [1]. However, underactuation nents governed by Kirchoff equations in terms of pressures
also enables individual actuators to automatically adapt to the and flows [7], [9]. These variables can be mapped to the
environment in useful ways in a paradigm called morpholog- resulting deformations using component specific mechanical
ical control [2]. On the one hand, many soft robots embrace models, but this does not affect the interaction between the
morphological control on the level of individual components. components. Consequently, a lumped fluidic network model
For example, soft bending actuators can grasp objects of un- is highly modular so simulated and measured characteristics
known shape without sensory feedback. On the other hand, at can be combined to produce accurate and fast simulations of
the system level these robots often still follow the traditional the system over time (bottom arrow on Fig. 1).
architecture where every individual actuator is controlled Nearly all publications on morphologically controlled in-
explicitly. For inflatable soft robots, the weight of a plethora flatable soft robots employ lumped network models to great
of pressure supply tubes and valves, that are necessary in success. However, each of these publications uses a dedicated
this architecture, excessively loads the compliant body of simulator tailored to the specific needs of the analyzed
the robot and is detrimental for the performance [3], [4]. To systems. As an alternative, software packages like spice [14],
overcome these limitations, researchers have implemented modelica [15] and simulink [16] allow to analyze generalized
morphological control on a system level as well, allowing networks, but they do not include domain knowledge on flu-
multiple actuators to be controlled via a single input. idic soft robots. In conclusion, no modeling tool exists with
For systems of inflatable actuators, one source of morpho- all of the following features necessary for the general design
logical control are actuators with peak-and-valley pressure- of nonlinear fluidic networks for morphological control:
volume (PV) curves. When connected to a pressure input, (i) Support for networks of arbitrary size and connectivity.
these actuators inflate in a discrete sequence in the order of (ii) Support for inflatable actuators [5], [11], [17], [18],
interconnections [13], [19], sources and fluids with
* These authors contributed equally to this work. arbitrary properties
All authors are with Department of Mechanical Engineering, KU Leuven, (ii) Straightforward syntax and structure allowing non-
Leuven, Belgium and members of Flanders Make. Edoardo Milana is also
with livMaTs@FIT, University of Freiburg, Freiburg, Germany experts to easily define new components and write
Corresponding author: [email protected] interfaces to other programs.
prototyping
soft robot design with functionality
morphological control
pin
fluidic input computational experimental
analysis analysis
soft robot
lumped FONS: fluidic pressures, volumes,
network model network simulator displacements output =
p1 trotting forward
Fig. 1. Designing soft robots with morphological control. The response of a soft robot to a fluidic input can be characterized experimentally on a prototype
(top) or computationally on a lumped network model (bottom). The latter approach is orders of magnitude faster than the former, which allows for inverse
design of a robot with a certain desired functionality
To bridge this gap, we introduce FONS (Fluidic Object- fundamental Variable objects. These fundamental vari-
oriented Network Simulator), an open-source Python toolbox ables are through variables, which sum up to zero for all
that incorporates all these features. Given the relation terminals connected to a node, and across variables, which
between pressure and flow for each component in a soft are equal for all terminals connected to a node.
robot, it predicts the change of these variables over time, The specialization of this general framework towards flu-
which can be mapped to the deformation of the soft robot. idic networks occurs at the level of the Component object.
Its use is limited to systems that can be clearly separated into At this level, a straightforward definition of component
components that interact with each other through Kirchoff characteristics can be done by using the through and across
equations but do not feature mechanical coupling or spatially variables which for fluidic networks correspond to mass flow
varying flow fields at the interface. However, since this rate and pressure, respectively. Moreover, these characteristic
simplification applies for most soft robots, FONS is a key can be modified based on the Fluid object that is attributed
tool that assists soft robot researchers in designing soft to the component, which is a unique feature of fluidic
robots that use morphological control in the fluidic domain networks. As such different characteristics can be encoded
to generate useful deformation sequences with a minimum based on the characteristic of this fluid object. Finally, FONS
of inputs. In the next section, we describe the internal comes with a library of common fluidic components which
structure of FONS by means of a practical example code. can be used as is, or as building blocks to define new
Afterwards, we present the results of a number of simulations components thanks to the object-oriented implementation.
run on a nonlinear fluidic network with FONS. They show To explain how this works in practice, we analyze an
how the majority of behaviors described in literature on elementary fluidic network consisting of a pressure source
morphological control can be reproduced by changing a (one terminal), a pressure supply tube (two terminals) and an
few lines of code. Lastly we experimentally benchmark the inflatable actuator (one terminal) (see Fig. 2). This network
performance of FONS using a recently published artificial is modeled in FONS using a 44-line script (see section V),
cilia system that exhibits morphological control [10]. which we examine line by line in the following sections.
II. M ETHODS
A. Initialization (lines 1-3)
FONS takes inspiration from general lumped network
simulators to create a specialized tool for soft robots. From FONS can be installed with PIP, the package installer for
these general simulators, FONS takes the network analysis Python, using the command pip install fonsim. To
theory and implements it in a transparent way by having a use it, it has to be imported as is done on line 3 of the script.
separate Python object for every concept found in that theory. pressure pressure
components actuator
This means that, in a top-down perspective, a simulation in source supply tube
FONS is carried out by a Simulation object operating on
a System object. Such a system represents a fluidic network fluidic
and is a collection of Component and Node objects. network
Components can be thought of as physical actuators, valves,
sources, etc. while nodes are an abstract representation of
a location where these objects are connected together. In line number 27-28 29-30 7-23
in code 35-36
FONS, a component thus has a set of Terminal objects
which represent their input/output ports to the external world, Fig. 2. Example of a rudimentary fluidic network that is analyzed using
while a node records which terminals are connected together. FONS. The Python code that is needed to generate this example can be
Finally, on the lowest level, each terminal features a pair of found at the end of this paper, where ’line number in code’ refers to.
B. Component class definition (lines 7-23) the evaluate and update state method, the FONS
solver requires the derivative of the equations with respect
For the purpose of illustration, the example script defines a to the input variables. The user can either provide an exact
simplified version of the Actuator component. In FONS, formula for this derivative manually or use the component
this definition consists of four steps. First, a class is created methods auto (line 19) and auto state (line 23) to
as a child of the generic Component class on lines 7-9. generate a finite difference approximation for the derivatives
This generic class provides an interface to the fluidic system, of evaluate and update state, respectively.
which needs a unique label, and an interface to query the
value of the component variables after simulation (line 44). C. Component instances (lines 26-32)
In the second step, the architecture of the component is Both custom classes and classes from the component
defined by declaring the relevant variables and distributing library are parametrized templates, so they need to be in-
them among terminals. Variables are defined by declaring the stantiated with unique labels and concrete parameters before
physical quantity that they represent (pressure, massflow and they are added to the system (lines 26-32). For the actuator,
mass) and their role within the context of network analysis one such parameter is the PV characteristic defined by data
(lines 10-12). These roles can be as through and across in a csv file. The pressure source (lines 27-28) is a library
variables for the terminals or as additional local variables. component with as parameter a function of the simulation
Local variables can act as notable intermediate quantities in time t that returns a pressure profile in terms of absolute
the component equations (e.g. Reynolds number of flow in a pressure. For the example, this profile is a step function.
tube) or can represent the internal state of a component (e.g. The flow restrictor (lines 29-30) is a library component for a
accumulated fluid mass in the Actuator class). Additional circular tube with a given length and diameter. It implements
arguments in the definition of a variable are a label for ease of the Darcy-Weisbach equation with the friction factor given
use later on and an optional value for initializing the solver. by Poiseuille’s law for laminar flow [9] and by the Haaland
In the example, the pressure is initialized to atmospheric approximation [20] for turbulent flow. Depending on the fluid
pressure (line 4) because FONS deals in absolute pressures. that flows through the tube, these equations have different
The through and across variables are then assigned to the parameters (e.g. viscosity) and forms (e.g. compressible
terminal labeled a (line 14), while the local variables are or incompressible flow). Therefore, many components have
stored directly in the component (line 15). multiple evaluate and update state functions for dif-
The third and fourth step consist of describing the internal ferent types of fluids. The appropriate equations are selected
relations between the defined variables. In general, these by methods of the Component class based on a provided
relations take the shape of a differential-algebraic system Fluid object that contains both physical parameters and
of equations. In FONS, the purely algebraic equations and qualitative aspects (e.g. incompressibility) of a fluid. Stan-
the discretized equivalents of the differential equations in dard fluids like water and air are built into FONS.
this system are implemented in two different functions. All
purely algebraic equations are implemented in a function D. Component interconnections (lines 35-36)
(lines 17-18) assigned to the component evaluate method When a component is added to a system, a Node object
(line 19). This function refers to variables by their labels and is generated for every component terminal. Connections
can access the simulation time through a variable t. Contrary between components are then created by merging differ-
to existing simulators for fluidic networks, all equations are ent Node objects together using the system.connect
expressed in a residual formulation , which supports implicit method. The inputs of this method are the labels of com-
equations and is compatible with common numerical solvers. ponents and optionally also of their terminals. In case no
In the example, the evaluate method of the Actuator terminal labels are provided, FONS selects the first uncon-
class contains a single equation interpolating a measured nected terminal of every component. Consequently, on line
pressure-volume characteristic represented by a dedicated 36 in the example the actuator is automatically connected to
PVCurve class (line 32). Residuals can also be generated the other node of the tube than the pressure source.
by mathematical functions in Python or by external scripts
called from within the evaluate function. Moreover, be- E. Simulation and results (lines 39-44)
cause of the object-oriented framework, a component can The final step in a network analysis with FONS is to
inherit evaluate functions from one or multiple library create a Simulation object on the System instance (line
components. These functions can then be reused or combined 39). The simulation first generates a mapping between all
to easily build advanced components. Variable objects present in the system and two vec-
In the final step, all component relations expressed as or- tors xd and xa . xd contains the values for all variables
dinary differential equations (ode) are discretized and imple- that are updated by the discretized differential equations in
mented in the update state method (lines 21-23). This the update state methods of the components and xa
function returns the values in the next time increment for all contains the values for all other variables that are purely
component variables that were added with the set states algebraic. Internally, these variables are referenced by the
method (line 15). This means that all ode’s have to be states and arguments attributes of the different compo-
structured as a system of explicit first-order ode’s and have to nents, respectively. Next, the simulation constructs a network
be numerically integrated over time step dt. In the example, matrix Jn implementing the network equations. This matrix
line 22 corresponds to the equation dm/dt = mf . For both remains constant throughout the course of the simulation. It
has as many columns as xa has elements. For every Node A
fluidic circuit
object to which N terminals are connected, Jn contains
one row stating that the sum of all N through variables
should equal zero to conserve mass and contains N − 1 rows
equating all N across variables to each other.
When the simulation is started (line 40), xa and xd B
PV curves
are updated iteratively by a Solver object associated
with the simulation. In every iteration, the solver calls
the evaluate equations method of the Simulation
object. This method implements an implicit Euler scheme
by first updating xd and then evaluating the component
equation residuals with the updated variables using the C
update state and evaluate method of every compo-
nent, respectively. The resulting residual vectors are assem-
70
60
system are reported in [10]. For the components used in that
50 study, we experimentally measure the PV characteristics of
40
30
the individual actuators, the pressure-flow curve of a flow
20 restrictor and the input signal generated by the pressure
10
source (Fig. 6B). These characteristics are processed with
0 10 20 30 40 50 60 0 10 20 30 40 50 60 0 10 20 30 40 50 60
a low-pass filter and interpolated in the evaluate-method
A
fluidic circuit
Fig. 4. FONS simulation results for a system where two actuators are
connected by a tight tube (blue), an asymmetric tesla valve (orange) and a
hysteretic snapping valve (green) with different relations between volumetric
flow (Q) and pressure drop (∆p).
actuator 1 and 2 always feature a plateau (as in the monotonic B
system in Fig. 3) that is lower for 1 than for 2 and where
the pressure-flow characteristic of the restrictor is varied. If
the flow restrictor is modelled analytically as a tight circular
volumes over time