1 #ifndef ROBOTICS_DYNAMIC_CHAIN3D_H 2 #define ROBOTICS_DYNAMIC_CHAIN3D_H 4 #include "KinematicChain3D.h" 5 #include <KrisLibrary/structs/array2d.h> 10 void GetWorldInertia(
Matrix3& inertiaWorld)
const;
11 void GetWorldCOM(
Vector3& comWorld)
const { T_World.mulPoint(com,comWorld); }
22 void Initialize(
int numBodies);
23 void UpdateDynamics();
32 void GetJacobianDeriv_Fast(
const Vector3& pm,
int m,
int i,
int j,
Vector3& ddtheta,
Vector3& ddp)
const;
33 void GetHessian(
const Vector3& pm,
int m, Matrix* Htheta[3], Matrix* Hp[3])
const;
34 void GetDirectionalHessian(
const Vector3& pm,
int m,
const Vector3& v, Matrix& Hpv)
const;
36 void GetWorldAcceleration(
const Vector3& pi,
int i,
const Vector& ddq,
Vector3& dw,
Vector3& dv)
const;
38 Real GetTotalMass()
const;
40 void GetCOMJacobian(Matrix& Jc)
const;
41 void GetCOMHessian(Matrix& Hx,Matrix& Hy,Matrix& Hz)
const;
42 Real GetKineticEnergy(
int i)
const;
43 Real GetKineticEnergy()
const;
44 void GetKineticEnergyMatrix(Matrix& B)
const;
46 Real GetKineticEnergyDeriv(
int i,
int j,
int z)
const;
47 void GetKineticEnergyMatrixDeriv(
int z,Matrix& dB)
const;
49 void GetKineticEnergyMatrixTimeDeriv(Matrix& dB)
const;
50 void GetCoriolisForceMatrix(Matrix& C);
51 void GetCoriolisForces(Vector& Cdq);
53 void GetForceVector(
const Vector3& torque,
const Vector3& force,
int i, Vector& F)
const;
54 void AddForceVector(
const Vector3& torque,
const Vector3& force,
int i, Vector& F)
const;
55 void GetGravityVector(
const Vector3& g0, Vector& G)
const;
56 Real GetGravityPotentialEnergy(
const Vector3& g0);
59 void GetAcceleration(Vector& ddq,
const Vector& fext);
66 std::vector<Matrix> dB_dq;
A 3D vector class.
Definition: math3d/primitives.h:136
Definition: KinematicChain3D.h:10
Definition: KinematicChain3D.h:45
A 3x3 matrix class.
Definition: math3d/primitives.h:469
Definition: DynamicChain3D.h:19
Definition: DynamicChain3D.h:7