1
00:00:00,150 --> 00:00:00,540
OK.

2
00:00:00,840 --> 00:00:06,840
Before switching to Adaptive Controller, let's remind ourselves, why did we learn the robust control

3
00:00:07,440 --> 00:00:10,230
they have seen model based control techniques before?

4
00:00:10,470 --> 00:00:18,630
But the problem was that the robot model that we have came up with was not very correct and this was

5
00:00:19,260 --> 00:00:25,830
deteriorating the effectiveness or performance of model based control techniques we have seen before.

6
00:00:26,370 --> 00:00:32,700
Other than that, we didn't consider many other effects during modeling such such as friction.

7
00:00:33,090 --> 00:00:38,760
All these and other external disturbances were creating a problem in the control of the robot.

8
00:00:39,330 --> 00:00:44,820
In order to solve these issues or more technical, it reject these disturbances.

9
00:00:45,090 --> 00:00:47,160
We have to come up with a robot.

10
00:00:47,160 --> 00:00:53,490
We have come up with robust control, which was using high direct control, more like switching action

11
00:00:53,730 --> 00:00:55,080
to reject disturbances.

12
00:00:55,530 --> 00:01:01,320
But this switching like action, especially due to chattering, is not good for the robot manipulator

13
00:01:01,320 --> 00:01:08,610
structure, and it also create noise if you want to avoid these problems by using smoother control technique.

14
00:01:08,910 --> 00:01:12,940
And here it is, they can achieve this using adaptive control.

15
00:01:12,960 --> 00:01:21,360
So let's see it as we have saved for robust control, we have some problems with model based techniques

16
00:01:21,570 --> 00:01:27,300
that we have seen before, namely the large uncertainty on the robot dynamic model.

17
00:01:27,480 --> 00:01:35,190
So robot dynamic parameters, because essential part of the robot dynamics are dynamic parameters that

18
00:01:35,190 --> 00:01:38,070
we either don't know or they are known poorly.

19
00:01:38,550 --> 00:01:43,500
These uncertain dynamic parameters cause uncertain dynamic or efficiency.

20
00:01:43,920 --> 00:01:51,210
Then we have poor knowledge about inertial payload to the body that we are, namely the body we are

21
00:01:51,420 --> 00:01:58,380
hunting using a robot manipulator, as we have seen before, when the gripper grabs some object, it

22
00:01:58,390 --> 00:02:01,650
becomes part of the last link and objects.

23
00:02:01,650 --> 00:02:11,430
Inertial parameters combines with robots, robots, inertial parameters and cause the cause the change

24
00:02:11,430 --> 00:02:16,180
in dynamic coefficient as we don't know what is the payload.

25
00:02:16,200 --> 00:02:18,300
This cause uncertainty in the model.

26
00:02:18,690 --> 00:02:25,890
So again, the well-known question how to solve these issues without writing a robot like a horse in

27
00:02:25,890 --> 00:02:27,300
case of robots control.

28
00:02:27,750 --> 00:02:33,390
So named the boat so named by adapting to the changes instead of resisting them.

29
00:02:33,840 --> 00:02:39,990
So the key steps are firstly, estimate the value of unknown parameters online.

30
00:02:40,470 --> 00:02:48,150
We know how we can do that and then adapt the control parameters to these estimations.

31
00:02:48,390 --> 00:02:55,320
So namely, be aware of the disturbances and adapt the robot's parameters to these disturbances to achieve

32
00:02:55,320 --> 00:03:00,540
its aim, namely trajectory, trajectory and checking.

33
00:03:00,990 --> 00:03:03,810
Like we humans do in difficult situations.

34
00:03:07,380 --> 00:03:15,120
There are two kinds of adaptive control, namely direct adaptive control and indirect adaptive control.

35
00:03:15,570 --> 00:03:17,400
Indirect adaptive control.

36
00:03:17,460 --> 00:03:25,170
We make trajectory tracking errors go to zero asymptotically by adopting, by adapting to the changes

37
00:03:25,170 --> 00:03:26,760
in the dynamic coefficients.

38
00:03:27,150 --> 00:03:33,960
However, it's not needed for us to get correct values for the dynamic estimations of the dynamic coefficients.

39
00:03:34,410 --> 00:03:42,240
So while tracking errors, while tracking errors will converge to zero dynamic coefficients, estimation

40
00:03:42,240 --> 00:03:45,600
error will not convert to zero, but they will be bound.

41
00:03:45,600 --> 00:03:53,100
That the exact opposite is true for in the adaptive controller, where we not only make trajectory tracking

42
00:03:53,100 --> 00:03:59,610
error go to zero asymptotically, but also dynamic coefficients to convert their true values.

43
00:04:00,810 --> 00:04:06,690
This is more difficult to achieve, and the thrust is that we don't need correct values of dynamic coefficients

44
00:04:06,690 --> 00:04:16,200
if we can achieve the same control without estimating them correctly, so we will use a direct adaptive

45
00:04:16,200 --> 00:04:16,800
control.

46
00:04:18,000 --> 00:04:21,480
So let's see the dynamic parameters that cause problem.

47
00:04:22,230 --> 00:04:24,780
We can categorize this dynamic parameters.

48
00:04:25,200 --> 00:04:34,650
Namely, we have the ones that we are know that we know, namely the parameters which namely, excuse

49
00:04:34,650 --> 00:04:39,000
me, the H parameters, which are for parameters for each link.

50
00:04:39,300 --> 00:04:49,860
So namely for M for the whole robot and then link lengths, which are in total and uncertain, but constant

51
00:04:49,860 --> 00:04:55,820
parameters that can be identified off-line, namely dynamic coefficients.

52
00:04:55,830 --> 00:04:59,490
And if you remember, there are p times the.

53
00:04:59,980 --> 00:05:05,560
Each weigh less than 10 and total parameters and slowly varying parameters.

54
00:05:05,800 --> 00:05:13,600
These are fiction elements as fiction parameters as the robot works, its lubrication changes which

55
00:05:13,600 --> 00:05:21,010
effect friction, surely, and the parameters that are changing abruptly and we don't have any knowledge

56
00:05:21,010 --> 00:05:21,700
about them.

57
00:05:22,060 --> 00:05:27,130
These are the objects that we are handling and we don't know their parameters.

58
00:05:27,610 --> 00:05:33,340
So after detecting the problems and the cause of these problems, we have to determine what's our goal.

59
00:05:33,700 --> 00:05:40,630
Our goal with adaptive control is to execute the given trajectory by achieving asymptotic convergence

60
00:05:40,630 --> 00:05:42,010
in tracking errors.

61
00:05:42,400 --> 00:05:49,420
So both position and velocity errors have to go to the zero asymptotically and we have to provide global

62
00:05:49,420 --> 00:05:50,200
stability.

63
00:05:50,230 --> 00:05:53,290
It means we have to achieve our goal.

64
00:05:53,530 --> 00:06:00,340
What whatever the amount of deviation of dynamic parameters from their true values and whatever is the

65
00:06:00,340 --> 00:06:02,260
initial trajectory errors.

66
00:06:02,590 --> 00:06:07,660
So we are not bounded with small amount of deviations and initial tracking errors.

67
00:06:07,900 --> 00:06:14,470
In this case, it would be logical that stability, but we want global stability.

68
00:06:14,920 --> 00:06:22,420
And finally, we do need convergence to the correct parameter values, as we have said before.

69
00:06:23,470 --> 00:06:29,680
The key concept to achieve this adaptation is utilizing linear parameterization of the robot dynamics,

70
00:06:29,690 --> 00:06:31,540
and we have seen this before.

71
00:06:31,870 --> 00:06:39,640
As you remember, we can ride this robot dynamics equation of robot manipulator in this way where Vivo's

72
00:06:39,640 --> 00:06:43,420
regression matrix and alpha was that dynamic or efficient.

73
00:06:43,840 --> 00:06:49,660
However, as we have said before, we have partial knowledge about dynamic parameters, so coefficients.

74
00:06:49,990 --> 00:06:52,930
So we can write dynamic equations in this way.

75
00:06:52,930 --> 00:07:01,660
Instead, the terms of it had to represent estimations of the terms, namely method is estimation of

76
00:07:01,660 --> 00:07:03,430
term M and so on.

77
00:07:04,000 --> 00:07:08,290
So overhead is estimation of dynamic parameters of alpha.

78
00:07:09,160 --> 00:07:15,940
We need to find appropriate update rules for dynamic parameters, estimation of alpha in order to make

79
00:07:15,940 --> 00:07:17,710
the controller we have seen.

80
00:07:18,670 --> 00:07:24,640
In order to make the controller, we have seen Adaptive, which controllers we have seen before, and

81
00:07:24,640 --> 00:07:32,140
we have seen control feet for birth control and feedback minimization in the Universe Dynamics Control.

82
00:07:32,500 --> 00:07:39,310
We can get good model based controllers by combination of these like inverse dynamics, feedforward

83
00:07:39,310 --> 00:07:45,460
controller, PD control action and nonlinear control that's based on feedback to negotiation.

84
00:07:45,730 --> 00:07:51,550
Let's analyze these two control methods and discuss whether we can make them adaptive.

85
00:07:52,060 --> 00:07:57,400
Let's start with inverse dynamics forward feedforward plus PD control.

86
00:07:58,030 --> 00:08:01,290
You can see the two parts call it differently.

87
00:08:01,780 --> 00:08:08,140
The good thing about this controller is that as the feedforward term contains only desired values,

88
00:08:08,410 --> 00:08:13,750
it can be calculated off-line, which increases sure the speed of the control algorithm.

89
00:08:14,200 --> 00:08:19,930
However, as you can see in the control algorithm, we have used the exact term values.

90
00:08:20,440 --> 00:08:26,680
In this case, we can get asymptotic stability in terms of tracking errors, but we do not know exact

91
00:08:26,680 --> 00:08:28,090
values of these terms.

92
00:08:28,390 --> 00:08:35,530
So the right control algorithm, with terms indicated by hand saw not exactly obvious, but their estimations.

93
00:08:35,980 --> 00:08:42,850
Now we have a problem when we use estimation of the terms, we cannot get decoupling and initialization

94
00:08:42,850 --> 00:08:45,940
we have achieved before with inverse dynamics.

95
00:08:46,420 --> 00:08:52,450
Please review inverse dynamics if you can not remember the linear regression process and also the copy

96
00:08:53,230 --> 00:08:55,970
before with its exact values of terms.

97
00:08:55,990 --> 00:09:03,050
We were able to get M.C terms as common terms outside and get rid of and G terms.

98
00:09:03,790 --> 00:09:10,840
But with estimated values, we cannot do the same because terms with heart are not the same with the

99
00:09:10,840 --> 00:09:15,160
ones we thought had as we can look to these cancellations.

100
00:09:15,160 --> 00:09:22,210
We cannot achieve decoupling and initialization, and we have these aerodynamics, which is stable as

101
00:09:22,210 --> 00:09:29,980
kidI and CPP gains are positive definite, but they convert not zero, but ETA, which is nonlinear

102
00:09:29,980 --> 00:09:32,860
function of unknown, uncertain parameters.

103
00:09:34,630 --> 00:09:36,250
Let's analyze the second one.

104
00:09:37,060 --> 00:09:44,050
Indeed, as you can see, this control algorithm contains feedback minimization not feedforward as previous

105
00:09:44,050 --> 00:09:45,360
case with PD.

106
00:09:45,940 --> 00:09:53,500
Again, we have to write it with estimated terms instead of exact loans, and the same thing happens

107
00:09:53,500 --> 00:09:54,310
in error.

108
00:09:55,810 --> 00:09:59,320
It doesn't convert to zero, even if it's stable.

109
00:09:59,950 --> 00:10:06,460
This is normal that aerodynamics don't convert to the zero because of uncertainties, and we knew that

110
00:10:06,460 --> 00:10:07,090
beforehand.

111
00:10:07,750 --> 00:10:14,260
Love, you have to make these two algorithms adaptive by finding appropriate dynamic parameter updates

112
00:10:14,260 --> 00:10:14,680
rule.

113
00:10:15,400 --> 00:10:22,510
If you find this rule, then dynamic model can adapt to these changes, and aerodynamics can converge

114
00:10:22,510 --> 00:10:24,580
to zero asymptotically.

115
00:10:25,420 --> 00:10:33,070
The issue with these algorithms is that the process of making these control algorithms adaptive is not

116
00:10:33,070 --> 00:10:35,560
trivial because of below reasons.

117
00:10:36,040 --> 00:10:41,670
During a transient estimation of inertia, matter is can be non positive or single.

118
00:10:42,040 --> 00:10:49,150
It can happen because we define an updated rule, and we don't put some constraints to this update.

119
00:10:49,480 --> 00:10:53,260
It will try to adapt the changes by whatever way it can.

120
00:10:53,800 --> 00:11:02,950
This will cause problems during inverse dynamics because inverse dynamics, as you can remember, so

121
00:11:03,310 --> 00:11:09,970
inverse dynamics control, I mean, because inverse dynamics control, as you remember, we have to

122
00:11:09,970 --> 00:11:11,920
find inverse of inertia matrix.

123
00:11:12,070 --> 00:11:19,200
If inertial metrics become similar, then this will create a problem during inversion, then instability.

124
00:11:19,200 --> 00:11:26,660
It can be the problem because as inertia matrix becomes non positive, it will cause non positive PD

125
00:11:26,680 --> 00:11:30,460
gains, which will surely cause instability in aerodynamics.

126
00:11:30,850 --> 00:11:38,720
You can see this from the second control algorithms, namely M Times CP and M Times Cadee.

127
00:11:38,740 --> 00:11:44,740
Terms will be new PD games, which can be negative so cause instability.

128
00:11:46,660 --> 00:11:54,970
Finally, a complex analysis is needed to determine bound on PD gains in the first control algorithm.

129
00:11:55,630 --> 00:12:01,840
So because of these reasons, we will try to choose another control method which doesn't contain these

130
00:12:01,840 --> 00:12:05,140
issues and make the process of adaptation easier.

131
00:12:05,710 --> 00:12:13,030
Then we will find correct then, if I correct update for the dynamic coefficient.

132
00:12:13,870 --> 00:12:18,400
But let's stop here and continue on further in the second part.
