WEBVTT
00:20.040 --> 00:27.040
Today's lecture is on the topic adaptive neural
control for affine systems - multi-input multi-output.
00:33.090 --> 00:40.090
Last class, we talked about single-input single-output
system. We will see how the techniques we
00:41.760 --> 00:48.760
learnt in the last class can be extended to
multi-input multi-output system. This is the
00:50.570 --> 00:57.570
lecture on the module 3 which is neural control
and in this course on intelligent control.
01:04.650 --> 01:11.650
Topics that will be covered today are a revisit
of adaptive neural control for single-input
01:13.390 --> 01:19.259
single-output system. I just want to refresh
your memory with what we discussed in the
01:19.259 --> 01:26.259
last class, general form of multi-input-multi-output
systems. Then, direct adaptive control of
01:28.500 --> 01:35.500
MIMO system of the form. So, we are only considering
a specific form of the multi-input multi-output
01:36.659 --> 01:43.659
system, where this can be written in the form
z1 dot is z2, z1 is z vector and z2 dot is
01:45.370 --> 01:49.330
equal to f (z) plus g (z) u.
01:49.330 --> 01:56.330
Where z1 and z2 are vector and of course z
is z1 transpose, z2 transpose. So, if z1 is
02:06.580 --> 02:13.580
n1 dimensional vector and z2 is n2 dimensional
vector, then z is n1 plus n2 dimensional vector.
02:25.120 --> 02:32.120
We will talk about when f (z) is unknown g
(z) is known and when g (z) is unknown, we
02:33.510 --> 02:36.570
do not know the solution.
02:36.570 --> 02:43.169
Simulation results for two-linked manipulator
system: We will present whatever solution
02:43.169 --> 02:49.919
we will get for this kind of non-linear system,
where we assume object to be unknown and we
02:49.919 --> 02:56.919
will solve the control problem. Finally, the
summary, single-input single-output affine
02:57.829 --> 03:02.840
systems; we will be revisiting that subject
again today.
03:02.840 --> 03:09.840
A large class of single-input single-output
non-linear system can be represented by the
03:10.910 --> 03:17.910
following affine systems: an affine system
can be written as x1 dot is x2 x2 dot is x3
03:18.299 --> 03:25.299
and so on until x n dot is f x, where x is
the complete vector consisting of the elements
03:25.750 --> 03:32.750
x1 x2 x3 until xn.x is x1 x2 xn and plus g
xu u is a singular input u and y are single-input
03:43.000 --> 03:50.000
system so belongs to real line. The control
problem is find u so that x t follows a desired
03:53.579 --> 03:57.239
trajectory x desired.
03:57.239 --> 04:04.239
Feedback linearization technique we discussed
last class that, in general if I have this
04:05.970 --> 04:12.970
particular non-linearity here which we call
affine. Then if we select this control law
04:15.449 --> 04:22.449
u to be of the form 1 upon g x minus f (x)
kv r lambda 1 e n minus 1 and so on until
04:27.000 --> 04:33.139
this is n minus 1th derivative of the error.
This is the first derivative of error plus
04:33.139 --> 04:40.139
x n desired, desired xn dot, where e is y
d minus 1 is the output tracking error, r
04:46.690 --> 04:53.690
is we said filtered tracking error which is
n minus 1th derivative of error plus n minus
04:55.450 --> 05:02.450
2, 2th derivative of error and so forth. Power
d denotes respective derivatives; putting
05:04.950 --> 05:11.950
this expression of u in the system dynamics.
System dynamic is simply your x n dot is f
05:16.180 --> 05:23.180
(x) g (x) u. If I replace this u here so I
get xn dot this side and this side is in u
05:31.200 --> 05:38.200
you have this xn d dot. When you multiply
this u with g (x) you get xn d dot so bring
05:39.740 --> 05:46.740
to this side then by definition this term
is minus if you look at e is this one then
05:51.170 --> 05:58.170
this particular term by definition becomes
minus nth derivative of the error and equal
06:00.310 --> 06:06.970
to this side if you look at this minus f (x)
will cancel with this f (x).
06:06.970 --> 06:13.970
Hence this is kv r plus lambda 1 e n minus
1 until lambda n minus 1 e first derivative.
06:18.240 --> 06:23.690
The closed loop error dynamics becomes finally
if I look at here, if I take this 1 to this
06:23.690 --> 06:30.690
side, then this term will become r by definition
here this is my r; so this will become if
06:31.720 --> 06:38.720
I take to this side this will become r dot.
r dot becomes minus kv r which is linear as
06:41.470 --> 06:48.470
well as stable given kv and lambdas are positive
parameters. These parameters are all positive.
07:00.770 --> 07:07.400
This is speed back linearization. What you
see is that, if my system is distract by this
07:07.400 --> 07:14.400
form, xn dot is f (x) plus g (x) u and if
I select control input is like this and I
07:15.800 --> 07:21.680
am able to show that such a controller will
stabilize the system. Also tracking will be
07:21.680 --> 07:28.680
achieved and the closed error of feedback
error dynamics becomes r dot equal to minus
07:30.590 --> 07:35.030
kv r.
07:35.030 --> 07:41.910
We extended this feedback linearization principle,
for adaptive control technique. Why we are
07:41.910 --> 07:48.910
doing adaptive control? Because, we assume
that in the dynamic which is given xn dot
07:49.440 --> 07:56.440
is f (x) plus g (x) u if this f (x) and g
(x) are known, then there is no need for adaptive
07:58.650 --> 08:00.790
control.
08:00.790 --> 08:06.860
But most of the situations or in many situations,
we do not know what is f (x) and g (x). How
08:06.860 --> 08:13.130
do we solve this problem using the same principle,
the feedback linearization concept? What we
08:13.130 --> 08:17.820
are trying to do here is that, last class
we discussed two cases, where 1 is f x is
08:17.820 --> 08:24.120
unknown and g x is known and the other is
that both are unknown. We are considering
08:24.120 --> 08:31.120
the first case now: f x is unknown g x is
known. Then if we select the control law which
08:32.070 --> 08:38.269
is 1 upon g x, you can see that this form
is exactly as that of a feedback linearization
08:38.269 --> 08:45.269
control law, but with the exception that instead
of f x which is known we have written f hat
08:45.810 --> 08:52.480
x which is an estimate of f x. We are saying
direct adaptive control because we will not
08:52.480 --> 08:59.480
be estimating f (x) using the system identification
principle, but we will be identifying f x
09:00.670 --> 09:07.670
hat using the principle of tracking error
convergence directly. Hence this control technique
09:07.730 --> 09:14.019
is known as direct adaptive control. What
I am saying here is that, where the non-linear
09:14.019 --> 09:19.879
function f (x) is approximated as f hat x
using a radial basis function network, f hat
09:19.879 --> 09:26.209
x is W transpose phi x; W hat is the weight
vector of the network. The update law for
09:26.209 --> 09:33.209
W hat is W hat dot is minus phi F phi into
r. F is a positive definite matrix, phi is
09:36.949 --> 09:43.949
the radial basis functions easing which the
unknown function F hat x is is estimated and
09:46.170 --> 09:53.170
r is the filtered tracking error which you
have already defined; r is e to the power
10:01.370 --> 10:08.370
which is there here - e to the power n minus
1 plus lambda 1. This is our filtered tracking
10:20.809 --> 10:27.809
error and using this filtered tracking error
we have weight update rule for estimating
10:37.639 --> 10:40.139
F hat x.
10:40.139 --> 10:47.139
In this method the idea is not to exactly
identify what is F hat x but to estimate F
10:47.259 --> 10:54.259
hat x in such a way the tracking error is
converged. We proved this theorem we are not
10:54.480 --> 10:57.720
going to prove this theorem in this class
because we have already done it; I am just
10:57.720 --> 10:59.369
refreshing your memory.
10:59.369 --> 11:06.369
Similarly, we also proposed a control law
for when this affine system both f (x) and
11:07.009 --> 11:14.009
g (x) are unknown. Again for your memory here
I rewrite it as f (x) plus g (x) u so in this
11:18.259 --> 11:25.259
the control law is given by u1 plus u2; where
u1 is similar structure except that here we
11:27.249 --> 11:34.249
have instead of g (x) we have g hat x and
here instead of f (x) we have f hat x the
11:34.749 --> 11:41.749
estimate of f x because we do not know f (x)
and g (x) and u2 is a sliding mode term which
11:42.100 --> 11:49.100
is the absolute value of g hat upon gl absolute
value of u1 sign um sine r, sine of the filter
11:53.189 --> 12:00.189
tracking error. gl lower bound of g (x).
12:03.199 --> 12:10.199
What we are also assuming here g (x) is either
positive or negative. g x is approximated
12:19.619 --> 12:26.540
as g hat x using radial basis function network;
g hat x is P transpose psi x. P hat is the
12:26.540 --> 12:33.540
weight vector of the network the update law
P hat dot is minus G psi u r and G is a positive
12:38.350 --> 12:45.350
definite matrix. Similarly, the weight update
law for f (x) which is f (x) hat is W transpose
12:56.959 --> 13:03.959
phi x so this is f (x) and the W hat dot is
also the same what we derived F phi r. We
13:22.319 --> 13:29.319
have two weight update laws; one update law
for the weights of the neural network that
13:30.929 --> 13:37.929
approximates f (x) and there is another update
law here, which is the weight update law for
13:40.829 --> 13:47.829
the neural network that estimates g (x). If
these are the two update laws, then the control
13:49.929 --> 13:56.929
law given by u equal to u1 plus u2 will stabilize
this non-linear system. Now adaptive control
14:01.589 --> 14:08.589
of MIMO system using these two theorems, we
have already proved in the last class today
14:10.860 --> 14:17.009
we will extend these concepts to MIMO systems.
14:17.009 --> 14:22.119
Let us see what a MIMO system is. We will
now extend the application of proposed direct
14:22.119 --> 14:28.529
adaptive neural control to multi-input multi-output
system. A general multi-input multi-output
14:28.529 --> 14:35.529
system can be written as x dot is f (x) plus
g (x) u and y is Cx. Unlike the earlier case,
14:35.899 --> 14:42.899
what we are writing here is, that here x dot
is a vector a whole relation f (x) plus g
14:47.699 --> 14:54.699
(x) u, where x belongs to the n dimensional
vector, f (x) also is an n dimensional vector,
14:58.069 --> 15:05.069
u is m dimensional vector, g is m into n dimensional
vector, y is p dimensional vector and C is
15:11.209 --> 15:18.209
p into m dimensional matrix. In fact, this
is a matrix g (x) is a matrix and this is
15:22.429 --> 15:29.429
also a matrix. We are talking about a multi-input
multi-output system.
15:30.929 --> 15:37.929
Now, this is a very general form and out of
this form we will consider a very specific
15:38.199 --> 15:45.199
form which is this one. This structure where
this MIMO system we can write any of the system
15:49.029 --> 15:56.029
dynamics particularly multi-link robot manipulators.
All categories of multiple robot manipulators
15:58.569 --> 16:05.470
are two-link or more than two-link robot manipulator.
The dynamics can be written as x1 dot is x2
16:05.470 --> 16:12.470
dot is f1 x plus g11 u1 until g1n um x 3 dot
is x 4 x 4 dot is f 2 x plus g 2 1 x until
16:17.459 --> 16:24.459
g2m (x) um and finally, x2n minus one dot
is x 2n and x 2n dot is f (x) fn (x) plus
16:34.959 --> 16:41.959
g n 1 x u 1 until gnm (x) um. So, what you
are seeing is that here that we have written
16:54.850 --> 17:01.850
is a generic form of a specific multi input
multi output system where outputs are x1 x3
17:04.640 --> 17:11.640
the odd number state vectors x1 x3 until x2
n minus 1. For such cases the system equation
17:13.610 --> 17:20.610
can be rewritten as z1 dot is z2 and z2 dot
is f z plus g z u.
17:20.829 --> 17:27.829
We are clubbing
these equations and representing by z1 dot
is z2 and then obviously we are saying z1
17:46.200 --> 17:53.200
is x1 odd number things x2n minus 1 transpose
and z2 is x2 x 4r x2n. You see that a given
18:11.900 --> 18:18.900
2 n state vectors can be represented as z1
dot is z2 and the next one z2 dot can be written
18:26.150 --> 18:33.150
as f (z) plus g (z) u which you can see here,
this one this one and this one. So this representation
18:36.750 --> 18:43.750
is z2 dot is f (x) plus g x u. So this is
again the n dimensional vector z2 and fx(x)
18:55.430 --> 19:02.430
is 2 n dimensional and g x also is n into
m dimensional, because u is m dimensional.
19:08.710 --> 19:15.710
Here, this is our class of multi-input system;
multi-input multi-output system that we will
19:18.370 --> 19:25.370
be discussing today. Where z1 is x1 x3 the
odd number of state vectors and z2 is even
19:26.500 --> 19:33.500
number state elements. f (z) is f1 until fn
transpose and g (z) you can easily see g (z)
19:39.200 --> 19:46.200
is g11 so this is g11 until g1 m g2 1 until
g2m gn 1 until gn m. This is the elements
19:49.330 --> 19:56.330
gather that forms g (z) and then your final
state vector z is actually 2n dimensional
19:59.410 --> 20:06.410
where each one here is n dimensional.
20:06.490 --> 20:12.440
Direct adaptive neural control, the output
error can be defined as e is y d minus y in
20:12.440 --> 20:19.440
the as you know that y is again n dimensional
vector
because we are assuming that this is z1 d
20:32.520 --> 20:39.520
desired minus z1 since z1 is the n dimensional
vector so this is valid. y d is z1 d is the
20:47.320 --> 20:54.320
desired output vector. Let us define a variable
r which is again in the form of a filtered
20:55.810 --> 21:01.300
tracking error. r is e dot plus lambda e where
lambda is a diagonal matrix with positive
21:01.300 --> 21:08.300
diagonal element. Theorem one - suppose that
the non-linear function f (z) is unknown while
21:10.160 --> 21:17.160
the function g (z) is known, suppose also
that f (z) can be approximated as f hat z
21:20.330 --> 21:27.330
upon equal to W hat transpose phi z using
a radial basis function network then the control
21:28.610 --> 21:35.610
law given by this expression u is g transpose
into g g transpose inverse whole multiplication
21:40.880 --> 21:47.880
minus f hat z plus kvr plus this term into
e dot plus z2 d dot so z2 dot. The desired
22:00.560 --> 22:07.560
one will stabilize the system in sense of
Lyapunov provided W hat is updated using the
22:08.690 --> 22:15.690
update law minus F phi r transpose. You see
that in here in-single-input single-output
22:17.810 --> 22:23.840
case r was a scalar and in this case this
is a vector n dimensional vector.
22:23.840 --> 22:30.840
You see that when we did with using single-input
single-output system we had a radial basis
22:31.770 --> 22:38.770
function network that was estimating what
is f (x). If you see the weight vector here
22:39.730 --> 22:46.730
which is W this is a vector and how many dimensions?
Dimension is l into 1 dimensional vector W.
22:55.890 --> 23:00.870
In case of single-input single-output system
the function f (x) is a scalar function the
23:00.870 --> 23:06.100
R B F network as a single-output as shown
in the figure. The network weight constitutes
23:06.100 --> 23:13.100
a vector W hat in this case while when we
do it in multi-input multi-output system.
23:17.910 --> 23:24.910
We have n outputs here. In this case this
is no more a vector W hat is a matrix. What
23:27.480 --> 23:34.480
is the meaning of this W hat here? In case
of MIMO system the function f (x) is a vector
23:35.190 --> 23:42.190
valued function. The R B F network has multiple
outputs as shown in the figure. The network
23:42.240 --> 23:49.240
weights constitute a matrix W hat in this
case. Now, we will go to the proof with this
23:50.370 --> 23:53.880
basic idea we have already actually described.
23:53.880 --> 24:00.880
We described that this control law, with the
weight update algorithm for F hat z which
24:03.840 --> 24:10.840
is W hat dot is minus F phi r transpose. If
I have this weight update law, for estimating
24:18.330 --> 24:25.330
F hat z then, this controller will give me
the results that the actual output will follow
24:27.210 --> 24:29.320
the desired output.
24:29.320 --> 24:36.320
In this control law k v is a positive definite
diagonal matrix W hat is the weight matrix
24:36.810 --> 24:43.810
of appropriate dimension. Let us assume that
there exists an ideal weight matrix W such
24:44.100 --> 24:51.100
that the original vector f (z) can be represented
as W transpose phi z. We can say here f (z)
24:53.840 --> 25:00.840
is W hat transpose phi z for this W hat as
to be updated. We have already given this
25:03.690 --> 25:10.690
rule of W hat dot is minus F phi r transpose
so can we say that given this as the weight
25:12.820 --> 25:19.820
update law these controller will stabilize
the given affine system. Now what I do is
25:23.260 --> 25:30.260
that my dynamic is because f (z) is this one
so z 2 z is f (z). This f z is now W transpose
25:34.370 --> 25:41.370
phi z plus g (z) u in this u is replaced by
this equation. The closed loop error dynamics
25:43.840 --> 25:47.610
is obtained by putting u in this equation.
25:47.610 --> 25:54.610
This is putting the control law u in the system
equation and after simplification we get z2
25:55.140 --> 26:02.140
dot is W transpose phi minus W hat transpose
phi plus k v r plus lambda 1 e dot plus z2
26:06.460 --> 26:13.120
dot. If f x would have been known, then these
two terms would have cancelled. Then we would
26:13.120 --> 26:19.810
have remained with only this term which is
a stable closed loop error dynamics. Since
26:19.810 --> 26:26.810
these two are not exact, they are different.
How do we stabilize it?
26:26.820 --> 26:33.820
We have proposed a control law for weight
update. Defining the error in weight vector
26:35.760 --> 26:42.760
is… earlier I told that in this case W is
a matrix so this is very important and here
26:49.430 --> 26:56.430
W is actually matrix; defining the weight
matrix W tilde is according to this. We can
26:59.270 --> 27:06.270
write z2 dot this particular term is W tilde
transpose. This is written as W tilde transpose
27:11.180 --> 27:18.180
phi plus this 3 terms kv r plus this term
into e dot plus z dot 2 desired. We have already
27:22.870 --> 27:29.870
defined r dot. r dot we know, we have defined
r to be e dot plus so if I re-compute r dot
27:37.830 --> 27:44.830
is e double dot plus 1 into e dot. The symbol
this is simply a constant into 1 suffix 1
27:50.330 --> 27:57.330
e dot which is z2 dot minus z2 dot plus 1e
dot. This particular expression we derive
28:10.880 --> 28:17.880
from r dot simply differentiating then replacing,
in this case what is e double dot. So e double
28:23.580 --> 28:30.580
dot is simply z2 d dot minus z2 dot. Combining
this expression we get the close error dynamics
28:40.030 --> 28:47.030
is r dot is minus kvr minus W tilde transpose
phi which is the final closed loop error dynamics.
28:52.280 --> 28:58.350
We now analyze the stability of this using
Lyapunov function so what we get is that this
28:58.350 --> 29:05.350
is our closed loop error dynamics. By replacing
u in our system dynamic which is f (z2) plus
29:14.080 --> 29:21.080
g (z) u is z2 dot. This is our dynamics we
refer in this dynamics here z2 dot here, then
29:40.810 --> 29:46.380
I get this expression.
29:46.380 --> 29:53.380
This is our closed loop dynamics r dot is
minus kv r W tilde transpose phi. Now consider
29:55.440 --> 30:02.440
a Lyapunov function candidate V is half r
transpose r plus trace half W tilde transpose
30:05.360 --> 30:11.740
F inverse W tilde F is the positive definite
matrix. Since the Lyapunov function should
30:11.740 --> 30:18.500
be a scalar function but W hat is a matrix.
In this case we have taken trace because earlier
30:18.500 --> 30:25.500
we simply wrote this is W tilde transpose
F inverse W tilde. But now we have taken trace
30:29.740 --> 30:35.960
because of the matrix. Because this Lyapunov
function has to be scalar.
30:35.960 --> 30:42.050
Trace of a matrix those of you do not know,
if I take a 3 dimensional matrix the diagonal
30:42.050 --> 30:49.050
elements is given by a 1 1, a 2 2, a 3 3.
Trace of a matrix is a 1 1, plus a 2 2 ,plus
30:54.820 --> 31:01.820
a 3 3. Differentiating V, V dot which is r
transpose r dot plus trace of W tilde transpose
31:05.130 --> 31:12.130
F inverse W tilde dot. Substituting r dot
into above equation, so this r dot which is
31:19.309 --> 31:26.309
the closed loop dynamics this is my r dot.
If I give this equation or if I replace this
31:28.570 --> 31:35.570
equation in V dot which is r transpose r dot,
we may get a nice solution for this which
31:38.900 --> 31:44.010
we have derived now.
You can see that r transpose r dot plus trace
31:44.010 --> 31:51.010
of this thing with W tilde dot. Substituting
r dot into the above equation in this equation
31:53.600 --> 32:00.600
you get the rate of Lyapunov function to be
r minus kv r minus W tilde transpose phi plus
32:04.640 --> 32:08.740
the trace of this particular term.
32:08.740 --> 32:15.740
Since W is a constant matrix we can always
write W tilde dot to be minus W hat dot. V
32:16.670 --> 32:23.670
dot, which we have already computed to be
minus r transpose kv r minus r transpose W
32:23.680 --> 32:30.680
tilde transpose phi plus trace minus W tilde
transpose F inverse W hat dot.
32:31.500 --> 32:38.500
By taking this example, using the properties
of trace we will utilize this theorem, which
32:41.580 --> 32:48.580
says, r transpose W tilde transpose phi is
trace of W tilde transpose phi r transpose.
32:48.980 --> 32:55.980
We can further simplify this V hat V rate
derivative of the Lyapunov function to minus
32:57.150 --> 33:04.150
r transpose kv r trace. This is our trace;
this particular thing has been replaced by
33:21.120 --> 33:28.120
this here trace W tilde transpose phi r transpose.
This is trace and this is also another trace
33:30.510 --> 33:37.510
so you can write trace is minus W transpose
phi r transpose minus W tilde transpose F
33:41.290 --> 33:48.290
inverse W tilde W hat dot. Equating the second
term of the above equation to 0, this one
33:50.120 --> 33:57.120
we want to eliminate, I can take out W tilde
transpose to the left side as a common, then
34:00.110 --> 34:07.110
I get simply phi r transpose; you see that
phi r transpose plus F inverse W hat dot is
34:12.040 --> 34:19.040
0 or this is my weight update law W ha dot
is minus F phi r transpose. If this is my
34:21.109 --> 34:28.109
update law then direct adaptive control for
non-linear systems is solved.
34:30.619 --> 34:37.619
Further the proof of the theorem again using
the update law W hat dot which we just derived
34:39.730 --> 34:46.730
minus F phi r transpose. Now let us see whether
the algorithm is convergent rate derivative
34:50.010 --> 34:57.010
Lyapunov function becomes according to our
definition… this V dot becomes V dot is
35:00.880 --> 35:07.880
minus r transpose kv r. Since V is greater
than 0 and V dot is less than equal to 0 this
35:09.020 --> 35:16.020
shows stability in the sense of Lyapunov so
that r and W tilde are bounded hence the proof.
35:16.780 --> 35:23.780
Furthermore, you can easily check this one.
Again V double dot if I have found V dot then
35:23.980 --> 35:30.980
V double dot is minus 2 r transpose kvr dot
is 2 r kv square because r dot is minus kv
35:34.240 --> 35:41.240
r. This was negative this becomes positive
plus 2 r transpose k v W tilde transpose phi;
35:43.110 --> 35:46.420
because this r dot is replaced by…
35:46.420 --> 35:53.420
Since r and W tilde are bounded as V double
dot double differential of the Lyapunov function.
35:58.000 --> 36:05.000
Therefore, V dot is uniformly continuous.
Thus according to Barbalat’s Lemma, V dot
36:05.710 --> 36:12.710
tends to 0 and t tends to infinity; hence
r vanishes with time. We showed here by saying
36:16.440 --> 36:23.440
that this is my update law, I found out this
is my rate derivative of Lyapunov function
36:24.250 --> 36:31.250
which is negative definite which is always
negative for the values r not equal to 0 when
36:34.450 --> 36:41.450
r is equal to 0; this is 0. Then further we
are showing that V dot is uniformly continuous
36:42.580 --> 36:49.580
considering this term. Thus according to Barbalat’s
Lemma if this is continuous, then this term
36:52.030 --> 36:59.030
will go to 0 as t tends to 0. So r would vanish
with time and what is r? If you look at here
37:04.210 --> 37:11.210
r we have defined r is this particular term
which is the filtered tracking error. So finally
37:16.970 --> 37:18.980
error will converge to 0.
37:18.980 --> 37:25.980
Now we will apply this particular application
to this adaptive control theory to an actual
37:30.110 --> 37:37.110
system in simulation and we take two-link
manipulator. The dynamics of a two-link manipulator
37:37.570 --> 37:44.360
has been taken as an example of multi-input
multi-output systems. For a two-link robotic
37:44.360 --> 37:51.360
manipulator the second and third link of a
PUMA 560 robot that we have taken. The dynamical
37:51.550 --> 37:57.570
equation which relate the joint torques tow
1 and tow 2 to the joint angles theta 1 theta
37:57.570 --> 38:04.570
2 of the links are given as where tow 1 is
a 1 plus a 2 cos theta 2 theta 1 double dot
38:06.270 --> 38:13.270
plus a3 plus a2 by 2 cos theta 2 so this is
the coefficient of theta 2 double dot plus
38:14.330 --> 38:21.330
a 4 cos theta 1 minus a 2 sine theta 2; this
whole term multiplication with this term.
38:25.710 --> 38:32.710
The joint torque 1 is related with the joint
velocities acceleration velocity which is
38:36.420 --> 38:42.830
the co-relate force theta 1 dot theta 2 dot
plus theta 2 dot whole square by 2 and the
38:42.830 --> 38:49.830
gravity term F i cos theta 1 plus theta 2.
Similarly, the joint torque in second joint
38:52.160 --> 38:59.160
which is a 3; this is the acceleration term
this is co-relation term and this is your
39:04.810 --> 39:05.790
gravity term.
39:05.790 --> 39:12.790
Where a1 is 3.82, a2 is 2.12, a3 is 0.71,
a4 is 81.82, a5 is 24.06. The two-link manipulator
39:17.869 --> 39:24.869
system can be re-written as theta 1 double
dot is something and theta 2 double dot is
39:33.590 --> 39:37.600
something. But you see that each equation
is written in terms of theta 1 double dot
39:37.600 --> 39:42.460
and theta 2 double dot. So I have to eliminate
and then I have to find out the expression
39:42.460 --> 39:46.920
for theta 1 double dot. Similarly, I have
to find the expression of theta 2 double dot
39:46.920 --> 39:53.310
using other terms. Doing that what you are
getting theta 1 double dot theta 2 double
39:53.310 --> 40:00.310
dot equal to 1 upon D m22 minus m12 minus
m21 m11 tow 1 minus v1 tow 2 minus v2 where,
40:06.920 --> 40:13.920
m11 is given by this expression, m12 is given
by this expression, m21 is m12 and m 22 is
40:15.050 --> 40:19.010
a3.
40:19.010 --> 40:26.010
Where v1 is given by this expression this
big expression which is a4 cos theta 1 minus
40:26.430 --> 40:33.350
a2 sine theta 2 theta 1 dot theta 2 dot plus
theta 2 dot whole square by 2 plus a5 cos
40:33.350 --> 40:39.730
theta 1 plus theta 2. Similarly, you can see
that d2 here another expression a2 sine theta
40:39.730 --> 40:46.730
2 theta 1 dot whole square upon 2 a phi cos
theta 1 plus theta 2 and D is m11 m22 minus
40:49.240 --> 40:56.240
m12 m21. This is m11 m22 minus m12 m21 so
m11 m22, diagonal element multiplication minus
41:00.810 --> 41:07.160
the other diagonal element. Considering the
state variable as x1 is theta 1 x2 is theta
41:07.160 --> 41:14.160
1 dot and x2 is theta 2 x 4 is theta 2 dot.
One can write x1 dot is x2 and x2 dot is 1
41:18.440 --> 41:25.440
upon D and then this quantity m22 t 1 tow
1 minus v1 minus m12 tow 2 minus v2 and similarly
41:30.460 --> 41:37.460
x3 dot is x4. Similarly x dot 4 is in this
particular format 1 upon D minus m21 tow 1
41:40.640 --> 41:47.020
minus v1 plus m11 tow 2 minus v2. You see
that we said in the beginning of the class
41:47.020 --> 41:54.020
that some of the system can be represented
in this particular form. You see that this
41:54.250 --> 42:01.250
v1 is function of the state vector x and similarly
v2 also is a function of state vector x this
42:06.859 --> 42:13.859
is also function of state vector. You see
that v2 is function of theta 1; theta 2 theta
42:16.930 --> 42:23.930
1 dot, v1 is theta 1 theta 1 dot theta 2 dot
and theta 2. All the states are there here
42:25.440 --> 42:31.820
one state is missing. But anyway in general
they can be a function of this entire state
42:31.820 --> 42:33.440
vector.
42:33.440 --> 42:40.440
This can be represented if we define z1 to
be x1 x3 and z2 is x2 and x4 then the system
42:42.810 --> 42:49.810
can be written in our general notation that
we talked which is z1 dot is z2 and z2 dot
42:49.830 --> 42:56.830
is f (z) plus g (z) tow and going back and
reformulating the problem we get f (z) is
42:57.170 --> 43:04.170
f1 f2 which is 1 upon D and this is my first
term minus m22 v1 plus m12 v2 and the second
43:06.210 --> 43:13.210
term is m21 v1 minus m11 v2 and g z is a 2
by 2 matrix g11, g12, g21and g22 and this
43:17.600 --> 43:24.600
is 1 upon D m22 minus, m12 minus m21 and m11.
43:29.830 --> 43:36.830
Output y is z1 and z1 is our first link position
and second link position. The reference output
43:40.869 --> 43:47.869
trajectories are taken as which is a z1 d
is x1 d and x3 d is pi, so this is a angular
43:57.590 --> 44:04.590
position of the joint 1 and angular position
of the joint 2. pi by 6 sine 2 t pi by 6 cos
44:06.600 --> 44:13.600
2 t the control input which is ug transpose
z g g transpose inverse minus W hat transpose
44:15.500 --> 44:22.500
phi z plus k v. This term and this the desired
trajectory z2 d dot so where r is our tracking
44:29.440 --> 44:36.440
error e double dot plus lambda 1 e dot and
e dot is z1 e dot minus z1 dot. This is our
44:43.170 --> 44:50.170
control law we have already said this control
law with the weight update law for W hat will
44:52.859 --> 44:59.859
stabilize. The weight update law is we have
already seen F phi r transpose. This weight
45:05.470 --> 45:12.470
update law would surely stabilize the system.
45:14.810 --> 45:21.810
We have selected kv is 30, 00, 30 which is
a 2 by 2 matrix and lambda is 20, 20, 00.
45:27.810 --> 45:34.810
W hat is updated using the following update
law, minus f phi r transpose, where f is taken
45:36.390 --> 45:43.010
as 20, 00, 20, the number of neurons for the
radial basis network function is taken as
45:43.010 --> 45:50.010
30, the centers of radial basis function networks
are chosen randomly between 0 and 1.
45:50.210 --> 45:57.210
Weights are initialized to very small values.
If we do that the simulation results would
45:59.500 --> 46:06.500
show the trajectory tracking force theta 1
is desired and absolutely no difference. Tracking
46:08.710 --> 46:15.500
is so perfect so we see that we have achieved
this tracking and the RMS tracking error is
46:15.500 --> 46:22.500
found to be 0 point 0004 assuming f (x) to
be unknown. Of course, in the initial period
46:25.760 --> 46:32.760
we are not showing instead when the trajectory
has settled, once the transients are gone
46:33.560 --> 46:40.560
in their steady state that tracking is perfect
because of very small value 0 point 0004.
46:40.800 --> 46:44.710
This is a desired perfect tracking.
46:44.710 --> 46:51.710
Similarly, here this is a trajectory tracking
for theta 2. Again this is link angle theta
46:56.430 --> 47:03.430
2 and according to time and steady state from
time 3 to 8, if we compute the RMS tracking
47:04.050 --> 47:11.050
error this is 0 point 0006 and very efficient
tracking. Correspondingly, the controlled
47:16.410 --> 47:23.410
torque tow 1 and tow 2 that were found out
to be like this that you can see again in
47:24.350 --> 47:31.350
steady state the controlled torque is very
smooth without any kind of fluctuations. This
47:34.800 --> 47:41.800
implies that the proposal algorithm is very
efficient. If we go back to the control law,
47:53.869 --> 48:00.869
we have this g, g transpose mac inverse; you
know that this is a matrix. In this case the
48:02.090 --> 48:08.400
g is two-dimensional matrix, so gg transpose
is again two-dimensional matrix. But in general,
48:08.400 --> 48:13.619
if I have n link matrix; if it is two-link
then it is two dimensional. If I have a six
48:13.619 --> 48:20.619
link matrix it is a 6 by 6 inverse matrix.
Inverse means computation is more; this point
48:24.160 --> 48:31.160
gg transpose can be computed using a recursive
relation. One can work out on this that instead
48:37.570 --> 48:44.570
of doing this inversion we can find a recursive
solution for it. That this easily be computed.
48:50.030 --> 48:57.030
Second thing is when we consider f (x) is
unknown and g (x) is known, if g (x) is also
49:10.720 --> 49:17.720
unknown or both are unknown this problem is
still not solved in the control literature.
49:21.320 --> 49:25.869
Non-linear function g is unknown the adaptive
control problem becomes difficult to solve.
49:25.869 --> 49:31.119
This is an open recursive problem.
49:31.119 --> 49:35.550
In the summary, the following topics have
been covered: adaptive control system for
49:35.550 --> 49:41.790
single-input and single-output systems is
revisited, mathematical model is provided
49:41.790 --> 49:48.790
for general classes of multi-input multi-output
system, where we could represent even practical
49:52.450 --> 49:59.450
systems like multi-link robotic manipulators.
They can also be represented in this particular
49:59.960 --> 50:06.960
format: z1 dot z2 z2 dot zu plus g (z) u,
and f (z) is unknown then this solution to
50:08.740 --> 50:15.740
this control problem is already provided but
we found that in this control law includes
50:22.900 --> 50:29.900
an inversion which must be replaced by a recursive
solution. Simulation results are provided
50:33.900 --> 50:40.340
for a two-link manipulator system where we
saw the tracking order is in the range of
50:40.340 --> 50:47.340
10 to the power minus 4, implying tracking
is very perfect. Direct adaptive control of
50:48.770 --> 50:54.760
multi-input multi-output system, when both
f (z) and g (z) are unknown is kept for the
50:54.760 --> 51:01.300
future work. This problem is still not solved.
51:01.300 --> 51:07.790
Those who are further interested to work on
this problem, I would like that you can follow
51:07.790 --> 51:14.790
these references in the Lewis and Jaganathan
and Woodwreck, neural network control of robot
51:15.300 --> 51:22.050
manipulators and non-linear systems. A book
published by Taylor and Francis in 1999. Spoonor
51:22.050 --> 51:29.050
and Passino they have a paper on Stable Adaptive
control and Fuzzy systems and Neural Networks,
51:31.310 --> 51:38.310
S He Konnald Reif and Rolf have published
A neural approach for the control of Non-linear
51:44.599 --> 51:51.060
systems with Feedback linearization, Choy
and Farnell have published Non-linear adaptive
51:51.060 --> 51:58.060
control using networks of linear approximates
volume 11. This is our paper; Indrani Kar
52:03.270 --> 52:10.270
and I have published Neural Network Direct
adaptive control for all non-linear systems.
52:24.160 --> 52:31.160
Thank you very much.
329