You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
improve LQT steering and speed control document (#1047)
* improve LQT steering and speed control
* improve LQT steering and speed control
* improve LQT steering and speed control doc
* improve LQT steering and speed control doc
* improve LQT steering and speed control doc
* improve LQT steering and speed control doc
The LQR (Linear Quadratic Regulator) speed and steering control model implemented in `lqr_speed_steer_control.py` provides a simulation
16
+
for an autonomous vehicle to track:
17
+
18
+
1. A desired speed by adjusting acceleration based on feedback from the current state and the desired speed.
19
+
20
+
2. A desired trajectory by adjusting steering angle based on feedback from the current state and the desired trajectory.
21
+
22
+
by only using one LQT controller.
23
+
24
+
Vehicle motion Model
25
+
~~~~~~~~~~~~~~~~~~~~~
26
+
27
+
The below figure shows the geometric model of the vehicle used in this simulation:
28
+
29
+
.. image:: lqr_steering_control_model.jpg
30
+
:width:600px
31
+
32
+
The `e`, :math:`{\theta}`, and :math:`\upsilon` represent the lateral error, orientation error, and velocity error, respectively, with respect to the desired trajectory and speed.
33
+
And :math:`\dot{e}` and :math:`\dot{\theta}` represent the rates of change of these errors.
34
+
35
+
The :math:`e_t` and :math:`\theta_t`, and :math:`\upsilon` are the updated values of `e`, :math:`\theta`, :math:`\upsilon` and at time `t`, respectively, and can be calculated using the following kinematic equations:
@@ -23,10 +25,10 @@ The below figure shows the geometric model of the vehicle used in this simulatio
23
25
.. image:: lqr_steering_control_model.jpg
24
26
:width:600px
25
27
26
-
The `e` and `theta` represent the lateral error and orientation error, respectively, with respect to the desired trajectory.
28
+
The `e` and :math:`\theta` represent the lateral error and orientation error, respectively, with respect to the desired trajectory.
27
29
And :math:`\dot{e}` and :math:`\dot{\theta}` represent the rates of change of these errors.
28
30
29
-
The :math:`e_t` and :math:`theta_t` are the updated values of `e` and `theta` at time `t`, respectively, and can be calculated using the following kinematic equations:
31
+
The :math:`e_t` and :math:`\theta_t` are the updated values of `e` and :math:`\theta` at time `t`, respectively, and can be calculated using the following kinematic equations:
30
32
31
33
.. math:: e_t = e_{t-1} + \dot{e}_{t-1} dt
32
34
@@ -38,9 +40,9 @@ The change rate of the `e` can be calculated as:
38
40
39
41
.. math:: \dot{e}_t = V \sin(\theta_{t-1})
40
42
41
-
Where `V` is the vehicle speed.
43
+
Where `V` is the current vehicle speed.
42
44
43
-
If the :math:`theta` is small,
45
+
If the :math:`\theta` is small,
44
46
45
47
.. math:: \theta \approx 0
46
48
@@ -72,14 +74,17 @@ So, the change rate of the :math:`\theta` can be approximated as:
72
74
73
75
The above equations can be used to update the state of the vehicle at each time step.
74
76
77
+
Control Model
78
+
~~~~~~~~~~~~~~
79
+
75
80
To formulate the state-space representation of the vehicle dynamics as a linear model,
76
81
the state vector `x` and control input vector `u` are defined as follows:
0 commit comments