mc_rbdyn::lipm_stabilizer::StabilizerConfiguration Struct Reference

Configuration of the LIPMStabilizer. This configuration is meant to be overriden from the RobotModule, and the user YAML configuration of the stabilizer task. More...

#include <mc_rbdyn/lipm_stabilizer/StabilizerConfiguration.h>

Collaboration diagram for mc_rbdyn::lipm_stabilizer::StabilizerConfiguration:

Public Member Functions

 StabilizerConfiguration ()
 
 StabilizerConfiguration (const mc_rtc::Configuration &conf)
 
void clampGains ()
 Checks that the chosen parameters are within the parameters defined by the SafetyThresholds. More...
 
void load (const mc_rtc::Configuration &config)
 
mc_rtc::Configuration save () const
 

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW bool verbose = true
 
SafetyThresholds safetyThresholds
 
FDQPWeights fdqpWeights
 
FDMPCWeights fdmpcWeights
 
double friction = 0.7
 
std::string leftFootSurface
 
std::string rightFootSurface
 
bool constrainCoP = true
 
bool useTargetPressure = true
 
Eigen::Vector2d copAdmittance = Eigen::Vector2d::Zero()
 
sva::MotionVecd copMaxVel {{0.3, 0.3, 0.3}, {0.1, 0.1, 0.1}}
 
double copVelFilterGain = 0.8
 
ZMPCCConfiguration zmpcc
 
mc_rbdyn::Gains3d dfAdmittance = {0, 0, 1e-4}
 
mc_rbdyn::Gains3d dfDamping = 0.
 
mc_rbdyn::Gains2d dcmPropGain = 1.
 
mc_rbdyn::Gains2d dcmIntegralGain = 5.
 
mc_rbdyn::Gains2d dcmDerivGain = 0.
 
double comdErrorGain = 1.
 
double zmpdGain = 0.
 
double dcmIntegratorTimeConstant
 
double dcmDerivatorTimeConstant = 1.
 
double fSumFilterTimeConstant = 20.
 
std::vector< std::string > comActiveJoints
 
Eigen::Vector3d comStiffness = {1000., 1000., 100.}
 
double comWeight = 1000.
 
Eigen::Vector3d comDimWeight = Eigen::Vector3d::Ones()
 
double comHeight = 0.84
 
Eigen::Vector3d copFzLambda = 100.0 * Eigen::Vector3d::Ones()
 
double delayCoP = 0
 
std::string torsoBodyName
 
double torsoPitch = 0
 
double torsoStiffness = 10
 
double torsoWeight = 100
 
Eigen::Vector3d torsoDimWeight = Eigen::Vector3d::Ones()
 
double pelvisStiffness = 10
 
double pelvisWeight = 100
 
Eigen::Vector3d pelvisDimWeight = Eigen::Vector3d::Ones()
 
sva::MotionVecd contactDamping
 
sva::MotionVecd contactStiffness = {{1, 1, 1}, {1, 1, 1}}
 
double contactWeight = 100000.
 
double vdcFrequency = 1.
 
double vdcStiffness = 1000.
 
DCMBiasEstimatorConfiguration dcmBias
 
ExternalWrenchConfiguration extWrench
 

Detailed Description

Configuration of the LIPMStabilizer. This configuration is meant to be overriden from the RobotModule, and the user YAML configuration of the stabilizer task.

Note
Developper note: Do not change the default gains here, it is likely that robot modules and users do not override every single parameter value, and modifying their default might have serious consequences.

Constructor & Destructor Documentation

◆ StabilizerConfiguration() [1/2]

mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::StabilizerConfiguration ( )
inline

◆ StabilizerConfiguration() [2/2]

mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::StabilizerConfiguration ( const mc_rtc::Configuration conf)
inline

Member Function Documentation

◆ clampGains()

void mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::clampGains ( )
inline

Checks that the chosen parameters are within the parameters defined by the SafetyThresholds.

◆ load()

void mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::load ( const mc_rtc::Configuration config)
inline

◆ save()

mc_rtc::Configuration mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::save ( ) const
inline

Member Data Documentation

◆ comActiveJoints

std::vector<std::string> mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::comActiveJoints

Joints used by CoM IK task

◆ comdErrorGain

double mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::comdErrorGain = 1.

Gain on CoMd error

◆ comDimWeight

Eigen::Vector3d mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::comDimWeight = Eigen::Vector3d::Ones()

Dimensional weight of CoM IK task

◆ comHeight

double mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::comHeight = 0.84

Desired height of the CoM 1st order gain constant between a reference CoP and vertical force and the real

◆ comStiffness

Eigen::Vector3d mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::comStiffness = {1000., 1000., 100.}

Stiffness of CoM IK task

◆ comWeight

double mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::comWeight = 1000.

Weight of CoM IK task

◆ constrainCoP

bool mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::constrainCoP = true

If true, the wrench computation constraint the CoP of each contact to be inside the foot support rectangle.

◆ contactDamping

sva::MotionVecd mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::contactDamping
Initial value:
{{300, 300, 300},
{300, 300, 300}}

Damping coefficients of the contacts CoP tasks

◆ contactStiffness

sva::MotionVecd mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::contactStiffness = {{1, 1, 1}, {1, 1, 1}}

Stiffness coefficients of the contacts CoP tasks

◆ contactWeight

double mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::contactWeight = 100000.

Weight of contact IK tasks

◆ copAdmittance

Eigen::Vector2d mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::copAdmittance = Eigen::Vector2d::Zero()

Admittance gains for foot damping control

◆ copFzLambda

Eigen::Vector3d mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::copFzLambda = 100.0 * Eigen::Vector3d::Ones()

◆ copMaxVel

sva::MotionVecd mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::copMaxVel {{0.3, 0.3, 0.3}, {0.1, 0.1, 0.1}}

Maximal velocity of the cop tasks

◆ copVelFilterGain

double mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::copVelFilterGain = 0.8

Gain of the low-pass filter on the cop task reference velocity

◆ dcmBias

DCMBiasEstimatorConfiguration mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::dcmBias

Parameters for the DCM bias estimation

◆ dcmDerivatorTimeConstant

double mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::dcmDerivatorTimeConstant = 1.

Cutoff Period of the DCM derivator filter

◆ dcmDerivGain

mc_rbdyn::Gains2d mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::dcmDerivGain = 0.

Derivative gain on DCM error

◆ dcmIntegralGain

mc_rbdyn::Gains2d mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::dcmIntegralGain = 5.

Integral gain on DCM error

◆ dcmIntegratorTimeConstant

double mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::dcmIntegratorTimeConstant
Initial value:
=
15.

Time window for exponential moving average filter of the DCM integrator

◆ dcmPropGain

mc_rbdyn::Gains2d mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::dcmPropGain = 1.

Proportional gain on DCM error

◆ delayCoP

double mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::delayCoP = 0

◆ dfAdmittance

mc_rbdyn::Gains3d mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::dfAdmittance = {0, 0, 1e-4}

Admittance for foot force difference control

◆ dfDamping

mc_rbdyn::Gains3d mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::dfDamping = 0.

Damping term in foot force difference control

◆ extWrench

ExternalWrenchConfiguration mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::extWrench

Parameters for the external wrenches

◆ fdmpcWeights

FDMPCWeights mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::fdmpcWeights

◆ fdqpWeights

FDQPWeights mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::fdqpWeights

◆ friction

double mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::friction = 0.7

Friction coefficient. Same for both feet

◆ fSumFilterTimeConstant

double mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::fSumFilterTimeConstant = 20.

Cutoff Period of the estimation of the sum of forces

◆ leftFootSurface

std::string mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::leftFootSurface

Surface name for the left foot. Origin should be at foot's center

◆ pelvisDimWeight

Eigen::Vector3d mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::pelvisDimWeight = Eigen::Vector3d::Ones()

Dimensional weight of the pelvis task

◆ pelvisStiffness

double mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::pelvisStiffness = 10

Stiffness of the pelvis task.

◆ pelvisWeight

double mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::pelvisWeight = 100

Weight of the pelvis task. Should be much lower than CoM and Contacts

◆ rightFootSurface

std::string mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::rightFootSurface

Surface name for the right foot. Origin should be at foot's center

◆ safetyThresholds

SafetyThresholds mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::safetyThresholds

◆ torsoBodyName

std::string mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::torsoBodyName

Name of the torso body

◆ torsoDimWeight

Eigen::Vector3d mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::torsoDimWeight = Eigen::Vector3d::Ones()

Dimensional weight of the torso task

◆ torsoPitch

double mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::torsoPitch = 0

Target world pitch angle for the torso

◆ torsoStiffness

double mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::torsoStiffness = 10

Stiffness of the torso task.

◆ torsoWeight

double mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::torsoWeight = 100

Weight of the torso task. Should be much lower than CoM and Contacts

◆ useTargetPressure

bool mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::useTargetPressure = true

If true, the CoP tasks compute the target torque using the target vertical force, otherwise, the torque is computed using the measured one.

◆ vdcFrequency

double mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::vdcFrequency = 1.

Frequency used in double-support vertical drift compensation

◆ vdcStiffness

double mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::vdcStiffness = 1000.

Stiffness used in single-support vertical drift compensation

◆ verbose

EIGEN_MAKE_ALIGNED_OPERATOR_NEW bool mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::verbose = true

Enable verbose output messages

◆ zmpcc

ZMPCCConfiguration mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::zmpcc

Configuration of ZMPCC (CoM admittance)

◆ zmpdGain

double mc_rbdyn::lipm_stabilizer::StabilizerConfiguration::zmpdGain = 0.

Gain on ZMPd


The documentation for this struct was generated from the following file: