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

Total energy-shaping control for mechanical systems via Control-by-Interconnection

Joel Ferguson1 1Joel Ferguson is with the School of Engineering, The University of Newcastle, Australia Email: [email protected]
Abstract

Application of IDA-PBC to mechanical systems has received much attention in recent decades, but its application is still limited by the solvability of the so-called matching conditions. In this work, it is shown that total energy-shaping control of under-actuated mechanical systems has a control-by-interconnection interpretation. Using this interpretation, alternate matching conditions are formulated that defines constraints on the added energy, rather then the total closed-loop energy. It is additionally shown that, for systems that are under-actuated degree one with the mass matrix depending on a single coordinate, the kinetic energy matching conditions resolve to ODEs which can be evaluated numerically. Using this approach controllers are proposed for the benchmark cart-pole and acrobot systems.

I INTRODUCTION

Energy-based methods for controlling nonlinear physical systems have been shown to be effective in a variety of physical domains [1]. Such methods consider the energy and structure of the system to be controlled to derive control strategies that exploit the natural system behaviours. Interconnection and Damping Assignment, Passivity-Based Control (IDA-PBC) is one such control methodology where the control input is designed such that the closed-loop can be interpreted as an alternate physical system with a different energy, interconnection and damping structure [2].

While IDA-PBC has been applied to a broad range of systems, particular attention has been given to mechanical systems which exhibit a rich canonical structure [3, 4, 5]. In the case of fully-actuated systems, IDA-PBC allows a user to arbitrarily modify the potential and kinetic energy of the closed-loop system [6], a process known as total energy shaping [3]. For under-actuated systems, however, application of IDA-PBC is limited by solutions that satisfy a set of PDEs, the so-called matching conditions. Much research effort has been committed to solving these equations, with solutions posed in several special cases [4, 5, 6]. This design methodology has been applied to a number of benchmark examples such as the cart-pole, acrobot, spider crane, amongst others.

Control-by-Interconnection (CbI) describes a sub-class of energy-based control methods that falls under the umbrella of IDA-PBC [7, 8]. Under this scheme, the controller is assumed to be a passive system that is interconnected with a passive plant to be controlled via the passive input-output pair. Casimirs, conserved quantities between the control sub-system and the plant, can be constructed to help shape the energy of the closed-loop system. It is known that potential energy shaping of fully-actuated mechanical systems falls into the class of CbI [7, 9]. Control of underactuated mechanical systems has been explored in the context of CbI by applying nonlinear PID controllers to both the standard and alternate passive outputs [10, 11, 12]. The idea of using PID for stabilisation of passive systems was formalised in [13] and a general characterisation of all passive outputs from a given system was characterised.

In this work, the connection between IDA-PBC and CbI for under-actuated mechanical systems is explored. Using the bond graph formalism (see [14] for introduction), a control sub-system is proposed that allows for shaping of the kinetic and potential energies of the closed-loop system. By representing the controller as a passive interconnection, the requisite matching conditions are reformulated in terms of the added mass and added potential energy. Equivalence between the CbI and IDA-PBC is then established in the case of mechanical systems by identifying Casimirs relating the controller states to those of the plant. Finally, using the reformulated matching conditions, it is shown that in the case that the mass matrix depends on only one coordinate that the kinetic energy matching conditions can be formulated as an ODE that can be evaluated numerically for implementation.

Notation. Function arguments are declared upon definition and are omitted for subsequent use. 0n×m0_{n\times m} denotes a n×mn\times m zeros matrix whereas InI_{n} denotes a n×nn\times n identity matrix. For mappings :n\mathcal{H}:\mathbb{R}^{n}\to\mathbb{R}, we denote the transposed gradient as :=(x)\nabla\mathcal{H}:=\left(\frac{\partial\mathcal{H}}{\partial x}\right)^{\top}. For P=Pn×nP=P^{\top}\in\mathbb{R}^{n\times n}, λmin[P],λmax[P]\lambda_{min}\left[P\right],\lambda_{max}\left[P\right] denotes the minimum and maximum (real) eigenvalues of P, respectively.

II BACKGROUND AND PROBLEM FORMULATION

In this section a number of key concepts necessary for the subsequent developments are briefly revised.

II-A Control-by-interconnection

In this work we consider input-state-output port-Hamiltonian systems (ISO-PHS) of the form

x˙p=Fp(xp)xpHp(xp)+Gp(xp)upyp=Gp(xp)xpHp(xp)\begin{split}\dot{x}_{p}&=F_{p}(x_{p})\nabla_{x_{p}}H_{p}(x_{p})+G_{p}(x_{p})u_{p}\\ y_{p}&=G_{p}^{\top}(x_{p})\nabla_{x_{p}}H_{p}(x_{p})\end{split} (1)

where xppx_{p}\in\mathbb{R}^{p} is the state of the plant, Fp(xp)p×pF_{p}(x_{p})\in\mathbb{R}^{p\times p} is the combined interconnection and damping matrix satisfying Fp(xp)+Fp(xp)0F_{p}(x_{p})+F_{p}^{\top}(x_{p})\leq 0, Hp(xp)H_{p}(x_{p})\in\mathbb{R} is the Hamiltonian, upmu_{p}\in\mathbb{R}^{m} is the input, Gp(xp)p×mG_{p}(x_{p})\in\mathbb{R}^{p\times m} is the input mapping matrix and ypmy_{p}\in\mathbb{R}^{m} is the natural passive output corresponding to the input upu_{p}.

CbI assumes that the controller is a passive system that is interconnected with the plant (1) via a passive interconnection. In this work, we consider a controller subsystem with two input-output ports, described by the ISO-PHS

[x˙cyc1yc2]=[K11(xc)K12(xc)K13(xc)K21(xc)K22(xc)K23(xc)K31(xc)K32(xc)K33(xc)]:=K(xc)[xcHcuc1uc2]\begin{bmatrix}\dot{x}_{c}\\ -y_{c1}\\ -y_{c2}\end{bmatrix}=\underbrace{\begin{bmatrix}K_{11}(x_{c})&K_{12}(x_{c})&K_{13}(x_{c})\\ K_{21}(x_{c})&K_{22}(x_{c})&K_{23}(x_{c})\\ K_{31}(x_{c})&K_{32}(x_{c})&K_{33}(x_{c})\end{bmatrix}}_{:=K(x_{c})}\begin{bmatrix}\nabla_{x_{c}}H_{c}\\ u_{c1}\\ u_{c2}\end{bmatrix} (2)

where xccx_{c}\in\mathbb{R}^{c} is the state of the controller, Hc(xc)H_{c}(x_{c})\in\mathbb{R} is the controller Hamiltonian, uc1,yc1mu_{c1},y_{c1}\in\mathbb{R}^{m} and uc2,yc2ru_{c2},y_{c2}\in\mathbb{R}^{r} are passive input-output pairs and K(xc)(p+m+r)×(p+m+r)K(x_{c})\in\mathbb{R}^{(p+m+r)\times(p+m+r)} satisfies K(xc)+K(xc)0K(x_{c})+K^{\top}(x_{c})\leq 0 [15].

The controller system (2) can be interconnected with the plant (1) via the passive interconnection

up=yc1uc1=yp,\begin{split}u_{p}&=-y_{c1}\\ u_{c1}&=y_{p},\end{split} (3)

resulting in the closed-loop dynamics

[x˙px˙cyc2]=[Fp+GpK22GpGpK21GpK23K12GpK11K13K32GpK31K33]Fcl[xpHpxcHcuc2]\begin{split}\begin{bmatrix}\dot{x}_{p}\\ \dot{x}_{c}\\ -y_{c2}\end{bmatrix}&=\underbrace{\begin{bmatrix}F_{p}+G_{p}K_{22}G_{p}^{\top}&G_{p}K_{21}&G_{p}K_{23}\\ K_{12}G_{p}^{\top}&K_{11}&K_{13}\\ K_{32}G_{p}^{\top}&K_{31}&K_{33}\\ \end{bmatrix}}_{F_{cl}}\begin{bmatrix}\nabla_{x_{p}}H_{p}\\ \nabla_{x_{c}}H_{c}\\ u_{c2}\end{bmatrix}\end{split} (4)

where uc2,yc2u_{c2},y_{c2} is a passive input-output pair to the interconnected system. Noting that K+K0K+K^{\top}\leq 0, the closed-loop interconnection and damping structure FclF_{cl} satisfies Fcl+Fcl0F_{cl}+F_{cl}^{\top}\leq 0 also.

In the case of stabilisation, the objective is to construct the plant functions Hc(xc)H_{c}(x_{c}), K(xc)K(x_{c}) to ensure the existence of Casimirs which statically relate the controller states to functions of the plant states

xc=fc(xp),x_{c}=f_{c}(x_{p}), (5)

for fc(x)cf_{c}(x)\in\mathbb{R}^{c}. The Casimir functions and controller initial conditions are then designed to assign a desirable minimum to the total energy function

W(xp)=H(xp)+Hc(xc)|xc=fc(xp).W(x_{p})=H(x_{p})+H_{c}(x_{c})|_{x_{c}=f_{c}(x_{p})}. (6)

It is noted that the Lyapunov candidate W(xp)W(x_{p}) can be generalised to a function of H,HcH,H_{c} and the Casimirs xcfc(xp)x_{c}-f_{c}(x_{p}) [15]. Methods to ensure the existence of and constructing Casimirs have been reported in [7] and the references therein.

II-B Underactuated mechanical systems

The primary objective of this work is to apply CbI to the class of underactuated mechanical systems, described by the dynamics

[q˙p˙]=[0n×nInIn0n×n][qHpH]+[0n×mG]uH(q,p)=12pM1(q)p:=T(q,p)+V(q)y=GpH,\begin{split}\begin{bmatrix}\dot{q}\\ \dot{p}\end{bmatrix}&=\begin{bmatrix}0_{n\times n}&I_{n}\\ -I_{n}&0_{n\times n}\end{bmatrix}\begin{bmatrix}\nabla_{q}H\\ \nabla_{p}H\end{bmatrix}+\begin{bmatrix}0_{n\times m}\\ G\end{bmatrix}u\\ H(q,p)&=\underbrace{\frac{1}{2}p^{\top}M^{-1}(q)p}_{:=T(q,p)}+V(q)\\ y&=G^{\top}\nabla_{p}H,\end{split} (7)

where qn,pnq\in\mathbb{R}^{n},p\in\mathbb{R}^{n} are the configuration and momentum vectors, respectively, umu\in\mathbb{R}^{m} in the input, M(q)=M(q)>0M(q)=M^{\top}(q)>0 is the inertia matrix and yy is the natural passive output corresponding the the input uu. The input mapping matrix GG is assumed to be constant and have the structure

G=[Im0(nm)×m],G=\begin{bmatrix}I_{m}\\ 0_{(n-m)\times m}\end{bmatrix}, (8)

where nm<nn-m<n is the degree of underactuation of the system111The assumed structure of GG requires that the first mm configuration coordinates are chosen to be collocated with the actuators. This class of dynamics falls into the broader class of ISO-PHS (1). For a more general input mapping matrix G¯(q)n×m\bar{G}(q)\in\mathbb{R}^{n\times m}, there exists a change of coordinates recovering the structure (8) if the columns of G¯(q)\bar{G}(q) are involute.. The Hamiltonian H(q,p)H(q,p) is the sum of the kinetic energy T(q,p)T(q,p) and the potential energy V(q)V(q), which allows the gradient of HH with respect to qq to be written as

qH(q,p)=qT(q,p)+qV(q).\nabla_{q}H(q,p)=\nabla_{q}T(q,p)+\nabla_{q}V(q). (9)

A full-rank left-annihilator for the input mapping matrix (8) is defined as

G=[0(nm)×mI(nm)]G^{\perp}=\begin{bmatrix}0_{(n-m)\times m}&I_{(n-m)}\end{bmatrix} (10)

which satisfies GG=0(nm)×mG^{\perp}G=0_{(n-m)\times m}.

In the subsequent development, we will require an alternate representation of the gradient of the kinetic energy with respect to configuration qT(q,p)\nabla_{q}T(q,p). Noting that the kinetic energy is quadratic in pp, the gradient qT(q,p)\nabla_{q}T(q,p) can always be factored into the form

qT(q,p)=E(q,p)M1(q)p,\nabla_{q}T(q,p)=E(q,p)M^{-1}(q)p, (11)

for some matrix E(q,p)n×nE(q,p)\in\mathbb{R}^{n\times n}. This has been previously noted in [16] using the Christoffel symbols. Note, however, that the matrix E(q,p)E(q,p) is non-unique and in this work we will use the representation given by

qT(q,p)=12q(M1(q)p)p=12q(M1(q)p)M(q):=E(q,p)M1(q)p.\begin{split}\nabla_{q}T(q,p)&=\frac{1}{2}\frac{\partial^{\top}}{\partial q}\left(M^{-1}(q)p\right)p\\ &=\underbrace{\frac{1}{2}\frac{\partial^{\top}}{\partial q}\left(M^{-1}(q)p\right)M(q)}_{:=E(q,p)}M^{-1}(q)p.\end{split} (12)

In constructing a CbI interpretation to total energy shaping it is useful to define a virtual input-output pair for the system (7) by defining the input

uv=Gu,u_{v}=Gu, (13)

which allows the system to written similarly to a fully-actuated system as

[q˙p˙]=[0n×nInIn0n×n][qHpH]+[0n×nIn]uvyv=pH,\begin{split}\begin{bmatrix}\dot{q}\\ \dot{p}\end{bmatrix}&=\begin{bmatrix}0_{n\times n}&I_{n}\\ -I_{n}&0_{n\times n}\end{bmatrix}\begin{bmatrix}\nabla_{q}H\\ \nabla_{p}H\end{bmatrix}+\begin{bmatrix}0_{n\times n}\\ I_{n}\end{bmatrix}u_{v}\\ y_{v}&=\nabla_{p}H,\end{split} (14)

where uv,yvnu_{v},y_{v}\in\mathbb{R}^{n}. From the definition (13), it is clear that any input uvu_{v} must satisfy

Guv=0m×1,G^{\perp}u_{v}=0_{m\times 1}, (15)

which will be ensured in subsequent control design. Assuming that (15) holds, the input uu can be described as a function of uvu_{v} by

u=Guv.\begin{split}u&=G^{\top}u_{v}.\end{split} (16)

The advantage of constructing the virtual input-output pair is that the virtual output now describes the full velocity vector

yv=M1(q)p=q˙,y_{v}=M^{-1}(q)p=\dot{q}, (17)

a property that will be exploited when shaping the potential energy.

II-C IDA-PBC for underactuated mechanical systems

IDA-PBC is a control design methodology whereby the control signal is designed such that the closed-loop dynamics have a port-Hamiltonian (pH) structure. When applied to underactuated mechanical systems, the target closed-loop dynamics have the structure

[q˙p˙]=[0n×nM1(q)Md(q)Md(q)M1(q)J2(q,p)GKdG][qHdpHd]Hd(q,p)=12pMd1(q)p+Vd(q),\begin{split}\begin{bmatrix}\dot{q}\\ \dot{p}\end{bmatrix}&=\begin{bmatrix}0_{n\times n}&M^{-1}(q)M_{d}(q)\\ -M_{d}(q)M^{-1}(q)&J_{2}(q,p)-GK_{d}G^{\top}\end{bmatrix}\begin{bmatrix}\nabla_{q}H_{d}\\ \nabla_{p}H_{d}\end{bmatrix}\\ H_{d}&(q,p)=\frac{1}{2}p^{\top}M_{d}^{-1}(q)p+V_{d}(q),\end{split} (18)

where Md(q)=Md(q)>0,Vd(q)M_{d}(q)=M_{d}^{\top}(q)>0,V_{d}(q) are the desired closed-loop inertia matrix and potential energies, respectively, J2(q,p)=J2(q,p)J_{2}(q,p)=-J_{2}^{\top}(q,p) is skew-symmetric and Kd=Kd0K_{d}=K_{d}^{\top}\geq 0 is a tuning parameter used for damping injection. If VdV_{d} is minimised at the target configuration, HdH_{d} qualifies as a Lyapunov function for the closed-loop system [4].

The complexity of applying IDA-PBC to underactuated system is satisfying the so-called matching conditions. This conditions requires that the dynamics of the open-loop and closed-loop systems must agree on the spaces perpendicular to the control signal. The structure chosen fo the closed-loop system in (18) ensures that the dynamics of qq agree with (7). Comparing the dynamics of pp results in the condition

G{qHMd(q)M1(q)qHdJ2(q,p)pHd}=0(nm)×1,\begin{split}G^{\perp}\left\{\nabla_{q}H-M_{d}(q)M^{-1}(q)\nabla_{q}H_{d}-J_{2}(q,p)\nabla_{p}H_{d}\right\}\\ =0_{(n-m)\times 1},\end{split} (19)

which defines a PDE that should be solved for Md(q),Vd(q),J2(q,p)M_{d}(q),V_{d}(q),J_{2}(q,p). Noting the structure of the Hamiltonians, this PDE can be separated into the components involving pp, and those that do not by

G{qTMd(q)M1(q)qTdJ2(q,p)Md1(q)p}=0(nm)×1G{qVMd(q)M1(q)qVd}=0(nm)×1.\begin{split}G^{\perp}\left\{\nabla_{q}T-M_{d}(q)M^{-1}(q)\nabla_{q}T_{d}-J_{2}(q,p)M_{d}^{-1}(q)p\right\}\\ =0_{(n-m)\times 1}\\ G^{\perp}\left\{\nabla_{q}V-M_{d}(q)M^{-1}(q)\nabla_{q}V_{d}\right\}\\ =0_{(n-m)\times 1}.\end{split} (20)

These expressions are known as the kinetic energy and potential energy matching equations, respectively.

II-D Contributions

The objective of this work is to construct a CbI interpretation of IDA-PBC when applied to underactuated mechanical systems. The contributions of this work are threefold:

  1. C.1

    ISO-PHS with Casimirs that statically relate states are considered and a closed-form solution to remove the Casimirs by reducing the dimension of the state vector is proposed. This solution can be applied to the closed-loop dynamics of CbI implementations of the form (4) to describe the resulting dynamics as a function of xpx_{p} only.

  2. C.2

    A CbI controller for underactuated mechanical system of the form (2) is proposed and the resulting closed-loop is shown to be equivalent to the well-known dynamics (18). The CbI interpretation generates alternate matching conditions to the expressions (20), describing constraints on the added mass and added potential energy.

  3. C.3

    Using the alternate matching conditions, it is shown that the kinetic energy matching equations reduce to ODEs in the special case of underactuation degree one where the mass matrix is a function of only one configuration coordinate. It is demonstrated that numerical methods can be utilised in such cases to avoid solving these expressions analytically.

II-E Related works

Significant attention has been given to solving the matching equations (20) in recent decades. In [3], [17] it was shown that is the system is under-actuated degree one and the mass matrix depends on a single un-actuated coordinate, the kinetic energy matching condition can be simplified to an ODE. Using a novel parametrisation of J2(q,p)J_{2}(q,p), a general solution for under-actuated degree one system was proposed in [4] under the assumption that the mass matrix depends only on the actuated coordinates. This approach was extended in [18] using a momentum transformation to simplify the matching equations. More recently, solutions to the potential energy matching equations were considered in [19] under the assumption that the mass matrix and potential energy functions were dependent on only one variable. Finally, a general solution to the special case of 2 degree-of-freedom system was proposed in [6]. The studies [20], [21] considered the effects of friction on the closed-loop stability using IDA-PBC.

In recent works, alternate approaches to constructing solutions to the matching equations have been explored. The existence of conservative forces that cannot be factorised into a skew-symmetric matrix J2(q,p)J_{2}(q,p) was investigated in [22], which resulted in alternate matching equations. Implicit system representations were used in [23] to construct solutions in an over-parameterised space where the closed-loop dynamics were subject to constraints. By working in the larger dimension, a solution to a under-actuated degree 2 crane system was proposed. Pfaffian differential equations were utilised in [24] which resulted in the kinetic energy PDEs being converted to an alternate form which admits simpler solutions.

Some authors have investigated the possibility of avoiding the matching equations altogether by considering the control signal to be a CbI. The work [10] relied on a Lagrangian structure and several technical assumptions to verify the existence of a second passive output corresponding to the input uu. Using this second output, a stabilising control was designed that ensured stability without requiring a solution to the matching PDEs. A similar approach was proposed in [12, 11] where a second passive output was utilised and the control assumed to have a PID structure.

III CASIMIR REDUCTION

In this section, a method for reducing the state dimension of ISO-PHS with Casimirs is derived. The reduction method applies to general ISO-PHS with Casimirs and can be directly applied to the resulting closed-loop dynamics of CbI schemes of the form (4) to describe the system as a function of xpx_{p} only. In the sequel, the reduction method will be used to show equivalence between the CbI controller for underactuated mechanical systems and the IDA-PBC dynamics (18). Before introducing the state reduction solution, a useful lemma is required.

Lemma 1

Consider a square block matrix of arbitrary dimension

A=[A11A12A21A22]A=\begin{bmatrix}A_{11}&A_{12}\\ A_{21}&A_{22}\end{bmatrix} (21)

and assume that A22A_{22} is invertible. If the symmetric component of AA is negative semi-definite, A+A0A+A^{\top}\leq 0, the symmetric component of the Schur complement

A11A12A221A21A_{11}-A_{12}A_{22}^{-1}A_{21} (22)

is negative semi-definite also.

Proof:

First note that the Schur complement of XX can be computed by

[IA21A22]A[IA221A21]=A11A12A221A21.\begin{split}\begin{bmatrix}I&-A_{21}^{\top}A_{22}^{-\top}\end{bmatrix}A\begin{bmatrix}I\\ -A_{22}^{-1}A_{21}\end{bmatrix}=A_{11}-A_{12}A_{22}^{-1}A_{21}.\end{split} (23)

The symmetric component of this expression is negative semi-definite as A+A0A+A^{\top}\leq 0. ∎

The solution for reducing the dimension of ISO-PHS which exhibit Casimirs is now introduced. This development applies to systems of the form

[x˙1x˙2y]=[F11(x)F12(x)F13(x)F21(x)F22(x)F23(x)F31(x)F32(x)F33(x)]F(x)[x1Hx2Hu]\begin{split}\begin{bmatrix}\dot{x}_{1}\\ \dot{x}_{2}\\ -y\end{bmatrix}&=\underbrace{\begin{bmatrix}F_{11}(x)&F_{12}(x)&F_{13}(x)\\ F_{21}(x)&F_{22}(x)&F_{23}(x)\\ F_{31}(x)&F_{32}(x)&F_{33}(x)\end{bmatrix}}_{F(x)}\begin{bmatrix}\nabla_{x_{1}}H\\ \nabla_{x_{2}}H\\ u\end{bmatrix}\end{split} (24)

where xp+cx\in\mathbb{R}^{p+c} is the state of the system which has been partitioned into x1p,x2cx_{1}\in\mathbb{R}^{p},x_{2}\in\mathbb{R}^{c}, H(x1,x2)H(x_{1},x_{2})\in\mathbb{R} is the Hamiltonian, F(x)(p+c)×(p+c)F(x)\in\mathbb{R}^{(p+c)\times(p+c)} is the full-rank interconnection and damping matrix satisfying F(x)+F(x)0F(x)+F^{\top}(x)\leq 0, umu\in\mathbb{R}^{m} is the input and ymy\in\mathbb{R}^{m} is the corresponding passive output. It is assumed that the system contains a Casimir and the states have been partitioned such that the Casimir can be written as

x2=fc(x1),x_{2}=f_{c}(x_{1}), (25)

where fc(x1)cf_{c}(x_{1})\in\mathbb{R}^{c} is differentiable.

The first step in constructing a minimal system representation is defining a new set of coordinates given by

w=x2fc(x1)=0c×1,w=x_{2}-f_{c}(x_{1})=0_{c\times 1}, (26)

which is identically equal to zero by construction. The system (24) can be described in the coordinates (x1,w)(x_{1},w) by

[x˙1yw˙]=[Ip0p×c0p×m0m×p0m×cImfcx1Ic0c×m][x˙1x˙2y]=[Ip0p×c0p×m0m×p0m×cImfcx1Ic0c×m]F×[Ip0p×mfcx10c×p0c×mIc0m×pIm0m×c][x1HruwHr]=[F¯11F¯12F¯13F¯21F¯22F¯23F¯31F¯32F¯33]F¯[x1HruwHr],\begin{split}\begin{bmatrix}\dot{x}_{1}\\ -y\\ \dot{w}\end{bmatrix}=&\begin{bmatrix}I_{p}&0_{p\times c}&0_{p\times m}\\ 0_{m\times p}&0_{m\times c}&I_{m}\\ -\frac{\partial f_{c}}{\partial x_{1}}&I_{c}&0_{c\times m}\end{bmatrix}\begin{bmatrix}\dot{x}_{1}\\ \dot{x}_{2}\\ -y\end{bmatrix}\\ =&\begin{bmatrix}I_{p}&0_{p\times c}&0_{p\times m}\\ 0_{m\times p}&0_{m\times c}&I_{m}\\ -\frac{\partial f_{c}}{\partial x_{1}}&I_{c}&0_{c\times m}\end{bmatrix}F\\ &\times\begin{bmatrix}I_{p}&0_{p\times m}&-\frac{\partial^{\top}f_{c}}{\partial x_{1}}\\ 0_{c\times p}&0_{c\times m}&I_{c}\\ 0_{m\times p}&I_{m}&0_{m\times c}\end{bmatrix}\begin{bmatrix}\nabla_{x_{1}}H_{r}\\ u\\ \nabla_{w}H_{r}\end{bmatrix}\\ =&\underbrace{\begin{bmatrix}\bar{F}_{11}&\bar{F}_{12}&\bar{F}_{13}\\ \bar{F}_{21}&\bar{F}_{22}&\bar{F}_{23}\\ \bar{F}_{31}&\bar{F}_{32}&\bar{F}_{33}\end{bmatrix}}_{\bar{F}}\begin{bmatrix}\nabla_{x_{1}}H_{r}\\ u\\ \nabla_{w}H_{r}\end{bmatrix},\\ \end{split} (27)

where

Hr(x1,w):=H(x1,w+fc(x1))F¯11(x1)=F11(x)|x2=fc(x1)F¯12(x1)=F13(x)|x2=fc(x1)F¯13(x1)=F12(x)F11(x)fcx1|x2=fc(x1)F¯21(x1)=F31(x)|x2=fc(x1)F¯22(x1)=F33(x)|x2=fc(x1)F¯23(x1)=F32(x)F31(x)fcx1|x2=fc(x1)F¯31(x1)=F21(x)fcx1F11(x)|x2=fc(x1)F¯32(x1)=F23(x)fcx1F13(x)|x2=fc(x1)F¯33(x1)=F22(x)F21(x)fcx1fcx1F12(x)+fcx1F11(x)fcx1|x2=fc(x1).\begin{split}H_{r}(x_{1},w):=&H(x_{1},w+f_{c}(x_{1}))\\ \bar{F}_{11}(x_{1})=&F_{11}(x)|_{x_{2}=f_{c}(x_{1})}\\ \bar{F}_{12}(x_{1})=&F_{13}(x)|_{x_{2}=f_{c}(x_{1})}\\ \bar{F}_{13}(x_{1})=&F_{12}(x)-F_{11}(x)\frac{\partial^{\top}f_{c}}{\partial x_{1}}\bigg{|}_{x_{2}=f_{c}(x_{1})}\\ \bar{F}_{21}(x_{1})=&F_{31}(x)|_{x_{2}=f_{c}(x_{1})}\\ \bar{F}_{22}(x_{1})=&F_{33}(x)|_{x_{2}=f_{c}(x_{1})}\\ \bar{F}_{23}(x_{1})=&F_{32}(x)-F_{31}(x)\frac{\partial^{\top}f_{c}}{\partial x_{1}}\bigg{|}_{x_{2}=f_{c}(x_{1})}\\ \bar{F}_{31}(x_{1})=&F_{21}(x)-\frac{\partial f_{c}}{\partial x_{1}}F_{11}(x)\bigg{|}_{x_{2}=f_{c}(x_{1})}\\ \bar{F}_{32}(x_{1})=&F_{23}(x)-\frac{\partial f_{c}}{\partial x_{1}}F_{13}(x)\bigg{|}_{x_{2}=f_{c}(x_{1})}\\ \bar{F}_{33}(x_{1})=&F_{22}(x)-F_{21}(x)\frac{\partial^{\top}f_{c}}{\partial x_{1}}-\frac{\partial f_{c}}{\partial x_{1}}F_{12}(x)\\ &+\frac{\partial f_{c}}{\partial x_{1}}F_{11}(x)\frac{\partial^{\top}f_{c}}{\partial x_{1}}\bigg{|}_{x_{2}=f_{c}(x_{1})}.\end{split} (28)

Recalling that ww is identically equal to zero, w˙\dot{w} is also equal to zero. Consequently, the final row of (27) is a constraint that needs to be resolved to construct a minimal system representation. There are two methods of reduction that will be considered. Firstly, in the transformed coordinates (27) it can occur that one or more columns of F¯3\bar{F}_{\star 3} is identically zero. Without loss of generality, it is assumed that the first dd columns of F¯3\bar{F}_{\star 3} are equal to zero. To remove the zero rows, the full-rank matrix BB is defined as

B=[0d×(cd)I(cd)],B=\begin{bmatrix}0_{d\times(c-d)}\\ I_{(c-d)}\end{bmatrix}, (29)

which acts to select the non-zero columns of F¯3\bar{F}_{\star 3}. The zero columns and corresponding rows are removed from (27) by

[x˙1yBw˙]=[F¯11F¯12F¯13BF¯21F¯22F¯23BBF¯31BF¯32BF¯33B]:=F¯B[x1HruBwHr],\begin{split}\begin{bmatrix}\dot{x}_{1}\\ -y\\ B^{\top}\dot{w}\end{bmatrix}=&\underbrace{\begin{bmatrix}\bar{F}_{11}&\bar{F}_{12}&\bar{F}_{13}B\\ \bar{F}_{21}&\bar{F}_{22}&\bar{F}_{23}B\\ B^{\top}\bar{F}_{31}&B^{\top}\bar{F}_{32}&B^{\top}\bar{F}_{33}B\end{bmatrix}}_{:=\bar{F}_{B}}\begin{bmatrix}\nabla_{x_{1}}H_{r}\\ u\\ B^{\top}\nabla_{w}H_{r}\end{bmatrix},\end{split} (30)

which does not modify the system dynamics. Note that as F¯+F¯0\bar{F}+\bar{F}^{\top}\leq 0, F¯B+F¯B0\bar{F}_{B}+\bar{F}_{B}^{\top}\leq 0 also. Using this representation, a method for resolving the remaining constraint equations is presented under the assumption that BF¯33BB^{\top}\bar{F}_{33}B is full rank.

Proposition 1

Consider the pH system (24) with Casimir (25). If the matrix BF¯33BB^{\top}\bar{F}_{33}B is full-rank for all x1x_{1} the system can be described by a reduced-order model

[x˙1y]=Fr(x1)[x1Hru],\begin{split}\begin{bmatrix}\dot{x}_{1}\\ -y\end{bmatrix}&=F_{r}(x_{1})\begin{bmatrix}\nabla_{x_{1}}H_{r}\\ u\end{bmatrix},\end{split} (31)

where

Hr(x1)=H(x1,fc(x1))Fr(x1)=[F¯11F¯12F¯21F¯22][F¯13BF¯23B](BF¯33B)1[BF¯31BF¯32]\begin{split}H_{r}(x_{1})=&H\left(x_{1},f_{c}(x_{1})\right)\\ F_{r}(x_{1})=&\begin{bmatrix}\bar{F}_{11}&\bar{F}_{12}\\ \bar{F}_{21}&\bar{F}_{22}\\ \end{bmatrix}\\ &-\begin{bmatrix}\bar{F}_{13}B\\ \bar{F}_{23}B\\ \end{bmatrix}(B^{\top}\bar{F}_{33}B)^{-1}\begin{bmatrix}B^{\top}\bar{F}_{31}&B^{\top}\bar{F}_{32}\end{bmatrix}\end{split} (32)

and F¯(x1)\bar{F}(x_{1}) satisfies Fr(x1)+Fr(x1)0F_{r}(x_{1})+F_{r}^{\top}(x_{1})\leq 0.

Proof:

The expression Bw˙B^{\top}\dot{w}, defined in (30), is identically equal to 0(cd)×10_{(c-d)\times 1} by construction. Note, however, that the gradient BwHrB^{\top}\nabla_{w}H_{r} is not necessarily equal to zero. Assuming that BF¯33BB^{\top}\bar{F}_{33}B is full rank, the expression BwHrB^{\top}\nabla_{w}H_{r} can be described as

BwHr=(BF¯33B)1[BF¯31BF¯32][x1Hru]\begin{split}B^{\top}\nabla_{w}H_{r}=&-(B^{\top}\bar{F}_{33}B)^{-1}\begin{bmatrix}B^{\top}\bar{F}_{31}&B^{\top}\bar{F}_{32}\end{bmatrix}\begin{bmatrix}\nabla_{x_{1}}H_{r}\\ u\end{bmatrix}\end{split} (33)

Substituting this expression into the dynamics (30) resolves to the reduced dynamics (31).

To verify that Fr+Fr0F_{r}+F_{r}^{\top}\leq 0, note that FrF_{r} is the Schur complement of F¯B\bar{F}_{B} which satisfies F¯B+F¯B0\bar{F}_{B}+\bar{F}_{B}^{\top}\leq 0. It follows that Fr+Fr0F_{r}+F_{r}^{\top}\leq 0 by application of Lemma 1. ∎

Proposition 1 showed that an ISO-PHS that exhibits a Casimir function can be described in a reduced state-space. The class of dynamics that are derived from application of CbI (4) that result in a Casimir of the form (5) falls into the class of systems (24). The following Corollary tailors the Casimir reduction for this important sub-class of dynamics.

Corollary 1

If the closed-loop dynamics of a CbI scheme (4) exhibit a Casimir of the form (5), the system can be equivalently expressed in the form (31) where

x1=xpHr(xp)=Hp(xp)+Hc(fc(xp))F¯11=Fp+GpK22GpF¯12=GpK23F¯13=GpK21[Fp+GpK22Gp]fcxpF¯21=K32GpF¯22=K33F¯23=K31K32GpfcxpF¯31=K12Gpfcxp[Fp+GpK22Gp]F¯32=K13fcxpGpK23F¯33=K11K12GpfcxpfcxpGpK21+fcxp[Fp+GpK22Gp]fcxp\begin{split}x_{1}=&x_{p}\\ H_{r}(x_{p})=&H_{p}(x_{p})+H_{c}\left(f_{c}(x_{p})\right)\\ \bar{F}_{11}=&F_{p}+G_{p}K_{22}G_{p}^{\top}\\ \bar{F}_{12}=&G_{p}K_{23}\\ \bar{F}_{13}=&G_{p}K_{21}-\left[F_{p}+G_{p}K_{22}G_{p}^{\top}\right]\frac{\partial^{\top}f_{c}}{\partial x_{p}}\\ \bar{F}_{21}=&K_{32}G_{p}^{\top}\\ \bar{F}_{22}=&K_{33}\\ \bar{F}_{23}=&K_{31}-K_{32}G_{p}^{\top}\frac{\partial^{\top}f_{c}}{\partial x_{p}}\\ \bar{F}_{31}=&K_{12}G_{p}^{\top}-\frac{\partial f_{c}}{\partial x_{p}}\left[F_{p}+G_{p}K_{22}G_{p}^{\top}\right]\\ \bar{F}_{32}=&K_{13}-\frac{\partial f_{c}}{\partial x_{p}}G_{p}K_{23}\\ \bar{F}_{33}=&K_{11}-K_{12}G_{p}^{\top}\frac{\partial^{\top}f_{c}}{\partial x_{p}}-\frac{\partial f_{c}}{\partial x_{p}}G_{p}K_{21}\\ &+\frac{\partial f_{c}}{\partial x_{p}}\left[F_{p}+G_{p}K_{22}G_{p}^{\top}\right]\frac{\partial^{\top}f_{c}}{\partial x_{p}}\end{split} (34)

and BB is suitably chosen as per (29) using the expressions F¯3\bar{F}_{\star 3}. The arguments have been dropped from the definitions of F¯(xp)\bar{F}_{\star\star}(x_{p}) for the sake of readability.

Proof:

The result follows from direct application of Proposition 1 to the dynamics (4). ∎

IV CONTROL-BY-INTERCONNECTION FOR MECHANICAL SYSTEMS

In this section, a control-by-interconnection scheme for under-actuated mechanical systems is presented. A dynamic 2-port control system is introduced with the intention that it will be interconnected to the plant (14) via one of the ports. The controller states are constructed to be statically related to the plant states after interconnection, resulting in Casimirs. By applying Proposition 1, the closed-loop dynamic are defined in a reduced space in which the dynamics coincide with standard total energy-shaping control (18).

The proposed CbI scheme is shown in Figure 1. The intention of this control subsystem is to interconnect with the plant (14) via the uc1,yc1u_{c1},y_{c1} power port.

Refer to caption
Figure 1: Total energy shaping as a CbI for under-actuated mechanical systems.

The second input uc2u_{c2} is available for subsequent control design, such as damping injection. The terms M(qa2),E(qa2,pa)M(q_{a_{2}}),E(q_{a2},p_{a}) are the plant mass matrix (7) and factorisation of the kinetic energy gradient (12) evaluated at the controller states whereas J(qa2,pa)=J(qa2,pa)n×nJ(q_{a2},p_{a})=-J(q_{a2},p_{a})^{\top}\in\mathbb{R}^{n\times n} is a skew-symmetric matrix to be chosen. The three-port storage element Ha(qa1,qa2,pa)H_{a}(q_{a1},q_{a2},p_{a}) has states qa1,qa2,panq_{a1},q_{a2},p_{a}\in\mathbb{R}^{n} and energy function similar to mechanical systems,

Ha(qa1,qa2,pa)=12paMa1(qa2)pa:=Ta(qa2,pa)+Vd(qa2)V(qa1):=Va(qa1,qa2),\begin{split}H_{a}(q_{a1},q_{a2},p_{a})&=\underbrace{\frac{1}{2}p_{a}^{\top}M_{a}^{-1}(q_{a2})p_{a}}_{:=T_{a}(q_{a2},p_{a})}+\underbrace{V_{d}(q_{a2})-V(q_{a1})}_{:=V_{a}(q_{a1},q_{a2})},\end{split} (35)

where Ma1(qa2)M_{a}^{-1}(q_{a2}) is the inverse added mass, Ta(qa2,pa)T_{a}(q_{a2},p_{a}) is the added kinetic energy, Vd(qa2)V_{d}(q_{a2}) is the desired closed-loop potential energy, V(qa1)V(q_{a1}) is the plant potential energy function (7) evaluated at the plant state qa1q_{a1} and Va(qa1,qa2)V_{a}(q_{a1},q_{a2}) is the total added potential energy. It is important to note that, although Ma1(qa2)M_{a}^{-1}(q_{a2}) is represented as a matrix inverse, it need not be invertible nor positive. Indeed, it will be shown in subsequent developments that the key requirement is that

Md1(q):=M1(q)+Ma1(q)M_{d}^{-1}(q):=M^{-1}(q)+M_{a}^{-1}(q) (36)

should be positive definite.

In subsequent analysis it will be shown that the interconnection of the control system with the plant (14) via the interconnection

uv=yc1uc1=yv,\begin{split}u_{v}&=-y_{c1}\\ u_{c1}&=y_{v},\end{split} (37)

yields Casimirs

[qa1qa2pa]=[In0n×nIn0n×n0n×nIn][qp]fc(xp).\begin{bmatrix}q_{a1}\\ q_{a2}\\ p_{a}\end{bmatrix}=\underbrace{\begin{bmatrix}I_{n}&0_{n\times n}\\ I_{n}&0_{n\times n}\\ 0_{n\times n}&I_{n}\end{bmatrix}\begin{bmatrix}q\\ p\end{bmatrix}}_{f_{c}(x_{p})}. (38)

Assuming the Casimirs exist, some intuition regarding the construction of the control system in Figure 1 can be provided. Both qa1,qa2q_{a1},q_{a2} were constructed to be equal to qq. Firstly q˙a1\dot{q}_{a1} is equal to q˙\dot{q} by interconnection with the plant virtual output yvy_{v} via a 1-junction. To verify a similar relation for qa2q_{a2}, assume that qa2=q,pa=pq_{a2}=q,p_{a}=p holds which results in paHa=Ma1(q)p\nabla_{p_{a}}H_{a}=M_{a}^{-1}(q)p and uc1+paHa=Md1pu_{c1}+\nabla_{p_{a}}H_{a}=M_{d}^{-1}p. With this in mind, the transformer can be seen to reconstruct the velocity q˙=M1(q)p\dot{q}=M^{-1}(q)p for the bottom 1-junction, resulting in q˙a1=q˙\dot{q}_{a1}=\dot{q}.

To construct a Casimir pa=pp_{a}=p, first note from (7) and (12) that the plant momentum dynamics can be expressed as

p˙=qVE(q,p)M1(q)p+uv.\dot{p}=-\nabla_{q}V-E(q,p)M^{-1}(q)p+u_{v}. (39)

The control structure acts to remove these forces from the plant via the right side of the control structure and re-introduce them via the top 0-junction where they are shared with the dynamics of pap_{a}. The q˙a1\dot{q}_{a1} bond acts to cancel the gravity term from the plant qV-\nabla_{q}V. Recalling that the bottom 1-junction has flow equal to M1(q)pM^{-1}(q)p, the right-side gyrator cancels the term E(q,p)M1(q)p-E(q,p)M^{-1}(q)p from the plant. The left-side gyrator then re-introduces the force E(q,p)M1(q)p-E(q,p)M^{-1}(q)p via the top 0-junction where it is shared between p˙\dot{p} and p˙a\dot{p}_{a}, establishing the desired Casimir.

The claimed Casimir (38) is now formalised in the following Proposition. For this development, note that the gradients of the added energy Ha()H_{a}(\cdot) satisfy

qa1Ha=qa1Vqa2Ha=qa2Ta+qa2Vdqa2Ta=12qa2(Ma1(qa2)pa)papaHa=Ma1(qa2)pa\begin{split}\nabla_{q_{a1}}H_{a}&=-\nabla_{q_{a1}}V\\ \nabla_{q_{a2}}H_{a}&=\nabla_{q_{a2}}T_{a}+\nabla_{q_{a2}}V_{d}\\ \nabla_{q_{a2}}T_{a}&=\frac{1}{2}\frac{\partial^{\top}}{\partial q_{a2}}\left(M_{a}^{-1}(q_{a2})p_{a}\right)p_{a}\\ \nabla_{p_{a}}H_{a}&=M_{a}^{-1}(q_{a2})p_{a}\end{split} (40)

and the expressions A(),B(),C()A(\cdot),B(\cdot),C(\cdot) in Figure 1 can be evaluated as

A(qa2,pa,uc1)=M1(qa2)Md(qa2)[uc1+paHa]B(qa2,pa,uc1)=qa2HaE(qa2,pa)paHaM(qa2)J(qa2,pa)Md(qa2)×[uc1+paHa]C(qa2,pa,uc1)=Md(qa2)M1(qa2)qa2HaMd(qa2)M1(qa2)E(qa2,pa)paHaMd(qa2)J(qa2,pa)Md(qa2)×[uc1+paHa],\begin{split}A(q_{a2},p_{a},u_{c1})=&M^{-1}(q_{a2})M_{d}(q_{a2})\left[u_{c1}+\nabla_{p_{a}}H_{a}\right]\\ B(q_{a2},p_{a},u_{c1})=&\nabla_{q_{a2}}H_{a}-E^{\top}(q_{a2},p_{a})\nabla_{p_{a}}H_{a}\\ &-M(q_{a2})J(q_{a2},p_{a})M_{d}(q_{a2})\\ &\times\left[u_{c1}+\nabla_{p_{a}}H_{a}\right]\\ C(q_{a2},p_{a},u_{c1})=&M_{d}(q_{a2})M^{-1}(q_{a2})\nabla_{q_{a2}}H_{a}\\ &-M_{d}(q_{a2})M^{-1}(q_{a2})E^{\top}(q_{a2},p_{a})\nabla_{p_{a}}H_{a}\\ &-M_{d}(q_{a2})J(q_{a2},p_{a})M_{d}(q_{a2})\\ &\times\left[u_{c1}+\nabla_{p_{a}}H_{a}\right],\end{split} (41)

with Md()M_{d}(\cdot) defined in (36). To ensure that the Casimir exists, a number of requirements are imposed on the selection of the added inverse mass Ma1(q)M_{a}^{-1}(q) and closed-loop potential energy Vd(q)V_{d}(q) which are equivalent of the standard matching conditions used in IDA-PBC (20).

Proposition 2

Consider the control system in Figure 1 and assume that it is interconnected to the plant (14) via the interconnection (37). If Ma1(qa),Vd(qa)M_{a}^{-1}(q_{a}),V_{d}(q_{a}) are chosen such that

GC(qa2,pa,uc1)|qa2=q,pa=p=GqVG^{\perp}C(q_{a2},p_{a},u_{c1})|_{q_{a2}=q,p_{a}=p}=G^{\perp}\nabla_{q}V (42)

and the controller states are initialised as qa1(0)=qa2(0)=q(0)q_{a1}(0)=q_{a2}(0)=q(0), pa(0)=p(0)p_{a}(0)=p(0), the Casimir (38) holds for all time.

Proof:

Consider that at some time instant TT (38) holds, implying that

qa1(T)=qa2(T)=q(T),pa(T)=p(T).\begin{split}q_{a1}(T)=q_{a2}(T)=q(T),\ p_{a}(T)=p(T).\end{split} (43)

It is shown that if (42) is satisfied, then the derivatives of the states also agree

q˙a1(T)=q˙a2(T)=q˙(T),p˙a(T)=p˙(T),\begin{split}\dot{q}_{a1}(T)=\dot{q}_{a2}(T)=\dot{q}(T),\ \dot{p}_{a}(T)=\dot{p}(T),\end{split} (44)

establishing the existence of a Casimir for all future time.

We proceed by first establishing the relationship for the configuration vector. From (37) and (14) uc=M1(q)pu_{c}=M^{-1}(q)p which establishes q˙a1(T)=q˙(T)\dot{q}_{a1}(T)=\dot{q}(T). The input uc=M1(q)pu_{c}=M^{-1}(q)p is substituted into A()A(\cdot) (41) to find

A|t=T=M1(qa2)Md(qa2)[M1(q)p+Ma1(qa2)pa]|t=T=M1(q)p|t=T=q˙|t=T,\begin{split}A|_{t=T}&=M^{-1}(q_{a2})M_{d}(q_{a2})\left[M^{-1}(q)p+M_{a}^{-1}(q_{a2})p_{a}\right]|_{t=T}\\ &=M^{-1}(q)p|_{t=T}\\ &=\dot{q}|_{t=T},\end{split} (45)

confirming that q˙a2(T)=q˙(T)\dot{q}_{a2}(T)=\dot{q}(T).

Next we consider the behaviour of the momentum states. First note that, from the bond graph in Figure 1 and the definition (16), the plant input uvu_{v} is given by

u=Guv=G[Guc2C(qa2,pa,uc1)+qa1V(qa1)]=uc2G[C(qa2,pa,uc1)qa1V(qa1)].\begin{split}u&=G^{\top}u_{v}\\ &=G^{\top}\left[Gu_{c2}-C(q_{a2},p_{a},u_{c1})+\nabla_{q_{a1}}V(q_{a1})\right]\\ &=u_{c2}-G^{\top}\left[C(q_{a2},p_{a},u_{c1})-\nabla_{q_{a1}}V(q_{a1})\right].\end{split} (46)

Using the control definition (46) and the condition (42), the plant dynamics (7) can be expanded as

p˙=qT(q,p)[GqV(q)GqV(q)]+Gu=qT(q,p)[GqV(q)GqV(q)]+G{uc2G[C(qa2,pa,uc1)qa1V(qa1)]}=qT(q,p)+Guc2[G{C(qa2,pa,uc1)+qV(q)qa1V(qa1)}GqV(q)]\begin{split}\dot{p}=&-\nabla_{q}T(q,p)-\begin{bmatrix}G^{\top}\nabla_{q}V(q)\\ G^{\perp}\nabla_{q}V(q)\end{bmatrix}+Gu\\ =&-\nabla_{q}T(q,p)-\begin{bmatrix}G^{\top}\nabla_{q}V(q)\\ G^{\perp}\nabla_{q}V(q)\end{bmatrix}\\ &+G\left\{u_{c2}-G^{\top}\left[C(q_{a2},p_{a},u_{c1})-\nabla_{q_{a1}}V(q_{a1})\right]\right\}\\ =&-\nabla_{q}T(q,p)+Gu_{c2}\\ &-\begin{bmatrix}G^{\top}\left\{C(q_{a2},p_{a},u_{c1})+\nabla_{q}V(q)-\nabla_{q_{a1}}V(q_{a1})\right\}\\ G^{\perp}\nabla_{q}V(q)\end{bmatrix}\\ \end{split} (47)

Note that at time TT, qV(q)|t=T=qa1V(qa1)|t=T\nabla_{q}V(q)|_{t=T}=\nabla_{q_{a1}}V(q_{a1})|_{t=T}. Additionally recall the assumption (42) which allows the simplification

p˙|t=T=qT(q,p)C(qa2,pa,uc1)+Guc2.\begin{split}\dot{p}|_{t=T}=&-\nabla_{q}T(q,p)-C(q_{a2},p_{a},u_{c1})+Gu_{c2}.\\ \end{split} (48)

Recalling the identity (45), the dynamics of pap_{a} at time TT can be expanded to

p˙a=GvE(qa2,pa)A()|t=TC(qa2,pa,uc1)|t=T=GvqT(q,p)|t=TC(qa2,pa,uc1)|t=T,\begin{split}\dot{p}_{a}&=Gv-E(q_{a2},p_{a})A(\cdot)|_{t=T}-C(q_{a2},p_{a},u_{c1})|_{t=T}\\ &=Gv-\nabla_{q}T(q,p)|_{t=T}-C(q_{a2},p_{a},u_{c1})|_{t=T},\end{split} (49)

which agrees with (48). As (48) and (49) agree at time TT, (44) is verified for the momentum states. If at the initial time t=0t=0 we have qa(0)=q(0)q_{a}(0)=q(0), pa(0)=p(0)p_{a}(0)=p(0), it follows that qa(t)=q(t)q_{a}(t)=q(t) and pa(t)=p(t)p_{a}(t)=p(t) for all time via integration, completing the proof. ∎

Proposition 2 has established that the Casimir (38) holds under some technical assumptions that will be verified in subsequent design. Before proceeding, we note that the control subsystem in Figure 1 can be written in the form (2) with

xc=[qa1qa2pa]Hc(qa1,qa2,pa)=Ha(qa1,qa2,pa)K11(qa2,pa)=[0n×n0n×n0n×n0n×n0n×nM1Md0n×nMdM1DD+MdJMd]K12(qa2,pa)=[InM1MdMdJMdD]K13=[0n×m0n×mG]K21(qa2,pa)=[InMdM1D+MdJMd]K31=[0m×n0m×nG]K22(qa2,pa)=MdJMdK23=GK32=GK33=0m×mD(qa2,pa)=MdM1E.\begin{split}x_{c}&=\begin{bmatrix}q_{a1}^{\top}&q_{a2}^{\top}&p_{a}^{\top}\end{bmatrix}^{\top}\\ H_{c}(q_{a1},q_{a2},p_{a})&=H_{a}(q_{a1},q_{a2},p_{a})\\ K_{11}(q_{a2},p_{a})&=\begin{bmatrix}0_{n\times n}&0_{n\times n}&0_{n\times n}\\ 0_{n\times n}&0_{n\times n}&M^{-1}M_{d}\\ 0_{n\times n}&-M_{d}M^{-1}&D-D^{\top}+M_{d}JM_{d}\end{bmatrix}\\ K_{12}(q_{a2},p_{a})&=\begin{bmatrix}I_{n}\\ M^{-1}M_{d}\\ M_{d}JM_{d}-D^{\top}\end{bmatrix}\\ K_{13}&=\begin{bmatrix}0_{n\times m}\\ 0_{n\times m}\\ G\end{bmatrix}\\ K_{21}(q_{a2},p_{a})&=\begin{bmatrix}-I_{n}&-M_{d}M^{-1}&D+M_{d}JM_{d}\\ \end{bmatrix}\\ K_{31}&=\begin{bmatrix}0_{m\times n}&0_{m\times n}&-G^{\top}\end{bmatrix}\\ K_{22}(q_{a2},p_{a})&=M_{d}JM_{d}\\ K_{23}&=G\\ K_{32}&=-G^{\top}\\ K_{33}&=0_{m\times m}\\ D(q_{a2},p_{a})&=M_{d}M^{-1}E^{\top}.\end{split} (50)

In the subsequent developments it is assumed that the requisite (42) of Proposition 2 holds, implying qa1(t)=qa2(t)=q(t)q_{a1}(t)=q_{a2}(t)=q(t), pa(t)=p(t)p_{a}(t)=p(t). Condition (42) will be verified by choice of Ma1M_{a}^{-1} and VdV_{d}. Assuming the Casimir holds, the expressions for A(),B(),C()A(\cdot),B(\cdot),C(\cdot) in (41) can be simplified to

A(q,p)=M1(q)pB(q,p)=qTa(q,p)+qVd(q,p)E(q,p)Ma1(q)pM(q)J(q,p)pC(q,p)=Md(q){M1(q)qTa(q,p)+M1(q)qVd(q,p)M1(q)E(q,p)Ma1(q)pM1(q)J(q,p)}\begin{split}A(q,p)=&M^{-1}(q)p\\ B(q,p)=&\nabla_{q}T_{a}(q,p)+\nabla_{q}V_{d}(q,p)-E^{\top}(q,p)M_{a}^{-1}(q)p\\ &-M(q)J(q,p)p\\ C(q,p)=&M_{d}(q)\left\{M^{-1}(q)\nabla_{q}T_{a}(q,p)+M^{-1}(q)\nabla_{q}V_{d}(q,p)\right.\\ &\left.-M^{-1}(q)E^{\top}(q,p)M_{a}^{-1}(q)p-M^{-1}(q)J(q,p)\right\}\\ \end{split} (51)

Recalling the definition of qaTa\nabla_{q_{a}}T_{a} in (40), it is noted that C()C(\cdot) contains some terms which are quadratic in pp and some that are functions of qq only. The function C()C(\cdot) is divided into

C(q,p)=CKE(q,p)+CPE(q)CKE(q,p)=[Ma1(q)+M1(q)]1Md(q){Y(q,p)J(q,p)}pCPE(q)=[Ma1(q)+M1(q)]1M1(q)qVd,\begin{split}C(q,p)=&C_{KE}(q,p)+C_{PE}(q)\\ C_{KE}(q,p)=&\underbrace{\left[M_{a}^{-1}(q)+M^{-1}(q)\right]^{-1}}_{M_{d}(q)}\left\{Y(q,p)-J(q,p)\right\}p\\ C_{PE}(q)&=\left[M_{a}^{-1}(q)+M^{-1}(q)\right]^{-1}M^{-1}(q)\nabla_{q}V_{d},\end{split} (52)

where KEKE represents kinetic energy, PEPE represents potential energy and YY is defined as

Y(q,p)=12M1(q)q(Ma1(q)p)12q(M1(q)p)Ma1(q).\begin{split}Y(q,p)=&\frac{1}{2}M^{-1}(q)\frac{\partial^{\top}}{\partial q}\left(M_{a}^{-1}(q)p\right)\\ &-\frac{1}{2}\frac{\partial}{\partial q}\left(M^{-1}(q)p\right)M_{a}^{-1}(q).\end{split} (53)

As YY is linear in pp it can be written as

Y(q,p)=i=1npiYi(q),\begin{split}Y(q,p)=\sum_{i=1}^{n}p_{i}Y^{i}(q),\end{split} (54)

where

Yi(q)=12M1(q)q(Ma1(q)ei)12q(M1(q)ei)Ma1(q).\begin{split}Y^{i}(q)=&\frac{1}{2}M^{-1}(q)\frac{\partial^{\top}}{\partial q}\left(M_{a}^{-1}(q)e_{i}\right)\\ &-\frac{1}{2}\frac{\partial}{\partial q}\left(M^{-1}(q)e_{i}\right)M_{a}^{-1}(q).\end{split} (55)

The key constraint for control design is choosing Ma1(q),Vd(q)M_{a}^{-1}(q),V_{d}(q) satisfying the matching condition (42). From the definition of C()C(\cdot) in (51), the constraint equation is a function of both Ma1(q)M_{a}^{-1}(q) and [Ma1(q)+M1(q)]1\left[M_{a}^{-1}(q)+M^{-1}(q)\right]^{-1}, making direct design of this matrix difficult. To simplify the design process, an alternate characterisation of (42) is introduced.

In the following proposition, the inverse mass matrix, inverse added mass matrix, interconnection matrix and Y()Y(\cdot) are partitioned as

[m11(q)m21(q)m21(q)m22(q)]=[GG]M1(q)[GG][ma11(q)ma21(q)ma21(q)ma22(q)]=[GG]Ma1(q)[GG][J11(q,p)J21(q,p)J21(q,p)J22(q,p)]=[GG]J(q,p)[GG][Y11(q,p)Y12(q,p)Y21(q,p)Y22(q,p)]=[GG]Y(q,p)[GG].\begin{split}\begin{bmatrix}m_{11}(q)&m_{21}^{\top}(q)\\ m_{21}(q)&m_{22}(q)\end{bmatrix}&=\begin{bmatrix}G^{\top}\\ G^{\perp}\end{bmatrix}M^{-1}(q)\begin{bmatrix}G&G^{\perp\top}\end{bmatrix}\\ \begin{bmatrix}m_{a11}(q)&m_{a21}^{\top}(q)\\ m_{a21}(q)&m_{a22}(q)\end{bmatrix}&=\begin{bmatrix}G^{\top}\\ G^{\perp}\end{bmatrix}M_{a}^{-1}(q)\begin{bmatrix}G&G^{\perp\top}\end{bmatrix}\\ \begin{bmatrix}J_{11}(q,p)&-J_{21}^{\top}(q,p)\\ J_{21}(q,p)&J_{22}(q,p)\end{bmatrix}&=\begin{bmatrix}G^{\top}\\ G^{\perp}\end{bmatrix}J(q,p)\begin{bmatrix}G&G^{\perp\top}\end{bmatrix}\\ \begin{bmatrix}Y_{11}(q,p)&Y_{12}(q,p)\\ Y_{21}(q,p)&Y_{22}(q,p)\end{bmatrix}&=\begin{bmatrix}G^{\top}\\ G^{\perp}\end{bmatrix}Y(q,p)\begin{bmatrix}G&G^{\perp\top}\end{bmatrix}.\end{split} (56)

Using the above definitions, an alternate characterisation of (42) is presented.

Proposition 3

The matching condition (42) is satisfied if:

  • The added mass matrix Ma1(q)M_{a}^{-1}(q) is chosen such that

    D(q)[Yi(q)+Yi(q)]D(q)=0(nm)×(nm)\begin{split}D(q)\left[Y^{i}(q)+Y^{i\top}(q)\right]D^{\top}(q)=0_{(n-m)\times(n-m)}\end{split} (57)

    for all i{1,,n}i\in\left\{1,\dots,n\right\} where

    D(q)=[(m21+ma21)(m11+ma11)1Inm].D(q)=\begin{bmatrix}(m_{21}+m_{a21})(m_{11}+m_{a11})^{-1}&-I_{n-m}\end{bmatrix}. (58)
  • The desired potential energy Vd(q)V_{d}(q) satisfies

    s1(q)GqV=s2(q)GqVds3(q)GqVd=D(q)M1(q)qVd,\begin{split}s_{1}(q)G^{\perp}\nabla_{q}V&=-s_{2}(q)G^{\top}\nabla_{q}V_{d}-s_{3}(q)G^{\perp}\nabla_{q}V_{d}\\ &=-D(q)M^{-1}(q)\nabla_{q}V_{d},\end{split} (59)

    where

    s1(q)=(m22+ma22)(m21+ma21)(m11+ma11)1(m21+ma21)\begin{split}s_{1}&(q)=(m_{22}+m_{a22})\\ &-(m_{21}+m_{a21})(m_{11}+m_{a11})^{-1}(m_{21}^{\top}+m_{a21}^{\top})\end{split} (60)

    is the Schur complement of M1(q)+Ma1(q)M^{-1}(q)+M_{a}^{-1}(q) and

    s2(q)=(m21+ma21)(m11+ma11)1m11m21s3(q)=(m21+ma21)(m11+ma11)1m21m22.\begin{split}s_{2}(q)&=(m_{21}+m_{a21})(m_{11}+m_{a11})^{-1}m_{11}-m_{21}\\ s_{3}(q)&=(m_{21}+m_{a21})(m_{11}+m_{a11})^{-1}m_{21}^{\top}-m_{22}.\end{split} (61)
Proof:

From the graph in Figure 1 and the interconnection (37), the virtual input uvu_{v} is given by

uv=Gu=GvC+qV.\begin{split}u_{v}=Gu=&Gv-C+\nabla_{q}V.\end{split} (62)

Recalling the definition of GG, (62) is equivalent to (42). Collecting the terms u,vu,v and left multiplying by Ma1+M1M_{a}^{-1}+M^{-1} results in

[Ma1+M1]G(uv)=[Ma1+M1]{CKECPE+qV}\begin{split}&\left[M_{a}^{-1}+M^{-1}\right]G(u-v)\\ &\phantom{--}=\left[M_{a}^{-1}+M^{-1}\right]\left\{-C_{KE}-C_{PE}+\nabla_{q}V\right\}\end{split} (63)

Due to the structure of GG in (8), (63) has the left annihilator D()D(\cdot), defined in (58).

Left multiplying (63) by D()D(\cdot) and separating the components into those relating to the kinetic and potential energies result in

0(nm)×1\displaystyle 0_{(n-m)\times 1} =D[Ma1+M1]CKE\displaystyle=-D\left[M_{a}^{-1}+M^{-1}\right]C_{KE} (64)
0(nm)×1\displaystyle 0_{(n-m)\times 1} =D[Ma1+M1]{CPEqV}.\displaystyle=-D\left[M_{a}^{-1}+M^{-1}\right]\left\{C_{PE}-\nabla_{q}V\right\}. (65)

Using (52), (65) is expanded to

0(nm)×1=D[Ma1+M1]qVDM1qVa,\begin{split}0_{(n-m)\times 1}=&D\left[M_{a}^{-1}+M^{-1}\right]\nabla_{q}V\\ &-DM^{-1}\nabla_{q}V_{a},\end{split} (66)

which can be seen to agree with (59) after expanding.

Now considering the constraint on the kinetic energy expression (64), the definition (52) is substituted to find

0(nm)×n=D{Y+J}.\begin{split}0_{(n-m)\times n}=&D\left\{-Y+J\right\}.\\ \end{split} (67)

Using the relevant definitions, the first component of (67) can be solved for J21(q,p)J_{21}(q,p) as

J21(q,p)=(m21+ma21)(m11+ma11)1(Y11+J11)+Y21.\begin{split}J_{21}(q,p)=&(m_{21}+m_{a21})(m_{11}+m_{a11})^{-1}(-Y_{11}+J_{11})\\ &+Y_{21}.\end{split} (68)

Substituting this expression back into the second component of (67) reveals the constraint

0(nm)×(nm)=(m21+ma21)(m11+ma11)1(Y12J21)(Y22+J22)=(m21+ma21)(m11+ma11)1[Y12Y21](m21+ma21)(m11+ma11)1(Y11+J11)×(m11+ma11)1(m21+ma21)(Y22+J22)=D[Y11+J11Y12Y210(nm)×mY22+J22]D.\begin{split}0&{}_{(n-m)\times(n-m)}\\ =&(m_{21}+m_{a21})(m_{11}+m_{a11})^{-1}(-Y_{12}-J_{21}^{\top})\\ &\phantom{=}-(-Y_{22}+J_{22})\\ =&(m_{21}+m_{a21})(m_{11}+m_{a11})^{-1}\left[-Y_{12}-Y_{21}^{\top}\right]\\ &-(m_{21}+m_{a21})(m_{11}+m_{a11})^{-1}(-Y_{11}+J_{11})^{\top}\\ &\times(m_{11}+m_{a11})^{-1}(m_{21}^{\top}+m_{a21}^{\top})-(-Y_{22}+J_{22})\\ =&-D\begin{bmatrix}-Y_{11}+J_{11}^{\top}&-Y_{12}-Y_{21}^{\top}\\ 0_{(n-m)\times m}&-Y_{22}+J_{22}\end{bmatrix}D^{\top}.\end{split} (69)

The term J22J_{22} is taken as below to solve the skew-symmetric part of this expression,

J22=12D[Y11+Y11+J11J11Y12Y21Y12+Y21Y22+Y22]D,\begin{split}&J_{22}\\ &=-\frac{1}{2}D\begin{bmatrix}-Y_{11}+Y_{11}^{\top}+J_{11}^{\top}-J_{11}&-Y_{12}-Y_{21}^{\top}\\ Y_{12}^{\top}+Y_{21}&-Y_{22}+Y_{22}^{\top}\end{bmatrix}D^{\top},\end{split} (70)

where J11m×mJ_{11}\in\mathbb{R}^{m\times m} is a free skew-symmetric term. The symmetric part of (69) must also be equal to zero, implying that

D[Y+Y]D=0(nm)×(nm).\begin{split}D\left[Y+Y^{\top}\right]D^{\top}=0_{(n-m)\times(n-m)}.\end{split} (71)

Finally, noting that this must be true for each pip_{i}, the condition (57) follows. ∎

Remark 1

The expression (57) implicitly defines a set of PDEs that must be satisfied by any choice of Ma1(q)M_{a}^{-1}(q). From the definition of YiY^{i} in (55), the first mm equations are describe partial differential equations involving the partial derivatives of ma11,ma21m_{a11},m_{a21}. The remaining nmn-m equations describe partial differential equations involving the partial derivatives of ma21,ma22m_{a21},m_{a22}. This structure can be useful for resolving the equations into a standard representation for solving.

Corollary 2

In the special case of under-actuation degree 1, if M1M^{-1}, Ma1M_{a}^{-1} is a function of only 1 configuration variable qiq_{i}, the kinetic energy matching equations (57) can be reduced to a set of ODEs.

ddqi[ma21ma22]=g(ma11,ddqima11,M1,ddqiM1),\begin{split}\frac{d}{dq_{i}}\begin{bmatrix}m_{a21}^{\top}\\ m_{a22}\end{bmatrix}=g\left(m_{a11},\frac{d}{dq_{i}}m_{a11},M^{-1},\frac{d}{dq_{i}}M^{-1}\right),\end{split} (72)

where g()ng(\cdot)\in\mathbb{R}^{n} is a function implicitly defined by the matching conditions (57) and ma11(qi)m_{a11}(q_{i}) can be chosen freely.

Proof:

Assuming that the mass matrix M1M^{-1} is function only of a single configuration variable qiq_{i}, we will also impose that the added mass Ma1M_{a}^{-1} is a function only of the same variable. As a consequence, the matching expression (57) is now only a function in the single variable qiq_{i}. Notably, all partial derivatives of Ma1M_{a}^{-1} with respect to qkq_{k}, where kik\neq i, are equal to zero.

Noting Remark 1, the first n1n-1 expressions of (57) produce differential equations involving the partial derivatives of ma11,ma21m_{a11},m_{a21}. The dimension of ma21m_{a21} is 1×(n1)1\times(n-1), so the first n1n-1 equations can be solved simultaneously to find an expression for ddqima21\frac{d}{dq_{i}}m_{a21}^{\top}. The nthn^{th} expressions of (57) can then be resolved for an expression for ddqima22\frac{d}{dq_{i}}m_{a22}, which has dimension 1. Combining these expressions, the matching equations (57) can be resolved into an ODE of the form (72). ∎

Remark 2

Corollary 2 describes situations in which the kinetic energy matching equations can be reduced to an ODE. The solution, however, will depend on the choice of ma11(qi)m_{a11}(q_{i}) and may not be globally defined. This poses the question of how should the function ma11(qi)m_{a11}(q_{i}) be chosen to ensure an appropriate solution Ma1(qi)M_{a}^{-1}(q_{i})—a nonlinear control problem!

The results of Corollary 1 describe the degrees of freedom that exist when constructing a solution to the added inverse mass matrix. Similar degrees of freedom exist in the definition of the closed-loop potential energy that can be exploited to ensure positivity of the chosen function. The following Corollary defines a free function that can be utilised to this effect.

Corollary 3

Suppose that there exists a full rank matrix-valued function K(q)m×mK(q)\in\mathbb{R}^{m\times m} such that the integral

Γ(q)=K(q)G[Ma1(q)+M1(q)]M(q)𝑑q,\begin{split}\Gamma(q)&=\int K(q)G^{\top}\left[M_{a}^{-1}(q)+M^{-1}(q)\right]M(q)\ dq,\end{split} (73)

exists. The desired closed-loop potential energy can be chosen as

Vd(q)=Vm(q)+Vf(Γ(q)),V_{d}(q)=V_{m}(q)+V_{f}(\Gamma(q)), (74)

where Vm()V_{m}(\cdot) must be chosen to satisfy the potential energy matching conditions (59) and Vf()V_{f}(\cdot) is a free function that does not impact the matching equations. Consequently, the matching equation (59) can be equivalently written as

s1(q)GqV=s2(q)GqVms3(q)GqVm=D(q)M1(q)qVm.\begin{split}s_{1}(q)G^{\perp}\nabla_{q}V&=-s_{2}(q)G^{\top}\nabla_{q}V_{m}-s_{3}(q)G^{\perp}\nabla_{q}V_{m}\\ &=-D(q)M^{-1}(q)\nabla_{q}V_{m}.\end{split} (75)
Proof:

Computing the gradient of VdV_{d} results in

qVd=qVm+ΓqΓVf=qVm+M[Ma1+M1]GKΓVf.\begin{split}\nabla_{q}V_{d}&=\nabla_{q}V_{m}+\frac{\partial^{\top}\Gamma}{\partial q}\nabla_{\Gamma}V_{f}\\ &=\nabla_{q}V_{m}+M\left[M_{a}^{-1}+M^{-1}\right]GK^{\top}\nabla_{\Gamma}V_{f}.\end{split} (76)

From the definition of D(q)D(q) in (58), we have the identity

D(q)M1M(q)[Ma1(q)+M1(q)]G=[Im]G=0(nm)×m\begin{split}D(q)M^{-1}M(q)\left[M_{a}^{-1}(q)+M^{-1}(q)\right]G&=\begin{bmatrix}I_{m}&\star\end{bmatrix}G\\ &=0_{(n-m)\times m}\end{split} (77)

Substituting the expression (76) into (59) and noting the above expression results in the simplified matching equation (75). ∎

Remark 3

Vf()V_{f}(\cdot) is a free function precisely because Γ\Gamma is an integral of the passive output yc2y_{c2}. The potential energy VfV_{f} could be alternatively constructed as a capacitor element added to the input uc2u_{c2} in Figure 1.

Now we arrive at one of the key results of this work, the equivalence of the proposed CbI scheme and total energy-shaping control of underactuated mechanical systems. Assuming that the CbI scheme has been constructed to satisfy the required matching conditions to ensure the existence of a Casimir of the form qa=q,pa=pq_{a}=q,p_{a}=p, Proposition 1 is applied to reconstruct the reduced closed-loop structure (18).

Proposition 4

Consider the underactuated mechanical system with virtual input (14) and assume that Ma(q),Vd(q)M_{a}(q),V_{d}(q) are chosen such that the conditions of Proposition 3 are satisfied in some neighbourhood of a point (q,p)=(q,0n×1)(q,p)=(q^{\star},0_{n\times 1}). If the control signal is chosen as

u(q,p)=vG{Md(q)M1(q)[E(q,p)Ma1(q)p+qaHa(qa,pa)M(q)J(q,p)p]qV}\begin{split}u(q,p)=&v-G^{\top}\left\{M_{d}(q)M^{-1}(q)\left[-E^{\top}(q,p)M_{a}^{-1}(q)p\right.\right.\\ &\left.\left.+\nabla_{q_{a}}H_{a}(q_{a},p_{a})-M(q)J(q,p)p\right]-\nabla_{q}V\right\}\end{split} (78)

where

Md(q)=[Ma1(q)+M1(q)]1,M_{d}(q)=\left[M_{a}^{-1}(q)+M^{-1}(q)\right]^{-1}, (79)

the following hold:

  • The closed-loop dynamics have the form

    [q˙p˙]=[0n×nM1(q)Md(q)Md(q)M1(q)J2(q,p)][qHdpHd]+[0n×mG]vHd(q,p)=12pMd1(q)p+Vd(q)y=GpHd,\begin{split}\begin{bmatrix}\dot{q}\\ \dot{p}\end{bmatrix}=&\begin{bmatrix}0_{n\times n}&M^{-1}(q)M_{d}(q)\\ -M_{d}(q)M^{-1}(q)&J_{2}(q,p)\end{bmatrix}\begin{bmatrix}\nabla_{q}H_{d}\\ \nabla_{p}H_{d}\end{bmatrix}\\ &+\begin{bmatrix}0_{n\times m}\\ G\end{bmatrix}v\\ H_{d}(q,p&)=\frac{1}{2}p^{\top}M_{d}^{-1}(q)p+V_{d}(q)\\ &y=G^{\top}\nabla_{p}H_{d},\end{split} (80)

    where

    J2(q,p)=Md(q){J(q,p)+M1(q)[E(q,p)E(q,p)]×M1(q)}Md(q)+Md(q)M1(q)E(q,p)E(q,p)M1(q)Md(q)\begin{split}J_{2}(q,p)=&M_{d}(q)\left\{J(q,p)+M^{-1}(q)\left[E(q,p)-E^{\top}(q,p)\right]\right.\\ &\left.\times M^{-1}(q)\right\}M_{d}(q)+M_{d}(q)M^{-1}(q)E^{\top}(q,p)\\ &-E(q,p)M^{-1}(q)M_{d}(q)\end{split} (81)
  • If Md(q),Vd(q)M_{d}(q),V_{d}(q) satisfy

    Md(q)>0,Vd(q)>0\begin{split}M_{d}(q)>0,\ \ V_{d}(q)>0\end{split} (82)

    in some neighbourhood of (q,p)=(q,0n×1)(q,p)=(q^{\star},0_{n\times 1}), (q,0n×1)(q^{\star},0_{n\times 1}) is a stable equilibrium of the closed-loop system for v=0m×1v=0_{m\times 1}.

  • If the input signal vv is used for damping injection

    v=KdGyv=-K_{d}G^{\top}y (83)

    for some positive Kdm×mK_{d}\in\mathbb{R}^{m\times m} and the equilibrium (q,p)=(q,0n×1)(q,p)=(q^{\star},0_{n\times 1}), (q,0n×1)(q^{\star},0_{n\times 1}) is locally detectable from the output yy, the point (q,0n×1)(q^{\star},0_{n\times 1}) is asymptotically stable.

Proof:

Interconnection of the mechanical system with the control subsystem results in a closed-loop of the form (4), where xcx_{c}, HcH_{c} and KK_{\star\star} are defined in (50) and

xp=[qp]Fp=[0n×nInIn0n×n]Gp=[0n×nIn].\begin{split}x_{p}=&\begin{bmatrix}q\\ p\end{bmatrix}\\ F_{p}=&\begin{bmatrix}0_{n\times n}&I_{n}\\ -I_{n}&0_{n\times n}\end{bmatrix}\\ G_{p}=&\begin{bmatrix}0_{n\times n}\\ I_{n}\end{bmatrix}.\end{split} (84)

From (38), we have that

fcxp=[In0n×nIn0n×n0n×nIn].\frac{\partial f_{c}}{\partial x_{p}}=\begin{bmatrix}I_{n}&0_{n\times n}\\ I_{n}&0_{n\times n}\\ 0_{n\times n}&I_{n}\end{bmatrix}. (85)

To verify the claim, Corollary 1 is applied which requires a suitable definition of BB. Expanding the definitions of F¯3\bar{F}_{\star 3} from (34) reveals

F¯13=[0n×n0n×nIn0n×nInMdM1D]F¯23=[0n×n0n×n0n×n]F¯33=[0n×n0n×n0n×n0n×n0n×nIn0n×nIn0n×n],\begin{split}\bar{F}_{13}&=\begin{bmatrix}0_{n\times n}&0_{n\times n}&-I_{n}\\ 0_{n\times n}&I_{n}-M_{d}M^{-1}&D\end{bmatrix}\\ \bar{F}_{23}&=\begin{bmatrix}0_{n\times n}&0_{n\times n}&0_{n\times n}\end{bmatrix}\\ \bar{F}_{33}&=\begin{bmatrix}0_{n\times n}&0_{n\times n}&0_{n\times n}\\ 0_{n\times n}&0_{n\times n}&I_{n}\\ 0_{n\times n}&-I_{n}&0_{n\times n}\\ \end{bmatrix},\end{split} (86)

resulting in the choice

B=[0n×n0n×nIn0n×n0n×nIn].B=\begin{bmatrix}0_{n\times n}&0_{n\times n}\\ I_{n}&0_{n\times n}\\ 0_{n\times n}&I_{n}\\ \end{bmatrix}. (87)

Expanding the expression BF¯33BB^{\top}\bar{F}_{33}B results in

BF¯33B=[0n×nInIn0n×n]B^{\top}\bar{F}_{33}B=\begin{bmatrix}0_{n\times n}&-I_{n}\\ I_{n}&0_{n\times n}\end{bmatrix} (88)

which is invertible, ensuring that Corollary 1 can be applied. Expanding the definitions of FrF_{r} in (32) results in the reduced dynamics

[q˙p˙y]=[0n×nM1Md0n×nMdM1J¯2G0n×nG0n×n]Fr[qHdpHdv]J¯2=MdJMd+DD+MdM1DDM1Md,\begin{split}\begin{bmatrix}\dot{q}\\ \dot{p}\\ -y\end{bmatrix}&=\underbrace{\begin{bmatrix}0_{n\times n}&M^{-1}M_{d}&0_{n\times n}\\ -M_{d}M^{-1}&\bar{J}_{2}&G\\ 0_{n\times n}&-G^{\top}&0_{n\times n}\end{bmatrix}}_{F_{r}}\begin{bmatrix}\nabla_{q}H_{d}\\ \nabla_{p}H_{d}\\ v\end{bmatrix}\\ \bar{J}_{2}&=M_{d}JM_{d}+D-D^{\top}+M_{d}M^{-1}D^{\top}-DM^{-1}M_{d},\end{split} (89)

which agrees with (80) when substituting in the definition for DD in (50). Stability and asymptotic stability of the point (q,0n×1)(q^{\star},0_{n\times 1}) follows from Proposition 1 of [17]. ∎

Remark 4

From Proposition 4 it is clear that Ma1(q)M_{a}^{-1}(q) does not need to be a positive matrix. Rather, the closed-loop mass Md1M_{d}^{-1} must be positive to ensure stability fo the system. In cases that Ma1M_{a}^{-1} is positive, the control sub-system in Figure 1 is passive.

V Example applications

In this section the matching conditions derived in Proposition 3 are used to construct stabilising control laws for the cart-pole and acrobot systems. In both cases, the mass matrix depends on only one configuration variable, so the kinetic energy matching conditions can be reduced to ODEs as detailed in Corollary 2. This enables the solutions to be constructed numerically, removing the need to analytically solve the equations.

Both examples were prepared in Matlab 2022a and the source code is available via https://github.com/JoelFerguson/Underactuated_Mechanical_CbI.

V-A Cart-pole example

The cart-pole system, shown in Figure 2, attempts to balance the pole of length \ell and mass mpm_{p} in the upright position by applying a force FF to the cart with mass mcm_{c}. The state q1q_{1} describes the horizontal displacement of the cart whereas q2q_{2} describes the angle of the pole from vertical in the clockwise direction.

Refer to caption
Figure 2: The cart-pole system attempts to balance the pole in the upright position by regulating the force FF.

The cart-pole system can be written as a pH system of the form (7) with

q=[q1q2]M(q)=[mc+mpmplcosq2mplcosq2mpl2]V(q)=mpglcosq2G=[10].\begin{split}q&=\begin{bmatrix}q_{1}\\ q_{2}\end{bmatrix}\\ M(q)&=\begin{bmatrix}m_{c}+m_{p}&m_{p}l\cos q_{2}\\ m_{p}l\cos q_{2}&m_{p}l^{2}\end{bmatrix}\\ V(q)&=m_{p}gl\cos q_{2}\\ G&=\begin{bmatrix}1\\ 0\end{bmatrix}.\end{split} (90)

In the subsequent control design, the parameters mc=mp=l=1,g=9.8m_{c}=m_{p}=l=1,g=9.8 have been used.

The mass matrix of the cart-pole system depends only on q2q_{2}, the unactuated coordinate. The added inverse mass is assumed to also be a function of q2q_{2} also, allowing it to be written as

Ma1(q2)=[ma11(q2)ma21(q2)ma21(q2)ma22(q2)].M_{a}^{-1}(q_{2})=\begin{bmatrix}m_{a11}(q_{2})&m_{a21}^{\top}(q_{2})\\ m_{a21}(q_{2})&m_{a22}(q_{2})\end{bmatrix}. (91)

As noted in Corollary 2, the kinetic energy matching equations (57) can be reduced to an ODE as both M1,Ma1M^{-1},M_{a}^{-1} are a function of only one variable. The associate ODE is of the form (72) for qi=q2q_{i}=q_{2} where ma11(q2)m_{a11}(q_{2}) is a free function to be chosen. The ODE can be evaluated using numerical solvers.

Before solving the ODE associated with the kinetic energy matching equations, consideration should be given to how the resulting mass matrix impacts the closed-loop potential energy VdV_{d}. Recalling (74), the closed-loop potential energy is composed of a free term Γ()\Gamma(\cdot) and a term Vm(q)V_{m}(q) which must satisfy (75), where s1,s2,s3s_{1},s_{2},s_{3} are defined in (60), (61). As the potential V,M1,Ma1V,M^{-1},M_{a}^{-1} are all functions of only q2q_{2}, VmV_{m} is also assumed to be a function of q2q_{2} only, reducing (75) to the ODE

q2Vm=s1(q2)s3(q2)q2V,\begin{split}\nabla_{q_{2}}V_{m}&=-\frac{s_{1}(q_{2})}{s_{3}(q_{2})}\nabla_{q_{2}}V,\end{split} (92)

which can be evaluated numerically once a solution for Ma1(q2)M_{a}^{-1}(q_{2}), and hence s1(),s3()s_{1}(\cdot),s_{3}(\cdot), are found. noting that the vector field q2V\nabla_{q_{2}}V is divergent from the point q2=0q_{2}=0, the closed-loop vector field q2Vm\nabla_{q_{2}}V_{m} should reverse the direction locally. This is ensured if the ratio s1(q)s3(q)\frac{s_{1}(q)}{s_{3}(q)} is positive in some neighbourhood of the origin. Recalling that s1(q)s_{1}(q) is the Schur complement of M1+Ma1M^{-1}+M_{a}^{-1}, which is necessarily positive, it is required that s3(q)s_{3}(q) be positive in some neighbourhood of q2=0q_{2}=0. The values

ma11(0)=0ma21(0)=2ma22(0)=8,\begin{split}m_{a11}(0)&=0\\ m_{a21}(0)&=-2\\ m_{a22}(0)&=8,\end{split} (93)

where chosen which result in s1(0)=1s_{1}(0)=1, s3(0)=1s_{3}(0)=1 and λmin[M1(0)+Ma1(0)]=0.917>0\lambda_{min}\left[M^{-1}(0)+M_{a}^{-1}(0)\right]=0.917>0.

The added inverse mass matrix can now be found by numerically evaluating the ODE (72). The term ma11(q2)m_{a11}(q_{2}) is a free function that was chosen to be constant ma11(q2)=0,q2ma11=0m_{a11}(q_{2})=0,\frac{\partial}{\partial q_{2}}m_{a11}=0 for this example. The resulting functions for ma21(q2),ma22(q2)m_{a21}(q_{2}),m_{a22}(q_{2}) were found to exist on the interval q2[0.48,0.48]q_{2}\in\left[-0.48,0.48\right] and are shown in Figure (3). From Proposition 4, M1(q2)+Ma1(q2)M^{-1}(q_{2})+M_{a}^{-1}(q_{2}) should be positive to ensure stability, so the minimum eigenvalue of this expression is shown in the same figure.

Refer to caption
Figure 3: A solution for the inverse added mass Ma1M_{a}^{-1} was found to exist for the cart-pole system on the domain q2q_{2} between ±0.48\pm 0.48 radians.

The closed-loop potential energy Vm(q2)V_{m}(q_{2}) can now be obtained by numerically by evaluating the ODE (92). The terms s1(),s3()s_{1}(\cdot),s_{3}(\cdot) are evaluated using the solutions to Ma1M_{a}^{-1} shown in Figure (3). The resulting function Vm(q2)V_{m}(q_{2}) is shown in Figure (4). As expected, the function is positive in some neighbourhood of q2=0q_{2}=0 due to the choice of the added mass at q2=0q_{2}=0 in (93).

Refer to caption
Figure 4: Solution for the added potential energy Vm(q2)V_{m}(q_{2}) for the cart-pole system.

The proposed functions of Ma1M_{a}^{-1}, VmV_{m} can be used to construct a controller to stabilise the pendulum in the upright position. To ensure stability of q1=0q_{1}=0 also, the free term Vf(Γ(q))V_{f}(\Gamma(q)), defined in (74), is constructed. The function Γ()\Gamma(\cdot) defined by the integral (73), where K(q)K(q) is a free function chosen to ensure solvability. Noting that M1,Ma1M^{-1},M_{a}^{-1} are functions of q2q_{2} only, the parametrisation

[β1(q2)β2(q2)]=G[Ma1(q2)+M1(q2)]M(q2)\begin{split}\begin{bmatrix}\beta_{1}(q_{2})&\beta_{2}(q_{2})\end{bmatrix}=G^{\top}\left[M_{a}^{-1}(q_{2})+M^{-1}(q_{2})\right]M(q_{2})\end{split} (94)

is introduced. The free function is chosen as K(q2)=1β1(q2)K(q_{2})=\frac{1}{\beta_{1}(q_{2})}, resulting in

Γ(q)=[1β2(q2)β1(q2)]𝑑q=q1+β2(q2)β1(q2)𝑑q2,\begin{split}\Gamma(q)&=\int\begin{bmatrix}1&\frac{\beta_{2}(q_{2})}{\beta_{1}(q_{2})}\end{bmatrix}\ dq\\ &=q_{1}+\int\frac{\beta_{2}(q_{2})}{\beta_{1}(q_{2})}\ dq_{2},\end{split} (95)

which can be solved numerically from the initial condition Γ(02×1)=0\Gamma(0_{2\times 1})=0. The function Vf()V_{f}(\cdot) was taken as Vf(Γ(q))=12κΓ(q)2V_{f}(\Gamma(q))=\frac{1}{2}\kappa\Gamma(q)^{2} with κ=5\kappa=5 for simulation. A contour plot of the resulting closed-loop potential energy is shown in Figure (5). Note that a minimum has been assigned to q=02×1q=0_{2\times 1}.

Refer to caption
Figure 5: Contour plot of the closed-loop potential energy Vd(q)=Vm(q2)+Vf(Γ(q))V_{d}(q)=V_{m}(q_{2})+V_{f}(\Gamma(q)) for the cart-pole system on log scale.

As a final control design stage, damping is injected via the new passive input/output pair with

v=5G(Ma1+M1)p.v=-5G^{\top}(M_{a}^{-1}+M^{-1})p. (96)

The complete control signal is defined by the expression (46).

The cart-pole system was simulated for 5 seconds from initial conditions q(0)=(0,0.3)q(0)=(0,0.3), p(0)=(0,0)p(0)=(0,0). The resulting state evolution and closed-loop energy HdH_{d} is shown in Figure 6. As expected, the proposed controller stabilises the origin and the closed-loop energy HdH_{d} decreases monotonically.

Refer to caption
Figure 6: Numerical simulation of cart-pole system in closed-loop with CbI scheme.

V-B Acrobot example

The acrobot system, shown in Figure 7, consists of 2 links with an actuator supplying a input torque τ\tau fixed between the base and second links. The base link has displacement of q2q_{2}, measured from vertical, length 2\ell_{2}, mass m2m_{2}, moment of inertia J1J_{\ell 1} and centre of mass c2\ell_{c2} from the base pivot point. The actuated link has displacement of q1q_{1} measured relative to the base link, length 1\ell_{1}, mass m1m_{1}, moment of inertia J1J_{\ell 1} and centre of mass c1\ell_{c1} from the actuated pivot point. The control objective of this system is to stabilise the upright equilibrium position (q1,q2)=(0,0)(q_{1},q_{2})=(0,0).

Refer to caption
Figure 7: The acrobot system attempts to balance in the vertical position by manipulating the torque generated by an actuator between the two links.

The acrobot system can be written as a pH system of the form (7) with

M(q)=[c2c2+c3cosq1c2+c3cosq1c1+c2+2c3cosq1]V(q)=c4gcosq2+c5gcos(q1+q2)G=[10],\begin{split}M(q)&=\begin{bmatrix}c_{2}&c_{2}+c_{3}\cos q_{1}\\ c_{2}+c_{3}\cos q_{1}&c_{1}+c_{2}+2c_{3}\cos q_{1}\end{bmatrix}\\ V(q)&=c_{4}g\cos q_{2}+c_{5}g\cos(q_{1}+q_{2})\\ G&=\begin{bmatrix}1\\ 0\end{bmatrix},\end{split} (97)

where

c1=m2c22+m122+J2c2=m1c12+J1c3=m12c1c4=m2c2+m11c5=m1c1.\begin{split}c_{1}&=m_{2}\ell_{c2}^{2}+m_{1}\ell_{2}^{2}+J_{\ell 2}\\ c_{2}&=m_{1}\ell_{c1}^{2}+J_{\ell 1}\\ c_{3}&=m_{1}\ell_{2}\ell_{c1}\\ c_{4}&=m_{2}\ell_{c2}+m_{1}\ell_{1}\\ c_{5}&=m_{1}\ell_{c1}.\end{split} (98)

For the purposes of simulation, we take the values g=9.8g=9.8, c1=2.3333,c2=5.3333,c3=2,c4=3,c5=2c_{1}=2.3333,c_{2}=5.3333,c_{3}=2,c_{4}=3,c_{5}=2 which were previously used in [5], [25].

In this example, the total energy-shaping controller proposed in [5] is reconstructed as a CbI control scheme by solving the matching conditions of Proposition 3. In that work, the closed-loop mass matrix was chosen to be the constant matrix

Md1=[0.33850.99970.99975.9058]\begin{split}M_{d}^{-1}&=\begin{bmatrix}0.3385&-0.9997\\ -0.9997&5.9058\\ \end{bmatrix}\end{split} (99)

which will be recovered in subsequent computations.

The mass matrix of the acrobot system depends only on q1q_{1}, the actuated coordinate. The added inverse mass matrix is assumed to be a function of only q1q_{1} also, resulting in the structure

Ma1(q1)=[ma11(q1)ma21(q1)ma21(q1)ma22(q1)].M_{a}^{-1}(q_{1})=\begin{bmatrix}m_{a11}(q_{1})&m_{a21}^{\top}(q_{1})\\ m_{a21}(q_{1})&m_{a22}(q_{1})\end{bmatrix}. (100)

As the system is underactuated degree 1 and the mass matrix is a function of only one variable, the kinetic energy matching equations can be reduced to an ODE as per Corollary 2. The resulting ODE has the form (72) with qi=q1q_{i}=q_{1} and where ma11(q1)m_{a11}(q_{1}) is a free function.

In order to recover the result (99), this free function ma11(q1)m_{a11}(q_{1}) is chosen as

ma11(q1)=G[Md1M1(q1)]G=0.3385c1+c2+2c3cosq1c1c2c32cos2(q1).\begin{split}m_{a11}(q_{1})&=G^{\top}\left[M_{d}^{-1}-M^{-1}(q_{1})\right]G\\ &=0.3385-\frac{c_{1}+c_{2}+2c_{3}\cos q_{1}}{c_{1}c_{2}-c_{3}^{2}\cos^{2}(q_{1})}.\end{split} (101)

The initial conditions ma12(0),ma22(0)m_{a12}(0),m_{a22}(0) are similarly defined as

ma12(0)=G[Md1M1(0)]G=0.1313ma12(0)=G[Md1M1(0)]G=5.2743.\begin{split}m_{a12}(0)&=G^{\perp}\left[M_{d}^{-1}-M^{-1}(0)\right]G=-0.1313\\ m_{a12}(0)&=G^{\perp}\left[M_{d}^{-1}-M^{-1}(0)\right]G^{\perp\top}=5.2743.\end{split} (102)

The added inverse mass was evaluated numerically and the results are shown in Figure 8. As the previously reported solution (99) is globally defined, it is unsurprising that the inverse added mas is also globally defined. As expected, the minimum eigenvalue of M1+Ma1M^{-1}+M_{a}^{-1} is constant also.

Refer to caption
Figure 8: A solution for the added mass Ma1M_{a}^{-1} for the acrobot was found to exist globally.

Solving the potential energy PDE (75) is difficult due to the open-loop potential energy being a function of both q1q_{1} and q2q_{2}. This dependence implies that VmV_{m} cannot be resolved directly using an ODE solver. Considering the structure of VV in (97), it is proposed that the closed-loop energy VmV_{m} has the structure

Vm(q)=f1(q1)sin(q2)+f2(q1)cos(q2),V_{m}(q)=f_{1}(q_{1})\sin(q_{2})+f_{2}(q_{1})\cos(q_{2}), (103)

which has derivatives

q1Va=f1q1sin(q2)+f2q1cos(q2)q2Va=f1(q1)cos(q2)f2(q1)sin(q2).\begin{split}\nabla_{q_{1}}V_{a}=&\frac{\partial f_{1}}{\partial q_{1}}\sin(q_{2})+\frac{\partial f_{2}}{\partial q_{1}}\cos(q_{2})\\ \nabla_{q_{2}}V_{a}=&f_{1}(q_{1})\cos(q_{2})-f_{2}(q_{1})\sin(q_{2}).\end{split} (104)

The open-loop potential energy has gradients

q1V=c5gsin(q1)cos(q2)c5gcos(q1)sin(q2)q2V=c4gsin(q2)c5gsin(q1)cos(q2)c5gcos(q1)sin(q2).\begin{split}\nabla_{q_{1}}V=&-c_{5}g\sin(q_{1})\cos(q_{2})-c_{5}g\cos(q_{1})\sin(q_{2})\\ \nabla_{q_{2}}V=&-c_{4}g\sin(q_{2})-c_{5}g\sin(q_{1})\cos(q_{2})\\ &-c_{5}g\cos(q_{1})\sin(q_{2}).\end{split} (105)

Substituting the expressions (104) and (105) into (59) and matching coefficients results in the system of equations

[f1q1f2q1]=1s2(q1)×[c4gs1(q1)+c5gs1(q1)cos(q1)+s3(q1)f2(q1)c5gs1(q1)sin(q1)s3(q1)f1(q1)],\begin{split}\begin{bmatrix}\frac{\partial f_{1}}{\partial q_{1}}\\ \frac{\partial f_{2}}{\partial q_{1}}\end{bmatrix}&=\frac{1}{s_{2}(q_{1})}\\ &\times\begin{bmatrix}c_{4}gs_{1}(q_{1})+c_{5}gs_{1}(q_{1})\cos(q_{1})+s_{3}(q_{1})f_{2}(q_{1})\\ c_{5}gs_{1}(q_{1})\sin(q_{1})-s_{3}(q_{1})f_{1}(q_{1})\end{bmatrix},\end{split} (106)

which can be evaluated numerically. The values of f1,f2f_{1},f_{2} at the origin should be chosen to ensure that the origin is an equilibrium point and VmV_{m} is positive in q2q_{2}. Considering the expressions (105), (106), the origin is an equilibrium for f1(0)=0f_{1}(0)=0. The energy function (103) is locally positive with respect to q1q_{1} for f2(0)f_{2}(0) negative. For the purpose of simulation, f2(0)=50f_{2}(0)=-50 was used. The resulting function VmV_{m} is shown in Figure 9.

Refer to caption
Figure 9: Solution for the added potential energy Vm(q2)V_{m}(q_{2}).

Considering Figure 9, it is clear that VmV_{m} is not positive definite with respect to the origin. Note, however, that q2=0q_{2}=0 has been stabilised. To ensure stability of q1=0q_{1}=0 also, the free term Vf(Γ(q))V_{f}(\Gamma(q)), defined in (74), is constructed. The function Γ()\Gamma(\cdot) defined by the integral (73), where K(q)K(q) is a free function chosen to ensure solvability. Noting that M1,Ma1M^{-1},M_{a}^{-1} are functions of q1q_{1} only, the parametrisation

[β1(q1)β2(q1)]=G[Ma1(q1)+M1(q1)]M(q1)\begin{split}\begin{bmatrix}\beta_{1}(q_{1})&\beta_{2}(q_{1})\end{bmatrix}=G^{\top}\left[M_{a}^{-1}(q_{1})+M^{-1}(q_{1})\right]M(q_{1})\end{split} (107)

is introduced. The free function is chosen as K(q1)=1β2(q1)K(q_{1})=\frac{1}{\beta_{2}(q_{1})}, resulting in

Γ(q)=[β1(q1)β2(q1)1]𝑑q=β1(q1)β2(q1)𝑑q1+q2,\begin{split}\Gamma(q)&=\int\begin{bmatrix}\frac{\beta_{1}(q_{1})}{\beta_{2}(q_{1})}&1\end{bmatrix}\ dq\\ &=\int\frac{\beta_{1}(q_{1})}{\beta_{2}(q_{1})}\ dq_{1}+q_{2},\end{split} (108)

which can be solved numerically from the initial condition Γ(02×1)=0\Gamma(0_{2\times 1})=0. The function Vf()V_{f}(\cdot) was taken as Vf(Γ(q))=12κΓ(q)2V_{f}(\Gamma(q))=\frac{1}{2}\kappa\Gamma(q)^{2} with κ=250\kappa=250 for simulation. A contour plot of the resulting closed-loop potential energy on a log scale is shown in Figure 10. Note that a minimum has been assigned to q=02×1q=0_{2\times 1}. As a final control design stage, damping is injected via the new passive input/output pair with

v=5G(Ma1+M1)p.v=-5G^{\top}(M_{a}^{-1}+M^{-1})p. (109)

The complete control signal is defined by the expression (46).

Refer to caption
Figure 10: Contour plot of the closed-loop potential energy Vd(q)=Vm(q)+Vf(Γ(q))V_{d}(q)=V_{m}(q)+V_{f}(\Gamma(q)) on log scale for the acrobot system.

The acrobot system was simulated for 20 seconds from initial conditions q(0)=(0,0.5)q(0)=(0,0.5), p(0)=(0,0)p(0)=(0,0). The resulting state evolution and closed-loop energy HdH_{d} is shown in Figure 11. As expected, the proposed controller stabilises the origin and the closed-loop energy HdH_{d} decreases monotonically.

Refer to caption
Figure 11: Numerical simulation of acrobot system in closed-loop with CbI scheme.

VI CONCLUSIONS AND FUTURE WORKS

In this work total energy shaping has been shown to have a CbI interpretation which results in alternate matching equations related to the added inverse mass. These equations were utilised to construct controllers for the cart-pole and acrobot systems, both of which have the property that the mass matrix depends on only one variable, using numerical methods. While the proposed approach is effective, a number of technical aspects of this approach require further investigation. In particular:

  • As detailed in Corollary 2, The kinetic energy matching equations can be posed as ODEs in the special case that the mass matrix depends on only one configuration variable. This property allows the matching equations to be evaluated numerical using ODE solvers. Further investigation into solving the matching equations in the case that the mass matrix is a function of multiple configuration variables is required. In some cases it may be possible to decouple the dependence on each coordinate, recovering equivalent ODEs. Alternatively, the numerical evaluation of the matching PDEs should be investigated.

  • When evaluating the kinetic energy matching equations in (72), the term ma11(qi)m_{a11}(q_{i}) is a free function that can be used to control the resulting added inverse mass. As seen in the cart-pole example of Section V-A, poor choice of this function results in the solution only being defined on a small domain. Conversely, in the acrobot example of Section V-A this term was chosen to ensure a global solution to the matching equations. Choice of this function defines a nonlinear control problem that should be investigated to ensure desirable behaviour of the result.

  • In both examples of Section V the controllers were designed to stabilise the origin of the respective systems. While this was achieved and verified numerically, asymptotic stability was not established. Asymptotic stability requires that the passive output of the closed-loop system is zero-state detectable, a task that is non-trivial for underactuated systems. Further investigation into methods for injecting damping into the unactuated momentum channels of the closed-loop system is required. It is hoped that the CbI interpretation of the controller shown in Figure 1 may provide new insight into how this might be achieved.

References

  • [1] R. Ortega and E. Garcia-Canseco, “Interconnection and damping assignment passivity-based control: A survey,” European Journal of control, vol. 10, no. 5, pp. 432–450, 2004.
  • [2] R. Ortega, A. Van der Schaft, B. Maschke, and G. Escobar, “Interconnection and damping assignment passivity-based control of port-controlled Hamiltonian systems,” Automatica, vol. 38, no. 4, pp. 585–596, 2002.
  • [3] F. Gómez-Estern, R. Ortega, F. R. Rubio, and J. Aracil, “Stabilization of a class of underactuated mechanical systems via total energy shaping,” Proceedings of the IEEE Conference on Decision and Control, vol. 2, no. December, pp. 1137–1143, 2001.
  • [4] J. Acosta, R. Ortega, and A. Astolfi, “Interconnection and damping assignment passivity-based control of mechanical systems with underactuation degree one,” IEEE Transactions on Automatic Control, vol. 50, no. 12, pp. 1936–1955, 2005.
  • [5] A. D. Mahindrakar, A. Astolf, R. Ortega, and G. Viola, “Further constructive results on interconnection and damping assignment control of mechanical systems: The Acrobot example,” International Journal of Robust and Nonlinear Control, vol. 18, no. July, pp. 557–569, 2010.
  • [6] P. Arpenti, F. Ruggiero, and V. Lippiello, “A Constructive Methodology for the IDA-PBC of Underactuated 2-DoF Mechanical Systems with Explicit Solution of PDEs,” International Journal of Control, Automation and Systems, vol. 20, no. 1, pp. 283–297, 2022.
  • [7] R. Ortega, A. van der Schaft, F. Castaños, and A. Astolfi, “Control by interconnection and standard passivity-based control of port-Hamiltonian systems,” IEEE Transactions on Automatic Control, vol. 53, no. 11, pp. 2527–2542, 2008.
  • [8] R. Ortega and L. P. Borja, “New results on Control by Interconnection and Energy-Balancing Passivity-Based Control of port-hamiltonian systems,” Proceedings of the IEEE Conference on Decision and Control, vol. 2015-Febru, no. February, pp. 2346–2351, 2014.
  • [9] V. Duindam, A. Macchelli, S. Stramigioli, and H. Bruyninckx, Modeling and Control of Complex Physical Systems: The Port-Hamiltonian Approach.   Berlin Heidelberg: Springer-Verlag, 2009.
  • [10] A. Donaire, R. Mehra, R. Ortega, S. Satpute, J. G. Romero, F. Kazi, and N. M. Singh, “Shaping the Energy of Mechanical Systems Without Solving Partial Differential Equations,” IEEE Transactions on Automatic Control, vol. 61, no. 4, pp. 1051–1056, 2016.
  • [11] J. G. Romero, A. Donaire, and R. Ortega, “Global Stabilisation of Underactuated Mechanical Systems via PID Passivity-Based Control,” pp. 1–27, 2016.
  • [12] J. G. Romero, A. Donaire, R. Ortega, and P. Borja, “Global Stabilisation of Underactuated Mechanical Systems via PID Passivity-Based Control,” IFAC-PapersOnLine, vol. 50, no. 1, pp. 9577–9582, 2017.
  • [13] M. Zhang, P. Borja, R. Ortega, Z. Liu, and H. Su, “PID Passivity-Based Control of Port-Hamiltonian Systems,” IEEE Transactions on Automatic Control, vol. PP, no. 99, pp. 1–1, 2017.
  • [14] P. J. Gawthrop and G. P. Bevan, “Bond-Graph Modeling: A tutorial introduction for control engineers,” IEEE Control Systems Magazine, vol. 27, no. 2, pp. 24–45, 2007.
  • [15] A. van der Schaft, L2-Gain and Passivity Techniques in Nonlinear Control, 3rd ed.   Springer, 2017.
  • [16] R. Reyes-Báez, A. van der Schaft, and B. Jayawardhana, “Tracking Control of Fully-actuated port-Hamiltonian Mechanical Systems via Sliding Manifolds and Contraction Analysis,” in Proc. IFAC World Congress.   Toulouse, France: Elsevier, 2017, pp. 8256–8261.
  • [17] R. Ortega, M. W. Spong, F. Gómez-Estern, and G. Blankenstein, “Stabilization of a class of underactuated mechanical systems via interconnection and damping assignment,” IEEE Transactions on Automatic Control, vol. 47, no. 8, pp. 1218–1233, 2002.
  • [18] G. Viola, R. Ortega, and R. Banavar, “Total energy shaping control of mechanical systems: simplifying the matching equations via coordinate changes,” IEEE Transactions on Automatic Control, vol. 52, no. 6, pp. 1093–1099, 2007.
  • [19] M. Ryalat and D. S. Laila, “A simplified IDA-PBC design for underactuated mechanical systems with applications,” European Journal of Control, vol. 27, pp. 1–16, 2016.
  • [20] F. Gómez-Estern and A. van der Schaft, “Physical damping in IDA-PBC controlled underactuated mechanical Systems,” European Journal of Control, vol. 10, no. 5, pp. 451–468, 2004.
  • [21] J. Sandoval, R. Kelly, and V. Santibanez, “Interconnection and damping assignment passivity-based control of a class of underactuated mechanical systems with dynamic friction,” International Journal of Robust and Nonlinear Control, vol. 21, no. 7, pp. 738–751, 2010.
  • [22] A. Donaire, R. Ortega, and J. G. Romero, “Simultaneous interconnection and damping assignment passivity-based control of mechanical systems using dissipative forces,” Systems & Control Letters, vol. 94, pp. 118–126, 2016.
  • [23] O. B. Cieza and J. Reger, “IDA-PBC for underactuated mechanical systems in implicit port-hamiltonian representation,” 2019 18th European Control Conference, ECC 2019, pp. 614–619, 2019.
  • [24] M. R. J. Harandi and H. D. Taghirad, “Solution of matching equations of IDA-PBC by Pfaffian differential equations,” International Journal of Control, pp. 1–11, 2021.
  • [25] A. Donaire, J. G. Romero, R. Ortega, B. Siciliano, and M. Crespo, “Robust IDA-PBC for underactuated mechanical systems subject to matched disturbances,” International Journal of Robust and Nonlinear Control, vol. 27, no. 6, pp. 1000–1016, 2017.