Apollo 6.0,the planning module QP solve failed,task name is: PIECEWISE_JERK_NONLINEAR_SPEED_OPTIMIZER
System information
- **OS Platform and Distribution :Ubuntu 18.04
- **Apollo installed from :source
- **Apollo version :6.0
Steps to reproduce the issue:
- Please use bullet points and include as much details as possible: log message: E0311 16:25:51.034699 188692 piecewise_jerk_problem.cc:105] failed optimization status: primal infeasible E0311 16:25:51.034737 188692 piecewise_jerk_speed_nonlinear_optimizer.cc:465] Speed Optimization by Quadratic Programming failed. st boundary is infeasible. E0311 16:25:51.034785 188692 lane_follow_stage.cc:177] Failed to run tasks[PIECEWISE_JERK_NONLINEAR_SPEED_OPTIMIZER], Error message: Speed Optimization by Quadratic Programming failed. st boundary is infeasible. E0311 16:25:51.037696 188692 lane_follow_stage.cc:373] Use last frame good path to do speed fallback E0311 16:25:51.037710 188692 lane_follow_stage.cc:288] Speed fallback due to algorithm failure E0311 16:25:51.037715 188692 speed_profile_generator.cc:38] Fallback using piecewise jerk speed! W0311 16:25:51.037724 188692 speed_profile_generator.cc:41] init_v = 0, init_a = -0.158695 W0311 16:25:51.037735 188692 speed_profile_generator.cc:47] Already stopped! Nothing to do in GenerateFallbackSpeed() E0311 16:25:53.667551 188693 piecewise_jerk_speed_nonlinear_optimizer.cc:581] Solver failure case is : INFEASIBLE_PROBLEM_DETECTED
you can check whether your init st point satisfies your constraints
The init condition (init_v=0, init_a=-0.158695) shows the vehicle is already stopped. If you print out reference speed data computed by path_time_heuristic optimizer, it will be clear that there is no easy way for piecewise jerk nonlinear speed optimizer to find a feasible solution. This also applies to piecewise_jerk_speed_optimizer. The speed optimizer can also fail when the init speed is larger than the speed limit (not all the time though). This can happen when the replan (exceeding either longitudinal or lateral offset) from current ADC state is triggered in the current planning cycle.