SCL  1.0
Standard Control Library : Control, dynamics, physics, and simulation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros Groups Pages
CActuatorSetBase.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 /*
24  * \file CActuatorSetBase.hpp
25  *
26  * Created on: Aug 24, 2012
27  *
28  * Author: Samir Menon <smenon@stanford.edu>
29  */
30 
31 #ifndef CACTUATORSETBASE_HPP_
32 #define CACTUATORSETBASE_HPP_
33 
34 #include <scl/actuation/CActuatorBase.hpp>
35 #include <scl/data_structs/SObject.hpp>
36 #include <sutil/CMappedList.hpp>
37 #include <string>
38 
39 namespace scl
40 {
59  class CActuatorSetBase : public SObject
60  {
61  public:
62  /* *****************************************************************
63  * Actuator Kinematics
64  * ***************************************************************** */
70  virtual sBool computeJacobian(
71  const Eigen::VectorXd arg_q,
72  Eigen::MatrixXd &ret_J)=0;
73 
74  /* *****************************************************************
75  * Actuator Dynamics
76  * ***************************************************************** */
86  virtual sBool computeDynamics(const Eigen::VectorXd& arg_input,
87  const Eigen::MatrixXd& arg_state,
88  Eigen::VectorXd& ret_output_force)=0;
89 
90  /* *****************************************************************
91  * Initialization
92  * ***************************************************************** */
94  CActuatorSetBase(const std::string& arg_subclass_type_name) :
95  SObject(arg_subclass_type_name) {}
96 
98  virtual ~CActuatorSetBase() {}
99 
100  private:
102  };
103 
104 } /* namespace sutil */
105 #endif /* CACTUATORSETBASE_HPP_ */
Definition: CActuatorSetBase.hpp:59
virtual sBool computeJacobian(const Eigen::VectorXd arg_q, Eigen::MatrixXd &ret_J)=0
virtual ~CActuatorSetBase()
Definition: CActuatorSetBase.hpp:98
bool sBool
Definition: DataTypes.hpp:54
CActuatorSetBase(const std::string &arg_subclass_type_name)
Definition: CActuatorSetBase.hpp:94
virtual sBool computeDynamics(const Eigen::VectorXd &arg_input, const Eigen::MatrixXd &arg_state, Eigen::VectorXd &ret_output_force)=0
Definition: SObject.hpp:43