BipedalLocomotion::ContinuousDynamicalSystem::FirstOrderSmoother class

FirstOrderSmoother smoother implements a simple smoother based on a first order linear system.

The system is described by the following ode

\[ \dot{x} = a (-x + u) \]

where the $a$ is given by $a = 3.0/T_{s_5}$ . $T_{s_5}$ is the settling time at 5%. The linear system is propagated with a Forward Euler integrator.

Base classes

template<class _Input, class _Output>
class BipedalLocomotion::System::Advanceable<Eigen::VectorXd, Eigen::VectorXd>
Basic class that represents a discrete system.

Public functions

auto initialize(std::weak_ptr<const ParametersHandler::IParametersHandler> handler) -> bool override
Initialize the Dynamical system.
auto reset(Eigen::Ref<const Eigen::VectorXd> initialState) -> bool
Set the state of the smoother.
auto advance() -> bool override
Perform one integration step using the input set by the FirstOrderSmoother::setInput method.
auto getOutput() const -> const Eigen::VectorXd& override
Get the output of the smoother.
auto setInput(const Eigen::VectorXd& input) -> bool override
Set the input of the smoother.
auto isOutputValid() const -> bool override
Determines the validity of the object retrieved with getOutput()

Function documentation

bool BipedalLocomotion::ContinuousDynamicalSystem::FirstOrderSmoother::initialize(std::weak_ptr<const ParametersHandler::IParametersHandler> handler) override

Initialize the Dynamical system.

Parameters
handler pointer to the parameter handler.
Returns true in case of success/false otherwise.

bool BipedalLocomotion::ContinuousDynamicalSystem::FirstOrderSmoother::reset(Eigen::Ref<const Eigen::VectorXd> initialState)

Set the state of the smoother.

Parameters
initialState initial state of the smoother
Returns true in case of success, false otherwise.

bool BipedalLocomotion::ContinuousDynamicalSystem::FirstOrderSmoother::advance() override

Perform one integration step using the input set by the FirstOrderSmoother::setInput method.

Returns True in case of success and false otherwise

const Eigen::VectorXd& BipedalLocomotion::ContinuousDynamicalSystem::FirstOrderSmoother::getOutput() const override

Get the output of the smoother.

Returns a vector containing the outpur of the smoother

bool BipedalLocomotion::ContinuousDynamicalSystem::FirstOrderSmoother::setInput(const Eigen::VectorXd& input) override

Set the input of the smoother.

Parameters
input the vector representing the input of the smoother
Returns True in case of success and false otherwise

bool BipedalLocomotion::ContinuousDynamicalSystem::FirstOrderSmoother::isOutputValid() const override

Determines the validity of the object retrieved with getOutput()

Returns True if the object is valid, false otherwise.