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
+17-24
Original file line number
Diff line number
Diff line change
@@ -55,18 +55,27 @@ 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 `slope_source` is "raw_pitch"
61
62
- Calculates the current slope from the pitch angle of the estimated ego-pose
62
63
- Pros: Easily available
63
64
- Cons: Cannot extract accurate slope information due to the influence of vehicle vibration.
65
+
- Cons: Can not be used in combination with delay compensation.
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 `slope_source` is "trajectory_pitch"
68
+
- Calculates the road slope from the difference of z-coordinates between the front and rear wheel positions in the target trajectory.
69
+
- Pros: More accurate than pitch information, if the z-coordinates of the route are properly maintained.
70
+
- Pros: Can be used in combination with delay compensation.
68
71
- Cons: z-coordinates of high-precision map is needed.
69
-
- Cons: Does not support free space planning (for now)
72
+
- Cons: Does not support free space planning (for now).
73
+
- Adaptive pitch information
74
+
- Only used when `slope_source` is "trajectory_adaptive"
75
+
- It switches the slope sources with respect to velocity of the ego vehicle
76
+
- The trajectory_pitch 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.
77
+
- Pros: Can be used in combination with delay compensation for high speeds
78
+
- Cons: There might be a loss of comfort when slope source is switched
70
79
71
80
**Notation:** This function works correctly only in a vehicle system that does not have acceleration feedback in the low-level control system.
72
81
@@ -108,23 +117,6 @@ Depending on the actuating principle of the vehicle, the mechanism that physical
108
117
109
118
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.
110
119
111
-
### Slope compensation
112
-
113
-
Based on the slope information, a compensation term is added to the target acceleration.
114
-
115
-
There are two sources of the slope information, which can be switched by a parameter.
116
-
117
-
- Pitch of the estimated ego-pose (default)
118
-
- Calculates the current slope from the pitch angle of the estimated ego-pose
119
-
- Pros: Easily available
120
-
- Cons: Cannot extract accurate slope information due to the influence of vehicle vibration.
121
-
- Z coordinate on the trajectory
122
-
- Calculates the road slope from the difference of z-coordinates between the front and rear wheel positions in the target trajectory
123
-
- Pros: More accurate than pitch information, if the z-coordinates of the route are properly maintained
124
-
- Pros: Can be used in combination with delay compensation (not yet implemented)
125
-
- Cons: z-coordinates of high-precision map is needed.
126
-
- Cons: Does not support free space planning (for now)
127
-
128
120
## Assumptions / Known limits
129
121
130
122
1. Smoothed target velocity and its acceleration shall be set in the trajectory
@@ -178,7 +170,8 @@ AutonomouStuff Lexus RX 450h for under 40 km/h driving.
178
170
| min_acc | double | min value of output acceleration [m/s^2]| -5.0 |
179
171
| max_jerk | double | max value of jerk of output acceleration [m/s^3]| 2.0 |
180
172
| min_jerk | double | min value of jerk of output acceleration [m/s^3]| -5.0 |
181
-
| 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 |
173
+
| slope_source | string | It defines the slope source for the vehicle. Available options: "raw_pitch", "trajectory_pitch" or "trajectory_adaptive" | "raw_pitch" |
174
+
| adaptive_trajectory_velocity_th | double | Threshold velocity value for state transition of slope sources. Only usable when `slope_source` is "trajectory_adaptive". [m/s]| 1.0 |
182
175
| lpf_pitch_gain | double | gain of low-pass filter for pitch estimation | 0.95 |
183
176
| max_pitch_rad | double | max value of estimated pitch [rad]| 0.1 |
184
177
| min_pitch_rad | double | min value of estimated pitch [rad]| -0.1 |
0 commit comments