1 #ifndef _FLEXIBILITY_COMPENSATION_ 2 #define _FLEXIBILITY_COMPENSATION_ 24 out <<
"FlexSettings:\n";
31 out <<
" filtered: " << obj.
filtered <<
"\n";
33 out <<
" dt: " << obj.
dt <<
"\n" << std::endl;
43 test &= lhs.
dt == rhs.
dt;
54 unsigned long MA_samples_;
58 std::deque<eArray2> queue_LH_, queue_RH_;
61 eArray2 temp_damping_, temp_actuation_, temp_full_torque_, temp_stiff_;
62 eArray2 temp_equiv_stiff_, temp_compliance_;
64 eArray2 summation_LH_ = eArray2::Zero();
65 eArray2 summation_RH_ = eArray2::Zero();
66 unsigned long queueSize_;
72 eVector2 leftFlex0_ = eVector2::Zero();
73 eVector2 rightFlex0_ = eVector2::Zero();
75 eVector2 leftFlexRate_, rightFlexRate_;
78 eMatrix2 adaptLeftYawl_, adaptRightYawl_;
93 eVectorX &dq,
const Eigen::Array3i &hipIndices);
95 const eArray2 &movingAverage(
const eArray2 &x, std::deque<eArray2> &queue,
108 const eArray2 &damping,
const double dt);
Eigen::Matrix3d eMatrixRot
Definition: fwd.hpp:10
Eigen::Matrix2d eMatrix2
Definition: fwd.hpp:13
eVector2 right_stiffness
Definition: flexi-hips.hpp:15
eVector2 left_damping
Definition: flexi-hips.hpp:14
Definition: flexi-hips.hpp:9
Eigen::Array2d eArray2
Definition: fwd.hpp:9
const std::deque< eArray2 > & get_queue_RH(void)
Definition: flexi-hips.hpp:130
bool filtered
Definition: flexi-hips.hpp:21
Definition: flexi-hips.hpp:51
const eVector2 & getLeftFlex0(void)
Definition: flexi-hips.hpp:122
const eArray2 & get_summation_RH(void)
Definition: flexi-hips.hpp:128
const std::deque< eArray2 > & get_queue_LH(void)
Definition: flexi-hips.hpp:129
const FlexSettings & getSettings()
Definition: flexi-hips.hpp:117
const eVector2 & computeDeflection(const eArray2 &torques, const eArray2 &delta0, const eArray2 &stiffness, const eArray2 &damping, const double dt)
Definition: flexi-hips.cpp:18
Eigen::VectorXd eVectorX
Definition: fwd.hpp:12
Flex()
Definition: flexi-hips.cpp:7
void reset()
Definition: flexi-hips.cpp:162
Definition: flexi-hips.hpp:11
eVector2 left_stiffness
Definition: flexi-hips.hpp:13
Eigen::Array3i left_hip_indices
Definition: flexi-hips.hpp:17
const eVector2 & getRightFlex0(void)
Definition: flexi-hips.hpp:125
friend std::ostream & operator<<(std::ostream &out, const FlexSettings &obj)
Definition: flexi-hips.hpp:23
void setLeftFlex0(const eVector2 &delta0)
Definition: flexi-hips.hpp:121
friend bool operator==(const FlexSettings &lhs, const FlexSettings &rhs)
Definition: flexi-hips.hpp:37
double dt
Definition: flexi-hips.hpp:20
Eigen::Vector2d eVector2
Definition: fwd.hpp:8
Eigen::Array3i right_hip_indices
Definition: flexi-hips.hpp:18
Eigen::Vector3d eVector3
Definition: fwd.hpp:11
void correctEstimatedDeflections(const eVectorX &desiredTorque, eVectorX &q, eVectorX &dq)
Definition: flexi-hips.cpp:119
void setRightFlex0(const eVector2 &delta0)
Definition: flexi-hips.hpp:124
void correctDeflections(const eVector2 &leftFlexingTorque, const eVector2 &rightFlexingTorque, eVectorX &q, eVectorX &dq)
Definition: flexi-hips.cpp:83
double MA_duration
Definition: flexi-hips.hpp:20
const eArray2 & get_summation_LH(void)
Definition: flexi-hips.hpp:127
eVector2 right_damping
Definition: flexi-hips.hpp:16
void initialize(const FlexSettings &settings)
Definition: flexi-hips.cpp:13