Adaptive Control of Motor-Position-Controlled Flexible Joint Robots with Uncertain Joint Stiffness

1
2


Abstract

Model-based control of flexible joint robots with position-controlled actuators relies on accurate knowledge of the joint compliance. In practice, precise stiffness models are often unavailable as the properties of physical elastic elements vary with operating conditions and slowly change over time due to wear and aging. To improve model-based control of these systems, we propose an adaptive control approach in this work, which updates an estimate of the uncertain, nonlinear torque-deflection relation of each joint. As opposed to classical adaptive control approaches for non-elastic robots, we rely on an implicit control law and a control-input-dependent regressor matrix to account for the uncertain joint stiffness. We analyze robustness of the approach against errors induced by the motor position controller. Experimental results on a flexible joint with nonlinear stiffness characteristics demonstrate the effectiveness of the proposed approach.

1 Introduction↩︎

Common model-based control approaches for flexible joint robots require accurate models of the joint stiffness [1], [2]. In practice, however, the torque-deflection characteristics of physical elastic elements are subject to gradual variations due to effects such as material aging, temperature changes, and load-dependent hysteresis. Explicitly modeling these effects is challenging and often impractical. As a result, torque-deflection models identified from calibration measurements may not remain accurate over time or across operating conditions.

This issue can degrade the achievable control performance of flexible joint robots, also if their elastic actuators employ servo motors. Examples for such actuators are the variable stiffness actuators (VSA) introduced in [3]. They have been designed to be low-cost and easily deployable while being inherently compliant. The actuators [3] have been used extensively in test benches for validating control strategies [4][6]. Further, they have been successfully incorporated into more complex robotic platforms such as the wheeled humanoid robot Alter-Ego [7] demonstrating their potential for being used in daily tasks involving physical interaction, such as opening a door [8].

Figure 1: Blockdiagram of the proposed adaptive link-side tracking controller for motor position controlled flexible joint robots. An estimate of the uncertain, nonlinear torque-deflection relation \boldsymbol{{\psi}}(\boldsymbol{{\theta}}- \boldsymbol{{q}}) is adapted online such that the link-side tracking errors converge.

Flexible joint robots equipped with servo motors provide a motor-position interface instead of a torque interface. Model-based link-side control approaches for these robots usually determine the desired motor position to be commanded from the desired torque to be injected by inverting the torque-deflection model [5], [7]. Consequently, the accuracy of the torque generation, and thus the overall control performance, strongly depends on the fidelity of the utilized model. This motivates the development of control strategies for motor-position-controlled flexible joint robots that enable accurate link-side control despite uncertainties in the joint stiffness characteristics.

A common way to address uncertain system parameters is adaptive control. Adaptive controllers have been widely studied and successfully used to compensate for parametric uncertainties in inertial parameter by adjusting estimates online [9][11]. Extensions of these ideas to flexible-joint robots with uncertain inertial parameters have also been proposed [12][14]. Besides imprecise knowledge of inertial parameters, also uncertain stiffness is treated in [15]. However, these approaches typically assume a linear torque-deflection relation and access to a motor-torque interface.

Besides classical adaptive controllers, neural adaptive controllers have also been proposed for flexible-joint robots [16]. In particular, [16] addresses motor-position controlled systems with uncertain inertial parameters. However, the joints are assumed to have a constant, known stiffness and an ideal motor-position controller.

1.1 Contribution↩︎

This work is motivated by improving model-based control of motor-position controlled flexible joint robots with uncertain, nonlinear stiffness. In particular:

  • We propose an adaptive control framework (cf. Fig. 1) adjusting an estimate of the uncertain, nonlinear torque-deflection map online. The design applies the Lyapunov-based methodology of [9]. Different to [9], our approach relies on a control-input-dependent regressor and an implicit control law to handle the uncertain, nonlinear joint stiffness.

  • We formally analyze robustness of the approach against errors in the inner-loop motor position controller.

  • We validate the approach experimentally on a flexible joint with strongly nonlinear torque-deflection characteristic, obtaining improved link-side trajectory tracking under adaptation.

The remainder of this paper is structured as follows. We introduce the target system dynamics and problem formulation in Sec. 2. The adaptive controller is presented in Sec. 3 followed by a robustness analysis against errors induced by the inner-loop motor-position controller in Sec. 4. We experimentally validate the approach in Sec. 5. Finally, Sec. 6 concludes the work.

2 System Dynamics and Problem Statement↩︎

Consider the dynamics of a robotic system with \(n\) flexible joints modeled as \[\label{eq:RD} \begin{align} \boldsymbol{{M}}(\boldsymbol{{q}})\ddot{\boldsymbol{{q}}}+ \boldsymbol{{C}}(\boldsymbol{{q}},\dot{\boldsymbol{{q}}})\dot{\boldsymbol{{q}}}+ \boldsymbol{{g}}(\boldsymbol{{q}}) &= \boldsymbol{{\psi}}(\boldsymbol{{\theta}}- \boldsymbol{{q}})\\ \boldsymbol{{B}} \ddot{\boldsymbol{{\theta}}}+ \boldsymbol{{\psi}}(\boldsymbol{{\theta}}- \boldsymbol{{q}}) = \boldsymbol{{\tau}}_m. \end{align}\tag{1}\] Therein, \(\boldsymbol{{q}}\in \mathbb{R}^n\) and \(\boldsymbol{{\theta}}\in \mathbb{R}^n\) denote the vectors of link and motor positions, respectively. The link-side inertia matrix \(\boldsymbol{{M}}(\boldsymbol{{q}}) \in \mathbb{R}^{n\times n}\) is positive definite and is assumed to have bounded eigenvalues. The Coriolis and centrifugal matrix \(\boldsymbol{{C}}(\boldsymbol{{q}}, \dot{\boldsymbol{{q}}}) \in \mathbb{R}^{n\times n}\) fulfills the skew symmetry of \((\smash{\dot{\boldsymbol{{M}}}} -2\boldsymbol{{C}})\). The motor inertia matrix and the vector of applied motor torques are denoted as \(\boldsymbol{{B}}\in\smash{\mathbb{R}^{n\times n}}\) and \(\boldsymbol{{\tau}}_m \in \smash{\mathbb{R}^n}\), respectively. The motor side and the link side are elastically coupled via the elastic torque vector \(\boldsymbol{{\psi}}(\boldsymbol{{\theta}}- \boldsymbol{{q}}) \in \mathbb{R}^n\). It is assumed to be derived from an elastic potential and thus to be monotonic and Lipschitz continuous in the deflection \(\boldsymbol{{\theta }}- \boldsymbol{{q}}\).

2.1 Motor Position Controlled Flexible Joint Robots↩︎

We consider systems 1 under motor position control. More precisely, \(\boldsymbol{{\tau}}_m\) is provided by an inner-loop controller such that the motor position \(\boldsymbol{{\theta }}\) follows a desired motor position trajectory \(\boldsymbol{{\theta}}_d(t) \in \mathbb{R}^n\). The link-side dynamics then reduce to \[\label{eq:RD95reduced} \boldsymbol{{M}}\ddot{\boldsymbol{{q}}}+ \boldsymbol{{C}}\dot{\boldsymbol{{q}}}+ \boldsymbol{{g}} = \boldsymbol{{\psi}}(\boldsymbol{{\theta}}_d - \boldsymbol{{q}}+ \boldsymbol{{e}}_\theta ).\tag{2}\] Therein, \(\boldsymbol{{e}}_\theta = \boldsymbol{{\theta }}-\boldsymbol{{\theta}}_d \in \mathbb{R}^n\) denotes the motor-side tracking error. We consider the desired motor angle as our control input, i.e., \(\boldsymbol{{u}}=\boldsymbol{{\theta}}_d\).

2.2 Link-Side Control↩︎

If the elastic torque relation \(\boldsymbol{{\psi}}(\boldsymbol{{\theta}}-\boldsymbol{{q}})\) is known and if the motor position error remains sufficiently small such that it can be neglected, a controller for 2 can be implemented by solving \[\label{eq:kurzschluss} \boldsymbol{{0}} = \boldsymbol{{\psi}}(\boldsymbol{{u}}- \boldsymbol{{q}}) - \boldsymbol{{\tau}}_d\tag{3}\] for the control input \(\boldsymbol{{u}}\). This results in the closed-loop link-side dynamics \[\boldsymbol{{M}}\ddot{\boldsymbol{{q}}}+ \boldsymbol{{C}}\dot{\boldsymbol{{q}}}+ \boldsymbol{{g}} = \boldsymbol{{\tau}}_d\] corresponding to a rigid-body model driven by the virtual control input \(\boldsymbol{{\tau}}_d\), which can be chosen using standard rigid-body robot control techniques. Consequently, the controller design for a motor-position-controlled flexible-joint robot can then be reduced to the one for a conventional rigid-body robot.

2.3 Problem Statement↩︎

The objective of this work is to develop a model-based adaptive control scheme for the system 2 , that achieves tracking of a desired link-side trajectory \({\boldsymbol{{q}}_d(t) \in \mathbb{R}^n}\) despite uncertainties in the nonlinear torque-deflection model and adapts an estimate of the model online.

3 Adaptive Control Approach↩︎

The approach presented in this work builds upon the classical adaptive robot controller [9] for torque-controlled rigid robots with uncertain inertial parameters. Utilizing the associated Lyapunov-based design methodology, we derive an adaptive controller for the considered class of motor-position-controlled flexible-joint robots with known inertial parameters but uncertain joint stiffness. For this purpose, the uncertain torque-deflection relation \(\boldsymbol{{\psi}}(\boldsymbol{{\theta}}-\boldsymbol{{q}})\) is expressed as the product of a known, control-input-dependent regressor matrix and an uncertain parameter vector, as detailed in Sec. 3.2. Based on this representation, an implicit control law and a parameter adaptation law are formulated in Sec. 3.3 and Sec. 3.4.

3.1 Assumption on the Motor-Position Controller↩︎

For the derivation of the adaptive control law we will impose the following assumption.

Assumption 1. The motor position controller operates on a sufficiently fast time scale such that the resulting motor position error \(\boldsymbol{{e}}_\theta\) remains negligible for the purposes of the subsequent analysis. In particular, we consider the case \(\boldsymbol{{e}}_\theta = \boldsymbol{{0}}\).

We will discard this idealization in Sec. 4 analyzing robustness of the proposed approach.

3.2 Regressor and Parameter Vector↩︎

Given Assumption 1, it holds \({\boldsymbol{{\psi}}(\boldsymbol{{\theta }}- \boldsymbol{{q}})} = {\boldsymbol{{\psi}}(\boldsymbol{{u}} - \boldsymbol{{q}})}\).

Assumption 2. The torque-deflection relation \(\boldsymbol{{\psi}}(\boldsymbol{{u}}-\boldsymbol{{q}})\) can be decomposed as \[\label{eq:regressor} \boldsymbol{{\psi}}(\boldsymbol{{u}}-\boldsymbol{{q}}) \;=\; \boldsymbol{{Y}}(\boldsymbol{{u}}-\boldsymbol{{q}})\,\boldsymbol{{k}},\qquad{(1)}\] where \(\boldsymbol{{Y}}(\boldsymbol{{u}}-\boldsymbol{{q}})\in\mathbb{R}^{n\times p}\) is a regressor matrix containing a finite number of known basis functions of the deflection, and \(\boldsymbol{{k}} \in\mathbb{R}^p\) is an uncertain constant parameter vector.

In practice, the required set of basis functions is typically not known a priori. However, the mechanical design and calibration measurements usually provide insight into the qualitative structure of \(\boldsymbol{{\psi}}(\boldsymbol{{u}}-\boldsymbol{{q}})\). This knowledge allows the selection of a sufficiently rich set of basis functions in \(\boldsymbol{{Y}}(\boldsymbol{{u}}-\boldsymbol{{q}})\) such that the resulting parameterization approximates the true torque-deflection relation over the relevant operating range.

Given the uncertainty in \(\boldsymbol{{k}}\), only an estimate \(\hat{\boldsymbol{{k}}}\in \mathbb{R}^p\) is considered available, in the following. The estimated torque-deflection relation evaluates as \[\label{eq:springtorque32estimated} \hat{\boldsymbol{{\psi}}}(\boldsymbol{{u}}-\boldsymbol{{q}}) = \boldsymbol{{Y}} (\boldsymbol{{u}}-\boldsymbol{{q}}) \, \hat{\boldsymbol{{k}}}.\tag{4}\] We will utilize this relation to formulate a link-side tracking controller and then provide a parameter adaptation law for \(\hat{\boldsymbol{{k}}}\), such that the tracking errors converge to zero.

3.3 Control Law↩︎

Following [9], we aim at injecting the torque \[\label{eq:slotine32li} \boldsymbol{{\tau}}_d = \boldsymbol{{M}}(\boldsymbol{{q}})\ddot{\boldsymbol{{q}}}_r + \boldsymbol{{C}}(\boldsymbol{{q}},\dot{\boldsymbol{{q}}})\dot{\mathbf{q}}_r+ \boldsymbol{{g}}(\boldsymbol{{q}}) -\boldsymbol{{K}}_s(t)\boldsymbol{{s}}\tag{5}\] on the link-side, i.e., a tracking controller based on the sliding-variable \(\boldsymbol{{s}} \in \mathbb{R}^n\). The sliding variable is defined as \[\label{eq:s} \boldsymbol{{s }} = \dot{\boldsymbol{{e}}}_q+ \boldsymbol{{K}}_p \boldsymbol{{e}}_q= \dot{\boldsymbol{{q}}}- \dot{\boldsymbol{{q}}}_r\tag{6}\] with \(\dot{\boldsymbol{{q}}}_r = \dot{\boldsymbol{{q}}}_d - \boldsymbol{{K}}_p \boldsymbol{{e}}_q\) and constant, positive definite gain matrix \({\boldsymbol{{K}}_p \in\mathbb{R}^{n\times n}}\). By construction, convergence of \(\boldsymbol{{s}}\) to zero implies convergence of the tracking errors \(\boldsymbol{{e}}_q= \boldsymbol{{q}}- \boldsymbol{{q}}_d\) and \(\dot{\boldsymbol{{e}}}_q= \dot{\boldsymbol{{q}}}- \dot{\boldsymbol{{q}}}_d\) to zero. The gain matrix \(\boldsymbol{{K}}_s(t)\in\mathbb{R}^{n \times n}\) in 5 is continuous, positive definite with uniformly bounded eigenvalues.

If the true parameter vector \(\boldsymbol{{k}}\) from ?? were known, the motor input could be computed directly from 3 in order to inject the desired torque 5 exactly. With only the estimate \(\hat{\boldsymbol{{k}}}\) available, we instead choose \(\boldsymbol{{u}}\) such that the following is satisfied \[\label{eq:control32law} \boldsymbol{{0}} = \boldsymbol{{Y}}(\boldsymbol{{u}}- \boldsymbol{{q}})\hat{\boldsymbol{{k}}}\, - \, \underbrace{ ( \boldsymbol{{M}}\ddot{\boldsymbol{{q}}}_r + \boldsymbol{{C}}\dot{\mathbf{q}}_r+ \boldsymbol{{g}} -\boldsymbol{{K}}_s\boldsymbol{{s}})}_{\boldsymbol{{\tau}}_d} .\tag{7}\] Thus, the motor position is chosen such that the estimated spring torque balances the desired torque \(\boldsymbol{{\tau}}_d\). Equation 7 constitutes an implicit control law. Existence of an analytical solution for \(\boldsymbol{{u}}\) depends on the utilized basis functions in the regressor. Two common special cases admitting an explicit formulation of the control law are addressed in the following. If no analytical solution exists, 7 must be solved numerically for the control input.

3.3.1 Case 1: Linear Regressor↩︎

For joints with linear torque-deflection relation, where the only uncertainty is the joint stiffness, the regressor \({\boldsymbol{{Y}}(\boldsymbol{{u}}- \boldsymbol{{q}}) = \mathrm{diag}(\boldsymbol{{u}}- \boldsymbol{{q}}) \in \mathbb{R}^{n\times n}}\) only contains linear functions. Equation 7 can then be solved for \(\boldsymbol{{u}}\) as \[\label{eq:linear} \boldsymbol{{u}}= \boldsymbol{{q}}+ \left(\mathrm{diag}\left(\hat{\boldsymbol{{k}}}\right)\right)^{-1}\boldsymbol{{\tau_d}},\tag{8}\] i.e., there exists an explicit control law. To ensure well-defined torque generation, the entries of \(\hat{\boldsymbol{{k}}}\) must remain nonzero.

3.3.2 Case 2: Special Cubic Regressor↩︎

Consider a cubic torque-deflection relation of the \(i\)-th joint of the form \({ \varphi_i(\theta_i - q_i) = k_{3,i}(\theta_i - q_i)^3 + k_{1,i}(\theta_i - q_i)}\) with linear and cubic stiffness coefficients \(k_{1,i}, k_{3,i} > 0\), where all uncertainty is assumed to be contained in the coefficients. The mapping \(\varphi_i(\theta_i - q_i)\) is strictly monotonically increasing. Hence, the relation is globally invertible.

For this special case, the implicit control law 7 reduces componentwise to the cubic equation \[\begin{bmatrix} (u_{i} - q_i)^3 & (u_{i} - q_i) \end{bmatrix} \begin{bmatrix} \hat{k}_{3,i} \\ \hat{k}_{1,i} \end{bmatrix} = \tau_{d,i}.\]

Using Cardano’s formula, the solution \(u_{i}\) can be expressed analytically for arbitrary desired torques \(\tau_{d,i} \in \mathbb{R}\) as \[\label{eq:cubic95solution} u_{i} = q_i + \sqrt[3]{\frac{\tau_{d,i}}{2\hat{k}_{3,i}} + a_i} + \sqrt[3]{\frac{\tau_{d,i}}{2\hat{k}_{3,i}} - a_i},\tag{9}\] with \[a_i = \sqrt{ \frac{\tau_{d,i}^2}{4\hat{k}_{3,i}^2} + \frac{\hat{k}_{1,i}^3}{27\hat{k}_{3,i}^3} }.\] as long as the estimates \(\hat{k}_{3,i}\) and \(\hat{k}_{1,i}\) remain nonzero.

3.4 Adaptation Law↩︎

Substituting 7 in the robot dynamics 2 with Assumptions 1 and 2 yields the closed-loop dynamics \[\begin{align} \boldsymbol{{M}}\ddot{\boldsymbol{{q}}}+ \boldsymbol{{C}}\dot{\boldsymbol{{q}}}+ \boldsymbol{{g}} &= \boldsymbol{{\tau}}_d + \boldsymbol{{Y}}(\boldsymbol{{u}}- \boldsymbol{{q}})\boldsymbol{{e}}_k,\\ \label{eq:closed32loop} \boldsymbol{{M}}\dot{\boldsymbol{{s}}} + (\boldsymbol{{C}} +\boldsymbol{{K}}_s)\boldsymbol{{s}} &= \boldsymbol{{Y}}(\boldsymbol{{u}}- \boldsymbol{{q}})\boldsymbol{{e}}_k. \end{align}\tag{10}\] The term \(\boldsymbol{{Y}}(\boldsymbol{{u}}- \boldsymbol{{q}})\boldsymbol{{e}}_k\) acts as a disturbance decreasing with the parameter estimation error \(\boldsymbol{{e}}_k= \boldsymbol{{k}} -\hat{\boldsymbol{{k}}}\). We will formulate an adaptation law, such that \(\boldsymbol{{s}}\) converges to zero despite this disturbance. We employ the Lyapunov function candidate \[\label{eq:S} {S}(\boldsymbol{{s}}, \boldsymbol{{e}}_k, t) = \underbrace{\frac{1}{2}\boldsymbol{{s}}^T\boldsymbol{{M}}(\boldsymbol{{q}})\boldsymbol{{s}}}_{S_s(\boldsymbol{{s}}, t)} + \underbrace{\frac{1}{2}\boldsymbol{{e}}_k^T\boldsymbol{{A}}\boldsymbol{{e}}_k}_{S_k(\boldsymbol{{e}}_k)}.\tag{11}\] which is structurally identical to the one in [9]. It consists of a time-dependent tracking contribution \(S_s(\boldsymbol{{s}}, t)\) and a parameter error contribution \(S_k(\boldsymbol{{e}}_k)\) with diagonal, positive definite matrix \(\boldsymbol{{A}} \in \mathbb{R}^{p\times p}\).

As the inertia matrix \(\boldsymbol{{M}}(\boldsymbol{{q}})\) is symmetric and positive definite with uniformly bounded eigenvalues, \({S}\) is bounded from below and above by positive definite functions in \((\boldsymbol{{s}},\boldsymbol{{e}}_k)\).

The time derivative of \(S\) along the trajectories of the closed-loop system evaluates as \[\begin{align} \dot{{S}} & = -\boldsymbol{{s}}^T\boldsymbol{{K}}_s\boldsymbol{{s}} \, + \, \left(\dot{\boldsymbol{{e}}}_k^T\boldsymbol{{A}} \,+\, \boldsymbol{{s}}^T\boldsymbol{{Y}}(\boldsymbol{{u}}-\boldsymbol{{q}})\right)\boldsymbol{{e}}_k \end{align}\] due to skew-symmetry of \(\dot{\boldsymbol{{M}}} -2\boldsymbol{{C}}\). It becomes negative-semi-definite for the parameter adaptation law \[\label{eq:adaptation32law} \dot{\hat{\boldsymbol{{k}}}} = \boldsymbol{{A}}^{-1}\boldsymbol{{Y}}^T\boldsymbol{{s}},\tag{12}\] which renders the equilibrium \(\begin{bmatrix} \boldsymbol{{s}}^T & \boldsymbol{{e}}_k^T \end{bmatrix} = \boldsymbol{{0}}\) uniformly globally stable.

To analyze convergence properties, Barbalat’s Lemma can be utilized equivalently as in [9]. In short, the boundedness of \(\ddot{S} = -\boldsymbol{{s}}^T\dot{\boldsymbol{{K}}_s}\boldsymbol{{s}} + 2\boldsymbol{{s}}^T\boldsymbol{{K}}_s\dot{\boldsymbol{{s}}}\) implies that \(\dot{S}\), which is known to be bounded, converges to zero for \(t\rightarrow\infty\). Thus \(\boldsymbol{{s}}\) globally uniformly converges to zero for \(t\rightarrow\infty\). By 6 , this implies global uniform convergence of \(\begin{bmatrix} \boldsymbol{{e}}_q^T & \dot{\boldsymbol{{e}}}_q^T \end{bmatrix} \rightarrow \boldsymbol{{0}}\) for \(t\rightarrow\infty\).

3.5 Summary↩︎

We summarize the previous results as follows.

Theorem 1. Consider the motor-position controlled flexible joint robot 2 with uncertain torque-deflection relation \(\boldsymbol{{\psi}}(\boldsymbol{{\theta }}- \boldsymbol{{q}}) = \boldsymbol{{Y}}(\boldsymbol{{\theta }}- \boldsymbol{{q}})\,\boldsymbol{{k}}\) under Assumptions 1 and 2. Under the control law 7 and adaptation law 12 global uniform convergence of \(\begin{bmatrix} \boldsymbol{{e}}_q^T & \dot{\boldsymbol{{e}}}_q^T \end{bmatrix} \rightarrow \boldsymbol{{0}}\) is achieved for \(t \rightarrow \infty\). A parameter estimate \(\hat{\boldsymbol{{k}}}\) is adapted online such that the parameter estimation error remains bounded.

Note that convergence of \(\hat{\boldsymbol{{k}}}\) is not guaranteed. Figure 1 shows the overall structure of the controller.

4 Robustness against Errors Induced by the Motor Position Control↩︎

Let us now evaluate robustness of the proposed approach against errors induced by the inner-loop controller. Consider 2 . It holds \[\begin{align} \tag{13} \boldsymbol{{\psi}}(\boldsymbol{{\theta }}- \boldsymbol{{q}}) &= \boldsymbol{{\psi}}\left(\boldsymbol{{\theta}}_d - \boldsymbol{{q}}+ \boldsymbol{{e}}_\theta\right)\\ \tag{14} &= \boldsymbol{{\psi}}\left(\boldsymbol{{\theta}}_d - \boldsymbol{{q}}\right) + \boldsymbol{{\tau}}_{e}, \end{align}\] with \(\boldsymbol{{\tau}}_{e}\in \mathbb{R}^n\) and \({\vert\vert \boldsymbol{{\tau}}_{e} \vert \vert}_2 \leq k_{\psi}\, {\vert\vert \boldsymbol{{e}}_\theta \vert \vert}_2\) due to the monotonicity and Lipschitz continuity of the spring torque. Here, \(k_{\psi}> 0\) denotes the Lipschitz constant of the joint with the largest maximum stiffness. Applying the adaptive controller 7 and 12 then results in the closed-loop system \[\tag{15} \begin{align} \tag{16} \boldsymbol{{M}}\dot{\boldsymbol{{s}}} + (\boldsymbol{{C}} +\boldsymbol{{K}}_s)\boldsymbol{{s}} &= \boldsymbol{{Y}}(\boldsymbol{{u}}- \boldsymbol{{q}})\boldsymbol{{e}}_k+ \boldsymbol{{\tau}}_{e}\\ \tag{17} \dot{\boldsymbol{{e}}}_k&= -\boldsymbol{{A}}^{-1}\boldsymbol{{Y}}^T\boldsymbol{{s}}. \end{align}\] The error dynamics 16 in \(\boldsymbol{{s}}\) now includes an additional disturbance term \(\boldsymbol{{\tau_e}}\) as an input, which depends on the motor position error \(\boldsymbol{{e}}_\theta\).

Theorem 2. Consider the system 2 with motor position error \(\boldsymbol{{e}}_\theta(t)\) under the control law 7 and adaptation law 12 . The following holds:

  1. The closed-loop system is finite-gain \(\mathcal{L}_2\) stable with respect to the input \(\boldsymbol{{e}}_\theta\) and the output \(\boldsymbol{{s}}\).

  2. If \(\boldsymbol{{e}}_\theta\in \mathcal{L}_2\), \(\boldsymbol{{s}}\) and \(\boldsymbol{{e}}_k\) are uniformly bounded. Further, \(\boldsymbol{{s}} \rightarrow \boldsymbol{{0}}\) for \(t \rightarrow \infty\) and thus \(\begin{bmatrix} \boldsymbol{{e}}_q^T & \dot{\boldsymbol{{e}}}_q^T \end{bmatrix} \rightarrow \boldsymbol{{0}}\) for \(t \rightarrow \infty\).

Proof. Consider the function \(S(\boldsymbol{{s}},\boldsymbol{{e}}_k,t)\) from 11 . The time derivative along the trajectories of the closed-loop system 15 is then obtained as \[\begin{align} \tag{18} \dot{S} &= - \boldsymbol{{s}}^T \boldsymbol{{K}}_s\boldsymbol{{s}} + \boldsymbol{{s}}^T \boldsymbol{{\tau}}_{e}\\ \tag{19} &\leq - \underbrace{(1 - \epsilon)k_{s,min}}_{\coloneq c_1} \, \boldsymbol{{s}}^T\boldsymbol{{s}} + \underbrace{(4\epsilon k_{s,min})^{-1}}_{\coloneq c_2} \, \boldsymbol{{\tau}}_{e}^T\boldsymbol{{\tau}}_{e} \end{align}\] where \(k_{s,min}> 0\) is the smallest eigenvalue of \(\boldsymbol{{K}}_s\) and \(\epsilon\) is an arbitrary constant, such that it holds \(0 < \epsilon < 1\).3 The positive constants \(c_1\) and \(c_2\) are defined by this relation. Using this as a starting point, we prove the statements 1 and 2 consecutively.

Statement 1)↩︎

Let us integrate \(\eqref{eq:32dissipation}\) from \(t = 0\) to \(t = T\). We obtain \[\begin{align} \label{eq:32integrated32S} S_T - S_0 \leq - c_1 \int_{0}^{T}\boldsymbol{{s}}^T\boldsymbol{{s}} \, dt + c_2 \int_{0}^{T}\boldsymbol{{\tau}}_{e}^T \boldsymbol{{\tau}}_{e}\, dt \end{align}\tag{20}\] with \(S_T =S(\boldsymbol{{s}}(T), \boldsymbol{{e}}_k(T), T)\) and \(S_0 = S(\boldsymbol{{s}}(0), \boldsymbol{{e}}_k(0), 0)\). With \(S_T \geq 0\), this immediately yields

\[\begin{align} \label{lxcdtghy} \sqrt{\int_{0}^{T} \boldsymbol{{s}}^T \boldsymbol{{s}} \, dt} &\leq \, \gamma_1 \, \sqrt{\int_{0}^{T} \boldsymbol{{\tau}}_{e}^T \boldsymbol{{\tau}}_{e}\, dt} + \beta \\ &\leq \, \gamma_2 \, \sqrt{\int_{0}^{T} \boldsymbol{{e}}_\theta^T \boldsymbol{{e}}_\theta\, dt} + \beta \end{align}\tag{21}\] with \(\gamma_1 = \sqrt{c_2c_1^{-1}}\), \({\beta = \sqrt{S_0c_1^{-1}}}\) and \(\gamma_2 = k_{\psi}\gamma_1\). Considering \(T \rightarrow \infty\), this implies that the closed-loop system with input \(\boldsymbol{{e}}_\theta\) and output \(\boldsymbol{{s}}\) is finite-gain \(\mathcal{L}_2\) stable (c.f., e.g. [17]).

Statement 2)↩︎

Consider again 20 . For \(\boldsymbol{{e}}_\theta\in \mathcal{L}_2\) it holds \(\boldsymbol{{\tau}}_{e}\in \mathcal{L}_2\). Further, we just showed that then \(\boldsymbol{{s}} \in \mathcal{L}_2\). Thus, the right hand side of 20 is bounded \(\forall t\). This implies uniform boundedness of \(S_T\), which, in turn, yields uniform boundedness of \(\boldsymbol{{s}}\) and \(\boldsymbol{{e}}_k\).

Consider the function \({f(t) = \int_{0}^{t} \boldsymbol{{s}}^T\boldsymbol{{s}} \, dr}\). Given \(\boldsymbol{{e}}_\theta\in \mathcal{L}_2\) it holds \(\boldsymbol{{s}} \in \mathcal{L}_2\) as it has been shown in the proof of Statement 1. As \(f(t)\) is thus upper bounded and as the integrand is monotonically increasing, \(f(t)\) approaches a finite limit for \(t \rightarrow \infty\).

Now consider \(\ddot{f}(t) = 2 \boldsymbol{{s}}^T\dot{\boldsymbol{{s}}}\). As \(\boldsymbol{{s}}\) and \(\boldsymbol{{e}}_k\) have been shown to be bounded, we can conclude boundedness of \(\dot{\boldsymbol{{s}}}\) from 16 . Thus, \(\ddot{f}(t)\) is bounded. This implies that \(\dot{f}(t) = \boldsymbol{{s}}^T\boldsymbol{{s}}\) is uniformly continuous.

By Barbalat’s Lemma, we can now conclude \(\dot{f}(t)\rightarrow 0\) for \(t \rightarrow \infty\). Thus, \(\boldsymbol{{s}}\rightarrow\boldsymbol{{0}}\) and \(\begin{bmatrix} \boldsymbol{{e}}_q^T & \dot{\boldsymbol{{e}}}_q^T \end{bmatrix} \rightarrow \boldsymbol{{0}}\). ◻

5 Experiments↩︎

To validate the performance of the approach under distinct torque-deflection characteristics, we perform trajectory tracking experiments with a variable stiffness actuator varying the physical stiffness during the motion.

5.1 Setup↩︎

The utilized setup is depicted in Fig. 2. It consists of the motor-position controlled VSA [3] rotating a weight of \(\SI{0.5}{\kilogram}\) attached on a lever in the horizontal plane.

Figure 2: Experimental setup consisting of one VSA by qbRobotics rotating a \SI{0.5}{\kilogram} weight in a horizontal plane (a). The utilized cubic torque-deflection models for the high and low stiffness settings approximately match the datasheet models for relevant deflections \vert \theta - q \vert \leq \SI{0.4}{\radian} (b).

5.1.1 Dynamics and Nominal Torque-Deflection Model↩︎

The considered actuator contains two servo motors with motor positions \(\boldsymbol{{\theta}}_1\) and \(\boldsymbol{{\theta}}_2\). Stiffness and position adjustments are decoupled [3]. Via increasing the relative motor position \({\Delta \boldsymbol{{\theta }}= \num{0.5}(\boldsymbol{{\theta}}_2 - \boldsymbol{{\theta}}_1)}\), the stiffness setting can be increased, whereas the equilibrium position is determined as \({\boldsymbol{{\theta }}= \num{0.5}(\boldsymbol{{\theta}}_1 + \boldsymbol{{\theta}}_2)}\). Given a fixed \(\Delta\boldsymbol{{\theta }}\), the actuator can thus be treated as a series elastic actuator [5], [7]. The link-side system dynamics can then be expressed in terms of \(\boldsymbol{{\theta}}\) in the form 2 as \[\begin{align} \boldsymbol{{M}}\ddot{\boldsymbol{{q}}}&= \boldsymbol{{\psi}}(\boldsymbol{{\theta }}- \boldsymbol{{q}})\\ & = \boldsymbol{{\psi}}(\boldsymbol{{u}}- \boldsymbol{{q}}) + \boldsymbol{{\tau}}_{e} \end{align}\] with \(\boldsymbol{{M}}= \SI{0.0129}{\newton\metre\second^2/\radian}\) and control input \(\boldsymbol{{u}}\).

In the following, we operate the actuator at two distinct relative motor positions. We will refer to the setting with \({\Delta\boldsymbol{{\theta }}= \SI{0.5}{\radian}}\) as the high stiffness preset and \({\Delta\boldsymbol{{\theta }}= \SI{0.35}{\radian}}\) as the low stiffness preset. According to the datasheet and [7], the corresponding nonlinear torque-deflection relations with deflection \(\boldsymbol{{\delta}} = \boldsymbol{{\theta }}- \boldsymbol{{q}}\) are obtained as \[\tag{22} \begin{align}\tag{23} \boldsymbol{{\psi}}_{high}(\boldsymbol{{\delta}}) &= 0.166\, \mathrm{sinh}\left(8.999\, \boldsymbol{{\delta}} \right),\\ \tag{24} \boldsymbol{{\psi}}_{low}(\boldsymbol{{\delta}}) &= 0.043\, \mathrm{sinh}\left(8.999\, \boldsymbol{{\delta}} \right), \end{align}\] respectively.

5.1.2 Regressor and Parameter Vector↩︎

Considering 22 , a hyperbolic sine function could be a suitable choice for a basis function of the regressor. Moreover, as depicted in Fig. 2 (b), the functions 22 can be approximated by the cubic function \[\begin{align} \label{eq:cube32cubic} \boldsymbol{{\psi}}_{cubic} (\boldsymbol{{\delta}}) &= k_3 \boldsymbol{{\delta}}^3 + k_1 \boldsymbol{{\delta}}\\ &= \begin{bmatrix} \boldsymbol{{\delta}}^3 & \boldsymbol{{\delta}} \end{bmatrix} \begin{bmatrix} k_3 \\ k_1 \end{bmatrix} = \boldsymbol{{Y}}(\boldsymbol{{\delta}})\boldsymbol{{k}} \end{align}\tag{25}\] with parameters \({\boldsymbol{{k}}_{high} = \begin{bmatrix} 28 & 1.5 \end{bmatrix}^T}\) for 23 and \({\boldsymbol{{k}}_{low} = \begin{bmatrix} 8 & 0.38 \end{bmatrix}^T}\) for 24 in a range of deflections \({\boldsymbol{{\delta }}\leq \SI{0.4}{\radian}}\).

We will utilize the cubic regressor \(\boldsymbol{{Y}}(\boldsymbol{{u}}-\boldsymbol{{q}})\) from 25 with \(\boldsymbol{{\delta }}= \boldsymbol{{u}}-\boldsymbol{{q}}\) for the formulation of the adaptive controller. This choice is guided by the datasheet relation and allows for an explicit formulation of the control law while the behavior for large and small deflections can be adjusted distinctly via the cubic and linear parameter.

5.1.3 Desired Trajectory↩︎

For the experiments, we aim at tracking a desired link-side trajectory \[\label{eq:traj} \boldsymbol{{q}}_d(t) = 0.5 \pi \left( \sin\left(\frac{8\pi}{T} t\right) + \sin\left(\frac{2\pi}{T} t\right) \right),\tag{26}\] which is periodic with \(T = \SI{6.5}{\second}\). The actuator’s stiffness setting is held constant for two consecutive periods before being switched between the defined high and low settings. This alternating pattern is maintained over multiple cycles throughout the experiment.

5.1.4 Control Approaches↩︎

We compare the performance of the proposed adaptive controller using an initial parameter estimate \(\hat{\boldsymbol{{k}}}_{0} = \boldsymbol{{k}}_{high}\) against two baseline approaches, which we will refer to as baseline - high and baseline - low. These use the same control law 7 , but the constant parameter estimates \(\hat{\boldsymbol{{k}}}= \boldsymbol{{k}}_{high} = const.\) and \(\hat{\boldsymbol{{k}}}= \boldsymbol{{k}}_{low} = const.\), respectively, i.e., we deactivate the parameter adaptation. To ensure physically meaningful estimates of the torque-deflection models and to prevent numerical issues due to 9 , we implement lower thresholds for the parameter estimates, i.e. \(\hat{k}_1, \, \hat{k}_3 \geq 10^{-3}\).

Figure 3: Tracking performance of baseline approaches (cf. Table ¿tbl:tab:gains?) utilizing constant torque-deflection models (top) versus our proposed adaptive controller (middle). The norm of \boldsymbol{{s}} integrated over a cycle reduces under the parameter adaptation (bottom), such that the adaptive controller eventually outperforms the baseline approaches both for high and low stiffness presets of the VSA.

We provide an overview of utilized gains and initial parameter estimates in Table ¿tbl:tab:gains?.

The controllers are implemented at a control frequency of \(\SI{200}{\hertz}\).

5.2 Results↩︎

Figure 3 shows the tracking results over five stiffness cycles. We provide \(\boldsymbol{{q}}(t)\) under the baseline approaches without adaptation (top), \(\boldsymbol{{q}}(t)\) under the proposed adaptive controller (middle) and the normed error \(\sqrt{\int_{t_0}^{t_0 + 2T} \boldsymbol{{s}}^T\boldsymbol{{s}} \, dt}\) per cycle with cycle starting time \(t_0\).

As the adaptive controller (red) has been initialized with \(\hat{\boldsymbol{{k}}}(t=0) = \boldsymbol{{k}}_{high}\), its performance is comparable to the baseline approach using the high stiffness model (blue) during the first cycle. However, then the tracking of \(\boldsymbol{{q}}_d(t)\) improves. Starting from the third cycle, the adaptive controller achieves the least normed tracking error in both the cycles with high and low stiffness setting.

The evolution of the parameter estimates is depicted in Fig. 4. Both the cubic and the linear parameter estimates reduce during the high stiffness setting of the first cycle. With the second cycle, the adaptation rate further decreases to account for the reduced stiffness. Notably, the cubic estimate reaches its lower threshold at almost zero during this cycle. Conversely, the linear parameter stabilizes at \(\hat{k}_1\approx 0.5\), which is larger than the linear contribution to \(\boldsymbol{{k}}_{low}\) obtained from the datasheet.

Figure 4: Evolution of the parameter estimates \hat{k}_3 and \hat{k}_1 during the adaptation as compared to the datasheet values. The absolute value of the adaptation rate clearly increases as the VSA’s stiffness preset is reduced 1⃝. The cubic parameter estimate runs into its lower limit 2⃝ whereas the linear parameter estimate converges to a value above the datasheet value for the low stiffness preset.

It may contradict the expectation that the parameter estimates do not increase in the third and fifth cycle, after the stiffness setting is switched from low to high. However, the adaptive controller does not guarantee convergence of the parameter estimate to its real value. It only adjusts the estimate, if there is a tracking error. Notably, the tracking performance remains consistent starting from the third cycle even without parameter adjustment. This may be due to the fact that the estimated, low, constant stiffness can be understood as high gain on the desired link-side torque (cf. 8 ). Note that this interpretation aligns with the observation that the baseline - low controller (yellow) is more performant than the baseline - high one (blue).

6 Conclusion and Outlook↩︎

This work addressed adaptive control of motor-position-controlled flexible-joint robots with uncertain, nonlinear joint stiffness. We designed an implicit control law and an adaptation law for the case of an ideal motor-position interface proving convergence of tracking errors to zero. Further, we analyzed robustness of the approach with respect to motor-side control errors.

Experimental results confirm that the proposed approach can enhance the tracking performance of a motor-position-controlled flexible joint with an uncertain torque-deflection relation. The approach was able to react to the stiffness changes introduced via a variable stiffness mechanism and outperformed controllers utilizing a constant torque-deflection model. This motivates applying the approach in robotic joints, whose torque-deflection characteristics are expected to strongly depend on operating conditions. This could, e.g., be promising for systems involving low-cost elastic elements such as the springs fabricated from PLA introduced in [18].

Future work could develop adaptation laws that ensure physically meaningful estimates of the stiffness characteristics. To improve parameter estimation, it seems also promising to utilize information from the torque prediction error as in [10].

Finally, extensions to further classes of robots with joint flexibility, such as antagonistically driven VSA or twisted string actuators, seem promising.

References↩︎

[1]
A. De Luca and W. Book, Robots with Flexible Elements,” in Springer Handbook of Robotics, B. Siciliano and O. Khatib, Eds. Berlin, Heidelberg: Springer Berlin Heidelberg, 2008, pp. 287–319.
[2]
M. W. Spong, “Modeling and Control of Elastic Joint Robots,” Journal of Dynamic Systems, Measurement, and Control, vol. 109, no. 4, pp. 310–318, Dec. 1987, doi: 10.1115/1.3143860.
[3]
M. G. Catalano et al., VSA-CubeBot: A modular variable stiffness platform for multiple degrees of freedom robots,” in 2011 IEEE International Conference on Robotics and Automation, May 2011, pp. 5090–5095, doi: 10.1109/ICRA.2011.5980457.
[4]
C. Della Santina et al., “Controlling Soft Robots: Balancing Feedback and Feedforward Elements,” IEEE Robotics & Automation Magazine, vol. 24, no. 3, pp. 75–83, Sep. 2017, doi: 10.1109/MRA.2016.2636360.
[5]
J. Moyrón, C. Ott, A. Kirner, and J. Moreno-Valenzuela, “Elastic Structure Preserving Control for Flexible Joint Robots With Position-Controlled Actuators,” IEEE Transactions on Control Systems Technology, vol. 33, no. 5, pp. 1810–1819, Sep. 2025, doi: 10.1109/TCST.2025.3562024.
[6]
M. Pierallini, F. Angelini, R. Mengacci, A. Palleschi, A. Bicchi, and M. Garabini, “Trajectory Tracking of a One-Link Flexible Arm via Iterative Learning Control,” in 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Oct. 2020, pp. 7579–7586, doi: 10.1109/IROS45743.2020.9341215.
[7]
G. Lentini et al., “Alter-Ego: A Mobile Robot With a Functionally Anthropomorphic Upper Body Designed for Physical Interaction,” IEEE Robotics & Automation Magazine, vol. 26, no. 4, pp. 94–107, Dec. 2019, doi: 10.1109/MRA.2019.2943846.
[8]
G. Zambella, D. Caporale, G. Grioli, L. Pallottino, and A. Bicchi, “Composite Whole-Body Control of Two-Wheeled Robots,” IEEE Transactions on Robotics, vol. 41, pp. 2301–2321, 2025, doi: 10.1109/TRO.2025.3548494.
[9]
J.-J. E. Slotine and W. Li, “On the Adaptive Control of Robot Manipulators,” The International Journal of Robotics Research, vol. 6, no. 3, pp. 49–59, Sep. 1987, doi: 10.1177/027836498700600303.
[10]
J.-J. E. Slotine and W. Li, “Composite adaptive control of robot manipulators,” Automatica, vol. 25, no. 4, pp. 509–519, Jul. 1989, doi: 10.1016/0005-1098(89)90094-0.
[11]
T. Lee, J. Kwon, and F. C. Park, “A Natural Adaptive Control Law for Robot Manipulators,” in 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Oct. 2018, pp. 1–9, doi: 10.1109/IROS.2018.8593727.
[12]
M. W. Spong, “Adaptive control of flexible joint manipulators,” Systems & Control Letters, vol. 13, no. 1, pp. 15–21, Jul. 1989, doi: 10.1016/0167-6911(89)90016-9.
[13]
F. Ghorbel, J. Y. Hung, and M. W. Spong, “Adaptive control of flexible joint manipulators,” in 1989 International Conference on Robotics and Automation Proceedings, May 1989, pp. 1188–1193 vol.2, doi: 10.1109/ROBOT.1989.100141.
[14]
R. Lozano-Leal and B. Brogliato, “Adaptive Control of Robot Manipulators with Flexible Joints,” in 1991 American Control Conference, Jun. 1991, pp. 938–943, doi: 10.23919/ACC.1991.4791516.
[15]
L. Tian and A. A. Goldenberg, “Robust adaptive control of flexible joint robots with joint torque feedback,” in Proceedings of 1995 IEEE International Conference on Robotics and Automation, May 1995, vol. 1, pp. 1229–1234 vol.1, doi: 10.1109/ROBOT.1995.525448.
[16]
S. Chen and J. T. Wen, “Adaptive Neural Trajectory Tracking Control for Flexible-Joint Robots with Online Learning,” in 2020 IEEE International Conference on Robotics and Automation (ICRA), May 2020, pp. 2358–2364, doi: 10.1109/ICRA40945.2020.9197051.
[17]
H. K. Khalil, Nonlinear systems, 3. ed. Upper Saddle River, NJ: Prentice Hall, 2002.
[18]
H. Höppner, A. Kirner, J. Göttlich, L. Jakob, A. Dietrich, and C. Ott, “Variable Stiffness Actuation via 3D-Printed Nonlinear Torsional Springs,” IEEE Robotics and Automation Letters, vol. 10, no. 5, pp. 4324–4331, May 2025, doi: 10.1109/LRA.2025.3549658.

  1. This work was supported in part by the European Research Council (ERC) through the European Union’s Horizon Europe research and innovation programme under Grant 101248099 (CORIM).↩︎

  2. \(^1\)Christian Ott is also with the Institute of Robotics and Mechatronics, German Aerospace Center (DLR), Wessling, Germany.↩︎

  3. Note that 19 holds due to Young’s inequality.↩︎