ApolloAuto / apollo

An open autonomous driving platform
Apache License 2.0
25.12k stars 9.71k forks source link

DP boundary conditions ? #1614

Closed wckorealsh closed 6 years ago

wckorealsh commented 6 years ago

Hello,

I have a question about EM planner. What I understood is that some boundary conditions are found by solving some optimization problem using Dynamic Programming. What exactly those boundary conditions? Are they speed limits and lane boundaries? Thank you!

lianglia-apollo commented 6 years ago

The concept of boundary conditions is used for quadratic programming (QP). The boundaries come from the road (such as road speed limits, lane boundaries), vehicle dynamics (e.g. curvature, acceleration of a trajectory), and other obstacles.

lianglia-apollo commented 6 years ago

One more thing. There is another kind of boundary --- regions in S(path)-T(time) graph that represent the mapping of obstacles in a S-T coordinate system (maybe this is the one you mentioned ?).

In a DP process, the distance between a point (s, t) and the obstacle S-T boundaries are calculated and a cost is assigned based on the distance.

wckorealsh commented 6 years ago

Thanks, I am trying to understand the process. Please take a look at attached screen shot

apollo

Can you please explain dotted line from DpStSpeedOptimizer and dotted lines in QpSplineStSpeedOptimizer? I am familiar with S-T graph.

Thank you again!

lianglia-apollo commented 6 years ago

DpStSpeedOptimizer: the dotted line is the optimization results from dynamic programming. QpSplineStSpeedOptimizer: the dotted lines are some reference lines calculated in task/qp_spline_st_speed/qp_spline_st_graph.cc (line 337 and line 391).

wckorealsh commented 6 years ago

Thank you and sorry for keep bugging you. Yes, the line of DpStSpeedOptimizer must be the optimization result of DP. Can you please provide its physical meaning? Thank you!

lianglia-apollo commented 6 years ago

The result is a list of (s,t) points, meaning at some time t, we would like the vehicle to travel a distance s (starting from the current position) on the generated path.