Parameters for the external wrenches. More...
#include <mc_rbdyn/lipm_stabilizer/StabilizerConfiguration.h>
Public Member Functions | |
void | load (const mc_rtc::Configuration &config) |
mc_rtc::Configuration | save () const |
Public Attributes | |
bool | addExpectedCoMOffset = false |
bool | subtractMeasuredValue = false |
Subtract the measured external wrenches instead of target ones. More... | |
bool | modifyCoMErr = false |
Modify CoM depending on the error of the external wrenches in target and measurement. More... | |
bool | modifyZMPErr = false |
Modify ZMP depending on the error of the external wrenches in target and measurement. More... | |
bool | modifyZMPErrD = false |
Modify ZMP velocity depending on the error velocity of the external wrenches in target and measurement. More... | |
bool | excludeFromDCMBiasEst = false |
double | comOffsetErrCoMLimit = 0.1 |
Limit of CoM offset error handled by CoM modification. More... | |
double | comOffsetErrZMPLimit = 0.1 |
Limit of CoM offset error handled by ZMP modification [m]. More... | |
double | extWrenchSumLowPassCutoffPeriod = 0.05 |
Cutoff period for the low-pass filter of the sum of the measured external wrenches. More... | |
double | comOffsetLowPassCutoffPeriod = 0.05 |
Cutoff period for the low-pass filter of CoM offset. More... | |
double | comOffsetLowPassCoMCutoffPeriod = 1.0 |
Cutoff period for the low-pass filter of CoM offset to extract CoM modification. More... | |
double | comOffsetDerivatorTimeConstant = 1.0 |
Time window for the stationary offset filter of the CoM offset derivator. More... | |
Parameters for the external wrenches.
The external forces affect the two layers, i.e., pattern generation and stabilization control.
For the pattern generation, if the external forces are not taken into account in the input target CoM, an offset is added by feedforward from the target external forces. This feature is enabled by setting addExpectedCoMOffset to true. For the stabilization control, the error between the target external forces and the measured external forces is compensated by the CoM strategy and the ZMP strategy. High-frequency errors are handled by the ZMP strategy, while low-frequency errors are handled by the CoM strategy. The CoM strategy is enabled when modifyCoMErr is set to true. The ZMP strategy is enabled when modifyZMPErr is set to true. Strictly speaking, the ZMP strategy also depends on the derivative of the external force error, and when modifyZMPErrD is true, the corresponding compensation is also enabled. However, the effect of the compensation related to the derivative is not dominant and is affected by the measured external force noise, so it is recommended to try with modifyZMPErrD false first.
If there are additional biases and unknown external forces that are not predicted nor measured, the DCM bias estimator could be used. In that case, if one of addExpectedCoMOffset, modifyCoMErr or modifyZMPErr is true, it is highly recommended to set excludeFromDCMBiasEst to true. It will exclude the expected/measured external forces from the computation of the bias and prevent them to be twice compensated for.
CommOffsetDerivatorTimeConstant is a time constant for calculating this derivative. The maximum amounts of modification for CoM strategy and ZMP strategy are comOffsetErrCoMLimit and comOffsetErrZMPLimit, respectively.
The total measured external force is passed through the low-pass filter of the cutoff period exitWenchSumLowPassCutoffPeriod. Then, from the error between the target external forces and the measured external forces, the amounts of compensation for the CoM strategy and ZMP strategy are calculated using two low-pass filters. One is a low-pass filter of the cutoff period comOffsetLowPassCutoffPeriod (High-LPF), and the other is a low-pass filter of the cutoff period comOffsetLowPassCoMCutoffPeriod (Low-LPF). Make the comOffsetLowPassCoMCutoffPeriod larger than the comOffsetLowPassCutoffPeriod. The CoM strategy deals with the error components that pass through the High-LPF and pass through the Low-LPF. The ZMP strategy deals with the error components that pass the High-LPF but do NOT pass the Low-LPF.
|
inline |
|
inline |
bool mc_rbdyn::lipm_stabilizer::ExternalWrenchConfiguration::addExpectedCoMOffset = false |
Whether to add the CoM offset expected from the external wrenches. Should be false if the target CoM generated by the pattern generator already considers the external wrenches, true otherwise.
double mc_rbdyn::lipm_stabilizer::ExternalWrenchConfiguration::comOffsetDerivatorTimeConstant = 1.0 |
Time window for the stationary offset filter of the CoM offset derivator.
double mc_rbdyn::lipm_stabilizer::ExternalWrenchConfiguration::comOffsetErrCoMLimit = 0.1 |
Limit of CoM offset error handled by CoM modification.
double mc_rbdyn::lipm_stabilizer::ExternalWrenchConfiguration::comOffsetErrZMPLimit = 0.1 |
Limit of CoM offset error handled by ZMP modification [m].
double mc_rbdyn::lipm_stabilizer::ExternalWrenchConfiguration::comOffsetLowPassCoMCutoffPeriod = 1.0 |
Cutoff period for the low-pass filter of CoM offset to extract CoM modification.
double mc_rbdyn::lipm_stabilizer::ExternalWrenchConfiguration::comOffsetLowPassCutoffPeriod = 0.05 |
Cutoff period for the low-pass filter of CoM offset.
bool mc_rbdyn::lipm_stabilizer::ExternalWrenchConfiguration::excludeFromDCMBiasEst = false |
Exclude external forces from DCM Bias estimation (should be used when the pg/stabilizer is actively compensating for those measured forces)
double mc_rbdyn::lipm_stabilizer::ExternalWrenchConfiguration::extWrenchSumLowPassCutoffPeriod = 0.05 |
Cutoff period for the low-pass filter of the sum of the measured external wrenches.
bool mc_rbdyn::lipm_stabilizer::ExternalWrenchConfiguration::modifyCoMErr = false |
Modify CoM depending on the error of the external wrenches in target and measurement.
bool mc_rbdyn::lipm_stabilizer::ExternalWrenchConfiguration::modifyZMPErr = false |
Modify ZMP depending on the error of the external wrenches in target and measurement.
bool mc_rbdyn::lipm_stabilizer::ExternalWrenchConfiguration::modifyZMPErrD = false |
Modify ZMP velocity depending on the error velocity of the external wrenches in target and measurement.
bool mc_rbdyn::lipm_stabilizer::ExternalWrenchConfiguration::subtractMeasuredValue = false |
Subtract the measured external wrenches instead of target ones.