30 #ifndef TOWR_MODELS_GAIT_GENERATOR_H_ 31 #define TOWR_MODELS_GAIT_GENERATOR_H_ 48 using Ptr = std::shared_ptr<GaitGenerator>;
52 using GaitInfo = std::pair<VecTimes,std::vector<ContactState>>;
99 void SetGaits(
const std::vector<Gaits>& gaits);
virtual void SetCombo(Combos combo)=0
Sets a specific sequence of gaits.
bool IsInContactAtStart(EE ee) const
std::vector< double > times_
Phase times for the complete robot during which no contact state changes.
VecTimes GetNormalizedPhaseDurations(EE ee) const
Gaits
Predefined strides, each with a different gait diagram.
Combos
Predefined combinations of different strides.
std::pair< VecTimes, std::vector< ContactState > > GaitInfo
std::vector< ContactState > contacts_
void SetGaits(const std::vector< Gaits > &gaits)
Sets the times_ and contacts_ variables according to the gaits.
std::vector< double > VecTimes
FootDurations GetPhaseDurations() const
GaitInfo RemoveTransition(const GaitInfo &g) const
std::shared_ptr< GaitGenerator > Ptr
Generates endeffector phase durations for predefined gait styles.
std::vector< bool > ContactState
static Ptr MakeGaitGenerator(int leg_count)
std::vector< VecTimes > FootDurations
virtual GaitInfo GetGait(Gaits gait) const =0
virtual ~GaitGenerator()=default