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
28 ~Task();
29
33 void reset();
34
38 virtual void update() = 0;
39
44 void setWeights(const Eigen::VectorXd& weights);
45
50 void setActivation(const double activation);
51
54
57 Eigen::VectorXd y_ref;
58
62 Eigen::VectorXd weights;
63
65 double activation;
66
68 Eigen::MatrixXd A;
69
71 Eigen::MatrixXd Aw;
72
74 uint nv;
75
77 uint nj;
78
81};
82
83
84using TaskPtr = std::shared_ptr<Task> ;
85
86} // namespace wbc
87
88#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:80
void setActivation(const double activation)
Set task activation.
Definition Task.cpp:45
double activation
Definition Task.hpp:65
uint nv
Definition Task.hpp:74
Eigen::VectorXd weights
Definition Task.hpp:62
Eigen::MatrixXd A
Definition Task.hpp:68
~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:57
void setWeights(const Eigen::VectorXd &weights)
Set task weights.
Definition Task.cpp:37
uint nj
Definition Task.hpp:77
Eigen::MatrixXd Aw
Definition Task.hpp:71
TaskConfig config
Definition Task.hpp:53
Definition ContactsAccelerationConstraint.cpp:3
std::shared_ptr< Task > TaskPtr
Definition Task.hpp:84
TaskType
Definition TaskConfig.hpp:10
std::shared_ptr< RobotModel > RobotModelPtr
Definition RobotModel.hpp:315