# Mixed-Integer-Based Path and Morphing Planning for a Tensegrity Drone
## 3 Problem Statement  
### Static Equilibrium of Tensegrity Structures  
Tensegrity structures consist of elements experiencing tensile forces, called cables, and of elements bearing compressive forces, called struts. In a pure tensegrity structure, a strut is only connected to cables at two points, referred to as nodes. A straight-forward way to model the system is to model each strut as a rigid body with a given mass and inertial matrix, and cables as massless springs. However, several simplifications can be used to streamline modeling of the static equilibrium of the structure. One of the often-employed simplifications is the assumption that the structure can be equivalently modeled as a set of massive point-like nodes, connected via massless springs. The mass of the structure is thus lumped at the nodes and the external forces are assumed to act on the nodes directly. This assumption is justified when the resulting model is used primarily to compute the shape of the configuration of the tensegrity structure under a given pre-stress, when the magnitudes of the tensile and compressive forces are significantly higher than those of other forces acting on the structure.  
Thus, one of the ways to mathematically describe the static equilibrium of a tensegrity structure is by considering the static equilibrium of each node independently. Let the tensegrity structure consist of \(n\) nodes, with the \(i\)-th node's position specified by a vector \(\mathbf{r}\in\mathbb{R}^{3}\). The topology of the structure is given by a symmetric connectivity matrix \(\mathcal{C}\in\{0,\;1\}^{n\times n}\) with binary elements; if \(\mathcal{C}_{ij}=1\), then the \(i\)-th node \(\mathbf{r}_{i}\) is connected with the \(j\)-th node \(\mathbf{r}_{j}\).  
\[\sum_{j=1}^{n}\mathbf{f}_{ij}(\mathbf{r}_{i},\mathbf{r}_{j})=\mathbf{f}_{i,e},\forall i, \tag{1}\]  
where \(\mathbf{f}_{ij}\) is the force acting from the \(i\)-th node to the \(j\)-th node and \(\mathbf{f}_{i,e}\) is the sum of external forces acting on the \(i\)-th node. Assuming the linear elastic force equation, \(\mathbf{f}_{ij}\) can be modeled as:  
\[\mathbf{f}_{ij}=\mu_{ij}(||\mathbf{r}_{i}-\mathbf{r}_{j}||-\rho_{ij})\frac{ \mathbf{r}_{i}-\mathbf{r}_{j}}{||\mathbf{r}_{i}-\mathbf{r}_{j}||} \tag{2}\]  
where \(\mu_{ij}\) is a linear stiffness coefficient and \(\rho_{ij}\) is the elastic element's rest length: the distance between \(\mathbf{r}_{i}\) and \(\mathbf{r}_{j}\) when they do not exert force onto each other. The relation between the stiffness coefficient \(\mu_{ij}\) and connectivity matrix \(\mathcal{C}\) is given by the following complementary constraint:  
\[\mu_{ij}(1-\mathcal{C}_{ij})=0 \tag{3}\]  
Equations described in this section can be used to study two related questions: (1) whether or not a given configuration (as described by positions of the nodes \(\mathbf{r}_{i}\)) is in static equilibrium for a given pre-stress (as described by the values of \(\rho_{ij}\)) and (2) what the closest static equilibrium configuration is to a given one, for a given pre-stress. The first question can be answered by checking that condition (2). The second can be solved by finding the minimum potential energy of the structure and fixing its center of mass at the origin. Note that this leads to a family of solutions, as rotation of the structure does not change potential energy.