Exotica
Public Member Functions | Public Attributes | List of all members
exotica::EndPoseProblem Class Reference

Arbitrarily constrained end-pose problem implementation. More...

#include <end_pose_problem.h>

Inheritance diagram for exotica::EndPoseProblem:
Inheritance graph
Collaboration diagram for exotica::EndPoseProblem:
Collaboration graph

Public Member Functions

 EndPoseProblem ()
 
virtual ~EndPoseProblem ()
 
void Instantiate (const EndPoseProblemInitializer &init) override
 
void Update (Eigen::VectorXdRefConst x)
 
bool IsValid () override
 Evaluates whether the problem is valid. More...
 
void SetGoal (const std::string &task_name, Eigen::VectorXdRefConst goal)
 
void SetRho (const std::string &task_name, const double &rho)
 
Eigen::VectorXd GetGoal (const std::string &task_name)
 
double GetRho (const std::string &task_name)
 
void SetGoalEQ (const std::string &task_name, Eigen::VectorXdRefConst goal)
 
void SetRhoEQ (const std::string &task_name, const double &rho)
 
Eigen::VectorXd GetGoalEQ (const std::string &task_name)
 
double GetRhoEQ (const std::string &task_name)
 
void SetGoalNEQ (const std::string &task_name, Eigen::VectorXdRefConst goal)
 
void SetRhoNEQ (const std::string &task_name, const double &rho)
 
Eigen::VectorXd GetGoalNEQ (const std::string &task_name)
 
double GetRhoNEQ (const std::string &task_name)
 
void PreUpdate () override
 
Eigen::MatrixXd GetBounds () const
 
double GetScalarCost ()
 
Eigen::RowVectorXd GetScalarJacobian ()
 
double GetScalarTaskCost (const std::string &task_name) const
 
Eigen::VectorXd GetEquality ()
 
Eigen::MatrixXd GetEqualityJacobian ()
 
Eigen::VectorXd GetInequality ()
 
Eigen::MatrixXd GetInequalityJacobian ()
 
- Public Member Functions inherited from exotica::PlanningProblem
 PlanningProblem ()
 
virtual ~PlanningProblem ()
 
void InstantiateBase (const Initializer &init) override
 
TaskMapMapGetTaskMaps ()
 
TaskMapVecGetTasks ()
 
ScenePtr GetScene () const
 
std::string Print (const std::string &prepend) const override
 
void SetStartState (Eigen::VectorXdRefConst x)
 
Eigen::VectorXd GetStartState () const
 
virtual Eigen::VectorXd ApplyStartState (bool update_traj=true)
 
void SetStartTime (double t)
 
double GetStartTime () const
 
unsigned int GetNumberOfProblemUpdates () const
 
void ResetNumberOfProblemUpdates ()
 
std::pair< std::vector< double >, std::vector< double > > GetCostEvolution () const
 
int GetNumberOfIterations () const
 
double GetCostEvolution (int index) const
 
void ResetCostEvolution (size_t size)
 
void SetCostEvolution (int index, double value)
 
KinematicRequestFlags GetFlags () const
 
int get_num_positions () const
 ! Dimension of planning problem. TODO: Update from positions/velocities/controls and make private. More...
 
int get_num_velocities () const
 
int get_num_controls () const
 
- Public Member Functions inherited from exotica::Object
 Object ()
 
virtual ~Object ()
 
virtual std::string type () const
 Type Information wrapper: must be virtual so that it is polymorphic... More...
 
std::string GetObjectName ()
 
void InstantiateObject (const Initializer &init)
 
- Public Member Functions inherited from exotica::InstantiableBase
 InstantiableBase ()=default
 
virtual ~InstantiableBase ()=default
 
virtual std::vector< InitializerGetAllTemplates () const =0
 
- Public Member Functions inherited from exotica::Instantiable< EndPoseProblemInitializer >
void InstantiateInternal (const Initializer &init) override
 
Initializer GetInitializerTemplate () override
 
std::vector< InitializerGetAllTemplates () const override
 
const EndPoseProblemInitializer & GetParameters () const
 

Public Attributes

EndPoseTask cost
 
EndPoseTask inequality
 
EndPoseTask equality
 
Eigen::MatrixXd W
 
TaskSpaceVector Phi
 
Eigen::MatrixXd jacobian
 
Hessian hessian
 
int length_Phi
 
int length_jacobian
 
int num_tasks
 
bool use_bounds
 
- Public Attributes inherited from exotica::PlanningProblem
double t_start
 
TerminationCriterion termination_criterion
 
int N = 0
 
- Public Attributes inherited from exotica::Object
std::string ns_
 
std::string object_name_
 
bool debug_
 

Additional Inherited Members

- Protected Member Functions inherited from exotica::PlanningProblem
void UpdateTaskKinematics (std::shared_ptr< KinematicResponse > response)
 
void UpdateMultipleTaskKinematics (std::vector< std::shared_ptr< KinematicResponse >> responses)
 
- Protected Attributes inherited from exotica::PlanningProblem
ScenePtr scene_
 
TaskMapMap task_maps_
 
TaskMapVec tasks_
 
KinematicRequestFlags flags_ = KinematicRequestFlags::KIN_FK
 
Eigen::VectorXd start_state_
 
unsigned int number_of_problem_updates_ = 0
 
std::vector< std::pair< std::chrono::high_resolution_clock::time_point, double > > cost_evolution_
 
- Protected Attributes inherited from exotica::Instantiable< EndPoseProblemInitializer >
EndPoseProblemInitializer parameters_
 

Detailed Description

Arbitrarily constrained end-pose problem implementation.

Constructor & Destructor Documentation

◆ EndPoseProblem()

exotica::EndPoseProblem::EndPoseProblem ( )

◆ ~EndPoseProblem()

virtual exotica::EndPoseProblem::~EndPoseProblem ( )
virtual

Member Function Documentation

◆ GetBounds()

Eigen::MatrixXd exotica::EndPoseProblem::GetBounds ( ) const

◆ GetEquality()

Eigen::VectorXd exotica::EndPoseProblem::GetEquality ( )

◆ GetEqualityJacobian()

Eigen::MatrixXd exotica::EndPoseProblem::GetEqualityJacobian ( )

◆ GetGoal()

Eigen::VectorXd exotica::EndPoseProblem::GetGoal ( const std::string &  task_name)

◆ GetGoalEQ()

Eigen::VectorXd exotica::EndPoseProblem::GetGoalEQ ( const std::string &  task_name)

◆ GetGoalNEQ()

Eigen::VectorXd exotica::EndPoseProblem::GetGoalNEQ ( const std::string &  task_name)

◆ GetInequality()

Eigen::VectorXd exotica::EndPoseProblem::GetInequality ( )

◆ GetInequalityJacobian()

Eigen::MatrixXd exotica::EndPoseProblem::GetInequalityJacobian ( )

◆ GetRho()

double exotica::EndPoseProblem::GetRho ( const std::string &  task_name)

◆ GetRhoEQ()

double exotica::EndPoseProblem::GetRhoEQ ( const std::string &  task_name)

◆ GetRhoNEQ()

double exotica::EndPoseProblem::GetRhoNEQ ( const std::string &  task_name)

◆ GetScalarCost()

double exotica::EndPoseProblem::GetScalarCost ( )

◆ GetScalarJacobian()

Eigen::RowVectorXd exotica::EndPoseProblem::GetScalarJacobian ( )

◆ GetScalarTaskCost()

double exotica::EndPoseProblem::GetScalarTaskCost ( const std::string &  task_name) const

◆ Instantiate()

void exotica::EndPoseProblem::Instantiate ( const EndPoseProblemInitializer &  init)
overridevirtual

◆ IsValid()

bool exotica::EndPoseProblem::IsValid ( )
overridevirtual

Evaluates whether the problem is valid.

Reimplemented from exotica::PlanningProblem.

◆ PreUpdate()

void exotica::EndPoseProblem::PreUpdate ( )
overridevirtual

Reimplemented from exotica::PlanningProblem.

◆ SetGoal()

void exotica::EndPoseProblem::SetGoal ( const std::string &  task_name,
Eigen::VectorXdRefConst  goal 
)

◆ SetGoalEQ()

void exotica::EndPoseProblem::SetGoalEQ ( const std::string &  task_name,
Eigen::VectorXdRefConst  goal 
)

◆ SetGoalNEQ()

void exotica::EndPoseProblem::SetGoalNEQ ( const std::string &  task_name,
Eigen::VectorXdRefConst  goal 
)

◆ SetRho()

void exotica::EndPoseProblem::SetRho ( const std::string &  task_name,
const double &  rho 
)

◆ SetRhoEQ()

void exotica::EndPoseProblem::SetRhoEQ ( const std::string &  task_name,
const double &  rho 
)

◆ SetRhoNEQ()

void exotica::EndPoseProblem::SetRhoNEQ ( const std::string &  task_name,
const double &  rho 
)

◆ Update()

void exotica::EndPoseProblem::Update ( Eigen::VectorXdRefConst  x)

Member Data Documentation

◆ cost

EndPoseTask exotica::EndPoseProblem::cost

◆ equality

EndPoseTask exotica::EndPoseProblem::equality

◆ hessian

Hessian exotica::EndPoseProblem::hessian

◆ inequality

EndPoseTask exotica::EndPoseProblem::inequality

◆ jacobian

Eigen::MatrixXd exotica::EndPoseProblem::jacobian

◆ length_jacobian

int exotica::EndPoseProblem::length_jacobian

◆ length_Phi

int exotica::EndPoseProblem::length_Phi

◆ num_tasks

int exotica::EndPoseProblem::num_tasks

◆ Phi

TaskSpaceVector exotica::EndPoseProblem::Phi

◆ use_bounds

bool exotica::EndPoseProblem::use_bounds

◆ W

Eigen::MatrixXd exotica::EndPoseProblem::W

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