11 #include <Tasks/QPTasks.h>
38 void dimWeight(
const Eigen::VectorXd & dimW)
override;
47 const std::vector<std::string> & activeJointsName,
48 const std::map<std::string, std::vector<std::array<int, 2>>> & activeDofs = {})
override;
55 const std::vector<std::string> & unactiveJointsName,
56 const std::map<std::string, std::vector<std::array<int, 2>>> & unactiveDofs = {})
override;
64 Eigen::VectorXd
eval()
const override;
66 Eigen::VectorXd
speed()
const override;
69 void posture(
const std::vector<std::vector<double>> & p);
75 void refVel(
const Eigen::VectorXd & refVel) noexcept;
78 const Eigen::VectorXd &
refVel() const noexcept;
84 void refAccel(const Eigen::VectorXd & refAccel) noexcept;
87 const Eigen::VectorXd & refAccel() const noexcept;
90 std::vector<
std::vector<
double>> posture() const;
93 void jointGains(const
mc_solver::QPSolver & solver, const
std::vector<tasks::qp::JointGains> & jgs);
96 void jointStiffness(const
mc_solver::QPSolver & solver, const
std::vector<tasks::qp::JointStiffness> & jss);
99 void jointWeights(const
std::map<
std::
string,
double> & jws);
106 void target(const
std::map<
std::
string,
std::vector<
double>> & joints);
115 void stiffness(
double s);
118 double stiffness() const;
125 void damping(
double d);
128 double damping() const;
137 void setGains(
double stiffness,
double damping);
140 void weight(
double w);
143 double weight() const;
146 bool inSolver() const;
149 void addToSolver(
mc_solver::QPSolver & solver) override;
151 void removeFromSolver(
mc_solver::QPSolver & solver) override;
155 void addToGUI(
mc_rtc::gui::StateBuilder &) override;
157 void addToLogger(
mc_rtc::Logger & logger) override;
161 bool inSolver_ = false;
164 unsigned int rIndex_;
177 std::vector<
std::vector<
double>> posture_;
179 std::unordered_map<
std::
string,
std::vector<
int>> mimics_;
181 Eigen::VectorXd eval_;
183 Eigen::VectorXd speed_;
#define MC_TASKS_DLLAPI
Definition: api.h:50
Definition: generic_gripper.h:15
std::unique_ptr< void, void(*)(void *)> void_ptr
Definition: void_ptr.h:14
Definition: StabilizerStandingState.h:12
std::shared_ptr< PostureTask > PostureTaskPtr
Definition: PostureTask.h:186
Simplify access to values hold within a JSON file.
Definition: Configuration.h:166
Definition: QPSolver.h:86
Definition: PostureTask.h:24
PostureTask(const mc_solver::QPSolver &solver, unsigned int rIndex, double stiffness=1, double weight=10)
void posture(const std::vector< std::vector< double >> &p)
Eigen::VectorXd eval() const override
Returns the task error.
void resetJointsSelector(mc_solver::QPSolver &solver) override
Reset the joint selector effect.
void dimWeight(const Eigen::VectorXd &dimW) override
Set the task dimensional weight.
void refVel(const Eigen::VectorXd &refVel) noexcept
Eigen::VectorXd speed() const override
Returns the task velocity.
void load(mc_solver::QPSolver &solver, const mc_rtc::Configuration &config) override
Load parameters from a Configuration object.
void reset() override
Reset the task.
Eigen::VectorXd dimWeight() const override
Get the current task's dim weight vector.
void selectActiveJoints(mc_solver::QPSolver &solver, const std::vector< std::string > &activeJointsName, const std::map< std::string, std::vector< std::array< int, 2 >>> &activeDofs={}) override
Select active joints for this task.
const Eigen::VectorXd & refVel() const noexcept
void selectUnactiveJoints(mc_solver::QPSolver &solver, const std::vector< std::string > &unactiveJointsName, const std::map< std::string, std::vector< std::array< int, 2 >>> &unactiveDofs={}) override
Select inactive joints for this task.