1 Introduction

The use of mechanically prestressed compliant structures in mobile robotics is a recently discussed topic. One specific class of these structures build tensegrity structures, consisting of a set of rigid disconnected compressed members connected to a continuous net of prestressed tensioned members. Robots based on these structures are deployable, lightweight, have a simple system design, very high strength to weight ratio, and shock absorbing capabilities [13]. An overview of actual developments and development directions can be found in [48]. A recent development direction is the realization of rolling mobile robots based on these structures [911]. Known systems use conventional tensegrity structures, based on straight members. Locomotion is realized by body deformation and tip-over movement sequences, due to periodically changing the length of selected tensioned or compressed members. The future realization of pure rolling locomotion (“smooth rolling”) with these robots is only possible with large control effort.

The application of curved members in tensegrity structures indicates their potential ability for the use in rolling mobile robots. In the present work, the authors focus on the dynamic properties of a simple rolling mobile robot, based on a spatial non-conventional tensegrity structure with two curved compressed members. The actuation of the system is based on internal mass movement, to minimize the control effort. Locomotion of the robot is possible without body deformation. Selected properties of the considered system are introduced in [12]. In the present contribution, a more detailed analysis of the system’s kinematics and also an experimental study is presented, to verify the theoretical results. In Sect. 2, the structure, the assumptions, and the type of actuation of the system are discussed. After considerations on the system’s kinematics in Sect. 3, with the help of a simple equivalent mechanical model, basic dynamic properties of the system and experimental results are presented in Sect. 4.

2 Structural properties, assumptions, and type of actuation

The considered tensegrity structure, based on [13], consists of two equal curved members (j=0,1) with constant radius of curvature R and length \({R}\pi \) (Fig. 1a). The curved bended members (called as compressed, due to the tensegrity terminology) are indirectly interconnected through eight tensioned members. Each end point of one curved member is connected with both end points of the other curved member (four tensioned members of type 1 between 00–10, 00–11, 01–10, and 01–11, initial length \({L}_{01}\), longitudinal stiffness \({k}_{1})\). Furthermore, the points 02 at \(\varphi _{0}\)=0 and 12 at \(\varphi _{1}=0\) are connected with the end points of the other compressed member (4 tensioned members of type 2 between 02-10, 02-11, 12-00, and 12-01, initial length \({L}_{02}\), longitudinal stiffness \({k}_{2})\). The structure is in the symmetrical configuration, as depicted in Fig. 1a, in stable equilibrium (curved member 0 with the points 00, 01 and 02 in the \({x}_{0}-{y}_{0}\) plane, curved member 1 with the connecting points 10, 11 and 12 in the \({y}_{0}\)-z\(_{0}\) plane; with equal deformed lengths for both types of tensioned members \({L}_{1}\) and \({L}_{2}\), where \({L}_{1}\ne {L}_{2})\). The shape of the structure in this configuration is defined by the parameters of the tensioned members and can be expressed only by the parameters d (distance between the arc center points) and R. Considering the equilibrium, the location vectors of the attachment points between the tensioned and compressed members and the parameter d can be found (\(j{=}\) 0,1; \(i{=}\) 0,1,2)

$$\begin{aligned} \vec {{r}}_{\mathrm{ji}} {=R}\cdot \{(1-{j})(1-{i}/2)(1-3{i}),({j}-\hbox {1/2)}\left( {{i}({i}-1)-{d/R}} \right) , {j}(1-{i}/2)(1-{3i})\}^{\mathrm{T}}, \quad \frac{{d/R}}{1-{d/R}}=\frac{{k}_2 (1-{L}_{{02}} {/L}_{2})}{{k}_1 (1-{L}_{01} {/L}_1 )}.\nonumber \\ \end{aligned}$$
(1)

The locomotion system based on the introduced structure is capable of uniaxial rolling and also of planar movement with combined tip-over and rolling [12, 14, 15] (see Fig.  1e). To realize locomotion, two equal internal masses are moved along lines connecting the end points of the curved members with two linear stepping motors (Fig. 1d).

Fig. 1
figure 1

Mechanical model (a) of the tensegrity structure (b), and mechanical model (c) of the considered corresponding locomotion system (d), and a possible locomotion sequence (e) ((I)\(\rightarrow \)(IV); (I),(IV): tip-over; (II),(III): rolling-basic movement sequence, displaying only the curved compressed members)

The rolling movement consists of several repeated basic movement sequences. During a sequence, the robot has at two points contact to the ground: a non-changing endpoint of a curved compressed member, and a continuously changing second point on the other curved compressed member. At the end of each moving sequence, the continuously changing second contact point reaches an end point and then changes to a non-changing contact point. At the subsequent rolling sequence, the process repeats with a change between the curved members, with respect to which a rolling movement occurs.

Following assumptions are used in the theoretical considerations:

  • The internally moved masses are considered as mass points (\(\mathrm{A}_{0}\) and \(\mathrm{A}_{1}\), where \({m}_{\mathrm{A0}}={m}_{\mathrm{A1}}={m}\)), masses and mass moments of inertia of other system parts are neglected. The time-dependent position \({a}_{\mathrm{j}}\)(t) of mass point \({A}_{\mathrm{j}}\) is given with the relative distance from the end point j1 of member j.

  • The prestress of the system is assumed as high. Elastic deformations of the system, due to gravitational and dynamic forces, are neglected. Therefore, the mechanical compliance of the system is small, but the system is able to absorb shocks (e.g. falling) and is foldable (advantageous by transportation in space applications).

  • The gravity vector is perpendicular to the plane \(({\vec {{g}}=} -{g}\cdot {\vec {{e}}}_{\mathrm{z}} =-\hbox {9810} {mm/s}^{{2}}\cdot {\vec {{e}}}_{\mathrm{z}} )\).

3 Kinematics of the system

To describe the system’s kinematics for a basic movement sequence, corresponding to rolling on one curved member, rolling motion of a rigid circular disc (radius a) on a plane ground surface (x-y plane) without slipping is considered (Figs. 1c, 2). On the disc (center: point C) a rigid rod with end points O, N is eccentrically connected normal to the disc plane (connection point N), without relative movement capability between disc and rod. The free end of the rod (point O) is rotatable supported in the origin of the inertial coordinate system.

The position of the contact point K \((\vec {{r}}=\vec {\hbox {OK}}={x}\vec {{e}}_{\mathrm{x}}+{{y}\vec {{e}}}_{\mathrm{y}})\) between disc and ground is to be determined in dependence on the rotation angle \(\varphi \). The coordinates of the position vector \({\vec {{r}}}\) are

$$\begin{aligned} {x}={r}\cos (\psi +\beta )\quad \hbox { and } \quad {y=r}\sin (\psi +\beta ), \end{aligned}$$
(2)

where \({r=}\left| {{\vec {{r}}}} \right| =({x}^{{2}}+y^{{2}})^{{0.5}}\). The goal is to determine the coordinates of the position vector as a function of \(\varphi \). Therefore, the relationship between the angles \(\psi +\beta \) and \(\varphi \) is to be determined. Using the geometrical relationships (see Fig. 2)

$$\begin{aligned} {x}^{2}+{y}^{2}={L}^{2}/\cos ^{2}\theta +{d}^{2}\sin ^{2}\varphi \hbox { and } a-d \cos \varphi ={L}\tan \, \theta , \end{aligned}$$
(3)

the following relationship between x, y, and the rotation angle \(\varphi \) can be found

$$\begin{aligned} {x}^{{2}}+{y}^{{2}}= {L}^{{2}}+{a}^{{2}}+{d}^{{2}}-{2ad}\cos \varphi . \end{aligned}$$
(4)

In accordance with (2) the coordinates of the velocity vector \(\dot{\vec {{r}}}=\dot{{x}}\vec {{e}}_{\mathrm{x}} +\dot{{y}}\vec {{e}}_{\mathrm{y}} \) are

$$\begin{aligned} {\dot{{x}}}=\dot{{r}}{cos}(\psi +\beta )-{rsin}(\psi +\beta )(\dot{\psi }+\dot{\beta }) \,\mathrm{and }\, \dot{{y}}={\dot{{r}}{sin}(\psi +\beta )+{rcos}(\psi +\beta )(\dot{\psi }+\dot{\beta })}. \end{aligned}$$
(5)

These coordinates can also be expressed with the help of the classical condition for rolling without slipping

$$\begin{aligned} \dot{{x}}=-{a}\dot{\varphi }\sin \psi \hbox { and } \dot{{y}}={a}\dot{\varphi }\cos \,\psi . \end{aligned}$$
(6)

From (5) and (6) follows

$$\begin{aligned} \dot{{r}}\cos ({\psi +\beta })-{r}\sin ({\psi +\beta )(\dot{\psi }+\dot{\beta }})=-{a}\dot{\varphi }\sin \psi \hbox { and } \dot{{r}}\sin (\psi +\beta )+ r \hbox {cos}(\psi +\beta )(\dot{\psi }+\dot{\beta })={a}\dot{\varphi } \cos \, \psi .\nonumber \\ \end{aligned}$$
(7)

The transformation of equations (7) leads to

$$\begin{aligned} {r}({\dot{\psi }+\dot{\beta }})={a}\dot{\varphi }\left( {\hbox {sin }\psi \hbox {sin}(\psi +\beta )+\,\hbox {cos}\psi \hbox {cos}(\psi +\, \beta )} \right) ={a}\dot{\varphi }\cos \, \beta . \end{aligned}$$
(8)

With regard to the geometric relationships \(\hbox { cos }\theta ={L}/({L}^{{2}}+({a-d \,\mathrm{cos} }\,\varphi )^{{2}})^{{0.5}}\) and \(\hbox {cos }\beta ={L}/(r \hbox { cos}\, \theta )\) (see gray triangles in Fig. 2) from (8) follows the direct relationship between the angles (\(\psi +\beta )\) and \(\varphi \)

$$\begin{aligned} {\dot{\psi }+\dot{\beta }}= & {} \dot{\varphi }{a}({L}^{{2}} +({a}-{d}\cos \,\varphi )^{2})^{0.5}({L}^{{2}}+a^{{2}} +d^{{2}}-{2ad}\cos \,\varphi )^{-1}, \end{aligned}$$
(9)
$$\begin{aligned} \psi +\beta= & {} {\mathop {\int }\limits _{0}^{\varphi }} {{a}({L}^{{2}}+({a}-{d}\cos \xi )^{2})^{0.5}({L}^{{2}}+a^{{2}}+d^{{2}}-{2ad}\cos \xi )^{-1}} {d}\xi . \end{aligned}$$
(10)
Fig. 2
figure 2

The considered mechanical model with geometric parameters in different views (important geometric relationships are marked with gray right-angled triangles; \(0 \le {d} < {a}\))

In summary, the coordinates x, y, and the angles \(\theta \) and \(\psi \) in dependence on the rotation angle \(\varphi \) are

$$\begin{aligned} {x}= & {} ({L}^{{2}}+a^{{2}}+d^{{2}}-{2ad}\cos \varphi )^{0.5}\cos \left( {{\mathop {\int }\limits _{0}^{\varphi }} {\frac{{a}({L}^{{2}}+({a}-{d}\cos \, \xi )^{2})^{0.5}}{{L}^{{2}}+a^{{2}}+d^{{2}}-{2ad}\cos \xi }} {d}\xi } \right) , \end{aligned}$$
(11)
$$\begin{aligned} {y}= & {} ({L}^{{2}}+a^{{2}}+d^{{2}}-{2ad}\cos \varphi )^{0.5}\sin \left( {{\mathop {\int }\limits _{0}^{\varphi }} {\frac{{a}({L}^{{2}}+({a}-{d}\cos \, \xi )^{2})^{0.5}}{{L}^{{2}}+a^{{2}}+d^{{2}}-{2ad}\cos \xi }} {d}\xi } \right) , \end{aligned}$$
(12)
$$\begin{aligned} \theta= & {} \hbox {tan}^{{-1}}\left( {({a-d}\cos (\varphi ))/{L}} \right) , \end{aligned}$$
(13)
$$\begin{aligned} \psi= & {} -\hbox {tan}^{{-\mathrm 1}}\left( {{d}\sin (\varphi )/({L}/\cos (\theta ))} \right) +{\mathop {\int }\limits _{0}^{\varphi }} {\frac{{a}({L}^{{2}}+{(a}-{d}\cos \xi )^{2})^{0.5}}{{L}^{{2}}+{a}^{{2}}+{d}^{{2}}-{2ad}\cos \, \xi }} {d}\xi . \end{aligned}$$
(14)

For the considered tensegrity system, the disc and the rod are both replaced with semicircular arcs of radius R (\(\varphi _{\mathrm{j}}=-\pi /2{\ldots }\pi /2, {a=L=R}\)). With the help of the above kinematic considerations, it can be seen that the geometric parameter d (see Fig. 1) plays an essential role with respect to the rolling locomotion of the system (Fig. 3). The maximum covered travel distance within a basic movement sequence can be achieved if \(d \rightarrow R\).

Fig. 3
figure 3

Path of the contact point K on the ground in dependence of d (\(a=L=R\)) for two basic movement sequences \((\varphi =-\pi /2{\ldots }\pi /2)\) (a); rotation during a basic movement sequence (b) (\(\varphi =0\rightarrow \pi /2, \mathrm{gray }\rightarrow \mathrm{black}, {d/R}=0.5\)); and detailed results for the case d / R = 0.9

During locomotion, rolling on both curved members takes place successively alternating (see Figs. 4 and 5 for the case of eight basic movement sequences (I\(\rightarrow \)VIII)). With repeating these eight movement sequences, uniaxial locomotion of the system in the positive y-direction can be realized. The change of the rotation directions for both curved members leads to locomotion in the opposite direction.

Fig. 4
figure 4

Rolling locomotion of the system in the positive y-direction for eight basic movement sequences (I\(\rightarrow \)VIII), (d / R = 0.1, displaying only the curved compressed members)

Fig. 5
figure 5

Rolling locomotion of the system in the positive y-direction for eight basic movement sequences (I\(\rightarrow \)VIII) – change of the angles \(\varphi _{\mathrm{j}}\) (d / R = 0.1, displaying only the curved compressed members)

4 Dynamic system behavior for the basic movement sequence

The actuation of the system is carried out by changing the relative mass point positions \({a}_{\mathrm{j}}\)(t) (see Fig. 1c). The goal is to determine the time-dependent position of the system \(\varphi \)(t) for the basic movement sequence in dependence of the actuation parameters, characterized with \({a}_{\mathrm{j}}\)(t). The description of the motion of the system is carried out with respect to the inertial x–y–z coordinate system. The system is considered as a system of mass points. The assumptions from Sect. 2 are still valid.

4.1 Equation of motion

The angular velocity and acceleration of the system can be expressed with

$$\begin{aligned} \vec {\omega }= & {} \dot{\vec {\varphi }}+\dot{\vec {\psi }}+\dot{\vec {\theta }}=\dot{\varphi }\cdot \vec {{C}}_{\mathrm{d1}} (\varphi ), \end{aligned}$$
(15)
$$\begin{aligned} \dot{\vec {\omega }}= & {} \ddot{\varphi }\cdot \vec {{C}}_{\mathrm{d1}} (\varphi )+\dot{\varphi }^{2}\cdot \vec {{C}}_{\mathrm{d2}} (\varphi ), \end{aligned}$$
(16)

where

$$\begin{aligned} \vec {{C}}_{\mathrm{d1}} (\varphi )= & {} \left\{ -\hbox {cos}(\theta )\cos (\psi )+\frac{{d}\sin (\varphi )\sin (\psi )}{{L}((\hbox {tan}(\theta ))^{{2}}+1)},-\hbox {cos}(\theta )\sin (\psi )\right. \\&\quad \left. -\,\frac{{d}\sin (\varphi )\cos (\psi )}{{L}((\hbox {tan}(\theta ))^{{2}}+1)},0 \right\} ^{\mathrm{T}}, \quad \vec {{C}}_{\mathrm{d2}} (\varphi )=\dot{\vec {{C}}}_{\mathrm{d1}} (\varphi )\cdot \dot{\varphi }^{-1}. \end{aligned}$$

The position and velocity vectors of the mass points of the system are

$$\begin{aligned} \left( {{\vec {{r}}}_{\mathrm{Aj}} } \right) ^{{\mathrm{T}}}= & {} \left\{ {{L}\cdot \left( {1-{j}} \right) +{j}\cdot {a}_{\mathrm{j}} \;,\;\left( {1-{j}} \right) \cdot ({a}_{\mathrm{j}} -{a})\;,\;\left( {1-{j}} \right) \cdot {d}} \right\} \cdot \left[ {{T}(\varphi )} \right] =\left( {\vec {{r}}_{\mathrm{Aj,init}}} \right) \cdot \left[ {{T}(\varphi )} \right] , \end{aligned}$$
(17)
$$\begin{aligned} \left( {\dot{\vec {{r}}}_{\mathrm{Aj}} } \right) ^{T}= & {} \dot{\varphi }\cdot \left( {\vec {{r}}_{\mathrm{Aj}}^*} \right) ^{\mathrm{T}}+\left( {\dot{\vec {{r}}}_{\mathrm{Aj,init}}^*} \right) ^{\mathrm{T}}, \end{aligned}$$
(18)

where

$$\begin{aligned}&\left[ {{T}(\varphi )} \right] =\left[ {{\begin{array}{l@{\quad }l@{\quad }l} 1&{} 0&{} 0 \\ 0&{} {\cos (\varphi )}&{} {-\sin (\varphi )} \\ 0&{} {\sin (\varphi )}&{} {\cos (\varphi )} \\ \end{array} }} \right] \cdot \left[ {{\begin{array}{l@{\quad }l@{\quad }l} {\cos (\theta )}&{} 0&{} {\sin (\theta )} \\ 0&{} 1&{} 0 \\ {-\sin (\theta )}&{} 0&{} {\cos (\theta )} \\ \end{array} }} \right] \cdot \left[ {{\begin{array}{l@{\quad }l@{\quad }l} {\cos (\psi )}&{} {\sin (\psi )}&{} 0 \\ {-\sin (\psi )}&{} {\cos (\psi )}&{} 0 \\ 0&{} 0&{} 1 \\ \end{array} }} \right] ,\\&\left( {\vec {{r}}_{\mathrm{Aj}}^*} \right) ^{\mathrm{T}}=\left( {\vec {{r}}_{\mathrm{Aj,init}} } \right) \cdot \dot{\varphi }^{-1}\cdot \left( {\left[ {{T}(\varphi )} \right] } \right) ^{\cdot }, \quad \left( {\dot{\vec {{r}}}_{\mathrm{Aj,init}}^*} \right) ^{\mathrm{T}}=\left( {\dot{\vec {{r}}}_{\mathrm{Aj,init}} } \right) \cdot \left[ {{T}(\varphi )} \right] . \end{aligned}$$

The angular momentum and the moment of forces with respect to the origin O of the inertial coordinate system are (see Fig. 1c)

$$\begin{aligned} \vec {{M}}_{\mathrm{O}} ={m}\cdot \sum _{\mathrm{j=0}}^1 {\left( {\vec {{r}}_{\mathrm{Aj}} \times \vec {{g}}} \right) } +\vec {{r}}_{\mathrm{K}} \times \vec {{F}}_{\mathrm{K}} , \vec {{D}}_{\mathrm{O}} ={m}\cdot \sum _{\mathrm{j=0}}^{1} {\left( {\vec {{r}}_{\mathrm{Aj}} \times \left( {\vec {\omega }\times \vec {{r}}_{\mathrm{Aj}} } \right) } \right) } , \end{aligned}$$
(19)

where \(\vec {{F}}_{\mathrm{K}} \) is the contact force vector and \(\vec {{r}}_{\mathrm{K}} \) the position vector with respect to the point K. Using the principle of angular momentum, the equation of motion of the model takes the form

$$\begin{aligned} \dot{\vec {{D}}}_{\mathrm{O}} -\vec {{M}}_{\mathrm{O}} ={m}\cdot \sum _{\mathrm{j=0}}^{1} {\left( {\dot{\vec {{r}}}_{\mathrm{Aj}} \times \left( {\vec {\omega }\times \vec {{r}}_{\mathrm{Aj}} } \right) +\vec {\mathrm{r}}_{\mathrm{Aj}} \times \left( {\dot{\vec {\omega }}\times \vec {{r}}_{\mathrm{Aj}}} \right) +\vec {{r}}_{\mathrm{Aj}} \times \left( {\vec {\omega }\times \dot{\vec {{r}}}_{\mathrm{Aj}} } \right) -\vec {{r}}_{\mathrm{Aj}} \times \vec {{g}}} \right) } -\vec {{r}}_{\mathrm{K}} \times \vec {{F}}_{\mathrm{K}} =\vec {0}. \end{aligned}$$
(20)

Under the assumptions mentioned above, equation (20) can be rewritten as

$$\begin{aligned} \ddot{\varphi }+\dot{\varphi }^{2}\cdot {C}_{\mathrm{dI}} (\varphi )+\dot{\varphi }\cdot {C}_{\mathrm{dII}} (\varphi )+{C}_{\mathrm{dIII}} (\varphi )=0, \end{aligned}$$
(21)

where

$$\begin{aligned} {C}_{\mathrm{dI}} {(\varphi )}=\frac{{C}_{\mathrm{d5}} {C}_{\mathrm{d2x}} +C_{\mathrm{d6}} {C}_{\mathrm{d2y}} +C_{\mathrm{d7}} }{{C}_{\mathrm{d5}} {C}_{\mathrm{d1x}} +C_{\mathrm{d6}} {C}_{\mathrm{d1y}} }, \quad {C}_{\mathrm{dII}} {(\varphi )}=\frac{{C}_{\mathrm{d8}}}{{C}_{\mathrm{d5}} {C}_{\mathrm{d1x}} +C_{\mathrm{d6}} {C}_{\mathrm{d1y}} }, \quad {C}_{\mathrm{dIII}} (\varphi )=\frac{{C}_{\mathrm{d9}} }{{C}_{\mathrm{d5}} {C}_{\mathrm{d1x}} +C_{\mathrm{d6}} {C}_{\mathrm{d1y}}}, \end{aligned}$$

with

$$\begin{aligned} {{C}_{\mathrm{d5}}}= & {} \left( {{r}_{\mathrm{A0y}}^{2} + {r}_{\mathrm{A0z}}^{2} + {r}_{\mathrm{A1y}}^{2} + {r}_{\mathrm{A1z}}^{2}} \right) - \frac{{{{r}_{\mathrm{Ky}}}}}{{{{r}_{\mathrm{Kx}}}}} \cdot \left( {r}_{\mathrm{A0x}} {r}_{\mathrm{A0y}} + {r}_{\mathrm{A1x}} {r}_{\mathrm{A1y}} \right) \\ {C}_{\mathrm{d6}}= & {} \frac{{r}_{\mathrm{Ky}} }{{r}_{\mathrm{Kx}} }\left( {{r}_{\mathrm{A0x}}^2 +{r}_{\mathrm{A0z}}^2 +{r}_{\mathrm{A1x}}^{2} +{r}_{\mathrm{A1z}}^{2} } \right) -\left( {{r}_{\mathrm{A0x}} {r}_{\mathrm{A0y}} +{r}_{\mathrm{A1x}} {r}_{\mathrm{A1y}}} \right) ,\\ {C}_{\mathrm{d7}}= & {} \left( {\sum _{\mathrm{j=0}}^{1} {\left( {\vec {{r}}_{\mathrm{Aj}}^*\times \left( {\vec {{C}}_{\mathrm{d1}} \times \vec {{r}}_{\mathrm{Aj}} } \right) +\vec {{r}}_{\mathrm{Aj}} \times \left( {\vec {{C}}_{\mathrm{d1}} \times \vec {{r}}_{\mathrm{Aj}}^*} \right) } \right) } } \right) \cdot \left( {\vec {{e}}_{\mathrm{x}} +\frac{{r}_{\mathrm{Ky}} }{{r}_{{\mathrm{Kx}}} }\cdot \vec {{e}}_{\mathrm{y}} } \right) ,\\ {C}_{\mathrm{d8}}= & {} \left( {\sum _{\mathrm{j=0}}^{1} {\left( {\dot{\vec {{r}}}_{\mathrm{Aj,init}}^{*} \times \left( {\vec {{C}}_{\mathrm{d1}} \times \vec {{r}}_{\mathrm{Aj}} } \right) +\vec {{r}}_{\mathrm{Aj}} \times \left( {\vec {{C}}_{\mathrm{d1}} \times \dot{\vec {{r}}}_{\mathrm{Aj,init}}^*} \right) } \right) } } \right) \cdot \left( {\vec {{e}}_{\mathrm{x}} +\frac{{r}_{\mathrm{Ky}} }{{r}_{\mathrm{Kx}} }\cdot \vec {{e}}_{\mathrm{y}} } \right) , \\ {C}_{\mathrm{d9}}= & {} -\left( {\sum _{\mathrm{j=0}}^{1} {\left( {\vec {{r}}_{\mathrm{Aj}} \times \vec {{g}}} \right) } } \right) \cdot \left( {\vec {{e}}_{\mathrm{x}} +\frac{{r}_{\mathrm{Ky}} }{{r}_{\mathrm{Kx}} }\cdot \vec {{e}}_{\mathrm{y}} } \right) . \end{aligned}$$

In the real case, during or after shifting of the mass points \(\mathrm{A}_{0}\) and \(\mathrm{A}_{1}\), a damped oscillation of the system with respect to the contact point O is to be expected. For simplifying reasons, this behavior can be approximated considering Stokes friction, with the friction coefficient \({k}_{\mathrm{Sto}}\):

$$\begin{aligned} \ddot{\varphi }+\dot{\varphi }^{2}\cdot {C}_{\mathrm{dI}} (\varphi )+\dot{\varphi }\cdot \left( {{C}_{\mathrm{dII}} (\varphi )+{k}_{\mathrm{Sto}} } \right) +{C}_{\mathrm{dIII}} (\varphi )=0. \end{aligned}$$
(22)

4.2 Simulations

In the simulations, the following position changes of the system are considered: \(\varphi =0\rightarrow \pm \pi /2\) (initial conditions: \({\varphi ({t=0})=0}\), \({\dot{\varphi }({t=0})=0})\) and \(\varphi =\pm \pi /2\rightarrow 0\) (initial conditions: \({\varphi ({t=0})=\pm \pi /2}\), \({\dot{\varphi }({t=0})=0})\). Model parameters are: \(a=L=R=\) 80 mm, \(m = \) 25 g, \(d/R = \) 0.7. Actuation parameters are the start and end times \(({t}_{\mathrm{j,start}}, {t}_{\mathrm{j,end}})\) of the actuation and the associated relative positions \(({a}_{\mathrm{j,start}}\), \({a}_{\mathrm{j,end}})\) of the mass points

$$\begin{aligned} {a}_{\mathrm{j}} ({t})=\left\{ {{\begin{array}{l} {{a}_{\mathrm{j,start}} } \\ {{a}_{\mathrm{j,start}} +\left( {{a}_{\mathrm{j,end}} -{a}_{\mathrm{j,start}} } \right) \cdot \left( {{t-t}_{\mathrm{j,start}} } \right) /\left( {{t}_{\mathrm{j,end}} -{t}_{\mathrm{j,start}} } \right) } \\ {{a}_{\mathrm{j,end}} } \\ \end{array} }{\begin{array}{l} \\ \\ \\ \end{array} }{\begin{array}{l} {\hbox {if}} \\ {\hbox {if}} \\ {\hbox {if}} \\ \end{array} }{\begin{array}{l} \\ \\ \\ \end{array} }{\begin{array}{l} {{t}<{t}_{\mathrm{j,start}} } \\ {{t}_{\mathrm{j,start}} \le {t}\le {t}_{\mathrm{j,end}} } \\ {{t}>{t}_{\mathrm{j,end}} } \\ \end{array} }} \right. . \end{aligned}$$
(23)
Fig. 6
figure 6

Example 1 – influence of the speed of actuation of mass point A\(_{0}\) on the system’s equilibrium position after the actuation. Phase portraits for the considered speeds of actuation (a) and detailed views for selected subsets (b); normalized potential energy of the system for \({a}_{0}\)=1.21R, \({a}_{1}=0.79R\) in dependence of \(\varphi \) (c); (\({k}_{\mathrm{Sto}} =0.5\) Ns/mm, markers: x – \(\varphi =0.8689\), \(\Box \)\(\varphi \) = 1.3813, o – \(\varphi =\pi /2\))

Based on the simulations, the following results were found by varying the actuation parameters and the damping coefficient:

  • The change of the equilibrium position of the system from \(\varphi \)=0 to \(\varphi =\pm \pi \)/2 (basic sequence of movement) can be effected with the actuation of only one mass point (result 1).

  • For specific cases, different equilibrium positions of the system can be achieved after the actuation, if the speed of actuation of the mass points is changed (for the case that several equilibrium positions of the system at given relative positions of the mass points after their actuation exist) (result 2).

  • For specific cases, different equilibrium positions of the system can be achieved after the actuation, if the order of the actuated mass points is changed (for the case that several equilibrium positions of the system at given relative positions of the mass points after their actuation exist) (result 3).

  • The vibration behavior of the system is essentially influenced by the speed of actuation of the mass points. Thus, an effective control algorithm can be determined to minimize the decay of oscillation of the system, so that the speed of the systems rolling movement can be maximized (result 4).

Fig. 7
figure 7

Example 2 – influence of the speed of actuation on the system’s equilibrium position after the actuation. Detailed view of two selected sets of actuation parameters over time (a) and corresponding phase portraits (b); phase portraits for the considered speeds of actuation (c) (k\(_{\mathrm{Sto}}=1\) Ns/mm, markers: x – \(\varphi \) = 0.8689, \(\Box \)\(\varphi \)=1.3813, o – \(\varphi =\pi \)/2, see Fig. 6c)

Regarding result 1, the case in which only mass point A\(_{0}\) is moved (from \({a}_{\mathrm{0,start}}={1R}\) to \({a}_{\mathrm{0,end}}=1.{21R}\)) is considered. The relative position of mass point \(\mathrm{A}_{1}\) is constant: \({a}_{\mathrm{1,start}}={a}_{\mathrm{1,end}}=0.79{R}\). With respect to the initial conditions and selected initial positions of the mass points, the system is in stable equilibrium (\(\varphi =0\)) at the beginning of the actuation. The dynamic system behavior is shown in Fig. 6 under varying the speed of movement of the mass point A\(_{0}\), controlled by the parameter \({t}_{\mathrm{0,end}}=1.01{\ldots }2\) s in 0.01 s steps \(({t}_{\mathrm{0,start}}=1~\mathrm{s})\). The results show that multiple ranges of the speed of actuation for mass point \(\mathrm{A}_{0}\) exist, for which at the end of the movement sequence the stable equilibrium position of the system at \(\varphi =\pi \)/2 can be realized (e.g. for \({t}_{\mathrm{0,end}}=1.01{\ldots }1.15~\mathrm{s}\)). Thus, the actuation of only one mass point with an appropriate selected speed is sufficient to realize a basic movement sequence of the system. As the results further show, the system’s equilibrium position at the end of movement varies in dependence of the speed of actuation, in accordance with result 2. Two stable equilibrium positions of the system are possible for the parameters \({a}_{\mathrm{0,end}}\)=1.21R, \({a}_{\mathrm{1,end}}=0.79R\): at \(\varphi =\)0.8689 and \(\varphi =\pi \)/2 (see markers x and o in Fig. 5).

Regarding result 2, a second case is considered in which both mass points are simultaneous actuated (from \({a}_{\mathrm{0,start}}={a}_{\mathrm{1,start}}={R}\) to \({a}_{\mathrm{0,end}}=1.21{R}\), \({a}_{\mathrm{1,end}}=0.79{R}\)), with equal speeds of actuation. With respect to the initial conditions and selected initial positions of the mass points, the system is in stable equilibrium (\(\varphi =0\)) at the beginning of the actuation. Selected results for different speeds of actuation (\({t}_{\mathrm{0,end}}= {t}_{\mathrm{1,end}} = 1.02{\ldots }3\) s, step size: \(0.02~\mathrm{s}, {t}_{\mathrm{0,start}}={t}_{\mathrm{1,start}}=1~\mathrm{s}\)) are depicted in Fig. 7. The equilibrium position of the system after the actuation depends in this case also on the applied actuation parameters.

Regarding result 3, an example is depicted in Fig. 8. As the results show, different equilibrium positions of the system after the actuation can be realized in dependence of the order of the actuated mass points (\(\mathrm{A}_{0} \rightarrow \mathrm{A}_{1}\): \(\varphi =\pi \)/2, \(\mathrm{A}_{1}\rightarrow \mathrm{A}_{0}\): \(\varphi =0.8689\)).

Fig. 8
figure 8

Example 3 – influence of the order of the mass point actuation on the system’s equilibrium position after the actuation. Two selected sets of actuation parameters over time (a) (left: \(\mathrm{A}_{0}\rightarrow \mathrm{A}_{1}\), right: \(\mathrm{A}_{1} \rightarrow \mathrm{A}_{0})\) and corresponding phase portraits (b) (\({k}_{\mathrm{Sto}}=1\) Ns/mm, markers: x – \(\varphi = 0.8689, \) \(\Box \)\(\varphi =1.3813, \mathrm{o} - \varphi =\pi /2\), see Fig. 6c)

Fig. 9
figure 9

Rolling motion of a preliminary prototype (side view) during a basic movement sequence (successively actuation of both internal masses)

Fig. 10
figure 10

Tip-over motion of a preliminary prototype (side view, actuation of only one internal mass)

Fig. 11
figure 11

Rolling motion of a preliminary prototype (top view) during four basic movement sequences (IV\(\rightarrow \)VII see. Fig. 4, successively actuation of both internal masses). Theoretical (a) and experimental (b) data

The considered examples show that the motion of the system is essentially dependent on the type of actuation. Accordingly, the decay time of the oscillation (see result 4) and the maximum oscillation amplitude is decisively influenced by the actuation parameters. Due to the oscillation amplitudes, the use of curved members with \(\hbox {max}({\vert }\varphi _{\mathrm{j}}{\vert }) > \pi /2\) is required instead of semicircular arcs.

4.3 Experimental tests

To verify the theoretical results, experimental tests on a preliminary prototype (see Fig. 1d, R = 85 mm, d / R \(=\) 0.7705, total mass: 168 g, internal masses: 2x56 g) were performed. With a high-speed camera, the system’s movement for different actuation modes was recorded in different views (100 fps) and analyzed. As the results show, the prototype is able to realize the basic rolling movement sequence (see Fig. 9) and also tip-over movement sequence (see Fig. 10).

With repeating basic rolling movement sequences, rolling locomotion of the system without slipping can be achieved. Due to the high prestress of the robot’s tensegrity structure, their elastic deformations during locomotion are negligible. Therefore, the kinematics of the prototype can be described quantitatively with the equations from Sect. 3 (see comparison of theoretical and experimental data in Fig. 11 and also in Fig.12). The main theoretical results from Sect. 4 were also verified qualitatively. Moderate quantitative differences are due to the simplified theoretical model.

To verify the locomotion performance of the preliminary prototype in the plane, rolling and tip-over movement sequences were executed repeatedly alternating. As the results show, the system is able to realize locomotion in the plane. To change the resulting locomotion direction, a tip-over movement sequence is needed.

Fig. 12
figure 12

Locomotion of a preliminary prototype in the x–y plane (top view) by using of pure rolling (I) and combined rolling and tip-over (t-o) movement sequences ((II) and (III))

5 Conclusions and future work

In this paper, basic dynamic properties of a rolling mobile robot, based on a non-conventional tensegrity structure, are presented. The actuation of the robot is realized with internal movement of two masses. It was shown that rolling locomotion can easily realized with tensegrity structures consisting of curved compressed members. Furthermore, the influence of mechanical parameters of the system’s components and actuation parameters on the movement behavior is discussed.

Further work is focused on the extension of the mechanical model, including the masses of compressed and tensioned members. Also alternative actuation techniques, e.g. movement of the internal masses along the curved compressed members, will be considered.