Apollo: What's the average computation time to solve a qp_spline_referenceline_smoother

Created on 28 Aug 2018  ·  9Comments  ·  Source: ApolloAuto/apollo

Hi,

To smooth a reference line, normally how many knots you have and what's the average computation time with qpOASES?

Thanks a lot

Planning Question

Most helpful comment

  1. The number of knots depends on the max length of each spline.
  2. The average computation time depends on your hardware (number of cores, cpu speed, memory, etc.)

All 9 comments

  1. The number of knots depends on the max length of each spline.
  2. The average computation time depends on your hardware (number of cores, cpu speed, memory, etc.)

Thanks for the reply.

For instance, a 100m curve with 100 splines, running on your AVs, it takes dozens of milliseconds or seconds?

I have tried cvxopt in python as well as qpOASES in c++. Cvxopt takes 50 ms while qpOASES takes 5s to solve the same question.

For a qp problem used in our qp_st_speed_optimizer, the average running time is ~10ms

If you can run it on cvxopt, please let us know the time consumption. Thanks! @waverider995

I ran a simple test in python, not in real-time, 100 cubic splines with 800 variables took 50ms including the matrix assigning.

cvxopt converts automatically a QP to a SOCP, which might be faster in this case

Yes, it could be faster. CXVOPT has an c interface api (https://cvxopt.org/userguide/c-api.html). If you are interested in improving the optimization performance, please feel free to add a cvxopt-based solver into Apollo.

According to a reference here (http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.720.6815&rep=rep1&type=pdf), qpOases performs better than cvxgen.

On a Renesas H3 board running qnx, the time to process each configured task in a loop is roughly as the following (apollo r2.0.0):

  • TrafficDecider: 1 ms
  • PathDecider: negligble
  • SpeedDecider: negligble
  • DpPolyPathOptimizer: 4~6 ms
  • QpSplineStSpeedOptimizer (use qpOases underlying): 4~6 ms
Was this page helpful?
0 / 5 - 0 ratings