## Abstract

The power of the new equations of motion developed in part I of this paper is illustrated using three examples from multi-body dynamics. The first two examples deal with the problem of accurately controlling the orientation of a rigid body, while the third example deals with the synchronization of two rigid bodies so that their relative orientations are ‘locked’ through prescribed dynamical relationships. The ease, simplicity and accuracy with which control of such highly nonlinear systems is achieved are demonstrated.

## 1. Introduction

Here, we present three different examples, with increasing complexity, that deal with the determination of the equations of motion for rigid bodies and the application of the constrained Poincaré equations that are developed in part I of this paper to the control and synchronization of multi-body systems. For simplicity, we assume in all these examples that the constraints are ideal. We illustrate the ease with which the constrained equations of motion can be used for orienting a rigid body through the application of control torques, so that its time-dependent orientation satisfies a given dynamic trajectory requirement. We also give an example of applying the control torques to a ‘slave’ satellite, so that its orientation is dynamically locked onto the orientation of a second ‘master’ satellite, thereby synchronizing the orientations of the two bodies. These examples are more than just simple illustrations as they arise in numerous real-life applications, such as the actual deployment and control of satellites to fly in formation (Schutte & Dooley 2005; Lam 2006). To maintain continuity and clarity of exposition, we continue with the notations established in part I.

### Example 1: Torque-free motion of an unconstrained rigid body

We begin with an example that will set the stage and the notation for the next two that follow. Consider a rigid body whose moments of inertia about the principal axes (referred as 1-, 2- and 3-axis) going through its centre of mass are *I*_{1}, *I*_{2} and *I*_{3}. To represent the state of the dynamical system, we use the Euler angles and the angular velocities. Then, the state vector is [*ϕ*, *θ*, *ψ*, *ω*_{1}, *ω*_{2}, *ω*_{3}]^{T}, where *ω*s are the angular velocity components measured in the body frame of reference. Using the 3-1-3 Euler sequence, the quasi-velocity vector *s* is given by (Pars 1972)(1.1)

In addition, since , using relation (1.1) we get(1.2)

The kinetic energy of the body is , so that , and after some algebra we get (see part I of this paper for notation)(1.3)Using these results, eqn (2.10) of part I of this paper becomes(1.4)Then, these are the equations of motion along with the set(1.5)where *H*=*G*^{−1}. Equations (1.4) and (1.5) provide the time evolution of the state of the system. These, of course, are just the Newton–Euler equations of motion for a torque-free rigid body. Using this nomenclature, we proceed to the next example.

### Example 2: Control of the orientation of a rigid body

In this example we show the ease with which the equations of motion for constrained mechanical systems obtained by relations (3.23)–(3.25) of part I of this paper can be used for precisely controlling the orientation of a rigid body.

We assume that the body is required to be controlled so that it meets the following trajectory requirements:(1.6)where the parameters , *d*_{i} and *α*_{i}, *i*=1, 2 and 3, are assumed to be given constants. We consider these trajectory requirements as constraints on the mechanical system and obtain the constraint (control) forces that would enable the system to satisfy these constraints. Let us denote the vectors(1.7)and(1.8)so that relations (1.6) can be expressed as *q*(*t*)=*z*(*t*). Differentiating this constraint with respect to time and using relation (1.5), we now place the constraints in the form of eqn (3.4) of part I of this paper to get(1.9)Further differentiation of (1.9) with respect to time gives(1.10)Here, we note that s, s and s appearing in the elements of need to be replaced in favour of *s*_{i}s using the relation (1.5). Comparison of equation (1.10) with eqn (3.5) (from part I of this paper) points out that for this example, *A*_{s}=*H* and the vector *b*_{s} is just the 3-vector on the right-hand side of relation (1.10). However, our equations for constrained motion require that the initial conditions of the rigid body satisfy the constraint relations (1.6) and (1.10), and since in our control problem they may not necessarily do so, we modify our constraints so that they are satisfied asymptotically. We then use the constraint equation (Udwadia 2003)(1.11)where the scalars *Δ* and *K* are chosen to be positive, so that the solution of this differential equation, from ‘nearby’ initial conditions, asymptotically tend to *q*−*z*=0. The exact manner of exponential convergence towards satisfaction of the constraint (trajectory requirement), *q*−*z*=0, is dependent on the parameter values chosen for *Δ* and *K*.

We note that equation (1.11) can be cast in our standard form (3.5) (see part I of this paper) as(1.12)where *A*_{s}(*q*, *s*, *t*)=*H* as in equation (1.10) and .

We consider the numerical example of a rigid body whose moments of inertia about the principal axes going through its centre of mass are *I*_{1}=2, *I*_{2}=1 and *I*_{3}=4. We prescribe the required trajectory by the parameters , (*d*_{1}, *d*_{2}, *d*_{3})=(0.5, 0.3, 0.4) and (*α*_{1}, *α*_{2}, *α*_{3})=(*π*, 4*π*, 2*π*). The initial conditions for this numerical example are taken to be(1.13)and(1.14)

The control moment is explicitly computed using eqn (3.25) of part I of this paper, in which *M*_{s}=Diag(*I*_{1}, *I*_{2}, *I*_{3}). For numerical computations, we have taken *Δ*=2 and *K*=4 in equation (1.12). Matlab's ode45 is used for the numerical integration of the constrained equations of motion with a relative error tolerance of 10^{−13}.

Figure 1*a* shows the uncontrolled response of the rigid body to the above-mentioned initial conditions. Figure 1*b* shows the behaviour of the controlled system, and as required, the Euler angles are seen to satisfy requirements (1.6) rapidly. Similarly, figure 2*a*,*b* shows the uncontrolled and the controlled angular velocities, respectively. Figure 3 shows the errors , and in satisfaction of the constraints (1.6) or our trajectory requirements. We can observe from figure 3*a* that the errors exponentially go to zero, as demanded by relation (1.11). At the end of 30 s, as shown in figure 3*b*, the error in the satisfaction of each of the trajectory requirements is less than 0.5×10^{−12}, which is of the same order of magnitude as the relative error tolerance in performing the numerical integration.

Figure 4 shows the control torques applied over a 10 s period of time about the three body axes that accomplish the task of controlling the rigid body so that the trajectory requirements (1.6) are satisfied.

### Example 3: Synchronization of multiple satellites

With the accent in using formations of multiple satellites for various purposes, ranging from scientific studies like long baseline interferometry to aerial surveillance, the need for controlling them, so that their relative orientations are dynamically synchronized, has become a major technological problem that has attracted considerable recent attention.

Here, we illustrate the ease with which this problem can be handled using the constrained Poincaré equations of motion developed in this paper. We consider two satellites (modelled as rigid bodies) whose motions are to be dynamically synchronized. The moments of inertia about the principal axes going through the centre of mass of each of the two satellites *I*_{i} and *J*_{i}, *i*=1, 2 and 3, are taken to be *I*_{1}=2, *I*_{2}=3, *I*_{3}=1 and *J*_{1}=3, *J*_{2}=4, *J*_{3}=1 in appropriate units. The orientation of each satellite is described using Euler angles *ϕ*_{i}, *θ*_{i} and *ψ*_{i}, *i*=1 and 2, using the 3-1-3 sequence of rotations. The first satellite (whose moments of inertia are described by the *I*s) is chosen as the master satellite and the motion of the second satellite (the slave) is required to ‘follow’ the motion of the master so that(1.15)As mentioned earlier, the parameters , *d*_{i} and *α*_{i}, *i*=1, 2 and 3, are assumed to be given constants. The unconstrained motion of each satellite is described by equations of the form (1.4) and (1.5). The motion of the master satellite is dictated by its initial conditions as no external torque is applied to it.

Our aim is to determine a control force to be applied to the second (slave) satellite so that it satisfies relations (1.15). We note that a special case of (1.15), which accrues when *d*_{1}=*d*_{2}=*d*_{3}=0, represents the situations in which the orientations of the two satellites are ‘locked’.

Using subscript ‘1’ for the master satellite and ‘2’ for the slave, we denote(1.16)and(1.17)so that the synchronization requirements (1.15) can be expressed as(1.18)where *I* is the 3×3 identity matrix. Differentiating equation (1.18) and expressing the vectors in terms of the vectors *Ω*_{i}, using the relation (1.5) for each of the satellites, we get(1.19)which upon one more differentiation yields(1.20)

Since the initial conditions may not, in general, satisfy the trajectory requirements at *t*=0, as in example 2, we alter our constraint equation (1.20) to(1.21)The solution of this differential equation yields asymptotically (*q*−*z*)→0 from nearby initial conditions, as before, and the parameters *Δ*, *K*>0 control the rate of asymptotic exponential convergence to zero. Equation (1.21) can be rewritten in the form (3.5) (see part I of this paper) as(1.22)The unconstrained equations of motion (see equations (1.4) and (1.5) for the notation) for the two-satellite system (the subscripts ‘1’ and ‘2’ refer to the first and the second satellite, respectively) are then given by(1.23)and(1.24)where matrix is a 3×3 diagonal matrix whose diagonal entries are the three principal moments of inertia, *I*_{1}, *I*_{2} and *I*_{3}, of the first (master) satellite; similarly, refers to a 3×3 diagonal matrix corresponding to the second (slave) satellite. The column vectors *S*_{1} and *S*_{2} similarly pertain to the master and the slave satellite, respectively (see equation (1.4)).

But since the first satellite is the master satellite whose motion must remain undisturbed, in addition to the constraint (1.22) we need to add the constraint that this satellite be subjected to no external control torques, i.e. we require, , or equivalently, . Hence, the set of synchronization requirements so that the slave is dynamically synchronized with the master's motion, with the master left undisturbed, translates to(1.25)Using equations (1.23) and (1.24) as the unconstrained equations of motion for the two-satellite system and equation (1.25) as our constraint equation, we can now explicitly determine the control forces that need to be applied to the slave satellite so that the trajectory requirements (1.15) are fulfilled. The explicit control force is given by eqn (3.25) of part I of this paper.

Our numerical example uses the parameter values (*d*_{1}, *d*_{2}, *d*_{3})=(0.2, 0.4, 0.3), (*α*_{1}, *α*_{2}, *α*_{3})=(2*π*, 4*π*, *π*) and . The initial conditions for the two satellites are taken to be(1.26)and(1.27)

Figure 5*a* shows the variation of *θ*_{1}(*t*) and *θ*_{2}(*t*) when the dynamics of the two satellites are allowed to evolve without any control under the influence of the initial conditions given in equations (1.26) and (1.27). Figure 5*b* shows the result of using the explicit control force determined from relation (3.25) (from part I of this paper) for controlling the slave satellite so that it satisfies the dynamic orientation constraints prescribed in equation (1.15). As before, Matlab's ode45 is used for the integration with a relative error tolerance of 10^{−13}.

The differences in the three Euler angles required (from equation (1.15)) for synchronization are computed and shown in figure 6. The solid line shows [*ϕ*_{1}(*t*)−*ϕ*_{2}(*t*)] which is required to be the dashed line shows [*θ*_{1}(*t*)−*θ*_{2}(*t*)] which is required to be and the dash–dot line shows [*ψ*_{1}(*t*)−*ψ*_{2}(*t*)] which is required to be . Figure 7 shows the errors and . As mentioned earlier, these errors exponentially go to zero and are shown for the interval *t*=25–30 s. We see that they approach the order of magnitude of the relative error tolerance of the numerical integration scheme used to integrate the equations. Finally, figure 8 shows the torques over a 10 s period that are needed to be applied about the three body fixed principal axes of the slave satellite to achieve the required synchronization.

## 2. Conclusions and remarks

The power of the new equations of motion developed in part I of this paper is illustrated by the simple and easy way in which they can be used in controlling the highly nonlinear dynamics of rigid bodies. Three examples are illustrated in this paper. The first two examples deal with the orientation (Euler angles) of a satellite so that it satisfies a set of dynamical requirements, while the third example considers the control of a slave satellite so that it is dynamically synchronized with the motions of a master satellite. The illustrative examples show that, asymptotically speaking, one obtains ‘exact’ control and the trajectory requirements are exactly satisfied to the order of the numerical accuracy of the integration scheme used. Furthermore, the exponential rapidity with which these requirements are satisfied can be altered by altering the parameters *Δ* and *K* in equations (1.12) and (1.22). Far from being just of academic value, these examples are of great interest in spacecraft science and considerable effort is currently being expended in trying to handle them.

Besides obtaining the explicit equations of motion for systems described by first-order differential equations that include quasi-velocities, the results obtained in this paper allow the explicit, real-time determination of the control forces and/or torques needed to be applied to one or more highly nonlinear, complex, mechanical systems so that they satisfy a set of (generalized) trajectory requirements. No linearization of the dynamical equations is done, contrary to the accepted practice today in the control of highly nonlinear systems. The use of this new genre of control methods that have been inspired by these deeper results from analytical dynamics of constrained motion is gaining increased prominence these days even among traditional control theorists because they hold out the promise of exact control of highly nonlinear, complex, multi-body systems without making any linearizations and/or approximations (Udwadia 2003; Schutte & Dooley 2005; Lam 2006).

The application of the newly developed Poincaré equations for constrained motion of general mechanical systems to the control of highly nonlinear multi-body systems points out the close connection between the field of mechanics—as it is commonly defined today—and the field of control theory. The results presented in parts I and II of this paper when taken together indeed appear fundamental to the study of what Newton considered to be mechanics—‘the study of the motion of bodies under known forces, and the study of the forces required to cause known motions (Newton 1686).’

## Footnotes

- Received September 12, 2006.
- Accepted January 24, 2007.

- © 2007 The Royal Society