A Practical Guide to Tensegrity Design

Table of Contents

7.1 Force Analysis: Introduction

7.2 Endogenous Member Forces

7.2.1 Endogenous Force Analysis: Method

The analysis of endogenous forces falls in large measure out of the mathematical programming procedures which were used to design the structure. This is due to the fact that the distribution of forces in the structure can be viewed as the solution to an extremal problem very similar to the one which is solved to design the structure. In this new problem, potential energy is being minimized instead of tendon lengths. For members appearing as constraints, the relative force the member is subject to is obtained merely by differentiating the objective function with respect to the constraint value and multiplying the result by minus the member length (the second root of the constraint value). For members appearing in the objective function, the relative force is just the member length multiplied by its weight in the objective function. These results can be scaled up or down according to how hard the structure is to be tensioned.

The analysis of endogenous forces, also called prestress forces, assumes the structure is floating in space and not subject to external loads. The analysis comes back to Earth when the response of members to external loads is examined in Section 7.3.

7.2.2 Endogenous Force Analysis: A Justification for the Method

The Principle of Minimum Potential Energy says that any
system in stable equilibrium is at a local minimum in its
potential energy.
Theodore Tauchert^{3}
gives the following formal statement of this principle:

Of all displacement fields which satisfy the prescribed constraint conditions, the correct state is that which makes the total potential energy of the structure a minimum.

In a tensegrity system, the potential energy is the energy bound
up in the tendons and struts. When a member changes length, its
potential energy changes according to how much work is done on
it:^{4}

$d{e}_{{i}_{m}}={f}_{{i}_{m}}d{l}_{{i}_{m}}$

where
$d{e}_{{i}_{m}}$
is the change in potential energy of the
${i}_{m}\text{th}$
member,
${f}_{{i}_{m}}$
is the signed magnitude of the force on the member and
$d{l}_{{i}_{m}}$ is the change in
length of the member. The usual convention that
${f}_{{i}_{m}}$ is
negative when the force is compressive and positive when the
force is tensile applies here. If the system is in equilibrium, a small
feasible^{5}
change in the lengths of all the members should
result in a zero change in the aggregate potential energy of the
system since that potential energy must be at a
minimum.^{6}
The condition for zero aggregate energy change can be summarized as:

$0=d{e}_{1}+d{e}_{2}+\mathrm{\cdot \cdot \cdot}+d{e}_{{n}_{m}}$

where, as in Chapter 3, ${n}_{m}$ is the number of members.

Using the other formula, this can be rewritten as:

$0={f}_{1}d{l}_{1}+{f}_{2}d{l}_{2}+\mathrm{\cdot \cdot \cdot}+{f}_{{n}_{m}}d{l}_{{n}_{m}}$

How does this relate to the mathematical
programming problem of Chapter 3?
Since members 1 through
${n}_{o}$
appear in the objective function and members
${n}_{o}+1$
through ${n}_{m}$ appear
as constraints, and using
$\frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{i}_{\stackrel{~}{o}}}^{2}\right)}$
to denote the amount the objective function
changes in response to a change in the **second power** of the length of the
${i}_{\stackrel{~}{o}}\text{th}$
constrained member, it must be that
the response of the objective function to an arbitrary
change in the lengths of the constrained members is:

$do=\frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{n}_{o}+1}^{2}\right)}d\left({\stackrel{\u203e}{l}}_{{n}_{o}+1}^{2}\right)+\mathrm{\cdot \cdot \cdot}+\frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{n}_{m}}^{2}\right)}d\left({\stackrel{\u203e}{l}}_{{n}_{m}}^{2}\right)$
$\phantom{do}=2\frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{n}_{o}+1}^{2}\right)}{\stackrel{\u203e}{l}}_{{n}_{o}+1}d{\stackrel{\u203e}{l}}_{{n}_{o}+1}+\mathrm{\cdot \cdot \cdot}+2\frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{n}_{m}}^{2}\right)}{\stackrel{\u203e}{l}}_{{n}_{m}}d\left({\stackrel{\u203e}{l}}_{{n}_{m}}\right)$ |

The formula for $o$ says, for the objective members, it is also true that:

$do={\stackrel{\u203e}{w}}_{1}d\left({l}_{1}^{*2}\right)+{\stackrel{\u203e}{w}}_{2}d\left({l}_{2}^{*2}\right)+\mathrm{\cdot \cdot \cdot}+{\stackrel{\u203e}{w}}_{{n}_{o}}d\left({l}_{{n}_{o}}^{*2}\right)$

which reduces to:

$do=2{\stackrel{\u203e}{w}}_{1}{l}_{1}^{*}d{l}_{1}^{*}+2{\stackrel{\u203e}{w}}_{2}{l}_{2}^{*}d{l}_{2}^{*}+\mathrm{\cdot \cdot \cdot}+2{\stackrel{\u203e}{w}}_{{n}_{o}}{l}_{{n}_{o}}^{*}d{l}_{{n}_{o}}^{*}$

where
${l}_{{i}_{o}}^{*}$
is the **minimizing** length of the
${i}_{o}\text{th}$
unconstrained member.

If all the constraints are changed by an arbitrary amount, then it must be true that:

$2{\stackrel{\u203e}{w}}_{1}{l}_{1}^{*}d{l}_{1}^{*}+\mathrm{\cdot \cdot \cdot}+2{\stackrel{\u203e}{w}}_{{n}_{o}}{l}_{{n}_{o}}^{*}d{l}_{{n}_{o}}^{*}=2\frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{n}_{o}+1}^{2}\right)}{\stackrel{\u203e}{l}}_{{n}_{o}+1}d{\stackrel{\u203e}{l}}_{{n}_{o}+1}+\mathrm{\cdot \cdot \cdot}+2\frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{n}_{m}}^{2}\right)}{\stackrel{\u203e}{l}}_{{n}_{m}}d{\stackrel{\u203e}{l}}_{{n}_{m}}$

or (using the fact that the constraints are met with equality, canceling the common factor of two and collecting terms):

$0={\stackrel{\u203e}{w}}_{1}{l}_{1}^{*}d{l}_{1}^{*}+\mathrm{\cdot \cdot \cdot}+{\stackrel{\u203e}{w}}_{{n}_{o}}{l}_{{n}_{o}}^{*}d{l}_{{n}_{o}}^{*}+-\frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{n}_{o}+1}^{2}\right)}{l}_{{n}_{o}+1}d{l}_{{n}_{o}+1}+\mathrm{\cdot \cdot \cdot}+-\frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{n}_{m}}^{2}\right)}{l}_{{n}_{m}}d{l}_{{n}_{m}}$

The similarity of this formula to the formula for potential energy minimization indicates a conclusion is almost at hand. The only complication is that in this latter formula, although the changes in the lengths of the constrained members may be considered arbitrary, the changes in the lengths of members included in the objective function must be regarded as changes in the minimizing tendon lengths and are not arbitrary feasible changes. This complication can be disposed of by noticing that it is assumed feasible displacements from a minimizing solution are being examined. Since the objective function is at a minimum, any feasible displacement of the objective members' lengths away from their minimizing values will have no effect on the objective function value.

Thus, a feasible displacement of the member lengths is broken into two parts. First, the lengths of the constrained members are displaced. That displacement will result in a corresponding minimizing displacement of the unconstrained member lengths such that the equation just set forth is satisfied. Then an additional displacement is added to the lengths of the unconstrained members so that the total displacement is equal to the initial arbitrary feasible displacement. The additional effect of this displacement on the objective function value must be zero since it is a feasible displacement from a minimum with no change in the constraints. Therefore, the change in the objective function resulting from the arbitrary displacement is the same as the result obtained when the unconstrained members change in a minimizing manner.

So it is verified that for an feasible arbitrary deviation from a minimizing solution:

${\stackrel{\u203e}{w}}_{1}{l}_{1}d{l}_{1}+\mathrm{\cdot \cdot \cdot}+{\stackrel{\u203e}{w}}_{{n}_{o}}{l}_{{n}_{o}}d{l}_{{n}_{o}}={\stackrel{\u203e}{w}}_{1}{l}_{1}^{*}d{l}_{1}^{*}+\mathrm{\cdot \cdot \cdot}+{\stackrel{\u203e}{w}}_{{n}_{o}}{l}_{{n}_{o}}^{*}d{l}_{{n}_{o}}^{*}$

Thus:

$0={\stackrel{\u203e}{w}}_{1}{l}_{1}d{l}_{1}+\mathrm{\cdot \cdot \cdot}+{\stackrel{\u203e}{w}}_{{n}_{o}}{l}_{{n}_{o}}d{l}_{{n}_{o}}+-\frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{n}_{o}+1}^{2}\right)}{l}_{{n}_{o}+1}d{l}_{{n}_{o}+1}+\mathrm{\cdot \cdot \cdot}+-\frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{n}_{m}}^{2}\right)}{l}_{{n}_{m}}d{l}_{{n}_{m}}$

So, if

${f}_{1}=\lambda {\stackrel{\u203e}{w}}_{1}{l}_{1}$

$\mathrm{\cdot \cdot \cdot}$

${f}_{{n}_{o}}=\lambda {\stackrel{\u203e}{w}}_{{n}_{o}}{l}_{{n}_{o}}$

${f}_{{n}_{o}+1}=-\lambda \frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{n}_{o}+1}^{2}\right)}{l}_{{n}_{o}+1}$

$\mathrm{\cdot \cdot \cdot}$

${f}_{{n}_{m}}=-\lambda \frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{n}_{m}}^{2}\right)}{l}_{{n}_{m}}$

where $\lambda $ is some positive constant, the system will be in stable equilibrium. These are precisely the formulas described in Section 7.2.1. Notice that since for a strut $\frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{i}_{\stackrel{~}{o}}}^{2}\right)}$ is positive, ${f}_{{i}_{\stackrel{~}{o}}}$ will be negative, a compressive force. And since $\frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{i}_{\stackrel{~}{o}}}^{2}\right)}$ is negative for a tendon, ${f}_{{i}_{\stackrel{~}{o}}}$ is positive, a tensile force.

This manner of computing the member forces is very convenient since it derives from the method for computing member lengths. These force computations can be used to check proposed solutions of the mathematical programming problem which characterizes a given tensegrity. If tendons are not in tension, or struts are not in compression, the solution is not valid. This would happen when some constraints which have been assumed to hold with equality are actually not effective. In more complex structures, such a check is almost obligatory since some adjustments may need to be made for a valid solution to be attained. Thus, the processes of length computation and endogenous force computation are highly interdependent.

7.2.3 Endogenous Force Analysis: Another Justification for the Method

Another justification for the method can be found by correlating the following two facts:

- A solution to the member-force problem must necessarily exhibit an equilibrium of forces for any particular coordinate value.
- The necessary first-order conditions for a solution to the tensegrity optimization problem require a set of terms to sum to zero.

Correlating these two facts will provide a solution to the member-force problem which also generalizes to non-member constraints like those pertaining to vectors.

The necessary equilibrium of forces in all coordinate directions for a solution to the member-force problem is an implication of Newton's second law of motion: if a body is to be at rest, the net sum of forces on that body must be zero. For a tensegrity, this means that, for a given hub to be at rest, the forces due to all the members and point constraints that impact that hub must sum to zero in all the three coordinate directions for the basic point corresponding to that hub.

The necessary first-order conditions for a solution to the tensegrity optimization problem can be obtained using the method of Lagrange which is used in Section 2.3. In contrast with that section, here the method of Lagrange is not useful for reaching a solution; but once a solution is obtained, it is useful in interpreting and applying it. For the general tensegrity programming problem, the adjoined objective function appears as:

${\stackrel{\u203e}{w}}_{1}{l}_{1}^{2}+\cdot \cdot \cdot +{\stackrel{\u203e}{w}}_{{n}_{o}}{l}_{{n}_{o}}^{2}+$

${\mu}_{{n}_{o}+1}\left({\stackrel{\u203e}{l}}_{{n}_{o}+1}^{2}-{l}_{{n}_{o}+1}^{2}\right)+\cdot \cdot \cdot +{\mu}_{{n}_{m}}\left({\stackrel{\u203e}{l}}_{{n}_{m}}^{2}-{l}_{{n}_{m}}^{2}\right)+$

${\sigma}_{1}\left({\stackrel{\u203e}{s}}_{1}-{s}_{1}\left(\cdot \cdot \cdot \right)\right)+\cdot \cdot \cdot +{\sigma}_{{n}_{s}}\left({\stackrel{\u203e}{s}}_{{n}_{s}}-{s}_{{n}_{s}}\left(\cdot \cdot \cdot \right)\right)+$

${\delta}_{1}\left({\stackrel{\u203e}{d}}_{1}-\left({\stackrel{\u203e}{W}}_{1}\cdot {P}_{{d}_{1}}\right)\right)+\cdot \cdot \cdot +{\delta}_{{n}_{d}}\left({\stackrel{\u203e}{d}}_{{n}_{d}}-\left({\stackrel{\u203e}{W}}_{{n}_{d}}\cdot {P}_{{d}_{{n}_{d}}}\right)\right)+$

${\gamma}_{1}\left({\stackrel{\u203e}{c}}_{1}-{c}_{1}\left(\cdot \cdot \cdot \right)\right)+\cdot \cdot \cdot +{\gamma}_{{n}_{c}}\left({\stackrel{\u203e}{c}}_{{n}_{c}}-{c}_{{n}_{c}}\left(\cdot \cdot \cdot \right)\right)$

where
${\mu}_{{i}_{\stackrel{~}{o}}}$,
${\sigma}_{{i}_{c}}$,
${\delta}_{{i}_{s}}$ and
${\gamma}_{{i}_{d}}$
are the Lagrange multipliers for the member, symmetry, point
and vector constraints respectively.
Using a result from advanced
calculus^{7}
which states that the
value of the Lagrange multiplier at a solution point is just the derivative
of the objective function value with respect to the constraint
parameter, the adjoined objective function can be rewritten as:

${\stackrel{\u203e}{w}}_{1}{l}_{1}^{2}+\cdot \cdot \cdot +{\stackrel{\u203e}{w}}_{{n}_{o}}{l}_{{n}_{o}}^{2}+$

$\frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{n}_{o}+1}^{2}\right)}\left({\stackrel{\u203e}{l}}_{{n}_{o}+1}^{2}-{l}_{{n}_{o}+1}^{2}\right)+\cdot \cdot \cdot +\frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{n}_{m}}^{2}\right)}\left({\stackrel{\u203e}{l}}_{{n}_{m}}^{2}-{l}_{{n}_{m}}^{2}\right)+$

$\frac{\partial o}{\partial {\stackrel{\u203e}{s}}_{1}}\left({\stackrel{\u203e}{s}}_{1}-{s}_{1}\left(\cdot \cdot \cdot \right)\right)+\cdot \cdot \cdot +\frac{\partial o}{\partial {\stackrel{\u203e}{s}}_{{n}_{s}}}\left({\stackrel{\u203e}{s}}_{{n}_{s}}-{s}_{{n}_{s}}\left(\cdot \cdot \cdot \right)\right)+$

$\frac{\partial o}{\partial {\stackrel{\u203e}{d}}_{1}}\left({\stackrel{\u203e}{d}}_{1}-\left({\stackrel{\u203e}{W}}_{1}\cdot {P}_{{d}_{1}}\right)\right)+\cdot \cdot \cdot +\frac{\partial o}{\partial {\stackrel{\u203e}{d}}_{{n}_{d}}}\left({\stackrel{\u203e}{d}}_{{n}_{d}}-\left({\stackrel{\u203e}{W}}_{{n}_{d}}\cdot {P}_{{d}_{{n}_{d}}}\right)\right)+$

$\frac{\partial o}{\partial {\stackrel{\u203e}{c}}_{1}}\left({\stackrel{\u203e}{c}}_{1}-{c}_{1}\left(\cdot \cdot \cdot \right)\right)+\cdot \cdot \cdot +\frac{\partial o}{\partial {\stackrel{\u203e}{c}}_{{n}_{c}}}\left({\stackrel{\u203e}{c}}_{{n}_{c}}-{c}_{{n}_{c}}\left(\cdot \cdot \cdot \right)\right)$

The necessary first-order conditions require that the derivative of this equation with respect to any coordinate value be zero. So, if $-\frac{\lambda}{2}$ times the derivative of a term in the adjoined objective function with respect to a coordinate value is used as the force corresponding to that coordinate direction for the object the term corresponds to, those force values for that particular coordinate value will sum to zero as required for the hub corresponding to that coordinate to be at rest according to Newton's second law of motion. The $-\frac{\lambda}{2}$ is introduced to cancel a ubiquitous two which would otherwise appear due to all the second powers and so the direction of the forces is correct. As in Section 7.2.2, $\lambda $ is an arbitrary positive scaling value.

As an example, consider the member constraints. The force vectors corresponding to the two end points, call them ${P}_{a}$ and ${P}_{b}$, of the constrained ${i}_{\stackrel{~}{o}}\text{th}$ member will be

$\lambda \frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{i}_{\stackrel{~}{o}}}^{2}\right)}\left({P}_{a}-{P}_{b}\right)$ and $\lambda \frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{i}_{\stackrel{~}{o}}}^{2}\right)}\left({P}_{b}-{P}_{a}\right)$ respectively.

Notice that since, for a strut, $\frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{i}_{\stackrel{~}{o}}}^{2}\right)}$ is positive, if this constrained member is a strut, the end-point forces are in an outward direction which would be expected. The magnitude of this force is $\lambda \frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{i}_{\stackrel{~}{o}}}^{2}\right)}{l}_{{i}_{\stackrel{~}{o}}}$ which is the result which is obtained in Section 7.2.2. For the ${i}_{o}\text{th}$ member in the objective function, the force vectors corresponding to the two end points will be

$-\lambda {\stackrel{\u203e}{w}}_{{i}_{o}}\left({P}_{a}-{P}_{b}\right)$ and $-\lambda {\stackrel{\u203e}{w}}_{{i}_{o}}\left({P}_{b}-{P}_{a}\right)$ respectively.

Since, for a strut, ${\stackrel{\u203e}{w}}_{{i}_{o}}$ is negative and therefore $-\lambda {\stackrel{\u203e}{w}}_{{i}_{o}}$ is positive, if this objective member is a strut, the end-point forces are in an outward direction which would be expected. The magnitude of this force is $\lambda {\stackrel{\u203e}{w}}_{{i}_{o}}{l}_{{i}_{o}}$ which again is the result which is obtained in Section 7.2.2.

As another example, consider the case of the ${i}_{d}$th point constraint. In this case, differentiating the expression $\frac{\partial o}{\partial {\stackrel{\u203e}{d}}_{{i}_{d}}}\left({\stackrel{\u203e}{d}}_{{i}_{d}}-\left({\stackrel{\u203e}{W}}_{{i}_{d}}\cdot {P}_{{d}_{{i}_{d}}}\right)\right)$ with respect to the three coordinates of ${P}_{{d}_{{i}_{d}}}$ and multiplying by $-\frac{\lambda}{2}$ yields $\frac{\lambda}{2}\frac{\partial o}{\partial {\stackrel{\u203e}{d}}_{{i}_{d}}}{\stackrel{\u203e}{W}}_{{i}_{d}}$. An increase in ${\stackrel{\u203e}{d}}_{{i}_{d}}$ implies the constraint plane is moving in the direction of ${\stackrel{\u203e}{W}}_{{i}_{d}}$. If $\frac{\partial o}{\partial {\stackrel{\u203e}{d}}_{{i}_{d}}}$ is positive, this means an increase in ${\stackrel{\u203e}{d}}_{{i}_{d}}$ represents more constraint; hence, it makes sense that the reaction force from the constraint is pushing (or pulling) in the direction of ${\stackrel{\u203e}{W}}_{{i}_{d}}$.

Again it is seen that for tensegrities the solution of the optimization problem also provides useful information about the distribution of forces in the structure. The main advantage of this way of looking at the problem of computing forces in tensegrities is that it provides a way of computing the forces corresponding to non-member constraints which the previous approach had nothing to say about. The previous approach is valuable for the additional perspective it provides on the problem.

7.2.4 Endogenous Force Analysis: A Sample Calculation for the Exact Formulation

The analysis of the solution to the mathematical programming problem for the 4ν diamond tensegrity tetrahedron in Section 4.2.3 mentioned that the analysis of endogenous forces indicated that the initial solution which satisfied the first-order conditions is not valid since member-force calculations indicate one of the tendons is acting as a strut. In this section, the details of those calculations are presented.

The formulas for the relative forces on the members included in the objective function pose no problem since they are just the weighted lengths of the members. To calculate the relative force for the constrained ${i}_{\stackrel{~}{o}}\text{th}$ member, the value of $\frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{i}_{\stackrel{~}{o}}}^{2}\right)}$, the total derivative of the objective function with respect to the second power of the length of the ${i}_{\stackrel{~}{o}}\text{th}$ member, is necessary. The method used to calculate $\frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{i}_{\stackrel{~}{o}}}^{2}\right)}$ depends on whether the penalty or exact formulation (see Section 3.2) is being used.

For the 4ν diamond tensegrity tetrahedron, the final computations were
made using the exact formulation.
For this formulation, computing
$\frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{i}_{\stackrel{~}{o}}}^{2}\right)}$
is a straight forward exercise in linear algebra.
By the Envelope Theorem of
economics^{8},
the total derivative of
the objective function with respect to a change in a constraint
parameter (in this case
${\stackrel{\u203e}{l}}_{{i}_{\stackrel{~}{o}}}^{2}$)
is equal to the partial effect on the objective function due to changes
in the dependent coordinates (which must change since the equations
determining them have changed). Due to the minimization, the
effects on the objective function due to changes in the independent
coordinates do not need to be taken into account.
So, to find
$\frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{i}_{\stackrel{~}{o}}}^{2}\right)}$,
first
$\frac{d{x}_{d}}{d{\stackrel{\u203e}{l}}_{{i}_{\stackrel{~}{o}}}^{2}}$,
the response of the dependent coordinates to a change in
${\stackrel{\u203e}{l}}_{{i}_{\stackrel{~}{o}}}^{2}$,
is computed; then, using the
partial derivatives of the objective function with respect to the
dependent coordinates, the corresponding response of the
objective function is computed.

To calculate the response of the dependent coordinates, the following linear system is solved:

$\left[{\Psi}^{c\cap d}\right]\frac{d{x}_{d}}{d{\stackrel{\u203e}{l}}_{{i}_{\stackrel{~}{o}}}^{2}}=\frac{db}{d{\stackrel{\u203e}{l}}_{{i}_{\stackrel{~}{o}}}^{2}}$

where ${\Psi}^{c\cap d}$ is a ${n}_{\stackrel{~}{o}}+{n}_{c}+{n}_{s}+{n}_{d}$ by ${n}_{\stackrel{~}{o}}+{n}_{c}+{n}_{s}+{n}_{d}$ square submatrix and ${x}_{d}$ and $b$ are ${n}_{\stackrel{~}{o}}+{n}_{c}+{n}_{s}+{n}_{d}$ column vectors. The submatrix ${\Psi}^{c\cap d}$ and the column vector ${x}_{d}$ are described in Section 3.2. The column vector $b$ is a shorthand notation for referring to all the constraint parameters, ${\stackrel{\u203e}{l}}_{{n}_{o}+1}^{2}$, ..., ${\stackrel{\u203e}{l}}_{{n}_{m}}^{2}$, ${\stackrel{\u203e}{s}}_{1}$, ..., ${\stackrel{\u203e}{s}}_{{n}_{s}}$, ${\stackrel{\u203e}{d}}_{1}$, ..., ${\stackrel{\u203e}{d}}_{{n}_{d}}$, ${\stackrel{\u203e}{c}}_{1}$, ..., ${\stackrel{\u203e}{c}}_{{n}_{c}}$, with a single vector.

$\frac{db}{d{\stackrel{\u203e}{l}}_{{i}_{\stackrel{~}{o}}}^{2}}$ is a column vector with zeros everywhere except for a 1 in the row corresponding to the ${i}_{\stackrel{~}{o}}\text{th}$ member and represents the change in the constraint parameters.

Having obtained a value for $\frac{d{x}_{d}}{d{\stackrel{\u203e}{l}}_{{i}_{\stackrel{~}{o}}}^{2}}$, its inner product (also called dot product) is taken with the row vector $\frac{\partial o}{\partial {x}_{d}^{\text{'}}}$ whose $i\text{th}$ component is the partial derivative of the objective function with respect to the $i\text{th}$ dependent coordinate. (${x}_{d}^{\text{'}}$ is the column vector ${x}_{d}$ converted into a row vector.) The result is the sought after value of $\frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{i}_{\stackrel{~}{o}}}^{2}\right)}$ which is multiplied by ${l}_{{i}_{\stackrel{~}{o}}}$ (the length of the member) to get the relative endogenous force for this constrained member.

Application of these operations to the first solution to the 4ν diamond tensegrity tetrahedron problem yielded the values in Table 7.1.

| |||||||||||||||||||||||||||||||||

Table 7.1: 4ν Diamond T-Tetrahedron: Preliminary Relative Forces |

The tendon ${t}_{12}$ is slightly in compression which is not an appropriate force for a tendon. Excluding that tendon constraint results in a new model in which the relative forces are correct (the relative force for the excluded tendon being zero). As expected, the resultant length of the excluded tendon is less than its permitted maximum value; so, all constraints are satisfied.

Eliminating a tendon is not the best way to deal with an inappropriate force since it tends to make the structure less rigid.

7.2.5 Endogenous Force Analysis: Calculations for the Penalty Formulation

Calculating endogenous forces is simpler when the penalty formulation
is being used. In this case, Luenberger's proposition
regarding Lagrange multipliers^{9}
provides a simple formula for calculating
$\frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{i}_{\stackrel{~}{o}}}^{2}\right)}$.
Since in the penalty formulation used here
(see Section 3.2)
$\stackrel{\u203e}{\mu}{\left({l}_{{i}_{\stackrel{~}{o}}}^{2}-{\stackrel{\u203e}{l}}_{{i}_{\stackrel{~}{o}}}^{2}\right)}^{2}$ appears in the penalty function,
that proposition yields:

$\frac{\partial o}{\partial \left({\stackrel{\u203e}{l}}_{{i}_{\stackrel{~}{o}}}^{2}\right)}=-2\stackrel{\u203e}{\mu}\left({l}_{{i}_{\stackrel{~}{o}}}^{2}-{\stackrel{\u203e}{l}}_{{i}_{\stackrel{~}{o}}}^{2}\right)$

where $\stackrel{\u203e}{\mu}$ is the penalty value. As with the exact formulation, multiplying this value by the length of the ${i}_{\stackrel{~}{o}}\text{th}$ constrained member yields the relative force for that member.

7.2.6 Generality of Weighted Models

These results on endogenous forces can be used to illustrate the generality of weighted models in tensegrity design. Namely, it can be demonstrated that, with an appropriate selection of weights, any valid tensegrity structure can be obtained as the solution of a weighted model.

Let ${l}_{1}^{*}$, ..., ${l}_{{i}_{m}}^{*}$ be the member lengths for an arbitrary tensegrity structure of the sort considered in this book. If this is a valid tensegrity, any tension member must be at the minimum length given the lengths of all the other members and any compression member must be at its maximum length given the lengths of all the other members; otherwise, the structure would be loose. Therefore, ${l}_{j}^{2}={{l}_{j}^{*}}^{2}$ must be a solution to the problem:

$\begin{array}{cc}\text{minimize}& {o}_{j}\equiv \stackrel{+}{-}{l}_{j}^{2}\\ {P}_{1},\dots ,{P}_{{n}_{h}},{V}_{1},\dots ,{V}_{{n}_{v}}\\ \\ \text{subject to}& \text{Member constraints:}\\ & \stackrel{+}{-}{{l}_{1}^{*}}^{2}\ge \stackrel{+}{-}{l}_{1}^{2}\\ & \cdot \cdot \cdot \\ & \stackrel{+}{-}{{l}_{j-1}^{*}}^{2}\ge \stackrel{+}{-}{l}_{j-1}^{2}\\ & \stackrel{+}{-}{{l}_{j+1}^{*}}^{2}\ge \stackrel{+}{-}{l}_{j+1}^{2}\\ & \cdot \cdot \cdot \\ & \stackrel{+}{-}{{l}_{{n}_{m}}^{*}}^{2}\ge \stackrel{+}{-}{l}_{{n}_{m}}^{2}\\ & \text{Symmetry constraints:}\\ & {\stackrel{\u203e}{s}}_{1}={s}_{1}\left(\cdot \cdot \cdot \right)\\ & \cdot \cdot \cdot \\ & {\stackrel{\u203e}{s}}_{{n}_{s}}={s}_{{n}_{s}}\left(\cdot \cdot \cdot \right)\\ & \text{Point constraints:}\\ & {\stackrel{\u203e}{d}}_{1}={\stackrel{\u203e}{W}}_{1}\cdot {P}_{{d}_{1}}\\ & \cdot \cdot \cdot \\ & {\stackrel{\u203e}{d}}_{{n}_{d}}={\stackrel{\u203e}{W}}_{{n}_{d}}\cdot {P}_{{d}_{{n}_{d}}}\\ & \text{Vector constraints:}\\ & {\stackrel{\u203e}{c}}_{1}={c}_{1}\left(\cdot \cdot \cdot \right)\\ & \cdot \cdot \cdot \\ & {\stackrel{\u203e}{c}}_{{n}_{c}}={c}_{{n}_{c}}\left(\cdot \cdot \cdot \right)\end{array}$

where a plus sign precedes ${l}_{j}^{2}$ if the $j\text{th}$ member is a tendon and a negative sign if it is a strut. The choice of signs in the constraints follows the conventions described in Section 3.1.1. Let ${\mu}_{1}^{*}$, …, ${\mu}_{j-1}^{*}$, ${\mu}_{j+1}^{*}$, …, ${\mu}_{{n}_{m}}^{\mathrm{*}}$ be the values for $\frac{\partial {o}_{j}}{\partial \left({{l}_{1}^{*}}^{2}\right)}$, …, $\frac{\partial {o}_{j}}{\partial \left({{l}_{j-1}^{*}}^{2}\right)}$, $\frac{\partial {o}_{j}}{\partial \left({{l}_{j+1}^{*}}^{2}\right)}$, …, $\frac{\partial {o}_{j}}{\partial \left({{l}_{{n}_{m}}^{*}}^{2}\right)}$ for this solution. ${\mu}_{{i}_{m}}^{\mathrm{*}}$ is negative for tendons and positive for struts.

Now look at the problem:

$\begin{array}{cc}\text{minimize}& {o}_{\stackrel{~}{j}}\equiv {\stackrel{\u203e}{w}}_{1}{l}_{1}^{2}+{\stackrel{\u203e}{w}}_{j-1}{l}_{j-1}^{2}+{\stackrel{\u203e}{w}}_{j+1}{l}_{j+1}^{2}+\cdot \cdot \cdot +{\stackrel{\u203e}{w}}_{{n}_{m}}{l}_{{n}_{m}}^{2}\\ {P}_{1},\dots ,{P}_{{n}_{h}},{V}_{1},\dots ,{V}_{{n}_{v}}\\ \\ \text{subject to}& \text{Member constraint:}\\ & \stackrel{+}{-}{{l}_{j}^{*}}^{2}\ge \stackrel{+}{-}{l}_{j}^{2}\\ & \text{Symmetry constraints:}\\ & {\stackrel{\u203e}{s}}_{1}={s}_{1}\left(\cdot \cdot \cdot \right)\\ & \cdot \cdot \cdot \\ & {\stackrel{\u203e}{s}}_{{n}_{s}}={s}_{{n}_{s}}\left(\cdot \cdot \cdot \right)\\ & \text{Point constraints:}\\ & {\stackrel{\u203e}{d}}_{1}={\stackrel{\u203e}{W}}_{1}\cdot {P}_{{d}_{1}}\\ & \cdot \cdot \cdot \\ & {\stackrel{\u203e}{d}}_{{n}_{d}}={\stackrel{\u203e}{W}}_{{n}_{d}}\cdot {P}_{{d}_{{n}_{d}}}\\ & \text{Vector constraints:}\\ & {\stackrel{\u203e}{c}}_{1}={c}_{1}\left(\cdot \cdot \cdot \right)\\ & \cdot \cdot \cdot \\ & {\stackrel{\u203e}{c}}_{{n}_{c}}={c}_{{n}_{c}}\left(\cdot \cdot \cdot \right)\end{array}$

Set ${\stackrel{\u203e}{w}}_{{i}_{m}}$ equal to $-{\mu}_{{i}_{m}}^{*}$ for ${i}_{m}\ne j$. This setting for the weights obeys the necessary sign convention set forth in Section 3.1.1: the weights are positive for tendons and negative for struts. ${l}_{1}^{*}$, …, ${l}_{j-1}^{*}$, ${l}_{j+1}^{*}$, …, ${l}_{{n}_{m}}^{*}$ must be a solution to this problem. If there were a feasible deviation from this solution which decreased ${o}_{\stackrel{~}{j}}$, this change applied to the previous problem would mean the solution for ${o}_{j}$ would increase by that amount. This in turn means the minimum value of $\stackrel{+}{-}{l}_{j}^{2}$ compatible with that feasible change is greater than $\stackrel{+}{-}{{l}_{j}^{*}}^{2}$ which contradicts the member constraint of this problem.

So, a weighted model has been found such that the values for the given tensegrity are a solution, and the original proposition is proven. This is not to say that a given weighted model has only one tensegrity structure as a solution. Some models have more than one solution, each of which is a valid tensegrity structure. In some situations, it may be of interest to probe a given weighted model with different initial values to find alternative solutions.

^{3}
*Tauchert74*, p. 74.

^{4}
The members are assumed to be linearly elastic.

^{5}
Feasible here means that all constraint equations continue to be
satisfied. In contrast to the situation in
Chapter 3 however, all member lengths may
change. This means
${\stackrel{\u203e}{l}}_{{n}_{o}+1},\dots ,{\stackrel{\u203e}{l}}_{{n}_{m}}$ may change. In addition the constraints are met with
equality.

^{6}
A negative change directly violates the assumption that
the original configuration is a minimum. A positive change indirectly
violates the assumption since a point displacement which results in
the change can be negated resulting in a negative
change from the original configuration.

^{7}
See the "Sensitivity Theorem" in
*Luenberger73*,
p. 231.

^{8}
*Varian78*, p. 267.

^{9}
*Luenberger73*, pp. 284-285.