Controller parameters are time varying, mechanism for adjusting these parameters online based on some signals in the closed-loop systems. By the use of such control scheme, the control goal can be achieved even if there is parametric uncertainty in the plant (Robotic Bartender).
>[!info] Linear Parametrization
>Based on [[Static, Dynamic and Stochastic Systems|dynamics model]] $\mathbf{u}= \mathbf{M}(\mathbf{q})\ddot{\mathbf{q}}+\mathbf{C}(\mathbf{q},\dot{\mathbf{q}})\dot{\mathbf{q}}+\mathbf{g}(\mathbf{q})+ F_{V}\dot{\mathbf{q}}$with joint friction $F_{V}$. There always exists a reformulation of that system in the form$Y(\mathbf{\ddot{q},\dot{q},q}) \cdot \alpha =\mathbf{u},$where the **vector** $\alpha$ **contains unknown or uncertain coefficients** consisting **of combinations of physical parameters** of the modeled system. Therefore, the regression [[Matrices|matrix]] $Y$ is linear in $\ddot{\mathbf{q}}$, quadratic in $\dot{\mathbf{q}}$ (kinetic energy) and nonlinear in $\mathbf{q}$ ([[Robot Kinematics - Frames and Twists|kinematics]])
---
- **Goal**
- Given twice differentiable desired joint trajectory $q_{d}(t)$ with known desired velocities $\dot{q}_{d}(t)$ and acceleration $\ddot{q}_{d}(t)$, execute this trajectory under maximum uncertainty and with asymptotically vanishing tracking errors $e=q_{d}-q$ and $\dot{e}=\dot{q}_{d}-\dot{q}$
- Guarantee global [[Lyapunov Stability of Dynamical Systems|stability]] no matter how far the initial parameter estimates $\hat{\mathbf{M}}, \hat{\mathbf{C}}$ and $\hat{\mathbf{g}}$ are from the true values
- **Problem**
- [[Model-Based Control|Model-based control laws]] are hard to turn into adaptive schemes
- **Idea - Combine**
- Nonlinear trajectory tracking control based on [[Static, Dynamic and Stochastic Systems|inverse dynamics]] (global [[Lyapunov Stability of Dynamical Systems|asymptotic stability]], vanishing velocity error but residual error stays) $\mathbf{u}=\hat{\mathbf{M}}(\mathbf{q})\mathbf{\ddot{q}}_{d}+ \hat{\mathbf{C}}(\mathbf{q, \dot{q}})\mathbf{\dot{q}}_{d}+\hat{\mathbf{g}}(\mathbf{q})+\hat{F}_{V}\mathbf{\dot{q}}_{d}+K_{P}e+K_{D}\dot{e}$
- Use reference velocity instead of desired that is modified online according to tracking error $\dot{\mathbf{q}}_{d} \rightarrow \dot{\mathbf{q}}_{r}=\dot{\mathbf{q}}_{d}+ \Lambda (\mathbf{q}_{d}-\mathbf{q}),$typically $\Lambda = K^{-1}_{D}K_{P}$ with diagonal [[Matrices|matrices]] in order to work against position error. Can be interpreted as a mobile reference we are lagging behind at constant speed![[Pasted image 20240315085441.png|center|450]]
- Substituting $\dot{\mathbf{q}}_{r}=\dot{\mathbf{q}}_{d}+\Lambda \mathbf{e}$ **and** $\ddot{\mathbf{q}}_{r}=\ddot{\mathbf{q}}_{d}+\Lambda \dot{\mathbf{e}}$ into nonlinear controller based on current estimates and rearranging yields $u=Y(\mathbf{q},\mathbf{\dot{q}}, \mathbf{\dot{q}_{r}}, \mathbf{\ddot{q}_{r}})\hat{\alpha}+K_{p}e+K_{D}\dot{e}$
- Update estimates via $\dot{\hat{\alpha}}= \mathbf{\Gamma Y}^{T}(\mathbf{q},\mathbf{\dot{q}}, \mathbf{\dot{q}_{r}}, \mathbf{\ddot{q}_{r}})(\mathbf{\dot{q}}_{r}-\mathbf{\dot{q}})$
- $\mathbf{\Gamma}>0$, diagonal - estimation gains for each parameter
---
#### Remarks
- Indirect adaptive control assumes changing dynamic coefficients that need to be estimated online, here only **direct adaptive control**
- **Setting**
- **Known Parameters**
- Robot [[Robot Kinematics - Frames and Twists]], e.g. [[Denavit-Hartenberg Convention|Denavit-Hartenberg]] parameters
- **Uncertain Parameters** - can be identified offline
- Masses, CoMs, inertias
- Slowly varying forces like viscosity, frictions
- **Unknown Parameters**
- mass, CoMs inertia matrix or payload