0% found this document useful (0 votes)
12 views

Fons Robosoft2023 2

FONS is an open-source Python framework for simulating fluidic networks of inflatable soft robots. It allows users to model nonlinear interactions between actuators and connections in a network through lumped component models. FONS supports custom and standard component definitions and can incorporate experimental data. The framework is intended to enable in-silico design of soft robots that utilize morphological control through fluidic interactions.

Uploaded by

jose alba
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Fons Robosoft2023 2

FONS is an open-source Python framework for simulating fluidic networks of inflatable soft robots. It allows users to model nonlinear interactions between actuators and connections in a network through lumped component models. FONS supports custom and standard component definitions and can incorporate experimental data. The framework is intended to enable in-silico design of soft robots that utilize morphological control through fluidic interactions.

Uploaded by

jose alba
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/370796111

FONS: a Python framework for simulating nonlinear inflatable actuator


networks

Conference Paper · April 2023


DOI: 10.1109/RoboSoft55895.2023.10122049

CITATIONS READS

0 45

5 authors, including:

Bert Van Raemdonck Edoardo Milana


KU Leuven University of Freiburg
6 PUBLICATIONS 24 CITATIONS 25 PUBLICATIONS 238 CITATIONS

SEE PROFILE SEE PROFILE

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:

EurEyeCase View project

Hi-Micro View project

All content following this page was uploaded by Bert Van Raemdonck on 18 May 2023.

The user has requested enhancement of the downloaded file.


FONS: a Python framework for simulating nonlinear inflatable actuator
networks
Arne Baeyens*, Bert Van Raemdonck*, Edoardo Milana, Dominiek Reynaerts and Benjamin Gorissen

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

inverse ##### Find equilibrium


p1 = interp1(pres, vol V3
design
p2 = p1
v1 = interp1 (volume,
v2 = vtot - v1 time
#### calculate energy d5

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-

volumes over time


bled in a single vector f together with the residual of the net-
work equations Jn xa . Apart from the residual, it also assem-
bles the total derivative Ja of f with respect to xa using the
derivatives provided by all evaluate and update state
equations. Finally, evaluate equations returns f and
Ja to the solver which produces the next iteration of xa .
Since the Simulation object provides a straightforward
interface to the system of equations, any nonlinear equation
solver can be used at the back end. Out of the box, FONS
comes with two Solver objects. One implements time
D
volumes distribution

stepping with a constant time increment. The other adapts the


time increment based on the time derivatives of the variables
and the convergence rate for increased robustness to com-
ponent instabilities. Both Solver objects use the Newton-
Raphson algorithm to solve the system of equations at every
time instant. Because this algorithm is robust against noise
on the provided derivatives, the solver converges even for
unfiltered measurement data containing moderate amounts
of noise. Finally, after running the simulation all time values Fig. 3. FONS simulation results for a system with actuator characteristics
are accessible in the Simulation.times attribute (line encoded in a monotonic (blue), peak-valley (orange) and hysteretic (green)
43) and the values for the variables at those time instants can pressure-volume (PV) curve.
be queried using the Component.get method (line 44). Fig. 3 presents three simulations illustrating the effect of
changing the pressure-volume (PV) characteristic of a single
III. R ESULTS AND DISCUSSIONS actuator, which in FONS can be easily done by pointing to
a different ‘.csv’ file in the actuator instance creation. In
To illustrate the capabilities of FONS, we use it to analyze all three simulations, the flow restrictors have a negligible
some model problems in Figs. 3–5. For all model problems resistance and actuator 2 has a monotonic PV characteristic
we consider a network architecture with a volumetric flow typical for a soft inflatable bending actuator (Fig. 3B). If
source, two actuators and two flow restrictors connecting all actuator 1 has a similar monotonic characteristic (blue), the
components together (architecture in panel A). We subject actuators inflate in a symmetrical sequence determined by
this network architecture to nine different simulations. In their relative compliances [21]. However, if the PV curve of
every simulation, the source pumps fluid into the system at a actuator 1 features a peak and a valley (orange), unstable
constant volumetric flow rate of 1.8 mL/s, then pauses, and exchanges of volume between the actuators occur. Those
finally pumps the fluid out of the system at the same rate. instabilities occur at different points on inflation and defla-
This input causes the internal volume of the two actuators tion, so the symmetry is broken [5]. Finally, the asymmetry
Vact1 and Vact2 to increase and decrease in a certain sequence increases further if actuator 1 becomes hysteretic (green)
(panel C). In the D panels, we visualize this sequence by with different PV curves for inflation and deflation separated
tracing the path in {Vact1 , Vact2 }-space over time for every by snapping events where volume is redistributed within
simulation. If this path encloses an area, the sequence is the actuator itself. Here we refer to [18] for actuators that
asymmetric between inflation and deflation and otherwise have this hysteretic behaviour. Despite the highly dynamic
it is symmetric. Because of the flexibility and robustness snapping events, the each simulation finishes within 0.5 s.
of FONS, swapping out the characteristics of individual Another way to obtain asymmetric sequences is to harness
components with a small amount of code yields a range of the dynamic pressure drop across a flow restrictor. This is
qualitatively different sequencing behaviors that covers the illustrated in Fig. 4 for three systems where the PV curves for
majority of literature on morphological control.
A Tight tube Tesla valve Snapping valve
fluidic circuit

volume of 100 mL. For a compressible fluid like air (blue),


the accumulator is able to instantaneously supply fluid to
a snapping actuator. This allows both actuators to snap
independently from each other. For an incompressible fluid
B like water (orange), however, this is no longer possible and
QP curves
flow Q [mL/s]

the volumes of both actuators are coupled with each other.


Therefore, if a snapping event suddenly increases the volume
in one actuator, the volume in the other actuator decreases by
the same amount [5]. Finally, for a viscous fluid like ethylene
pressure Δp [kPa]
C glycol (green), the viscous damping in the flow restrictors
60
eliminates these fast snaps. It also generates a pressure
40
drop between the actuators that is bigger than the difference
20 in peaks during inflation but smaller than the difference in
volumes over time

0 valleys during deflation. Therefore, the sequence is modified


60
for inflation but not for deflation. These three examples differ
40
by a single line in a FONS simulation, highlighting the ability
20 to quickly explore a multitude of actuation behaviors.
0 Finally, in Fig. 6 we show that the results produced by
60
FONS are also quantitatively accurate. It compares the
40
simulated and experimental behavior of a system with four
20 bending actuators with a nonlinear PV characteristic con-
0 nected through flow restrictors in response to a trapezoidal
0 5 10 15 20 25 30 35 40
D pressure signal generated by a pressure source (Fig. 6A).
Details about the design of and the experimental study on this
volumes distribution

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

tube with 2.5 mm ID (blue), the viscous energy dissipation


in the tube creates a lag between Vact1 and Vact2 , which
was used for sequencing in [11]. Next, we consider a Tesla
valve with the same flow resistance as the circular tube if
the fluid flows from actuator 1 to actuator 2, but a higher
resistance if the fluid flows in the opposite direction (orange)
[22]. This results in the same lag on inflation, but a larger
lag on deflation. A third kind of flow restrictor is a snapping
valve (green) which allows fluid to flow between the two
actuators in bursts on inflation and acts like a tight flow C
volumes distribution

restrictor on deflation, which was used in [13]. In FONS, all


these components are either included in a standard library or
they can be defined easily by building on top of this library.
Fluidic networks also have the unique property that they
function differently depending on what fluid they are filled
with. This is illustrated by three simulations in Fig. 5, where
the peak in the PV curve of actuator 1 is slightly higher
than the peak in actuator 2 and the valley of 1 is much
lower than that of 2. This system also contains tight tubes Fig. 5. FONS simulation results for the same system and components in
as flow restrictors and an accumulator with a fixed internal case it is filled with air (blue), water (orange) or ethylene glycol (green)
[6] L. Hines, K. Petersen, and M. Sitti, “Inflated soft actuators with
reversible stable deformations,” Adv. Mater., vol. 28, no. 19, 2016.
[7] E. Ben-Haim, L. Salem, Y. Or, and A. D. Gat, “Single-input con-
trol of multiple fluid-driven elastic actuators via interaction between
bistability and viscosity,” Soft Robotics, vol. 7, no. 2, 2020.
[8] D. Glozman, N. Hassidov, M. Senesh, and M. Shoham, “A self-
propelled inflatable earthworm-like endoscope actuated by single
supply line,” IEEE Trans. Biomed. Eng., vol. 57, no. 6, 2010.
[9] B. Gorissen, E. Milana, A. Baeyens, E. Broeders, J. Christiaens,
K. Collin, D. Reynaerts, and M. De Volder, “Hardware Sequencing
of Inflatable Nonlinear Actuators for Autonomous Soft Robots,” Adv.
Mater., vol. 31, no. 3, pp. 1–7, 2019.
[10] E. Milana, B. Van Raemdonck, A. S. Casla, M. De Volder, D. Rey-
naerts, and B. Gorissen, “Morphological control of cilia-inspired asym-
metric movements using nonlinear soft inflatable actuators,” Frontiers
in Robotics and AI, vol. 8, 2021.
[11] N. Vasios, A. J. Gross, S. Soifer, J. T. Overvelde, and K. Bertoldi,
“Harnessing Viscous Flow to Simplify the Actuation of Fluidic Soft
Robots,” Soft Robot., vol. 7, no. 1, 2019.
[12] L. Jin, A. E. Forte, and K. Bertoldi, “Mechanical valves for on-board
flow control of inflatable robots,” Adv. Science, vol. 8, no. 21, 2021.
[13] L. C. van Laake, J. de Vries, S. M. Kani, and J. T. Overvelde, “A
fluidic relaxation oscillator for reprogrammable sequential actuation
in soft robots,” Matter, vol. 5, no. 9, pp. 2898–2917, 2022.
[14] A. Vladimirescu, The SPICE book. Wiley New York, 1994.
[15] P. Fritzson and V. Engelson, “Modelica—a unified object-oriented lan-
Fig. 6. (A) Architecture of a pressure-controlled network with four guage for system modeling and simulation,” in European Conference
nonlinear bending actuators. (B) Experimentally measured characteristics on Object-Oriented Programming. Springer, 1998, pp. 67–90.
of the actuators and restrictors. (C) Comparison between experimentally [16] J. B. Dabney and T. L. Harman, Mastering simulink. Pearson/Prentice
measured curvatures [10] and a FONS simulation for the same system. Hall Upper Saddle River, 2004, vol. 230.
[17] B. Mosadegh, P. Polygerinos, C. Keplinger, S. Wennstedt, R. F. Shep-
of the corresponding components in FONS. Moreover, we herd, U. Gupta, J. Shim, K. Bertoldi, C. J. Walsh, and G. M. White-
measure the curvature of each actuator in function of its sides, “Pneumatic networks for soft robotics that actuate rapidly,” Adv.
internal volume. After running FONS, we use these charac- Funct. Mater., vol. 24, no. 15, pp. 2163–2170, 2014.
[18] B. Gorissen, D. Melancon, N. Vasios, M. Torbati, and K. Bertoldi,
teristics to map the change in volume of each actuator to a “Inflat. soft jumper inspired by shell snapping,” Sci.Robot, vol. 5, 2020.
curvature that can be compared to the experimental results [19] A. A. Stanley, A. Amini, C. Glick, N. Usevitch, Y. Mengüç, and
of [10]. Even though FONS does not model the inertia or S. J. Keller, “Lumped-parameter response time models for pneumatic
circuit dynamics,” J. Dyn. Syst. Meas. Contr., vol. 143, no. 5, 2021.
visco-elasticity of the actuators, there is a good agreement [20] S. E. Haaland, “Simple and explicit formulas for the friction factor in
between the simulation and the experiment (Fig. 6C). turbulent pipe flow,” 1983.
[21] T. J. Jones, E. Jambon-Puillet, J. Marthelot, and P.-T. Brun, “Bubble
casting soft robotics,” Nature, vol. 599, no. 7884, 2021.
IV. C ONCLUSIONS [22] S. Zhang, S. Winoto, and H. Low, “Performance simulations of tesla
microfluidic valves,” in Int. Conf. on Integration and Commercializa-
FONS is a python software library available at tion of Micro and Nanosystems, vol. 42657, 2007, pp. 15–19.
https://pypi.org/project/fonsim/. It provides
a suite of tools to easily define lumped fluidic networks with V. FONS EXAMPLE IN LESS THAN 50 LINES OF CODE
nonlinear components and to accurately simulate their fluidic 1 #!/usr/bin/env python3
2 # git hash: 7f50c2c9b9f072169e986547cc1f79a5de746d4d
interactions. The FONS source code follows a transparent 3 import fonsim as fons
4 p0 = fons.pressure_atmospheric
object-oriented framework with a library of standard compo- 5
6 # === Create the components ===
nents that can be extended by the user to incorporate new flu- 7 class Actuator(fons.Component):
8 def __init__(self, label, fluid, pvcurve):
idic components. Moreover, FONS features a straightforward 9 super().__init__(label)
10 p_ = fons.Variable(’pressure’, ’across’, label=’p’, initial_value=p0)
high-level interface with other programs. In combination 11 mf_ = fons.Variable(’massflow’, ’through’, label=’mf’)
12 m_ = fons.Variable(’mass’, ’local’, label=’mass’, initial_value=1e-3)
with robust and fast solving, this allows for integration 13
14 self.set_terminals(fons.Terminal(’a’, [p_, mf_]))
in ever more performant design algorithms. As such, we 15 self.set_states(m_)
16
envision FONS to be not just a source of inspiration in 17 def evaluate(t, p, mass):
18 return [p - pvcurve.fdf_volume(volume=mass/fluid.rho)[0]]
designing novel fluidic systems with morphological control, 19 self.evaluate = self.auto(evaluate)
20
but also a key tool for their inverse design. 21 def update_state(dt, mass, mf):
22 return {’mass’: mass + mf * dt}
23 self.update_state = self.auto_state(update_state)
R EFERENCES 24
25 # === Create the fluidic system ===
26 system = fons.System()
[1] D. Rus and M. T. Tolley, “Design, fabrication and control of soft 27 system += fons.PressureSource(’source’,
28 pressure=lambda t: p0 + (.3e5 if t<.5 else 0))
robots,” Nature, vol. 521, no. 7553, pp. 467–475, may 2015. 29 system += fons.CircularTube(label=’tube’, fluid=fons.water,
[2] R. Pfeifer and J. Bongard, “How the Body Shapes the Way We Think,” 30 length=0.60, diameter=1e-3)
31 system += Actuator(’actu’, fluid=fons.water,
in How Body Shapes W. We Think. The MIT Press, 2006. 32 pvcurve=fons.pvcurve.PVCurve(’actPeakValleyHigh.csv’))
[3] C. A. Aubin, B. Gorissen et al., “Towards enduring autonomous robots 33
34 # Connect the components to each other
via embodied energy,” Nature, vol. 602, no. 7897, 2022. 35 system.connect(’tube’, ’source’)
36 system.connect(’tube’, ’actu’)
[4] B. Gorissen, D. Reynaerts, S. Konishi, K. Yoshida, J.-W. Kim, and 37
M. De Volder, “Elastic Inflatable Actuators for Soft Robotic Applica- 38 # == Simulate the system ==
39 sim = fons.Simulation(system, duration=1.)
tions,” Adv. Mater., p. 1604977, sep 2017. 40 sim.run()
[5] J. T. B. Overvelde, T. Kloek, J. J. a. D’haen, and K. Bertoldi, 41
42 # Put results in local variables (e.g. for visualization later)
“Amplifying the response of soft actuators by harnessing snap-through 43 t = sim.times
instabilities.” PNAS, vol. 112, no. 35, 2015. 44 p_actu = (system.get(’actu’).get(’pressure’) - p0) * 1e-5

View publication stats

You might also like