1 #ifndef _FLEXIBILITY_COMPENSATION_
2 #define _FLEXIBILITY_COMPENSATION_
25 out <<
"FlexSettings:\n";
33 out <<
" filtered: " << obj.
filtered <<
"\n";
35 out <<
" dt: " << obj.
dt <<
"\n" << std::endl;
46 test &= lhs.
dt == rhs.
dt;
57 unsigned long MA_samples_;
61 std::deque<eArray2> queue_LH_, queue_RH_;
64 eArray2 temp_damping_, temp_actuation_, temp_full_torque_, temp_stiff_;
65 eArray2 temp_equiv_stiff_, temp_compliance_;
67 eArray2 summation_LH_ = eArray2::Zero();
68 eArray2 summation_RH_ = eArray2::Zero();
69 unsigned long queueSize_;
75 eVector2 leftFlex0_ = eVector2::Zero();
76 eVector2 rightFlex0_ = eVector2::Zero();
78 eVector2 leftFlexRate_, rightFlexRate_;
89 eVector2 flexingLeftTorque_, flexingRightTorque_;
104 eVectorX &dq,
const Eigen::Array3i &hipIndices);
106 const eArray2 &movingAverage(
const eArray2 &x, std::deque<eArray2> &queue,
119 const eArray2 &damping,
const double dt);
Definition: flexi-hips.hpp:54
const FlexSettings & getSettings()
Definition: flexi-hips.hpp:142
const eVector2 getLeftFlexRate(void)
Definition: flexi-hips.hpp:154
const eVector2 & getRightFlex0(void)
Definition: flexi-hips.hpp:150
const std::deque< eArray2 > & get_queue_RH(void)
Definition: flexi-hips.hpp:160
void correctEstimatedDeflections(const eVectorX &desiredTorque, eVectorX &q, eVectorX &dq, const eVector3 &leftForce, const eVector3 &rightForce)
Definition: flexi-hips.cpp:148
const std::deque< eArray2 > & get_queue_LH(void)
Definition: flexi-hips.hpp:159
const eArray2 & get_summation_RH(void)
Definition: flexi-hips.hpp:158
const eVector3 & currentFlexToJoint(const eVector2 &delta)
Definition: flexi-hips.cpp:129
const eVector2 getRightFlexRate(void)
Definition: flexi-hips.hpp:155
const eVector2 & getLeftFlex0(void)
Definition: flexi-hips.hpp:147
const eVector2 & estimateFlexingTorque(const eVector3 &hipPos, const eVector3 &jointTorque)
Definition: flexi-hips.cpp:119
void setRightFlex0(const eVector2 &delta0)
Definition: flexi-hips.hpp:149
void setLeftFlex0(const eVector2 &delta0)
Definition: flexi-hips.hpp:146
const eArray2 & get_summation_LH(void)
Definition: flexi-hips.hpp:157
const eVector2 & computeDeflection(const eArray2 &torques, const eArray2 &delta0, const eArray2 &stiffness, const eArray2 &damping, const double dt)
Definition: flexi-hips.cpp:18
void correctDeflections(const eVector2 &leftFlexingTorque, const eVector2 &rightFlexingTorque, eVectorX &q, eVectorX &dq)
Definition: flexi-hips.cpp:83
void reset()
Definition: flexi-hips.cpp:216
Flex()
Definition: flexi-hips.cpp:7
const eVector2 getLeftFlex(void)
Definition: flexi-hips.hpp:152
void initialize(const FlexSettings &settings)
Definition: flexi-hips.cpp:13
const eVector2 getRightFlex(void)
Definition: flexi-hips.hpp:153
Definition: flexi-hips.hpp:9
Eigen::Vector3d eVector3
Definition: fwd.hpp:11
Eigen::Vector2d eVector2
Definition: fwd.hpp:8
Eigen::Matrix2d eMatrix2
Definition: fwd.hpp:13
Eigen::VectorXd eVectorX
Definition: fwd.hpp:12
Eigen::Array2d eArray2
Definition: fwd.hpp:9
Eigen::Matrix3d eMatrixRot
Definition: fwd.hpp:10
Definition: flexi-hips.hpp:11
friend bool operator==(const FlexSettings &lhs, const FlexSettings &rhs)
Definition: flexi-hips.hpp:39
eVector2 left_stiffness
Definition: flexi-hips.hpp:13
Eigen::Array3i left_hip_indices
Definition: flexi-hips.hpp:18
eVector3 flexToJoint
Definition: flexi-hips.hpp:17
eVector2 right_stiffness
Definition: flexi-hips.hpp:15
double MA_duration
Definition: flexi-hips.hpp:21
Eigen::Array3i right_hip_indices
Definition: flexi-hips.hpp:19
double dt
Definition: flexi-hips.hpp:21
eVector2 left_damping
Definition: flexi-hips.hpp:14
friend std::ostream & operator<<(std::ostream &out, const FlexSettings &obj)
Definition: flexi-hips.hpp:24
eVector2 right_damping
Definition: flexi-hips.hpp:16
bool filtered
Definition: flexi-hips.hpp:22