SCL  1.0
Standard Control Library : Control, dynamics, physics, and simulation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros Groups Pages
STaskOpPosPIDA1OrderInfTime.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 STaskOpPosPIDA1OrderInfTime.hpp
24  *
25  * Created on: Aug 9, 2013
26  *
27  * Copyright (C) 2013
28  *
29  * Author: Samir Menon <smenon@stanford.edu>
30  */
31 
32 #ifndef SOPPOINTTASKPIDA1ORDERINFTIME_HPP_
33 #define SOPPOINTTASKPIDA1ORDERINFTIME_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 
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 
57  Eigen::VectorXd integral_force_;
58 
59  Eigen::Vector3d pos_in_parent_; //Position in the parent link's local frame (x,y,z)
60  std::string link_name_; //The parent link
61  const SRigidBody *link_ds_; //The parent link's parsed data structure
62 
63  sFloat spatial_resolution_; //Meters
64 
65  const SRigidBodyDyn *rbd_; //For quickly obtaining a task Jacobian
66 
70  sFloat integral_gain_time_pre_, integral_gain_time_curr_;
71 
74 
77 
87  virtual bool initTaskParams();
88  };
89 
90 }
91 
92 #endif /* SOPPOINTTASKPIDA1ORDERINFTIME_HPP_ */
Definition: STaskBase.hpp:69
Eigen::VectorXd integral_force_
Definition: STaskOpPosPIDA1OrderInfTime.hpp:57
sFloat integral_gain_time_pre_
Definition: STaskOpPosPIDA1OrderInfTime.hpp:70
Definition: SRigidBody.hpp:94
Definition: STaskOpPosPIDA1OrderInfTime.hpp:43
virtual ~STaskOpPosPIDA1OrderInfTime()
Definition: STaskOpPosPIDA1OrderInfTime.cpp:52
virtual bool initTaskParams()
Definition: STaskOpPosPIDA1OrderInfTime.cpp:56
STaskOpPosPIDA1OrderInfTime()
Definition: STaskOpPosPIDA1OrderInfTime.cpp:44
double sFloat
Definition: DataTypes.hpp:72
Definition: SRigidBodyDyn.hpp:56