是否有用于轨迹优化的详细模式?
Is there a verbose mode for trajectory optimization?
当我们调用像 DirectCollocation
这样的函数时,有没有办法在中间看到一些进展(详细模式)?我不确定检查配方错误有多大帮助。但只是想知道:)
有两种方式可以监控进度
- 您可以使用
prog.AddVisualizationCallback
添加可视化回调函数。如果此回调函数可视化轨迹,那么您可以在优化器的每次迭代中监控可视化。
- 如果您使用 Snopt 求解器,那么您可以要求求解器打印出每次迭代的统计信息。伪代码看起来像这样
std::string print_file_name="foo.txt";
prog.SetSolverOption(SnoptSolver::id(), "Print file", print_file_name);
SnoptSolver solver;
const auto result = solver.Solve(prog, initial_guess);
然后 Snopt 将在每次迭代中将其统计信息打印到 foo.txt.
当我们调用像 DirectCollocation
这样的函数时,有没有办法在中间看到一些进展(详细模式)?我不确定检查配方错误有多大帮助。但只是想知道:)
有两种方式可以监控进度
- 您可以使用
prog.AddVisualizationCallback
添加可视化回调函数。如果此回调函数可视化轨迹,那么您可以在优化器的每次迭代中监控可视化。 - 如果您使用 Snopt 求解器,那么您可以要求求解器打印出每次迭代的统计信息。伪代码看起来像这样
然后 Snopt 将在每次迭代中将其统计信息打印到 foo.txt.std::string print_file_name="foo.txt"; prog.SetSolverOption(SnoptSolver::id(), "Print file", print_file_name); SnoptSolver solver; const auto result = solver.Solve(prog, initial_guess);