Skip to content

Commit 15a8b27

Browse files
committed
feat(pid_longitudinal_controller): update readme
Signed-off-by: Berkay Karaman <brkay54@gmail.com>
1 parent 6d7d48c commit 15a8b27

File tree

2 files changed

+364
-312
lines changed

2 files changed

+364
-312
lines changed

control/pid_longitudinal_controller/README.md

+13-25
Original file line numberDiff line numberDiff line change
@@ -55,18 +55,22 @@ For reliable stopping, the target acceleration calculated by the FeedForward sys
5555

5656
Based on the slope information, a compensation term is added to the target acceleration.
5757

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.
5959

60-
- Pitch of the estimated ego-pose (default)
60+
- Pitch of the estimated ego-pose
61+
- Only used when `enable_adaptive_trajectory` is false.
6162
- 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.
6264
- Pros: Easily available
6365
- Cons: Cannot extract accurate slope information due to the influence of vehicle vibration.
6466
- 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.
6872
- 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).
7074

7175
**Notation:** This function works correctly only in a vehicle system that does not have acceleration feedback in the low-level control system.
7276

@@ -103,23 +107,6 @@ Depending on the actuating principle of the vehicle, the mechanism that physical
103107

104108
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.
105109

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-
123110
## Assumptions / Known limits
124111

125112
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`
161148
AutonomouStuff Lexus RX 450h for under 40 km/h driving.
162149

163150
| Name | Type | Description | Default value |
164-
| :------------------------------------------ | :----- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------ |
151+
|:--------------------------------------------| :----- |:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------------|
165152
| delay_compensation_time | double | delay for longitudinal control [s] | 0.17 |
166153
| enable_smooth_stop | bool | flag to enable transition to STOPPING | true |
167154
| 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.
173160
| min_acc | double | min value of output acceleration [m/s^2] | -5.0 |
174161
| max_jerk | double | max value of jerk of output acceleration [m/s^3] | 2.0 |
175162
| 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 |
177165
| lpf_pitch_gain | double | gain of low-pass filter for pitch estimation | 0.95 |
178166
| max_pitch_rad | double | max value of estimated pitch [rad] | 0.1 |
179167
| min_pitch_rad | double | min value of estimated pitch [rad] | -0.1 |

0 commit comments

Comments
 (0)