SCL  1.0
Standard Control Library : Control, dynamics, physics, and simulation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Macros Groups Pages
CActuatorMuscle.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 CActuatorMuscle.hpp
25  *
26  * Created on: Jul 21, 2013
27  *
28  * Copyright (C) 2013
29  *
30  * Author: Samir Menon <smenon@stanford.edu>
31  */
32 
33 #ifndef CACTUATORMUSCLE_HPP_
34 #define CACTUATORMUSCLE_HPP_
35 
36 #include <scl/data_structs/SObject.hpp>
37 
38 //Needs to access parent robot kinematics
39 #include <scl/data_structs/SRobotIO.hpp>
40 #include <scl/data_structs/SRobotParsed.hpp>
41 #include <scl/data_structs/SActuatorSetMuscleParsed.hpp>
42 #include <scl/dynamics/CDynamicsBase.hpp>
43 
44 #include <scl/actuation/muscles/data_structs/SActuatorMuscle.hpp>
45 
46 #include <Eigen/Eigen>
47 
48 namespace scl
49 {
72  {
73  public:
74  /* *****************************************************************
75  * Actuation Model
76  * ***************************************************************** */
114  virtual sBool computeJacobian(
116  const Eigen::VectorXd &arg_q,
122  Eigen::VectorXd& ret_J);
123 
124  /* *****************************************************************
125  * Accessors
126  * ***************************************************************** */
127  std::string getName() const
128  { return data_.name_; }
129 
130  /* *****************************************************************
131  * Initialization
132  * ***************************************************************** */
136  virtual sBool init(const std::string& arg_name,
137  const SRobotParsed *arg_robot,
138  const SActuatorSetMuscleParsed *arg_msys,
140  CDynamicsBase *arg_dynamics);
141 
143  virtual inline sBool hasBeenInit();
144 
145  /* *****************************************************************
146  * Constructors
147  * ***************************************************************** */
149  CActuatorMuscle();
150 
152  virtual ~CActuatorMuscle(){}
153 
154  protected:
157 
160 
163 
166 
169  };
170 
171 } /* namespace scl */
172 #endif /* CACTUATORMUSCLE_HPP_ */
const SMuscleParsed * muscle_
Definition: CActuatorMuscle.hpp:165
virtual sBool computeJacobian(const Eigen::VectorXd &arg_q, Eigen::VectorXd &ret_J)
Definition: CActuatorMuscle.cpp:212
virtual sBool hasBeenInit()
Definition: CActuatorMuscle.cpp:193
const SRobotParsed * robot_
Definition: CActuatorMuscle.hpp:159
Definition: SRobotParsed.hpp:51
const SActuatorSetMuscleParsed * msys_
Definition: CActuatorMuscle.hpp:162
Definition: CMappedList.hpp:85
virtual sBool init(const std::string &arg_name, const SRobotParsed *arg_robot, const SActuatorSetMuscleParsed *arg_msys, const sutil::CMappedList< std::string, SRigidBodyDyn > &arg_rbdtree, CDynamicsBase *arg_dynamics)
Definition: CActuatorMuscle.cpp:49
Definition: SActuatorSetMuscleParsed.hpp:124
Definition: CDynamicsBase.hpp:55
bool sBool
Definition: DataTypes.hpp:54
Definition: SActuatorSetMuscleParsed.hpp:76
SActuatorMuscle data_
Definition: CActuatorMuscle.hpp:156
virtual ~CActuatorMuscle()
Definition: CActuatorMuscle.hpp:152
Definition: CActuatorMuscle.hpp:71
std::string name_
Definition: SObject.hpp:69
Definition: SActuatorMuscle.hpp:48
CActuatorMuscle()
Definition: CActuatorMuscle.cpp:41
CDynamicsBase * dynamics_
Definition: CActuatorMuscle.hpp:168