1
00:00:03,820 --> 00:00:08,470
In this video, we're going to look at the process model that we're going to use inside our extended

2
00:00:08,470 --> 00:00:09,920
home in Philadelphia, this example.

3
00:00:10,120 --> 00:00:14,020
So this is going to cover a 2D non-linear vehicle process model.

4
00:00:15,640 --> 00:00:22,090
So looking back at the work we did for the linear filter example, we used a linear 2D, constant velocity

5
00:00:22,090 --> 00:00:26,910
motion model and in this model we represented the vehicle as a point mass.

6
00:00:26,920 --> 00:00:34,870
It had a position PXP y to denote the position of the vehicle and it had a velocity in the X and Y directions.

7
00:00:35,350 --> 00:00:41,110
So the state vector for this process model was the position in the X position in the Y velocity, any

8
00:00:41,110 --> 00:00:49,090
X and velocity in the Y, the discrete linear model can be described by these equations here.

9
00:00:49,450 --> 00:00:52,210
So this first matrix here is a process model matrix.

10
00:00:52,390 --> 00:00:56,440
It takes the current state and predicts a forward one time step over here.

11
00:00:56,440 --> 00:00:58,170
We have the control input matrix.

12
00:00:58,180 --> 00:01:04,180
So this takes the control input, in this case, acceleration in the X and Y and calculates the effect

13
00:01:04,180 --> 00:01:07,300
on the state to calculate the next predicted state.

14
00:01:09,640 --> 00:01:14,740
And of course, this model has a few assumptions, it treats the motion as a point, so a point has

15
00:01:14,740 --> 00:01:18,190
no orientation and it can accelerate in any direction.

16
00:01:19,300 --> 00:01:24,790
Now, these assumptions might not be very applicable to vehicles as vehicles do not typically operate

17
00:01:24,790 --> 00:01:25,340
this way.

18
00:01:26,020 --> 00:01:29,320
For example, a car can usually only travel in the direction is facings.

19
00:01:29,320 --> 00:01:32,490
I can either go forward or reverse in a direction it travels.

20
00:01:32,770 --> 00:01:34,360
It rarely goes sideways.

21
00:01:36,290 --> 00:01:39,750
So to compensate for this, we are going to use a non-linear motion model.

22
00:01:39,760 --> 00:01:41,980
And this is why we need the to come and filter.

23
00:01:42,640 --> 00:01:47,770
So extend extended Campbellfield up process model that we're going to use is going to be a 2D constant

24
00:01:47,770 --> 00:01:48,900
Vosta immersion model.

25
00:01:49,330 --> 00:01:55,090
We're going to have the vehicle represented here is going to have a position PXP y, but is also going

26
00:01:55,090 --> 00:01:59,400
to have a heading and inside the setting is going to have a Vosta along the heading direction.

27
00:01:59,890 --> 00:02:04,450
So if we're going forward here, it's going to be moving this way with a positive Rosty, if we go in

28
00:02:04,750 --> 00:02:07,960
reverse, is going to be moving this way with a negative velocity.

29
00:02:08,920 --> 00:02:15,100
So we can describe the state vector of the system as the velocity, the heading position and the X and

30
00:02:15,100 --> 00:02:21,430
the position in Y and then the discrete, nonlinear process model which describes this can be represented

31
00:02:21,430 --> 00:02:22,650
in this form here.

32
00:02:22,660 --> 00:02:28,810
So we have a precise model, nonlinear function called F that takes in the previous state the current

33
00:02:28,810 --> 00:02:34,030
control and calculates the current state and it can be written in this form here.

34
00:02:34,900 --> 00:02:40,270
So first off, we can see that the velocity at the time set K is just going to be the previous velocity

35
00:02:40,270 --> 00:02:43,520
at the previous timestep plus our Delta times.

36
00:02:43,520 --> 00:02:46,720
The acceleration and the same thing can be said about the heading angle.

37
00:02:46,720 --> 00:02:53,440
The heading angle is just going to be a constant integration over details of the heading right now where

38
00:02:53,440 --> 00:02:54,780
the system becomes non-linear.

39
00:02:54,790 --> 00:02:56,100
Are these terms down here?

40
00:02:56,110 --> 00:02:57,680
So we have a sign and a cause.

41
00:02:58,030 --> 00:03:01,750
So this is what makes the function cannot be written as a linear system.

42
00:03:02,260 --> 00:03:05,410
We can see that the cause is going to be a cause of the heading angle.

43
00:03:05,650 --> 00:03:09,450
The heading angle is one of the states and also has a sign of heading angle.

44
00:03:10,060 --> 00:03:13,270
So this is where the nonlinear realities come into the system.

45
00:03:14,110 --> 00:03:18,730
Now we also have these two terms up here, the acceleration and the heading right now.

46
00:03:18,730 --> 00:03:20,440
These are going to be the model inputs.

47
00:03:20,710 --> 00:03:24,160
So this is what's going to come in in the control vector here.

48
00:03:25,570 --> 00:03:31,600
So now when we look at this nonlinear process model, we can see that it contains our orientation information.

49
00:03:31,950 --> 00:03:37,720
So this means that vehicle can travel forward and reverse at velocity, but it cannot travel sideways.

50
00:03:38,320 --> 00:03:41,400
Now, the vehicle can only move along the direction it is facing.

51
00:03:42,190 --> 00:03:46,010
Now, these assumptions are a lot more appropriate for modeling a vehicle.

52
00:03:46,330 --> 00:03:51,490
So now when we use the extend the common filter, we can use this nonlinear process model to better

53
00:03:51,490 --> 00:03:57,220
represent the dynamics of the system that we want to estimate, which hopefully will move to improve

54
00:03:57,220 --> 00:03:58,600
the performance of the filter.
