apollo
apollo copied to clipboard
piecewise_jerk_path_problem中核矩阵的构造有误
apollo里用的osqp应该是老版本,新版本的osqp需要核矩阵P为上三角矩阵,这就是为什么会运行时报错的原因(提醒“P必须是上三角矩阵”)。
然而,老版本的osqp内部是直接将下三角抹去了,所以代价函数中的jerk项生成的 -2 * w_dddx / delta_s^2 * x(i)'' * x(i + 1)''不能像代码中那样直接写在下三角
pieecewise_jerk_path_problem.cpp:79
for (int i = 0; i < n - 1; ++i) { columns[2 * n + i].emplace_back(2 * n + i + 1, (-2.0 * weight_dddx_ / delta_s_square) / (scale_factor_[2] * scale_factor_[2])); ++value_index; }
目前apollo使用的osqp为0.5.0,0.6.0开始osap确实有这个问题。
This issue is closed due to long time no reply.