ForwardDynamicsABM.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2008, AIST, the University of Tokyo and General Robotix Inc.
3  * All rights reserved. This program is made available under the terms of the
4  * Eclipse Public License v1.0 which accompanies this distribution, and is
5  * available at http://www.eclipse.org/legal/epl-v10.html
6  * Contributors:
7  * National Institute of Advanced Industrial Science and Technology (AIST)
8  */
14 #ifndef OPENHRP_FORWARD_DYNAMICS_ABM_H_INCLUDED
15 #define OPENHRP_FORWARD_DYNAMICS_ABM_H_INCLUDED
16 
17 #include "ForwardDynamics.h"
18 #include <vector>
19 #include <boost/intrusive_ptr.hpp>
20 #include <hrpUtil/Eigen3d.h>
21 #include "Config.h"
22 
23 
24 namespace hrp
25 {
26  class LinkTraverse;
27  class AccelSensor;
28  class ForceSensor;
29 
33  class HRPMODEL_API ForwardDynamicsABM : public ForwardDynamics {
34 
35  public:
36 
39 
40  virtual void initialize();
41  virtual void calcNextState();
42 
43  private:
44 
45  void calcMotionWithEulerMethod();
46  void integrateRungeKuttaOneStep(double r, double dt);
47  void calcMotionWithRungeKuttaMethod();
48 
52  void calcABMPhase1();
53 
57  void calcABMPhase2();
58  void calcABMPhase2Part1();
59  void calcABMPhase2Part2();
60 
64  void calcABMPhase3();
65 
66  inline void calcABMFirstHalf();
67  inline void calcABMLastHalf();
68 
69  void updateForceSensors();
70  void updateForceSensor(ForceSensor* sensor);
71 
72  // Buffers for the Runge Kutta Method
77  std::vector<double> q0;
78  std::vector<double> dq0;
79 
84  std::vector<double> dq;
85  std::vector<double> ddq;
86 
87  };
88 
89 };
90 
91 #endif
std::vector< double > ddq
boost::shared_ptr< Body > BodyPtr
Definition: Body.h:315
Eigen::Vector3d Vector3
Definition: EigenTypes.h:11
Eigen::Matrix3d Matrix33
Definition: EigenTypes.h:12
std::vector< double > dq
std::vector< double > dq0
std::vector< double > q0


openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Thu Sep 8 2022 02:24:03