tsid  1.8.0
Efficient Task Space Inverse Dynamics for Multi-body Systems based on Pinocchio
task-motion.hpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2017 CNRS, NYU, MPI Tübingen
3 //
4 // This file is part of tsid
5 // tsid is free software: you can redistribute it
6 // and/or modify it under the terms of the GNU Lesser General Public
7 // License as published by the Free Software Foundation, either version
8 // 3 of the License, or (at your option) any later version.
9 // tsid is distributed in the hope that it will be
10 // useful, but WITHOUT ANY WARRANTY; without even the implied warranty
11 // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 // General Lesser Public License for more details. You should have
13 // received a copy of the GNU Lesser General Public License along with
14 // tsid If not, see
15 // <http://www.gnu.org/licenses/>.
16 //
17 
18 #ifndef __invdyn_task_motion_hpp__
19 #define __invdyn_task_motion_hpp__
20 
21 #include "tsid/tasks/task-base.hpp"
23 
24 namespace tsid {
25 namespace tasks {
26 class TaskMotion : public TaskBase {
27  public:
28  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
29 
32 
33  TaskMotion(const std::string& name, RobotWrapper& robot);
34 
35  virtual const TrajectorySample& getReference() const;
36 
37  virtual const Vector& getDesiredAcceleration() const;
38 
39  virtual Vector getAcceleration(ConstRefVector dv) const;
40 
41  virtual const Vector& position_error() const;
42  virtual const Vector& velocity_error() const;
43  virtual const Vector& position() const;
44  virtual const Vector& velocity() const;
45  virtual const Vector& position_ref() const;
46  virtual const Vector& velocity_ref() const;
47 
48  virtual void setMask(math::ConstRefVector mask);
49  virtual const Vector& getMask() const;
50  virtual bool hasMask();
51 
52  protected:
56 };
57 } // namespace tasks
58 } // namespace tsid
59 
60 #endif // ifndef __invdyn_task_motion_hpp__
Wrapper for a robot based on pinocchio.
Definition: robot-wrapper.hpp:37
Base template of a Task. Each class is defined according to a constant model of a robot.
Definition: task-base.hpp:34
const std::string & name() const
Definition: task-base.cpp:25
math::ConstRefVector ConstRefVector
Definition: task-base.hpp:39
Definition: task-motion.hpp:26
virtual const Vector & getMask() const
Definition: task-motion.cpp:33
Vector m_dummy
Definition: task-motion.hpp:54
virtual const Vector & velocity() const
Definition: task-motion.cpp:46
virtual const Vector & velocity_error() const
Definition: task-motion.cpp:44
virtual const Vector & velocity_ref() const
Definition: task-motion.cpp:48
Vector m_mask
Definition: task-motion.hpp:53
virtual void setMask(math::ConstRefVector mask)
Definition: task-motion.cpp:29
TaskMotion(const std::string &name, RobotWrapper &robot)
Definition: task-motion.cpp:26
trajectories::TrajectorySample TrajectorySample
Definition: task-motion.hpp:31
trajectories::TrajectorySample TrajectorySample_dummy
Definition: task-motion.hpp:55
virtual const TrajectorySample & getReference() const
Definition: task-motion.cpp:35
virtual const Vector & position() const
Definition: task-motion.cpp:45
virtual Vector getAcceleration(ConstRefVector dv) const
Definition: task-motion.cpp:41
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef math::Vector Vector
Definition: task-motion.hpp:30
virtual const Vector & position_ref() const
Definition: task-motion.cpp:47
virtual bool hasMask()
Definition: task-motion.cpp:31
virtual const Vector & position_error() const
Definition: task-motion.cpp:43
virtual const Vector & getDesiredAcceleration() const
Definition: task-motion.cpp:39
Definition: trajectory-base.hpp:33
const Eigen::Ref< const Vector > ConstRefVector
Definition: fwd.hpp:48
Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > Vector
Definition: fwd.hpp:35
Definition: constraint-bound.hpp:25