RelativeEndEffectorTask.h
Go to the documentation of this file.
1 /*
2  * Copyright 2015-2019 CNRS-UM LIRMM, CNRS-AIST JRL
3  */
4 
5 #pragma once
6 
8 #include <mc_tasks/api.h>
9 
10 namespace mc_tasks
11 {
12 
19 {
20 public:
32  const mc_rbdyn::Frame & relative,
33  double stiffness = 10.0,
34  double weight = 1000.0);
35 
51  RelativeEndEffectorTask(const std::string & bodyName,
52  const mc_rbdyn::Robots & robots,
53  unsigned int robotIndex,
54  const std::string & relBodyName = "",
55  double stiffness = 10.0,
56  double weight = 1000.0);
57 
58  void reset() override;
59 
60  void add_ef_pose(const sva::PTransformd & dtr) override;
61 
62  void set_ef_pose(const sva::PTransformd & tf) override;
63 
64  sva::PTransformd get_ef_pose() override;
65 
66 protected:
67  void addToGUI(mc_rtc::gui::StateBuilder & gui) override;
68 
69 private:
70  mc_rbdyn::ConstFramePtr relative_;
71 
72  void update(mc_solver::QPSolver &) override;
73 };
74 
75 } // namespace mc_tasks
#define MC_TASKS_DLLAPI
Definition: api.h:50
std::shared_ptr< const Frame > ConstFramePtr
Definition: fwd.h:29
Definition: StabilizerStandingState.h:12
Definition: Frame.h:28
Definition: RobotFrame.h:22
Definition: Robots.h:16
Definition: StateBuilder.h:28
Definition: QPSolver.h:86
Controls an end-effector.
Definition: EndEffectorTask.h:20
Controls an end-effector relatively to another frame.
Definition: RelativeEndEffectorTask.h:19
RelativeEndEffectorTask(const std::string &bodyName, const mc_rbdyn::Robots &robots, unsigned int robotIndex, const std::string &relBodyName="", double stiffness=10.0, double weight=1000.0)
Constructor.
sva::PTransformd get_ef_pose() override
Returns the current target positions.
void set_ef_pose(const sva::PTransformd &tf) override
Change the target position.
void add_ef_pose(const sva::PTransformd &dtr) override
Increment the target position.
void reset() override
Reset the task.
void addToGUI(mc_rtc::gui::StateBuilder &gui) override
RelativeEndEffectorTask(const mc_rbdyn::RobotFrame &frame, const mc_rbdyn::Frame &relative, double stiffness=10.0, double weight=1000.0)
Constructor.