**1. Introduction**

Robotic systems generally have nonlinear dynamics and are subject to model uncertainties and disturbances. Moreover, many robotic systems are underactuated, i.e., having fewer independent control inputs than degrees of freedom, including fixed-wing aircraft, quadrotors and dynamic walking robots. The design of tracking controllers for underactuated robotic systems is a much more challenging problem compared to that for fully-actuated systems. Recently, the concept of a control contraction metric (CCM) was introduced in [1] to synthesize trajectory tracking controllers for general nonlinear systems, including underactuated ones. The CCM extends contraction theory [2] from analysis to constructive control design, while contraction theory is focused on analyzing nonlinear systems in a differential framework by studying the convergence between pairs of state trajectories toward each other. It was shown in [3] that CCM reduces to conventional sliding and energy-based designs for fully-actuated systems. On the other hand, for underactuated systems, compared to prior approaches based on local linearization [4], the CCM approach leads to a convex optimization problem for controller synthesis and generates controllers that stabilize *every* feasible trajectory in a region, instead of just a single target trajectory that must be known a priori [3].

On the other hand, control design methods to deal with dynamic uncertainties in the deterministic setting can be roughly classified into adaptive and robust approaches. Robust approaches, such as *H*∞ control [5], *μ* synthesis [6] and robust/tube model predictive control (MPC) [7,8], usually consider parametric uncertainties or bounded disturbances and aim to find controllers with performance guarantees for the worst case of such uncertainties. The consideration of worst-case scenarios associated with robust approaches often leads to conservative nominal performance. Disturbance–observer (DOB) based control and related methods such as active disturbance rejection control (ADRC) [9] lump

**Citation:** Zhao, P.; Guo, Z.; Hovakimyan, N. Robust Nonlinear Tracking Control with Exponential Convergence Using Contraction Metrics and Disturbance Estimation. *Sensors* **2022**, *22*, 4743. https:// doi.org/10.3390/s22134743

Academic Editor: Baochang Zhang

Received: 9 May 2022 Accepted: 20 June 2022 Published: 23 June 2022

**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

**Copyright:** © 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

all uncertainties that may include parametric uncertainties, unmodeled dynamics and external disturbances, together as a "total disturbance", estimate it via an observer and then compute control actions to compensate for the estimated disturbance [10] to recover the nominal performance. However, for state-dependent uncertainties, DOB-based control methods usually ignore the dependence of "disturbance" on system states and rely on assumptions on the derivative of the "disturbance" that are difficult to verify for theoretical guarantees [10,11]. Alternatively, adaptive control methods such as model reference adaptive control (MRAC) [12] usually need a parametric structure for the uncertainties, rely on online estimation of the parameters for control law construction and provide asymptotic performance guarantees in most cases. One of the exceptions is L<sup>1</sup> adaptive control [13] that does not need a parameterization of the uncertainties (similar to DOB-based control) and focuses on transient performance guarantees in terms of uniformly bounded error between the ideal and uncertain systems.

Both robust and adaptive control approaches have been explored in the context of CCM-based control in the presence of uncertainties and disturbances. In particular, adaptive control was combined with CCM to handle nonlinear control-affine systems with both parametric [14] and non-parametric uncertainties [15]. The case of bounded disturbances in CCM-based control was addressed by leveraging input-to-state stability analysis [16] or robust CCM [17,18]. CCM for stochastic systems was developed in [19] to minimize the mean squared tracking error in the presence of stochastic disturbances. Closely relevant to this paper, [15] designed an L<sup>1</sup> adaptive controller to augment a baseline CCM-based controller to compensate for matched nonlinear non-parametric uncertainties that can depend on both time and states. The authors of [15] proved that transient tracking performance was guaranteed in the sense that the actual state trajectory exponentially converges to a neighborhood or a tube around the desired one. Compared to [15], our approach relies on a disturbance observer that yields an estimation error bound and robust Riemannian energy condition and ensures that the actual state trajectory exponentially converges to the nominal one.

*Statement of Contributions:* We present a tracking controller for nonlinear systems subject to matched uncertainties that can depend on both time and states based on contraction metrics and disturbance estimation. Our controller leverages a disturbance estimator to estimate the pointwise value of the uncertainties, with a pre-computable estimation error bound. The estimated disturbance and the estimation error bound are then incorporated into a robust Riemannian energy condition to compute the control law that guarantees exponential convergence of actual state trajectories to nominal ones. We validate the efficacy of our controller on two simulation examples and demonstrate its advantages over existing controllers.

The idea presented in this paper is leveraged in [20] for safe learning of uncertain dynamics using deep neural networks. Compared to [20], this paper is not relevant to learning and allows the uncertainty to be dependent on both time and states, as opposed to the dependence on states only in [20]. Additionally, this paper includes an additional aircraft example for performance illustration and conducts extensive comparisons with existing adaptive approaches in simulations that are not available in [20].

Notations: Let R*n*, R<sup>+</sup> and R*m*×*<sup>n</sup>* denote the *n*-dimensional real vector space, the set of non-negative real numbers and the set of real *m* by *n* matrices, respectively. *I* and 0 denote an identity matrix, and a zero matrix of compatible dimensions, respectively;· denotes the 2-norm of a vector or a matrix. For a vector *y*, *yi* denotes its *i*th element. For a matrix-valued function *<sup>M</sup>* : <sup>R</sup>*<sup>n</sup>* <sup>→</sup> <sup>R</sup>*n*×*<sup>n</sup>* and a vector *<sup>y</sup>* <sup>∈</sup> <sup>R</sup>*n*, *<sup>∂</sup>yM*(*x*) - ∑*<sup>n</sup> i*=1 *∂M*(*x*) *<sup>∂</sup>xi yi* denotes the directional derivative of *M*(*x*) along *y*. For symmetric matrices *P* and *Q*, *P* > *Q* (*P* ≥ *Q*) means *P* − *Q* is positive definite (semidefinite). &*X*' is the shorthand notation of *X* + *X*-. Finally, ( denotes the Minkowski set difference.

#### **2. Problem Statement and Preliminaries**

Consider a nonlinear control-affine system with uncertainties

$$\dot{\mathbf{x}}(t) = f(\mathbf{x}(t)) + B(\mathbf{x}(t))(\boldsymbol{u}(t) + d(t, \mathbf{x}(t))),\tag{1}$$

where *<sup>x</sup>*(*t*) ∈X ⊂ <sup>R</sup>*<sup>n</sup>* is the state vector, *<sup>u</sup>*(*t*) ∈U⊂ <sup>R</sup>*<sup>m</sup>* is the control input vector, *<sup>f</sup>* : <sup>R</sup>*<sup>n</sup>* <sup>→</sup> <sup>R</sup>*<sup>n</sup>* and *<sup>B</sup>* : <sup>R</sup>*<sup>n</sup>* <sup>→</sup> <sup>R</sup>*<sup>m</sup>* are known and locally Lipschitz continuous functions, and *d*(*t*, *x*) represents the *matched* model uncertainty that can depend on both time and states. We assume that *B*(*x*) has full column rank for any *x* ∈ X . Suppose X is a compact set that contains the origin, and the control constraint set U is defined as U - {*<sup>u</sup>* <sup>∈</sup> <sup>R</sup>*<sup>m</sup>* : *<sup>u</sup>* <sup>≤</sup> *<sup>u</sup>* <sup>≤</sup> *<sup>u</sup>*¯}, where *<sup>u</sup>*, *<sup>u</sup>*¯ <sup>∈</sup> <sup>R</sup>*<sup>m</sup>* denote the lower and upper bounds of all control channels, respectively. Furthermore, we make the following assumptions on *B*(*x*) and *d*(*t*, *x*).

**Assumption 1.** *There exist known positive constants LB, Ld, ld and bd such that for any x*, *y* ∈ X *and t*, *τ* ≥ 0*, the following inequalities hold:*

$$\left\| \left| B(\mathbf{x}) - B(\mathbf{y}) \right| \right\| \le L\_B \left\| \mathbf{x} - \mathbf{y} \right\|, \tag{2}$$

$$\left\| \left| d(t, \mathbf{x}) - d(\tau, y) \right| \right\| \le L\_d \left\| \mathbf{x} - y \right\| + l\_d \left| t - \tau \right|, \tag{3}$$

$$\left\| \left| d(t, \mathbf{x}) \right| \right\| \leq b\_d. \tag{4}$$

**Remark 1.** *Assumption 1 indicates that the uncertain function d*(*t*, *x*) *is locally Lipschitz in both t and x with known Lipschitz constants and is uniformly bounded by a known constant in the compact set* X *.*

In fact, given the local Lipschitz constants *Ld* and *ld*, a uniform bound on *d*(*t*, *x*) in X can always be derived by using Lipschitz continuity properties if the bound on *d*(*t*, *x*∗) for an arbitrary *<sup>x</sup>*<sup>∗</sup> in <sup>X</sup> and any *<sup>t</sup>* <sup>≥</sup> 0 is known. For instance, assuming# #*d*(*t*, 0) # # <sup>≤</sup> *<sup>b</sup>*<sup>0</sup> *d*, from (3), we have# #*d*(*t*, *<sup>x</sup>*) # # <sup>≤</sup> *<sup>b</sup>*<sup>0</sup> *<sup>d</sup>* + *Ld* max*x*∈X *<sup>x</sup>* for any *<sup>x</sup>* ∈ X and *<sup>g</sup>* ≥ 0. In practice, some prior knowledge about the actual system and the uncertainty may be leveraged to obtain a tighter bound than the one based on the Lipschitz continuity explained earlier, which is why we directly make an assumption on the uniform bound. With Assumption 1, we will show (in Section 3.3) that the pointwise value of *d*(*t*, *x*(*t*)) at any time *t* can be estimated with a pre-computable estimation error bound.

For the system in (1), assume we have a nominal state and input trajectory, *<sup>x</sup>*(·) and *<sup>u</sup>*(·), which satisfy the nominal, i.e., uncertainty-free, dynamics:

$$
\dot{\mathbf{x}}^{\star} = f(\mathbf{x}^{\star}) + B(\mathbf{x}^{\star})u^{\star}.\tag{5}
$$

We would like to design a state-feedback controller in the form of

$$u(t) = k(t, \mathbf{x}(t), \mathbf{x}^\*(t)) + u^\*(t),\tag{6}$$

so that the actual state trajectory *<sup>x</sup>*(·) exponentially converges to the nominal one *<sup>x</sup>*(·). Our solution is based on CCM and disturbance estimation. Next, we briefly review CCM for uncertainty-free systems.

#### *Control Contraction Metrics (CCMs)*

We first introduce some notations related to Riemannian geometry, most of which are from [1]. A Riemannian metric on R*<sup>n</sup>* is a symmetric positive-definite matrix function *M*(*x*), smooth in *x*, which defines a "local Euclidean" structure for any two tangent vectors *δ*<sup>1</sup> and *δ*<sup>2</sup> through the inner product &*δ*1, *δ*2'*<sup>x</sup> δ*- <sup>1</sup> *<sup>M</sup>*(*x*)*δ*<sup>2</sup> and the norm <sup>6</sup>&*δ*1, *<sup>δ</sup>*2'*x*. A metric is called *uniformly bounded* if *a*<sup>1</sup> *I* ≤ *M*(*x*) ≤ *a*<sup>2</sup> *I* holds ∀*x* and for some scalars *a*<sup>2</sup> ≥ *a*<sup>1</sup> > 0. Let Γ(*a*, *b*) be the set of smooth paths connecting two points *a* and *b* in R*n*, where each *<sup>c</sup>* <sup>∈</sup> <sup>Γ</sup>(*a*, *<sup>b</sup>*) is a piecewise smooth mapping, *<sup>c</sup>* : [0, 1] <sup>→</sup> <sup>R</sup>*n*, satisfying *<sup>c</sup>*(0) = *<sup>a</sup>*, *<sup>c</sup>*(1) = *<sup>b</sup>*. We use the notation *c*(*s*), *s* ∈ [0, 1], and *cs*(*s*) - *∂c <sup>∂</sup>s*. Given a metric *M*(*x*) and a curve *c*(*s*), we define the Riemannian energy of *c*(*s*) as *E*(*c*) - <sup>1</sup> <sup>0</sup> *c*- *<sup>s</sup> M*(*c*(*s*))*cs*(*s*)*ds*. The Riemannian energy between *a* and *b* is defined as *E*(*a*, *b*) inf*c*∈Γ(*a*,*b*) *<sup>E</sup>*(*c*).

Contraction theory [2] draws conclusions on the convergence between pairs of state trajectories toward each other by studying the evolution of the distance between any two infinitesimally close neighbouring trajectories. CCM generalizes contraction analysis to the controlled dynamics setting in which the analysis jointly searches for a controller and a metric that describes the contraction properties of the resulting closed-loop system. Following [1,14], we now briefly review CCMs by considering the nominal, i.e., uncertaintyfree, system:

$$
\dot{\mathbf{x}} = f(\mathbf{x}) + B(\mathbf{x})\mathbf{u},
\tag{7}
$$

where *<sup>x</sup>*(*t*) <sup>∈</sup> <sup>R</sup>*<sup>n</sup>* and *<sup>u</sup>*(*t*) <sup>∈</sup> <sup>R</sup>*m*. The differential form of (7) is given by ˙ *δ<sup>x</sup>* = *A*(*x*, *u*)*δ<sup>x</sup>* + *B*(*x*)*δu*, where *A*(*x*, *u*) - *∂ f <sup>∂</sup><sup>x</sup>* <sup>+</sup> *<sup>m</sup>* ∑ *i*=1 *∂bi <sup>∂</sup><sup>x</sup> ui* with *bi*(*x*) denoting the *i*th column of *B*(*x*). Consider a function *V*(*x*, *δx*) = *δ*- *<sup>x</sup> M*(*x*)*δ<sup>x</sup>* for some positive definite metric *M*(*x*), which can be viewed as the Riemannian squared differential length at point *x*. Differentiating and imposing that the squared length decreases exponentially with rate 2*λ*, one obtains

$$\dot{\mathcal{V}}(\mathbf{x}, \delta\_{\mathbf{x}}) = \delta\_{\mathbf{x}}^{\top}(\langle MA \rangle + \dot{M})\delta\_{\mathbf{x}} + 2\delta\_{\mathbf{x}}^{\top}MB\delta\_{u} \leq -2\lambda \delta\_{\mathbf{x}}^{\top}M\delta\_{\mathbf{x}}.\tag{8}$$

where *M*˙ = *∂f*<sup>+</sup>*BuM* = *∂<sup>f</sup> M* + ∑*<sup>m</sup> <sup>i</sup>*=<sup>1</sup> *∂bi Mui*. We first recall some basic results related to CCM.

**Definition 1** ([1])**.** *The system* (7) *is said to be universally exponentially stabilizable if, for any feasible desired trajectory x*(*t*) *and u*(*t*)*, a feedback controller can be constructed that for any initial condition x*(0)*, a unique solution to* (7) *exists and satisfies*# #*x*(*t*) <sup>−</sup> *<sup>x</sup>*(*t*) # # ≤ *R* # #*x*(0) <sup>−</sup> *<sup>x</sup>*(0) # # *<sup>e</sup>*−*λ<sup>t</sup>* , *where λ and R are the convergence rate and overshoot, respectively, independent of the initial conditions.*

**Lemma 1** ([1])**.** *If there exists a uniformly bounded metric M(x), i.e., α*<sup>1</sup> *I* ≤ *M*(*x*)≤*α*<sup>2</sup> *I for some positive constants α*<sup>1</sup> *and α*2*, such that for all x and δ<sup>x</sup>* =0 *satisfying δ*- *<sup>x</sup> MB* = 0*,*

$$
\delta\_x^\top \left( \left< M \frac{\partial f}{\partial x} \right> + \partial\_f M + 2\lambda M \right) \delta\_x \le 0,\tag{9a}
$$

$$
\delta\_x^\top \left( \left< M \frac{\partial b\_i}{\partial x} \right> + \partial\_{b\_i} M \right) \delta\_x = 0, \; i = 1, \ldots, m \tag{9b}
$$

*hold, then the system* (7) *is universally exponentially stabilizable in the sense of Definition 1 via continuous feedback defined almost everywhere, and everywhere in the neighborhood of the target trajectory with the convergence rate λ and overshoot R* = *α*2 *α*1 *.*

The condition (9) ensures that the dynamics orthogonal to the input are contracting, i.e., (8) holds in the presence of *δ*- *<sup>x</sup> MB* = 0 and is often termed as the strong CCM condition [1]. In particular, the condition (9b) can be satisfied by enforcing that each column of *<sup>B</sup>*(*x*) forms a killing vector field for the metric *<sup>M</sup>*(*x*), i.e., ? *M∂bi ∂x* @ +*∂bi M* = 0 for all *i* = 1, ... , *m*. The CCM condition (9) can be transformed into a convex constructive condition for the metric *M*(*x*) by a change of variables. Let *W*(*x*) = *M*−1(*x*) (commonly referred to as the *dual metric*), and *<sup>B</sup>*⊥(*x*) be a matrix whose columns span the null space of the input matrix *B* (i.e., *B*- ⊥*<sup>B</sup>* <sup>=</sup> 0). Then, condition (9) can be cast as convex constructive conditions for *W*(*x*):

$$B\_{\perp}^{\top} \left( \left\langle \frac{\partial f}{\partial x} \mathcal{W} \right\rangle - \partial\_f \mathcal{W} + 2\lambda \mathcal{W} \right) \mathcal{B}\_{\perp} \le 0 \tag{10a}$$

$$
\left\langle \frac{\partial b\_i}{\partial \mathbf{x}} \mathcal{W} \right\rangle - \partial\_{\bar{b}\_i} \mathcal{W} = 0,\text{ for } i = 1, \cdots, m. \tag{10b}
$$

The existence of a contraction metric *M*(*x*) is sufficient for stabilizability via Lemma 1. What remains is constructing a feedback controller that achieves the universal exponential stabilizability (UES). As mentioned in [1,16], one way to derive the controller is to interprete the Riemann energy, *E*(*x*(*t*), *x*(*t*)), as an incremental control Lyapunov function and use it to construct a min-norm controller that renders for any time *t*

$$E(\mathbf{x}^\*(t), \mathbf{x}(t)) \le -2\lambda E(\mathbf{x}^\*(t), \mathbf{x}(t)).\tag{11}$$

Specifically, at any time *t* > 0, given the metric *M*(*x*) and a desired/actual state pair (*x*(*t*), *<sup>x</sup>*(*t*)), a minimum-energy path, i.e., a geodesic, *<sup>γ</sup>*(·, *<sup>t</sup>*) connecting these two states (i.e., *γ*(0, *t*) = *x*(*t*) and *γ*(1, *t*) = *x*(*t*)), can be computed (e.g., using the pseudospectral method in [21] to solve a nonlinear programming problem). Consequently, the Riemannian energy of the geodesic is defined as *E*(*x*(*t*), *x*(*t*)) = <sup>1</sup> <sup>0</sup> *γs*(*s*, *t*)-*M*(*γ*(*s*, *t*)))*γs*(*s*, *t*)*ds*, where *γs*(*s*) - *∂γ <sup>∂</sup><sup>s</sup>* , can be calculated. As noted in [16], from the formula for the first variation of energy [22], *E*˙(*x*(*t*), *x*(*t*)) = 2*γ*- *<sup>s</sup>* (1, *t*)*M*(*x*(*t*))*x*˙(*t*) − 2*γ*- *<sup>s</sup>* (0, *t*)*M*(*x*(*t*))*x*˙ (*t*). Therefore, (11) can be rewritten as

$$
\gamma\_s^\top(1, t)M(\mathbf{x}(t))\dot{\mathbf{x}}(t) - \gamma\_s^\top(0, t)M(\mathbf{x}^\*(t))\dot{\mathbf{x}}^\*(t) \le -\lambda E(\mathbf{x}^\*(t), \mathbf{x}(t)),\tag{12}
$$

where *x*˙(*t*) = *f*(*x*(*t*)) + *B*(*x*(*t*))*u*(*t*) and *x*˙ (*t*) = *f*(*x*(*t*)) + *B*(*x*(*t*))*u*(*t*). Therefore, the control signal with a minimum norm for *<sup>u</sup>*(*t*) <sup>−</sup> *<sup>u</sup>*(*t*) can then be obtained by solving the following quadratic programming (QP) problem:

$$\mu(t) = \underset{k \in \mathbb{R}^m}{\text{argmin}} \left\| k - \mu^\star(t) \right\|^2 \text{ subject to (12)}\tag{13}$$

at each time *t*, which is guaranteed to be feasible under condition (9) [1]. The minimization problem (13) is often termed as the *pointwise min-norm control* problem and has an analytic solution [23]. The above discussions can be summarized in the following theorem. The proof is trivial by following Lemma 1 and the subsequent discussions and is thus omitted.

**Theorem 1** ([1])**.** *Given a nominal system* (7)*, assume that there exists a uniformly bounded metric <sup>W</sup>*(*x*) *that satisfies* (10) *for all <sup>x</sup>* <sup>∈</sup> <sup>R</sup>*n. Then, the control law constructed by solving* (13) *with M*(*x*) = *W*−1(*x*)*, universally exponentially stabilizes the system* (7) *in the sense of Definition 1, where R* = *α*2 *<sup>α</sup>*<sup>1</sup> *with <sup>α</sup>*<sup>1</sup> *and <sup>α</sup>*<sup>2</sup> *being two positive constants satisfying <sup>α</sup>*<sup>1</sup> *<sup>I</sup>* ≤ *<sup>M</sup>*(*x*)≤*α*<sup>2</sup> *I.*

**Remark 2.** *According to Definition 1 and Theorem 1, under the conditions of Theorem 1, given any feasible trajectory (x*((·), *<sup>u</sup>*(·)*) of* (7)*, a controller can always be constructed to ensure that the actual state trajectory x*(·) *exponentially converges to x*(·)*.*

#### **3. Robust Trajectory Tracking Using CCM and Disturbance Estimation**

In Section 2, we have shown that existence of a CCM for a *nominal* (i.e., uncertaintyfree) system can be used to construct a feedback control law to guarantee the universal exponential stabilizability (UES) of the system. In this section, we present a controller based on CCM and disturbance estimation to ensure the UES of the uncertain system (1), whose architecture is depicted in Figure 1.

**Figure 1.** Block diagram of the closed-loop system with the proposed DE-CCM controller.

#### *3.1. CCMs for the Actual System*

To apply the contraction method to design a controller to guarantee the UES of the uncertain system (1), we need to first search a valid CCM for it. Following Section 2, we can derive the counterparts of the strong CCM condition (9) or (10). Due to the particular structure with (1) attributed to the matched uncertainty assumption, we have the following lemma. A similar observation has been made in [14] for the case of matched parametric uncertainties. The proof is straightforward and thus omitted. One can refer to [14] for more details.

**Lemma 2.** *The strong (dual) CCM condition for the uncertain system* (1) *is the same as the strong (dual) CCM condition, i.e.,* (9) *and* (10)*, for the nominal system.*

**Remark 3.** *As a result of Lemma 2, a metric M*(*x*) *(dual metric W*(*x*)*) satisfying the condition* (9) *and* (10) *for the nominal system* (7) *is always a CCM (dual CCM) for the true system* (1)*.*

Define <sup>D</sup> <sup>=</sup> {*<sup>y</sup>* <sup>∈</sup> <sup>R</sup>*<sup>m</sup>* : # #*y* # # ≤ *bd*}, where *bd* is introduced in Assumption 1. Assumption 1 indicates *d*(*t*, *x*) ∈ D for any *t* ≥ 0 and *x* ∈ X . As mentioned in Section 2, given a CCM and a desired trajectory *x*(*t*) and *u*(*t*) for a nominal system, a control law can be constructed to ensure exponential convergence of the actual state trajectory *x*(*t*) to the desired state trajectory *x*(*t*). In practice, we have access to only the nominal dynamics (5) instead of the true dynamics to plan a trajectory *x*(*t*) and *u*(*t*). The following lemma gives the condition when *x*(*t*), planned using the nominal dynamics (5), is also a feasible state trajectory for the true system.

**Lemma 3.** *Given a desired trajectory x*(*t*) *and u*(*t*) *satisfying the nominal dynamics* (5) *with <sup>x</sup>*(*t*) ∈ X *, if*

$$
\mu^\*(t) \in \mathcal{U} \ominus \mathcal{D}, \quad \forall t \ge 0,\tag{14}
$$

*then x*(*t*) *is also a feasible state trajectory for the true system* (1)*.*

**Proof**. Define *u*¯(*t*) *<sup>u</sup>*(*t*) <sup>−</sup> *<sup>d</sup>*(*t*, *<sup>x</sup>*(*t*)). Since *<sup>u</sup>*(*t*) ∈ U(D and <sup>−</sup>*d*(*t*, *<sup>x</sup>*(*t*)) ∈ D, which is due to *<sup>x</sup>*(*t*) ∈ X and Assumption 1, we have *<sup>u</sup>*¯(*t*) ∈ U. By comparing the dynamics in (1) and (5), we conclude that *x*(*t*) and *u*¯(*t*) satisfy the true dynamics (1) and thus are a feasible state and input trajectory for the true system.

Lemma 3 provides a way to verify whether a trajectory planned using the nominal dynamics is a feasible trajectory for the true system in the presence of actuator limits. In the absence of such limits, any feasible trajectory for the learned dynamics is also a feasible trajectory for the true dynamics due to the particular structure of (1) associated with the matched uncertainty assumption.

#### *3.2. Robust Riemannian Energy Condition*

Section 2 shows that, given a nominal system and a CCM for such a system, a control law can be constructed via solving a QP problem (13) with a condition to constrain the decreasing rate of the Riemannian energy, i.e., condition (12). When considering the uncertain dynamics in (1), the condition (12) becomes

$$
\gamma\_s^\top(1, t)M(\mathbf{x}(t))\dot{\mathbf{x}}(t) - \gamma\_s^\top(0, t)M(\mathbf{x}^\*(t))\dot{\mathbf{x}}^\*(t) \le -\lambda E(\mathbf{x}^\*(t), \mathbf{x}(t)),\tag{15}
$$

where *x*˙(*t*) = *f*(*x*(*t*)) + *B*(*x*(*t*))(*u*(*t*) + *d*(*x*(*t*))) represents the true dynamics evaluated at *x*(*t*), and *x*˙ (*t*) = *f*(*x*) + *B*(*x*)*u* as defined in (5). Several observations follow immediately. First, it is clear that (15) is *not implementable* due to its dependence on the true uncertainty *d*(*x*(*t*)) through *x*˙(*t*). Second, if we could have access to the *pointwise value* of *d*(*x*(*t*)) at each time *t*, (15) will become implementable even when we do not know the exact functional representation of *d*(*x*). Third, if we could estimate the pointwise value of *d*(*x*(*t*)) at each time *t* with a bound to quantify the estimation error, then we could derive a robust condition for (15). Specifically, assume *d*(*x*(*t*)) is estimated as ˆ*d*(*t*) at each time *t* with a uniform estimation error bound (EEB) *δ*, i.e., # # # <sup>ˆ</sup>*d*(*t*) <sup>−</sup> *<sup>d</sup>*(*x*(*t*)) # # # <sup>≤</sup> *<sup>δ</sup>*, <sup>∀</sup>*<sup>t</sup>* <sup>≥</sup> 0. Then, we could immediately get the following sufficient condition for (15):

$$\left\|\gamma\_{s}^{\top}(1,t)M(\mathbf{x})\dot{\mathbf{x}}(t) - \gamma\_{s}^{\top}(0,t)M(\mathbf{x}^{\star})\dot{\mathbf{x}}^{\star} + \left\|\gamma\_{s}^{\top}(1,t)M(\mathbf{x})B(\mathbf{x})\right\|\right\|\delta \le -\lambda E(\mathbf{x}^{\star},\mathbf{x}),\tag{16}$$

where

$$\dot{\vec{x}}(t) \stackrel{\triangle}{=} f(\mathbf{x}) + B(\mathbf{x})(u(t) + \mathcal{d}(t)). \tag{17}$$

Moreover, since *M*(*x*) satisfies the CCM condition (9), *u*(*t*) that satisfies (16) is guaranteed to exist for any *t* ≥ 0, regardless of the size of *δ*, if the input constraint set U is sufficiently large. We term condition (16) the *robust Riemannian energy* (RRE) condition.

#### *3.3. Disturbance Estimation with a Computable EEB*

We now introduce a disturbance estimation scheme to estimate the pointwise value of the uncertainty *d*(*x*) with a pre-computable EEB, which can be systematically improved by tuning a parameter in the estimation law. The estimation scheme is based on the piecewiseconstant estimation (PWCE) law in [24], which was originally from [25]. The PWCE law consists of two elements, namely a state predictor and a piecewise-constant update law. The state predictor is defined as:

$$\dot{\mathbf{x}}(t) = f(\mathbf{x}(t)) + B(\mathbf{x}(t))u(t) + \vartheta(t) - a\ddot{\mathbf{x}}(t), \ \dot{\mathbf{x}}(0) = \mathbf{x}(0), \tag{18}$$

where *x*˜(*t*) *x*ˆ(*t*) − *x*(*t*) is the prediction error, and *a* is an arbitrary positive constant. The estimation, *σ*ˆ(*t*), is updated in a piecewise-constant way:

$$\begin{cases} \begin{aligned} \label{eq:1} \dot{\sigma}(t) &= \dot{\sigma}(iT), \quad t \in [iT, (i+1)T), \\ \dot{\sigma}(iT) &= -\frac{a}{e^{aT} - 1} \tilde{\mathbf{x}}(iT), \end{aligned} \end{cases} \tag{19}$$

where *T* is the estimation sampling time, and *i* = 0, 1, 2, ··· . Finally, the pointwise value of *d*(*x*(*t*)) at time *t* is estimated as

$$
\hat{d}(t) = B^\dagger(x(t))\hat{\sigma}(t),\tag{20}
$$

where *B*†(*x*(*t*)) is the pseudoinverse of *B*(*x*(*t*)). The following lemma establishes the EEB associated with the estimation scheme in (18) and (19). The proof is similar to that in [24]. For completeness, it is given in Appendix A.

**Lemma 4.** *Given the dynamics* (1) *subject to Assumption 1, and the estimation law in* (18) *and* (19)*, if x* ∈ X *and u* ∈ U *for any t* ≥ 0*, the estimation error can be bounded as*

$$\left\|\hat{d}(t) - d(t, \mathbf{x}(t))\right\| \leq \delta(t, T) \triangleq \begin{cases} b\_{d\prime} \; \forall \; 0 \leq t < T\_{\prime} \\ a(T) \max\_{\mathbf{x} \in \mathcal{X}} B^{\dagger}(\mathbf{x}), \; \forall \; t \geq T\_{\prime} \end{cases} \tag{21}$$

*where*

$$a(T) \triangleq \left(2\sqrt{n}T(L\_d\Phi + l\_d) + (1 - e^{-aT})\sqrt{n}b\_d\right) \max\_{\mathbf{x} \in \mathcal{X}} ||B(\mathbf{x})|| + 2\sqrt{n}T L\_B b\_d. \tag{22}$$

$$\phi \stackrel{\triangle}{=} \max\_{\mathbf{x} \in \mathcal{X}, \boldsymbol{\mu} \in \mathcal{U}} \left\| f(\mathbf{x}) + B(\mathbf{x})\boldsymbol{\mu} \right\| + b\_d \max\_{\mathbf{x} \in \mathcal{X}} \left\| B(\mathbf{x}) \right\|\,\prime \tag{23}$$

*with constants LB, Ld and bd from Assumption 1, and φ defined in* (23)*. Moreover,* lim*T*→<sup>0</sup> *δ*(*t*, *T*) = 0, *for any t* ≥ *T.*

#### **Proof**. See Appendix A.

**Remark 4.** *Lemma 4 implies that theoretically, for t* ≥ *T, the disturbance estimation after a single sampling interval can be made arbitrarily accurate by reducing T, which further indicates that the conservatism with the RRE condition can be arbitrarily reduced after a sampling interval.*

In practice, the value of *T* is subject to the limitations related to computational hardware and sensor noise. Additionally, using a very small *T* tends to introduce high frequency components in the control loop, potentially harming the robustness of the closed-loop system, e.g., against time delay. This is similar to the use of a high adaptation rate in model reference adaptive control schemes as discussed in [13]. Therefore, one should avoid the use of a very small *T* for the sake of robustness unless a low-pass filter is used to filter the estimated disturbance before fed into (16), as suggested by the L<sup>1</sup> adaptive control theory [13].

**Remark 5.** *The estimation in* [0, *T*) *cannot be arbitrarily accurate. This is because the estimation in* [0, *T*) *depends on x*˜(0) *according to* (19)*. Considering that x*˜(0) *is purely determined by the initial state of the system, x*(0)*, and the initial state of the predictor, x*ˆ(0)*, it does not contain any information of the uncertainty. Since T is usually very small in practice, lack of a tight estimation error bound for the interval* [0, *T*) *will not cause an issue from a practical point of view. Additionally, the estimation of φ defined in* (23) *could be quite conservative. Further considering the frequent use of Lipschitz continuity and inequalities related to matrix/vector norms in deriving the constant α*(*T*)*, α*(*T*) *can be overly conservative. Therefore, for practical implementation, one should leverage some empirical study, e.g., performing simulations under a few user-selected functions of d*(*t*, *x*) *and determining a bound for δ*(*t*, *T*)*. In our experiments, we found the theoretical bound δ*(*t*, *T*) *computed according to* (21) *was usually at least* 10 *and could be* 104 *times more conservative.*

#### *3.4. Exponentially Convergent Trajectory Tracking*

Based on the review of contraction control in Section 2 and the discussions in Sections 3.2 and 3.3, the control law can be obtained by solving the following QP problem at each time *t*:

$$u(t) = \underset{k \in \mathbb{R}^m}{\operatorname{argmin}} \left\| k - u^\*(t) \right\|^2 \tag{24}$$

subject to

$$\left\|\gamma\_{s}^{\top}(1,t)M(\mathbf{x})\dot{\mathbf{x}} - \gamma\_{s}^{\top}(0,t)M(\mathbf{x}^{\star})\dot{\mathbf{x}}^{\star} + \left\|\gamma\_{s}^{\top}(1,t)M(\mathbf{x})B(\mathbf{x})\right\|\delta(t,T) \le -\lambda E(\mathbf{x}^{\star},\mathbf{x}), \tag{25}$$

where ˙ *x*ˇ(*t*) = *f*(*x*) + *B*(*x*)(*k* + ˆ*d*(*t*)), according to (17), depends on ˆ*d*(*t*), which is from the disturbance estimation law defined by (18) to (20), *δ*(*t*, *T*) as defined in (21), and *x*˙ (*t*) = *f*(*x*) + *B*(*x*)*u* as defined in (5). Similar to (13), problem (24) is a pointwise min-norm control problem and has an analytic solution [23]. Specifically, denoting *φ*0(*t*, *x*, *x*) *γ*- *<sup>s</sup>* (1, *<sup>t</sup>*)*M*(*x*)(*f*(*x*) + *<sup>B</sup>*(*x*)(*u*(*t*) + <sup>ˆ</sup>*d*(*t*)) + # # #*γ*- *<sup>s</sup>* (1, *t*)*M*(*x*)*B*(*x*) # # # *δ*(*t*, *T*) −

*γ*- *<sup>s</sup>* (0, *t*)*M*(*x*)*x*˙ + *λE*(*x*, *x*) and *φ*1(*x*, *x*) - *B*-(*x*)*M*(*x*)*γs*(1, *t*), (25) can be written as *φ*0(*t*, *x*, *x*) + *φ*- <sup>1</sup> (*x*, *<sup>x</sup>*)(*<sup>k</sup>* <sup>−</sup> *<sup>u</sup>*(*t*)) <sup>≤</sup> 0, and the solution for (24) is given by

$$u(t) = k^\star = \begin{cases} u^\star(t) & \text{if } \phi\_0(t, \mathbf{x}^\star, \mathbf{x}) \le 0, \\ u^\star(t) - \frac{\phi\_0(t, \mathbf{x}^\star, \mathbf{x}) \phi\_1(\mathbf{x}^\star, \mathbf{x})}{\left\| \phi\_1(\mathbf{x}^\star, \mathbf{x}) \right\|^2} & \text{if } \phi\_0(t, \mathbf{x}^\star, \mathbf{x}) > 0. \end{cases} \tag{26}$$

To move forward with analysis, we need to verify that when *<sup>x</sup>*(*t*), *<sup>x</sup>*(*t*) ∈ X , the control signal *u*(*t*) resulting from solving the QP problem (24) satisfies *u*(*t*) ∈ U. Deriving verifiable conditions to ensure this set bound is outside the scope of this paper and will be addressed as future work. We are now ready to state the main result of the paper.

**Theorem 2.** *Given an uncertain system represented by* (1) *satisfying Assumption 1, assume that there exists a metric <sup>W</sup>*(*x*) *such that for all <sup>x</sup>* ∈ X *,* (10) *holds and <sup>α</sup>*<sup>1</sup> *<sup>I</sup>* <sup>≤</sup> *<sup>M</sup>*(*x*) = *<sup>W</sup>*−1(*x*) <sup>≤</sup> *<sup>α</sup>*<sup>2</sup> *<sup>I</sup> holds for positive constants <sup>α</sup>*<sup>1</sup> *and <sup>α</sup>*2*. Furthermore, suppose that a nominal trajectory (x*(·), *<sup>u</sup>*(·)*) planned using the nominal dynamics* (5) *and the initial actual states x*(0) *satisfy* (14) *and*

$$\Omega(t) \triangleq \left\{ y \in \mathbb{R}^n : y \le \left\| \mathbf{x}^\star(t) \right\| + \sqrt{\frac{a\_2}{a\_1}} \left\| \mathbf{x}(0) - \mathbf{x}^\star(0) \right\| \,\mathrm{e}^{-\lambda t} \right\} \subset \mathcal{X},\tag{27}$$

*for any t* ≥ 0*. Then, if u*(*t*) *from solving* (24) *satisfies u*(*t*) ∈ U *for any t* ≥ 0*, the control law constructed by solving* (24) *ensures x*(*t*) ∈ X *for any t* ≥ 0*, and furthermore, universally exponentially stabilizes the uncertain system* (1) *in the sense of Definition 1 with R* = *α*2 *α*1 *, i.e.,*

$$\left\|\mathbf{x}(t) - \mathbf{x}^\*(t)\right\| \le \sqrt{\frac{a\_2}{a\_1}} \left\|\mathbf{x}(0) - \mathbf{x}^\*(0)\right\| e^{-\lambda t}, \quad \forall t \ge 0. \tag{28}$$

**Proof**. We use contradiction to show *x*(*t*) ∈ X for all *t* ≥ 0. Assume this is not true. According to (27), *x*(0) ∈ X . Since *x*(*t*) is continuous, there must exist a time *τ* such that

$$\text{fix}(t) \in \mathcal{X}, \forall t \in [0, \tau^{-}] \text{ and } \text{x}(\tau) \notin \mathcal{X}. \tag{29}$$

Now let us consider the system evolution in [0, *τ*−]. Since *u*(*t*) ∈ U by assumption and *x*(*t*) ∈ X for any *t* in [0, *τ*−], the EEB in (21) holds in [0, *τ*−]. As a result, the control law obtained from solving (24) ensures satisfaction of the RRE condition (16) and thus satisfaction of the Riemannian energy condition (15) for the uncertain system (1), and thereby universally exponentially stabilizes the uncertain system (1) in [0, *τ*−], in the sense of Definition 1 with *R* = *α*2 *α*1 , according to Theorem 1. On the other hand, satisfaction of (14) implies that *x*(*t*) is a feasible state trajectory for the uncertain system (1) according to Lemma 3. Further considering Theorem 1, we have# #*x*(*t*) # # <sup>≤</sup># #*x*(*t*) # # + *α*2 *α*1 # #*x*(0) <sup>−</sup> *<sup>x</sup>*(0) # # *<sup>e</sup>*−*λ<sup>t</sup>* for any *t* in [0, *τ*−]. Due to (27), the preceding inequality indicates that *x*(*t*) remains in the interior of X for *t* in [0, *τ*−]. This, together with the continuity of *x*(*t*), immediately implies *x*(*τ*) ∈ X , which contradicts (29). Therefore, we conclude that *x*(*t*) ∈ X for all *t* ≥ 0. From the development of the proof, it is clear that with the control law given by the solution of (24), the UES of the closed-loop system in the sense of Definition 1 with *R* = *α*2 *<sup>α</sup>*<sup>1</sup> for all *t* ≥ 0 is achieved, which is mathematically represented by (28). The proof is complete.

#### *3.5. Discussion*

Theorem 2 essentially states that under certain assumptions, the proposed controller guarantees exponential convergence of the actual state trajectory *x*(*t*) to a desired one *x*(*t*). With the exponential guarantee, if the actual trajectory meets the desired trajectory at certain time *τ*, then these two trajectories will stay together afterward. While the exponential convergence guarantee is stronger than the performance guarantees provided by existing

adaptive CCM-based approaches [14,15] that deal with similar settings (i.e., matched uncertainties), the proposed method requires the knowledge of the Lipschitz bound of the uncertainty *d*(*t*, *x*) and the input matrix function *B*(*x*) to be in a compact set known a priori (see Assumption 1), and the actual control inputs to stay in a compact set known a priori, which cannot be verified at this moment due to the lack of a bound on the control inputs. These requirements are not needed in [14,15].

The approach here is related to the robust control Lyapunov-based approaches [23] which provide robust stabilization around an equilibrium point (as opposed to a trajectory considered in this paper) in the presence of uncertainties.

**Remark 6.** *The exponential convergence guarantee stated in Theorem 2 is based on a continuoustime implementation of the controller. In practice, a controller is normally implemented on a digital processor or controller with a fixed sampling time. As a result, the property of exponential convergence may be slightly violated.*

Computational cost: As can be seen from Sections Section 2 and 3.2–3.4, computation of the control signal at each time *t* includes three steps: (i) updating the estimated disturbance <sup>ˆ</sup>*d*(*t*) via (18) to (20), (ii) computing the geodesic *<sup>γ</sup>*(·, *<sup>t</sup>*) connecting the actual and nominal states (see the discussion below (11)), and (iii) computing the control signal *u*(*t*) via (26). The computation costs of steps (i) and (iii) are quite low as they only involve integration and algebraic calculation. In comparison, step (ii) has a relatively high computational cost as it necessitates solving a nonlinear programming (NLP) problem. However, since the NLP problem does not involve dynamic constraints, it is much easier to solve than a nonlinear model predictive control (MPC) problem [21]. Following [21], such a problem can be efficiently solved by applying a pseudospectral method.

#### **4. Simulation Results**

In this section, we illustrate the performance of our proposed tracking controller based on the RRE condition and disturbance estimation, denoted as DE-CCM, using aircraft and planar quadrotor examples. For both examples, we perform comparisons of DE-CCM with standard CCM controllers that ignore the uncertainties and adaptive CCM (Ad-CCM) controllers considering parametric uncertainties designed using the approach in [14]. All the computations and simulations were performed in Matlab R2021b.

### *4.1. Longitudinal Dynamics of an Aircraft*

We first implement our method on the simplified pitch dynamics of an aircraft borrowed from [26]:

$$\begin{aligned} \dot{\mathfrak{x}} \stackrel{\triangle}{=} \begin{bmatrix} \theta \\ \dot{\mathfrak{a}} \\ \dot{\mathfrak{q}} \end{bmatrix} = \begin{bmatrix} q \\ q - L(\alpha) \\ -k\_{\theta}q + \bar{\mathcal{M}}(\alpha) \end{bmatrix} + \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix} u\_{\prime} \end{aligned} \tag{30}$$

where *θ*, *α* and *q* are the pitch angle (in rad), angle of attack (in rad), and pitch rate (in rad/s). Here *L*¯(*α*) and *M*¯ (*α*) are aerodynamic lift and moment, respectively. Using the flat plat theory, these two aerodynamic terms are approximated by *L*¯(*α*) = 0.8 sin(2*α*) and *<sup>M</sup>*¯ (*α*) = <sup>−</sup>*lαL*¯(*α*) with unknown parameters *kq* <sup>∈</sup> [0.1 0.8] and *<sup>l</sup><sup>α</sup>* <sup>∈</sup> [−3 1]. For all the simulations, the true values are chosen to be *kq* = 0.8, *l<sup>α</sup>* = −3, while the nominal values of these parameters used in designing all the tested controllers are limited to *knom <sup>q</sup>* = 0.2, *l nom <sup>α</sup>* = −1. As a result, the dynamics can be recast in the form of (30) with *f*(*x*)=[*q*, *q* − *<sup>L</sup>*¯(*α*), <sup>−</sup>*knom <sup>q</sup> q* − *l nom <sup>α</sup> L*¯(*α*)]-, *B*(*x*)=[0, 0, 1] and *<sup>d</sup>*(*t*, *<sup>x</sup>*) = <sup>−</sup>(*kq* <sup>−</sup> *<sup>k</sup>nom <sup>q</sup>* )*q* − (*l<sup>α</sup>* − *l nom <sup>α</sup>* )*L*¯(*α*). The control objective is to drive the system from nominal initial states [0, 0, 0] *<sup>T</sup>* to terminal states [180◦, 0, 0] *<sup>T</sup>*. For CCM search and trajectory planning, the following constraints are enforced: *x* ∈ X = [−10◦, 180◦] × [−5◦, 40◦] × [−10, 50] ◦/s, *u* ∈ U = [−15, 15] ◦/s2.

We set the convergence rate *λ* to 1. By gridding the set of *α* and evaluating the constraints (9) in those grid points, we found a CCM *W*(*x*) as a quadratic function of *α* with the SPOT toolbox [27] (to formulate the convex optimization problem) and Mosek solver [28]. Additionally, the constants *<sup>α</sup>*<sup>1</sup> and *<sup>α</sup>*<sup>2</sup> in (28) such that *<sup>α</sup>*<sup>1</sup> *<sup>I</sup>* <sup>≤</sup> *<sup>M</sup>*(*x*) = *<sup>W</sup>*−1(*x*) <sup>≤</sup> *<sup>α</sup>*<sup>2</sup> *<sup>I</sup>* for all *<sup>x</sup>* ∈ X were found to be *<sup>α</sup>*<sup>1</sup> <sup>=</sup> 0.1 and *<sup>α</sup>*<sup>2</sup> <sup>=</sup> 396.5. We planned a nominal trajectory (*x*(·), *<sup>u</sup>*(·)) using OptimTraj [29,30], to drive the system from the initial states [0, 0, 0] *<sup>T</sup>* to the terminal states [180◦, 0, 0] *<sup>T</sup>*, while minimizing the task completion time (*Ta*) and energy consumption characterized by the cost function *J* = *Ta* <sup>0</sup> *u*(*t*) 2 *dt* + 5*Ta*. For simulation, OPTI [31] and Matlab fmincon solvers were used to solve the geodesic optimization problem (see Section 2). The initial states of the actual system were chosen to be [5◦, 5◦, 0] *T*, slightly deviated from that planned ones to better illustrate the tracking performance. We implemented our proposed DE-CCM, Ad-CCM from [14] and a standard CCM which neglects all the uncertainty. For Ad-CCM design, the adaptation gain was chosen to be diag([103, 103]) to achieve a relatively good tracking result, while further increasing it did not help much with the tracking performance. The design procedure for Ad-CCM in [14] requires a parametric structure for the uncertainty, which is given by

$$d(t,x) = \underbrace{\begin{bmatrix} q & L(a) \\ \end{bmatrix}}\_{\Delta(t,x)} \underbrace{\begin{bmatrix} k\_q^{nom} - k\_q \\ l\_a^{nom} - l\_a \\ \end{bmatrix}}\_{\theta} = \begin{bmatrix} q & 0.8\sin(2a) \\ \end{bmatrix} \begin{bmatrix} -0.6 \\ 2 \\ \end{bmatrix},\tag{31}$$

where Δ(*t*, *x*) is the known base function and *θ* is the unknown parameter vector to be estimated by the adaptive law proposed in [14]. The control signals under all three controllers were updated at 200 Hz.

It is easy to notice from Assumption 1 that *LB* = 0 and *ld* = 0 since the input matrix is constant, and the uncertainty is time-invariant. We can also verify that the disturbance is bounded by *bd* = 2.12 and has a Lipschitz constant *Ld* = 3.80. By gridding the space X and making use of the control input bound, the system derivative can also be bounded by a constant *φ* = 2.11. According to (21), if we want to achieve an EEB *δ*(*t*, *T*) = 0.05 for all *<sup>t</sup>* <sup>≥</sup> *<sup>T</sup>*, the maximum value for the estimation sample time *<sup>T</sup>* is 7.76 <sup>×</sup> <sup>10</sup>−<sup>4</sup> s. However, as mentioned in Remark 5, the way to compute the EEB is quite conservative. In the simulations we found that *Ts* = 0.005 was more than enough to ensure the EEB and therefore used *Ts* = 0.005 for implementing the DE-CCM controller.

As shown in Figures 2 and 3, due to ignoring the uncertainties, CCM yielded a large tracking error between 2 and 6 s. The state trajectories under Ad-CCM had some oscillations, which lasted roughly up to 8 s. All three states yielded by DE-CCM achieve good tracking performance without large deviations from the planned trajectories, unlike the performance yielded by Ad-CCM and CCM. From Figure 3 we notice that the tracking error represented by *<sup>x</sup>* <sup>−</sup> *<sup>x</sup>* under DE-CCM monotonically decreases and achieves the smallest steady-state error. The small non-zero tracking error at the end under DE-CCM, which is inconsistent with the performance guarantee in (25), is due to the limited control update frequency, while the performance guarantee in Lemma 4 holds under continuous update of the control signal, i.e., corresponding to an infinitely high update frequency. Table 1 shows the mean squared error (MSE) for state trajectory tracking defined by

$$\text{MSE} = \frac{1}{N} \sum\_{i=1}^{N} \left\| \mathbf{x}(t\_i) - \mathbf{x}^\*(t\_i) \right\|^2,\tag{32}$$

where *N* is the number of data points, under DE-CCM, Ad-CCM and CCM. We observe that DE-CCM outperforms CCM and Ad-CCM in terms of MSE by 54% and 2%, respectively.

**Figure 2.** Trajectory tracking performance of different controllers.

**Figure 3.** Tracking error under different controllers.

**Table 1.** MSE for state trajectory tracking for the aircraft example.


From Figure 4, we observe that the input of DE-CCM is smoother than Ad-CCM. The small oscillations between 2 s to 8 s in DE-CCM input are due to the finite tolerance in the geodesic optimization. Decreasing the tolerance and the sample time will reduce the oscillations but request more iterations (and thus more time) to compute the control signal at each time step.

**Figure 4.** Control inputs yielded by different controllers.

#### *4.2. Planar Quadrotor*

A planar quadrotor system is borrowed from [16]. The state vector is defined as *x* = [*px*, *pz*, *φ*, *vx*, *vz*, *φ*˙] -, where *px* and *pz* are the positions in *x* and *z* directions, respectively, *vx* and *vz* are the slip velocity (lateral) and the velocity along the thrust axis in the body frame of the vehicle, *φ* is the angle between the *x* direction of the body frame and the *x* direction of the inertia frame. The input vector *u* = [*u*1, *u*2] contains the thrust force produced by each of the two propellers. The dynamics of the vehicle are given by

$$
\dot{\mathbf{x}} = \begin{bmatrix} p\_x \\ p\_z \\ \dot{\Phi} \\ v\_x \\ v\_z \\ \ddot{\Phi} \end{bmatrix} = \begin{bmatrix} v\_x \cos(\phi) - v\_z \sin(\phi) \\ v\_x \sin(\phi) + v\_z \cos(\phi) \\ \dot{\Phi} \\ v\_z \dot{\Phi} - g \sin(\phi) \\ -v\_x \dot{\Phi} - g \cos(\phi) \\ 0 \end{bmatrix} + \begin{bmatrix} 0 & 0 \\ 0 & 0 \\ 0 & 0 \\ 0 & 0 \\ \frac{1}{m} & \frac{1}{m} \\ \frac{1}{T} & -\frac{1}{T} \end{bmatrix} (\boldsymbol{u} + \boldsymbol{d}(t, \boldsymbol{x})),
$$

where *m* and *J* denote the mass and moment of inertia about the out-of-plane axis, and *l* is the distance between each of the propellers and the vehicle center, and *d*(*t*, *x*) denotes the unknown disturbances exerted on the propellers. The parameters were set as *m* = 0.486 kg, *J* = 0.00383 Kg m2, and *l* = 0.25 m. The uncertainty *d*(*t*, *x*) was set to be *d*(*t*, *x*) = 0.15(*v*<sup>2</sup> *<sup>x</sup>* + *v*<sup>2</sup> *<sup>z</sup>* )[−1 + 0.3 sin(2*t*); −1 + 0.3 cos(2*t*)]. We imposed the following constraints: *x* ∈ X - [0, 10] <sup>×</sup> [0, 10] <sup>×</sup> [−*<sup>π</sup>* <sup>3</sup> , *<sup>π</sup>* <sup>3</sup> ] <sup>×</sup> [−2, 2] <sup>×</sup> [−1, <sup>−</sup>1] <sup>×</sup> [−*<sup>π</sup>* <sup>3</sup> , *<sup>π</sup>* <sup>3</sup> ], *u* ∈ U - [0, <sup>3</sup> <sup>2</sup>*mg*] <sup>×</sup> [0, <sup>3</sup> <sup>2</sup>*mg*].

When searching for CCM, we parameterized the CCM *W* by *φ* and *vx* and imposed the constraint *W* ≥ 0.01*I*. The convergence rate *λ* was chosen to be 0.8. More details about synthesizing the CCM can be found in [17]. For estimating the disturbance using (18) to (20), we set *a* = 10. It is easy to verify that *Ld* = 1.23, *ld* = 0.64, *bd* = 1.38, and *LB* = 0 (due to the fact that *B* is constant) satisfy (2). By gridding the space X , the constant *φ* in (23) can be determined as *φ* = 584.6. According to (21), if we want to achieve an EEB *δ*(*t*, *T*) = 0.1 for all *<sup>t</sup>* <sup>≥</sup> *<sup>T</sup>*, then the estimation sampling time needs to satisfy *<sup>T</sup>* <sup>≤</sup> 6.42 <sup>×</sup> <sup>10</sup>−<sup>7</sup> s. However, as noted in Remark 5, the EEB computed according to (21) could be overly conservative. In the simulations, we found that the estimation sampling time of 0.002 s was more than enough to ensure the desired EEB and therefore simply set *T* = 0.002 s.

We consider the task of navigation from (2, 0) to (8, 8) while avoiding three obstacles depicted by black circles in Figure 5. A nominal trajectory (*x*(·), *<sup>u</sup>*(·)) was generated using OptimTraj [29] to minimize the cost *J* = *Ta* 0 # #*u*(*t*) # #<sup>2</sup> *dt* <sup>+</sup> <sup>5</sup>*Ta*, where *Ta* is the arrival time. OPTI [31] and Matlab fmincon solvers were used to solve the geodesic optimization problem (see Section 2). The actual start point was set to be (0, 0), which was different from the planned start point, to reveal the trajectory convergence pattern.

**Figure 5.** Trajectory tracking performance of different controllers.

For comparison, we also designed a standard CCM controller by completely ignoring the uncertainty and two adaptive CCM (Ad-CCM) controllers following the approach in [14]. To apply the approach in [14] which can only handle parametric uncertainties, we parameterized the uncertainty as

$$d(t,x) = \underbrace{\begin{bmatrix} v\_x^2(-1 + 0.3\sin(2t)) & v\_z^2(-1 + 0.3\sin(2t)) \\ v\_x^2(-1 + 0.3\cos(2t)) & v\_z^2(-1 + 0.3\cos(2t)) \end{bmatrix}}\_{\Lambda(t,x)} \underbrace{\begin{bmatrix} 0.15 \\ 0.15 \end{bmatrix}}\_{\theta} \tag{33}$$

where Δ(*t*, *x*) is the basis function that is assumed to be known, and *θ* is th vector of unknown parameters. With the parametric structure (33), we designed two adaptive CCM controllers using Γ = 10 and Γ = 100, respectively, where Γ denotes the adaptive gain. Figure 5 shows the planned and actual trajectories under the CCM, Ad-CCM, and our proposed controller based on the RRE condition and disturbance estimation, denoted as DE-CCM, while Figures 6 and 7 show the control inputs and Riemannian energy. One can see that the actual trajectories yielded by the CCM controller deviated quite a lot from the planned ones and collided with one obstacle. On the other hand, the actual trajectories yielded by the DE-CCM controller converged to the desired trajectory as expected and almost overlapped with it afterward. In fact, the slight deviations of actual trajectories from the desired ones under the DE-CCM controller were due to the finite step size associated with the ODE solver used for the simulations (see Remark 6). Table 2 shows the MSE for state trajectory tracking defined in (32). We observe that DE-CCM outperforms CCM and Ad-CCM in terms of MSE by 46% and 14%, respectively.

**Figure 6.** Riemannian energy under different controllers. *E*<sup>0</sup> -*E*(*x*(0), *x*(0)).

**Figure 7.** Control inputs yielded by different controllers.

**Table 2.** MSE for state trajectory tracking for the planar quadrotor example. For Ad-CCM, only the result for Γ = 100, which corresponds to better tracking performance compared to Γ = 10, is included.


From Figure 6, one can see that the magnitude of *E*(*x*, *x*) under the RD-CCM controller decreased exponentially, and the magnitude was bounded by the curve *E*(*x*(0), *x*(0))*e*−2*λ<sup>t</sup>* from above except at the very end when the energy is close to zero. In comparison, Ad-CCM with Γ = 100 yielded similar tracking performance to DE-CCM, while the tracking performance of Ad-CCM with Γ = 10 was relatively worse and characterized by larger oscillations. Additionally, from Figure 7, one can see that the control inputs generated by both of the Ad-CCM controllers have high-frequency oscillations before 3 s, which is undesired for practical deployment. Finally, Figure 8 shows the actual and estimated disturbances as well as the estimation error. One can see that the estimated disturbance is

quite close to the actual one for both channels, and the EEB of 0.1 is respected throughout the simulation.

**Figure 8.** Actual and estimated disturbances (top) and the estimation error (bottom). Note that *di* and ˆ*di* (*i* = 1, 2) represent the *i*th element of *d* (actual disturbance) and ˆ*d* (estimated disturbance), respectively. The blue dashed line in the bottom plot denotes the EEB used in computing the control inputs.

#### **5. Conclusions**

This paper presents a robust trajectory tracking controller with exponential convergence for uncertain nonlinear systems based on control contraction metrics (CCM) and disturbance estimation. The controller uses a disturbance estimator to estimate the pointwise value of the uncertainty with a pre-computable estimation error bound (EEB). The estimated disturbance and the EEB are then incorporated into a robust Riemannian energy condition, which guarantees exponential convergence of actual trajectories to desired ones. The efficacy of the proposed controller is validated in simulations. In particular, the proposed controller outperforms an existing adaptive CCM controller in terms of tracking performance by 2% for the aircraft example and 14% for the planar quadrotor example, while not needing to know the basis functions to parameterize the uncertainties that are needed by the adaptive CCM controller.

This paper considers only matched uncertainties, which are added to the system through the same channels as control inputs. In the future, we would like to address unmatched uncertainties that widely exist in practical systems. Additionally, we would like to experimentally validate the proposed controller on real hardware.

**Author Contributions:** The individual contributions of the authors are as follows. Conceptualization, methodology and formal analysis, P.Z.; software and investigation, Z.G. and P.Z.; validation and visualization, Z.G.; supervision, N.H.; writing—original draft preparation, P.Z.; writing—review and editing, Z.G. and N.H.; project administration, P.Z.; funding acquisition, N.H. All authors have read and agreed to the published version of the manuscript.

**Funding:** This research was funded in part by AFOSR, in part by NASA, and in part by NSF under the RI grant #2133656 and NRI grant #1830639.

**Institutional Review Board Statement:** Not available.

**Informed Consent Statement:** Not applicable.

**Data Availability Statement:** Not available.

**Conflicts of Interest:** The authors declare no conflict of interest.

#### **Appendix A**

**Proof of Lemma <sup>4</sup>**: Hereafter, we use the notations Z*<sup>i</sup>* and Z*<sup>n</sup>* <sup>1</sup> to denote the integer sets {*i*, *i* + 1, *i* + 2, ···} and {1, 2, ··· , *n*}, respectively. Additionally, for notation brevity, we define *σ*(*t*) - *B*(*x*(*t*))*d*(*x*(*t*)). From (1) and (18), the prediction error dynamics are obtained as

$$
\dot{\mathfrak{x}}(t) = -a\mathfrak{x}(t) + \vartheta(t) - \sigma(t), \quad \mathfrak{x}(0) = 0. \tag{A1}
$$

Note that *<sup>σ</sup>*ˆ(*t*) = 0 (and thus <sup>ˆ</sup>*d*(*t*) = 0 due to (20)) for any *<sup>t</sup>* <sup>∈</sup> [0, *<sup>T</sup>*) according to (19). Further considering the bound on *d*(*t*, *x*) in (4), we have

$$\left\| \left\| \left\| \left\| (t) - d(t, \mathfrak{x}(t)) \right\| \right\| \leq b\_{d\prime} \quad \forall t \in [0, T). \tag{A2}$$

We next derive the bound on # #*σ*ˆ(*t*) − *<sup>σ</sup>*(*t*) # # for *<sup>t</sup>* ≥ *<sup>T</sup>*. For any *<sup>t</sup>* ∈ [*iT*,(*<sup>i</sup>* + 1)*T*) (*<sup>i</sup>* <sup>∈</sup> <sup>Z</sup>0), we have

$$\mathfrak{X}(t) = e^{-a(t-iT)}\mathfrak{X}(iT) + \int\_{iT}^{t} e^{-a(t-\tau)}(\vartheta(\tau) - \sigma(\tau))d\tau.$$

Since *x*˜(*t*) is continuous, the preceding equation implies

$$\begin{split} \mathfrak{X}((i+1)T) &= \, ^{a-iT}\mathfrak{X}(iT) + \int\_{iT}^{(i+1)T} e^{-a((i+1)T - \tau)} d\tau \vartheta(iT) - \int\_{iT}^{(i+1)T} e^{-a((i+1)T - \tau)} \sigma(\tau) d\tau \\ &= \, ^{a-iT}\mathfrak{X}(iT) + \frac{1 - e^{-aT}}{a} \hat{\sigma}(iT) - \int\_{iT}^{(i+1)T} e^{-a((i+1)T - \tau)} \sigma(\tau) d\tau \\ &= \, ^{-} - \int\_{iT}^{(i+1)T} e^{-a((i+1)T - \tau)} \sigma(\tau) d\tau, \end{split} \tag{A3}$$

where the first and last equalities are due to the estimation law (19).

Since *x*(*t*) is continuous, *σ*(*t*) (= *B*(*x*)*d*(*x*)) is also continuous given Assumption 1. Furthermore, considering that *e*−*a*((*i*+1)*T*−*τ*) is always positive, we can apply the first mean value theorem in an element-wise manner (Note that the mean value theorem for definite integrals only holds for scalar valued functions) to (A3), which leads to

$$\mathfrak{X}((i+1)T) = -\int\_{iT}^{(i+1)T} e^{-a((i+1)T - \tau)} d\tau [\sigma\_{\hat{\jmath}}(\tau\_{\hat{\jmath}}^{\*})] = -\frac{1}{a} (1 - e^{-aT}) [\sigma\_{\hat{\jmath}}(\tau\_{\hat{\jmath}}^{\*})],\tag{A4}$$

for some *τ*∗ *<sup>j</sup>* <sup>∈</sup> (*iT*,(*<sup>i</sup>* <sup>+</sup> <sup>1</sup>)*T*) with *<sup>j</sup>* <sup>∈</sup> <sup>Z</sup>*<sup>n</sup>* <sup>1</sup> and *<sup>i</sup>* <sup>∈</sup> <sup>Z</sup>0, where *<sup>σ</sup>j*(*t*) is the *<sup>j</sup>*-th element of *σ*(*t*), and

$$[\sigma\_j(\pi\_j^\*)] \cong [\sigma\_1(\pi\_1^\*), \dots, \sigma\_n(\pi\_n^\*)] \mid \dots$$

The estimation law (19) indicates that for any *t* in [(*i* + 1)*T*,(*i* + 2)*T*), we have *σ*ˆ(*t*) = <sup>−</sup> *<sup>a</sup> <sup>e</sup>aT*−<sup>1</sup> *<sup>x</sup>*˜((*<sup>i</sup>* <sup>+</sup> <sup>1</sup>)*T*). The preceding equality and (A4) imply that for any *<sup>t</sup>* in [(*<sup>i</sup>* <sup>+</sup> <sup>1</sup>)*T*,(*<sup>i</sup>* <sup>+</sup> <sup>2</sup>)*T*) with *<sup>i</sup>* <sup>∈</sup> <sup>Z</sup>0, there exist *<sup>τ</sup>*<sup>∗</sup> *<sup>j</sup>* <sup>∈</sup> (*iT*,(*<sup>i</sup>* <sup>+</sup> <sup>1</sup>)*T*) (*<sup>j</sup>* <sup>∈</sup> <sup>Z</sup>*<sup>n</sup>* <sup>1</sup> ) such that

$$\vartheta(t) = \varepsilon^{-aT} [\sigma\_{\dot{\jmath}}(\tau\_{\dot{\jmath}}^{\*})].\tag{A5}$$

Note that

$$\left\|\left[\boldsymbol{\sigma}(t) - \left[\boldsymbol{\sigma}\_{\boldsymbol{\hat{\boldsymbol{\beta}}}}(\boldsymbol{\tau}\_{\boldsymbol{\hat{\boldsymbol{\beta}}}}^{\*})\right]\right] \leq \sqrt{n} \left\|\boldsymbol{\sigma}(t) - \left[\boldsymbol{\sigma}\_{\boldsymbol{\hat{\boldsymbol{\beta}}}}(\boldsymbol{\tau}\_{\boldsymbol{\hat{\boldsymbol{\beta}}}}^{\*})\right]\right\|\_{\infty} = \sqrt{n} \left|\boldsymbol{\sigma}\_{\boldsymbol{\hat{\boldsymbol{\beta}}}}(t) - \boldsymbol{\sigma}\_{\boldsymbol{\hat{\boldsymbol{\beta}}}}(\boldsymbol{\tau}\_{\boldsymbol{\hat{\boldsymbol{\beta}}}}^{\*})\right| \leq \sqrt{n} \left\|\boldsymbol{\sigma}(t) - \boldsymbol{\sigma}(\boldsymbol{\tau}\_{\boldsymbol{\hat{\boldsymbol{\beta}}}}^{\*})\right\|\_{\boldsymbol{\boldsymbol{\beta}}},\tag{A6}$$

where ¯*jt* <sup>=</sup> arg max*j*∈Z*<sup>n</sup>* 1 *σj*(*t*) <sup>−</sup> *<sup>σ</sup>j*(*τ*<sup>∗</sup> *j* ) . Similarly,

$$\left\| \left[ \sigma\_{\rangle} (\mathbf{r}\_{\uparrow}^{\star}) \right] \right\| \leq \sqrt{n} \left\| \left[ \sigma\_{\rangle} (\mathbf{r}\_{\uparrow}^{\star}) \right] \right\|\_{\infty} = \sqrt{n} \left| \sigma\_{\rangle} (\mathbf{r}\_{\uparrow}^{\star}) \right| \leq \sqrt{n} \left\| \left[ \sigma (\mathbf{r}\_{\uparrow}^{\star}) \right] \right\| \leq \sqrt{n} b\_{d} \max\_{\mathbf{x} \in \mathcal{X}} \left\| \left[ B(\mathbf{x}) \right] \right\|,\tag{A7}$$

where <sup>ˆ</sup>*<sup>j</sup>* <sup>=</sup> arg max*j*∈Z*<sup>n</sup>* 1 *σj*(*τ*<sup>∗</sup> *j* ) , and the last inequality is due to the fact# #*B*(*x*)*d*(*t*, *<sup>x</sup>*) # # ≤ # #*B*(*x*) # # # #*d*(*t*, *<sup>x</sup>*) # # and (4). Therefore, for any *<sup>t</sup>* <sup>∈</sup> [(*<sup>i</sup>* <sup>+</sup> <sup>1</sup>)*T*,(*<sup>i</sup>* <sup>+</sup> <sup>2</sup>)*T*) (*<sup>i</sup>* <sup>∈</sup> <sup>Z</sup>0), we have

$$\begin{split} \left\| \left[ \boldsymbol{\sigma}(t) - \boldsymbol{\sigma}(t) \right] \right\| = \left\| \boldsymbol{\sigma}(t) - \boldsymbol{\varepsilon}^{-aT} [\boldsymbol{\sigma}\_{\boldsymbol{\hat{\boldsymbol{\gamma}}}}(\boldsymbol{\tau}\_{\boldsymbol{\hat{\boldsymbol{\gamma}}}}^{\*})] \right\| \leq \left\| \boldsymbol{\sigma}(t) - [\boldsymbol{\sigma}\_{\boldsymbol{\hat{\boldsymbol{\gamma}}}}(\boldsymbol{\tau}\_{\boldsymbol{\hat{\boldsymbol{\gamma}}}}^{\*})] \right\| + (1 - \boldsymbol{\varepsilon}^{-aT}) \left\| \left[ \boldsymbol{\sigma}\_{\boldsymbol{\hat{\boldsymbol{\gamma}}}}(\boldsymbol{\tau}\_{\boldsymbol{\hat{\boldsymbol{\gamma}}}}^{\*}) \right] \right\| \\ \leq \sqrt{n} \left\| \boldsymbol{\sigma}(t) - \boldsymbol{\sigma}(\boldsymbol{\tau}\_{\boldsymbol{\hat{\boldsymbol{\gamma}}}}^{\*}) \right\| + (1 - \boldsymbol{\varepsilon}^{-aT}) \sqrt{n} b\_{d} \max\_{\boldsymbol{\boldsymbol{x}} \in \mathcal{X}} \left\| \boldsymbol{B}(\boldsymbol{x}) \right\|, \end{split} \tag{A8}$$

for some *τ*∗ ¯*jt* <sup>∈</sup> (*iT*,(*<sup>i</sup>* <sup>+</sup> <sup>1</sup>)*T*), where the equality is due to (A5), and the last inequality is due to (A6) and (A7). The dynamics in (1) indicates that

$$\left\|\left|\dot{\mathbf{x}}\right|\right\| \le \left\|\left|f(\mathbf{x}) + B(\mathbf{x})u\right\|\right\| + \left\|\left|B(\mathbf{x})\right|\right\|\left\|d(\mathbf{t}, \mathbf{x})\right\| \le \phi,\tag{A9}$$

where *φ* is defined in (23). As a result, the inequality (A9) implies that

$$\left\|\mathbf{x}(t) - \mathbf{x}(\tau^\*\_{\tilde{\boldsymbol{\eta}}^t})\right\| \le \int\_{\tau^\*\_{\tilde{\boldsymbol{\eta}}}}^t \left\|\dot{\mathbf{x}}(\tau)\right\| d\tau \le \int\_{\tau^\*\_{\tilde{\boldsymbol{\eta}}}}^t \boldsymbol{\Phi} d\tau = \boldsymbol{\Phi}(t - \tau^\*\_{\tilde{\boldsymbol{\eta}}}) \le 2\boldsymbol{\Phi}T,\tag{A10}$$

where the last inequality is due to the fact that

$$t \in [(i+1)T, (i+2)T) \text{ and } \tau\_{\tilde{h}}^{\*} \in (iT, (i+1)T) \tag{A11}$$

Therefore, we have

$$\begin{split} \left\lVert \sigma(t) - \sigma(\tau\_{j\cdot}^{\star}) \right\rVert &= \left\lVert B(\mathbf{x}(t)) \left( d(t, \mathbf{x}(t)) - d(\tau\_{j\cdot}^{\star}, \mathbf{x}(\tau\_{j\cdot}^{\star})) \right) + \left( B(\mathbf{x}(t)) - B(\mathbf{x}(\tau\_{j\cdot}^{\star})) \right) d(\tau\_{j\cdot}^{\star}, \mathbf{x}(\tau\_{j\cdot}^{\star})) \right\rVert \\ &\leq \left\lVert B(\mathbf{x}(t)) \right\rVert \left\lVert \left\lVert d(t, \mathbf{x}(t)) - d(\tau\_{j\cdot}^{\star}, \mathbf{x}(\tau\_{j\cdot}^{\star})) \right\rVert + \left\lVert B(\mathbf{x}(t)) - B(\mathbf{x}(\tau\_{j\cdot}^{\star})) \right\rVert \left\lVert d(\tau\_{j\cdot}^{\star}, \mathbf{x}(\tau\_{j\cdot}^{\star})) \right\rVert \\ &\leq \left( L\_{d} \left\lVert \mathbf{x}(t) - \mathbf{x}(\tau\_{j\cdot}^{\star}) \right\rVert + l\_{d}(t - \tau\_{j\cdot}^{\star}) \right) \max\_{x \in X} \left\lVert B(\mathbf{x}(t)) \right\rVert + L\_{B} \left\lVert \mathbf{x}(t) - \mathbf{x}(\tau\_{j\cdot}^{\star}) \right\rVert b\_{d} \\ &\leq 2T \left( (L\_{d} \mathfrak{g} + l\_{d}) \max\_{x \in X} \left\lVert B(\mathbf{x}(t)) \right\rVert + L\_{B} b\_{d} \right), \end{split} \tag{A12}$$

where the second inequality is due to Assumption 1 and the last inequality is due to (A10) and (A11). Finally, plugging (A12) into (A8) leads to

$$\begin{split} \left\| \boldsymbol{\sigma}(t) - \boldsymbol{\delta}^{\circ}(t) \right\| &\leq 2\sqrt{n}T \Big( (L\_d \boldsymbol{\phi} + l\_d) \max\_{\mathbf{x} \in \mathcal{X}} \left\| \boldsymbol{B}(\mathbf{x}) \right\| + L\_B b\_d \Big) + (1 - e^{-aT})\sqrt{n} b\_d \max\_{\mathbf{x} \in \mathcal{X}} \left\| \boldsymbol{B}(\mathbf{x}) \right\| \\ &= \left( 2\sqrt{n}T (L\_d \boldsymbol{\phi} + l\_d) + (1 - e^{-aT})\sqrt{n} b\_d \right) \max\_{\mathbf{x} \in \mathcal{X}} \left\| \boldsymbol{B}(\mathbf{x}) \right\| + 2\sqrt{n} T L\_B b\_d \\ &= \boldsymbol{a}(T), \end{split} \tag{A13}$$

for any *<sup>t</sup>* <sup>≥</sup> *<sup>T</sup>*. From (A2) and (A14) and the relation between *<sup>σ</sup>*ˆ(*t*) and <sup>ˆ</sup>*d*(*t*) in (20), we arrive at (21). Considering Assumption 1 and the assumption that X and U are compact, the constants involved in the definition of *α*(*T*) in (22) are all finite. As a result, we have lim*T*→<sup>0</sup> *α*(*T*) = 0, which further indicates that lim*T*→<sup>0</sup> *δ*(*t*, *T*) = 0, for any *t* ≥ *T*. The proof is complete.
