1
00:00:04,000 --> 00:00:09,430
We have already covered that no sensor is perfect and that they can return different types of errors.

2
00:00:09,940 --> 00:00:14,280
Now, sensors themselves can also return erroneous data or faulty data.

3
00:00:14,590 --> 00:00:16,710
And this can be for a number of reasons.

4
00:00:16,720 --> 00:00:21,850
It could be a mechanical issues like the sensor could have come loose or could be a hardware issue.

5
00:00:21,850 --> 00:00:25,770
The sensor was broken or it could just be the characteristics of the sensor.

6
00:00:26,050 --> 00:00:28,420
It could be such like in GPS.

7
00:00:28,420 --> 00:00:33,940
If we lose satellite signals, the GPS data is not going to be reliable, is no longer going to give

8
00:00:33,940 --> 00:00:35,620
us a valid position measurements.

9
00:00:36,160 --> 00:00:39,940
So there's many different reasons why the sensor itself might give us faulty data.

10
00:00:41,660 --> 00:00:43,960
So sensors and measurements are not perfect.

11
00:00:44,000 --> 00:00:48,200
We already assume that the measurements that they provide are corrupted with noise.

12
00:00:48,950 --> 00:00:54,800
They can also be cases when the measurements are completely erroneous and outside the noise profile

13
00:00:54,800 --> 00:00:56,570
due to hardware or sensing faults.

14
00:00:56,570 --> 00:01:03,890
As we've discovered, fusing wrong information into the common filter can cause a common field to diverge

15
00:01:03,890 --> 00:01:05,210
and degrade the performance.

16
00:01:05,480 --> 00:01:11,060
And a single wrong measurement could be enough to make the filter unusable for the rest of the time

17
00:01:11,060 --> 00:01:11,600
it's running.

18
00:01:12,050 --> 00:01:17,110
So this is very important that we don't use any wrong information into the common filter.

19
00:01:17,600 --> 00:01:21,220
We want to stop the faulty measurement from being used in the first place.

20
00:01:21,230 --> 00:01:26,150
And this is pretty much the only way to deal with this type of faulty data.

21
00:01:26,900 --> 00:01:30,610
And this process is commonly called Foch detection and isolation.

22
00:01:30,890 --> 00:01:35,930
So we wanted to detect when a sensor is faulty, that the data is faulty and we want to isolate it from

23
00:01:35,930 --> 00:01:40,700
the rest of the system before it allows this incorrect measurement to corrupt the system.

24
00:01:42,210 --> 00:01:47,790
So there are a number of different typical sets of thoughts that you see inside the sensor, the first

25
00:01:47,790 --> 00:01:50,820
one we're going to look at is when we get erroneous spikes.

26
00:01:50,860 --> 00:01:55,790
So pretty much as time goes on, we might get these large jumps in data.

27
00:01:56,160 --> 00:02:02,430
So you get these spikes every now and again and they're totally out of line with what the sensors should

28
00:02:02,430 --> 00:02:02,930
be reading.

29
00:02:02,940 --> 00:02:09,060
So you can sort of clearly identify these are erroneous measurements, another type of sense of what

30
00:02:09,060 --> 00:02:10,580
is called a lock in place for.

31
00:02:11,040 --> 00:02:17,010
So we might have the ideal sensor producing a measurement like this, but at some time it locks in place

32
00:02:17,010 --> 00:02:22,410
and it produces a constant output afterwards, even though the measurement should be producing this

33
00:02:22,410 --> 00:02:23,440
kind of line up here.

34
00:02:24,090 --> 00:02:27,680
So this could be so this is more typically of hardware fault.

35
00:02:27,710 --> 00:02:33,420
So if something breaks inside the system, say a linkage breaks to something or something comes loose,

36
00:02:33,420 --> 00:02:35,880
the sensor is going to get disconnected from what it's sensing.

37
00:02:36,450 --> 00:02:38,070
It can stay locked in place.

38
00:02:39,820 --> 00:02:42,320
Another typical sense of what is called a hard over.

39
00:02:42,640 --> 00:02:48,250
So basically we have initially the sense is following the truth quite well until we get to a certain

40
00:02:48,760 --> 00:02:52,480
point and then the center basically becomes saturated.

41
00:02:52,510 --> 00:02:55,730
So it goes all the way up to the max or it could go all the way down to the minimum.

42
00:02:56,140 --> 00:03:02,380
And again, this is typically usually another how if something might have come loose, causing the sense

43
00:03:02,380 --> 00:03:03,840
I just to diverge.

44
00:03:04,780 --> 00:03:07,780
So in a similar point of view, we might have a dead center.

45
00:03:07,810 --> 00:03:13,090
So this is basically as a sensor is running something like in a loose wire or something, something

46
00:03:13,090 --> 00:03:17,150
just disconnects and then we just get a zero output for the rest of the run.

47
00:03:18,460 --> 00:03:23,530
And then lastly, another typically fault that you get when a sensor disconnects is called a floating

48
00:03:23,530 --> 00:03:23,940
error.

49
00:03:23,950 --> 00:03:29,950
So the sensor is tracking well, and normally up until this point and off this point, suddenly the

50
00:03:29,950 --> 00:03:33,490
output becomes random and basically starts to float around.

51
00:03:33,490 --> 00:03:36,400
So something could have come loose or something could be flapping in the wind.

52
00:03:37,240 --> 00:03:41,450
It could be a loose connection on the wire and it's just jumping around all over the place.

53
00:03:42,250 --> 00:03:49,060
So these most of these errors here can be caused by hardware issues or mechanical issues, or it could

54
00:03:49,060 --> 00:03:50,710
be loose connections or something like that.

55
00:03:51,640 --> 00:03:56,410
So with the spike faults, what we want to do is make sure we don't fuse these erroneous spikes inside

56
00:03:56,410 --> 00:03:59,210
it for the rest of these forces.

57
00:03:59,230 --> 00:04:04,470
Basically, once we've detected that the fault has occurred, we can't trust the sensor anymore.

58
00:04:04,480 --> 00:04:09,220
So once that happens, we can't use any of the measurements from the sensor after the time that the

59
00:04:09,220 --> 00:04:10,210
fault has occurred.

60
00:04:10,780 --> 00:04:15,940
So we want to isolate it and or for the rest of the time, whereas with the spikes, we can probably

61
00:04:15,940 --> 00:04:20,920
just ignore that single measurement or number of measurements that are no longer consistent with what

62
00:04:20,920 --> 00:04:22,900
we expected the sensor to be outputting.

63
00:04:25,350 --> 00:04:31,380
The main way to detect Sensa faults is from the measurements themselves, it is to look at the measurement

64
00:04:31,380 --> 00:04:36,830
innovation from the carbon filter or some statistical probability based on the innovation.

65
00:04:37,140 --> 00:04:42,210
And this is to say if the sensor is performing as specified or as expected.

66
00:04:44,280 --> 00:04:50,280
If the sensor is detected as 40 or the current measurement is bad, then we want to ignore the data

67
00:04:50,280 --> 00:04:54,050
rather than just fusing it into the common filter and corrupt the estimates.

68
00:04:54,810 --> 00:05:01,200
So the main way to do this is called innovation checking so we know the probabilistic properties that

69
00:05:01,200 --> 00:05:02,480
the innovation should follow.

70
00:05:02,490 --> 00:05:04,030
And we've covered this in common filter.

71
00:05:04,680 --> 00:05:10,110
We want the innovation should be zero mean, so we want to drive the innovation desire to drive the

72
00:05:10,110 --> 00:05:11,520
estimated errett is are.

73
00:05:12,450 --> 00:05:17,550
We also know the innovation covariance and this is estimated in the first part of the coming forward

74
00:05:17,550 --> 00:05:18,300
update step.

75
00:05:18,480 --> 00:05:20,130
So this is The Matrix.

76
00:05:22,050 --> 00:05:27,720
So the innovation here should be a random variable from a Gaussian distribution with zero, a mean and

77
00:05:27,720 --> 00:05:28,690
covariance s.

78
00:05:29,610 --> 00:05:36,210
So using this probabilistic model of the innovation, we can come up with some innovation checking criteria.

79
00:05:36,840 --> 00:05:42,270
We can use what we know about probability to test new measurements before we use them into the filter.

80
00:05:43,470 --> 00:05:47,300
So if we have a look at the one, the innovation, normal distribution.

81
00:05:47,310 --> 00:05:54,600
So basically we're looking at this normal distribution here of main zero covariance and this is the

82
00:05:54,600 --> 00:05:55,660
innovation here.

83
00:05:56,190 --> 00:06:01,650
So we know that the innovation should have zero mean and it has a Gaussian or normal curve that looks

84
00:06:01,650 --> 00:06:09,120
like this with covariance s and we know from Gaussian or normal probability distribution that anything

85
00:06:09,120 --> 00:06:16,500
within plus or minus one standard deviation from the main encapsulates point six, eight or 68 percent

86
00:06:16,740 --> 00:06:20,710
of probability that the value of the random variable should fall into this range.

87
00:06:21,330 --> 00:06:28,200
And then similarly for two sigma, we know that it should encompass this 95 percent and three sigma

88
00:06:28,200 --> 00:06:30,390
should compas 99 percent.

89
00:06:31,470 --> 00:06:37,530
So if we get an innovation value all the way over here, there's probably less than a one percent probability

90
00:06:37,530 --> 00:06:38,960
that the measurement is valid.

91
00:06:39,660 --> 00:06:45,600
So we can use this criteria to test whether the measurement is valid by looking at the innovation value.

92
00:06:45,960 --> 00:06:51,450
If the innovation value is larger than expected, then we know that is a faulty measurement and this

93
00:06:51,450 --> 00:06:55,560
can be simply tested by a simple comparison operator.

94
00:06:55,920 --> 00:07:02,040
So if the value or size of the innovation is greater than two times the square root of S in this case

95
00:07:02,050 --> 00:07:07,650
here we know that there is less than a five percent chance that the measurement would be valid based

96
00:07:07,650 --> 00:07:10,420
on the two sigma standard deviation.

97
00:07:10,950 --> 00:07:17,080
So basically we can set a threshold and ignore these long values from the innovation.

98
00:07:17,520 --> 00:07:22,860
So basically anything larger in this case than our Three Sigma means is less than a one percent chance

99
00:07:22,980 --> 00:07:25,950
is a valid probability for a valid measurement.

100
00:07:26,850 --> 00:07:29,510
So this works quite nicely in the one dimensional case.

101
00:07:29,820 --> 00:07:34,280
However, what can we do for when we have a multidimensional Gaussians?

102
00:07:34,730 --> 00:07:39,630
So instead of having a single value for the innovation, when we actually have the innovation vector

103
00:07:39,630 --> 00:07:45,840
like we've been dealing with, and to do this, we use something called the normalized innovation squared

104
00:07:45,890 --> 00:07:53,400
or is so for the multidimensional case we can use to normalize innovation squared the normalized innovation

105
00:07:53,400 --> 00:07:56,810
squared, it should follow a unit Gaussian distribution.

106
00:07:57,570 --> 00:08:04,260
We can test for this property using the CHA Square test, also known as the person's CHA squared test.

107
00:08:05,610 --> 00:08:12,660
So now let's let the innovation vector mue be in dimension of innovation vector and let s be the innovation

108
00:08:12,660 --> 00:08:18,400
covariance matrix in normalize innovation squared can be calculated using this equation here.

109
00:08:18,840 --> 00:08:25,530
So basically we calculate the innovation squared and we normalize it by the uncertainty inside the system

110
00:08:25,740 --> 00:08:27,230
to calculate the NSA.

111
00:08:27,230 --> 00:08:34,980
So this this time over here, we can test to see if the innovation belongs to the unit Gaussian distribution

112
00:08:34,980 --> 00:08:38,880
for a specific probability level using the GI Square test.

113
00:08:39,660 --> 00:08:41,650
And this test can be written like so.

114
00:08:42,300 --> 00:08:44,820
So here we have the innovation value here.

115
00:08:44,820 --> 00:08:51,780
There is now for this to be a valid measurement from the ideal distribution it has to meet this criteria

116
00:08:51,780 --> 00:08:52,200
here.

117
00:08:52,780 --> 00:08:57,930
So we have to say the price is less than this value here or this threshold here.

118
00:08:58,320 --> 00:09:04,920
Now, this is the tri squared distribution, so you can see the chai squared Alem here is our degrees

119
00:09:04,920 --> 00:09:05,480
of freedom.

120
00:09:05,490 --> 00:09:07,950
So this is going to be the measurement vector size.

121
00:09:08,490 --> 00:09:13,830
So we have a single measurement is going to be and is going to be equal one if we have like a two dimensional

122
00:09:13,830 --> 00:09:15,680
measurement and is going to be equal to.

123
00:09:15,690 --> 00:09:16,500
And likewise.

124
00:09:17,070 --> 00:09:19,740
And then this value here is the P value.

125
00:09:21,170 --> 00:09:27,950
The pay value here is going to be how certain we want to be of this test, so we normally typically

126
00:09:27,950 --> 00:09:30,890
say I pay value of anything smaller than point zero.

127
00:09:30,890 --> 00:09:32,150
Five is significant.

128
00:09:32,780 --> 00:09:39,390
So what we're saying with this pay value here is that if we do one minus this pay value, in this case

129
00:09:39,410 --> 00:09:46,640
it be 95 percent, we will have a 95 percent confidence that this measurement belongs to this distribution.

130
00:09:46,840 --> 00:09:53,120
If these properties if it's less than this value here, i.e. the measurement is faulty, if the value

131
00:09:53,120 --> 00:09:56,780
is larger than the value of the tri squared distribution.

132
00:09:58,750 --> 00:10:03,610
So the choice squared distribution value can be looked up in tables to find the value of which you want

133
00:10:03,610 --> 00:10:08,480
to set the threshold to, so I listed a few values in this table here.

134
00:10:08,500 --> 00:10:14,520
So this is for the pay level of point zero five and the number of measurement dimensions.

135
00:10:14,530 --> 00:10:20,950
So for a two minute two dimensional measurement vector, so such as if we had the x y position, we

136
00:10:20,950 --> 00:10:24,510
can set a square, a threshold of paying five point nine nine.

137
00:10:24,880 --> 00:10:27,400
This can also be read off over this table in here.

138
00:10:27,410 --> 00:10:31,180
So for a thirty two degree, I'm afraid.

139
00:10:31,360 --> 00:10:38,830
So this blue line here, we can look for a pay level or point zero five, which is all the way down

140
00:10:38,830 --> 00:10:39,430
towards here.

141
00:10:40,030 --> 00:10:47,620
So if the Naess is larger than this value here, then we know that with this historical significance

142
00:10:48,010 --> 00:10:50,110
that the measurement is out of range.

143
00:10:50,140 --> 00:10:55,430
The measurement or innovativeness does not belong to the distribution as expected.

144
00:10:56,020 --> 00:10:58,390
And in this case, we should ignore the measurement.
