SCL  1.0
Standard Control Library : Control, dynamics, physics, and simulation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros Groups Pages
STaskOpPos.hpp
1 /* This file is part of scl, a control and simulation library
2 for robots and biomechanical models.
3 
4 scl is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 3 of the License, or (at your option) any later version.
8 
9 Alternatively, you can redistribute it and/or
10 modify it under the terms of the GNU General Public License as
11 published by the Free Software Foundation; either version 2 of
12 the License, or (at your option) any later version.
13 
14 scl is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18 
19 You should have received a copy of the GNU Lesser General Public
20 License and a copy of the GNU General Public License along with
21 scl. If not, see <http://www.gnu.org/licenses/>.
22 */
23 /* \file STaskOpPos.hpp
24  *
25  * Created on: Jan 1, 2011
26  *
27  * Copyright (C) 2011
28  *
29  * Author: Samir Menon <smenon@stanford.edu>
30  */
31 
32 #ifndef SOPPOINTTASK_HPP_
33 #define SOPPOINTTASK_HPP_
34 
35 #include <scl/DataTypes.hpp>
36 #include <scl/control/task/data_structs/STaskBase.hpp>
37 
38 #include <Eigen/Dense>
39 
40 namespace scl
41 {
42 
43  class STaskOpPos : public scl::STaskBase
44  {
45  public:
46  //Computed attributes (last measured, in x dimensional task-space)
47  Eigen::VectorXd x_; //Position in the global frame
48  Eigen::VectorXd dx_; //Velocity in the global frame
49  Eigen::VectorXd ddx_; //Acceleration in the global frame
50 
51  Eigen::VectorXd x_goal_; //Goal Position in the global frame
52  Eigen::VectorXd dx_goal_; //Goal Velocity in the global frame
53  Eigen::VectorXd ddx_goal_; //Goal Acceleration in the global frame
54 
55  Eigen::Vector3d pos_in_parent_; //Position in the parent link's local frame (x,y,z)
56  std::string link_name_; //The parent link
57  const SRigidBody *link_ds_; //The parent link's parsed data structure
58 
59  sFloat spatial_resolution_; //Meters
60 
61  const SRigidBodyDyn *rbd_; //For quickly obtaining a task Jacobian
62 
64  STaskOpPos();
65 
67  virtual ~STaskOpPos();
68 
76  virtual bool initTaskParams();
77  };
78 
79 }
80 
81 #endif /* SOPPOINTTASK_HPP_ */
Definition: STaskBase.hpp:69
virtual ~STaskOpPos()
Definition: STaskOpPos.cpp:51
Definition: SRigidBody.hpp:94
STaskOpPos()
Definition: STaskOpPos.cpp:44
Definition: STaskOpPos.hpp:43
double sFloat
Definition: DataTypes.hpp:72
virtual bool initTaskParams()
Definition: STaskOpPos.cpp:55
Definition: SRigidBodyDyn.hpp:56