Public Member Functions | Private Attributes | List of all members
exotica::LevenbergMarquardtSolver Class Reference

#include <levenberg_marquardt_solver.h>

Inheritance diagram for exotica::LevenbergMarquardtSolver:
Inheritance graph
[legend]

Public Member Functions

void Solve (Eigen::MatrixXd &solution) override
 
void SpecifyProblem (PlanningProblemPtr pointer) override
 
- Public Member Functions inherited from exotica::MotionSolver
int GetNumberOfMaxIterations ()
 
double GetPlanningTime ()
 
PlanningProblemPtr GetProblem () const
 
void InstantiateBase (const Initializer &init) override
 
 MotionSolver ()=default
 
std::string Print (const std::string &prepend) const override
 
void SetNumberOfMaxIterations (int max_iter)
 
virtual ~MotionSolver ()=default
 
- Public Member Functions inherited from exotica::Object
std::string GetObjectName ()
 
void InstantiateObject (const Initializer &init)
 
 Object ()
 
virtual std::string type () const
 
virtual ~Object ()
 
- Public Member Functions inherited from exotica::InstantiableBase
 InstantiableBase ()=default
 
virtual ~InstantiableBase ()=default
 
- Public Member Functions inherited from exotica::Instantiable< LevenbergMarquardtSolverInitializer >
std::vector< InitializerGetAllTemplates () const override
 
Initializer GetInitializerTemplate () override
 
const LevenbergMarquardtSolverInitializer & GetParameters () const
 
virtual void Instantiate (const LevenbergMarquardtSolverInitializer &init)
 
void InstantiateInternal (const Initializer &init) override
 

Private Attributes

Eigen::MatrixXd cost_jacobian_
 Jacobian, used during optimisation. More...
 
double error_
 Error, used during optimisation. More...
 
double error_prev_
 Previous iteration error, used during optimisation. More...
 
Eigen::MatrixXd JT_times_J_
 Gauss-Newton Hessian approximation (J^T * J) More...
 
double lambda_ = 0
 Damping factor. More...
 
Eigen::LLT< Eigen::MatrixXd > llt_
 Cholesky decomposition for J^T*J. More...
 
Eigen::MatrixXd M_
 Scaling matrix, used for regularisation. More...
 
UnconstrainedEndPoseProblemPtr prob_
 Shared pointer to the planning problem. More...
 
Eigen::VectorXd q_
 Joint configuration vector, used during optimisation. More...
 
Eigen::VectorXd qd_
 Change in joint configuration, used during optimisation. More...
 
Eigen::VectorXd yd_
 Task space difference/error, used during optimisation. More...
 

Additional Inherited Members

- Public Attributes inherited from exotica::Object
bool debug_
 
std::string ns_
 
std::string object_name_
 
- Protected Attributes inherited from exotica::MotionSolver
int max_iterations_
 
double planning_time_
 
PlanningProblemPtr problem_
 
- Protected Attributes inherited from exotica::Instantiable< LevenbergMarquardtSolverInitializer >
LevenbergMarquardtSolverInitializer parameters_
 

Detailed Description

Definition at line 33 of file levenberg_marquardt_solver.h.

Member Function Documentation

void exotica::LevenbergMarquardtSolver::Solve ( Eigen::MatrixXd &  solution)
overridevirtual

Implements exotica::MotionSolver.

Definition at line 71 of file levenberg_marquardt_solver.cpp.

void exotica::LevenbergMarquardtSolver::SpecifyProblem ( PlanningProblemPtr  pointer)
overridevirtual

Reimplemented from exotica::MotionSolver.

Definition at line 29 of file levenberg_marquardt_solver.cpp.

Member Data Documentation

Eigen::MatrixXd exotica::LevenbergMarquardtSolver::cost_jacobian_
private

Jacobian, used during optimisation.

Definition at line 50 of file levenberg_marquardt_solver.h.

double exotica::LevenbergMarquardtSolver::error_
private

Error, used during optimisation.

Definition at line 51 of file levenberg_marquardt_solver.h.

double exotica::LevenbergMarquardtSolver::error_prev_
private

Previous iteration error, used during optimisation.

Definition at line 52 of file levenberg_marquardt_solver.h.

Eigen::MatrixXd exotica::LevenbergMarquardtSolver::JT_times_J_
private

Gauss-Newton Hessian approximation (J^T * J)

Definition at line 46 of file levenberg_marquardt_solver.h.

double exotica::LevenbergMarquardtSolver::lambda_ = 0
private

Damping factor.

Definition at line 44 of file levenberg_marquardt_solver.h.

Eigen::LLT<Eigen::MatrixXd> exotica::LevenbergMarquardtSolver::llt_
private

Cholesky decomposition for J^T*J.

Definition at line 53 of file levenberg_marquardt_solver.h.

Eigen::MatrixXd exotica::LevenbergMarquardtSolver::M_
private

Scaling matrix, used for regularisation.

Definition at line 45 of file levenberg_marquardt_solver.h.

UnconstrainedEndPoseProblemPtr exotica::LevenbergMarquardtSolver::prob_
private

Shared pointer to the planning problem.

Definition at line 41 of file levenberg_marquardt_solver.h.

Eigen::VectorXd exotica::LevenbergMarquardtSolver::q_
private

Joint configuration vector, used during optimisation.

Definition at line 47 of file levenberg_marquardt_solver.h.

Eigen::VectorXd exotica::LevenbergMarquardtSolver::qd_
private

Change in joint configuration, used during optimisation.

Definition at line 48 of file levenberg_marquardt_solver.h.

Eigen::VectorXd exotica::LevenbergMarquardtSolver::yd_
private

Task space difference/error, used during optimisation.

Definition at line 49 of file levenberg_marquardt_solver.h.


The documentation for this class was generated from the following files:


exotica_levenberg_marquardt_solver
Author(s):
autogenerated on Sat Apr 10 2021 02:35:37