 Hello everyone. Welcome to yet another session of our NPTEL on nonlinear and adaptive control. I am Srikanth Sakumar from Systems and Control IIT Bombay. So we are almost at the end of the week number seven of this NPTEL course and we are well underway into designing algorithms that can drive autonomous systems such as the satellite orbiting the earth that we see in our background. So what we were looking at last time was a new sort of topic on design of adaptive controller in the case of unknown control games. So the design procedure was more or less similar. The only difference being that there was a gain attached to the controller which was not the case in all the adaptive designs we saw earlier. And we of course had the usual tracking objective that we take and then we made some pretty reasonable assumptions on this boundedness of the function f and b being nonzero which is essentially translates to controllability of the system. With the error dynamics in place in the form of equation 1.3 here we started to do our design by actually applying some nice little tricks so that we redefined the parameters of the system into theta 1 star and theta 2 star starting from a and b. And we of course designed the known controller. From this we actually moved to the unknown controller simply using the certificate equivalence principle of replacing the unknowns with their estimates. And we started with our Lyapunov analysis with this new control design. Now we started with a standard Lyapunov function which involves taking the known case Lyapunov function and adding quadratic terms corresponding to the unknown parameter. But we quickly realized that this leads us to the non-implementability issue where the unknown parameter itself starts to appear in the update law which is absolutely not allowed because that is essentially what we are trying to compensate for. So we tried a different Lyapunov function which is of course well known in literature and we simply added an absolute value of b in the Lyapunov function and what we saw was instead of the parameter itself appearing in the update law the sign of the parameter appears in the update law which leads us to an additional requirement for adaptive control for unknown control gain systems and this requirement is that we need information of the sign of b. So this is sort of a critical requirement which we cannot do without when we are looking at unknown control gain problems. So as I mentioned if there is a solution that one of you can find which does not require us to use the signal or the sign of b then you would have done something exceptional. And well as of now it seems impossible is what I would say is how I would put it. Now we of course can we get a negative semi-definite v dot and we can complete the proof using standard signal chasing in Bob Lutz lemma corollary type arguments. Of course remember that in order to complete the signal chasing arguments we need boundedness of various quantities and this is where the boundedness of f required. So the boundedness of f will be required in order to complete the signal chasing arguments. So this is where it gets applied although we stated the assumption and we solved the whole problem without seeming to require it but that's not true. When you try to do the signal chasing argument with complete diligence specifically when you try to prove that e dot is in fact a bounded you will need the boundedness of this function. So it's not like we made a frivolous assumption we will need to use this assumption in order to complete this proof. So I do recommend that you complete this proof. I do recommend strongly that you complete this proof so that you can understand sort of what kind of assumptions go into the completing the proof. So now that we have completed this discussion on the unknown control gain and we've already done the problem of unknowns in the drift vector field and unknowns that are connected to the states we are ready to look at this generic model reference adaptive control problem for linear systems. So this is where we will begin today. So I will mark it as lecture 7.6. Alright and mark it as lecture 7.6. So what is model reference adaptive control? This is a paradigm if you may in adaptive control and rather important and occupies a very large place in adaptive control literature. So the idea is I started the linear system which is x dot is ax plus bu so I hope all of you have seen linear system models such as these and of course now we are dealing with vectors we are no longer looking at simplifying not necessarily simplifying but you know scalar systems and double integrators and things we are looking at a linear system first of all we are not looking at non-linearity there is no fxt but we are looking at a vector state x in Rn control is in Rm so the dimension of the control is possibly smaller than the dimension of the state and of course you have this x dot is the x plus bu so not necessarily a double integrator or anything like that okay great so here instead of x trying to follow some R so that's the typical thing right x following R or x goes to R as time goes to infinity is what we have been looking at until now so instead of that what we say is x has to follow xm and xm is generated as an output of a reference model alright xm is coming out of a differential equation or as an output of a reference model so physically you can think of there being a reference model in which there is an input signal and there is an output and your system output is sort of tracking this alright so if I if you want to think of it as a block diagram let me see how this will be so usually you have a reference here so this will be let me make this bigger first so usually I will have a reference here alright and then I will have some kind of a control block here okay then I'll have a plant block here alright then I'll have something like an output I suppose right and this output of course feeds back well actually not this output but typically you will have this going here yeah and of course because it's an adaptive controller there will be an adaptation block right which will also take this input yeah and possibly also this input the output from this goes here okay so and here something more complex happens you have an input system and there is an R right so this is basically the reference plant right so this is something like a reference plant I will probably write it here governed by ampm so this is the reference right this is the xm at the plus minus here right and then you have something like a control here u right and then you have the plant here which is given by ab is the plant itself you have the adaptive block which is a hat b hat if I may it's crude it's a crude form but this is how it will look alright so this is like a how this adaptive control block will look because the plant matrices ab are also not known so I'll create an adaptive law for that that will also feed into the control then there's a reference system which takes in a reference R and outputs what the system needs to check which is this xm alright and then all of it comes together to give you the control and the control and of course feeds into this kind okay so that's how this model reference adaptive control log diagram will look like yeah so that's the big difference here and of course as usual we assume that this reference input is bounded and smooth and all that stuff okay we also assume there are several assumptions maybe I should mark them so bounded and smooth am is assumed to be Hurwitz so basically for the reference system it has to be a stable reference system so the matrix am is a Hurwitz matrix am and bm are assumed to be known and the same dimensions as a and b okay so and of course ab are unknown constant matrices so a and b are assumed to be unknown so these are the quantities that are not known and the linear system is essentially unknown and you're trying to figure out what this linear system is or at least you're trying to compensate for the fact that you do not know this linear system okay so you literally do not know this linear system but of course there are a few other assumptions I mean we will come to the assumptions yeah so but the but these are the assumptions on the reference system yeah so anything that you want to track is a nice bounded smooth signal so this is just standard assumption again to ensure that the reference signal that or the xm that you're trying to match comes out to be a nice enough signal okay and then of course we assume that am is a Hurwitz matrix which ensures again stability of the whole system so there's a bounded input Hurwitz matrix so output will also be bounded okay this is standard and well known resulting linear systems that if you have a stable system which is perturbed by some bounded input then the output is also going to be bounded alright so that's what we get alright great so now what we want to do is drive x to xm and we do not know matrices a and b okay now the question is well actually the first question that we ask is what kind of assumptions are required so we've already put in several assumptions on the reference but we also need assumptions on am or the original system for that matter yeah and so what are these assumptions these assumptions are of course called the matching conditions in model reference adaptive control you're already used to matching conditions that is when you want x1 to track r you want x2 to track r dot in a double integrator system right so this is also a matching condition so we have such similar matching conditions here the first is that the pair ab has to be controllable this is not exactly a matching condition but we are clubbing it loosely under matching conditions yeah because of the pair ab is not controllable there is no scope of designing controllers for the system okay so this is more like a necessary condition for us to be able to do any control problem or solve any control problem okay so the first is ab has to be controllable pair this implies that if I am given any matrix p in n by n or n by n matrix p there must be this is the matrix k says that a minus b k equals p okay so what does it mean so a minus b k is coming how so this is when u is chosen to be minus kx right which means that so controllability as you would already know I hope if you don't and really really urge you to go back and revise what is controllability for a linear state space system right so what it means is that if ab is a controllable pair then given any matrix p says that I want the system to look like x dot equals px then I can choose I should be able to find a k in k such that u equals minus kx does the job so if I put u equals minus kx this becomes a minus b k x right and so I have my desired system okay and now notice that what we try to match are not the matrices themselves okay so notice very carefully that this assumption does not guarantee that the matrices a minus b k and p match no they just ensure that the eigenvalues of the two matrices match okay so this is called standard pole placement if you may I mean this is I would say called pole placement or in time domain it's called eigenvalue assignment okay this is called pole placement or eigenvalue assignment what it means is we are not really going to be able to match two matrices yeah but what way so the not every entry of the matrix might match but what matches is the eigenvalues of the matrices okay so this is called pole placement or eigenvalue assignment so this is possible whenever a and b are a controllable pair if you do not know what is controllable pair please go and revise right great that's the first condition great so now the next assumption actually makes this sort of more stringent it says that there exists a k star again an n by n matrix let's see yeah there exists a k star and n by n matrix such that a minus b k star is exactly equal to am okay so now we have made it stringent so this is where it is different from point because point a 1 because we are not just saying that the eigenvalues are matching no we are actually saying that the two matrices match okay now there is much to be said about the assumptions that we are making they are restrictive in several scenarios and one might ask why should it makes it's pretty reasonable to say that a b is a controllable pair because without that control is not possible and therefore that eigenvalues of these two match very reasonable because we already said am is Hurwitz I can do any pole placement if a b is a controllable pair therefore matching the eigenvalues of these is obvious right so matching of eigenvalues of both both is obvious from assumption a 1 right it's obvious from assumption a 1 okay but we are talking about something more so now why a lot of times we are okay with this assumption a 2 is we somehow say that we have flexibility in choosing am a lot of times okay because we are we are not you know always specifying am very stringent yeah the user or the designer sorry the user may not specify am that strictly because in most cases we are interested in pole placement only and not this am matrix itself so it's very possible that you will be able to choose am such that the eigenvalues are consistent with what the user wants but it also ensures this kind of a matching happens okay so sort of a justification for this assumption okay we are not saying that this is you know without any flaws or anything these assumptions have a lot of flaws but again these are the only conditions under which solutions exist okay so what is the justification it's that flexibility in choosing am exists in real problems okay more often than not there is flexibility in choosing the same okay and that is why such a condition may be digested alright may be digested is what I would say yeah otherwise it's not okay alright so let's look at the next one right the next assumption a3 requires the existence of an L star such that vL star is equal to dm alright now again remember that because I do not know a I cannot have a knowledge of K star I hope that's evident okay so what we are doing by this trick is actually again redesign or reformulating our parameters we are going to move from parameter a to parameter K star okay so that's the idea so we don't know a or b in fact so we don't know a star actually okay so let's sort of I hope that's evident right great great so now this next assumption is something again similar along same length it says vL star has to be equal to bm so that should exist a L star such that vL star equals bm okay so again the justification is similar and it is that there is a flexibility in choosing bm alright there is some flexibility in choosing bm so yes these assumptions are to be taken with a pinch of salt yes I agree that these assumptions are very restrictive but these are the sort of justifications under which we operate yeah in fact without this again solving model reference adaptive control problems is impossible okay not normal yeah without these assumptions so this is sort of what are the restrictive or the restrictions of the solution that we can provide okay so another part of assumption 3 is also that L star has to be symmetric and sign definite okay so the part of the assumption is like L star has to be symmetric and sign definite so the way to think about this on top of talking about flexibility in choosing bm is that somehow we are saying that bm is the has similar definiteness properties as b alright so if I multiply b by for example a positive definite matrix L star on the right hand side and I get a bm which has no specific properties or anything because bm is not required to have any specific properties then if you think about it then this is almost might be identical to you know doing some kind of a nice group operation on b itself okay so so there is if I just think of a very simple or the simplest situation okay let's think of a simplest situation where let's see simplest situation okay let's think of L star as some epsilon identity okay some epsilon scaled with identity very simple situation so what is bm going to be it is going to be epsilon b okay it's going to be epsilon b okay so this is the sort of again the argument which gives us some hope that this kind of inequality can also be justified right so if L star is very close to the identity matrix bm is almost similar to b itself but again remember bm and am are known why b and am are unknown okay and also remember that in typical adaptive control we do not claim anything about being able to identify the parameters exactly or uniquely yeah we only claim to be able to compensate it and guarantee bracket okay so we have created we have made these assumptions right which are suitable for us to do this model reference adaptive control design and we'll go on to do a design and of course we will prove some kind of a tracking of x with xm so x goes to xm is what we prove as but of course we will not be able to claim that k goes to k star or L goes to L star because our new parameters become this k star and L star right so these become our new parameters right and we will sort of compensate for the effects of this of not knowing this k star and L star okay so that is essentially what will happen and of course we assume that L star is symmetric and sign definite also so it's more assumption on this L star so several assumptions and on top of this just like the scalar case in assumption 4 right we also claim that we know signal L star okay remember in the scalar case we require the sign of b to be known so L star here actually serves like sign I mean serves to quantify the same thing so we require the signal of L star and what is signal of L star because L star is a matrix so what is the signal of a matrix let's define here it's defined as plus 1 if the matrix is positive definite and it is defined as negative 1 if the matrix is negative definite alright so these are the sort of assumptions we have I mean I just wanted to start off this session with trying to understand the assumptions yeah first we have the controllability assumption then we have the assumption on A and AM matching via this condition then we have a B and Bm matching via this condition not just that the matching matrix has to be symmetric and sign definite and further we also require to know the sign of this matching matrix alright so that's it so what we saw today is essentially a sort of setup of the model reference adaptive control problem which is one of the most popular and famous and occupies a large space in adaptive control literature a lot of adaptive control literature has developed around model reference adaptive control and we just saw the setup we just saw the assumptions today in this session and what we plan to do in subsequent sessions is to analyze and design adaptive controllers for this system we also understand we take everything with a pinch of salt we understand that these assumptions may not always hold but we also understand that adaptive control is not going to actually identify the parameters in several situations but simply try to compensate for these unknowns so in spite of the fact that these assumptions may not always be validated in several circumstances they these kind of model reference adaptive controllers work very well in fact they have been flight tested on you know fighter jets so they have been functioning rather well for several decades now and they actually give good real performance one of the few nonlinear controllers which have actually been implemented in the industry great so this is where we stop today and we'll continue again subsequent session. Thank you.