1
00:00:00,090 --> 00:00:03,920
OK, from this point, we are going to start with advanced controls.

2
00:00:04,410 --> 00:00:09,960
We will start first with the robust controller tower and let me give you an insight why we need advanced

3
00:00:09,960 --> 00:00:13,290
controller before dark jumping to the robust controller.

4
00:00:13,950 --> 00:00:16,590
Here's a dynamic equation of the robot manipulator.

5
00:00:17,040 --> 00:00:19,340
We can write this equation like that.

6
00:00:19,350 --> 00:00:24,000
Also, we are and includes the terms like friction, gravity and Coriolis.

7
00:00:24,630 --> 00:00:28,990
We'll write it in this way in order to simplify the calculations we will do.

8
00:00:29,490 --> 00:00:35,520
As you remember, in previous controllers, we have always use this dynamic model of the robot manipulator

9
00:00:35,760 --> 00:00:39,120
and use these terms during development of the controllers.

10
00:00:39,690 --> 00:00:41,270
And we got the results we want.

11
00:00:41,280 --> 00:00:48,090
Indeed, with control of robot manipulator, our main goal is to achieve asymptotic stability in terms

12
00:00:48,090 --> 00:00:49,710
of trajectory tracking errors.

13
00:00:50,250 --> 00:00:55,590
And we achieved this result with previous control techniques like inverse dynamics control.

14
00:00:56,790 --> 00:01:03,690
However, while this equation of robot dynamics is correct, in ideal case, it is not valid during

15
00:01:03,690 --> 00:01:06,450
practical cases or in implementation.

16
00:01:06,960 --> 00:01:09,240
So what is the problem with that equation?

17
00:01:09,900 --> 00:01:16,020
Firstly, by writing Dynamic Equation as a book, we assume that we know all the dynamic parameters

18
00:01:16,230 --> 00:01:17,850
which makes dynamic terms.

19
00:01:18,540 --> 00:01:19,530
Is that correct?

20
00:01:19,740 --> 00:01:20,460
Surely not.

21
00:01:20,760 --> 00:01:24,150
We don't know all the dynamic parameters of robot manipulator.

22
00:01:24,450 --> 00:01:27,540
Even the ones we know contain some uncertainties.

23
00:01:27,810 --> 00:01:33,960
Additionally, robot dynamic parameters change as the robot handles some objects, so we cannot say

24
00:01:33,960 --> 00:01:36,180
that we know robot dynamic terms.

25
00:01:36,180 --> 00:01:36,900
Exactly.

26
00:01:37,380 --> 00:01:42,750
Additionally, in previous control techniques, we didn't consider the simplifications we made in order

27
00:01:42,750 --> 00:01:44,520
to achieve the above dynamic model.

28
00:01:44,910 --> 00:01:48,570
We simplified many effects in the robot manipulator like friction.

29
00:01:48,960 --> 00:01:52,690
Also, there are other external disturbances that we cannot model.

30
00:01:52,980 --> 00:01:59,700
All of these affect the robot manipulator dynamics and in previous control methods, we didn't take

31
00:01:59,910 --> 00:02:01,050
them into account.

32
00:02:01,470 --> 00:02:07,080
So all the assumptions we previously made are not practical and doesn't work or work poorly for the

33
00:02:07,080 --> 00:02:07,680
real life.

34
00:02:08,070 --> 00:02:13,920
If we take into account the uncertainties in the robot dynamic model, then we can ride the dynamic

35
00:02:13,920 --> 00:02:14,340
model.

36
00:02:14,340 --> 00:02:21,360
In this way, we are terms with hat indicates that they are just estimates, so that means that it is

37
00:02:21,360 --> 00:02:24,480
just an estimate of the term M and so on.

38
00:02:24,840 --> 00:02:31,140
So in reality, we have all estimations of dynamic terms that are constituted by dynamic parameters,

39
00:02:31,620 --> 00:02:35,040
namely, as we don't know exactly dynamic parameters.

40
00:02:35,040 --> 00:02:40,170
We don't know exactly also dynamic terms of the dynamic model of robot arm.

41
00:02:40,920 --> 00:02:46,320
So we also have disturbances due to simplifications in the dynamic model, as we have said before,

42
00:02:46,890 --> 00:02:53,520
and we can also have external disturbances that are not because of the are modeled or simplified dynamics,

43
00:02:53,730 --> 00:02:56,010
but because of the environmental effects.

44
00:02:56,730 --> 00:02:59,850
So here you may ask OK, OK, enough.

45
00:03:00,150 --> 00:03:04,560
I understood the problems we have, but how they cause problems.

46
00:03:05,070 --> 00:03:08,790
So let's analyze the problems we have with previous control methods.

47
00:03:09,030 --> 00:03:17,640
If we take into consideration the nonlinear tis not ideologies, as we have said before, the purpose

48
00:03:17,640 --> 00:03:23,550
of the robot manipulator is to achieve asymptotic convergence in terms of trajectory tracking errors.

49
00:03:23,910 --> 00:03:29,220
So we won't cutelaba tilde and QTL the team, the position and velocity errors to go to zero.

50
00:03:29,610 --> 00:03:34,050
OK, let's consider inverse dynamics control technique we have seen before.

51
00:03:34,410 --> 00:03:40,140
Indeed, it is effective control method, so we will try to make it robust during the series of robust

52
00:03:40,140 --> 00:03:40,680
control.

53
00:03:41,040 --> 00:03:46,770
But now we want to analyze what will happen with this control technique if we consider them online realities.

54
00:03:47,160 --> 00:03:51,630
As you remember, in inverse dynamics, we have taken input control as this.

55
00:03:52,140 --> 00:03:55,710
If you don't remember, please go and repeat inverse dynamics control.

56
00:03:56,100 --> 00:04:01,860
Perfect as you can see, dynamic terms that make input control are considered as ideal.

57
00:04:02,340 --> 00:04:08,100
With this control input, we have achieved exactly initialization and decoupling of nonlinear dynamics,

58
00:04:08,370 --> 00:04:14,670
which led us lets us to use linear control, such as speed control on the linear system.

59
00:04:15,030 --> 00:04:19,260
So we were able to get asymptotic convergence in aerodynamics.

60
00:04:19,620 --> 00:04:26,460
But now let's take estimations into account, which we have mentioned before, which we have mentioned

61
00:04:26,460 --> 00:04:30,150
before, and changed the dynamic terms with the ones we had.

62
00:04:30,450 --> 00:04:35,460
So this is not ideal case control input because of estimated dynamic terms.

63
00:04:35,760 --> 00:04:42,520
Now it's interesting for us what will be the aerodynamics with this control input and to achieve it.

64
00:04:42,540 --> 00:04:48,690
We have to plug Eq. 1.0 into the standard robot dynamics equation, as we have seen before.

65
00:04:49,350 --> 00:04:51,060
OK, let's do this now.

66
00:04:51,070 --> 00:04:54,930
We will do some manipulations with this equation to get aerodynamics.

67
00:04:55,200 --> 00:04:59,730
First, we will add m y and then subtract it again from.

68
00:04:59,770 --> 00:05:01,420
The right hand side of the equation.

69
00:05:01,840 --> 00:05:07,420
So after some very simple manipulations, we can get this equality from here.

70
00:05:07,420 --> 00:05:09,850
We can find cure double talk very easily.

71
00:05:09,880 --> 00:05:17,620
Let's call this term as Tita and write equation in this way, which is much simpler from this term.

72
00:05:17,620 --> 00:05:22,120
You can easily notice the beginning of the problem before you double.

73
00:05:22,120 --> 00:05:23,990
That was, it was equal to Y.

74
00:05:24,010 --> 00:05:25,900
However, in this case, it is not.

75
00:05:26,290 --> 00:05:32,230
We have it a term which constitutes nonlinear terms because we know only estimations of the dynamic

76
00:05:32,230 --> 00:05:32,590
terms.

77
00:05:33,040 --> 00:05:36,340
So we couldn't achieve exact initialization and decoupling.

78
00:05:36,670 --> 00:05:40,450
This means that our new system is still nonlinear and coupled.

79
00:05:40,880 --> 00:05:47,800
OK, let's ignore that and continue by choosing white as linear control and acceleration feedback as

80
00:05:47,800 --> 00:05:51,430
we have done before, in ideal case, inverse dynamics.

81
00:05:51,580 --> 00:05:55,960
Let's plug why into the above equation and obtain this aerodynamics.

82
00:05:55,960 --> 00:06:00,580
As you remember, KP and Key D gains are positive definite mattresses.

83
00:06:01,030 --> 00:06:06,070
So as you can see, aerodynamics is stable, but wait a minute.

84
00:06:06,430 --> 00:06:11,800
While it is stable, it doesn't convert to zero, but ETA, which is not equal to zero.

85
00:06:12,220 --> 00:06:18,430
If you replace estimation with exact terms in ETA term, you will see that ETA will becomes zero.

86
00:06:18,730 --> 00:06:24,550
Unfortunately, we know only estimations of dynamic terms, so we cannot convert to zero.

87
00:06:24,940 --> 00:06:31,870
This means that a simple linear controller like PD is not enough for us any longer because the system

88
00:06:31,870 --> 00:06:33,850
equation is nonlinear and coupled.

89
00:06:34,240 --> 00:06:37,390
So what we have to do, what is the solution?

90
00:06:38,620 --> 00:06:41,140
Here comes the robust control into the help.

91
00:06:41,440 --> 00:06:43,330
What we will do is simple.

92
00:06:43,540 --> 00:06:48,580
I mean, simple to lead to at least, but a bit harder to implement.

93
00:06:48,970 --> 00:06:55,210
We will keep control with feedback the initialization because effective control technique with respect

94
00:06:55,210 --> 00:07:01,990
to others we have seen before, but instead we will add it robustness by designing ultra look for the

95
00:07:01,990 --> 00:07:09,430
control technique so you can see general structure of the robot general structure of the controller

96
00:07:09,430 --> 00:07:10,240
in this picture.

97
00:07:10,570 --> 00:07:17,620
We will have inverse dynamics control to do not exact, but some degree of animation of nonlinear terms,

98
00:07:17,830 --> 00:07:21,340
and we will use PD control for stabilizing purposes.

99
00:07:21,730 --> 00:07:27,640
We have seen that while PD control provides stabilization, it doesn't provide asymptotic stabilization,

100
00:07:27,640 --> 00:07:29,260
namely convergence to zero.

101
00:07:29,650 --> 00:07:31,960
So we add robust control part.

102
00:07:32,620 --> 00:07:38,710
Surely there will be input to the robustness part also, but I didn't draw them here for simplification

103
00:07:38,710 --> 00:07:39,310
purposes.

104
00:07:39,670 --> 00:07:45,340
This robust control part will ensure that it will reject the disturbances, either due to the external

105
00:07:45,340 --> 00:07:49,410
reasons or estimation errors in nonlinear dynamics.
