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