Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs(trajectory_follower): update information regarding slope compensation #5536

Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 21 additions & 12 deletions control/pid_longitudinal_controller/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,18 +55,27 @@ For reliable stopping, the target acceleration calculated by the FeedForward sys

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

There are two sources of the slope information, which can be switched by a parameter.

- Pitch of the estimated ego-pose (default)
- Calculates the current slope from the pitch angle of the estimated ego-pose
- Pros: Easily available
- Cons: Cannot extract accurate slope information due to the influence of vehicle vibration.
- Z coordinate on the trajectory
- Calculates the road slope from the difference of z-coordinates between the front and rear wheel positions in the target trajectory
- Pros: More accurate than pitch information, if the z-coordinates of the route are properly maintained
- Pros: Can be used in combination with delay compensation (not yet implemented)
- Cons: z-coordinates of high-precision map is needed.
- Cons: Does not support free space planning (for now)
There are three ways of getting the slope information, which can be switched by a parameter.

1. Pitch of the estimated ego-pose (default)
- Calculates the current slope from the pitch angle of the estimated ego-pose
- Pros: Easily available
- Cons: Cannot extract accurate slope information due to the influence of vehicle vibration.
2. Z coordinate on the trajectory
- Calculates the road slope from the difference of z-coordinates between the front and rear wheel positions in the target trajectory
- Pros: More accurate than pitch information, if the z-coordinates of the route are properly maintained
- Pros: Can be used in combination with delay compensation (not yet implemented)
- Cons: z-coordinates of high-precision map is needed.
- Limitation: Does not support free space planning (for now)
3. Integrating velocity error (by using I-term in PID)
- Ego vehicle can still move uphill, albeit slowly.
- Pros: Allows slope compensation when localization fails or when vector map is not precise.
- Cons: Performs poorly when compared to the first and second method.
- Cons: As the integral error increases, ego might creep slowly during uphill and drops rapidly during the downhill.
- Limitation: This feature is not supported when ego is stopped.
- This limitation will be addressed in the future.
- However, even if it is supported, it doesn't work if ego is stopped due elements that is not under Autoware's scope. i.e.: when vehicle interface doesn't provide sufficient information to trigger the operation mode.
- For example, if user requires external key to start the vehicle, or when user have to press acceleration pedal to start the vehicle.

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

Expand Down