crocoddyl  1.9.0
Contact RObot COntrol by Differential DYnamic programming Library (Crocoddyl)
callbacks.cpp
1 // BSD 3-Clause License
3 //
4 // Copyright (C) 2019-2021, LAAS-CNRS, University of Edinburgh
5 // Copyright note valid unless otherwise stated in individual files.
6 // All rights reserved.
8 
9 #include "crocoddyl/core/utils/callbacks.hpp"
10 
11 namespace crocoddyl {
12 
13 CallbackVerbose::CallbackVerbose(VerboseLevel level) : CallbackAbstract(), level(level) {}
14 
15 CallbackVerbose::~CallbackVerbose() {}
16 
18  if (solver.get_iter() % 10 == 0) {
19  std::cout << "iter cost stop grad xreg ureg step ||ffeas||";
20  switch (level) {
21  case _2: {
22  std::cout << " dV-exp dV";
23  break;
24  }
25  default: {}
26  }
27  std::cout << std::endl;
28  }
29 
30  std::cout << std::setw(4) << solver.get_iter() << " ";
31  std::cout << std::scientific << std::setprecision(5) << solver.get_cost() << " ";
32  std::cout << solver.get_stop() << " " << -solver.get_d()[1] << " ";
33  std::cout << solver.get_xreg() << " " << solver.get_ureg() << " ";
34  std::cout << std::fixed << std::setprecision(4) << solver.get_steplength() << " ";
35  std::cout << std::scientific << std::setprecision(5) << solver.get_ffeas();
36  switch (level) {
37  case _2: {
38  std::cout << " " << std::scientific << std::setprecision(5) << solver.get_dVexp() << " ";
39  std::cout << solver.get_dV();
40  break;
41  }
42  default: {}
43  }
44  std::cout << std::endl;
45  std::cout << std::flush;
46 }
47 
48 } // namespace crocoddyl
crocoddyl::SolverAbstract::get_d
const Eigen::Vector2d & get_d() const
Return the LQ approximation of the expected improvement.
Definition: solver-base.cpp:180
crocoddyl::SolverAbstract::get_steplength
double get_steplength() const
Return the step length .
Definition: solver-base.cpp:186
crocoddyl::SolverAbstract
Abstract class for optimal control solvers.
Definition: solver-base.hpp:51
crocoddyl::SolverAbstract::get_cost
double get_cost() const
Return the total cost.
Definition: solver-base.cpp:176
crocoddyl::SolverAbstract::get_dV
double get_dV() const
Return the cost reduction .
Definition: solver-base.cpp:188
crocoddyl::SolverAbstract::get_xreg
double get_xreg() const
Return the state regularization value.
Definition: solver-base.cpp:182
crocoddyl::SolverAbstract::get_ureg
double get_ureg() const
Return the control regularization value.
Definition: solver-base.cpp:184
crocoddyl::SolverAbstract::get_dVexp
double get_dVexp() const
Return the expected cost reduction .
Definition: solver-base.cpp:190
crocoddyl::CallbackVerbose::operator()
virtual void operator()(SolverAbstract &solver)
Run the callback function given a solver.
Definition: callbacks.cpp:17
crocoddyl::SolverAbstract::get_iter
std::size_t get_iter() const
Return the number of iterations performed by the solver.
Definition: solver-base.cpp:196
crocoddyl::SolverAbstract::get_stop
double get_stop() const
Return the value computed by stoppingCriteria()
Definition: solver-base.cpp:178
crocoddyl::SolverAbstract::get_ffeas
double get_ffeas() const
Return the feasibility of the dynamic constraints of the current guess.
Definition: solver-base.cpp:200