Sei sulla pagina 1di 8

Stability Optimization (Rotation Project)

Christian Hafner
December 13, 2017

1 Introduction
In the context of mechanical engineering, loss of stability refers to the inability of a structure to return
to its original configuration on its own. Thus it is usually regarded as a mode of catastrophic failure
because the intended function can no longer be performed. As a consequence, the primary historical goal of
studying stability has been to predict these failure cases and to provide safety margins for applications in
civil engineering in order to avoid them [TG36].
Only recently, due to increased interest in compliant mechanisms and soft materials for the design of
robots, has stability analysis become the focus of research in a different light: Employing controlled loss
of stability as part of the design enables novel ways of how mechanisms can react to inputs like forces and
temperature changes. In the context of soft robotics, this idea has been used to design bistable elements—
functional parts that have two stable equilibria in the absence of force—for the locomotion of a tethered
swimming robot [CBSD17], and for a gripper [FCR15]. A release mechanism for space applications using
compliant, bistable elements has also been proposed [ZTTH16], demonstrating how a variety of materials
shows promise.
Designing a bistable compliant mechanism involves tweaking shape parameter in order to optimize quan-
tities like the force under which the transition from one stable configuration to another takes place. This
task is usually performed by iterating the design process manually and performing numerical simulations in
order to assess the quality of the current iterate.
The report at hand describes a shape optimization approach to help automatize this process. The starting
point is a non-linear finite element formulation capable of detecting points along the equilibrium path of a
structure at which loss of stability occurs, see Sections 2–4. Furthermore, it is discussed how to analytically
determine the sensitivity of such limit points with respect to shape parameters in Sections 5–7. Based on
these shape derivatives, a gradient-based local optimization procedure can be implemented. As a proof of
concept, this was done for a single generic shape parameter and the objective of incurring instability at a
specific, user-supplied load level. Section 8 gives examples of a few bistable mechanism whose limit point
locations were optimized with the method described.

2 Finite Element Method


The implementation follows the course notes by Eftychios Sifakis (see femdefo.org). Notation and definitions:

• Ω0 ⊂ Rd : domain of element in natural coordinates


• Ωe ⊂ Rd : domain of element in physical coordinates
• N : Ω0 → Rn : shape functions of element with n nodes

• X ∈ Rn×d : matrix of physical node coordinates


• xe : Ω0 → Ωe : ξ 7→ X T N (ξ): mapping from natural to physical coordinates
• Ne : Ωe → Rn : x 7→ (N ◦ x−1
e )(x): shape functions in terms of physical coordinates

1
• U ∈ Rn×d : matrix of nodal displacements
• Xe : Ωe → Rd : x 7→ (X + U )T Ne (x): mapping from physical coordinates to coordinates in deformed
configuration
Derivatives:

• dN ∼ JN
• dNe ∼ JN (X T JN )−1
• dXe ∼ (X + U )T JN (X T JN )−1

The Jacobi matrix of Xe , is the discretized version of the deformation gradient F . Derivatives wrt displace-
ments are
∂Fi,j
= δi,n JN (X T JN )−1 m,j .
 
∂Um,n
Define the Green strain tensor E = 12 (F T F − Id ), the strain energy density Ψ, the first Piola-Kirchhoff
∂Ψ ∂Ψ
tensor P = ∂F , and the elastic force p = ∂U . Forces are computed as pm,n = P : ∂U∂F
m,n
. If A ∼ dNe , this
computation can be parallelized in Matlab as
p = sum(kron(A,ones(d,1)) .* repmat(P, n, 1), 2);
The variable p will contain the values p1,1 , . . . , p1,d , p2,1 , . . . , pn,d .
To compute stiffness density in direction Um,n , let δF = ∂U∂F m,n
, δE = 12 (δF T F + F T δF ), and compute
δP . It follows that δp = δP : ∂U∂F
m,n
. Evaluating for all m, n yields all columns of the stiffness density matrix
K.
To compute element-wise quantities from densities g, write
Z Z
g(x) dx = (g ◦ xe )(ξ) det(X T JN ) dξ,
Ωe Ω0

and solve via Gauss quadrature.

3 Arc-Length Method
Given the vector of free displacement dof u, the elastic forces in the given configuration p(u), and a loading
f (λ) = λf ∗ , which is proportional to a control parameter λ, we look for solutions to p(u) − λf ∗ = 0. To
draw a load-displacement curve, we pick aT u. At any point (aT ū, λ̄) on the curve, we find an approximate
normalized tangent vector d = (d1 , d2 ), for example by taking a secant between the last point and the current
point. Now we seek a solution to the problem

p(u) − λf ∗ = 0,
 aT (u − ū)
 
d1 d2 = h.
λ − λ̄

This ensures that the next point on the curve has an approximate distance of h from the point (aT ū, λ̄).
Starting from the point (u0 , λ0 ) = (ū, λ̄), Newton’s method yields iterations
−1 
K(ui ) −f ∗ p(ui ) − λi f ∗
     
ui+1 ui
= − .
λi+1 λi d1 aT d2 d1 aT (ui − ū) + d2 (λi − λ̄) − h

This way, the load-displacement curve is sampled up to a maximal value of aT u or λ.

2
4 Limit Point Detection
Limit points are characterized by local maxima of λ on the load-displacement curve. Therefore the aim is to

minimize L(u, λ, g) = −λ − g T (p(u) − λf ∗ ),

giving the gradient


∂L
= −g T K(u),
∂u
∂L
= −1 + g T f ∗ ,
∂λ
∂L
= −p(u) + λf ∗ .
∂g
Setting the gradient to zero, it turns out that we are looking for a configuration in which K has a zero-
eigenvalue with eigenvector g such that Kg = 0, which is normalized by 1 = g T f ∗ .
The following steps are performed iteratively to update ui , λi , and gi :
1. Find eigenvector gi+1 corresponding to the lowest-magnitude eigenvalue of K, and normalize by 1 =
T
gi+1 f ∗.
2. Compute vi+1 = aT (ui + αKgi+1 ).
3. Run a few iterations of arc-length optimization (in practice, 2 iterations are enough), using the
boundary condition aT u = vi+1 instead of the arc-length constraint. This is the same as setting
(d1 , d2 ) = (1, 0), ū = 0, and h = vi+1 . Use the result of this simulation as ui+1 and λi+1 .
The dampening parameter α is set once at the very beginning. Let u0 , u1 be the displacements of the
two adjacent samples on the displacement curve with smallest-magnitude eigenvalues µ0 > 0 and µ1 < 0,
i.e., the limit point lies in between the two samples. Then
aT (u1 − u0 )

µ0
α= · .
(µ0 − µ1 ) aT Kg0
This value is chosen such that the algorithm would converge to a configuration with zero-eigenvalue in a
single iteration if the smallest-magnitude eigenvalue was linear in aT u.
Effectively, the algorithm updates only the displacement dof aT u according to gradient descent with
step size α. The remaining displacement dof and the load control parameter λ are updated by the arc-
length method, and by fixing the already updated dof aT u. The Lagrange multiplier g is recomputed as the
eigenvector corresponding to the smallest-magnitude eigenvalue.

5 Shape Derivatives
∂F
All derivatives in this section are partial wrt X, e.g., δF = ∂X : δX.
First variation of F:

δF = δX T JN (X T JN )−1 − (X + U )T JN (X T JN )−1 δX T JN (X T JN )−1 =


= (Id − F ) δX T JN (X T JN )−1 .

Energy derivative: δΨ = P : δF .
For force derivatives, we need
∂Fi,j
= −δi,n JN (X T JN )−1 δX T JN (X T JN )−1 m,j .
 
δ
∂Um,n
Then the force derivatives are
∂F ∂F
δpm,n = δP : +P :δ .
∂Um,n ∂Um,n

3
To perform integration, write
Z Z
T
δf (ξ) det(X T JN ) + f (ξ)tr(adj(X T JN ) δX T JN ) dξ.

δ f (ξ) det(X JN )dξ =
Ω0 Ω0

6 Constitutive Model
The strain energy density, PK1 tensor, and first displacement variation of the PK1 tensor are given by
µ  λ
Ψ= tr(F T F ) − log det(F T F ) − 3 + log2 det(F T F ),
2 8
λ
P = µ F − F −T + log det2 F F −T ,
 
2
δu P = µ δu F + (µ − λ log det F )F −T δu F T F −T + λtr F −1 δu F F −T .


For the shape derivative of the stiffness, we require the shape derivative of δP . Let G denote the displacement
variation (formerly δu F ), and δF and δG the shape variations. Then

δx δu P = µδG − λtr(F −1 δF )F −T GT F −T
+ (µ − λ log det F ) −F −T δF T F −T GT F −T + F −T δGT F −T − F −T GT F −T δF T F −T


+ λ tr(−F −1 δF F −1 G + F −1 δG)F −T − tr(F −1 G)F −T δF T F −T .




7 Limit Point Optimization


Assuming that p depends additionally on a shape parameter x, the necessary conditions for a limit point
can be linearized as
∂(Kg) ∂(Kg)
du + dx + Kdg = 0,
∂u ∂x
f ∗T dg = 0,
∂p
Kdu + dx − f ∗ dλ = 0,
∂x
or
−f ∗ ∂p 
   
0 K dg − ∂x
−f ∗T 0 0  dλ =  0  dx.
∂(Kg)
K 0 ∂u
du − ∂(Kg)
∂x

The stiffness matrix K has a rank deficiency of one at the limit point, with Kg = 0. Therefore a system
Kz = b has a line of solutions {z ∗ + cg : c ∈ R}, where z ∗ is any particular solution. We find the equality

du = z1 dx + z2 dλ + cg,
∂p
where z1 , z2 are particular solutions satisfying Kz1 = − ∂x and Kz2 = f ∗ . This reduces the number of
unknowns by replacing du with a single unknown c.

8 Examples
Swimmer Example. Fig. 1 shows an example inspired by the work on a swimming soft robot using a
bistable element by Chen et al. [CBSD17]. A slightly simplified version of their bistable element was recreated
and simulated in the finite-element framework described. The mechanism is shown in three configurations:
(1) the initial, unstressed configuration, (2) the limit point, at which loss of stability occurs, and (3) another
configuration that is stable under a force approximately equal to that of the limit point. For configurations
(1) and (3), corresponding images from the original work [CBSD17] are given. Additional, the figure shows

4
(3)
(2)

(1)

(1) (2) (3)

Figure 1: Recreated swimmer example. Images top-left and top-right courtesy of Chen et al. [CBSD17].

the load-displacement curve of a horizontal load that is applied near the symmetry boundary condition,
against the horizontal displacement at the same location.
To test the shape optimization procedure, a shape parameter controlling the thickness of the beam at the
bottom of the structure is added to the system. Gradient-based optimization with the objective of moving
the limit point vertically to a different load level is then performed, for load control target values of 0.03, 0.04,
and 0.055. After each change to the shape parameters, the location of the limit point needs to be updated,
and this is done via a second-order limit point search that starts from the linear approximation obtained
by computing the shape derivative. In order for this procedure to converge, there is an upper bound on the
step size. Once this bound is no longer the limiting factor in the shape optimization, quadratic convergence
occurs.

Arc Example. Figs. 3 and 4 show the same plots for a different example: a U-shaped arc that buckles
under a vertical load. As shape parameter, the thickness of the vertical portion of the arc is chosen.
The initial load-displacement curve is similar to that of the bistable swimmer element, but during shape
optimization, the displacement coordinate of the limit point changes noticeably—the instability occurs at
lower arc depressions as the vertical beam becomes thinner. At the thickness correspond to the lowest
load control value of 0.032, the load-displacement curve changes qualitatively, and a snap-through point
(vertical tangent) appears. The arc-length method can traverse these points, however, there is currently no
snap-through detection in the implementation.

5
0.05

λ=0.055
0.04

0.03
Load λ

0.02

λ=0.04
0.01

-0.01
λ=0.03
0 0.5 1 1.5 2 2.5
Displacement

Figure 2: Load-displacement curves of the swimmer example after shape optimization with different load
levels at the limit point.

(1) (2)

0.06

(3)
0.05 (2)
0.04

0.03
Load

0.02

0.01 (3)
0
(1)
-0.01
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
Displacement

Figure 3: A high arc buckles under vertical loading.

6
0.06

0.05

0.04

0.03
Load

0.02

0.01

-0.01
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
Displacement

λ=0.032 λ=0.037 λ=0.044 (initial) λ=0.055


Figure 4: Load-displacement curves of the arc example after shape optimization with different load levels at
the limit point.

7
9 Conclusion
This report describes a non-linear finite element method for the computation of limit points of a structure,
and provides an analytical expression for the shape derivatives of limit points. The result is used to implement
a gradient-based shape optimization procedure that moves the critical load level at which instability occurs
to a user-supplied value.
This method was successfully applied to a few numerical examples, which raises hopes that it can be
extended to multi-objective problems, as they might occur in the design of real-world mechanisms. Such
objectives will include the concurrent optimization of at least two limit points, to make the secondary config-
uration stable under zero load; the optimization of specific load-displacement points which the equilibrium
path must cross, to enforce desired deformations under given loads; the introduction of constraints on the
shape parameters, for example to obey fabrication constraints. These extensions will make the procedure
useful in practice, and will be addressed in future work.
The results in this text have not yet been validated by physical experiments, such as force measurements
to determine limit points experimentally. Therefore, the robustness of numerical limit point predictions with
respect to inaccuracies in the material parameters, fabrication tolerances, and discretization errors remains
unknown at this point.

References
[CBSD17] Tian Chen, Osama R. Bilal, Kristina Shea, and Chiara Daraio. Harnessing bistability for direc-
tional propulsion of untethered, soft robots. CoRR, abs/1710.04723, 2017.
[FCR15] M Follador, A T Conn, and J Rossiter. Bistable minimum energy structures (bimes) for binary
robotics. Smart Materials and Structures, 24(6):065037, 2015.

[TG36] S.P. Timoshenko and J.M. Gere. Theory of Elastic Stability. McGraw-Hill, 1936.
[ZTTH16] Shannon A. Zirbel, Kyler A. Tolman, Brian P. Trease, and Larry L. Howell. Bistable mechanisms
for space applications. PLOS ONE, 11(12):1–18, 12 2016.

Potrebbero piacerti anche