# Tuning Backstepping Controller Gains

I am doing some experiments and I'll attempt to apply a Backstepping controller to a Laser Beam Stabilization System modelled as the following linear System:

$$\frac{X(s)}{V(s)}=\frac{K}{s(\tau s+1)}$$

where $$X(s)$$ is the position of the laser beam on the PSD, $$V(s)$$ is the voltage applied to the voice coil that steers the mirror, $$K=2200\,mm/(Vs)$$ is the steady-state gain and $$\tau=0.005\,s$$ is the system's time constant.

By choosing $$x_1=x$$, $$x_2=\dot{x}$$, $$u=v$$ and $$y=x_1$$ The State-Space representation of the system becomes the following:

$$\begin{equation*} \begin{cases} \dot{x}_1=x_2\\ \dot{x}_2=-\frac{1}{\tau}x_2(t)+\frac{K}{\tau}u\\ y=x_{1} \end{cases} \end{equation*}$$

Then, to allow some tracking possiblity, I introduce the following error dynamics:

$$\begin{cases}e_0=\int_{0}^{t}e_1(\alpha)d\alpha\\ e_1=x_1-x_{1}^{d}\\ e_2=\dot{e}_1=x_2-\dot{x}_{1}^{d} \end{cases}\,\,\Longrightarrow\,\,\begin{cases}\dot{e}_0=e_1\\ \dot{e}_1=e_2\\ \dot{e}_2=-\frac{1}{\tau}(e_2+\dot{x}_{1}^{d})+\frac{K}{\tau}u-\ddot{x}_{1}^{d} \end{cases}$$

In a very abridged manner (the derivation of the backstepping control law is pretty long), my choices of Lyapunov functions and virtual input functions were:

\begin{align} V_0&=\frac{1}{2}e_{0}^{2}\\ e_{1}&=\varphi_1=-k_0e_0\\ V_1&=V_0+\frac{1}{2}\left(e_1-\varphi_1\right)^{2}\\ e_{2}&=\varphi_2=-e_0+\dot{\varphi}_1-k_1\left(e_1-\varphi_1\right)\\ V_2&=V_1+\frac{1}{2}\left(e_2-\varphi_2\right)^{2}\\ u&=\frac{\tau}{K}\left[-e_1+\varphi_1+\frac{1}{\tau}(e_2+\dot{x}_{1}^{d})+\dot{\varphi}_2-k_2\left(e_2-\varphi_2\right)+\ddot{x}_{1}^{d}\right] \end{align}

The resulting expression for $$\dot{V}_2$$ is:

$$\dot{V}_2=-k_0e_{0}^{2}-k_1\left(e_1-\varphi_1\right)^{2}-k_2\left(e_2-\varphi_2\right)^{2}$$

For $$k_0,k_1,k_2>0$$.

After all the substitutions, and setting the reference to zero, the control law is:

$$u(t)=\left[\frac{\tau}{K}(-2-k_1k_0-k_2k_0-k_2k_1)\right]x(t)+\left[\frac{\tau}{K}(-k_0-k_2-k_2k_1k_0)\right]\int_{0}^{t}x(\alpha)d\alpha+\left[\frac{\tau}{K}\left(\frac{1}{\tau}-k_0-k_1-k_2\right)\right]\frac{d}{dt}x(t)$$

Which is pretty much a PID structure.

Now my questions follow:

(1): How can I choose/tune the gains while respecting the $$k_0,k_1,k_2$$ combinations?

(2): If I manage to choose/tune the gains respecting the combinations for $$k_0=k_1=k_2=\beta$$, the final Lyapunov function would result in:

$$\dot{V}_2=-\beta\left[e_{0}^{2}+\left(e_1-\varphi_1\right)^{2}+\left(e_2-\varphi_2\right)^{2}\right]\,\,\Longrightarrow\,\,\dot{V}_2=-2\beta V_2$$

Does this mean that this particular choice of gains would guarantee exponential stability?

• Despite the fact that you use a rather complicated method for a rather simple system, the answer to your question is as follows: all gains must be positive, for any constant positive gains you have exponential convergence. It is worth also noting that for linear systems asymptotic and exponential convergence are equivalent. May 10 '19 at 2:53

$$\tau~\ddot{x}(t)+\dot{x}(t)=Kv(t).$$
You want the position $$x(t)$$ to follow $$x_\text{d}(t)$$. Let us assume an error $$e(t) = x_\text{d}(t)-x(t)$$. If we want second order error dynamics (relative degree of the system is $$2$$) we need something like this
$$\ddot{e}+k_\text{D}\dot{e}+k_\text{p}e = 0$$ $$\implies \ddot{x}_\text{d}(t)+k_\text{D}\dot{x}_\text{d}(t)+k_\text{P}x_\text{d}(t)=\ddot{x}(t)+k_\text{D}\dot{x}(t)+k_\text{P}x(t)$$ $$\implies \ddot{x}_\text{d}(t)+k_\text{D}\dot{x}_\text{d}(t)+k_\text{P}x_\text{d}(t)=\left[\dfrac{K}{\tau}v(t)-\dfrac{1}{\tau}\dot{x}(t) \right]+k_\text{D}\dot{x}(t)+k_\text{P}x(t)$$
Solve the last line to obtain a control input for $$v(t)$$. As long as $$k_\text{D}$$ and $$k_\text{P}$$ are positive numbers we can guarantee asymptotic stability (which means we have exponential stability for the error dynamics as our system is linear) by the Hurwitz criterion for quadratic polynomials. Note, that this method requires your $$x_\text{d}(t)$$ to be at least twice continuously differentiable. You are also required to measure the position $$x(t)$$ and the velocity $$\dot{x}(t)$$ and we must have a very good knowledge of the constants $$K$$ and $$\tau$$.