1. Introduction
Tensegrity systems refer to a class of pin-jointed structures that consist of contiguous cables in tension and noncontiguous bars in compression. The tension in the cables stabilizes the structure in a mass efficient way since tensegrity structures can minimize the mass needed for buckling loads. With pretensioned cables, many designs are statically stable. Since the mid-twentieth century, tensegrity structures have become popular among artists and engineers alike [Reference Sultan1]. Among the engineering community, such structures sparked broad interest due to their unique nature of combining shock absorption, a minimal mass solution to a system – especially in buckling conditions, and the potential to collapse to reduce their volumes [Reference Nagase and Skelton2–Reference Wenger and Chablat6]. These properties of tensegrity structures, as well as their ability to morph their structure, have led to the creation of highly adaptive structures as well [Reference Paul, Valero-Cuevas and Lipson7, Reference Tian, Yao, Ding and Xun8]. Additionally, since these structures are so malleable, they are often utilized as a replacement for a traditional soft robot [Reference Kastor, Mukherjee, Cohen, Vikas, Trimmer and White9–Reference Sanders and Killpackl11].
More recently, select groups have studied these structures for various robotic applications [Reference Doney, Petridou, Karaul, Khan, Liu and Rieffel12, Reference Zhakatayev, Abdikadirova, Sarmonov and Varol13], especially with the intent of such structures acting as a lunar landing robot [Reference Kim, Chen, Cera, Daly, Zhu, Despois, Agogino, SunSpiral and Agogino14–Reference Surovik, Wang, Vespignani, Bruce and Bekris18]. These robotic applications, in which using a tensegrity structure brings the significant advantages of significant shock absorption, the potential to collapse to smaller volumes, and low mass-to-stress ratios compared to other solutions, make it necessary to create a reliable, simple control system for these structures.
Modern controllers [Reference Varga, Tar and Horváth19, Reference Huo, Lin and Yang20] are tailored to rigid dynamic systems, and even controllers implemented on spherical robots [Reference Bagherzadeh, Karimpour and Keshmiri21–Reference Schröder, Garcia, Chacón, Montenegro, Marroquín, Farias, Dormido-Canto and Fabregas23] are difficult to implement on an icosahedral tensegrity system. Controllers implemented on modern tensegrity structure also will not work with this actuation design [Reference Chen, Bai and Skelton24–Reference Peng, Yang, Li, Yang and Song28]. The proposed design utilizes movable masses to shift the robot’s center of mass instead of changing the length of the strings on the structure. One solution for controlling a tensegrity structure is to use gravity as the exclusive means of control. All that is needed for such a structure to roll is for the center of mass of the structure to be outside of the current structure’s support polygon. When this occurs, the structure will rotate toward the location of the center of mass. To control the rotation of the structure and thereby the location of the structure, it is only necessary to control the location of the center of mass of the structure.
Past researchers have addressed this problem by controlling the tension or lengths of the cables and thereby the shape of the structure [Reference Kim, Agogino and Agogino29–Reference Tsabedze, Hartman and Zhang32]. If the shape changes drastically enough, the structure will roll. This has traditionally involved attaching actuators to the ends of each bar, although there has been some progress made in housing the motor within a flexible tube [Reference Nagase and Skelton33]. When actuators are attached to the end of each bar, there is a greater chance for damage upon impact with the ground. Additionally, the dynamics presented by changing the cable lengths of the system are also more complicated and computationally expensive.
In the field of tensegrity robotics, conventional methods have primarily hinged on modifying string tension and lengths to facilitate motion. This paper diverges from this norm by introducing a novel approach using movable masses in an icosahedral tensegrity structure. Movable masses as a means of control have been explored previously in other applications [Reference Chesi, Gong and Romano34–Reference Böhm, Kaufhold, Schale and Zimmermann36] not related to tensegrity. While movable masses have been employed in previous tensegrity systems [Reference Rhodes, Gotberg and Vikas37–Reference Kaufhold, Schale, Bohm and Zimmermann39], our work distinguishes itself through its unique structural and functional innovations.
A critical drawback of the prevailing spherical tensegrity models lies in their vulnerability to impact. The curved members in these structures are predisposed to ground contact during impact, risking structural damage. Additionally, these designs lack a mechanism to reposition the masses toward the structure’s core, which could otherwise offer protection in the event of an impact. The icosahedral design has specifically been used for impact absorption and addresses these limitations. By enabling the relocation of masses to the center of the structure, our model significantly enhances its impact resilience. This centralization of masses not only serves as a protective measure but also facilitates the co-location of the payload with the motors. This integration results in a more compact design, reducing the total mass and improving the system’s overall efficiency.
Moreover, our approach simplifies control methodologies. The controller in our model activates at rest, guiding the masses to specific nodes to initiate desired movements. This system contrasts sharply with cable-driven models where complex algorithms are necessitated by interdependencies among multiple variables. The inherent simplicity of our model, which maintains its shape without altering properties like string length or tension, allows for an efficient, geometry-based control algorithm.
This research contributes to the understanding of mass actuation control in tensegrity systems. We demonstrate the feasibility and advantages of our approach under varied conditions, including payload dynamics and downhill stability. Our findings highlight the superiority of the icosahedral structure over spherical models in terms of control precision, impact resilience, and momentum utilization. Payload location and weight limits are discussed and illustrated in this paper, expanding upon the payload analysis in ref. [Reference Rhodes and Vikas38], as well as exploring the performance capabilities on slopes.
In summary, this paper not only challenges conventional tensegrity system designs but also introduces a more robust, simpler, and efficient alternative, paving the way for future advancements in the field.
The remainder of the paper contains the following sections: Section 2 introduces the environment that was created for the model, including how the movement of masses was simulated. Section 3 explores mathematically the feasibility of the movable mass method as well as the constraints on the system to guarantee movement. Section 4 introduces the controller and explains the necessary assumptions. Section 5 contains a discussion of the results generated by the model as well as a comparison with the results of a physical system. Finally, Section 6 summarizes the current findings and discusses future work to be done.
2. Modeling the tensegrity environment
The tensegrity model developed for this work builds on the standard dynamic tensegrity model developed in MATLAB by MOTES [Reference Goyal, Chen, Majji and Skelton40], with the same traditional assumptions that quasi-static tensegrity structures use. These assumptions are that the system settles before a new calculation occurs, the dynamics of the system are modeled by the code library, and the movable masses are treated as point forces on this system. This model, whose shape was chosen for the convenient property that the bars create three orthonormal planes, as shown in Fig. 1, was translated into Python from the MATLAB code mentioned above and then modified to fit the needs of the robotic system. These modifications are explained below.
The initial significant modification implemented was the elimination of the fixed node requirement in the system, a prerequisite for enabling unimpeded rolling motion. The previously utilized pinned nodes were substituted with a spring and damper mechanism, designed to emulate the system’s interaction with the ground. The selected values for these components were deliberately set to be considerably larger relative to the system’s mass, enhancing stability and facilitating a more consistent simulation. This approach, while simplifying the ground interaction model, is aptly suited for our purposes as it focuses not on the detailed contact dynamics with the ground but rather on ensuring simulation stability. By allowing the model to roll without ground constraints, which can introduce extraneous energy into the system, this method more accurately replicates the ground reactions of the actual system.
The second change was to model the movable masses. To do this, forces were added to either node of each bar. Each mass could then be moved by changing the forces on each node of the bar, where the total force between the two nodes combined remains constant. Thus, in this model, the masses used to control the bar are simply modeled by the gravitational forces that the masses would emit.
The force approach can be used instead of modeling masses for two main reasons. First, since the system is quasi-static for the current modeling approach, the fidelity of the dynamics does not have to be particularly high. This assumes that the system has settled before the next controller iteration. The mass of the movable mass can be neglected, which greatly simplifies the dynamics of the model, while still reasonably simulating the roll characteristics for this system. Ultimately, disregarding the masses in the system would make the system move to its next position faster than it would in real life (since there would be more mass to accelerate). This behavior is acceptable for a quasi-static system since the primary concern for this paper is deliberate control in certain directions, not necessarily system speed.
Second, to reduce the initial noise of the system, a damping term is used. Again, this reduces the fidelity of the dynamics to simplify the model. By modeling the ground as a spring and the movable masses as two forces on either side of each mass’ corresponding bar, it is possible to create a model that works well with quasi-static control. If a quasi-static control is not used, the model would have to be evaluated to see if such a method would suffice.
3. System roll analysis
The tensegrity system chosen for control is an icosahedron, or a 20-faced structure where each face is a triangle. This shape is composed of 12 vertices (nodes), with each node connected to the five closest nodes. Each of these nodes is located according to a permutation of the following coordinates: (0, ±1, ± $\phi$ ), (±1, ± $\phi$ , 0), (± $\phi$ , 0, ±1), where $\phi$ is the golden ratio of approximately 1.618.
With this structure, it is possible to statically model the system as if the gravitational force of the movable masses is split equally between the two nodes at the end of each bar. This is a valid assumption for the dynamics of the model since a quasi-static controller is used.
The center of mass of the system can be modeled as
where n represents each Cartesian direction, $m_{i}$ is the mass of each node (i), while $m_{tot}$ is the total mass of the system, which is the sum of $m_{i}$ . For each Cartesian direction, Eq. (1) will need to be recalculated.
Assuming each of the nodes represents the same amount of mass, meaning the bars of the system have a constant mass distribution, then $m_{i}$ is constant for all iterations of i, which allows it to be pulled out of the summation by multiplying it by the number of iterations. This product is equal to $m_{tot}$ , allowing for the masses to cancel. Equation (1) can then simplify to:
Solving Eq. (2) reveals that the center of mass of the system is located at (0,0,0) in its initial condition. For example, in Fig. 2, the origin of the initial coordinate frame would be located at the center of the structure, at its center of mass. In this paper, the x-z plane will be parallel to the ground.
In any resting state, the system rests on a triangular support polygon. Due to the geometry of the regular icosahedron, each of these triangles are equilateral triangles. Due to the symmetry of the system, the center of mass of the system, excluding the movable masses, is directly above the center of the support polygon in any configuration.
There are two main configurations that describe the state of this tensegrity system, spiral and parallel. A visualization of those cases is shown in Figs. 2 and 3. In both cases, the way to induce rolling in the structure is to move the center of mass of the entire system to the outside of the support polygon. To do this, the movable masses must overcome the system’s own mass. To determine the required mass, first find the distance from the center of mass of the system to the edge of the support polygon triangle around which it will be rotated.
Next, find the equation to represent the vector about which the system will rotate. The equation for this vector is created by finding the equation of the line between the two nodes about which the system will rotate and then neglecting the component that is out of plane with the ground. This vector is the edge of the system about which the system will rotate. Once this vector is obtained, it is possible to find the moments from the movable masses of the system by finding the length of the line perpendicular to the edge on which the system will rotate. The length of this line will be the perpendicular distance from the edge about which rotation will occur to the movable masses.
Using the standard total moment equation, the summation of moments for the system is:
where $r_{m}$ is the moment arm for each respective movable mass and $r_{c}$ is the moment arm for the center of mass, while $m_{m}$ is the mass of each movable mass, and $m_{c}$ is the mass of the tensegrity structure. For clarity, the $\times$ used above is the cross product. This method is sufficient since this is a quasi-static model. At the beginning of each control command, it is assumed that the robot is stationary, meaning that any dynamic effects are 0 when motion is induced.
In the model, there are two different configurations of the tensegrity system, spiral or parallel, as shown in Figs. 2 and 3. In the two configurations, the possible placements of the movable masses change the moment arms that can be used.
In each scenario, the sum of moments can be determined by summing the movable mass moment arms, represented by the sum of lengths of the gray lines in Figs. 2 and 3, and then multiplying by the mass of the movable mass. The moment of the center of mass is also included in the following equation:
Each of the scenarios described above has a unique $\mathrm{r}_{\mathrm{m}}$ and $\mathrm{r}_{\mathrm{c}}$ value because the lever arms created by the masses in each situation are unique. For simplicity, each of these values was solved numerically since the values are dependent on the size of the structure. In other words, in each of the three scenarios described above, $\sum r_{m}$ and $r_{c}$ were solved and plugged into Eq. (4). The way that they were solved was by adding the length of the gray lines and using that as $\sum r_{m}$ , using the length of the yellow line as $r_{c}$ , and setting $\sum M=0$ . The equation was then rearranged to solve $m_{m}$ as a function of $m_{c}$ for each configuration. Rearranging Eq. (4) to relate the mass proportion to the lever arm when $\sum M=0$ yields
Solving $\frac{r_{c}}{\sum r_{m}}$ numerically for each scenario, where each scenario is shown in Figs. 2.2 and 2.3, yields the following: results
where Eq. (6) refers to the worst-case parallel scenario, Eq. (7) refers to the best-case parallel scenario, and Eq. (8) refers to the spiral scenario.
One of the limitations to this approach is that these masses would be insufficient for actuation going up an incline. This is due to the rotation of the structure changing the moment arms available to the system. When the structure is on an incline, moving up an incline rotates the system with respect to a flat ground. This rotation changes the moment arms of the masses with respect to the axis of rotation, drastically changing the mass proportion required to move up an incline. However, this is also true in reverse. To move down an incline, much less mass is required.
Figure 4 shows how the ratio of the movable mass lever arm, $\sum r_{m}$ , to the system mass lever arm, $r_{c}$ , changes as the slope changes. Figure 5 shows the change of the moment arm available to move the system, $\sum r_{m}$ , normalized by the length of the system’s bar as a function of the slope that the structure is moving along. For clarity, the degrees shown at the bottom of the following figures represent the slope that the system is transversing. A positive value represents the system moving up a slope. For simplicity, the slope is rotated about the z axis shown in Fig. 1, meaning that the system moves up the steepest gradient.
In addition, Figs. 4–7 below are for a parallel best-case configuration in which the axis of rotation is perpendicular to the steepest gradient. The steepest gradient is the worst-case scenario for rolling up a hill since the slope of the gradient changes the movable mass proportion. It is also the worst-case scenario for staying stationary on a downhill slope again since the structure is attempting to remain stationary against the largest gradient. The spiral configuration is one of the feasible configurations for rolling up a hill since the proportional movable masses are much lower than the worst-case parallel scenario.
Furthermore, this system can remain stationary on steeper slopes than the structure on its own could. This is because the movable masses can also be used as counterweights to prevent rotation around the desired axis. Figure 6 below shows the proportion between the payload mass and the mass of the movable masses needed to prevent rotation, as shown in Fig. 4, while Fig. 7 shows how the lever arm changes based on the angle of the system, as shown in Fig. 5. The difference between Figs. 4– 5 and 6– 7 is that the first set shows the mass required for movement up a slope, while the other shows the mass required to remain stationary on a slope. The stationary case is used for Figs. 6– 7 since inducing motion on the slope would be trivial since any movement of the movable masses to the front of the structure would include motion.
This is a significant result because it shows that this system can stay at rest on a steep incline with no change in the mass of the movable masses. Assuming that the system is designed to the worst-case scenario above, where the mass of the movable mass is roughly 0.81, this ideal system would be capable of moving up a slope of approximately 3 degrees and have control moving down a slope up to 45 degrees. Interestingly, to keep this system static on a 45-degree slope, the mass proportion is equivalent to the mass needed in the worst-case scenario. Improvements to the climbing capability of this robot could be made by utilizing the momentum of the movable masses to allow the system to roll.
The figures above also describe the worst-case scenario for rolling down a hill. This scenario is when an axis the system could rotate about is perpendicular to the steepest gradient. The best-case scenario is when one of the nodes of the base triangle and the centroid of the triangular base are in line with the steepest gradient. This configuration requires that the center of mass of the system needs to travel further to generate the needed torque to cause the system to roll, while simultaneously allowing for the movable masses to have larger moment arms to prevent movement.
Another advantage of this approach is that a payload can be added to the model with minimal variation to the approach. Assuming that the payload is added to the model’s center of mass, that means
where $m_{c}$ is the mass at the center of mass of the system, $m_{s}$ is the mass of the system, and $m_{p}$ is the mass of the payload of the system. In addition, this system can artificially lower the payload mass by using portions of the payload as part of the movable masses. For example, the motors and batteries themselves could comprise the movable masses, and other hardware, such as circuit boards or computer chips, could also be incorporated into the movable masses. Since this design would allow the movable masses to position themselves before impact to minimize the shock on the movable masses themselves, the sensitive hardware would be protected.
4. Controller implementation
The quasi-static controller for this system solves a few key questions that will be discussed in the following section. First, given a valid desired node, meaning a node that is initially connected to two support polygon nodes but is not part of the support polygon, how can the masses be commanded such that the system rolls to that node? Second, how is the commanded node chosen? – meaning if the model is commanded to move in a specific direction (up, down, left, right), how is the node chosen to maximize the system’s movement in that direction? Finally, how does the controller determine what direction to move to reach a desired target? As shown in this section, an answer to each of these questions can be used to create a quasi-static controller.
The controller described below will operate correctly assuming that the following conditions are met. This controller assumes that the system is in a resting state. This is because the system is assumed to roll over an axis that is parallel to the ground, so for that to be true, the system needs to be in a state of rest. For this solution to converge on the target point, we also assume that the system does not over-roll, which could cause it to get stuck in a state where it is continually oscillating between two orientations. Finally, we assume that the state of the system is known in the global frame at each interval of time, as well as the location of the target we are attempting to reach.
Each node in this icosahedral tensegrity system is connected to five other nodes via cables, as illustrated in Fig. 8. Two of these nodes are on the same bar, but each of the other nodes is part of unique bars. Including the node that the model desires to move toward, the cable connections inform the model where to move four of the six masses. This is done by choosing the nodes from the string connectivity matrix that correspond to the desired node.
The location of the other masses – the mass on the bar not represented and the mass on the bar represented twice, which is shown in Fig. 8 – do not cause significantly different moments on the system no matter the node that they are placed at. This is due to the geometrical symmetry of the system, such that both nodes on those two respective bars produce nearly the same moment arm.
With that in mind, then the placement of the masses only matters if the user wants to prevent or foster momentum rolls, where the system does not stop at the next triangular polygon support and instead moves past it to a new orientation. If this is the case, the masses should go to the node that has the smaller moment arm. This will act as a damper for the system, slowing the initial roll and preventing an orientation that would cause the model to roll again once it has initially settled. Over-rolling happens quite readily in practice since a combination of the momentum from the system changing orientation and the locations of the masses essentially primes the system to continue to roll. Locating the movable masses to gain as much potential energy during a roll can help to prevent that behavior.
Figure 9 shows the system in a configuration where the masses are in the center of each bar, with the masses represented by the blue circles. The distribution of the forces created by the masses on each respective bar is shown with the blue arrows. The target node is shown as the red circle in the image, and the desired location of the other masses for movement is shown as a yellow circle. The left image in Fig. 10 shows how the forces on each node change when the masses are moved, and the image on the right shows what the system looks like after the masses have moved. For clarity, the relevant masses should move entirely to either the desired node or to one of the direct connections. This makes it so the system has the maximum moment around the edge of the support polygon, so the system rotates around the correct pivot. Masses on the bars that are not assigned a position by the controller default to the highest point on the bar.
As discussed in Section 3, there are only two unique orientations for an icosahedral tensegrity structure: the spiral configuration and the parallel configuration. Each configuration has a unique ZMP (zero moment point) condition, with the spiral configuration having an identical force requirement in every direction and the parallel configuration having an identical requirement in two directions and a larger force requirement in the other two directions. These requirements were given as the proportion of the mass of each movable mass to the mass of the entire system in Eqs. 5– 7. If each of these conditions is satisfied, there is no unreachable region in this scenario. Otherwise, the only unreachable rotation would be about the worst-case scenario as described by Eq. (5). The algorithm described beyond these points assumes that there is no unreachable region and that movement occurs on flat ground.
Now that an algorithm has been established to allow the system to rotate to a feasible node, the next step is to algorithmically determine which node the system should move to. The support polygon of the icosahedral structure is composed of a triangle of cables connecting three nodes at y = 0 (i.e., the ground). This is the current support polygon of the system. Each support polygon node has its own x and z locations, each of which is unique to that node at that system state. Each of the string connections is vector about which rotation is possible. Thus, at any arbitrary step, there are three possible vectors for the system to rotate about.
To determine which way to rotate the system, the following process is followed. The first step is to choose the node from the support polygon that is closest to the target. If the system desires to rotate such that its center of mass translates in the positive x direction, then it would choose the node with the largest positive x value. Choosing this node disqualifies the vector between the two other nodes as the rotation vector since rotation about that vector would cause the system to go in the direction opposite of the desired location.
Once that node is chosen, the vectors representing the directions between the chosen node and the other two nodes are created by subtracting the location of the other two nodes from the closest node. The vector that is most perpendicular to the desired direction is then chosen since rotation about that vector would lead the system to change its position in the desired direction by the largest amount. This determination is done by choosing the minimal absolute value of the dot product between the direction vector and the calculated vectors between the first node chosen in the support polygon and the other potential nodes that remain in the triangular support polygon.
Once the rotation vector has been determined, the target node can then be acquired. Since the target node is the node that is connected to both nodes that make up the rotation vector and cannot already be part of the polygonal support of the system, there is only one node that can be selected. With the target node determined, the movable masses are commanded to go to the nodes closest to the desired node. The closest nodes are the nodes connected to the desired node, as described at the beginning of this section.
Finally, to evaluate the controller to move the system to a desired target, the following methodology is used. First, a random target in x-z space is created for the model to move to. Then, the system determines the vector from the target point to its center of mass. That vector is then used to determine which node command would lead to the system moving the most in that direction.
The choice of direction is made using a greedy algorithm that finds the minimum distance from each node to the target in the positive and negative x and z directions. Once those minimum distances are found, it chooses the largest one and has the system roll in that direction. If all the distances are negative (meaning that its support polygon contains the required target), then the system makes it to the target, which is the success criteria of the algorithm. If further simulation is required, then another random point is chosen, and the simulation continues. The minimum negative z and positive z are not simply the negation of the other because it is the minimum of several nodes, thus necessitating that those values be different.
The current implementation of this controller has some drawbacks that can be addressed in future work. The primary drawback is that it is possible for the system to get stuck in a loop. This loop occurs because when the system moves in the commanded direction, it also moves in another direction. This means that it is possible for the controller to command the system to go to the right, and it moves right and down. In the next step, the controller commands the system to move up, and it moves up and to the left, repeating the same step in perpetuity. New methods to address this could be to keep track of movements and then choose a suboptimal one if repetition occurs or change the controller to choose the rotation vector based on total minimum distances to the target.
Other controllers have been created for tensegrity systems that work on collision avoidance and other path planning optimizations. Such techniques could be used to refine this controller in the future [Reference Xu, Sun, Luo and Xu41–Reference Surovik, Wang, Vespignani, Bruce and Bekris43]. Another application for future work could be to create a state estimator to test this controller based on noisy estimates of its actual state.
In addition, this system can be shown as a block diagram. This block diagram will follow a different logic than a typical diagram, since the controller is quasi-static, but can be represented by Fig. 11 below.
5. Results
In this section, the responses of the simulated and real systems are obtained and analyzed. Simulation testing was performed to see if the system can control specified targets and how the dynamics of the system work over many control iterations. This simulation was derived from the simulation found in the MOTES code [Reference Goyal, Chen, Majji and Skelton40] and modified as explained in Section 2. This simulation modeled the dynamics of the unmodified icosahedral tensegrity system, with the movable masses modeled as point forces at different nodes of the system. By changing where the forces acted, the system was capable of locomotion.
Two tests are performed on a physical system to compare experimental results to those found in the simulation. The physical system is described later in this paper. The first test is to command the system to move in an arbitrary direction, while the second test exercises the control algorithm discussed above.
Figures 12 and 13 show the x,y path that the centroid of the robot took on these two tests. In Fig. 12, the system was arbitrarily commanded to go up twice, left twice, down twice, and right twice, essentially to move in a square. The experimental results of five different runs, shown as dashed lines, are compared to the expected path from the analytical model. Two things should be noted. First, due to the triangular shape of the polygonal support, the system will never travel in a straight line. When the system is commanded to move up, the algorithm determines which desired node will cause the system to move up the most. We see that the first command goes directly up, whereas the second command causes the system to go up and to the right. The third command is to go left, which causes the system to roll back to the previous location. Second, it is important to note that due to momentum, sometimes the system will roll twice or three times, rather than stopping at a given location. This can be seen in the second and third commands, where the system rolls an extra roll to the left. This phenomenon is seen in both the analytical model and as the experimental testing. A major source of error between the experimental tests and the analytical model is the propensity of the experimental test to slide and shift during rotation, while the analytical model assumes perfect contact with the ground, causing a divergence between the paths as the tensegrity system progresses along its path.
In Fig. 13, the system is commanded to go to a randomly generated target location up and to the left of the initial location. Using the procedure also outlined in Section 4, the system was able to move as directed and was able to transverse to the random target, though the path of the experimental tests differed from those expected from the model.
To ensure the feasibility of this movable mass model, a real-world structure was created using aluminum pipes and large movable masses, as seen in Fig. 14. These masses were connected to a motor that allowed the masses to move the length of each bar. In this iteration of the design, the masses were mounted externally to the bar, allowing for easier access to the masses. Each of these masses is 60% of the mass of the total mass of the system.
The fabricated system differs from the theoretical system in several ways. The physical movable masses are controlled using stepper motors, where the motors are part of the movable mass. While the steppers can control the location of the mass along the entire bar, they are not able to move to the very tip of each bar due to the size of the motors. Each movable mass can reach to approximately within 3 cm of the way to the end. When the masses were near the tip of the bar, they could also contact the ground outside of the support polygon, changing the ZMP of the system, as well as elevating parts of the system, effectively creating a slope that the system would need to overcome. Because of these deficiencies, rotation along the worst-case scenario was not tested since the movable masses did not have enough mass to promote movement analytically. During testing, after each roll, the system slides slightly over the ground, causing some error when compared to the theoretical model. Any change to the rotation of the system can cause large drift, and so the system could benefit from a high-fidelity state estimation, which is the subject of a future paper. Even with these inefficiencies in the physical system, the system could move as intended. Assuming that the state estimation is correct, the control system will pick the optimal solution for the next position of the robot.
In both other cases, the spiral case, and the better parallel bar case, we were able to achieve movement using the movable masses, as seen in Fig. 15. When controlled using the control algorithm described in Section 4, the robot was capable of rotating to the desired node. When testing, we also saw behavior from the model in which it experiences momentum rolling as seen in the simulation. The one caveat with it is that the robot experienced more extensive momentum rolling than it was previously thought it could experience. One of the explanations for this could be that the masses and motors create a less predictable support polygon than would otherwise be established on this robot, meaning that additional momentum rolling could occur. Future work to minimize this unwanted rolling could include finding a reliable way to increase the damping of the system that does not lead to significant shape deformations.
In addition to the simple example above of how the system moved with the controller, the system was tested for a few additional iterations. The robot was tested moving in several different trajectories. These trajectories were based on an 8’X8’ grid, where the robot started at one of the corners. The desired location was either one of the closest corners, the middle of an opposite edge, or the farthest corner from the robot, as seen in Fig. 16. Using the controller described in Section 4, each trajectory was attempted, as seen in Fig. 17. Success was defined as the robot straddling the desired location. In each trial, the robot was able to straddle the location using the controller logic. This model, with the movable masses too light to overcome the worst-case scenario, was able to overcome this movement by using a suboptimal route and going around that configuration. At the end of the trajectory, the final robot state is measured on the grid and is compared to the desired location. Error is then calculated as the difference between the desired location and the final position of the robot. Error is acceptable if the final point is located within the final polygonal support of the structure. Data from these tests are found in Table 1.
After verifying the flat case analysis, the sloped case was considered. Since this physical system has deficiencies in how far out the movable masses can move, uphill testing was not performed. Instead, the maximum downhill stability case was focused on, with the following results.
The way we tested this scenario was by locating the masses according to the control algorithm to have the robot act as if it were traveling straight uphill. This configuration maximizes the moment arms that prevent the robot from rolling down the hill. We then incrementally increased the slope until the robot rolled down the incline.
Figure 18 shows the results of that testing. In the configuration in which the axis of rotation is perpendicular to the slope of the decline, testing validated that this system could remain stationary on a slope of 31 degrees. The reason that it is less than the predicted amount is due to the moment arms used by the masses are smaller than the moment arms of the best-case scenario. Furthermore, in the testing that was done on this system, once the slope began to become large, the structure began to slip down the slope even before it began to roll. In addition, this is also a worst-case scenario for this robot. If the axis of rotation was not facing down the steepest gradient, the robot would be able to prevent rolling down an even steeper slope, as described in Figs. 6 and 7.
Overall, the results verify that the model works and suggest that the equations have the limitation of overestimating the moment arms of the system, especially when the system cannot move the masses all the way to the extremes of the bars. Better system design could remedy this problem if external masses are designed with slots where the holes are. This could also potentially reduce momentum rolling if the movable mass hangs slightly beyond the bar, which would lead to the mass impacting the ground sooner than the bar would, reducing the overall inertia of the system when an inertial roll could begin. In essence, this testing gives a large degree of confidence to the calculated motion models.
6. Summary and final remarks
Traditional approaches for controlling tensegrity structures typically require the actuation of the tensegrity tensile members to allow for the movement of the system. This approach leads to complicated dynamics. The method presented in this paper circumvents that challenge by using only six movable masses within the bars of the system as the means of locomotion, which means that the dynamics of the system do not change over each iteration of the algorithm. In addition, this strategy also provides a robust way of accounting for a payload, knowledge of the maximum slopes the system can account for, and a simple controller for controlling the robot.
Movable masses are a valid strategy as a means of system locomotion without the masses of the movable masses being significantly higher than that of the system. This was validated in this paper through mathematical analysis of the moments required to move the system, as well as through a physical model of the system being controlled using the control methodology created in Section 4. In future work, the mass of the movable masses could be reduced further if the momentum of the masses is utilized to move the system or if proper system design uses as much of the payload mass as possible as part of the movable masses.
In essence, this method can cause the system to rotate, move in a commanded direction, and control the system to a desired location. It can achieve this with simple and computationally cheap control algorithms. This simplicity is desired because the algorithm can entirely be implemented on a microcontroller local to the system, without needing to ship the data to an offsite computer.
This model also has a straightforward way of accounting for the mass of a payload in the movement of the structure. The mass of the payload can be distributed out to the movable masses, while still protecting the system’s most critical components from shock, allowing the system to operate under harsher mechanical conditions.
Finally, this system also has very predictable behavior on slopes. This knowledge is very useful in path planning algorithms if the gradient of the landscape is known so that an achievable path can be planned. This is especially useful if the robot is known to only need to roll downhill since this robot can handle going down steep inclines well.
Future work will include making a physical system that can move the masses in the requisite manner to allow for real-time control. This involves designing a new movable mass-bar system and determining how a controller can use the desired measurements (such as velocity) low enough to prevent momentum rolling. Additionally, a new controller will have to be designed to work with the limited inputs that the physical system will have. Another reality that this controller will need to be capable of dealing with is that in practice, there are six edges along which the system will not be able to rotate. Additional work could include mass momentum methods to allow the system to rotate in a more controlled manner when desired for more optimal control. As described above, this system could also benefit from the introduction of an accelerometer, which could be combined with knowledge about the system’s kinematics and geometry within a Bayesian filter to allow the system to better understand its pose. This concept can be expanded upon further by changing allowed rotations depending on the slope that the robot is on. For example, on a steep slope, it would be possible for a robot to rotate around the nominal worst-case scenario.
In addition to the ideas stated above, this type of system would be a good candidate to use reinforcement learning for path planning and actuation of masses since such an approach would treat the terrain as a maze and it would be possible to learn on that map [Reference Surovik, Wang, Vespignani, Bruce and Bekris43].
Finally optimizing the system to be impact resistant would be a good way to utilize the advantages inherent in this system. The movable mass solution, along with initial payload location optimization, would allow for this system to be optimized very well for high-shock environments.
In conclusion, the movable mass solution described in this paper has several unique advantages that can be leveraged when creating a robot that is highly impact resistant. Much of the locomotion mechanics of this system is readily understood through the system’s geometry and has unique properties that can be leveraged depending on the mission it undertakes.
Author contributions
Brett Layer and Jeff Hill conceived and designed the proof of the roll conditions and the quasi-static controller. Brett Layer created a simulation capable of testing this model. Harrison Denning designed and created the physical system. Harrison Denning and Brett Layer tested the system. Brett Layer and Jeff Hill wrote the article.
Financial support
This research received startup funding from Brigham Young University.
Competing interests
The authors declare no conflicts of interest exist.
Ethical approval
Not applicable.
Supplementary material
The supplementary material for this article can be found at https://doi.org/10.1017/S0263574724001139.