LiJiangnanBit / path_optimizer_ilqr

Path planning for autonomous vehicles using constrained iLQR.
102 stars 41 forks source link

编译发生错误 #1

Open siasunbigtree opened 8 months ago

siasunbigtree commented 8 months ago

您好,感谢开源共享。 我在编译的个过程中出现:

/home/lmm/ws/catkin_path1/src/path_optimizer_ilqr-main/src/solver/solver.h:177:44: error: no match for ‘operator+=’ (operand types are ‘double’ and ‘Eigen::internal::enable_if<true, const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, 1, 1, 0, 1, 1> >, const Eigen::Matrix<double, 1, 1, 0, 1, 1> > >::type {aka const Eigen::CwiseBinaryOp<Eigen::internal::scalar_product_op<double, double>, const Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, const Eigen::Matrix<double, 1, 1, 0, 1, 1> >, const Eigen::Matrix<double, 1, 1, 0, 1, 1> >}’) _approx_cost_decay_info.second += 0.5 _k.at(i).transpose() quu * _k.at(i);

LiJiangnanBit commented 8 months ago

可能是eigen版本的问题,晚点我看下我安装的版本。

siasunbigtree commented 8 months ago

感谢回复

LiJiangnanBit commented 8 months ago

Eigen 版本是3.2.92,可以试下

siasunbigtree commented 8 months ago

我的版本是3.3.4-4 ,后续版本应该兼容啊。

ColleyLi commented 8 months ago

将下面代码 _approx_cost_decay_info.second += 0.5 _k.at(i).transpose() quu _k.at(i); 替换成 _approx_cost_decay_info.second += (0.5 _k.at(i).transpose() quu _k.at(i))(0); 即可

siasunbigtree commented 8 months ago

感谢,如何修改让他能够满足终止转态约束?

LiJiangnanBit commented 8 months ago

需要在path_costs.h中增加一个终点状态的cost或者约束,并在path_problem_manager中添加到最后一个状态上。这两天加一下这个。