10 #ifndef LIBBIOMIMETICS_QUADRUPED_H 11 #define LIBBIOMIMETICS_QUADRUPED_H 17 #include <eigen3/Eigen/StdVector> 31 constexpr
size_t FR = 9;
32 constexpr
size_t FL = 11;
33 constexpr
size_t HR = 13;
34 constexpr
size_t HL = 15;
58 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
68 Vec3<T> _abadLocation, _abadRotorLocation, _hipLocation, _hipRotorLocation,
72 std::vector<ActuatorModel<T>> buildActuatorModels();
75 const T sideSigns[4] = {-1, 1, -1, 1};
76 assert(leg >= 0 && leg < 4);
77 return sideSigns[leg];
84 assert(leg >= 0 && leg < 4);
85 Vec3<T> pHip((leg == 0 || leg == 1) ? _abadLocation(0) : -_abadLocation(0),
86 (leg == 1 || leg == 3) ? _abadLocation(1) : -_abadLocation(1),
92 template <
typename T,
typename T2>
95 #endif // LIBBIOMIMETICS_QUADRUPED_H
typename Eigen::Matrix< T, 3, 1 > Vec3
constexpr size_t num_act_joint
constexpr size_t num_leg_joint
Vec3< T > getHipLocation(int leg)
static T getSideSign(int leg)
Class representing spatial inertia tensors.
Vec3< T > withLegSigns(const Eigen::MatrixBase< T2 > &v, int legID)
constexpr float servo_rate
EIGEN_MAKE_ALIGNED_OPERATOR_NEW RobotType _robotType
Vec3< T > _kneeRotorLocation
Model of actuator Includes friction, max torque, and motor torque speed curve.
SpatialInertia< T > _kneeRotorInertia
Implementation of Rigid Body Floating Base model data structure.
constexpr size_t dim_config