From 0cb40d328ce882620791904f4fb31d1d4469a3d8 Mon Sep 17 00:00:00 2001 From: Berkay Karaman Date: Fri, 22 Sep 2023 14:24:27 +0300 Subject: [PATCH] feat(pid_longitudinal_controller): update readme Signed-off-by: Berkay Karaman --- control/pid_longitudinal_controller/README.md | 23 +- .../LongitudinalControllerDiagram.drawio.svg | 638 ++++++++++-------- 2 files changed, 355 insertions(+), 306 deletions(-) diff --git a/control/pid_longitudinal_controller/README.md b/control/pid_longitudinal_controller/README.md index 418b3f7d27220..b2935614c2449 100644 --- a/control/pid_longitudinal_controller/README.md +++ b/control/pid_longitudinal_controller/README.md @@ -55,14 +55,16 @@ 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. +There are two sources of the slope information, both sources are used in controller with respect to state of the node. -- Pitch of the estimated ego-pose (default) +- Pitch of the estimated ego-pose - Calculates the current slope from the pitch angle of the estimated ego-pose + - It is used only for vehicle in stopped state because of delay compensation. - 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 + - It is used when the vehicle in drive state because we can get the target slope value from the 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. @@ -99,23 +101,6 @@ Depending on the actuating principle of the vehicle, the mechanism that physical 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. -### Slope compensation - -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) - ## Assumptions / Known limits 1. Smoothed target velocity and its acceleration shall be set in the trajectory diff --git a/control/pid_longitudinal_controller/media/LongitudinalControllerDiagram.drawio.svg b/control/pid_longitudinal_controller/media/LongitudinalControllerDiagram.drawio.svg index c9b0883534c86..8bedafef1bf85 100644 --- a/control/pid_longitudinal_controller/media/LongitudinalControllerDiagram.drawio.svg +++ b/control/pid_longitudinal_controller/media/LongitudinalControllerDiagram.drawio.svg @@ -1,38 +1,38 @@ - + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + +
-
+
Predicted
@@ -43,19 +43,21 @@
- Predict... + Predic... - - + + + + - +
-
+
Predicted
@@ -66,23 +68,23 @@
- Predict... + Predic... - - - - - - + + + + + + - +
-
+
Slope Force Conversion
@@ -91,397 +93,411 @@
- Slope Force Conversion... + Slope Force Conversion... - - - + - -
-
+ +
+
- Slope + Predicted Slope
Angle
- Slope... + Predicted Slope... - - - + + + - +
-
+
P
- P + P - - - + + + - +
-
+
I
- I + I - - - + + + - +
-
+
D
- D + D - - - + + + - +
-
+
- + - - - + + + - +
-
+
d/dt
- d/dt + d/dt - - - + + + - +
-
+
LPF
- LPF - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
+ LPF + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
- + + +
+ - -
-
-
+ +
+
+
+
- + + + + - -
-
-
+ +
+
+
+
- + + + + - +
-
-
+
+
+
- + + + + - +
-
-
+
+
+
- + + + + - +
-
-
+
+
+
- + + + + - +
-
-
+
+
-
- - + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - +
-
-
+
+
Slope Compensation Limit
- Slope Compensation Limit + Slope Compensation Limit + - +
-
-
+
+
FeedForward Acceleration Limit
- FeedForward Acceleration Limit + FeedForward Acceleration Limit - - + + + - +
-
-
+
+
FeedBack Control
- FeedBack Control + FeedBack Control + - -
-
-
+ +
+
+
+
- + + + + - -
-
-
+ +
+
+
-
- - + - + - -
-
-
+ +
+
+
Reference
Trajectory @@ -489,53 +505,58 @@
- Referen... + Refere... + + + - +
-
-
+
+
Delay Compensation
- Delay Compensation + Delay Compensation - - + + + - -
-
-
+ +
+
+
Ego Pose
- Ego Pose + Ego Po... - - + + + - +
-
-
+
+
Predicted
Ego Velocity @@ -543,56 +564,57 @@
- Predict... + Predic... - - - + + + - +
-
-
+
+
Prediction Model
- Prediction Model + Prediction Model - + - +
-
-
+
+
getReferencePoint
- getReferencePoint + getReferencePoint + - +
-
-
+
+
Predicted
Ego Pose @@ -600,108 +622,150 @@
- Predict... + Predic... + - +
-
-
+
+
Ego Velocity
- Ego Vel... + Ego Ve... + - +
-
-
+
+
FeedForward Control
- FeedForward Control + FeedForward Control + - +
-
-
+
+
Acceleration
- Acceler... + Accele... - + - +
-
-
+
+
Vehicle
- Vehicle + Vehicle - - - - - - - - + + + + + + + + + - +
-
-
+
+
Brake keeping Limit
- Brake keeping Limit + Brake keeping Limit + + + + + + + + +
+
+
+ + storeAccelCmd +
+
+
+
+
+
+ storeAccelCmd +
+
+ + + + +
+
+
+
Last Send Acc Commands
+
+
+
+
+ Last Send Acc Commands
- - Viewer does not support full SVG 1.1 + + Text is not SVG - cannot display