Go to the documentation of this file.
30 #ifndef EXOTICA_CORE_TASKS_H_
31 #define EXOTICA_CORE_TASKS_H_
33 #include <Eigen/Dense>
58 virtual ~Task() =
default;
60 virtual void Initialize(
const std::vector<exotica::Initializer>& inits, std::shared_ptr<PlanningProblem> prob,
TaskSpaceVector& Phi);
104 Eigen::VectorXd
GetGoal(
const std::string& task_name,
int t)
const;
106 void SetRho(
const std::string& task_name,
const double rho_in,
int t);
107 double GetRho(
const std::string& task_name,
int t)
const;
109 Eigen::VectorXd
GetTaskError(
const std::string& task_name,
int t)
const;
110 Eigen::MatrixXd
GetS(
const std::string& task_name,
int t)
const;
112 std::vector<Eigen::VectorXd>
rho;
113 std::vector<TaskSpaceVector>
y;
115 std::vector<TaskSpaceVector>
Phi;
123 std::vector<Eigen::MatrixXd>
S;
139 Eigen::VectorXd
GetGoal(
const std::string& task_name)
const;
141 void SetRho(
const std::string& task_name,
const double rho_in);
142 double GetRho(
const std::string& task_name)
const;
144 Eigen::MatrixXd
GetS(
const std::string& task_name)
const;
145 Eigen::VectorXd
GetTaskError(
const std::string& task_name)
const;
167 Eigen::VectorXd
GetGoal(
const std::string& task_name)
const;
169 void SetRho(
const std::string& task_name,
const double rho);
170 double GetRho(
const std::string& task_name)
const;
180 #endif // EXOTICA_CORE_TASKS_H_
virtual ~SamplingTask()=default
int id
Definition: tasks.h:48
void ReinitializeVariables(int _T, std::shared_ptr< PlanningProblem > _prob, const TaskSpaceVector &_Phi)
std::vector< Hessian > ddPhi_ddu
Definition: tasks.h:118
void Update(const TaskSpaceVector &big_Phi, Eigen::MatrixXdRefConst big_jacobian, HessianRefConst big_hessian)
void SetGoal(const std::string &task_name, Eigen::VectorXdRefConst goal)
Eigen::VectorXd rho
Definition: tasks.h:148
double GetRho(const std::string &task_name) const
Eigen::MatrixXd S
Definition: tasks.h:154
std::vector< Hessian > hessian
Definition: tasks.h:116
std::vector< TaskMapPtr > TaskMapVec
Definition: task_map.h:94
Hessian hessian
Definition: tasks.h:153
int length_jacobian
Definition: tasks.h:67
std::vector< TaskSpaceVector > Phi
Definition: tasks.h:115
Eigen::VectorXd GetGoal(const std::string &task_name) const
void Update(const TaskSpaceVector &big_Phi, Eigen::MatrixXdRefConst big_dPhi_dx, Eigen::MatrixXdRefConst big_dPhi_du, HessianRefConst big_ddPhi_ddx, HessianRefConst big_ddPhi_ddu, HessianRefConst big_ddPhi_dxdu, int t)
Eigen::MatrixXd jacobian
Definition: tasks.h:152
Eigen::MatrixXd GetS(const std::string &task_name, int t) const
Eigen::VectorXd GetTaskError(const std::string &task_name, int t) const
Eigen::MatrixXd GetS(const std::string &task_name) const
virtual ~EndPoseTask()=default
void SetRho(const std::string &task_name, const double rho)
void SetGoal(const std::string &task_name, Eigen::VectorXdRefConst goal, int t)
Eigen::MatrixXd GetTaskJacobian(const std::string &task_name) const
Definition: cartpole_dynamics_solver.h:38
int start_jacobian
Definition: tasks.h:51
Eigen::Array< Eigen::MatrixXd, Eigen::Dynamic, 1 > Hessian
Definition: conversions.h:154
virtual void Initialize(const std::vector< exotica::Initializer > &inits, std::shared_ptr< PlanningProblem > prob, TaskSpaceVector &Phi)
void ValidateTimeIndex(int &t_in) const
virtual void Initialize(const std::vector< exotica::Initializer > &inits, std::shared_ptr< PlanningProblem > prob, TaskSpaceVector &Phi)
TaskSpaceVector Phi
Definition: tasks.h:151
virtual ~TimeIndexedTask()=default
void SetRho(const std::string &task_name, const double rho_in, int t)
TaskSpaceVector y
Definition: tasks.h:149
Eigen::VectorXd rho
Definition: tasks.h:172
std::vector< Hessian > ddPhi_dxdu
Definition: tasks.h:119
void Update(const TaskSpaceVector &big_Phi)
virtual void Initialize(const std::vector< exotica::Initializer > &inits, std::shared_ptr< PlanningProblem > prob, TaskSpaceVector &Phi)
std::vector< TaskInitializer > task_initializers_
Definition: tasks.h:72
int num_tasks
Definition: tasks.h:68
const typedef Eigen::Ref< const Eigen::VectorXd > & VectorXdRefConst
Convenience wrapper for storing references to sub-matrices/vectors.
Definition: conversions.h:52
std::vector< Eigen::MatrixXd > dPhi_dx
Definition: tasks.h:121
Definition: task_space_vector.h:50
std::vector< Eigen::MatrixXd > dPhi_du
Definition: tasks.h:122
TaskSpaceVector y
Definition: tasks.h:173
Eigen::VectorXd GetTaskError(const std::string &task_name) const
const typedef Eigen::Ref< const Eigen::MatrixXd > & MatrixXdRefConst
Definition: conversions.h:53
Eigen::VectorXd ydiff
Definition: tasks.h:174
Eigen::internal::ref_selector< Hessian >::type HessianRefConst
Definition: conversions.h:166
double GetRho(const std::string &task_name) const
int length_Phi
Definition: tasks.h:66
Eigen::VectorXd GetGoal(const std::string &task_name, int t) const
std::vector< TaskIndexing > indexing
Definition: tasks.h:64
double GetRho(const std::string &task_name, int t) const
TaskMapMap task_maps
Definition: tasks.h:62
void SetGoal(const std::string &task_name, Eigen::VectorXdRefConst goal)
std::vector< Eigen::VectorXd > rho
Definition: tasks.h:112
std::vector< Eigen::MatrixXd > jacobian
Definition: tasks.h:120
TaskSpaceVector Phi
Definition: tasks.h:175
int length_jacobian
Definition: tasks.h:52
Eigen::VectorXd GetGoal(const std::string &task_name) const
std::vector< Eigen::MatrixXd > S
Definition: tasks.h:123
std::vector< Eigen::VectorXd > ydiff
Definition: tasks.h:114
virtual void Initialize(const std::vector< exotica::Initializer > &inits, std::shared_ptr< PlanningProblem > prob, TaskSpaceVector &Phi)
std::vector< Hessian > ddPhi_ddx
Definition: tasks.h:117
double tolerance
Definition: tasks.h:69
std::map< std::string, TaskMapPtr > TaskMapMap
The mapping by name of TaskMaps.
Definition: task_map.h:93
int length
Definition: tasks.h:50
void SetRho(const std::string &task_name, const double rho_in)
TaskMapVec tasks
Definition: tasks.h:63
std::vector< TaskSpaceVector > y
Definition: tasks.h:113
TimeIndexedTask()=default
int start
Definition: tasks.h:49
int T
Definition: tasks.h:124
Eigen::VectorXd ydiff
Definition: tasks.h:150
Eigen::MatrixXd S
Definition: tasks.h:176