Implementations of Tracking Problems
In the past, I may use ramp and saturation in order to reach the non-zero reference (or, actually, tracking). I know this is not a good one, but it works. During the study of MPC, it’s quite good to have an opportunity for a proper tracking analysis.
Table of Contents
I. Simple solution
In terms of normal reference control, a traditional method was to introduce the error, and augmented the term into system matrices. And by minimizing the cost function with respect to error, that is $C_{a}x_{a}$. This method takes the $x_d$ into account when getting a optimal solution. However, in some cases, steady state error exists (Considering the optimal control solution may comes with sacrifices in states), e.g. a Mass-Spring-Damper system, to keep it in a certain position, extra force is required, but the required force does not satisfy the optimal principle.
Cost function under this case is:
- Here the augmented matrix is defined as $\left[\begin{array}{cc}A&0\\0&I\end{array}\right]$
II. Non-zero constant reference control
Assume that when the system reaches $x_d$ and stabilized, and $A_d=I$.
Hence
Note that $B$ may be singular, so it may does not have inverse. We define the state error as
Define steady-state error of input as
So naturally, compensate it, $u= \delta u+u_d$, substitute it into the regular discrete ss-representation,
Define a new augmented matrix
error could be obtained with $e = C_a\,x_a$, let $C_a^\intercal Q\,C_a=Q_a,\,\,\,C_a^\intercal S\,C_a=S_a$, thus establish a new cost function:
Here, $\delta u$ is selected as the cost, so the term $\delta u^\intercal\,R\,\delta u$ does not purse the lowest energy consumption, but to maintain the input around $u_d$.
III. Incremental input control
It is said that for tracking control, this is more flexible. The input increment is defined as
Adopt $u_k$ as one term of the cost will influence the rate of input, which results a smoother control, avoiding the system changes rapidly. Substitute new input form into the system, we have
Set cost function as
Define the new augmented matrix
So the performance index could be written as
This method could effectively reduce the overshoot in the system. However, for complicated matrix computations, I doubt if it will slow down too much of the process. e.g. the during the MPC calculation.
After comparison, it is clear that these weights differed, however, some construction cannot be directly solved by matlab lqr
or dlqr
, which raises questions. Indeed, I have not previously controlled too many systems like MSD, which requires additional force to stablize at non-zero position.
Naturally, different $x_d$ does not affect the calculated gain.
Still, this part mainly includes the basic part for different tracking needs, which does not concern the tracking of distant position. That requires upper level of planning.