This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

A Novel Passivity-Based Trajectory Tracking Control For Conservative Mechanical Systems

[Uncaptioned image]  Robert Mahony
Systems Theory and Robotics Group
Australian National University
ACT, 2601, Australia
[email protected]
Abstract

Most passivity based trajectory tracking algorithms for mechanical systems can only stabilise reference trajectories that have constant energy. This paper overcomes this limitation by deriving a single variable Hamiltonian model for the reference trajectory and solving along the constrained trajectory to obtain a reference potential. This potential is then used as the model to shape the energy of the true system such that its free solutions include the desired reference trajectory. The proposed trajectory tracking algorithm interconnects the reference and true systems through a virtual spring damper along with an outer-loop energy pump/damper that stabilises the desired energy level of the interconnected system, ensuring asymptotic tracking of the desired trajectory. The resulting algorithm is a fully energy based trajectory tracking control for non-stationary trajectories of conservative mechanical systems.

Keywords Trajectory Tracking, Passivity Based Control, Port Hamiltonian Systems

1 Introduction

The industry standard trajectory tracking control algorithms for mechanical systems depend on the well known Euler-Lagrange formulation of the dynamics in terms of generalised coordinates qnq\in\mathbb{R}^{n} (for example [SHV06])

M(q)q¨=C(q,q˙)q˙Uq(q)+τ,\displaystyle M(q)\ddot{q}=-C(q,\dot{q})\dot{q}-\frac{\partial U}{\partial q}(q)+\tau, (1)

for a bounded generalised inertia matrix M(q)>0M(q)>0, Coriolis matrix C(q,q˙)C(q,\dot{q}), potential U(q)U(q), and exogenous generalised input τ\tau. The goal is to find an input τ(t)\tau(t) such that the systems trajectory q(t)q(t) converges asymptotically to a known reference trajectory qr(t)q_{\text{r}}(t). The standard approach (computed torque with passive damping injection) exploits the Euclidean structure of the generalised coordinates qnq\in\mathbb{R}^{n} explicitly in creating an error q~=qqr\tilde{q}=q-q_{\text{r}}. A trajectory and state dependent feed-forward torque τff\tau_{\text{ff}} is computed to bring the error dynamics into a time-varying linear structure

M(q)q~¨=C(q,q˙)q~˙+τ~\displaystyle M(q)\ddot{\tilde{q}}=-C(q,\dot{q})\dot{\tilde{q}}+\tilde{\tau} (2)

where τ~=ττff\tilde{\tau}=\tau-\tau_{\text{ff}} is the residue torque. From here the algebraic passivity properties of M(q)M(q) and C(q,q˙)C(q,\dot{q}) are exploited to show a PDPD control (from q~\tilde{q} to τ~\tilde{\tau}) stabilizes the error coordinates q~0\tilde{q}\rightarrow 0 and hence q(t)qr(t)q(t)\rightarrow q_{\text{r}}(t).

Although this approach has been an effective tool in nonlinear control design for many years, it is subject to funamental limitations:

  1. 1.

    The error q~\tilde{q} is a Euclidean difference that has no physical interpretation in terms of the structure of the mechanical system and is only defined locally (in a coordinate patch) for a general system with a manifold state-space.

  2. 2.

    The feed-forward computed torque τff\tau_{\text{ff}} has no clear physical interpretation. Computing this requires real-time measurements of (q,q˙)(q,\dot{q}) as well as (qr,q˙r,q¨r)(q_{\text{r}},\dot{q}_{\text{r}},\ddot{q}_{\text{r}}) and a good model of the system.

As a consequence, systems for which the state space is inherently non-Euclidean, such as mobile robots moving in 𝐒𝐄(3)\mathbf{SE}(3), or systems where the model is uncertain, such as manipulators moving objects that are not well characterised, are difficult to address using the classical tracking framework. Furthermore, due to the complex nonlinear dependence of the feed-forward control on the system state many of the tricks used for velocity free passivity based control, or passivity based robust disturbance rejection [SSF07] cannot be exploited.

In this paper, I propose a ‘true’ passivity based tracking control for conservative mechanical systems. The key innovation is to use the reference trajectory as a parametrization for a single coordinate Hamiltonian system with kinetic and potential energy inherited from the full system. The desired reference trajectory behaviour corresponds to constant velocity motion of the single parameter reference system and the exogenous input that generates this trajectory is uniquely defined. Due to the fact that the system has a single coordinate the input associated to the reference trajectory can be integrated to generate a reference potential. Interpreting the reference input as shaping the potential of the reference system, the constant velocity solution becomes a ‘free’ solution of the single coordinate Hamiltonian reference system.

The second contribution of the paper is to show how to use the reference potential to shape the true system potential energy in such a way that the reference trajectory is a free solution of the (shaped) full Hamiltonian system. The proposed control then interconnects the shaped reference and shaped true system using non-linear spring dampers in order that the response of both systems is synchronised. This step is the primary control that forces the true system to converge towards the desired reference behaviour. The final stage of the control introduces an energy pump that stabilises the energy level in both true and reference system to the desired reference energy level ensuring that the response of the interconnected systems converges asymptotically to the desired reference trajectory.

The resulting control is inherently energy based and does not involve linearisation of the dynamics. The response should be highly robust to model errors and external disturbances and particularly well suited to trajectory tracking in the presence of unknown but energy bounded disturbances. The philosophy of the design draws strongly from the inspiration of Full et al. [FK99] and Westervelt et al. [WGK03] in stabilising an embedded behaviour in a larger mechanical system to obtain emergent behaviour in the zero dynamics. A limitation of the approach is that the desired trajectory qr(t)q_{r}(t) is only tracked up to an arbitrary time-offset t0t_{0}; that is, q(t)qr(tt0)q(t)\rightarrow q_{r}(t-t_{0}).

2 Literature Review

Trajectory tracking control for dynamical mechanical systems is a classical problem robotics [SL91, SHV06]. The industry standard method for trajectory tracking is that of computed torque control, first developed in the seventies [Mar73, Pau82]. The summary of this approach covered in the introduction of the paper was based on classical robotics texts [Cra89, SL91, SHV06]. Set point regulation has received considerably more attention. In 1981 Takegaki et al. [TA81] demonstrated that a PD control with gravity compensation can regulate a robotic manipulator to any fixed point in its workspace, and this work was generalised to adaptive passivity based set point regulation during the eighties [MG86, LS89] with the global stability analysis for PD, PID, and PI2D controls provided in the nineties [Kel95, OLNS98, Lef00]. Although approximate trajectory tracking can be accomplished with joint based PD [Kod87, KMA88] most theoretical developments of these techniques have been aimed at regulation of set-point or constant energy trajectories [Lef00].

A seminal contribution to tracking trajectory control is the work by Fujimoto et al. [FSS03] in 2003. In this work the authors state; “The key idea to realize [the objective of tracking control] is to embed the desired trajectory into the Hamiltonian function of the original system.” They provide a characterisation of a generalised canonical transform that transforms a port Hamiltonian system into one written in terms of the error coordinates

M(q~)q~¨=C(q~,q~˙)q~˙Uq~(q~)+τ,\displaystyle M(\tilde{q})\ddot{\tilde{q}}=-C(\tilde{q},\dot{\tilde{q}})\dot{\tilde{q}}-\frac{\partial U}{\partial\tilde{q}}(\tilde{q})+\tau, (3)

(compare to (2)) which can be stabilised using passive damping injection. The approach is conceptually rigorous but formally requires the solution of a Partial Differential Equation (PDE) to find the canonical transformation that defines the global error q~\tilde{q} coordinates. This requirement is reminiscent of the IDA-PCA algorithms [OLNS98] developed around the same time and the complexity of the design process has limited their adoption in the wider community.

A separate research thread I draw from in this paper is summarised in the philosophy stated in Westervelt et al. [WGK03] “to encode the dynamic task via a lower dimensional target, itself represented by a set of differential equations” [NFK00] motivated by the study of how biological systems move [FK99]. This work has been important in development of advanced trajectory tracking algorithms for gait control for humanoid robots [WGK03] in particular, and in general for control of robotic motion. I also draw from the pioneering work by Spong [Spo95] on energy pumping for stabilisation of constant energy set-points for under-actuated mechanical systems.

3 Problem formulation

Let qNq\in\mathbb{R}^{N} denote (local) generalized coordinates for a fully actuated mechanical system with generalized inertia matrix M(q)>0M(q)>0 and potential function U(q)U(q). Lagrange’s equations yield dynamics (3) for a Coriolis matrix C(q,q˙)C(q,\dot{q}). The passivity of the system is expressed algebraically by the relationship that

(12ddtM(q)+C(q,q˙))=(12ddtM(q)+C(q,q˙))\left(\frac{1}{2}\frac{\mathrm{d}}{\mathrm{d}t}M(q)+C(q,\dot{q})\right)^{\top}=-\left(\frac{1}{2}\frac{\mathrm{d}}{\mathrm{d}t}M(q)+C(q,\dot{q})\right)

is skew symmetric along trajectories of the system. The Hamiltonian for this system is

H(q,q˙)=12q˙M(q)q˙+U(q)\displaystyle H(q,\dot{q})=\frac{1}{2}\dot{q}^{\top}M(q)\dot{q}+U(q) (4)

and passivity of the system ensures that

ddtH(q,q˙)=τq˙\displaystyle\frac{\mathrm{d}}{\mathrm{d}t}H(q,\dot{q})=\left\langle\tau\;\vline\;\dot{q}\right\rangle (5)

where \left\langle\cdot\;\vline\;\cdot\right\rangle is notation for the power bracket between a generalised input and a velocity, and can be read as a simple inner product τq˙\tau^{\top}\dot{q} in local coordinates.

The trajectory tracking problem is associated with a pre-specified reference trajectory qr(t)q_{\text{r}}(t). In this paper, I will consider only non-stationary reference trajectories that are bounded, twice differentiable with bounded differentials. The non-stationary assumption,

q˙r(t)0,\displaystyle\dot{q}_{\text{r}}(t)\not=0, (6)

is the only unusual assumption. Indeed, stationary trajectories are exactly those trajectories that can be easily tackled using classical passivity based techniques [OLNS98]. This assumption emphasises the fundamental differences between the present and previous energy based approaches to tracking. Although I believe that it may be possible to relax this condition in future work, the assumption considerably simplifies the present work. In fact, I will assume slightly more than (6), that the velocity is bounded away from zero. That is, that there exists a uniform bound β>0\beta>0 such that q˙rM(qr)q˙r>β\dot{q}_{\text{r}}^{\top}M(q_{\text{r}})\dot{q}_{\text{r}}>\beta for all time.

The nominal goal of the trajectory tracking problem is to find a control signal τ\tau for (3) depending on the known reference trajectory qrq_{\text{r}} and its derivatives (q˙r,q¨r)(\dot{q}_{\text{r}},\ddot{q}_{\text{r}}) along with state measurements (q,q˙)(q,\dot{q}) such that for any initial condition q0q_{0} the solution q(t;q0)q(t;q_{0}) of the closed-loop system (3) converges to the reference, q(t;q0)qr(t)q(t;q_{0})\rightarrow q_{r}(t) asymptotically. The proposed algorithm achieves q(t;q0)qr(tt0)q(t;q_{0})\rightarrow q_{r}(t-t_{0}) asymptotically for some time-offset t0t_{0}\in\mathbb{R}. Although this is not explicitly a solution to the classical trajectory tracking problem it is clearly applicable to a wide range of applied problems and the difference again emphasises the difference in approach.

4 Reference trajectory

In this section, I consider the dynamics of the reference trajectory. The approach taken is to reparametrize the reference trajectory as a one parameter mechanical system constrained to follow a reference path. The key advantage of this reformulation is to derive a potential function that encodes the information necessary to generate the exogeneous generalised force input associated with the reference trajectory. The goal of the section is to formulate a closed Hamiltonian system for which the reference trajectory is a free solution.

The starting position is to consider the reference qr(t)q_{\text{r}}(t) as a solution of the mechanical system (3). In particular, there must be a reference input τr\tau_{\text{r}} associated with the actual generalised forces required to track the reference trajectory. More correctly, we consider a reference trajectory to be a quadruple of variable trajectories (qr(t),q˙r(t),q¨r(t),τr(t))(q_{\text{r}}(t),\dot{q}_{\text{r}}(t),\ddot{q}_{\text{r}}(t),\tau_{\text{r}}(t)) defined on a time interval [0,)[0,\infty) that satisfy the system relationship

M(qr)q¨r=C(qr,q˙r)q˙rqU(qr)+τrM(q_{\text{r}})\ddot{q}_{\text{r}}=-C(q_{\text{r}},\dot{q}_{\text{r}})\dot{q}_{\text{r}}-\frac{\partial}{\partial q}U(q_{\text{r}})+\tau_{\text{r}} (7)

for t(0,)t\in(0,\infty). Note that the reference trajectory information, including the reference input τr\tau_{\text{r}} can be computed in advance.

Let ss be a path parameter for the reference trajectory. That is we consider the map qr:nq_{\text{r}}:\mathbb{R}\rightarrow\mathbb{R}^{n}, sqr(s)s\mapsto q_{\text{r}}(s). Consider the mechanical system obtained by taking ss to be a generalised coordinate s:=s(t)s:=s(t) for a new one-dimensional mechanical system that characterises the motion of the reference along its predefined trajectory. That is, as s(t)s(t) varies in one dimension, the reference variable qrq_{\text{r}} moves along the constrained path qr(s(t))q_{\text{r}}(s(t)). Define the partial differentials of qrq_{\text{r}} with respect to ss by

qr(s):=qrs,qr′′(s):=2qrs2q^{\prime}_{\text{r}}(s):=\frac{\partial q_{\text{r}}}{\partial s},\quad q^{\prime\prime}_{\text{r}}(s):=\frac{\partial^{2}q_{\text{r}}}{\partial s^{2}}

For a solution s:=s(t)s:=s(t) one has q˙r=qr(s)s˙\dot{q}_{\text{r}}=q^{\prime}_{\text{r}}(s)\dot{s} and

q¨r=qr(s)s¨+qr′′(s)s˙2.\ddot{q}_{\text{r}}=q^{\prime}_{\text{r}}(s)\ddot{s}+q^{\prime\prime}_{\text{r}}(s)\dot{s}^{2}.

The kinetic energy of the constrained reference system is

Kr(s,s˙)=12qr(s)M(q(s))qr(s)s˙2=:12Mr(s)s˙2\displaystyle K_{\text{r}}(s,\dot{s})=\frac{1}{2}q^{\prime}_{\text{r}}(s)^{\top}M(q(s))q^{\prime}_{\text{r}}(s)\dot{s}^{2}=:\frac{1}{2}M_{\text{r}}(s)\dot{s}^{2} (8)

which defines Mr(s)M_{\text{r}}(s) while the potential is a simple reparameterization Ur(s)=U(qr(s))U_{\text{r}}(s)=U(q_{\text{r}}(s)).

The Lagrangian for this system is given by r(s,s˙)=Kr(s,s˙)Ur(s)\mathcal{L}_{\text{r}}(s,\dot{s})=K_{\text{r}}(s,\dot{s})-U_{\text{r}}(s). Consider the Euler-Lagrange equations ddts˙s=e\frac{\mathrm{d}}{\mathrm{d}t}\frac{\partial}{\partial\dot{s}}\mathcal{L}-\frac{\partial}{\partial s}\mathcal{L}=e where ee is a scalar exogenous input added as a driving term. It is easily verified that

Mr(s)s¨=12sMr(s)s˙2sUr(s)+e.\displaystyle M_{\text{r}}(s)\ddot{s}=-\frac{1}{2}\frac{\partial}{\partial s}M_{\text{r}}(s)\dot{s}^{2}-\frac{\partial}{\partial s}U_{\text{r}}(s)+e. (9)

The dynamics (9), for a general input ee, models the motion of a mechanical single variable system along the parametrization provided by qr(s)q_{\text{r}}(s). The reference trajectory itself qr(t)q_{\text{r}}(t) is recovered by the particular solution s(t)=ts(t)=t and will correspond to a particular choice of scalar reference input e=er(s(t))e=e_{\text{r}}(s(t)). Since the defining equations are time-invariant, then any solution s(t)=tt0s(t)=t-t_{0}, t0t_{0}\in\mathbb{R}, will also be a solution (9) associated with the offset reference trajectory qr(tt0)q_{\text{r}}(t-t_{0}) for tt0(0,)t-t_{0}\in(0,\infty). It follows that the scalar reference input er(s)e_{\text{r}}(s) can be computed as function of path parameter ss independent of time. Substituting the relationships s˙=1\dot{s}=1, s¨=0\ddot{s}=0, characteristic of the trajectory s(t)=tt0s(t)=t-t_{0}, into (9) yields

er(s)\displaystyle e_{\text{r}}(s) =s(Ur(s)+12Mr(s)).\displaystyle=\frac{\partial}{\partial s}\left(U_{\text{r}}(s)+\frac{1}{2}M_{\text{r}}(s)\right). (10)

Define a reference potential

Wr(s)=Ur(s)12Mr(s)W_{\text{r}}(s)=-U_{\text{r}}(s)-\frac{1}{2}M_{\text{r}}(s)

The potential Wr(s)W_{\text{r}}(s) encodes information on the scalar reference input associated with the reference trajectory for the scalar system (9). The input er(s)=sWr(s)e_{\text{r}}(s)=-\frac{\partial}{\partial s}W_{\text{r}}(s) (10) should be thought of as a potential shaping input where the term sUr(s)-\frac{\partial}{\partial s}U_{\text{r}}(s) cancels the effect of the potential UrU_{\text{r}} inherited from the full system, while the term s12Mr(s)-\frac{\partial}{\partial s}\frac{1}{2}M_{\text{r}}(s) is associated with a new shaped potential that compensates the energy balance for variation in the kinetic energy 12Mr(s)s˙2\frac{1}{2}M_{\text{r}}(s)\dot{s}^{2} along the reference trajectory. That is, the reference potential WrW_{\text{r}} shapes the potential of the reference system to supply the power required to track the reference trajectory.

Lemma 4.1.

For any t0t_{0}\in\mathbb{R} let qr(tt0)q_{\text{r}}(t-t_{0}) be the reference trajectory offset by time t0t_{0} and fix s(t)=tt0s(t)=t-t_{0}. Then

ddtWr(s(t))=q˙rτr\displaystyle\frac{\mathrm{d}}{\mathrm{d}t}W_{\text{r}}(s(t))=-\left\langle\dot{q}_{\text{r}}\;\vline\;\tau_{\text{r}}\right\rangle (11)
Proof.

Recalling (5) then by construction

ddtHr(s,s˙)=ddtH(qr,q˙r)=q˙rτr\frac{\mathrm{d}}{\mathrm{d}t}H_{\text{r}}(s,\dot{s})=\frac{\mathrm{d}}{\mathrm{d}t}H(q_{\text{r}},\dot{q}_{\text{r}})=\left\langle\dot{q}_{\text{r}}\;\vline\;\tau_{\text{r}}\right\rangle

Note that

H(qr,q˙r)\displaystyle H(q_{\text{r}},\dot{q}_{\text{r}}) =12q˙rM(qr)q˙r+U(qr)\displaystyle=\frac{1}{2}\dot{q}_{\text{r}}^{\top}M(q_{\text{r}})\dot{q}_{\text{r}}+U(q_{\text{r}})
=12qr(s)M(qr(s))qr(s)s˙(t)2+Ur(s(t))\displaystyle=\frac{1}{2}q^{\prime}_{\text{r}}(s)^{\top}M(q_{\text{r}}(s))q_{\text{r}}(s)^{\prime}\dot{s}(t)^{2}+U_{\text{r}}(s(t))
=12Mr(s)+U(s)=Wr(s)\displaystyle=\frac{1}{2}M_{\text{r}}(s)+U(s)=-W_{\text{r}}(s)

where the last line follows since s˙(t)=1\dot{s}(t)=1 for the solution considered. Differentiating this relationship one has

ddtWr(s)\displaystyle\frac{\mathrm{d}}{\mathrm{d}t}W_{\text{r}}(s) =ddtH(qr,q˙r)=q˙rτr.\displaystyle=-\frac{\mathrm{d}}{\mathrm{d}t}H(q_{\text{r}},\dot{q}_{\text{r}})=-\left\langle\dot{q}_{\text{r}}\;\vline\;\tau_{\text{r}}\right\rangle.

Set e=er(s)+ece=e_{\text{r}}(s)+e_{\text{c}} where ece_{\text{c}} is a coupling input from the reference system to the true system and will be defined in §5. The Euler-Lagrange equations for (9) become

Mr(s)s¨\displaystyle M_{\text{r}}(s)\ddot{s} =12Mrs(s)s˙2Urs(s)sWr(s)+ec\displaystyle=-\frac{1}{2}\frac{\partial M_{\text{r}}}{\partial s}(s)\dot{s}^{2}-\frac{\partial U_{\text{r}}}{\partial s}(s)-\frac{\partial}{\partial s}W_{\text{r}}(s)+e_{\text{c}}
=12Mrs(s)s˙2+12Mrs(s)+ec\displaystyle=-\frac{1}{2}\frac{\partial M_{\text{r}}}{\partial s}(s)\dot{s}^{2}+\frac{1}{2}\frac{\partial M_{\text{r}}}{\partial s}(s)+e_{\text{c}}
=12Mrs(s˙21)+ec\displaystyle=-\frac{1}{2}\frac{\partial M_{\text{r}}}{\partial s}(\dot{s}^{2}-1)+e_{\text{c}} (12)

The dynamics (12) are associated with the port Hamiltonian system with Hamiltonian

Hr(s,s˙)=12Mr(s)s˙2+Ur(s)+Wr(s).\displaystyle H_{\text{r}}(s,\dot{s})=\frac{1}{2}M_{\text{r}}(s)\dot{s}^{2}+U_{\text{r}}(s)+W_{\text{r}}(s). (13)

One has

ddtHr(s,s˙)\displaystyle\frac{\mathrm{d}}{\mathrm{d}t}H_{\text{r}}(s,\dot{s}) =Mr(s)s¨s˙+12Mrs(s)s˙312Mrs(s)s˙\displaystyle=M_{\text{r}}(s)\ddot{s}\dot{s}+\frac{1}{2}\frac{\partial M_{\text{r}}}{\partial s}(s)\dot{s}^{3}-\frac{1}{2}\frac{\partial M_{\text{r}}}{\partial s}(s)\dot{s}
=12Mrs(s˙21)s˙+ecs˙+12Mrs(s)s˙3\displaystyle=-\frac{1}{2}\frac{\partial M_{\text{r}}}{\partial s}(\dot{s}^{2}-1)\dot{s}+e_{\text{c}}\dot{s}+\frac{1}{2}\frac{\partial M_{\text{r}}}{\partial s}(s)\dot{s}^{3}
12Mrs(s)s˙\displaystyle\quad\quad\quad\quad-\frac{1}{2}\frac{\partial M_{\text{r}}}{\partial s}(s)\dot{s}
=s˙ec\displaystyle=\left\langle\dot{s}\;\vline\;e_{\text{c}}\right\rangle

where s˙ec=s˙ec\left\langle\dot{s}\;\vline\;e_{\text{c}}\right\rangle=\dot{s}e_{\text{c}} is the power port for the scalar reference system.

It is easily verified that the unforced or zero dynamics of (12) (with ec0e_{\text{c}}\equiv 0) include the solution s¨=0\ddot{s}=0, s˙=1\dot{s}=1 as expected. This solution is associated with a constant (shaped) energy level

Er(s,s˙)\displaystyle E_{\text{r}}(s,\dot{s}) =Hr(s,s˙)+Wr(s)\displaystyle=H_{\text{r}}(s,\dot{s})+W_{\text{r}}(s)
=12Mr(s)s˙2+Ur(s)Ur(s)12Mr(s)\displaystyle=\frac{1}{2}M_{\text{r}}(s)\dot{s}^{2}+U_{\text{r}}(s)-U_{\text{r}}(s)-\frac{1}{2}M_{\text{r}}(s)
=12Mr(s)12Mr(s)=0\displaystyle=\frac{1}{2}M_{\text{r}}(s)-\frac{1}{2}M_{\text{r}}(s)=0 (14)

since s˙1\dot{s}\equiv 1 along the reference trajectory. This energy level is, however, not a minimum energy level for the system, with trajectories in phase portrait (Fig. 1) that lie inside the s˙=±1\dot{s}=\pm 1 lines all corresponding to lower energy levels. The minimum energy trajectories for the reference system will correspond to the stationary points s˙=0\dot{s}=0. These stationary points occur at points where Mrs=0\frac{\partial M_{\text{r}}}{\partial s}=0 and their stability will depend on the sign of 2Mrs2=0\frac{\partial^{2}M_{\text{r}}}{\partial s^{2}}=0 (see Fig. 1). The variation in Mr(s)M_{\text{r}}(s) is a function of the reference trajectory, both in the change in magnitude of qr(t)q^{\prime}_{\text{r}}(t) as well as the distribution of inertia in M(q(s))M(q(s)). Thus, reference trajectories with high accelerations and complex inertia matrices will lead to complex zero dynamics in the reference system, while tracking simply trajectories with near constant velocities and homogeneous inertia will lead to simple zero dynamics. Interestingly, the unforced system also includes solutions associated with negative time evolution of the reference system, and a zero energy solution s˙=1\dot{s}=-1 in particular.

Refer to caption
Figure 1: Phase portrait of the zero (free Hamiltonian) dynamics of (12). The trajectory shown in red is the desired reference trajectory characterised by s˙=1\dot{s}=1, s¨=0\ddot{s}=0. The phase portrait of the zero dynamics (output E˙0\dot{E}\equiv 0) is strongly dependent on the sign of Mrs(s)\frac{\partial M_{\text{r}}}{\partial s}(s).

5 Shaping, Interconnection and Synchronisation

In this section I present the first part of the proposed tracking control design. The idea is to shape the potential of the true system with the reference potential WrW_{\text{r}} and then couple the true and reference systems together using passive interconnections. The resulting control synchronises the state q(t)q(t) of the true system (3) with the state qr(s(t))q_{\text{r}}(s(t)) of the reference system (12). The final closed-loop system will require an additional energy pumping control discussed in §6 to stabilise the desired energy level set.

The principle control used for synchronization between the true and reference systems is a spring potential introduced between q(t)q(t) and qr(s(t))q_{\text{r}}(s(t)). Let ϕ:×\phi:\mathcal{M}\times\mathcal{M}\rightarrow\mathbb{R} be a positive definite smooth cost function with ϕ(q,qr)=0\phi(q,q_{\text{r}})=0 if and only if q=qrq=q_{\text{r}}. Note that there is no need to compute the linear error qqrq-q_{\text{r}} in order to find such a spring potential function although the potential 12K|qqr|2\frac{1}{2}K|q-q_{\text{r}}|^{2} used in the classical tracking algorithms is an example of such a potential.

The generalised inertia M(q)M(q) provides a Riemannian metric on the tangent bundle TT\mathcal{M}. Using this metric one can measure the speed of a trajectory q˙\dot{q} by computing q˙(t)M(q(t))q˙(t)\sqrt{\dot{q}(t)^{\top}M(q(t))\dot{q}(t)}. In a similar manner one can measure the desired speed of the reference trajectory at a point ss by computing qr(s)M(q(s))qr(s)=Mr(s)\sqrt{q^{\prime}_{\text{r}}(s)^{\top}M(q(s))q^{\prime}_{\text{r}}(s)}=\sqrt{M_{\text{r}}(s)}. Note that the reference speed is associated with the desired reference trajectory and does not depend on the velocity of the path parameter s˙\dot{s}. Since only non-stationary reference trajectories were considered, the reference speed Mr(s)0\sqrt{M_{\text{r}}(s)}\not=0. The ratio of these two speeds as a function of time

σ˙(t):=q˙(t)M(q(t))q˙(t)Mr(s(t))\displaystyle\dot{\sigma}(t):=\frac{\sqrt{\dot{q}(t)^{\top}M(q(t))\dot{q}(t)}}{\sqrt{M_{\text{r}}(s(t))}} (15)

can be interpreted as a measure of the speed at which the true system is moving relative to a desired reference speed associated with a point on the reference trajectory specified by the path parameter s(t)s(t). If q(t)qr(s(t))q(t)\approx q_{\text{r}}(s(t)) and q˙(t)qr(s(t))\dot{q}(t)\approx q_{\text{r}}^{\prime}(s(t)) then σ˙1\dot{\sigma}\approx 1, that is the true trajectory is moving at the same speed as the desired trajectory.

The integral of (15),

σ(t)=0tσ˙(τ)dτ,\displaystyle\sigma(t)=\int_{0}^{t}\dot{\sigma}(\tau)\mathrm{d}\tau, (16)

can be interpreted as a (relative) path parameter for the true system, analogous to the path parameter s(t)s(t) introduced for the reference trajectory qrq_{\text{r}}. If q(t)qr(s(t))q(t)\approx q_{\text{r}}(s(t)) and q˙(t)qr(s(t))\dot{q}(t)\approx q_{\text{r}}^{\prime}(s(t)) then σ(t)tt0\sigma(t)\approx t-t_{0}. The new path parameter σ\sigma will be used as a storage variable in a copy of the reference potential Wr(σ)W_{\text{r}}(\sigma) that can be used to shape the potential for the true system.

Define τq˙Tq\tau_{\dot{q}}\in T^{\star}_{q}\mathcal{M}, the dual (generalised) torque to a velocity q˙Tq\dot{q}\in T_{q}\mathcal{M}, to be the unique element that solves

τq˙V=q˙M(q)V\displaystyle\left\langle\tau_{\dot{q}}\;\vline\;V\right\rangle=\dot{q}^{\top}M(q)V (17)

for all VTqV\in T_{q}\mathcal{M}. Note that τq˙=0\tau_{\dot{q}}=0 in the case where the velocity q˙=0\dot{q}=0 is zero. Recalling the reference input τr\tau_{\text{r}} associated with the reference trajectory (7), define the constraint force

τr0\displaystyle\tau^{0}_{\text{r}} :=τq˙q˙Mr(s)τrq˙τrMr(s)τq˙\displaystyle:=\frac{\left\langle\tau_{\dot{q}}\;\vline\;\dot{q}\right\rangle}{M_{\text{r}}(s)}\tau_{r}-\frac{\left\langle\dot{q}\;\vline\;\tau_{r}\right\rangle}{M_{\text{r}}(s)}\tau_{\dot{q}} (18)

By construction τr0q˙=0\left\langle\tau_{\text{r}}^{0}\;\vline\;\dot{q}\right\rangle=0 and thus does no work on the system. In the asymptotic case, where σ(t)=s(t)=tt0\sigma(t)=s(t)=t-t_{0} then σ˙2=1\dot{\sigma}^{2}=1 and q˙M(q)q˙Mr(s)=τq˙q˙Mr(s)=1\frac{\dot{q}^{\top}M(q)\dot{q}}{M_{\text{r}}(s)}=\frac{\left\langle\tau_{\dot{q}}\;\vline\;\dot{q}\right\rangle}{M_{\text{r}}(s)}=1. It follows that in this case τr0=τrq˙τrMr(s)τq˙\tau^{0}_{\text{r}}=\tau_{\text{r}}-\frac{\left\langle\dot{q}\;\vline\;\tau_{r}\right\rangle}{M_{\text{r}}(s)}\tau_{\dot{q}} is the component of the reference input τr\tau_{\text{r}} orthogonal to the dual torque τq˙\tau_{\dot{q}}. That is, the component of the reference input that acts orthogonal to the velocity of the system as a constraint force and steers the system to follow the desired trajectory. The power required to accelerate and decelerate the system along the trajectory is not provided by the constraint force τr0\tau^{0}_{\text{r}} and must be separately modelled. The active force in direction τq˙\tau_{\dot{q}} will be coupled to the potential Wr(σ)W_{\text{r}}(\sigma) (22).

A key requirement of the proposed control, separate from the synchronisation of q(t)q(t) and qr(s(t))q_{\text{r}}(s(t)), is to synchronise the two path parameters σ(t)\sigma(t) and s(t)s(t). To this end define a second potential

ψ(s,σ):=κ2|sσ|2\psi(s,\sigma):=\frac{\kappa}{2}|s-\sigma|^{2}

Note that since both ss and σ\sigma\in\mathbb{R} are scalars, then this potential can be defined globally as a simple quadratic error. The introduction of this potential will bound growth of σ(t)\sigma(t) with respect to growth of s(t)s(t), and vice-versa, ensuring that the two path parameters remain close during the system transient.

Theorem 5.1.

Consider the combined dynamics (3) along with the reference system (12). Assume there exists β>0\beta>0 such that qrM(qr)qr>β{q^{\prime}_{\text{r}}}^{\top}M(q_{\text{r}})q^{\prime}_{\text{r}}>\beta. Define σ(t)\sigma(t) by (15) and (16) and the path error by

s~:=sσ.\displaystyle\tilde{s}:=s-\sigma. (19)

Let τq˙\tau_{\dot{q}} be given by (17) and τr0\tau_{\text{r}}^{0} be given by (18). Let ϕ(q,qr)\phi(q,q_{\text{r}}) be a postive definite spring potential and define the interconnection control signals by

τ\displaystyle\tau :=μτq˙τq˙q˙+τr0ϕ(q,qr)q,\displaystyle:=-\mu\frac{\tau_{\dot{q}}}{\sqrt{\left\langle\tau_{\dot{q}}\;\vline\;\dot{q}\right\rangle}}+\tau_{r}^{0}-\frac{\partial\phi(q,q_{\text{r}})}{\partial q}, (20)
ec\displaystyle e_{\text{c}} :=κs~Rs~˙ϕ(q,qr)qrqr(s),\displaystyle:=-\kappa\tilde{s}-R\dot{\tilde{s}}-\left\langle\frac{\partial\phi(q,q_{\text{r}})}{\partial q_{\text{r}}}\;\vline\;q^{\prime}_{\text{r}}(s)\right\rangle, (21)

where κ,R>0\kappa,R>0 are positive constants and

μ\displaystyle\mu :=1Mr(s(t))(Wrσκs~Rs~˙).\displaystyle:=\frac{1}{\sqrt{M_{\text{r}}(s(t))}}\left(\frac{\partial W_{\text{r}}}{\partial\sigma}-\kappa\tilde{s}-R\dot{\tilde{s}}\right). (22)

Then solutions of the closed-loop system converge to constant energy trajectories E˙0\dot{E}\rightarrow 0 with s~\tilde{s} a constant: s~(t)const\tilde{s}(t)\rightarrow\text{const}.

Remark 5.2.

Note that both τq˙=𝒪(|q˙|)\tau_{\dot{q}}=\mathcal{O}(|\dot{q}|) and τq˙q˙=𝒪(|q˙|)\sqrt{\left\langle\tau_{\dot{q}}\;\vline\;\dot{q}\right\rangle}=\mathcal{O}(|\dot{q}|) are asymptotically of order |q˙||\dot{q}| for q˙0\dot{q}\rightarrow 0. Since M(q)M(q) is full rank positive definite it follows that τ\tau (20) is well defined even for vanishing q˙\dot{q}. For q˙=0\dot{q}=0, I choose τq˙/τq˙q˙=0\tau_{\dot{q}}/\sqrt{\left\langle\tau_{\dot{q}}\;\vline\;\dot{q}\right\rangle}=0 even though the limit limq˙0τq˙/τq˙q˙\lim_{\dot{q}\rightarrow 0}\tau_{\dot{q}}/\sqrt{\left\langle\tau_{\dot{q}}\;\vline\;\dot{q}\right\rangle} may not be zero. The resulting definition may be discontinuous at q˙=0\dot{q}=0. Since the reference trajectory is chosen q˙r0\dot{q}_{\text{r}}\not=0 this discontinuity will not be present in the asymptotic solution of the system. The transient response analysis of the system depends only on existence of the solutions but some care must be taken in the application of Barbalat’s lemma.

Proof.

Consider the combined energy of the system

E(q,q˙,s,s˙,σ)\displaystyle E(q,\dot{q},s,\dot{s},\sigma) :=H(q,q˙)+Hr(s,s˙)+Wr(σ)+Wr(s)\displaystyle:=H(q,\dot{q})+H_{\text{r}}(s,\dot{s})+W_{\text{r}}(\sigma)+W_{\text{r}}(s)
+ϕ(q,qr(s))+ψ(s,σ)\displaystyle\quad\quad+\phi(q,q_{\text{r}}(s))+\psi(s,\sigma) (23)

where H(q,q˙)H(q,\dot{q}) (4) is the Hamiltonian for the true system, Hr(s,s˙)H_{\text{r}}(s,\dot{s}) (13) is the Hamiltonian for the reference system, the two terms Wr(σ)W_{\text{r}}(\sigma) and Wr(s)W_{\text{r}}(s) are shaping potentials for the true and reference system, and ϕ\phi and ψ\psi are the potentials associated with the spring forces introduced to synchronise the states.

Recall that the time derivative along trajectories of the Hamiltonians are

ddtH(q,q˙)=τq˙,ddtHr(s,s˙)=ecs˙\displaystyle\frac{\mathrm{d}}{\mathrm{d}t}H(q,\dot{q})=\left\langle\tau\;\vline\;\dot{q}\right\rangle,\quad\frac{\mathrm{d}}{\mathrm{d}t}H_{\text{r}}(s,\dot{s})=\left\langle e_{\text{c}}\;\vline\;\dot{s}\right\rangle

Substituting from (20) one has

ddtH\displaystyle\frac{\mathrm{d}}{\mathrm{d}t}H =(μτq˙τr0)ϕ(q,qr)qq˙\displaystyle=\left\langle-(\mu\tau_{\dot{q}}-\tau_{r}^{0})-\frac{\partial\phi(q,q_{\text{r}})}{\partial q}\;\vline\;\dot{q}\right\rangle
=μτq˙q˙ϕ(q,qr)qq˙\displaystyle=-\mu\left\langle\tau_{\dot{q}}\;\vline\;\dot{q}\right\rangle-\frac{\partial\phi(q,q_{\text{r}})}{\partial q}^{\top}\dot{q}
=τq˙q˙τq˙q˙Mr(s(t))(Wrσκs~Rs~˙)\displaystyle=-\frac{\left\langle\tau_{\dot{q}}\;\vline\;\dot{q}\right\rangle}{\sqrt{\left\langle\tau_{\dot{q}}\;\vline\;\dot{q}\right\rangle}\sqrt{M_{\text{r}}(s(t))}}\left(\frac{\partial W_{\text{r}}}{\partial\sigma}-\kappa\tilde{s}-R\dot{\tilde{s}}\right)
ϕ(q,qr)qq˙\displaystyle\makebox[85.35826pt]{}-\frac{\partial\phi(q,q_{\text{r}})}{\partial q}^{\top}\dot{q}
=q˙M(q)q˙Mr(s(t))(Wrσκs~Rs~˙)ϕ(q,qr)qq˙\displaystyle=-\frac{\sqrt{\dot{q}^{\top}M(q)\dot{q}}}{\sqrt{M_{\text{r}}(s(t))}}\left(\frac{\partial W_{\text{r}}}{\partial\sigma}-\kappa\tilde{s}-R\dot{\tilde{s}}\right)-\frac{\partial\phi(q,q_{\text{r}})}{\partial q}^{\top}\dot{q}
=σ˙(Wrσκs~Rs~˙)ϕ(q,qr)qq˙\displaystyle=-\dot{\sigma}\left(\frac{\partial W_{\text{r}}}{\partial\sigma}-\kappa\tilde{s}-R\dot{\tilde{s}}\right)-\frac{\partial\phi(q,q_{\text{r}})}{\partial q}^{\top}\dot{q}
=ddtWr(σ)+σ˙(κs~+Rs~˙)ϕ(q,qr)qq˙\displaystyle=-\frac{\mathrm{d}}{\mathrm{d}t}W_{\text{r}}(\sigma)+\dot{\sigma}(\kappa\tilde{s}+R\dot{\tilde{s}})-\frac{\partial\phi(q,q_{\text{r}})}{\partial q}^{\top}\dot{q}

Similarly, computing ddtHr\frac{\mathrm{d}}{\mathrm{d}t}H_{\text{r}} and substituting from (21) one has

ddtHr\displaystyle\frac{\mathrm{d}}{\mathrm{d}t}H_{\text{r}} =κs~Rs~˙ϕ(q,qr)qrqr(s)s˙\displaystyle=\left\langle-\kappa\tilde{s}-R\dot{\tilde{s}}-\left\langle\frac{\partial\phi(q,q_{\text{r}})}{\partial q_{\text{r}}}\;\vline\;q^{\prime}_{\text{r}}(s)\right\rangle\;\vline\;\dot{s}\right\rangle
=s˙(κs~+Rs~˙)ϕ(q,qr)qrddtqr(s(t))\displaystyle=-\dot{s}(\kappa\tilde{s}+R\dot{\tilde{s}})-\frac{\partial\phi(q,q_{\text{r}})}{\partial q_{\text{r}}}\frac{\mathrm{d}}{\mathrm{d}t}q_{\text{r}}(s(t))

Finally, differentiating EE and substituting for the relevant expressions one obtains

ddtE\displaystyle\frac{\mathrm{d}}{\mathrm{d}t}E =ddtWr(σ)+σ˙(κs~+Rs~˙)ϕ(q,qr)qq˙\displaystyle=-\frac{\mathrm{d}}{\mathrm{d}t}W_{\text{r}}(\sigma)+\dot{\sigma}(\kappa\tilde{s}+R\dot{\tilde{s}})-\frac{\partial\phi(q,q_{\text{r}})}{\partial q}^{\top}\dot{q}
s˙(κs~+Rs~˙)ϕ(q,qr)qrddtqr(s(t))\displaystyle\quad-\dot{s}(\kappa\tilde{s}+R\dot{\tilde{s}})-\frac{\partial\phi(q,q_{\text{r}})}{\partial q_{\text{r}}}\frac{\mathrm{d}}{\mathrm{d}t}q_{\text{r}}(s(t))
+ddtWr(σ)+ϕ(q,qr)qq˙+ϕ(q,qr)qrddtqr(s(t))\displaystyle\quad+\frac{\mathrm{d}}{\mathrm{d}t}W_{\text{r}}(\sigma)+\frac{\partial\phi(q,q_{\text{r}})}{\partial q}\dot{q}+\frac{\partial\phi(q,q_{\text{r}})}{\partial q_{\text{r}}}\frac{\mathrm{d}}{\mathrm{d}t}q_{\text{r}}(s(t))
+ψ(s,σ)ss˙+ψ(s,σ)σσ˙\displaystyle\quad+\frac{\partial\psi(s,\sigma)}{\partial s}\dot{s}+\frac{\partial\psi(s,\sigma)}{\partial\sigma}\dot{\sigma}
=(s˙σ˙)(κs~+Rs~˙)\displaystyle=-(\dot{s}-\dot{\sigma})(\kappa\tilde{s}+R\dot{\tilde{s}})
ϕ(q,qr)qq˙ϕ(q,qr)qrddtqr(s(t))\displaystyle\quad-\frac{\partial\phi(q,q_{\text{r}})}{\partial q}^{\top}\dot{q}-\frac{\partial\phi(q,q_{\text{r}})}{\partial q_{\text{r}}}\frac{\mathrm{d}}{\mathrm{d}t}q_{\text{r}}(s(t))
+ϕ(q,qr)qq˙+ϕ(q,qr)qrddtqr(s(t))\displaystyle\quad+\frac{\partial\phi(q,q_{\text{r}})}{\partial q}\dot{q}+\frac{\partial\phi(q,q_{\text{r}})}{\partial q_{\text{r}}}\frac{\mathrm{d}}{\mathrm{d}t}q_{\text{r}}(s(t))
+κ(sσ)s˙κ(sσ)σ˙\displaystyle\quad+\kappa(s-\sigma)\dot{s}-\kappa(s-\sigma)\dot{\sigma}
=s~˙(κs~+Rs~˙)+κs~s~˙\displaystyle=-\dot{\tilde{s}}(\kappa\tilde{s}+R\dot{\tilde{s}})+\kappa\tilde{s}\dot{\tilde{s}}
=Rs~˙2\displaystyle=-R\dot{\tilde{s}}^{2}

It follows from LaSalles principle that E˙(t)0\dot{E}(t)\rightarrow 0. Furthermore, since the feedback interconnections are smooth and bounded except at points q˙=0\dot{q}=0, and these are isolated points in the trajectory, it follows that the derivatives of s~˙\dot{\tilde{s}} are uniformly bounded except on a countable collection of times. It follows that s~˙\dot{\tilde{s}} is piecewise uniformly continuous and applying a generalisation of Barbalat’s lemma [WXX11] it follows that s~˙0\dot{\tilde{s}}\rightarrow 0 except on a set of measure zero. Since s~\tilde{s} is continuous, then s~\tilde{s} converges to a constant. ∎

The proposed synchronisation control is a closed passive interconnection of Hamiltonian systems and resulting combined system is itself a passive Hamiltonian system. Theorem 5.1 demonstrates that the combined solution will converge asymptotically to a trajectory that lies in the set of forward invariant trajectories characterised by E˙=0\dot{E}=0 and s~=const.\tilde{s}=\text{const.}. As shown in the next section, the free trajectories s˙=1\dot{s}=1 and q(t)=qr(t)q(t)=q_{\text{r}}(t) certainly lie in this forward invariant set. However, without additional control, the damping term will continue to extract energy from the system, even if it is in small increments due to small disturbances, until the limiting trajectory has zero kinetic energy and lies at a local minimum of the combined potential U(q)+Wr(σ)+Wr(s)+ϕ(q,qr)+ψ(s,σ)U(q)+W_{\text{r}}(\sigma)+W_{\text{r}}(s)+\phi(q,q_{\text{r}})+\psi(s,\sigma). (Note that for q˙=0\dot{q}=0 then τr0=0\tau_{\text{r}}^{0}=0 by construction.) Such solutions also lie in (a separate component of) the forward invariant set of the combined system trajectories. In particular, synchronisation of the trajectories by itself is not sufficient to ensure the desired trajectory tracking and in the next section I propose an additional external energy pumping control to stabilise the energy level the combined system.

6 Energy Regulation

This section presents two results; firstly an explicit demonstration that the reference trajectory is a forward invariant trajectory for the combined Hamiltonian system considered in Theorem 5.1. Secondly, I characterise the energy level of the reference trajectory for the combined system and propose a simple energy pump outer loop control that stabilises this energy level in the system and consequently stabilises the desired trajectory.

Lemma 6.1.

Let t0>0t_{0}>0\in\mathbb{R} be a real constant and consider t>t0t>t_{0}. Consider the trajectory

q(t)\displaystyle q_{\star}(t) =qr(tt0),\displaystyle=q_{\text{r}}(t-t_{0}), (24)
s(t)\displaystyle s_{\star}(t) =tt0\displaystyle=t-t_{0} (25)

with additionally

σ(t0)=s(t0).\displaystyle\sigma_{\star}(t_{0})=s_{\star}(t_{0}). (26)

Then σ(t)=s(t)\sigma(t)=s(t) for all tt0t\geq t_{0} and (q(t),s(t))(q_{\star}(t),s_{\star}(t)) is a forward invariant solution of the combined system in Theorem 5.1 with E˙=0\dot{E}=0 and s~=0\tilde{s}=0.

Proof.

Recalling (15) and using (24) and (25) one has that for all tt0t\geq t_{0}

σ˙(t)\displaystyle\dot{\sigma}(t) =q˙(t)M(q(t))q˙(t)Mr(s(t))\displaystyle=\frac{\sqrt{\dot{q}(t)^{\top}M(q(t))\dot{q}(t)}}{\sqrt{M_{\text{r}}(s(t))}}
=s˙(t)q˙r(tt0)M(qr(tt0))q˙r(tt0)q˙r(tt0)M(qr(tt0)q˙r(tt0)\displaystyle=\dot{s}_{\star}(t)\frac{\sqrt{\dot{q}_{\text{r}}(t-t_{0})^{\top}M(q_{\text{r}}(t-t_{0}))\dot{q}_{\text{r}}(t-t_{0})}}{\sqrt{\dot{q}_{\text{r}}(t-t_{0})^{\top}M(q_{\text{r}}(t-t_{0})\dot{q}_{\text{r}}(t-t_{0})}}
=1,\displaystyle=1,

since s˙=1\dot{s}_{\star}=1. From (26) it follows that σ(t)=s(t)\sigma(t)=s(t) for all tt0t\geq t_{0} and both s~=0\tilde{s}=0 and s~˙=0\dot{\tilde{s}}=0 hold along the trajectory. From (24) it follows that ϕ(q,qr)=0\phi(q,q_{\text{r}})=0 and hence

ϕq(q,qr)=0,ϕqr(q,qr)=0.\frac{\partial\phi}{\partial q}(q,q_{\text{r}})=0,\quad\quad\quad\frac{\partial\phi}{\partial q_{\text{r}}}(q,q_{\text{r}})=0.

Recalling (21) it follows that ec=0e_{\text{c}}=0 and it was shown that s(t)s_{\star}(t) is a solution of the dynamics (12) in §5. Using this in (20) one has

τ=μτq˙τq˙q˙+τr0.\tau=-\mu\frac{\tau_{\dot{q}}}{\sqrt{\left\langle\tau_{\dot{q}}\;\vline\;\dot{q}\right\rangle}}+\tau_{r}^{0}.

Recalling (18) and solving for τq˙\tau_{\dot{q}} one has

τq˙\displaystyle\tau_{\dot{q}} =Mr(s)q˙τr(τq˙q˙Mr(s)τrτr0)=Mr(s)q˙τr(τrτr0)\displaystyle=\frac{M_{\text{r}}(s)}{\left\langle\dot{q}\;\vline\;\tau_{r}\right\rangle}\left(\frac{\left\langle\tau_{\dot{q}}\;\vline\;\dot{q}\right\rangle}{M_{\text{r}}(s)}\tau_{r}-\tau^{0}_{\text{r}}\right)=\frac{M_{\text{r}}(s)}{\left\langle\dot{q}\;\vline\;\tau_{r}\right\rangle}\left(\tau_{r}-\tau^{0}_{\text{r}}\right)

where τq˙q˙=Mr(s)\left\langle\tau_{\dot{q}}\;\vline\;\dot{q}\right\rangle=M_{\text{r}}(s) since q=qrq=q_{\text{r}} and s˙=1\dot{s}=1. The constant μ\mu is given by

μ\displaystyle\mu =1Mr(s(t))(Wrσ)=W˙rMr(s(t))=τrq˙rMr(s(t)).\displaystyle=\frac{1}{\sqrt{M_{\text{r}}(s(t))}}\left(\frac{\partial W_{\text{r}}}{\partial\sigma}\right)=\frac{\dot{W}_{\text{r}}}{\sqrt{M_{\text{r}}(s(t))}}=-\frac{\left\langle\tau_{\text{r}}\;\vline\;\dot{q}_{\text{r}}\right\rangle}{\sqrt{M_{\text{r}}(s(t))}}.

where the final relationship follows from Lemma 4.1. Evaluating τ\tau and substituting for μ\mu and τq˙\tau_{\dot{q}} one obtains

τ\displaystyle\tau =τrq˙rMr(s(t))1τq˙q˙Mr(s)q˙τr(τrτr0)+τr0\displaystyle=\frac{\left\langle\tau_{\text{r}}\;\vline\;\dot{q}_{\text{r}}\right\rangle}{\sqrt{M_{\text{r}}(s(t))}}\frac{1}{\sqrt{\left\langle\tau_{\dot{q}}\;\vline\;\dot{q}\right\rangle}}\frac{M_{\text{r}}(s)}{\left\langle\dot{q}\;\vline\;\tau_{r}\right\rangle}\left(\tau_{r}-\tau^{0}_{\text{r}}\right)+\tau_{\text{r}}^{0}
=1Mr(s)Mr(s)τq˙q˙(τrτr0)+τr0\displaystyle=\frac{1}{\sqrt{M_{\text{r}}(s)}}\frac{M_{\text{r}}(s)}{\sqrt{\left\langle\tau_{\dot{q}}\;\vline\;\dot{q}\right\rangle}}\left(\tau_{r}-\tau^{0}_{\text{r}}\right)+\tau_{\text{r}}^{0}
=(τrτr0)+τr0=τr\displaystyle=\left(\tau_{r}-\tau^{0}_{\text{r}}\right)+\tau_{\text{r}}^{0}=\tau_{r}

where the final line follows since Mr(s)=τq˙q˙M_{\text{r}}(s)=\left\langle\tau_{\dot{q}}\;\vline\;\dot{q}\right\rangle along trajectories q=qrq=q_{\text{r}}. It follows from (7) that q(t)q_{\star}(t) is solution of (3). This completes the proof. ∎

Remark 6.2.

A key property of the proposed design is that the trajectory tracking can only be achieved up to an unknown constant time offset (24). This comes from the fundamental approach where the desired trajectory is embedded as zero dynamics in a larger system and then stabilised. The philosophy of this approach draws strongly from the inspiration of Full et al. [FK99] and Westervelt et al. [WGK03] in stabilising zero dynamics of a larger system to obtain the desired behaviour as an emergent behaviour rather than forcing the desired response directly. The consequence is that it is not the trajectory that is stabilised, rather it is a set of dynamics that generate the trajectory that is stabilised, and since these dynamics are time-invariant the best that can be achieved is stabilisation up to a time-offset. \Box

Although the trajectory (q,s)(q_{\star},s_{\star}) is a free trajectory of the interconnected system, it is not the only such solution. Understanding the full phase portrait of the interconnected system is far more complicated than those for the reference trajectory shown in Fig. 1 and beyond the scope of this paper (or the author). However, the desired reference trajectory is closely associated with the shape of the phase portrait for the solution s˙=1\dot{s}=1 in the reference system, and a similar phase portrait for σ\sigma that is ‘embedded’ in the dynamics of the true system. Consider the energy level (23) of the interconnected system along the free trajectory (q,s)(q_{\star},s_{\star}). Both ϕ\phi and ψ\psi potentials are zero, and ErE_{\text{r}} (14) is also zero. Finally, H(qr,q˙r)+Wr(σ)H(q_{\text{r}},\dot{q}_{\text{r}})+W_{\text{r}}(\sigma) is also zero along this trajectory by the same argument used to derive (14). Thus, the desired trajectory is characterised by the zero energy level set of interconnected system. Furthermore, it is straightforward to see that the energy of the true and reference systems separately are also zero. From the phase portrait of the reference system (Fig. 1) the only two zero energy solutions are characterised s˙=±1\dot{s}=\pm 1. Recalling (15) it is clear that σ˙>0\dot{\sigma}>0 and since s~\tilde{s} converges to a constant, the solution s˙=1\dot{s}=-1 cannot lie in the limit set of the closed-loop system. Thus, trajectories (q,s)(q_{\star},s_{\star}) (Lemma 6.1), for some offset t0t_{0}, are the only forward invariant trajectories of the interconnected system that lie in the limit set of the closed-loop system with energy E0E\equiv 0.

This suggests a very simple outer level control whose goal is to stabilize the energy level of the interconnected system, while also stabilizing the internal energy of the true and reference systems to zero. This approach is highly reminiscent of the energy pumping controls proposed in the late nineties [Spo95]. Since we have control in both the true system and the reference system then it is possible to inject energy in both systems at the same time and minimize the need for energy exchange during asymptotic tracking of the trajectory, as well as ensuring that the separate systems independently stabilise to zero energy level sets.

Choose a constant gain k>0k>0, then the proposed “energy pump” inputs are

f:=k(H(q,q˙)+Wr(σ))q˙\displaystyle f:=-k\left(H(q,\dot{q})+W_{\text{r}}(\sigma)\right)\dot{q} (27)
fr:=k(Hr(s,s˙)+Wr(s))s˙\displaystyle f_{r}:=-k\left(H_{\text{r}}(s,\dot{s})+W_{\text{r}}(s)\right)\dot{s} (28)

where ff is applied to the true system and frf_{r} to the reference system. The action of ff will inject energy

fq˙=k(H(q,q˙)+Wr(σ))q˙q˙\left\langle f\;\vline\;\dot{q}\right\rangle=-k(H(q,\dot{q})+W_{\text{r}}(\sigma))\left\langle\dot{q}\;\vline\;\dot{q}\right\rangle

into the true system, acting to decrease the energy level when H(q,q˙)+Wr(σ)H(q,\dot{q})+W_{\text{r}}(\sigma) is positive and increase energy levels when it is negative. Similarly, frf_{r} will stabilise the energy levels in the reference system to zero. Both controls will become inactive along the desired trajectory (q,s)(q_{\star},s_{\star}) and will only contribute infinitesimally to stabilise the energy level of the interconnected system.

7 Graphical Representation

The full control can be graphically described in the bond graph shown in Figure 2. In this bond graph, the only external energy to the system is supplied (and removed) through the energy pump shown in the centre top of the figure and the stabilising dissipation Rs~˙2R\dot{\tilde{s}}^{2} term in the bottom right. The remainder of the graph describes the interconnection of the true and reference systems. The upper interconnection branch is the direct coupling of qq to qrq_{\text{r}} through a spring potential ϕ\phi. The lower left modulated transformer (MTF) and the potential Wr(σ)W_{\text{r}}(\sigma) is the coupling of the reference potential to the true system. The spring-damper coupling of ss and σ\sigma is shown in the bottom right of the diagram.

H(q,q˙)\textstyle{H(q,\dot{q})} 𝔻\mathbb{D} q˙\scriptstyle{\dot{q}}f\scriptstyle{f}energy\scriptstyle{\begin{array}[]{c}\Downarrow\\ \text{energy}\end{array}}pump 𝔻\mathbb{D} s˙\scriptstyle{\dot{s}}fr\scriptstyle{f_{\text{r}}}Hr(s,s˙)\textstyle{H_{\text{r}}(s,\dot{s})} 1 q˙\scriptstyle{\dot{q}}τ\scriptstyle{\tau}q˙\scriptstyle{\dot{q}}μτq˙τq˙q˙τr0\scriptstyle{\mu\frac{\tau_{\dot{q}}}{\sqrt{\left\langle\tau_{\dot{q}}\;\vline\;\dot{q}\right\rangle}}-\tau_{\text{r}}^{0}}q˙\scriptstyle{\dot{q}}ϕ(q,qr)q\scriptstyle{\frac{\partial\phi(q,q_{\text{r}})}{\partial q}} ϕ(q,qr)\phi(q,q_{\text{r}}) MTF q˙r\scriptstyle{\dot{q}_{r}}ϕ(q,qr)qr\scriptstyle{\frac{\partial\phi(q,q_{\text{r}})}{\partial q_{\text{r}}}} 1 s˙\scriptstyle{\dot{s}}e\scriptstyle{e}s˙\scriptstyle{\dot{s}}ϵ\scriptstyle{\epsilon}s˙\scriptstyle{\dot{s}}δ\scriptstyle{\delta} MTF σ˙\scriptstyle{\dot{\sigma}}Wrσδ\scriptstyle{\frac{\partial W_{\text{r}}}{\partial\sigma}-\delta} 1 σ˙\scriptstyle{\dot{\sigma}}Wrσ\scriptstyle{\frac{\partial W_{\text{r}}}{\partial\sigma}}σ˙\scriptstyle{\dot{\sigma}}δ\scriptstyle{\delta} 0 s~˙\scriptstyle{\dot{\tilde{s}}}δ\scriptstyle{\delta} Wr(σ)W_{\text{r}}(\sigma) ψ(s~)\psi(\tilde{s}) 1 s~˙\scriptstyle{\dot{\tilde{s}}}κs~\scriptstyle{\kappa\tilde{s}}s~˙\scriptstyle{\dot{\tilde{s}}}Rs~˙\scriptstyle{R\dot{\tilde{s}}} R

Figure 2: Bond Graph representation of the proposed synchronisation control in Theorem 5.1.

8 Conclusion

The proposed control architecture is fully non-linear and based on energy principles. Due to its foundation, the approach is expected to provide highly robust control with strong passivity properties with respect to external disturbances. There is considerable potential to consider implementations on non-standard state spaces such as 𝐒𝐄(3)\mathbf{SE}(3) for mobile robotic vehicles as well as extensions based on the principles of passive systems [SSF07]. Although the approach is derived for conservative mechanical systems it should be able to be applied to more liberal systems (with dissipative elements) as long as suitable conditions on the existence of WrW_{\text{r}} are provided.

Acknowledgments

This research was supported by the Australian Research Council through the “Australian Centre of Excellence for Robotic Vision” CE140100016.

References

  • [Cra89] J.J. Craig. Introduction to Robotics mechanics and control. Addison-Wesley publishing company inc., second edition, 1989.
  • [FK99] R. Full and D. Koditschek. Templates and anchors: Neuromechanical hypotheses of legged locomotion on land. Journal of Experimental Biology, 202:3325–3332, 1999.
  • [FSS03] Kenji Fujimoto, Kazunori Sakurama, and Toshiharu Sugie. Trajectory tracking control of port-controlled Hamiltonian systems via generalized canonical transformations. Automatica, 39:2059–2069, 2003.
  • [Kel95] Rafael Kelly. A tuning procedure for stable pid control of robot manipulators. Robotica, 13(2):141–148, 1995.
  • [KMA88] S. Kawamura, F. Miyazaki, and S. Arimoto. Is a local linear PD feedback control law effective for trajectory tracking of robot motion? In Proceedings of the International Conference on Robotics and Automation (ICRA), pages 1335–1340, 1988.
  • [Kod87] D.E. Koditschek. Quadratic lyapunov functions for mechanical systems. Technical Report 8703, Centre for Systems Science, Yale University, Department of Electrical Engineering, 1987.
  • [Lef00] Adriaan Arie Johannes Lefeber. Tracking Control of Nonlinear Mechanical Systems. phdthesis, 2000. Universiteit Twente.
  • [LS89] Weiping Li and Jean-Jacques Slotine. An indirect adaptive robot controller. Systems & Control Letters, 12:259–266, 1989.
  • [Mar73] B. Markewitz. Analysis of a computed torque drive methods and comparison with conventional position servo for a computed controlled manipulator. Technical Report 33-601, Jet Propulsion Lab, California Institute of Technology, 1973.
  • [MG86] R.H. Middleton and G.C. Goodwin. Adaptive computed torque control for rigid link manipulators. In Proceedings of the 25th Conference on Decision and Control, pages 68–73, 1986.
  • [NFK00] J. Nakanishi, T. Fukuda, and D. Koditschek. A brachiating robot controller. IEEE Transactions Robotic Automation, 16:109–203, 2000.
  • [OLNS98] R. Ortega, A. Loria, P. J. Nicklasson, and H. Sira-Rmirez. Passivity-based control of Euler–Lagrange systems. London, Springer, 1998.
  • [Pau82] R. P. Paul. Robot Manipulators: Mathematics, Programming, and Control. MIT Press Cambridge, MA, USA, 1982.
  • [SHV06] M. W. Spong, S. Hutchinson, and M. Vidyasagar. Robot Modeling and control. Wiley, 2006.
  • [SL91] J. Slotine and W. Li. Applied nonlinear control. Prentice Hall, 1991.
  • [Spo95] M.W. Spong. The swing up control problem for the acrobot. IEEE Control Systems Magazine, 15(1):49–55, 1995.
  • [SSF07] Cristian Secchi, Stefano Stramigioli, and Cesare Fantuzzi. Control of interactive robotic interfaces: A port-Hamiltonian approach, volume 29 of Springer Tracts in Advanced Robotics. Springer, Berlin, 2007.
  • [TA81] Morikazu Takegaki and Suguru Arimoto. A new feedback method for dynamic control of manipulators. Journal of Dynamic Systems, Measurement, and Control, 103(2):119–125, 1981.
  • [WGK03] E. R. Westervelt, J. W. Grizzle, and D. E. Koditschek. Hybrid zero dynamics of planar biped walkers. IEEE Transactions on Automatic Control, 48(1):42–56, 2003.
  • [WXX11] Zhaojing Wu, Yuanqing Xia, and Xuejun Xie. Stochastic barbalat’s lemma and its applications. IEEE Transactions on Automatic Control, 57(6):1537–1543, 2011.