hrplib
hrpModel
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
37
ForwardDynamicsABM
(
BodyPtr
body);
38
~
ForwardDynamicsABM
();
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
73
Vector3
p0
;
74
Matrix33
R0
;
75
Vector3
vo0
;
76
Vector3
w0
;
77
std::vector<double>
q0
;
78
std::vector<double>
dq0
;
79
80
Vector3
vo
;
81
Vector3
w
;
82
Vector3
dvo
;
83
Vector3
dw
;
84
std::vector<double>
dq
;
85
std::vector<double>
ddq
;
86
87
};
88
89
};
90
91
#endif
hrp::ForwardDynamicsABM::vo
Vector3 vo
Definition:
ForwardDynamicsABM.h:80
hrp::ForwardDynamicsABM::q0
std::vector< double > q0
Definition:
ForwardDynamicsABM.h:77
hrp::ForwardDynamicsABM::dq0
std::vector< double > dq0
Definition:
ForwardDynamicsABM.h:78
hrp::ForwardDynamicsABM::ddq
std::vector< double > ddq
Definition:
ForwardDynamicsABM.h:85
ForceSensor
Definition:
server/UtDynamicsSimulator/Sensor.h:64
hrp::ForwardDynamicsABM::w0
Vector3 w0
Definition:
ForwardDynamicsABM.h:76
hrp::ForwardDynamicsABM::R0
Matrix33 R0
Definition:
ForwardDynamicsABM.h:74
hrp
Definition:
ColdetModel.h:28
hrp::ForceSensor
Definition:
hrplib/hrpModel/Sensor.h:68
hrp::ForwardDynamicsABM::dvo
Vector3 dvo
Definition:
ForwardDynamicsABM.h:82
hrp::Vector3
Eigen::Vector3d Vector3
Definition:
EigenTypes.h:11
hrp::ForwardDynamicsABM::vo0
Vector3 vo0
Definition:
ForwardDynamicsABM.h:75
hrp::ForwardDynamicsABM::w
Vector3 w
Definition:
ForwardDynamicsABM.h:81
hrp::BodyPtr
boost::shared_ptr< Body > BodyPtr
Definition:
Body.h:315
hrp::ForwardDynamicsABM
Definition:
ForwardDynamicsABM.h:33
ForwardDynamics.h
hrp::ForwardDynamicsABM::dq
std::vector< double > dq
Definition:
ForwardDynamicsABM.h:84
hrp::ForwardDynamicsABM::p0
Vector3 p0
Definition:
ForwardDynamicsABM.h:73
hrp::Matrix33
Eigen::Matrix3d Matrix33
Definition:
EigenTypes.h:12
hrp::ForwardDynamics
Definition:
ForwardDynamics.h:35
Eigen3d.h
hrp::ForwardDynamicsABM::dw
Vector3 dw
Definition:
ForwardDynamicsABM.h:83
AccelSensor
Definition:
server/UtDynamicsSimulator/Sensor.h:91
openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Wed Sep 7 2022 02:51:02