# A new perspective on the tracking control of nonlinear structural and mechanical systems

Firdaus Udwadia

► To cite this version:

Firdaus Udwadia. A new perspective on the tracking control of nonlinear structural and mechanical systems. Proceedings of the Royal Society A: Mathematical, Physical and Engineering Sciences, 2003, 459 (2035), pp.1783 - 1800. 10.1098/rspa.2002.1062. hal-01399761

HAL Id: hal-01399761

https://hal.science/hal-01399761

Submitted on 20 Nov 2016

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# A new perspective on the tracking control of nonlinear structural and mechanical systems

F. E. UDWADIA

Departments of Aerospace and Mechanical Engineering, Civil Engineering, Mathematics, and Operations and Information Management, University of Southern California, Los Angeles, CA 90089-1453, USA (fudwadia@usc.edu)

Based on recent results from analytical dynamics, this paper develops a class of tracking controllers for controlling general, nonlinear, structural and mechanical systems. Unlike most control methods that perform some kind of linearization and/or nonlinear cancellation, the methodology developed herein views the nonlinear control problem from a different perspective. This leads to a simple and new control methodology that is capable of ‘exactly’ maintaining the nonlinear system along a certain trajectory, which, in general, may be described by a set of differential equations in the observations/measurements. The approach requires very little computation compared with standard approaches. It is therefore useful for online real-time control of nonlinear systems. The methodology is illustrated with two examples.

Keywords: nonlinear systems; holonomic and non-holonomic systems; tracking control; exact control; analytical dynamics; online control

## 1. Introduction

There are several methodologies that have been developed to date for the control of nonlinear systems that have tracking requirements (see, for example, Sastry 1999; Slotine & Li 1991; Vidyasagar 1993). The methodology that we propose in this paper is inspired by a central result related to the analytical dynamics of constrained motion (Udwadia 2000; Udwadia & Kalaba 1992, 1993, 1995, 2000, 2002). This leads us to view the nonlinear control problem from a new and different perspective. And so we begin this paper with a brief outline of this result from dynamics.

Consider the unconstrained mechanical system with $n$ degrees of freedom whose equation of motion may be expressed using Lagrange's equation as

$$M(q,t)\ddot{q} = F(q, \dot{q}, t), \quad q(0) = q_0, \quad \dot{q}(0) = \dot{q}_0. \qquad (1.1)$$

Here, the configuration of the system is described by the $n$-vector ($n \times 1$ vector), $q$, of generalized coordinates, and the dots refer to differentiation with respect to time. The matrix $M(q,t)$ is a positive-definite $n \times n$ matrix, and the ‘known’ impressed force vector $F(q, \dot{q}, t)$ is an $n$-vector. (By ‘known’, we mean here a known function of its arguments.) We next impose upon this unconstrained system $m$ smooth constraints given by

$$\varphi_i(q, \dot{q}, t) = 0, \quad i = 1, 2, \dots, m, \qquad (1.2)$$
that may or may not be holonomic, and that may or may not be independent of one another. The set described by (1.2) may contain holonomic constraints, or non-holonomic constraints, or a combination of holonomic and non-holonomic constraints. Differentiating these $m$ constraints with respect to time, $t$, we obtain the equation

$$A(q, \dot{q}, t)\ddot{q} = b(q, \dot{q}, t), \quad (1.3)$$

where $A(q, \dot{q}, t)$ is a known $m \times n$ matrix and $b(q, \dot{q}, t)$ is a known $m$-vector.

The constrained system is thus completely defined by

(i) the known matrices $M$ and $A$;

(ii) the known vectors $F$ and $b$; and

(iii) the initial conditions, which we assume are consistent with the constraint set (1.2).

It can be shown that the explicit equation, which describes the motion of this constrained mechanical system, is given by (Udwadia & Kalaba 1992)

$$M(q, t)\ddot{q} = F(q, \dot{q}, t) + F^c(q, \dot{q}, t), \quad (1.4)$$

where the $n$-vector that gives the force of constraint, $F^c(q, \dot{q}, t)$, is given by

$$F^c(q, \dot{q}, t) = K(q, \dot{q}, t)[b(q, \dot{q}, t) - A(q, \dot{q}, t)a(q, \dot{q}, t)]. \quad (1.5)$$

Here, the $n \times m$ matrix $K(q, \dot{q}, t)$ is shown to be

$$K(q, \dot{q}, t) = M^{1/2}(q, t)[A(q, \dot{q}, t)M^{-1/2}(q, t)]^+, \quad (1.6)$$

and the vector $a(q, \dot{q}, t)$ is the acceleration of the unconstrained system given by

$$a(q, \dot{q}, t) = M^{-1}(q, t)F(q, \dot{q}, t). \quad (1.7)$$

The superscript ‘+’ in (1.6) denotes the Moore–Penrose generalized inverse of the matrix. Equations (1.4)–(1.7) give the *explicit* equation of motion of the constrained system in terms of the quantities $M$, $A$, $F$ and $b$.

The right-hand side of (1.5) explicitly provides the force of constraint $n$-vector, $F^c$, that is needed so that the unconstrained system (1.1) satisfies the constraint set (1.2).

There are five things worthy of note in this result:

(i) the constraints in the set given by (1.2) are not required to be functionally independent and may be holonomic and/or non-holonomic;

(ii) the force of constraint $F^c(q, \dot{q}, t)$ is obtained in *closed form*, as given explicitly by (1.5);

(iii) its determination involves simple matrix multiplications and additions, and hence it can be computed rapidly, and in real time;

(iv) the force of constraint is such that, in the presence of the impressed force $F$, the constrained system *exactly* satisfies the set (1.2); and
(v) we assume that the constrained system satisfies the initial conditions given in (1.1).

With this background, we are now ready to ‘reframe’ the problem of constrained motion in analytical dynamics as a tracking-control problem. We shall reinterpret the constraint force $n$-vector, $F^c$, as the control force we desire to apply to the system, and the constraint set (1.2) as the desired trajectory that the mechanical system is required to track under the influence of this control force.

## 2. An exact tracking control methodology for nonlinear structural and mechanical systems with holonomic and/or non-holonomic trajectory requirements

As before, we consider an $n$-degree-of-freedom mechanical system described by Lagrange's equations as

$$M(x,t)\ddot{x} = F(x, \dot{x}, t), \quad x(0) = x_0, \quad \dot{x}(0) = \dot{x}_0. \qquad (2.1)$$

Here, $x$ is the generalized coordinate used in describing the configuration of the system. The $n \times n$ matrix $M$ is again positive-definite. We shall assume that the observation $m$-vector, $y(t)$, is related to the response $x(t)$ by the observation equation

$$y(t) = Cx(t), \qquad (2.2)$$

where $C$ is the constant $m \times n$ measurement matrix.

It is desired to control the system described by (2.1), and determine the control-force vector $F^c(y, \dot{y}, t)$ so that, for the controlled system described by

$$M(x,t)\ddot{x} = F(x, \dot{x}, t) + F^c(y, \dot{y}, t), \qquad (2.3)$$

the measurement $y(t)$ satisfies the $s$-desired tracking relations

$$h(y, \dot{y}, t) = 0, \qquad (2.4)$$

where $h$ is an $s$-vector. We assume that the functions $h_i(y, \dot{y}, t)$ are $C^1$ and that (2.4) constitutes a set of relations that are feasible for the system to satisfy. The set (2.4) may contain relations that are integrable and/or non-integrable. (Holonomic trajectory requirements need to be $C^2$.) Also, the system's initial conditions $x(0)$ and $\dot{x}(0)$ are such as to satisfy (2.4), i.e. that the system starts so that, at the initial time, we satisfy the desired trajectory requirements described by (2.4). Later on, we shall see how to relax this assumption on the initial conditions.

Differentiating (2.4) with respect to time, one obtains

$$H(y, \dot{y}, t)\ddot{y} = \frac{\partial h}{\partial \dot{y}}\ddot{y}(t) = -\frac{\partial h}{\partial y}\dot{y} - \frac{\partial h}{\partial t}, \qquad (2.5)$$

where we have denoted the $s \times m$ matrix $\partial h / \partial \dot{y}$ by $H$. In view of (2.2), this can be expressed as

$$B\ddot{x} = HC\ddot{x}(t) = b(y, \dot{y}, t) = b(Cx, C\dot{x}, t), \qquad (2.6)$$

where we have denoted the $s \times n$ matrix $HC$ by $B$, and the $s$-vector $b$ is given by

$$b(y, \dot{y}, t) = -\frac{\partial h}{\partial y}\dot{y} - \frac{\partial h}{\partial t}. \qquad (2.7)$$
We note that, by using relations (2.2) and (2.4) on the right-hand side of (2.7), the s-vector b may be thought of as a known function of x, ˙x and t, as explicitly indicated in (2.6). From here on, we shall suppress the arguments of the various quantities unless required for clarification. We now show the following result.

**Result 2.1.** The class of control forces that minimize at each instant of time the quantity

$$J(t) = (F^c)^T N(x, t) F^c, \qquad (2.8)$$

where the $n \times n$ matrix $N(x, t)$ is a given positive definite matrix at each instant of time $t$, while causing the controlled system (2.3) to satisfy relation (2.6), is given by

$$F^c = N^{-1/2} G^+ (b - B M^{-1} F) \qquad (2.9)$$

where $G$ denotes the matrix $B(N^{1/2}M)^{-1}$ and $G^+$ denotes the Moore-Penrose generalized inverse of the matrix $G$.

*Proof.* Let

$$z(t) = N^{1/2} F^c = N^{1/2} (M \ddot{x} - F). \qquad (2.10)$$

Then

$$J(t) = \|z(t)\|_2^2 \qquad (2.11)$$

and, by (2.10),

$$\ddot{x} = (N^{1/2} M)^{-1} (z + N^{1/2} F). \qquad (2.12)$$

Since the controlled system must satisfy (2.6), we require, using (2.12),

$$B(N^{1/2} M)^{-1} z = b - B M^{-1} F. \qquad (2.13)$$

Setting $G = B(N^{1/2}M)^{-1}$, the vector $z(t)$ that minimizes $J(t)$ subject to the linear set of equations (2.13) is given by

$$z(t) = G^+ (b - B M^{-1} F). \qquad (2.14)$$

Noting (2.10), the control force is now explicitly given by

$$F^c = N^{-1/2} G^+ (b - B M^{-1} F). \qquad (2.15)$$

<figure><img src="image_2.png" /></figure>

**Remark 2.2.** When the matrix $N(x, t)$ is chosen to be the matrix $M^{-1}(x, t)$, criterion (2.8) becomes equivalent to requiring that the control force satisfy the principle of D’Alembert. Since this is the principle that underlies the evolution of constrained motion in mechanical systems in nature, the control force determined using this criterion would be the one that nature ‘would employ’ were the mechanical system (2.1) required to satisfy the constraint (2.6). The matrix $G$ now becomes equal to $BM^{-1/2}$, and the control force is then obtained as

$$F^c = M^{1/2} (BM^{-1/2})^+ (b - B M^{-1} F). \qquad (2.16)$$

Note that, comparing equations (1.3) and (2.6), this result can be obtained directly from equations (1.5)–(1.7), by simply replacing the matrix $A$ in them by the matrix $B$ that is given in (2.6). This illustrates the deeper connections between the tracking control problem and the analytical dynamics.
**Remark 2.3.** The same result would be obtained were (2.13) to be satisfied in the least-squares sense instead of exactly. That is, even if (2.13) were inconsistent, the least-squares solution for $z$ that minimizes $J(t)$ would still be given by (2.14).

More specifically, if we had measurement noise, modelled so that (2.6) becomes

$$B\ddot{x}(t) = b(y, \dot{y}, t) + \varepsilon(t), \qquad (2.17)$$

then (2.13) would change to

$$B(N^{1/2}M)^{-1}z = b - BM^{-1}F + \varepsilon. \qquad (2.18)$$

The vector $z$ that satisfies (2.18) in the least-squares sense and minimizes $J(t)$ is then again given by

$$z(t) = G^{+}(b - BM^{-1}F). \qquad (2.19)$$

The control force in the presence of measurement noise, modelled in this fashion, is then still given by

$$F^c = N^{-1/2}G^+(b - BM^{-1}F). \qquad (2.20)$$

## 3. Trajectory stabilization

We note that the control methodology developed here requires that the initial conditions ($x_0$ and $\dot{x}_0$) satisfy the desired tracking relation (2.4). However, in the presence of measurement noise, this may not really occur, and (2.4) may be satisfied only approximately at the initial time. One way of handling this would be by using Lyapunov stability theory as follows.

Instead of considering the desired trajectory to be described by the set of $s$ (equation (2.4)), we modify them as

$$\dot{h}(y(t), \dot{y}(t), t) = f^h(h, t; \alpha), \qquad (3.1)$$

where $f^h(h, t; \alpha)$ is an $s$-vector, which may contain a parameter $p$-vector $\alpha$. This $s$-vector $f^h(h, t; \alpha)$ is chosen so that the system of equations (3.1) has the following two properties:

(i) $h = 0$ is an equilibrium point of the system; and

(ii) this equilibrium point is globally asymptotically stable (GAS).

Actually, the condition on GAS could be relaxed to asymptotic stability of the equilibrium point with a large enough region of attraction in phase space that includes a suitable neighbourhood of the trajectory of the controlled system.

Numerous systems that have these two properties can be constructed; for example, $\dot{h}_i = -\alpha_i h_i$, where the constants $\alpha_i > 0$, $i = 1, 2, \dots, s$, is one such set of equations. The specific choice of the $s$ functions $f_i^h$ and the parameter $p$-vector, $\alpha$, will affect the rate at which the trajectory approaches the equilibrium point $h = 0$, and thus the corresponding rate at which the tracking relation $h(y, \dot{y}, t) = 0$ is satisfied.

But were we to use the relations (3.1) as our desired trajectory requirement, then, upon differentiation, we obtain the $s$ relations

$$H\ddot{y}_i = b_i + f_i^h(h, t; \alpha) = \tilde{b}_i, \quad i = 1, 2, \dots, s. \qquad (3.2)$$

Our modified tracking requirement (3.1) then requires us to replace (2.5) with (3.2), and (2.6) with

$$B\ddot{x}(t) = \tilde{b}(y, \dot{y}, t) = \tilde{b}(Cx, C\dot{x}, t). \qquad (3.3)$$
**Result 3.1.** The control force, $F^c$, that minimizes $J(t)$ (see (2.8)) at each instant of time while satisfying (3.3) is given by

$$F^c = N^{-1/2}G^+(\tilde{b} - BM^{-1}F), \qquad (3.4)$$

where $G$ again denotes the matrix $B(N^{1/2}M)^{-1}$.

*Proof.* The proof is similar to that of result 2.1. We need to simply replace $b$ by $\tilde{b}$ in relation (2.9). ■

**Remark 3.2.** If the $s$ (feasible) tracking requirements are holonomic, i.e. of the form

$$h_i(y, t) = 0, \quad i = 1, 2, \dots, s, \qquad (3.5)$$

then these requirements can similarly be modified, for instance, to

$$\ddot{h}_i + \delta_i \dot{h} + \kappa_i h = 0, \quad i = 1, 2, \dots, s, \qquad (3.6)$$

with $\delta_i, \kappa_i > 0$, so that the fixed point $s$-vector $h = \dot{h} = 0$ is asymptotically stable. Upon using (3.5) in (3.6), the modified tracking requirement (3.6) again reduces to the form

$$\hat{B}\ddot{x} = \hat{b}(y, \dot{y}, t), \qquad (3.7)$$

with $\hat{B} = (\partial h / \partial y)C$, and $\hat{b}$ is appropriately determined after the necessary differentiations with respect to time are carried out.

The control force, $F^c$, that minimizes $J(t)$ (see (2.8)) at each instant of time while satisfying (3.7) is again obtained as

$$F^c = N^{-1/2}\hat{G}^+(\hat{b} - \hat{B}M^{-1}F) \qquad (3.8)$$

by simply replacing $B$ by $\hat{B}$ and $b$ by $\hat{b}$ in relation (2.9). Now $\hat{G}$ denotes the matrix $\hat{B}(N^{1/2}M)^{-1}$.

**Remark 3.3.** Combinations of ‘desired’ trajectories, which we require the controlled system to track, of the form given by (2.4) and (3.5) can thus be easily simultaneously handled, and so trajectory requirements of both holonomic and non-holonomic type can be accommodated in the methodology.

# 4. Examples

**Example 4.1.** Consider a nonlinear mechanical system subjected to the impressed forces $F_x, F_y$ and $F_z$, so that the equation of motion for the system becomes ($M = I$)

$$\ddot{x} = \begin{bmatrix} \ddot{x}_1 \\ \ddot{x}_2 \\ \ddot{x}_3 \end{bmatrix} = \begin{bmatrix} F_1(x, \dot{x}, t) \\ F_2(x, \dot{x}, t) \\ F_3(x, \dot{x}, t) \end{bmatrix} = F, \quad x(0) = x_0, \quad \dot{x}(0) = \dot{x}_0. \qquad (4.1)$$

We shall assume that the measurement $m$-vector $y$ is given by the relation

$$y = Cx = \begin{bmatrix} 1 & 1 & 0 \\ 0 & 1 & -1 \\ 1 & -1 & 0 \end{bmatrix} x, \qquad (4.2)$$
and the desired (and feasible) non-holonomic trajectory we want system (4.1) to track is given to be

$$ \dot{y}_2 = y_3 \dot{y}_1, \quad (4.3) $$

so that

$$ h(y, \dot{y}, t) = \dot{y}_2 - y_3 \dot{y}_1 = 0. \quad (4.4) $$

Differentiating (4.4) with respect to time, we get

$$ H = [-y_3 \quad 1 \quad 0] \quad (4.5) $$

and

$$ b = \dot{y}_3 \dot{y}_1. \quad (4.6) $$

This yields

$$ B = HC = [-y_3 \quad (1-y_3) \quad -1]. \quad (4.7) $$

Let us choose the weighting matrix $N = I$.

The control, $F^c$, that minimizes $(F^c)^T F^c$ at each instant of time and causes relation (4.4) to be exactly satisfied is then explicitly given by relation (2.16) as

$$ F^c = B^+(b - BF) = \begin{bmatrix} -y_3 \\ 1 - y_3 \\ -1 \end{bmatrix} \frac{(\dot{y}_1 \dot{y}_3 + y_3 F_x - (1 - y_3)F_y + F_z)}{(2y_3^2 - 2y_3 + 2)}, \quad (4.8) $$

where we have used the fact that, for any non-zero row vector $U = [u_1, u_2, \dots, u_n]$, the Moore-Penrose (MP)-inverse

$$ U^+ = \frac{1}{\sum_{i=1}^{n} u_i^2} U^T. $$

We now show some simulations of our proposed methodology. We consider the nonlinear mechanical system (4.1), and specify the impressed forces and the initial conditions. We assume

$$ F_1 = \sigma(x_2 - x_1) - c_1 \dot{x}_1, \quad (4.9) $$

$$ F_2 = \lambda x_1 - x_1 x_3 - x_2 - c_2 \dot{x}_2, \quad (4.10) $$

$$ F_3 = x_1 x_2 - \beta x_3 - c_3 \dot{x}_3, \quad (4.11) $$

with $\sigma = \lambda = 1$ and $\beta = 2$. We take the damping parameters to be $c_1 = c_3 = \frac{1}{2}$ and $c_2 = 0$, and the initial conditions to be $x_1(0) = 0$, $x_2(0) = 1$, $x_3(0) = 1$, $\dot{x}_1(0) = \dot{x}_2(0) = \dot{x}_3(0) = 0$. Note that these initial conditions satisfy the trajectory requirement (4.4) at time $t = 0$. (The right-hand sides in (4.9)-(4.11) are actually those of the Lorenz equations to which we have added the damping terms in the velocities. Note, however, that the Lorenz equations are first-order differential equations.)

Using MATLAB's ODE45 integrator with a relative error tolerance of $10^{-7}$ and an absolute error tolerance of $10^{-8}$, figure 1a shows the response vector $x$ of the uncontrolled system (4.1), figure 1b shows the measurement vector $y$, and figure 1c shows the function $h(y, \dot{y}, t)$, from which we infer that the uncontrolled system does not satisfy the desired trajectory requirement given by (4.4). In these figures, and those to follow, a solid line shows the first component of a vector quantity, a dashed line shows the second and a dash-dot line shows the third.
<figure><img src="image_3.png" /><figcaption>Figure 1. (a) Response *x* of uncontrolled nonlinear system. Component *x*₁(*t*) is shown by the solid line, *x*₂(*t*) is shown by the dashed line and *x*₃(*t*) is shown by the dash-dot line. (b) Measurements *y*₁(*t*), *y*₂(*t*), *y*₃(*t*) of uncontrolled system. The component *y*₁(*t*) is shown by the solid line, *y*₂(*t*) by the dashed line and *y*₃(*t*) by the dash-dot line. (c) Extent to which the trajectory requirement given by (4.4) is not satisfied by the uncontrolled system.</figcaption></figure>
<figure><img src="image_4.png" /><figcaption>Figure 2. (a) Measurements $y_1(t)$, $y_2(t)$ and $y_3(t)$ of controlled system. (b) Extent to which the trajectory requirement given by (4.4) is satisfied by the controlled system. (c) Control-force vector required to maintain the trajectory described by (4.4).</figcaption></figure>
<figure><img src="image_5.png" /><figcaption>Figure 3. (a) Exponential satisfaction of trajectory requirement when starting with incorrect initial conditions. (b) Control-force vector, $F^c$, required to maintain the trajectory of (4.12).</figcaption></figure>

We next impose the control force that we described in closed form by (2.9), and evaluated for this example in (4.8). Parts (a), (b) and (c) of figure 2 show, respectively, the measurement vector $y$, the function $h(y, \dot{y}, t)$ and the control-force vector $F^c$, required to cause the desired trajectory requirement, $h(y, \dot{y}, t) = 0$, to be satisfied. From figure 2b, we observe that the desired trajectory is satisfied to within the integrator's error tolerance (note the vertical scale on the plot). However, inaccuracies in integration appear to cause a slight drift of $h(y, \dot{y}, t)$ away from zero. We next use trajectory stabilization to reduce this effect as well as the effect of measurement noise.

Our theoretical initial development required that the initial conditions $x_0$ and $\dot{x}_0$ satisfy the trajectory requirement $h(y, \dot{y}, t) = 0$. We now illustrate the result of applying the closed-form control described in result 3.1, to a situation when this no longer holds, possibly due to small measurement errors. Were the initial condition $\dot{x}_2(0)$ to be changed to 0.1, then the system would not be on the desired trajectory
<figure><img src="image_6.png" /><figcaption>Figure 3. (Cont.) (c) Measurements $y_1(t)$, $y_2(t)$ and $y_3(t)$ for the controlled system using stabilization. $y_1$ is shown by a solid line, $y_2$ by a dashed line and $y_3$ by a dash-dot line. (d) Expanded-scale graph of the error in satisfaction of the non-holonomic trajectory requirement (4.4) when starting from incorrect initial conditions, and using stabilization by means of (4.12).</figcaption></figure>

initially, and relation (4.4) would not be initially satisfied. In such a circumstance, one would use trajectory stabilization. We show the efficacy of using the modified trajectory requirement

$$ \dot{h} = -0.5h. \qquad (4.12) $$

The satisfaction of this modified requirement, and the necessary control-force vector to achieve it are shown in parts (a) and (b) of figure 3, respectively. We observe that the initial discrepancy in satisfaction of the trajectory requirement is exponentially driven down to zero, causing the requirement $h(y, \dot{y}, t) = 0$ to be asymptotically satisfied, as expected.
<figure><img src="image_7.png" /><figcaption>Figure 4. Three point masses connected by springs with prescribed initial conditions falling under gravity as they vibrate, spin and tumble.</figcaption></figure>

The measurements $y_i$, $i = 1, 2, 3$, for the controlled system are shown in figure 3c. In figure 3d, we show, on an expanded scale, the extent to which the non-holonomic trajectory requirement is satisfied. Comparison with figure 2b shows that the tracking error is now reduced to the same order of magnitude as the round-off in the integration, and the offset in it is removed.

**Example 4.2.** We next consider a system with three point masses $m_i$, $i = 1, 2, 3$, connected together by linear springs with spring constants $k_i$, $i = 1, 2, 3$, as shown in figure 4. The unstretched lengths of the three springs are $l_i$, $i = 1, 2, 3$, respectively. Each mass is given an initial velocity and is allowed to fall under gravity. Our aim to control the system so that the magnitude of the angular momentum vector of the system about the origin is kept a constant, equal to its initial magnitude. Though a seemingly simple trajectory requirement, it is both highly nonlinear in the velocities, and non-integrable. Such requirements on angular momentum often arise in quantum mechanics and in spacecraft attitude control.

For convenience, we shall take the measurement matrix $C$ to be the $9 \times 9$ identity matrix, so that the measurement vector $y = x = [x_1, y_1, z_1, x_2, y_2, z_2, x_3, y_3, z_3]^T$. Denote the $j$th component of the angular momentum of mass $m_i$ about the origin by $p_{i,j}$, so that

$$p_{i,x} = p_{i,1} = m_i u_i = m_i (y_i \dot{z}_i - z_i \dot{y}_i), \quad (4.13)$$

$$p_{i,y} = p_{i,2} = m_i v_i = m_i (z_i \dot{x}_i - x_i \dot{z}_i), \quad (4.14)$$

$$p_{i,z} = p_{i,3} = m_i w_i = m_i (x_i \dot{y}_i - y_i \dot{x}_i). \quad (4.15)$$

The angular momentum trajectory requirement can then be expressed as

$$h(y, \dot{y}) = h(x, \dot{x}) = \sum_{j=1}^{3} \left( \sum_{i=1}^{3} p_{i,j}(t) \right)^2 - \sum_{j=1}^{3} \left( \sum_{i=1}^{3} p_{i,j}(0) \right)^2 = 0. \quad (4.16)$$

Differentiating relation (4.16) with respect to time, and denoting

$$d_1 = \sum_{i=1}^{3} m_i u_i, \quad d_2 = \sum_{i=1}^{3} m_i v_i, \quad d_3 = \sum_{i=1}^{3} m_i w_i, \quad (4.17)$$
<figure><img src="image_8.png" /><figcaption>Figure 5. (a) The distance between masses 1 and 2 is shown by the solid line; between masses 2 and 3 by the dashed line; and between masses 1 and 3 by the dot-dash line. (b) The extent to which the magnitude of the angular momentum differs from its initial value when no control forces are applied.</figcaption></figure>

the 1 × 9 matrix $H$ in (2.5) is then given by

$$H = 2 \begin{bmatrix} m_1(-y_1 d_3 + z_1 d_2) \\ m_1(-z_1 d_1 + x_1 d_3) \\ m_1(-x_1 d_2 + y_1 d_1) \\ m_2(-y_2 d_3 + z_2 d_2) \\ m_2(-z_2 d_1 + x_2 d_3) \\ m_2(-x_2 d_2 + y_2 d_1) \\ m_3(-y_3 d_3 + z_3 d_2) \\ m_3(-z_3 d_1 + x_3 d_3) \\ m_3(-x_3 d_2 + y_3 d_1) \end{bmatrix}^T, \quad (4.18)$$

and the scalar $b = 0$. Using the weighting matrix $N = I$, equation (2.16) now yields
<figure><img src="image_9.png" /><figcaption>Figure 5. (Cont.) (c) Motion for 5 units of time of the coupled system as it vibrates and falls under gravity. The dashed lines show the contemporaneous positions of the three masses at various intermediate times.</figcaption></figure>

the exact control forces required to maintain the magnitude of angular momentum to be a constant. For trajectory stabilization, we use the altered constraint equation

$$ \dot{h}(y, \dot{y}) = -\alpha h(y, \dot{y}), \qquad (4.19) $$

where $h(y, \dot{y})$ is given by (4.16).

We determine the motion of the three masses $m_1 = 1$, $m_2 = 2$, $m_3 = 3$ for the following parameter values (in appropriate units):

$$ \begin{aligned} k_1 &= 40, & k_2 &= 50, & k_3 &= 20, \\ x(t=0) &= [1, 2, 100, 2, 3, 100, 3, 1, 100]^T, \\ \dot{x}(t=0) &= [0, 0, 20, 0, 0, 10, 0, 0, 5]^T. \end{aligned} $$

The acceleration due to gravity, $g$, is taken to be $9.81 \text{ m s}^{-2}$. The unstretched lengths, $l_i$ of the springs are each 2 units, so that the extensions in the three springs initially are 0.2361, 0.2361 and $-0.5858$, respectively. The initial angular momentum of the system with respect to the origin is 155.724, and the integration is done using the stiff differential equation solver, ODE15s, in the MATLAB environment. Figure 5a shows the variation of inter-mass distances with time. The total angular momentum of the system varies as the system falls under gravity. Figure 5b shows the change in the magnitude of the total angular momentum vector with time. The actual three-dimensional motion of the system is shown in figure 5c. The trajectory of each mass is shown, and the contemporaneous positions of the three masses at intermediate times between zero and 5 time units are shown by solid circles connected by dashed lines. The small circle denotes mass $m_1$, the intermediate-size circle denotes mass $m_2$ and the large circle denotes mass $m_3$.

We next show the corresponding results when the system is subjected to control forces ($N = I$) so that the magnitude of the system's angular momentum vector
<figure><img src="image_10.png" /><figcaption>Figure 6. (a) Components of the total angular momentum of system. X-component is shown by solid line, Y-component by dashed line, Z-component by dash-dot line. (b) Extent to which magnitude of angular momentum of controlled system differs from its value at initial time. Note the Y-axis scale.</figcaption></figure>

is maintained a constant which equals to its value at time $t = 0$. The parameter $\alpha$ in (4.19) is taken to be 4. Figure 6a shows the three components of the total angular momentum of the controlled system. Figure 6b shows the extent to which the magnitude of the angular momentum of the system differs from its initial value when the system is controlled by the control forces that are explicitly given by (3.4).

Comparing figures 5b and 6b, we observe that *with* the prescribed control the trajectory requirement is satisfied to within the round-off error in our numerical integration. Figure 6c shows the motion of the controlled system.

The control-force components required to be applied on each of the masses are shown in figure 7. These control forces, which are explicitly determined at each instant of time by (3.4), maintain the ‘stabilized’ trajectory requirement described by (4.19). The extent to which this requirement is satisfied is shown in figure 6b. It
<figure><img src="image_11.png" /><figcaption>Figure 6. (Cont.) (c) Motion for 5 units of time of the controlled coupled system as it vibrates and falls under gravity. The dashed lines show the contemporaneous positions of the three masses at various intermediate times.</figcaption></figure>

should be noted that the control-force vector $F^c$ is so determined that the stabilized constraint (4.19) is *exactly* satisfied, while keeping $(F^c)^T F^c$ a minimum *at each instant* of time.

## 5. Conclusions

In this paper we have provided a powerful new methodology for controlling nonlinear structural and mechanical systems. The inspiration for this methodology does not come from the usual well-trodden lines of thinking found in the literature on nonlinear control theory, but from a different, though closely allied, field, namely analytical dynamics.

The methodology has the following salient features.

(i) Both holonomic and non-holonomic trajectory-tracking requirements, or a combination of such requirements, are handled in a uniform manner, and with equal ease.

(ii) Non-holonomic trajectory requirements turn out to be easier to handle than holonomic ones because they require just one differentiation with respect to time, instead of two, to get them in the form of (2.6). This is a reversal from the approaches that are available to date in nonlinear control theory that often treat holonomic and non-holonomic trajectory requirements differently and that usually find the non-holonomic ones more difficult to handle.

(iii) The control force required to control the nonlinear system so that it satisfies these given trajectory requirements is obtained *explicitly* and in closed form.

(iv) No transformation of coordinates or appeal to any 'normal forms' is necessary; the coordinates in which the control force is obtained are the same as those in which the uncontrolled system is viewed. In fact, it is this departure from the
<figure><img src="image_12.png" /><figcaption>Figure 7. (a) The solid line is the component of the control force on mass $m_1$ in the X-direction, the dashed line is the component in the Y-direction and the dot-dash line is the component in the Z-direction. (b) The solid line is the component of the control force on mass $m_2$ in the X-direction, the dashed line is the component in the Y-direction, and dot-dash line is the component in the Z-direction. (c) The solid line is the component of the control force on mass $m_3$ in the X-direction, the dashed line is the component in the Y-direction, and the dot-dash line is the component in the Z-direction.</figcaption></figure>
usual temptation to transform to a different set of coordinates that allows us
to obtain the control force explicitly, and in such a simple form.

(v) This control force, theoretically speaking and in the absence of noise, will cause the trajectory requirements to be ‘*exactly*’ satisfied by the nonlinear controlled system. No linearization is done.

(vi) The methodology allows the weighted norm of the control force to be minimized at each instant of time; most control methods minimize time integrals of such norms.

(vii) The examples shown here indicate that the methodology can be made relatively insensitive to measurement noise by using the stabilization technique described.

(viii) Having been obtained in closed form, the computations required to determine the control force involve simple matrix multiplications and additions. This makes the methodology attractive for real-time online control of nonlinear systems.

We have illustrated two examples of the control methodology. It has also been
used for precision motion control of multi-arm robots, for on-orbit control of satellites
required to fly in close flight formation and for controlling flexible nonlinear vibrating
systems.

References

Sastry, S. 1999 *Nonlinear systems analysis, stability, and control*. Springer.

Slotine, J.-J. E. & Li, W. 1991 *Applied nonlinear control*. Englewood Cliffs, NJ: Prentice-Hall.

Udwadia, F. E. 2000 Fundamental principles of analytical dynamics: mechanical systems with non-ideal, holonomic and nonholonomic constraints. *J. Math. Analysis Applic.* **251**, 341–355.

Udwadia, F. E. & Kalaba, R. E. 1992 A new perspective on constrained motion. *Proc. R. Soc. Lond. A* **439**, 407–410.

Udwadia, F. E. & Kalaba, R. E. 1993 On motion. *J. Franklin Inst.* **330**, 571–577.

Udwadia, F. E. & Kalaba, R. E. 1995 The geometry of constrained motion. ZAMM **75**, 637–640.

Udwadia, F. E. & Kalaba, R. E. 2000 Explicit equations of motion for mechanical systems with non-ideal constraints. *J. Appl. Mech.* **68**, 462–476.

Udwadia, F. E. & Kalaba, R. E. 2002 What is the general form of the explicit equations of motion for constrained mechanical systems? *J. Appl. Mech.* **69**, 335–337.

Vidyasagar, M. 1993 *Nonlinear system analysis*. Englewood Cliffs, NJ: Prentice-Hall.