BipedalLocomotion::Planners::UnicyclePlanner class final

Base classes

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

Constructors, destructors, conversion operators

UnicyclePlanner()
~UnicyclePlanner() virtual

Public functions

auto initialize(std::weak_ptr<const ParametersHandler::IParametersHandler> handler) -> bool override
Initialize the planner.
auto getOutput() const -> const UnicyclePlannerOutput& override
Get the output of the port.
auto isOutputValid() const -> bool override
Determines the validity of the object retrieved with getOutput()
auto setInput(const UnicyclePlannerInput& input) -> bool override
auto advance() -> bool override
Advance the internal state.

Function documentation

bool BipedalLocomotion::Planners::UnicyclePlanner::initialize(std::weak_ptr<const ParametersHandler::IParametersHandler> handler) override

Initialize the planner.

Parameters
handler Pointer to the parameter handler.
Returns True in case of success, false otherwise.
NameTypeDefaultMandatoryDescription
sampling_timedouble-YesThe sampling time of the planner
unicycleGaindouble10.0NoThe main gain of the unicycle controller
slowWhenTurningGaindouble0.0NoThe turnin gain of the unicycle controller
referencePositionlist of double(0.10, 0.00)NoThe reference position of the unicycle controller
timeWeightdouble1.0NoThe time weight of the OC problem
positionWeightdouble1.0NoThe position weight of the OC problem
minStepDurationdouble-YesThe minimum duration of a step
maxStepDurationdouble-YesThe maximum duration of a step
nominalDurationdouble-YesThe nominal duration of a step
minStepLengthdouble-YesThe minimum length of a step
maxStepLengthdouble-YesThe maximum length of a step
minWidthdouble-YesThe minimum feet distance
nominalWidthdouble-YesThe nominal feet distance
minAngleVariationdouble-YesThe minimum unicycle rotation
maxAngleVariationdouble-YesThe maximum unicycle rotation
switchOverSwingRatiodouble-YesThe ratio between single and double support phases
swingLeftboolfalseNoPerform the first step with the left foot
terminalStepbooltrueNoAdd a terminal step at the end of the horizon
startAlwaysSameFootboolfalseNoRestart with the default foot if still
left_foot_namestringleftNoName of the left foot
right_foot_namestringrightNoName of the right foot

const UnicyclePlannerOutput& BipedalLocomotion::Planners::UnicyclePlanner::getOutput() const override

Get the output of the port.

Returns a const reference of the requested object.

bool BipedalLocomotion::Planners::UnicyclePlanner::isOutputValid() const override

Determines the validity of the object retrieved with getOutput()

Returns True if the object is valid, false otherwise.

bool BipedalLocomotion::Planners::UnicyclePlanner::advance() override

Advance the internal state.

Returns True if the advance is successfull.

This may change the value retrievable from getOutput().