kite.tens File Reference

Detailed Description

The file describes a simple planar tensegrity structure surrounded by obstacles (the red balls). Despite its simplicity, the structure has 3 degrees of freedom. The example is used to show how to solve a tensegrity path planning problem using the CuikSuite.

The simplest way to manipulate this structure is to execute

and to increase/decrese the length of the selected cables. Other control variables can be also selected.

Manually moving the mechanism is difficult since the relation between the individual cable lengths and pose of the structure is not trivial. Moreover, the limits of the cable lengths and the collisions between the struts and the red balls reduce the mobility of the system (collisions between the cables and the balls are not considered).

The CuikSuite can be used to automatically find paths between configurations. For instance these two configurations

can be connected executing

This command generates a path between the two configurations that is stored in kite.links file. This path can be visualized executing

The path is typically jerky but it can be smoothed executing

The first command uses a shortcut method to minimize the length of the path and the second uses 1000 iterations of a gradient descent method to minimzed the control effort. The second minimization process works on the output of the firt process. This process is more effective than directly reducing the path effort on the original path: the shortcut path is very effective and it returns a path that is not far from the minimum control effort path (recall that if all elements in the tensegrity are elastic, the control effort and the path length are the same).

The smoothed path can be visualized executing

Note that the force equilibrium equations holds all along the (smoothed or non-smoothed) path. The compressions/tensions of the struts/cables along the smoothed path can be obtained executing

This generates a kite_path_s.forces where each column is the compression/tension of a strut/cable in the same order as given in the corresponding kite.tens file. This file can be loaded in an external program and used to plot the evolution of the tensions. For instance, in Matlab you can execute:

  • F=load('examples/Tensegrity/kite_path_s_e.forces');
  • plot(F(:,1))

To visualize the compression on the first strut along the path. Note that compression are negative while tensions are positive.

The potential energy of the structure along the path can be computed executing

  • bin/cuikenergy noscale examples/Tensegrity/kite examples/Tensegrity/kite_path_s

The file with the energy values can also be plotted using Matlab executing

  • E=load('examples/Tensegrity/kite_path_s.cost');
  • plot(E)

Definition in file kite.tens.