Go to the documentation of this file.
30 #ifndef EXOTICA_CORE_PLANNING_PROBLEM_H_
31 #define EXOTICA_CORE_PLANNING_PROBLEM_H_
45 #define REGISTER_PROBLEM_TYPE(TYPE, DERIV) EXOTICA_CORE_REGISTER_CORE(exotica::PlanningProblem, TYPE, DERIV)
74 std::string
Print(
const std::string& prepend)
const override;
86 std::pair<std::vector<double>, std::vector<double>>
GetCostEvolution()
const;
98 [[deprecated(
"Replaced by Scene::get_num_positions")]]
int get_num_positions()
const;
99 [[deprecated(
"Replaced by Scene::get_num_velocities")]]
int get_num_velocities()
const;
100 [[deprecated(
"Replaced by Scene::get_num_controls")]]
int get_num_controls()
const;
112 std::vector<std::pair<std::chrono::high_resolution_clock::time_point, double>>
cost_evolution_;
120 #endif // EXOTICA_CORE_PLANNING_PROBLEM_H_
void SetCostEvolution(int index, double value)
unsigned int number_of_problem_updates_
Definition: planning_problem.h:111
TerminationCriterion
Definition: planning_problem.h:49
void SetStartTime(double t)
KinematicRequestFlags flags_
Definition: planning_problem.h:109
void InstantiateBase(const Initializer &init) override
Definition: uncopyable.h:35
std::vector< TaskMapPtr > TaskMapVec
Definition: task_map.h:94
double t_start
Definition: planning_problem.h:93
Factory< PlanningProblem > PlanningProblemFac
Definition: planning_problem.h:115
void SetStartState(Eigen::VectorXdRefConst x)
std::vector< std::pair< std::chrono::high_resolution_clock::time_point, double > > cost_evolution_
Definition: planning_problem.h:112
void ResetCostEvolution(size_t size)
KinematicRequestFlags GetFlags() const
Definition: planning_problem.h:91
int get_num_controls() const
void UpdateMultipleTaskKinematics(std::vector< std::shared_ptr< KinematicResponse >> responses)
Definition: property.h:98
@ BacktrackIterationLimit
Eigen::VectorXd start_state_
Definition: planning_problem.h:110
int N
Definition: planning_problem.h:97
TerminationCriterion termination_criterion
Definition: planning_problem.h:95
Definition: cartpole_dynamics_solver.h:38
unsigned int GetNumberOfProblemUpdates() const
Definition: planning_problem.h:84
TaskMapVec tasks_
Definition: planning_problem.h:108
virtual ~PlanningProblem()
void ResetNumberOfProblemUpdates()
Definition: planning_problem.h:85
@ KIN_FK
Definition: kinematic_tree.h:58
ScenePtr scene_
Definition: planning_problem.h:106
virtual Eigen::VectorXd ApplyStartState(bool update_traj=true)
std::string Print(const std::string &prepend) const override
std::shared_ptr< Scene > ScenePtr
Definition: scene.h:246
const typedef Eigen::Ref< const Eigen::VectorXd > & VectorXdRefConst
Convenience wrapper for storing references to sub-matrices/vectors.
Definition: conversions.h:52
KinematicRequestFlags
Definition: kinematic_tree.h:56
int get_num_positions() const
! Dimension of planning problem. TODO: Update from positions/velocities/controls and make private.
Definition: property.h:70
Eigen::VectorXd GetStartState() const
std::pair< std::vector< double >, std::vector< double > > GetCostEvolution() const
void UpdateTaskKinematics(std::shared_ptr< KinematicResponse > response)
std::shared_ptr< PlanningProblem > PlanningProblemPtr
Definition: planning_problem.h:116
std::shared_ptr< const PlanningProblem > PlanningProblemConstPtr
Definition: planning_problem.h:117
double GetStartTime() const
int GetNumberOfIterations() const
Definition: planning_problem.h:64
TaskMapMap task_maps_
Definition: planning_problem.h:107
std::map< std::string, TaskMapPtr > TaskMapMap
The mapping by name of TaskMaps.
Definition: task_map.h:93
int get_num_velocities() const
virtual bool IsValid()
Evaluates whether the problem is valid.
Definition: planning_problem.h:93
TaskMapMap & GetTaskMaps()
ScenePtr GetScene() const
#define ThrowNamed(m)
Definition: exception.h:42