class
EMAWithLimitsExponential Moving Average (EMA) with Joint Limits.
This class implements an Exponential Moving Average (EMA) controller that applies limits to the joint values. The EMA is computed based on the input reference and feedback signals, and the output is adjusted to respect the specified joint limits. The controller applies a scaling factor to the input signals and has options for softening the limits.
Base classes
-
template<class _Input, class _Output>class BipedalLocomotion::System::Advanceable<Eigen::VectorXd, Eigen::VectorXd>
- Basic class that represents a discrete system.
Constructors, destructors, conversion operators
- EMAWithLimits()
- Constructor.
- ~EMAWithLimits()
- Destructor.
Public functions
-
auto initialize(std::weak_ptr<const BipedalLocomotion::
ParametersHandler:: IParametersHandler> paramHandler) -> bool override - Initialize the EMAWithLimits.
- auto setInput(const EMAWithLimits::Input& input) -> bool override
- Set the input of the EMAWithLimits.
- auto advance() -> bool override
- Perform one step of the inference given the input set.
- auto getOutput() const -> const EMAWithLimits::Output& override
- Get the output of the EMAWithLimits once advance has been called.
- auto isOutputValid() const -> bool override
- Check if the output of the EMAWithLimits is valid.
- void reset()
- Reset the EMAWithLimits with a new input.
Function documentation
BipedalLocomotion:: JointLevelControllers:: EMAWithLimits:: ~EMAWithLimits()
Destructor.
It is required by the pimpl implementation.
bool BipedalLocomotion:: JointLevelControllers:: EMAWithLimits:: initialize(std::weak_ptr<const BipedalLocomotion:: ParametersHandler:: IParametersHandler> paramHandler) override
Initialize the EMAWithLimits.
Parameters | |
---|---|
paramHandler | pointer to the parameters handler. |
Returns | True in case of success, false otherwise. |
bool BipedalLocomotion:: JointLevelControllers:: EMAWithLimits:: setInput(const EMAWithLimits::Input& input) override
Set the input of the EMAWithLimits.
Parameters | |
---|---|
input | the struct containing all the inputs of the EMAWithLimits. |
Returns | true if case of success, false otherwise. |
bool BipedalLocomotion:: JointLevelControllers:: EMAWithLimits:: advance() override
Perform one step of the inference given the input set.
Returns | true if case of success, false otherwise. |
---|
const EMAWithLimits::Output& BipedalLocomotion:: JointLevelControllers:: EMAWithLimits:: getOutput() const override
Get the output of the EMAWithLimits once advance has been called.
Returns | the output of the EMAWithLimits. |
---|
bool BipedalLocomotion:: JointLevelControllers:: EMAWithLimits:: isOutputValid() const override
Check if the output of the EMAWithLimits is valid.
Returns | true if it is valid, false otherwise. |
---|