-
Notifications
You must be signed in to change notification settings - Fork 9.6k
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
How does QpSplineReferenceLineSmoother work? #1360
Comments
The reference line smoother is to provide a parameterized function that in each direction the integration of squared third order derivative (as a function of the parameterizing variable) is minimized. It is true that the smoothed line is wavy when the original one is straight --- but the smoothed one has smaller curvature at the turning point. |
To me, that looks unnatural. I wouldn't be turning left so much in advance, just to reduce the curvature at the turning point. Moreover, it would be strange to swing the car left-right on the straight line just in order to have a smaller curvature at the turning point. |
It is true that a trade-off exists when we decide whether to pay more attention to smaller curvature or less deviation from driving straight. The deviation can be adjusted based on constraints. Also, we are able to relax the endpoint lateral constraints to reduce the deviation. |
This link (https://www.kartworldbelmont.com.au/uncategorized/how-to-choose-the-best-driving-line/) might be helpful. The lines are for F-1 racing, and smoothness is the only target. Of course, we need to make trade-offs. |
The wavy behavior is really annoying. If the result is unacceptable, is there a better way to improve this? |
I've visualized what happens inside the
modules/planning/reference_line/qp_spline_reference_line_smoother_test.cc
:https://plot.ly/~ixanezis/169/
The result looks suspicious: the original reference line is at least straight where it should have been straight. The smoothed version is very wavy and goes too far away from the original reference line. How can a car be driving along such line?
(I've used the
QpSplineReferenceLineSmoother
with values frommodules/planning/conf/planning_config.pb.txt
)The text was updated successfully, but these errors were encountered: