biped_stabilizer::CopStabilizer Class Reference

#include <biped-stabilizer/cop_stabilizer.hpp>

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW CopStabilizer ()
 
 CopStabilizer (const CopStabilizerSettings &settings)
 CopStabilizer. More...
 
virtual ~CopStabilizer ()
 
void configure (const CopStabilizerSettings &settings)
 
const CopStabilizerSettingsgetSettings ()
 
void stabilize (const eVector3 &actual_com, const eVector3 &actual_com_vel, const eVector3 &actual_com_acc, const eVector3 &actual_cop, const eMatrixHoms &actual_stance_poses, const eVector3 &reference_com, const eVector3 &reference_com_vel, const eVector3 &reference_com_acc, const eVector3 &reference_com_jerk, eVector3 &desired_com, eVector3 &desired_com_vel, eVector3 &desired_com_acc, eVector3 &desired_icp, eVector3 &actual_icp, eVector3 &desired_cop_reference, eVector3 &desired_cop_computed)
 
void stabilize (const eVector3 &actual_com, const eVector3 &actual_com_vel, const eVector3 &actual_com_acc, const eVector3 &actual_cop, const Polygon2D &support_polygon, const eVector3 &reference_com, const eVector3 &reference_com_vel, const eVector3 &reference_com_acc, const eVector3 &reference_com_jerk, eVector3 &desired_com, eVector3 &desired_com_vel, eVector3 &desired_com_acc, eVector3 &desired_icp, eVector3 &actual_icp, eVector3 &desired_cop_reference, eVector3 &desired_cop_computed)
 
void stabilizeCOP (const eVector3 &actual_com, const eVector3 &actual_com_vel, const eVector3 &actual_com_acc, const eVector3 &actual_cop, const Polygon2D &support_polygon, const eVector3 &reference_com, const eVector3 &reference_com_vel, const eVector3 &reference_com_acc, eVector3 &desired_com, eVector3 &desired_com_vel, eVector3 &desired_com_acc, eVector3 &desired_icp, eVector3 &actual_icp, eVector3 &desired_cop_reference, eVector3 &desired_cop_computed)
 
void stabilizeApproximateAcceleration (const eVector3 &actual_com, const eVector3 &actual_com_vel, const eVector3 &actual_com_acc, const eVector3 &actual_cop, const Polygon2D &support_polygon, const eVector3 &reference_com, const eVector3 &reference_com_vel, const eVector3 &reference_com_acc, eVector3 &desired_com, eVector3 &desired_com_vel, eVector3 &desired_com_acc, eVector3 &desired_icp, eVector3 &actual_icp, eVector3 &desired_cop_reference, eVector3 &desired_cop_computed)
 
void stabilizeP_CC (const eVector3 &actual_com, const eVector3 &actual_com_vel, const eVector3 &actual_com_acc, const eVector3 &actual_cop, const Polygon2D &support_polygon, const eVector3 &reference_com, const eVector3 &reference_com_vel, const eVector3 &reference_com_acc, eVector3 &desired_com, eVector3 &desired_com_vel, eVector3 &desired_com_acc, eVector3 &desired_icp, eVector3 &actual_icp, eVector3 &desired_cop_reference, eVector3 &desired_cop_computed)
 
void stabilizeJerk (const eVector3 &actual_com, const eVector3 &actual_com_vel, const eVector3 &actual_com_acc, const eVector3 &actual_cop, const Polygon2D &support_polygon, const eVector3 &reference_com, const eVector3 &reference_com_vel, const eVector3 &reference_com_acc, const eVector3 &reference_com_jerk, eVector3 &desired_com, eVector3 &desired_com_vel, eVector3 &desired_com_acc, eVector3 &desired_icp, eVector3 &actual_icp, eVector3 &desired_cop_reference, eVector3 &desired_cop_computed)
 
double distributeForces (const eVector2 &desired_cop, const eVector2 LF_xy, const double LF_force_z, const eVector2 LF_torque_xy, const eVector2 RF_xy, const double RF_force_z, const eVector2 RF_torque_xy)
 
std::array< eVector3, 3 > getStableCoMs (const double &com_height)
 
void setCOPgains (const eVector3 &cop_x_gains, eVector3 &cop_y_gains)
 
void setPCCgains (const double cop_pcc_gains)
 
void setIntegralGains (const eVector2 &integral_gains)
 

Protected Attributes

Eigen::Vector3d target_com_
 
Eigen::Vector3d target_com_vel_
 
Eigen::Vector3d target_com_acc_
 
Eigen::Vector3d target_com_jerk_
 
Eigen::Vector3d non_linear_
 
eVector2 target_cop_
 
eVector2 desired_uncampled_cop_
 
eVector2 errorSum_
 
eVector2 cop_clamped
 
eVector2 estimated_disturbance_
 

Constructor & Destructor Documentation

◆ CopStabilizer() [1/2]

biped_stabilizer::CopStabilizer::CopStabilizer ( )

◆ CopStabilizer() [2/2]

biped_stabilizer::CopStabilizer::CopStabilizer ( const CopStabilizerSettings settings)

CopStabilizer.

Parameters
gthe gravity constant along z
heightthe default height of the CoM
dtthe timestep used by the controller
cop_gainsthe gains (x, y, z) used by the feedback law

◆ ~CopStabilizer()

biped_stabilizer::CopStabilizer::~CopStabilizer ( )
virtual

Member Function Documentation

◆ configure()

void biped_stabilizer::CopStabilizer::configure ( const CopStabilizerSettings settings)

◆ distributeForces()

double biped_stabilizer::CopStabilizer::distributeForces ( const eVector2 desired_cop,
const eVector2  LF_xy,
const double  LF_force_z,
const eVector2  LF_torque_xy,
const eVector2  RF_xy,
const double  RF_force_z,
const eVector2  RF_torque_xy 
)

◆ getSettings()

const CopStabilizerSettings& biped_stabilizer::CopStabilizer::getSettings ( )
inline

◆ getStableCoMs()

std::array< eVector3, 3 > biped_stabilizer::CopStabilizer::getStableCoMs ( const double &  com_height)

◆ setCOPgains()

void biped_stabilizer::CopStabilizer::setCOPgains ( const eVector3 cop_x_gains,
eVector3 cop_y_gains 
)

◆ setIntegralGains()

void biped_stabilizer::CopStabilizer::setIntegralGains ( const eVector2 integral_gains)

◆ setPCCgains()

void biped_stabilizer::CopStabilizer::setPCCgains ( const double  cop_pcc_gains)

◆ stabilize() [1/2]

void biped_stabilizer::CopStabilizer::stabilize ( const eVector3 actual_com,
const eVector3 actual_com_vel,
const eVector3 actual_com_acc,
const eVector3 actual_cop,
const eMatrixHoms actual_stance_poses,
const eVector3 reference_com,
const eVector3 reference_com_vel,
const eVector3 reference_com_acc,
const eVector3 reference_com_jerk,
eVector3 desired_com,
eVector3 desired_com_vel,
eVector3 desired_com_acc,
eVector3 desired_icp,
eVector3 actual_icp,
eVector3 desired_cop_reference,
eVector3 desired_cop_computed 
)

◆ stabilize() [2/2]

void biped_stabilizer::CopStabilizer::stabilize ( const eVector3 actual_com,
const eVector3 actual_com_vel,
const eVector3 actual_com_acc,
const eVector3 actual_cop,
const Polygon2D support_polygon,
const eVector3 reference_com,
const eVector3 reference_com_vel,
const eVector3 reference_com_acc,
const eVector3 reference_com_jerk,
eVector3 desired_com,
eVector3 desired_com_vel,
eVector3 desired_com_acc,
eVector3 desired_icp,
eVector3 actual_icp,
eVector3 desired_cop_reference,
eVector3 desired_cop_computed 
)

◆ stabilizeApproximateAcceleration()

void biped_stabilizer::CopStabilizer::stabilizeApproximateAcceleration ( const eVector3 actual_com,
const eVector3 actual_com_vel,
const eVector3 actual_com_acc,
const eVector3 actual_cop,
const Polygon2D support_polygon,
const eVector3 reference_com,
const eVector3 reference_com_vel,
const eVector3 reference_com_acc,
eVector3 desired_com,
eVector3 desired_com_vel,
eVector3 desired_com_acc,
eVector3 desired_icp,
eVector3 actual_icp,
eVector3 desired_cop_reference,
eVector3 desired_cop_computed 
)
Todo:
create a low pass filter on the DCM

◆ stabilizeCOP()

void biped_stabilizer::CopStabilizer::stabilizeCOP ( const eVector3 actual_com,
const eVector3 actual_com_vel,
const eVector3 actual_com_acc,
const eVector3 actual_cop,
const Polygon2D support_polygon,
const eVector3 reference_com,
const eVector3 reference_com_vel,
const eVector3 reference_com_acc,
eVector3 desired_com,
eVector3 desired_com_vel,
eVector3 desired_com_acc,
eVector3 desired_icp,
eVector3 actual_icp,
eVector3 desired_cop_reference,
eVector3 desired_cop_computed 
)
Todo:
create a low pass filter on the DCM

◆ stabilizeJerk()

void biped_stabilizer::CopStabilizer::stabilizeJerk ( const eVector3 actual_com,
const eVector3 actual_com_vel,
const eVector3 actual_com_acc,
const eVector3 actual_cop,
const Polygon2D support_polygon,
const eVector3 reference_com,
const eVector3 reference_com_vel,
const eVector3 reference_com_acc,
const eVector3 reference_com_jerk,
eVector3 desired_com,
eVector3 desired_com_vel,
eVector3 desired_com_acc,
eVector3 desired_icp,
eVector3 actual_icp,
eVector3 desired_cop_reference,
eVector3 desired_cop_computed 
)
Todo:
create a low pass filter on the DCM

◆ stabilizeP_CC()

void biped_stabilizer::CopStabilizer::stabilizeP_CC ( const eVector3 actual_com,
const eVector3 actual_com_vel,
const eVector3 actual_com_acc,
const eVector3 actual_cop,
const Polygon2D support_polygon,
const eVector3 reference_com,
const eVector3 reference_com_vel,
const eVector3 reference_com_acc,
eVector3 desired_com,
eVector3 desired_com_vel,
eVector3 desired_com_acc,
eVector3 desired_icp,
eVector3 actual_icp,
eVector3 desired_cop_reference,
eVector3 desired_cop_computed 
)
Todo:
create a low pass filter on the DCM (actually not in the DCM, it should be on the feedback signal)

Member Data Documentation

◆ cop_clamped

eVector2 biped_stabilizer::CopStabilizer::cop_clamped
protected

◆ desired_uncampled_cop_

eVector2 biped_stabilizer::CopStabilizer::desired_uncampled_cop_
protected

◆ errorSum_

eVector2 biped_stabilizer::CopStabilizer::errorSum_
protected

◆ estimated_disturbance_

eVector2 biped_stabilizer::CopStabilizer::estimated_disturbance_
protected

◆ non_linear_

Eigen::Vector3d biped_stabilizer::CopStabilizer::non_linear_
protected

◆ target_com_

Eigen::Vector3d biped_stabilizer::CopStabilizer::target_com_
protected

◆ target_com_acc_

Eigen::Vector3d biped_stabilizer::CopStabilizer::target_com_acc_
protected

◆ target_com_jerk_

Eigen::Vector3d biped_stabilizer::CopStabilizer::target_com_jerk_
protected

◆ target_com_vel_

Eigen::Vector3d biped_stabilizer::CopStabilizer::target_com_vel_
protected

◆ target_cop_

eVector2 biped_stabilizer::CopStabilizer::target_cop_
protected

The documentation for this class was generated from the following files: