1 #ifndef IIT_CT_DOUBLEINVERTEDPENDULUM_INVERSE_DYNAMICS_H_ 2 #define IIT_CT_DOUBLEINVERTEDPENDULUM_INVERSE_DYNAMICS_H_ 12 #include "transforms.h" 16 namespace ct_DoubleInvertedPendulum {
40 template <
typename TRAIT>
43 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
56 typedef iit::ct_DoubleInvertedPendulum::tpl::MotionTransforms<TRAIT>
MTransforms;
82 const JointState& q,
const JointState& qd,
const JointState& qdd,
83 const ExtForces& fext = zeroExtForces);
86 const JointState& qd,
const JointState& qdd,
87 const ExtForces& fext = zeroExtForces);
94 void G_terms(JointState& jForces,
const JointState& q);
96 void G_terms(JointState& jForces);
103 void C_terms(JointState& jForces,
const JointState& q,
const JointState& qd);
105 void C_terms(JointState& jForces,
const JointState& qd);
136 void firstPass(
const JointState& qd,
const JointState& qdd,
const ExtForces& fext);
140 IProperties* inertiaProps;
145 const InertiaMatrix& Link1_I;
147 Acceleration Link1_a;
150 const InertiaMatrix& Link2_I;
152 Acceleration Link2_a;
157 static const ExtForces zeroExtForces;
160 template <
typename TRAIT>
163 (xm->fr_Link1_X_fr_DoubleInvertedPendulumBase)(q);
164 (xm->fr_Link2_X_fr_Link1)(q);
167 template <
typename TRAIT>
174 template <
typename TRAIT>
181 template <
typename TRAIT>
188 id(jForces, qd, qdd, fext);
Definition: link_data_map.h:12
iit::rbd::tpl::InertiaMatrixDense< Scalar > InertiaMatrix
Definition: inverse_dynamics.h:53
void secondPass(JointState &jForces)
Definition: inverse_dynamics.impl.h:92
CoreS::ForceVector Force
Definition: inverse_dynamics.h:49
void id(JointState &jForces, const JointState &q, const JointState &qd, const JointState &qdd, const ExtForces &fext=zeroExtForces)
Definition: inverse_dynamics.h:182
const Velocity & getVelocity_Link2() const
Definition: inverse_dynamics.h:131
iit::ct_DoubleInvertedPendulum::tpl::JointState< Scalar > JointState
Definition: inverse_dynamics.h:54
PlainMatrix< Scalar, 6, 6 > Matrix66
void firstPass(const JointState &qd, const JointState &qdd, const ExtForces &fext)
Definition: inverse_dynamics.impl.h:69
void G_terms(JointState &jForces, const JointState &q)
Definition: inverse_dynamics.h:168
const Velocity & getVelocity_Link1() const
Definition: inverse_dynamics.h:128
const Force & getForce_Link1() const
Definition: inverse_dynamics.h:130
Column2d< SCALAR > JointState
Definition: declarations.h:19
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef TRAIT::Scalar Scalar
Definition: inverse_dynamics.h:45
ct::core::ADCodegenLinearizer< state_dim, control_dim >::ADCGScalar Scalar
Definition: HyALinearizationCodeGen.cpp:23
LinkDataMap< Force > ExtForces
Definition: inverse_dynamics.h:55
const Acceleration & getAcceleration_Link1() const
Definition: inverse_dynamics.h:129
CoreS::VelocityVector Acceleration
Definition: inverse_dynamics.h:51
Definition: inverse_dynamics.h:41
InverseDynamics(IProperties &in, MTransforms &tr)
Definition: inverse_dynamics.impl.h:7
const Force & getForce_Link2() const
Definition: inverse_dynamics.h:133
iit::rbd::Core< Scalar > CoreS
Definition: inverse_dynamics.h:47
InertiaProperties< TRAIT > IProperties
Definition: inverse_dynamics.h:57
const Acceleration & getAcceleration_Link2() const
Definition: inverse_dynamics.h:132
CoreS::VelocityVector Velocity
Definition: inverse_dynamics.h:50
void C_terms(JointState &jForces, const JointState &q, const JointState &qd)
Definition: inverse_dynamics.h:175
iit::ct_DoubleInvertedPendulum::tpl::MotionTransforms< TRAIT > MTransforms
Definition: inverse_dynamics.h:56
void setJointStatus(const JointState &q) const
Definition: inverse_dynamics.h:161
Definition: inertia_properties.h:24
CoreS::Matrix66 Matrix66s
Definition: inverse_dynamics.h:52