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

#include <time_indexed_sampling_problem.h>

Inheritance diagram for exotica::TimeIndexedSamplingProblem:
Inheritance graph
Collaboration diagram for exotica::TimeIndexedSamplingProblem:
Collaboration graph

Public Member Functions

 TimeIndexedSamplingProblem ()
 
virtual ~TimeIndexedSamplingProblem ()
 
void Instantiate (const TimeIndexedSamplingProblemInitializer &init) override
 
void Update (Eigen::VectorXdRefConst x, const double &t)
 
bool IsValid (Eigen::VectorXdRefConst x, const double &t)
 
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 ()
 
Eigen::VectorXd GetGoalState () const
 
void SetGoalState (Eigen::VectorXdRefConst qT)
 
double GetGoalTime () const
 
void SetGoalTime (const double &t)
 
virtual bool IsValid ()
 Evaluates whether the problem is valid. More...
 
- 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
 
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 std::vector< InitializerGetAllTemplates () const =0
 
- Public Member Functions inherited from exotica::Instantiable< TimeIndexedSamplingProblemInitializer >
void InstantiateInternal (const Initializer &init) override
 
Initializer GetInitializerTemplate () override
 
std::vector< InitializerGetAllTemplates () const override
 
const TimeIndexedSamplingProblemInitializer & GetParameters () const
 

Public Attributes

Eigen::VectorXd vel_limits
 
TaskSpaceVector Phi
 
SamplingTask inequality
 
SamplingTask equality
 
TimeIndexedSamplingProblemInitializer parameters
 
TaskSpaceVector constraint_phi
 
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

double t_goal_
 Goal time: The time at which goal_ should be reached and the upper bound for the time-dimension. More...
 
Eigen::VectorXd goal_
 Goal state to reach (spatial) at temporal goal (t_goal_) More...
 

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

Constructor & Destructor Documentation

◆ TimeIndexedSamplingProblem()

exotica::TimeIndexedSamplingProblem::TimeIndexedSamplingProblem ( )

◆ ~TimeIndexedSamplingProblem()

virtual exotica::TimeIndexedSamplingProblem::~TimeIndexedSamplingProblem ( )
virtual

Member Function Documentation

◆ GetBounds()

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

◆ GetGoalEQ()

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

◆ GetGoalNEQ()

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

◆ GetGoalState()

Eigen::VectorXd exotica::TimeIndexedSamplingProblem::GetGoalState ( ) const

◆ GetGoalTime()

double exotica::TimeIndexedSamplingProblem::GetGoalTime ( ) const

◆ GetRhoEQ()

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

◆ GetRhoNEQ()

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

◆ GetSpaceDim()

int exotica::TimeIndexedSamplingProblem::GetSpaceDim ( )

◆ Instantiate()

void exotica::TimeIndexedSamplingProblem::Instantiate ( const TimeIndexedSamplingProblemInitializer &  init)
overridevirtual

◆ IsValid() [1/2]

virtual bool exotica::PlanningProblem::IsValid
inline

Evaluates whether the problem is valid.

◆ IsValid() [2/2]

bool exotica::TimeIndexedSamplingProblem::IsValid ( Eigen::VectorXdRefConst  x,
const double &  t 
)

◆ PreUpdate()

void exotica::TimeIndexedSamplingProblem::PreUpdate ( )
overridevirtual

Reimplemented from exotica::PlanningProblem.

◆ SetGoalEQ()

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

◆ SetGoalNEQ()

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

◆ SetGoalState()

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

◆ SetGoalTime()

void exotica::TimeIndexedSamplingProblem::SetGoalTime ( const double &  t)

◆ SetRhoEQ()

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

◆ SetRhoNEQ()

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

◆ Update()

void exotica::TimeIndexedSamplingProblem::Update ( Eigen::VectorXdRefConst  x,
const double &  t 
)

Member Data Documentation

◆ constraint_phi

TaskSpaceVector exotica::TimeIndexedSamplingProblem::constraint_phi

◆ equality

SamplingTask exotica::TimeIndexedSamplingProblem::equality

◆ goal_

Eigen::VectorXd exotica::TimeIndexedSamplingProblem::goal_
private

Goal state to reach (spatial) at temporal goal (t_goal_)

◆ inequality

SamplingTask exotica::TimeIndexedSamplingProblem::inequality

◆ length_jacobian

int exotica::TimeIndexedSamplingProblem::length_jacobian

◆ length_Phi

int exotica::TimeIndexedSamplingProblem::length_Phi

◆ num_tasks

int exotica::TimeIndexedSamplingProblem::num_tasks

◆ parameters

TimeIndexedSamplingProblemInitializer exotica::TimeIndexedSamplingProblem::parameters

◆ Phi

TaskSpaceVector exotica::TimeIndexedSamplingProblem::Phi

◆ t_goal_

double exotica::TimeIndexedSamplingProblem::t_goal_
private

Goal time: The time at which goal_ should be reached and the upper bound for the time-dimension.

◆ vel_limits

Eigen::VectorXd exotica::TimeIndexedSamplingProblem::vel_limits

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