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

#include <sampling_problem.h>

Inheritance diagram for exotica::SamplingProblem:
Inheritance graph
Collaboration diagram for exotica::SamplingProblem:
Collaboration graph

Public Member Functions

 SamplingProblem ()
 
virtual ~SamplingProblem ()
 
void Instantiate (const SamplingProblemInitializer &init) override
 
void Update (Eigen::VectorXdRefConst x)
 
bool IsStateValid (Eigen::VectorXdRefConst x)
 
bool IsValid () override
 Evaluates whether the problem is valid. More...
 
void PreUpdate () override
 
int GetSpaceDim ()
 
void SetGoalEQ (const std::string &task_name, Eigen::VectorXdRefConst goal)
 
Eigen::VectorXd GetGoalEQ (const std::string &task_name)
 
void SetRhoEQ (const std::string &task_name, const double &rho)
 
double GetRhoEQ (const std::string &task_name)
 
void SetGoalNEQ (const std::string &task_name, Eigen::VectorXdRefConst goal)
 
Eigen::VectorXd GetGoalNEQ (const std::string &task_name)
 
void SetRhoNEQ (const std::string &task_name, const double &rho)
 
double GetRhoNEQ (const std::string &task_name)
 
std::vector< double > GetBounds ()
 
bool IsCompoundStateSpace ()
 
void SetGoalState (Eigen::VectorXdRefConst qT)
 
const Eigen::VectorXd & GetGoalState () const
 
- 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< SamplingProblemInitializer >
void InstantiateInternal (const Initializer &init) override
 
Initializer GetInitializerTemplate () override
 
std::vector< InitializerGetAllTemplates () const override
 
const SamplingProblemInitializer & GetParameters () const
 

Public Attributes

TaskSpaceVector Phi
 
SamplingTask inequality
 
SamplingTask equality
 
int length_Phi
 
int length_jacobian
 
int num_tasks
 
- 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_
 

Private Attributes

Eigen::VectorXd goal_
 
bool compound_
 

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< SamplingProblemInitializer >
SamplingProblemInitializer parameters_
 

Constructor & Destructor Documentation

◆ SamplingProblem()

exotica::SamplingProblem::SamplingProblem ( )

◆ ~SamplingProblem()

virtual exotica::SamplingProblem::~SamplingProblem ( )
virtual

Member Function Documentation

◆ GetBounds()

std::vector<double> exotica::SamplingProblem::GetBounds ( )

◆ GetGoalEQ()

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

◆ GetGoalNEQ()

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

◆ GetGoalState()

const Eigen::VectorXd& exotica::SamplingProblem::GetGoalState ( ) const
inline

◆ GetRhoEQ()

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

◆ GetRhoNEQ()

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

◆ GetSpaceDim()

int exotica::SamplingProblem::GetSpaceDim ( )

◆ Instantiate()

void exotica::SamplingProblem::Instantiate ( const SamplingProblemInitializer &  init)
overridevirtual

◆ IsCompoundStateSpace()

bool exotica::SamplingProblem::IsCompoundStateSpace ( )

◆ IsStateValid()

bool exotica::SamplingProblem::IsStateValid ( Eigen::VectorXdRefConst  x)

◆ IsValid()

bool exotica::SamplingProblem::IsValid ( )
overridevirtual

Evaluates whether the problem is valid.

Reimplemented from exotica::PlanningProblem.

◆ PreUpdate()

void exotica::SamplingProblem::PreUpdate ( )
overridevirtual

Reimplemented from exotica::PlanningProblem.

◆ SetGoalEQ()

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

◆ SetGoalNEQ()

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

◆ SetGoalState()

void exotica::SamplingProblem::SetGoalState ( Eigen::VectorXdRefConst  qT)

◆ SetRhoEQ()

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

◆ SetRhoNEQ()

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

◆ Update()

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

Member Data Documentation

◆ compound_

bool exotica::SamplingProblem::compound_
private

◆ equality

SamplingTask exotica::SamplingProblem::equality

◆ goal_

Eigen::VectorXd exotica::SamplingProblem::goal_
private

◆ inequality

SamplingTask exotica::SamplingProblem::inequality

◆ length_jacobian

int exotica::SamplingProblem::length_jacobian

◆ length_Phi

int exotica::SamplingProblem::length_Phi

◆ num_tasks

int exotica::SamplingProblem::num_tasks

◆ Phi

TaskSpaceVector exotica::SamplingProblem::Phi

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