A singular value maximizing data recording algorithm for concurrent learning
Zhao Zhao

Chowdhary, G., & Johnson, E. (2011, June). A singular value maximizing data recording algorithm for concurrent learning. In Proceedings of the 2011 American Control Conference (pp. 3547-3552). IEEE.

MODEL REFERENCE ADAPTIVE CONTROL

Consider the uncertain multivariable nonlinear dynamical system

Since the exact model is usually not available or not invertible, an approximate inversion model is introduced, which is used to determine the control input where is the pseudo control input that represents the desired model output and is expected to be approximately achieved by . Hence, the pseudo control input is the output of the approximate inversion model This approximation results in a model error of the form A reference model is chosen to characterize the desired response of the system The command is assumed to be bounded and piecewise continuous, furthermore, it is assumed that all requirements for guaranteeing the existence of a unique solution are satisfied.

Consider a tracking control law consisting of a linear feedback part , a linear feedforward part , and an adaptive part in the following form Let’s differentiate : Letting be the solution of the closed loop Lyapunov equation: Let . Two cases for characterizing the uncertainty can be considered. In the first case (Case I: Structured Uncertainty), the uncertainty is assumed to be represented as an unknown linear combination of known nonlinear basis function. That is, there exist a matrix of constants and a vector of continuously differentiable functions such that If the basis functions are also unknown, we say that the uncertainty is unstructured, in this case (Case II: Unstructured Uncertainty) if it is known that the uncertainty is continuous and defined over a compact domain , a Radial Basis Function (RBF) Neural Network (NN) can be used as the adaptive element: For let denote the RBF centroid and denote the RBF width then for each . The radial basis functions are given as Then, we have For the case of structured uncertainty it is well known that the following adaptive law Furthermore, replacing with results in the baseline gradient based adaptive law for the case of unstructured uncertainty (case II). For this case, the baseline adaptive law guarantees uniform ultimate boundedness of tracking error .

A PE signal must contain as many spectral lines as the dimension of the basis of the uncertainty over a time interval. Hence, constant reference signals are not PE, nor are exponentially decaying reference signals. In many control applications, enforcing such persistent excitation in the control system may be infeasible or not acceptable due to energy requirements.

CONCURRENT LEARNING ADAPTIVE CONTROL

A. Exponential Convergence with Concurrent Learning for Case of Structured Uncertainty

Theorem: Consider the system , the control law , the case of structured uncertainty. For the jth recorded data point let , furthermore let be the number of recorded data points in the history stack matrix such that , and consider the following weight update law: Then the zero solution of tracking error dynamics is globally exponentially stable and exponentially. Furthermore, let , then the rate of convergence is directly proportional to the smallest singular value of .

The term for the th data point can be calculated by noting that Since is known, the problem of estimating system uncertainty can be reduced to that of estimation of .

B. Neuro-Adaptive Control with Guaranteed Boundedness with Concurrent Learning for case of Unstructured Uncertainty

When the structure of the uncertainty is unknown (case II in section II), a RBFNN can be used as the adaptive element by leveraging their universal approximation property of RBFNN. In contrast with the baseline adaptive law concurrent learning adaptive law guarantees that the tracking error approaches and remains bounded in a neighorhood of zero, and the weight error approaches and remains bounded in a compact neighborhood of the ideas weights.

A SIMPLE METHOD FOR RECORDING SUFFICIENTLY DIFFERENT POINTS

In the following, we assume that the recorded data is stored in a history-stack, and new data is added or old data removed based on the criteria discussed below. We will let denote the subscript of the last point stored.

For ease of exposition, for a stored data point , we let denote the data point to be stored. We will let denote the history stack at time step . The th column of will be denoted by . It is assumed that the maximum allowable number of recorded data points is limited due to memory or processing power considerations. Therefore, we will require that has a maximum of columns, clearly, in order to be able to satisfy the rank-condition, . For the th data point, the associated model error is assumed to be stored in the array .

For a given a simple way select the instantaneous data for recording is to require The above method ascertains that only those data points are selected for storage that are sufficiently different from the last data point stored. In order to meet the dimension of the history stack, the data can be stored in a cyclic manner. That is if , then the next data point replaces the oldest data point (), and so on.

A SINGULAR VALUE MAXIMIZING APPROACH

From theorem 1 we have that the rate of convergence depends on . Letting denote the singular values of , we recall that for nonzero singular values , and is full ranked only if is nonzero.

The method we present in this section selects a data point for recording if its inclusion results in an increase in the instantaneous minimum singular value of . The following fact ascertains that the singular values of are the same as that of .

Fact: Let , then

Leveraging this fact, algorithm 1 aims to maximize the minimum singular value of the matrix containing the history stack. The algorithm begins by using criterion to select sufficiently different points for storage. If the number of stored points increases the maximum allowable number, the algorithm seeks to incorporate new data points in such a way that the minimum singular value of is increased. To achieve this, the algorithm sequentially replaces every recorded data point in the history stack with the current data point and stores the resulting minimum singular value in a variable. The algorithm then finds the maximum over these values, and accepts the new data point for storage into the history stack (by replacing the corresponding existing point) if the resulting configuration results in an increase in the instantaneous minimum singular value of .

Algorithm 1 Singular Value Maximizing Algorithm for Recording Data Points

Require:

if then

end if

if then

for to do

end for

​ find and let denote the corresponding column index

if then

else

end if

end if

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function [Xbg,Delta_bg,nbg,I]=data_point_remover(XbgOld,Delta_bg_old,sigma,old_eig,deltaErr,nbg)
A=XbgOld; %save initial

nbg=nbg-1;
for ii =1:nbg
A(:,ii)=sigma;%input new point
%dets(ii)= det(A*A');%calculate determinant
eigs(ii)=min(sqrt(eig(A(:,1:nbg)*A(:,1:nbg)')));%min(svd(A*A'));%calculate min eigenvalue
A=XbgOld;%recover old
end
%[Y,I]=min(eigs);%look for the minimum eigenvalue one (this is the point to throw)
[Y,I]=max(eigs);%look for the maximum minimum eigenvalue one (this is the point to throw)
if Y>old_eig %incorporate point only if it is better than what I have
A(:,I)=sigma;
Delta_bg_old(:,I)=deltaErr;

Xbg=A; %send out new A
Delta_bg=Delta_bg_old;
else
Delta_bg=Delta_bg_old;
Xbg=A;%send out old A
end