ocra-recipes
Doxygen documentation for the ocra-recipes repository
gOcraSegPoseTaskManager.h
Go to the documentation of this file.
1 #ifndef gOcraSEGPOSETASKMANAGER_H
2 #define gOcraSEGPOSETASKMANAGER_H
3 
4 #include "ocra/control/Model.h"
8 
9 #include <Eigen/Dense>
10 
11 namespace gocra
12 {
13 
18 {
19  public:
20  gOcraSegPoseTaskManager(GHCJTController& ctrl, const ocra::Model& model, const std::string& taskName, const std::string& segmentName, ocra::ECartesianDof axes, double stiffness, double damping);
21 
22  gOcraSegPoseTaskManager(GHCJTController& ctrl, const ocra::Model& model, const std::string& taskName, const std::string& segmentName, ocra::ECartesianDof axes, double stiffness, double damping, const Eigen::Displacementd& targetPose);
23 
25 
26  void setState(const Eigen::Displacementd& pose);
27  void setState(const Eigen::Displacementd& pose, const Eigen::Twistd& velocity, const Eigen::Twistd& acceleration);
28 
29  // All Managers have this
30  void activate();
31  void deactivate();
32 
33  // For objective tasks
34  void setStiffness(double stiffness);
35  double getStiffness();
36  void setDamping(double damping);
37  double getDamping();
38 
39  // Task error
40  Eigen::VectorXd getTaskError();
41 
42  private:
43  gocra::GHCJTTask* task;
44 
45  const std::string& segmentName;
47 
50  ocra::SegmentFrame* featFrame;
51  ocra::TargetFrame* featDesFrame;
52 
53  void _init(const Eigen::Displacementd& ref_LocalFrame, double stiffness, double damping);
54 };
55 
56 }
57 
58 #endif // gOcraSEGPOSETASKMANAGER_H
Define task class for GHCJT controller. It inherits from the task class defined in the ocra framework...
gOcraSegPoseTaskManager(GHCJTController &ctrl, const ocra::Model &model, const std::string &taskName, const std::string &segmentName, ocra::ECartesianDof axes, double stiffness, double damping)
Declaration file of the Model class.
Model class.
Definition: Model.h:38
Task Manager for the Center of Mass (CoM) task with the gOcra Controllers.
gOcra Controller based on LQP solver for the ocra framework.
Define the Generalized Hierarchical Controller based on Jacobian transpose (GHCJT) in quasi-static ca...
ECartesianDof
Definition: ControlEnum.h:18
A frame attached to a segment of a model.
Definition: ControlFrame.h:104
A generic abstract task for the GHCJT controller.
Definition: GHCJTTask.h:41
gocra::GHCJTController & ctrl
Used to build position/orientation tasks.
Definition: Feature.h:235
Task Manager for a segment&#39;s pose.
void setState(const Eigen::Displacementd &pose)
Represents a &#39;target&#39;, i.e. something that does not depend on a model but must match with another fra...
Definition: ControlFrame.h:75