36 switch(state_.stance_type_)
39 current_support_position_ = state_.feet_.getLeft().position_.head(2);
42 current_support_position_ = state_.feet_.getRight().position_.head(2);
45 current_support_position_ = (state_.feet_.getRight().position_.head(2)
46 + state_.feet_.getLeft().position_.head(2)) / 2.;
49 switch(state_.next_stance_type_)
52 current_support_position_ = state_.feet_.getLeft().position_.head(2);
55 current_support_position_ = state_.feet_.getRight().position_.head(2);
58 current_support_position_ = (state_.feet_.getRight().position_.head(2)
59 + state_.feet_.getLeft().position_.head(2)) / 2.;
86 determineSupportPosition();
97 humoto::walking::RobotFootParameters::operator=(foot_param);
121 return (state_.
feet_[left_or_right]);
131 etools::Vector6 cstate = convertCoMState(state_.
com_state_);
181 switch (prev_stance_type)
211 determineSupportPosition();
224 const std::string &name =
"model")
const 228 RobotFootParameters::log(logger, subname,
"foot_parameters");
230 state_.
log(logger, subname,
"state");
232 logger.log(
LogEntryName(subname).add(
"cstate"), getCState());
233 logger.log(
LogEntryName(subname).add(
"current_support_position"), current_support_position_);
humoto::rigidbody::RigidBodyState getFootState(const humoto::LeftOrRight::Type left_or_right) const
Returns current foot state.
void updateState(const humoto::ModelState &model_state)
Update model state.
humoto::rigidbody::PointMassState com_state_
State of the CoM.
Class that groups together parameters related to a robot foot.
void copyRight(const LeftRightContainer< t_Data > ©_from)
Get/set/copy left or right object.
etools::Vector2 current_support_position_
2d position of the current support (center of a foot or ADS)
etools::Vector3 position_
#define HUMOTO_GLOBAL_LOGGER_IF_DEFINED
void setFootParameters(const humoto::walking::RobotFootParameters &foot_param)
Constructor.
walking::StanceType::Type next_stance_type_
next stance type
#define HUMOTO_THROW_MSG(s)
HUMOTO_THROW_MSG throws an error message concatenated with the name of the function (if supported)...
Represents log entry name.
Point Mass Model with piece-wise constant CoP velocity.
void log(humoto::Logger &logger, const LogEntryName &parent=LogEntryName(), const std::string &name="model") const
Log.
humoto::LeftRightContainer< humoto::rigidbody::RigidBodyState > feet_
States of the feet.
Transitional double support.
Threaded logger: any data sent to this logger is wrapped in a message and pushed to a queue...
humoto::rigidbody::PointMassState getCoMState() const
Returns current CoM state.
etools::Vector6 getCState() const
Get cstate.
void copyLeft(const LeftRightContainer< t_Data > ©_from)
Get/set/copy left or right object.
double getCoMHeight() const
Get CoM height.
The root namespace of HuMoTo.
walking::StanceType::Type stance_type_
current stance type
Class that groups together parmeters related to a robot foot.
void log(humoto::Logger &logger, const LogEntryName &parent=LogEntryName(), const std::string &name="model_state") const
Log.
Instances of this class are passed to a virtual method 'humoto::TaskBase::form()', so even though this class is basically useless in its present form we cannot avoid its definition using a template.
Abstract class to be used for interfaces.
Model()
Default constructor.
humoto::wpg04::ModelState state_
state of the model
LogEntryName & add(const char *name)
extends entry name with a subname
void determineSupportPosition()
Determines position of support.