1 Introduction

Rigid body motion is one of the oldest and still interesting branches of classical mechanics. Subtle points of dynamics and mathematical techniques originate from the study of rigid bodies and serve nowadays to explain many physical systems behaviour qualitatively. The low gravity and frictionless background of space can serve as an ideal location to verify experimentally the viability of theoretical statements and principles without resorting to any further assumptions. In spatial robotic applications, those ideal conditions permit one to plainly take advantage of conservative laws naturally arising from existing symmetries derivable from Noether’s theorem [1]. This fact, in turn, leads to a reduced-order derivation of governing equations or first integrals which facilitates the control design and numerical integration tasks. Nonetheless one has still to deal with some perturbations like the slow varying inertia properties or high-frequency vibrations, respectively, caused by fuel consumption or solar booms flexibility, hence deteriorating the ideal conditions. Whenever excited by internal or external sources, this latter source can induce large drifts in the base body orientation over long duration periods. Maintaining the system reliability against such disturbances to achieve precise pointing missions imposes severe requirements on controllers whose effectiveness has to be checked in a near-reality situation. One practical solution for testing hardware and validating attitude controllers could reside on indoor experiments but encounters fundamental difficulties as the conditions of on-orbit environments are nearly impossible to fulfill. Consequently, spacecraft attitude control technology and development has relied instead on extensive analysis and simulation of multi-body dynamics rather than performing experimental validation. In some restricted attempts, models proposed in the literature are either mounted on spherical air bearings [24] or molded as immersed encapsulated prototypes [5] to provide unconstrained rotational motion for ground-based researches in spacecraft dynamics and control. Such appliances are all meant to offer a nearly torque-free environment for the experiment but inconveniences like drag resistance and angular restriction due to bearing limits affect the promptness and range of accessible motions. Despite theoretical advances on control methods to face disturbances of different origins like internal friction or flexibility [6, 7], actual demonstration of hardware reliability and algorithm performance in remote sites such as outer space remains an issue.

Motivated by aforementioned issues and in order to compensate for the omni-presence of gravity in ground-sited laboratories, an attitude control test-bed, shown in Fig. 1, has been developed to study concepts related to satellite attitude dynamics and control. This system is based upon an internally equipped spherical platform constrained to roll on flat surfaces which allows manoeuvres involving continuous large range rotational motions about any directions. The model is simple but effective in demonstrating complex dynamics that may arise in orbit conditions. It can also provide a framework for empirically studying stability of relative equilibria. The idea of an encapsulated system was also adopted in other parallel studies, notably by the authors, for testing dynamically coupled locomotion techniques where no direct contacts between the actuated elements and the environment take place [810]. An analogy is established here for relating the orbital and ground-based prototypes. The correspondence will permit to implement and verify control rules adapted for one system to the other.

Fig. 1
figure 1

A satellite and its analogue imbedded into a rolling sphere, with flexible appendages replaced by oscillators

The derivation approach discussed here is coordinate-free, based on the use of geometric tools specialized to deal with nonholonomic systems [11]. This approach allows one to make full profit of the system “symmetries” to reduce the order of equations and at the same time maintaining physical insight into their structure, without the notational overhead induced by the choice of a specific set of generalized coordinates [1215].

As a preliminary step, system’s accessibility and controllability need to be investigated and further checked in case of internal rotor failure as a probable scenario. Tools from differential geometry will help in this enquiry and also provide insights into generating feasible motions. Next phase consists of getting involved into existing control challenges. As noticed, although well-established principles govern the multi-body space dynamics arena, complications may arise from uncertain rigid body inertia which can change due to fuel consumption, solar array deployment, etc. Adaptive control algorithms may provide estimates of the unknown parameters involved and thus present exceptional potentials in applications such as spatial missions where self-reliability is essential while direct accessibility over the system not feasible. The present research focused on a Lyapunov-based adaptive attitude control scheme to accommodate for inertia uncertainty and is proven to validate on dual systems.

Practical control implementation will require flexibility-induced issues such as attitude drift in the long term to be explicitly addressed. Integrated rigid-elastic control laws set for compensating modal interaction are established on the base of accurate structural models. As mentioned, the main purpose of this research focuses on providing a realistic platform respectful of the actual system’s principal traits in order to verify the controller performance. Despite confined available room, dynamical counterparts to the long and slender flexible components may still be incorporated as some first-mode truncated oscillators. These subsystems are manageable without much encumbrance into the restricted space of the rolling prototype. The compacted system is expected to provide a technical foundation for qualitatively exploring modal interactions and related effects on rotational stability in upcoming investigations.

Another concern subtly addressed here resides in the correct evaluation of data required for feedback in attitude control implementation. Angular velocity components, directly measured via onboard rate gyroscopes, are often noise corrupted which leads to progressive degradation of integration results. To compensate for this attitude drift, the gyros output and other reference set of measured variables are merged according to the motion equations, usually with an Extended Kalman Filter [16]. When the system has a rich geometric structure, namely admits group symmetries, inclusion of those typical observers breaks the whole symmetry and thereafter the consistency of the equations. In reference [17], a constructive method is developed to build computational simpler nonlinear observers respectful of the system symmetries. The process results in an autonomous error equation, unconditionally convergent with measurements in the body-fixed frame. As explored here, this method is amenable to our current situation which presents the necessary symmetry conditions. It is again evocative of the importance of maintaining system geometric structure for investigating, in a general trend, topics such as variables estimation or controllability analysis.

2 Apparatus description

The system consists of the following parts: a rigid exoskeleton sphere in which the satellite prototype is firmly held, various sensors, processors and also imbedded actuators that are mounted on the structure. The model also allows incorporation of unactuated auxiliary bodies that are constrained to move relative to the base body, mimicking the flexible components. In comparison, most free-space simulation laboratories have platforms that float on a thin film of air supplied by means of a hose that passes through the centre of their support base, trying to eliminate any source of friction but which need many supplementary devices [24]. As it concerns the present platform, a completely opposite methodology is pursued that in fact needs sufficient friction being ensured in order that rolling without slipping occurs. Moreover, contrary to most other systems, this device is not constricted to planar motion and can perform full three-dimensional maneuvers without range restriction.

2.1 Actuation method

Actuation mechanisms that may be incorporated into this model include momentum wheels, as well as reaction wheel actuators and jet thrusters, all connected to the base body [8, 18]. Although attitude control of a satellite can be achieved by carefully sequencing the ignition of rocket thrusters, this method consumes rocket fuel and so once the limited supply of fuel exhausted, control is lost. A potential alternative would be to use internally mounted inertia rotors with axes not lying in a mutual plane [9, 10]. By regulating the rotors relative rotation rates, the attitude of the craft may be accurately controlled while minimizing energy consumption.

2.2 Rigid body with oscillators

The union of the satellite prototype with the sphere forms a unique rigid body that can translate and rotate in ℝ2×SO(3) and will, moreover, not be affected by gravity if mounted cautiously without eccentricity. Flexible booms can be replaced by crosswise interior oscillators confined to move along guide ways, perceived as one-mode truncations of the elasto-mechanical system tuned at the appropriate first natural frequency of the original structure. The distributed mass inertia effect of the panels has still to be accounted for by encasing equivalent masses. The model depicted here is strongly motivated by a troublesome phenomenon of drift observed in satellites attitude due to thermo-induced or dynamically driven vibrations of the solar panels [19].

2.3 Rolling constraint

Many real-world mechanical systems have velocity-dependent constraints in their dynamic models. For example, one can cite mobile robots, autonomous aerial and underwater vehicles and hopping robots, etc. Assuming sufficient rigidity, the contact area of the aforementioned sphere with the surface may be considered as a point. In this case, the constraint of rolling without slipping implies that the velocity of this contact point is zero. In contrast, if the shell is flexible then a finite contact area will appear underneath, vast enough to build up a sufficient friction twisting moment and validating the no-twisting condition as a supplementary constraint to the motion.

3 Nonholonomic constraints

When the generalized velocity of a mechanical system satisfies an equation that cannot be written as an equivalent condition on the generalized position, the system is called a nonholonomic system. Nonholonomic constrained systems have to satisfy certain types of restriction imposed by the environment or due to the nature of the system’s inner structure, thus arising in one of the following subdivisions:

  • Kinematic constraints, when bodies of motion are in rolling contact with each others,

  • Dynamic constraints innate from conservation of momentum principles that may occur, for instance, in multi-body systems with under-actuated degrees of freedom.

For illustration, the sphere that rolls without slipping on a stationary or moving platform defines a nonholonomic system on ℝ2×SO(3) whose kinematic properties can be effectively studied using the formalism of Lie group and amply illustrates the nonholonomic aspect of kinematic constraints. Each movement of the sphere is described by the displacement of its centre and the rotational motion of its frame, monitored by the mean of a rotation matrix R. Because R(t) is a curve in SO(3),dR/dt belongs to the tangent space T R SO(3) at R(t). We shall regard the tangent space at any point R of SO(3) as the set of right or left-translations by R of either angular velocity elements \(\omega, {\varOmega}\in \mathfrak{so}(3)\cong T_{I}\mathit{SO}(3)\) of its Lie algebra [8], themselves adjoint by definition, i.e.,

$$ dR/dt = \omega^{\wedge} R = R{\varOmega}^{\wedge}\Rightarrow {\varOmega} \buildrel\Delta\over = Ad_{R}\omega. $$
(1)

In representation terms, the lie algebra of \(\mathit{SO}\mathrm{(3)}\) consists of all 3×3 anti-symmetric matrices. The non-integrable, no-slipping constraint permits complete reconfiguration achievable by rolling or spinning as only mobility freedoms. Adding the constraint of no spinning allows using the formalism of principal bundle and principal connection \(A:T(\mathbb{R}^{2}\times \mathit{SO}(3)) \to \mathfrak{so}(3)\) to formulate the kinematics of the rolling ball. Both constraints can be combined to result into the following form of spatial angular velocity:

$$ \omega = e_{3}\times \dot{x}, $$
(2)

where \((\dot{x}, \dot{R})\in T(\mathbb{R}^{2}\times \mathit{SO}(3))\) and e 3 is the unit vertical vector. As a consequence, it emerges that by following a path x(t) to join two points on the floor, the reorientation results exclusively by integrating along x(t) (taking the horizontal lift of x(t)) and the attitude deviation error due to pursuing a nearby path is bounded by the area enclosed between them [20].

The second kind of constraints arises when the motion of a mechanical system exhibits certain symmetry properties, a fact that entails the conservation of corresponding momentum. If these conserved quantities are not integrable, then a class of nonholonomic systems is thereby obtained. Nonholonomic control systems can also arise as the result of the imposition of control design constraints; that is when certain motion constraints, non-integrable, are forced by the controller. Such imposed constraints may appear in kinematically redundant under-actuated robots [18]. Our particular prototype presents both aforementioned types of nonholonomy. As shown next, the symmetry conditions involved in both Lagrangian and constraints distribution of this system imply, by the nonholonomic Noether theorem [1], that angular momentum of the whole system about the contact point is conserved. This fact together with the kinematic constraint of no slipping, impose non-integrable restrictions on motion.

4 Symmetry and reduction

Specializing systems to the broad class of “mechanical control systems” is one way to restrict the class of nonlinear control systems considered. Many control methodologies do not take advantage of the rich structure of these systems. The mechanical systems’ framework, principally due to their trivial fibre bundle geometric structure, provides a natural setting for the introduction of symmetry and reduction that helps enormously with the analysis [12].

4.1 Conservation and symmetry

A kinematic model has first-order differential equations and planning is much simpler. Apart from integrating the dynamic equations of motion which is usually a tough process, there exists no systematic procedure for finding a kinematic representation for a dynamic system. One way of finding kinematic reductions is to look for system invariances or symmetries; this can be deduced by noticing that the system’s Lagrangian is invariant to translations and rotations on the configuration space, that is, the Lagrangian does not vary with respect to certain changes in the system configuration variables. By Noether’s theorem, such symmetry means that there is a conserved momentum map which, in turn, yields a first-order differential equation relating velocities and configurations. In the present system, the rolling constraints and the Lagrangian are invariant under the action of SE(2). This corresponds to the freedom that we have to select the origin and the orientation of the coordinate axes on the plane where the rolling motion takes place. As a consequence, the system configuration can be reduced to a quotient space. The family of systems reducible can even be broadened for systems whose symmetry is “broken” by an advected vector; e.g., one can notice that the dynamics of a rotating top is not SO(3)-invariant because the gravitational force breaks the full rotational symmetry, and thus the usual reduction of the system by the SO(3) group which is appropriate for the free rigid body can no more be performed. However by considering the system as one depending on the “direction of gravity” as a dynamic parameter in ℝ3, a mathematical recovering of complete rotational symmetry can be exploited for the purpose of reduction [13].

4.2 Euler–Poincaré reduction equations

When a mechanical system admits a symmetry group, it may generally be reduced, allowing one to study the dynamics on a smaller space. When the configuration space itself is a Lie group, this often leads to Euler–Poincaré equations on the reduced space. Simplifying the formalism of Euler–Lagrange derived on the tangent bundle of a Lie group G is based on factoring out the group dependence in the G-invariant Lagrangian by using group symmetry. This results in studying a variational problem on \(\mathfrak{g}=TG/G\) rather than on the whole TG and instead of Euler–Lagrange equations on TG, one obtains the Euler–Poincaré equations on \(G\times \mathfrak{g}\) [14]. Nonholonomic constraints can also be inducted into the reduction process, thereby generalizing the method [11, 15]. The most basic case, known as the pure Euler–Poincaré equation [14], results from the reduction of the Hamiltonian principle applied on a complete G-symmetric unconstrained system to obtain a restrained variational problem on \(\mathfrak{g}\):

(3a)

Because of its special structure, variation of \(\xi\in \mathfrak{g}\) emerges dependent as above to an arbitrary function η. Through applying the variational process, the vanishing integrand comes out as

$$ \frac{d}{dt} \frac{\partial \ell}{\partial \xi} - ad_{\xi}^{*} \frac{\partial \ell}{\partial \xi} = 0, $$
(3b)

where \(\ell=L(e, g^{-1} \dot{g})\) is the reduced Lagrangian obtained by translating the Lagrangian \(L(g, \dot{g})\) to the origin e of the Lie group G and \(\xi=g^{-1} \dot{g}\) is the member of Lie algebra \(\mathfrak{g}\) corresponding to the Lie group motion with the Lie brackets [⋅,⋅] as binary operation. \(ad_{\xi}^{*}: \mathfrak{g}^{*}\to \mathfrak{g}^{*}\) denotes the dual to the adjoint action ad ξ (η)=[ξ,η] on \(\mathfrak{g}\).

A similar trend for reducing the Lagrange– D’Alembert principle can be applied to nonholonomic systems with advected parameter [11]. The construction of the reduced system starts with the system configuration space defined on the semi-direct product \(S\approx G\mbox{\textcircled{s}}V\) of a Lie group G by a vector space V and the presence of a fixed vector a 0 in V. Topologically, S is G×V and the group action on S is

$$ (g_{1}, y_{1}) (g_{2}, y_{2}) = (g_{1}g_{2}, g_{1}y_{2} + y_{1}). $$
(4)

Denoting the vector space \(\mathfrak{s}=\mathfrak{g}\times V\) as the Lie algebra of S with associated Lie bracket expressed as

$$ \bigl[(\xi_{1}, Y_{1}), (\xi_{2}, Y_{2})\bigr] = \bigl([\xi_{1}, \xi_{2}], \xi_{1} Y_{2} - \xi_{2} Y_{1}\bigr), $$
(5)

where for \(\xi\in \mathfrak{g}\) and YV, the induced action of \(\mathfrak{g}\) on V is denoted as ξY.

Assuming \(\bar{L}:TS \times V\to \mathbb{R}\) is a function on the semi-direct product group (g,y)∈S with an advected parameter, namely aV. Furthermore, let’s consider that this function is invariant with respect to the group action

$$ (h, x).(g,\dot{g},y,\dot{y},a) = (hg,h\dot{g},hy + x,h\dot{y},ha) $$
(6)

as follows:

$$ \bar{L}(hg,h\dot{g},hy + x,h\dot{y},ha) = \bar{L}(g,\dot{g},y,\dot{y},a). $$
(7)

As the right-hand side becomes independent of x, so the third argument dependency of \(\bar{L}\) shall be omitted. Actually such invariant functions turn out to be generated, as explained before, from an “almost symmetric” mechanical system with Lagrangian L, supposing that the advected parameter enrolled in its structure is a constant vector like a 0, treated here as a variable vector aV:

$$ L = \bar{L}(g,\dot{g},\dot{y},a)|_{a=a_{0}}. $$
(8)

Ultimately this invariant expression can be contracted to the reduced form , namely the reduced Lagrangian, which represents a translation of the function to the group origin, e:

(9)

with those terms defined as \(\xi\buildrel\Delta\over = g^{-1}\dot{g}, Y \buildrel\Delta\over = g^{-1}\dot{y}, {\varGamma}\buildrel\Delta\over = g^{-1}a\). Intuitively speaking, the reduced Lagrangian is found by transforming variables from spatial to body frame expression in the Lagrangian \(\bar{L}\).

Let the distribution describing the rolling constraints and including the advected parameter be represented with sufficient generality as

$$ \overline{\mathcal{D}}_{(g,y)} = \bigl\{(\dot{g},\dot{y})\in TS: \dot{y} = \widehat{\omega} g\zeta\bigl(g^{-1}a\bigr)\bigr\} $$
(10)

which is easily verified to be also invariant under the group action of (6) and where ζ is an arbitrary function defined by the constraint structure and \(\widehat{\omega}=\dot{g}g^{-1}\) is the right pull-back of tangent vector \((g, \dot{g})\in T_{g}G\) to \(\mathfrak{g}\). These invariant properties of \(\bar{L}\) and \(\overline{\mathcal {D}}\) will permit the reduction procedure.

Now let’s invoke the Lagrange–D’Alembert principle, applying it to the aforementioned nonholonomic system with Lagrangian \(L=\bar{L}|_{a=a_{0}}\) and constraint distribution \(\mathcal{D}=\overline{\mathcal{D}}|_{a = a_{0}}\) to obtain explicitly:

$$ \begin{array}{l} \displaystyle \delta \int L(g(t),\dot{g}(t),\dot{y}(t),a_{0})\,dt + \displaystyle \int f\delta s\,dt = 0, \\ \dot{s} = (\dot{g},\dot{y})\in \mathcal{D}_{(g(t),y(t))}, \\ \delta y = (\delta g g^{-1}) g\zeta(g^{-1}a_{0}), \end{array} $$
(11)

where fis the external force and the variations have to satisfy the constraints, namely \((\delta g,\delta y)\in \mathcal{D}\). Applying the variational process to the reduced Lagrangian scalar instead of L according to (9), taking account that the variation of Lie algebra elements takes special forms as explained in (3a) and performing integration by parts, the following nonholonomic Euler-Poincaré equation results [21]:

(12)

where the linear map \(\rho_{a}:\mathfrak{g}\to V\) is defined by ρ a (ξ)=ξa as the induced action of \(\mathfrak{g}\) on V and its dual map is denoted as \(\rho_{a}^{*}:V^{*}\to \mathfrak{g}^{*}\). The constrained reduced Lagrangian c =| Y=ξς(Γ) consists of evaluating the reduced Lagrangian on the constraint distribution. F and T are the external generalized force and torque, Y=ξζ(Γ) is the reduced form of the constraints and Γ is the image of the advected vector in body frame. Next let’s illustrate the reduction process within our prototype’s framework.

5 Equations of motion

As mentioned, the equations of motion for the present nonholonomic system whose configuration space is defined on \(\mathit{SE}(3)\approx \mathit{SO}(3)\mbox{\textcircled{s}}\mathbb{R}^{3}\), can be derived in the reduced-order Euler-Poincaré formalism by applying the reduction process to D’Alembert’s principle or directly by making use of (12). In order to enhance clarity, let’s employ the nomenclature in Table 1.

Table 1 Definition of parameters

The Lagrangian term is straightforwardly obtained as

(13)

with \(\upsilon_{i}=R^{-1} \dot{x}+{\varOmega} \times r_{i}+\dot{\rho}_{i}E_{2}\) and r i =b i E 1+ρ i (t)E 2, where E 1 and E 2 are the body unit vectors in the directions perpendicular and parallel to the oscillators slots, respectively. The Lie algebra element is defined as

$$ \xi = A^{-1} \dot{A} \buildrel\Delta\over = \widehat{{\varOmega}}\in \mathfrak{so}(3). $$
(14)

The no-slipping constraint is amenable to the standard form:

(15)
(16)

The symmetry group action applying here consists of a matrix rotation B and a vector translation y of the system body frame followed by axial rotations β’s of the rotors:

(17)

It is easily verified that this action renders the Lagrangian and the distribution of the system invariant. The reduced and constrained reduced Lagrangians become

(18)
(19)

with \(\upsilon_{i} = Y + {\varOmega}\times r_{i} + \dot{\rho}_{i}E_{2}\). The reduced constrained equation turns out to be:

$$ Y = {\varOmega}\times( r{\varGamma} + e\chi),\ \hbox{with}\quad g^{-1} \dot{x} \buildrel\Delta\over = Y. $$
(20)

The other terms needed for the complete derivation can be obtained, technically speaking, as

(21)
(22)

where [ , ] denotes the Lie bracket defined on the Lie algebra \(\mathfrak{so}(3)\), corresponding to the cross product. Ultimately, the nonholonomic Euler–Poincaré equations simplify to

(23)

In case no external torques T or forces F but only internal actuation τ is applied, after performing substitutions and dealing with the operations, following results arise:

(24)

The partial derivative ∂ℓ c /∂Ω is evaluated as follows:

(25)

In order to render equations manageable and get profit of more reduction, one can consider the fact that the eccentric mass centre can always be accommodated to identify precisely with the geometric centre (e=0). Assuming an out-of-phase vibration disposition of the oscillators due to rotational manoeuvre excitations, their corresponding unbalancing terms cancel out and can be completely suppressed, if not negligible at all. At this step, let’s figure out the analogy with the space realm by setting the dimension parameter r to zero, equivalent to suppressing the mechanism of angular to linear momentum conversion. Equations of motion of the on-orbit satellite arise subsequently [22]. Consequently the on-orbit case arises as a special case of the ground-based system.

By further investigations, one can conclude that other Coriolis terms appearing in the right-hand side of (24-a) almost neutralize each other in the case of anti-symmetric internal deformations. With all these considerations, the accordingly revised equation becomes

$$ \frac{d}{dt}\biggl(\frac{\partial \ell_{c}}{\partial {\varOmega}}\biggr) + {\varOmega}\times \frac{\partial \ell_{c}}{\partial {\varOmega}} = 0. $$
(26)

Next let’s elaborate the following time derivative, which by combining with above equation and angular velocity definition, vanishes:

$$ \frac{d}{dt}\biggl(R\frac{\partial \ell_{c}}{\partial {\varOmega}}\biggr) = 0, $$
(27)

where RSO(3) is the matrix which represents the rotation mapping the body-fixed frame to the earth-fixed frame. Thus the space representation of this momentum co-vector, ∂ℓ c /∂Ω, reckonable as the angular momentum about the contact point, is conserved; a conclusion that could also have been obtained by employing symmetry-inherited momentum conservation facts [21]. This result permits one to reduce further the equations from a dynamic to kinematic level, supposing the system initially at rest:

(28)

For the purpose of control design, the flexibility effect may initially be neglected then reconsidered in the evaluation of the controller performance as some un/structured perturbation, albeit in the case of high flexibility, there may be structural modes within the control bandwidth which will necessarily require active control schemes to be considered. Nevertheless noting that the operators engaged in (28) are linear with respect to Ω, it is easily solved for if flexibility terms are neglected:

(29)

where \(J \buildrel\Delta\over = (J_{\mathrm{lock}}+mr^{2}\operatorname{Id}_{3\times 3})^{-1}\) and A(Γ) is denoted as the linear operator acting on \(\dot{\varphi}\). This last equation provides the necessary terms for evaluating the instant angular velocity Ω without a gyroscope, requiring only data measurements \((\dot{\varphi},{\varGamma})\) obtainable from other gauge devices. Furthermore, this last equation can be restructured as

$$ \dot{R} = -R \sum A_{i}^{\wedge}({\varGamma}) u_{i}, \quad {\varGamma} = R^{T}e_{3},\ u = \dot{\varphi}, $$
(30)

where A i (Γ) is the ith column of matrix A(Γ) defined above.

6 Control of nonholonomic systems

Nonholonomic systems pose a particular challenge from the control point of view because of under-actuation and that even though controllable in a nonlinear sense, the linearization process ruins their structure, so attempts to deal with standard control methods fail. Moreover Brockett’s theorem inhibits asymptotic stabilization using smooth feedback but fortunately does not affect tracking tasks [23].

6.1 Controllability

This section develops an algorithm for steering the system from one orientation to another. If we consider the velocities of the rotors as our input to this system, we now have a kinematic model of the satellite. Controllability of the fully and under-actuated systems, from a kinematic standpoint, is checked via the Lie bracket distribution as follows. As the original task concerned attitude control, the xy-position of the rolling sphere and spin angles of the rotors did not matter. The controllability of the mobile sphere is reduced to the analysis of the Lie algebra \(\mathfrak{g}\) of the Lie group G underlying the system. Returning to the reduced kinematic equations encountered for the rolling sphere system, (30), let us denote the control vector fields as Y i , i=1..3. By combining them through Lie bracket operations, new directions become accessible which were not directly attainable. The question is whether these combinations would extend to the span of the entire tangent space.

The Lie brackets are computed according to the definition while observing the already present Lie algebra structure of the system, as follows [19]:

$$ Y_{i} = -RA_{i}^{\wedge}({\varGamma}), $$
(31)
(32)

For computational convenience, these control vector fields Y i are transformed via group translation to an isomorphic form \(\tilde{Y}_{i}\) with Lie brackets subsequently calculated as follows:

$$ \tilde{Y}_{i} = e_{i}\Rightarrow [\tilde{Y}_{i},\tilde{Y}_{j}] = e_{i}\times e_{j}, $$
(33)

where e i is the i-unit vector [21]. Derived as above, it is now particularly easier to verify the rank dimension,

(34)

which means that the input vector fields for three rotors or only two rotors with their first level of Lie brackets, span the tangent space of the fibre at each point of the state space. Hence by Frobenius theorem, orientation controllability can be deduced with at least two nonaligned rotors. The open-loop techniques of steering by sinusoids and performing cyclic motions in the shape space to induce spatial motion by the principle of holonomy may be applied here [9, 21, 22].

6.2 Symmetry-preserving observer on Lie groups

Driftless assessment of the actual system’s orientation is required for practical implementation of developed control laws. Measurements of angular velocity and acceleration, completed by earth magnetic field components may be fused together for this purpose according to equations of motion. Such set of outputs is made available by the employment of a multi-axes sensor, intentionally positioned in the sphere centre. The earth magnetic field B can be measured by the magnetometers in the body-fixed frame as y B =R −1 B and the accelerometer will measure a=(d/dt)υ+ where (d/dt)υ is the acceleration of the sphere’s centre and is the gravity vector in body frame. Notice that in our case, these two components of the acceleration vector are orthogonal to each other. Without losing generality, the local magnetic field R −1 B can be considered mainly horizontal and thus orthogonal to Γ. By supposing that inertial acceleration is negligible compared to the gravitational acceleration, the data measured by the accelerometer can be assessed as y G ==R T G where \(G \buildrel\Delta\over=ge_{3}\) denotes the constant vector of gravity. Next one can apply the theory on symmetry-preserving observers [17], as the equations of motion were recognized as left-invariant and the outputs y=(y B ,y G )=(R −1 B,R −1 G) are indeed right-equivariant. This yields the following first-order convergent observer:

(35)

k 1 and k 2being positive arbitrary scalars and \(\hat{R}\) is the rotation matrix evaluation. Indeed one can expect to evaluate the rotation matrix through above equation and (29) by providing instant measurements (y B ,y G ,Ω) available from the body-fixed sensors.

7 Adaptive control law

In this section, we present a feedback control algorithm that ensures reliable tracking of attitude commands in spite of inertia uncertainties. Because the instant mass of the spacecraft and its distribution may be uncertain due to fuel consumption or articulation deployment, it is compulsory for the control system to adapt accordingly. As a corollary, this tracking algorithm may also help to identify the spacecraft inertia matrix.

7.1 Adaptive scheme

Let’s return to the simplified governing dynamics equations, (26), with applied torques terms appearing explicitly:

(36)

where the adopted operator I(Γ) is defined below:

$$ I({\varGamma})\nu \buildrel\Delta\over = J_{\mathrm{lock}}\nu + mr^{2}{\varGamma}\times (\nu\times{\varGamma}). $$
(37)

The objective is to develop an attitude controller enabling the body frame F to track the virtual frame F d . To achieve this goal, an attitude tracking error is defined by the rotation matrix \(\tilde{R}\) that transforms F d into F:

$$ \tilde{R} = \tilde{R}\bigl(e(t)\bigr) \buildrel\Delta\over = R(t)R_{d}^{T}(t), $$
(38)

where e(t)=(e 0(t),e v (t))∈ℝ×ℝ3 is the quaternion representation of the tracking error matrix. R,R d are the actual orientation matrices of frame F and F d , respectively. The angular velocity of F with respect to F d expressed in F, denoted \(\tilde{{\varOmega}}\in \mathbb{R}^{3}\), is obtained as

$$ \tilde{{\varOmega}} \buildrel\Delta\over = {\varOmega} - \tilde{R}{\varOmega}_{d}. $$
(39)

Based on these definitions, the control objective can be stated as

$$ \bigl(\tilde{R}\bigl(e_{v}(t),e_{0}(t)\bigr)\to I,\ \tilde{{\varOmega}}\to 0\bigr)\quad \hbox{as}\ t\to\infty. $$
(40)

Kinematic equations that relate attitude and velocity tracking error between the two frames are expressed as

$$ \dot{e}_{v}=\frac{1}{2}\bigl(e_{v}^{\wedge}+e_{0}I\bigr)\tilde{{\varOmega}},\qquad \dot{e}_{0}=-\frac{1}{2}e_{v}^{T}\tilde{{\varOmega}} $$
(41)

In order to boost the tracking performance, an augmented velocity error is defined as follows:

$$ s \buildrel\Delta\over = \tilde{{\varOmega}} - \alpha e_{v}, $$
(42)

where α is a positive-definite constant matrix.

As a first step, the time derivative of s is derived and combined with the system dynamics to give the expression:

$$ \everymath{\displaystyle} \begin{array}{lll} \bar{I}({\varGamma})\dot{s} &=& -\tau-{\varOmega}\times (J_{\mathrm{lock}}{\varOmega} + J_{\mathrm{rot}}\dot{\varphi}) \\ && + \bar{I}({\varGamma})\biggl({\varOmega}^{\wedge} \tilde{R}{\varOmega}_{d} - \tilde{R}\dot{{\varOmega}}_{d} \\ && + \frac{1}{2}\alpha(e_{v}^{\wedge}+e_{0}I) \tilde{{\varOmega}}\biggr), \\ \bar{I}({\varGamma})\nu &\buildrel\Delta \over =& (J_{\mathrm{lock}} - J_{\mathrm{rot}})\nu + mr^{2}{\varGamma}\times (\nu\times{\varGamma}), \end{array} $$
(43)

where it has been taken account that \(\dot{\tilde{R}}=-{\varOmega}^{\wedge} \tilde{R}\). This equation can be rearranged in order to isolate the terms containing unknown inertia parameters, J lock, as

$$ \everymath{\displaystyle} \begin{array}{rll} \bar{I}({\varGamma})\dot{s} &=& -\tau - {\varOmega}\times J_{\mathrm{rot}}\dot{\varphi} + \underbrace{(J_{\mathrm{lock}}\chi-{\varOmega}\times J_{\mathrm{lock}}{\varOmega})}_{\equiv Y{\varTheta}} \\ && - J_{\mathrm{rot}}\chi + mr^{2}{\varGamma}\times (\chi\times {\varGamma}), \\ \chi &\buildrel\Delta\over =& {\varOmega}^{\wedge} \tilde{R}{\varOmega}_{d} - \tilde{R}\dot{{\varOmega}}_{d} + \frac{1}{2}\alpha\bigl(e_{v}^{\wedge} + e_{0}I\bigr)\tilde{{\varOmega}}, \end{array} $$
(44)

where the terms involving unknown parameters have been replaced by a factorization composed of a measurable regression matrix Y and an array containing the unknown parameters, Θ.

In a first stage, feedback linearization is performed through the control input, considering an evaluation \(\tilde{{\varTheta}}(t)\) of the unknown parameters array which leads to the following expression:

(45)

where the inner control input \(\hat{\tau}\) will be designed in a subsequent stability analysis. After performing substitution in (44), the following results:

$$ \bar{I}({\varGamma})\dot{s} = Y\tilde{{\varTheta}} + \hat{\tau}, $$
(46)

where the parameter-estimate mismatch is represented as

$$ \tilde{{\varTheta}} \buildrel\Delta\over = {\varTheta} - \hat{{\varTheta}}. $$
(47)

7.2 Stability analysis

Let put forward a Lyapunov candidate, \(V(e,s,\tilde{{\varTheta}},t)\), defined in above terms by the following function

(48)

where Λ is a constant positive-definite matrix and β≥0. This function is recognized as positive-definite regarding the fact that the matrix operator \(\bar{I}({\varGamma})\) can be reconstructed as

$$ \bar{I}({\varGamma}) = J_{\mathrm{lock}} - J_{\mathrm{rot}} + mr^{2}I_{3 \times 3} - mr^{2}{\varGamma}\otimes {\varGamma}, $$
(49)

that according to Weil’s inequality [24] has eigenvalues lying between following intervals:

(50)

It is easily verified that ΓΓ has an eigenvalue λ 1=1 associated to eigenvector Γ and also repeated eigenvalues λ 2,3=0,0 corresponding to the set of eigenvectors Γ orthogonal to Γ. So, consequently

(51)

which implies the positive definiteness of the operator \(\bar{I}({\varGamma})\), considering the fact that eigenvalues \(I_{i} \buildrel\Delta\over = \lambda_{i}\{J_{\mathrm{lock}}-J_{\mathrm{rot}}\}\) are positive since the rotors are a subset part of the locked system.

The time derivative of this candidate Lyapunov function can be elaborated to form the subsequent:

(52)

which turns out to simplify considering the fact that \(e_{v}^{T}e_{v}^{\wedge} \tilde{{\varOmega}}=0\). The derivative term in above sentence can be expanded as

(53)

which can be restructured by replacing the term \(\dot{{\varGamma}}\) with Γ×Ω and defining

$$ \chi_{1} \buildrel\Delta\over = ({\varGamma}\times {\varOmega})\times (s\times {\varGamma}) + {\varGamma}\times \bigl(s\times ({\varGamma}\times{\varOmega})\bigr) $$
(54)

for concluding on this final form:

$$ \frac{d}{dt}\bigl(\bar{I}({\varGamma})s\bigr)=\bar{I}({\varGamma})\dot{s} + mr^{2}\chi_{1}. $$
(55)

Replacing this last expression into (52) and taking into account that the operator \(\bar{I}({\varGamma})\) is symmetric, we obtain

(56)

Substituting (46) into (56), we get

(57)

This final contracted form permits to define a parameter updating rule as follows:

$$ \dot{\hat{{\varTheta}}} = {\varLambda} Y^{T}s $$
(58)

which results in

(59)

The last step consists of designing the auxiliary input judiciously as

$$ \hat{\tau} = -\beta e_{v} - 0.5mr^{2}\chi_{1} - {\varUpsilon} s $$
(60)

which contains only known and measurable terms and where ϒ is a positive-definite matrix. After this last substitution, a negative-definite derivative results for the proposed Lyapunov-like function:

$$ \frac{dV}{dt} = -e_{v}^{T}\alpha e_{v}-s^{T}{\varUpsilon} s \le 0. $$
(61)

Barbalat’s lemma indicates that \(\dot{V}\) does tend to zero if it is uniformly continuous and in particular if \(\ddot{V}\) can be shown to be bounded:

(62)

Since V≥0 and \(\dot{V}\le 0, V\) remains bounded. Given the expression for V in (48), this implies that both s and \(\tilde{{\varTheta}}\) are bounded. Furthermore e v being itself intrinsically bounded, (42) in turn implies that \(\tilde{{\varOmega}}\) and hence Ω are bounded. Next taking into consideration that the inverse of \(\overline{I}({\varGamma})\) is the operator

$$ \bar{I}^{-1}({\varGamma})\nu = {\varXi}\nu + m r^{2} \frac{\langle {\varGamma},{\varXi} \nu\rangle}{1-m r^{2}\langle {\varGamma},{\varXi} {\varGamma} \rangle} {\varXi}{\varGamma} $$
(63)

with \({\varXi} \buildrel\Delta\over = (J_{\mathrm{lock}}-J_{\mathrm{rot}}+ m r^{2}I_{3\times 3})^{-1}\), which remains bounded as the inequalities

(64)

prove that the term in the denominator of (63) lies in the following interval:

(65)

Consequently, the denominator term is always positive and does not approach zero. Returning to (46) and (60), this trend shows that \(\dot{s}\) is also bounded. Now that \(\ddot{V}\) is proven to be bounded, \(\dot{V}\) will tend to zero which in turn means that e v →0 and s→0. Finally, this implies that the attitude and angular velocity tracking errors converge to zero:

$$ e\to 0\quad \hbox{and}\quad \tilde{{\varOmega}}\to 0. $$
(66)

Hence, the adaptive control law given by combining (45), (58), and (60) ensures the asymptotic tracking claim.

7.3 Control strategy and analogy

In a parallel construction, control rule (45) just obtained can be applied for the corresponding space satellite with the subtle change of eliminating terms involving the radius parameter. As maintained previously, the on-orbit case emerges as a special case of the nonholonomic system. So it is obvious that the system will admit a similar Lyapunov function as the one proposed in (48). This fact can be verified by elaborating the corresponding dynamic equations through the same sequence of operations within the Lyapunov function derivative developed earlier. It is then established that the same control rule of (45) proves convenient with r=0 substituted. The result follows that this control rule inherited from ground-based investigations can command the space satellite to track any desired pointing direction.

8 Numerical simulations

In this section, we present simulations to illustrate performance of the adaptive scheme to achieve tracking commands and simultaneous identification of the spacecraft inertia parameters. Desired manoeuvres consist of a finite rotation about a fixed space axis, a spinning state about specified body-fixed axis and next a swirling motion describing a conic path. Throughout these accomplishments, the adaptive controller performance is investigated. Note that while the control rule is estimating the locked inertia as a part of the adaptation process, the mass centre eccentricity introduced as a parameter of the system is assumed to be zero. This is practically achievable by balancing the system mass until it maintains a neutral equilibrium state. Also notice that the scheme does not necessarily estimate the unknown parameters exactly, but simply generates values that ensure zero tracking error. More demanding desired-trajectories would imply parameter-estimate convergence to more exact values.

8.1 Finite rotation

The control rule of (45) has been applied for accomplishing a simple maneuver consisting of a rest-to-rest finite rotation about a fixed axis in space. Results of simulation shown in Figs. 2 and 3 describe the initial and final configurations reached by applying those torques. The contact point left a trace on the plane, showing how the rolling scenario has taken place. Applying those torques to the spatial spacecraft would have resulted in a spinning rotation about the same fixed axis.

Fig. 2
figure 2

Initial configuration of the sphere

Fig. 3
figure 3

Configuration after π/2 radians rotation

8.2 Fixed direction spin

As depicted in Fig. 4, the angular tracking task of changing state from rest to rotation about a body-fixed direction at a prescribed rate has been executed. Figure 5 shows the parameters evaluation trend that did not necessarily imply convergence to actual values, whilst the orientation deviation depicted in Fig. 6 in terms of Euler parameters proves that the tracking is accomplished accordingly. It is worth noting that for all practical purposes, the tracking error does not merely tend asymptotically to zero, but converges within definite time lapses. It is also noted from the numerical simulations that parameter identification is achieved more rapidly, whereas tracking takes longer. Illustration of the motion is shown in Fig. 7 which describes a fixed steady spinning state about body axis.

Fig. 4
figure 4

Angular velocities of the body frame compared to those of the virtual frame

Fig. 5
figure 5

Parameters estimation by the adaptive updating scheme

Fig. 6
figure 6

Euler’s parameters description of attitude error

Fig. 7
figure 7

Satellite tracking the body-fixed spinning motion

8.3 Coning motion tracking performance

Another simulation has been performed exhibiting the ability of the controller to track a coning motion despite parameters unawareness, as shown in Figs. 8, 9, 10, 11. Figure 11 illustrates the resulting steady precession. Although the performance can be enhanced for a determined trajectory by the use of high gain values, there is a limitation due to the presence of high-frequency dynamics introduced here as structural resonant modes of the panels. As maintained, the analogy permits to anticipate a similar result using same control inputs for the spatial prototype; the spacecraft would thus approach a whirling precession motion.

Fig. 8
figure 8

Body angular velocity component Ω 1

Fig. 9
figure 9

Body angular velocity component Ω 2

Fig. 10
figure 10

Body angular velocity component Ω 3

Fig. 11
figure 11

Coning motion tracking

9 Conclusions

An equivalence statement is asserted that presents the similitude between a nonholonomic mobile system imbedded in a sphere shell and the same system set in an unconstrained state released of any gravity effects. This dual system is presented as an experiment device adequate for implementing and testing on-orbit attitude control rules for spacecrafts or satellites in laboratory-sited conditions. Similarities existing between both dynamics governing rolling and free-rigid motions permit to conduct an analogy between the free system errant in orbit and the constrained prototype rolling on the ground. Encumbering flexible components are also introduced by substituting them with vibrational and inertial equivalent internal modules. Symmetries involved in the system favour the use of a nonholonomic version of Euler-Poincaré equations which results in a reduced-order system of equations. A mutual adaptive control law based on common-based Lyapunov functions is used to compensate for unknown parameters and provides global tracking of demanding orientation commands. The control rule assumes no previous knowledge of the system’s inertia and is thus unconditionally robust with respect to such parametric uncertainties. Other conceivable application of this setting may reside in the evaluation of the satellite inertia matrix by on-line parameter estimation methods or by using the update rules imbedded in the adaptive control law; each method being applicable in the laboratory site.

Simulations of different maneuvers in the SO(3) orientation manifold showed the viability of the algorithm to pursue any commands for both terrestrial and spatial systems, reinforcing the mentioned analogy theory. Further investigations are needed to explore stability issues due to dynamic interaction between the rigid hub and flexible parts. The main purpose of this analogy was to establish conditions as realistic as possible to space environment’s in order to confront any theoretical results on control with the practical issues involved, as the general behaviour of complex multi-body systems inexorably stands beyond idealization and necessitates experiments.