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
Copy file name to clipboardexpand all lines: control/pid_longitudinal_controller/README.md
+13-25
Original file line number
Diff line number
Diff line change
@@ -55,18 +55,22 @@ For reliable stopping, the target acceleration calculated by the FeedForward sys
55
55
56
56
Based on the slope information, a compensation term is added to the target acceleration.
57
57
58
-
There are two sources of the slope information, which can be switched by a parameter.
58
+
There are two sources of the slope information, both sources are used in controller with respect to state of the node.
59
59
60
-
- Pitch of the estimated ego-pose (default)
60
+
- Pitch of the estimated ego-pose
61
+
- Only used when `enable_adaptive_trajectory` is false.
61
62
- Calculates the current slope from the pitch angle of the estimated ego-pose
63
+
- It is used only for vehicle in stopped state because of delay compensation.
62
64
- Pros: Easily available
63
65
- Cons: Cannot extract accurate slope information due to the influence of vehicle vibration.
64
66
- Z coordinate on the trajectory
65
-
- Calculates the road slope from the difference of z-coordinates between the front and rear wheel positions in the target trajectory
66
-
- Pros: More accurate than pitch information, if the z-coordinates of the route are properly maintained
67
-
- Pros: Can be used in combination with delay compensation (not yet implemented)
67
+
- Only used when `enable_adaptive_trajectory` is true.
68
+
- Calculates the road slope from the difference of z-coordinates between the front and rear wheel positions in the target trajectory.
69
+
- It is used when the vehicle's velocity is higher than `adaptive_trajectory_velocity_th` otherwise pitch of the estimated ego-pose is used for slope value.
70
+
- Pros: More accurate than pitch information, if the z-coordinates of the route are properly maintained.
71
+
- Pros: Can be used in combination with delay compensation.
68
72
- Cons: z-coordinates of high-precision map is needed.
69
-
- Cons: Does not support free space planning (for now)
73
+
- Cons: Does not support free space planning (for now).
70
74
71
75
**Notation:** This function works correctly only in a vehicle system that does not have acceleration feedback in the low-level control system.
72
76
@@ -103,23 +107,6 @@ Depending on the actuating principle of the vehicle, the mechanism that physical
103
107
104
108
In this controller, the predicted ego-velocity and the target velocity after the delay time are calculated and used for the feedback to address the time delay problem.
105
109
106
-
### Slope compensation
107
-
108
-
Based on the slope information, a compensation term is added to the target acceleration.
109
-
110
-
There are two sources of the slope information, which can be switched by a parameter.
111
-
112
-
- Pitch of the estimated ego-pose (default)
113
-
- Calculates the current slope from the pitch angle of the estimated ego-pose
114
-
- Pros: Easily available
115
-
- Cons: Cannot extract accurate slope information due to the influence of vehicle vibration.
116
-
- Z coordinate on the trajectory
117
-
- Calculates the road slope from the difference of z-coordinates between the front and rear wheel positions in the target trajectory
118
-
- Pros: More accurate than pitch information, if the z-coordinates of the route are properly maintained
119
-
- Pros: Can be used in combination with delay compensation (not yet implemented)
120
-
- Cons: z-coordinates of high-precision map is needed.
121
-
- Cons: Does not support free space planning (for now)
122
-
123
110
## Assumptions / Known limits
124
111
125
112
1. Smoothed target velocity and its acceleration shall be set in the trajectory
@@ -161,7 +148,7 @@ The default parameters defined in `param/lateral_controller_defaults.param.yaml`
161
148
AutonomouStuff Lexus RX 450h for under 40 km/h driving.
| delay_compensation_time | double | delay for longitudinal control [s]| 0.17 |
166
153
| enable_smooth_stop | bool | flag to enable transition to STOPPING | true |
167
154
| enable_overshoot_emergency | bool | flag to enable transition to EMERGENCY when the ego is over the stop line with a certain distance. See `emergency_state_overshoot_stop_dist`. | true |
@@ -173,7 +160,8 @@ AutonomouStuff Lexus RX 450h for under 40 km/h driving.
173
160
| min_acc | double | min value of output acceleration [m/s^2]| -5.0 |
174
161
| max_jerk | double | max value of jerk of output acceleration [m/s^3]| 2.0 |
175
162
| min_jerk | double | min value of jerk of output acceleration [m/s^3]| -5.0 |
176
-
| use_trajectory_for_pitch_calculation | bool | If true, the slope is estimated from trajectory z-level. Otherwise the pitch angle of the ego pose is used. | false |
163
+
| enable_adaptive_trajectory | bool | If true, the slope is estimated from trajectory z-level when velocity is higher than `adaptive_trajectory_velocity_th`. Otherwise the pitch angle of the ego pose is used. | true |
164
+
| adaptive_trajectory_velocity_th | double | value for state transition of slope sources. Only usable when `enable_adaptive_trajectory` is true. [m/s]| 1.0 |
177
165
| lpf_pitch_gain | double | gain of low-pass filter for pitch estimation | 0.95 |
178
166
| max_pitch_rad | double | max value of estimated pitch [rad]| 0.1 |
179
167
| min_pitch_rad | double | min value of estimated pitch [rad]| -0.1 |
0 commit comments