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

#include <planning_problem.h>

Inheritance diagram for exotica::PlanningProblem:
Inheritance graph
Collaboration diagram for exotica::PlanningProblem:
Collaboration graph

Public Member Functions

 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
 
virtual void PreUpdate ()
 
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
 
virtual bool IsValid ()
 Evaluates whether the problem is valid. More...
 
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 Initializer GetInitializerTemplate ()=0
 
virtual void InstantiateInternal (const Initializer &init)=0
 
virtual std::vector< InitializerGetAllTemplates () const =0
 

Public Attributes

double t_start
 
TerminationCriterion termination_criterion
 
int N = 0
 
- Public Attributes inherited from exotica::Object
std::string ns_
 
std::string object_name_
 
bool debug_
 

Protected Member Functions

void UpdateTaskKinematics (std::shared_ptr< KinematicResponse > response)
 
void UpdateMultipleTaskKinematics (std::vector< std::shared_ptr< KinematicResponse >> responses)
 

Protected Attributes

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_
 

Additional Inherited Members

- Private Member Functions inherited from exotica::Uncopyable
 Uncopyable ()=default
 
 ~Uncopyable ()=default
 

Constructor & Destructor Documentation

◆ PlanningProblem()

exotica::PlanningProblem::PlanningProblem ( )

◆ ~PlanningProblem()

virtual exotica::PlanningProblem::~PlanningProblem ( )
virtual

Member Function Documentation

◆ ApplyStartState()

virtual Eigen::VectorXd exotica::PlanningProblem::ApplyStartState ( bool  update_traj = true)
virtual

◆ get_num_controls()

int exotica::PlanningProblem::get_num_controls ( ) const

◆ get_num_positions()

int exotica::PlanningProblem::get_num_positions ( ) const

! Dimension of planning problem. TODO: Update from positions/velocities/controls and make private.

◆ get_num_velocities()

int exotica::PlanningProblem::get_num_velocities ( ) const

◆ GetCostEvolution() [1/2]

std::pair<std::vector<double>, std::vector<double> > exotica::PlanningProblem::GetCostEvolution ( ) const

◆ GetCostEvolution() [2/2]

double exotica::PlanningProblem::GetCostEvolution ( int  index) const

◆ GetFlags()

KinematicRequestFlags exotica::PlanningProblem::GetFlags ( ) const
inline

◆ GetNumberOfIterations()

int exotica::PlanningProblem::GetNumberOfIterations ( ) const

◆ GetNumberOfProblemUpdates()

unsigned int exotica::PlanningProblem::GetNumberOfProblemUpdates ( ) const
inline

◆ GetScene()

ScenePtr exotica::PlanningProblem::GetScene ( ) const

◆ GetStartState()

Eigen::VectorXd exotica::PlanningProblem::GetStartState ( ) const

◆ GetStartTime()

double exotica::PlanningProblem::GetStartTime ( ) const

◆ GetTaskMaps()

TaskMapMap& exotica::PlanningProblem::GetTaskMaps ( )

◆ GetTasks()

TaskMapVec& exotica::PlanningProblem::GetTasks ( )

◆ InstantiateBase()

void exotica::PlanningProblem::InstantiateBase ( const Initializer init)
overridevirtual

Reimplemented from exotica::InstantiableBase.

◆ IsValid()

virtual bool exotica::PlanningProblem::IsValid ( )
inlinevirtual

◆ PreUpdate()

virtual void exotica::PlanningProblem::PreUpdate ( )
virtual

◆ Print()

std::string exotica::PlanningProblem::Print ( const std::string &  prepend) const
overridevirtual

Reimplemented from exotica::Object.

◆ ResetCostEvolution()

void exotica::PlanningProblem::ResetCostEvolution ( size_t  size)

◆ ResetNumberOfProblemUpdates()

void exotica::PlanningProblem::ResetNumberOfProblemUpdates ( )
inline

◆ SetCostEvolution()

void exotica::PlanningProblem::SetCostEvolution ( int  index,
double  value 
)

◆ SetStartState()

void exotica::PlanningProblem::SetStartState ( Eigen::VectorXdRefConst  x)

◆ SetStartTime()

void exotica::PlanningProblem::SetStartTime ( double  t)

◆ UpdateMultipleTaskKinematics()

void exotica::PlanningProblem::UpdateMultipleTaskKinematics ( std::vector< std::shared_ptr< KinematicResponse >>  responses)
protected

◆ UpdateTaskKinematics()

void exotica::PlanningProblem::UpdateTaskKinematics ( std::shared_ptr< KinematicResponse response)
protected

Member Data Documentation

◆ cost_evolution_

std::vector<std::pair<std::chrono::high_resolution_clock::time_point, double> > exotica::PlanningProblem::cost_evolution_
protected

◆ flags_

KinematicRequestFlags exotica::PlanningProblem::flags_ = KinematicRequestFlags::KIN_FK
protected

◆ N

int exotica::PlanningProblem::N = 0

◆ number_of_problem_updates_

unsigned int exotica::PlanningProblem::number_of_problem_updates_ = 0
protected

◆ scene_

ScenePtr exotica::PlanningProblem::scene_
protected

◆ start_state_

Eigen::VectorXd exotica::PlanningProblem::start_state_
protected

◆ t_start

double exotica::PlanningProblem::t_start

◆ task_maps_

TaskMapMap exotica::PlanningProblem::task_maps_
protected

◆ tasks_

TaskMapVec exotica::PlanningProblem::tasks_
protected

◆ termination_criterion

TerminationCriterion exotica::PlanningProblem::termination_criterion

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