Go to the documentation of this file.
23 #ifndef EXOTICA_LEVENBERG_MARQUARDT_SOLVER_LEVENBERG_MARQUARDT_SOLVER_H_
24 #define EXOTICA_LEVENBERG_MARQUARDT_SOLVER_LEVENBERG_MARQUARDT_SOLVER_H_
29 #include <exotica_levenberg_marquardt_solver/levenberg_marquardt_solver_initializer.h>
36 void Solve(Eigen::MatrixXd& solution)
override;
53 Eigen::LLT<Eigen::MatrixXd>
llt_;
57 #endif // EXOTICA_LEVENBERG_MARQUARDT_SOLVER_LEVENBERG_MARQUARDT_SOLVER_H_
Definition: levenberg_marquardt_solver.h:33
double lambda_
Damping factor.
Definition: levenberg_marquardt_solver.h:44
Eigen::VectorXd qd_
Change in joint configuration, used during optimisation.
Definition: levenberg_marquardt_solver.h:48
Definition: property.h:110
Definition: cartpole_dynamics_solver.h:38
Eigen::VectorXd yd_
Task space difference/error, used during optimisation.
Definition: levenberg_marquardt_solver.h:49
std::shared_ptr< exotica::UnconstrainedEndPoseProblem > UnconstrainedEndPoseProblemPtr
Definition: unconstrained_end_pose_problem.h:81
Eigen::LLT< Eigen::MatrixXd > llt_
Cholesky decomposition for J^T*J.
Definition: levenberg_marquardt_solver.h:53
double error_prev_
Previous iteration error, used during optimisation.
Definition: levenberg_marquardt_solver.h:52
Eigen::VectorXd q_
Joint configuration vector, used during optimisation.
Definition: levenberg_marquardt_solver.h:47
Definition: motion_solver.h:42
std::shared_ptr< PlanningProblem > PlanningProblemPtr
Definition: planning_problem.h:116
void SpecifyProblem(PlanningProblemPtr pointer) override
UnconstrainedEndPoseProblemPtr prob_
Shared pointer to the planning problem.
Definition: levenberg_marquardt_solver.h:41
Eigen::MatrixXd cost_jacobian_
Jacobian, used during optimisation.
Definition: levenberg_marquardt_solver.h:50
Eigen::MatrixXd M_
Scaling matrix, used for regularisation.
Definition: levenberg_marquardt_solver.h:45
double error_
Error, used during optimisation.
Definition: levenberg_marquardt_solver.h:51
Eigen::MatrixXd JT_times_J_
Gauss-Newton Hessian approximation (J^T * J)
Definition: levenberg_marquardt_solver.h:46
void Solve(Eigen::MatrixXd &solution) override