wbc
Task.hpp
Go to the documentation of this file.
1#ifndef WBC_CORE_TASK_HPP
2#define WBC_CORE_TASK_HPP
3
4#include "TaskConfig.hpp"
5#include "RobotModel.hpp"
6#include <Eigen/Core>
7#include <memory>
8
9namespace wbc{
10
14class Task {
15protected:
17
18public:
19
21 Task();
22
27 ~Task();
28
32 void reset();
33
37 virtual void update() = 0;
38
43 void setWeights(const Eigen::VectorXd& weights);
44
49 void setActivation(const double activation);
50
53
56 Eigen::VectorXd y_ref;
57
61 Eigen::VectorXd weights;
62
64 double activation;
65
67 Eigen::MatrixXd A;
68
70 Eigen::MatrixXd Aw;
71
73 uint nv;
74
76 uint nj;
77
80};
81
82
83using TaskPtr = std::shared_ptr<Task> ;
84
85} // namespace wbc
86
87#endif // WBC_CORE_TASK_HPP
Defines a task in the whole body control problem.
Definition TaskConfig.hpp:25
void reset()
Reset task variables to initial values.
Definition Task.cpp:29
Task()
Default constructor.
Definition Task.cpp:5
TaskType type
Definition Task.hpp:79
void setActivation(const double activation)
Set task activation.
Definition Task.cpp:45
double activation
Definition Task.hpp:64
uint nv
Definition Task.hpp:73
Eigen::VectorXd weights
Definition Task.hpp:61
Eigen::MatrixXd A
Definition Task.hpp:67
~Task()
Definition Task.cpp:25
virtual void update()=0
Update Task matrices and vectors.
RobotModelPtr robot_model
Definition Task.hpp:16
Eigen::VectorXd y_ref
Definition Task.hpp:56
void setWeights(const Eigen::VectorXd &weights)
Set task weights.
Definition Task.cpp:37
uint nj
Definition Task.hpp:76
Eigen::MatrixXd Aw
Definition Task.hpp:70
TaskConfig config
Definition Task.hpp:52
Definition ContactsAccelerationConstraint.cpp:3
std::shared_ptr< Task > TaskPtr
Definition Task.hpp:83
TaskType
Definition TaskConfig.hpp:10
std::shared_ptr< RobotModel > RobotModelPtr
Definition RobotModel.hpp:318