是否有用于轨迹优化的详细模式?

Is there a verbose mode for trajectory optimization?

当我们调用像 DirectCollocation 这样的函数时,有没有办法在中间看到一些进展(详细模式)?我不确定检查配方错误有多大帮助。但只是想知道:)

有两种方式可以监控进度

  1. 您可以使用 prog.AddVisualizationCallback 添加可视化回调函数。如果此回调函数可视化轨迹,那么您可以在优化器的每次迭代中监控可视化。
  2. 如果您使用 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.