Cheetah Software  1.0
GaitData< T > Struct Template Reference

#include <GaitScheduler.h>

+ Collaboration diagram for GaitData< T >:

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW GaitData ()
 
void zero ()
 

Public Attributes

GaitType _currentGait
 
GaitType _nextGait
 
std::string gaitName
 
periodTimeNominal
 
initialPhase
 
switchingPhaseNominal
 
Eigen::Vector4i gaitEnabled
 
Vec4< T > periodTime
 
Vec4< T > timeStance
 
Vec4< T > timeSwing
 
Vec4< T > timeStanceRemaining
 
Vec4< T > timeSwingRemaining
 
Vec4< T > switchingPhase
 
Vec4< T > phaseVariable
 
Vec4< T > phaseOffset
 
Vec4< T > phaseScale
 
Vec4< T > phaseStance
 
Vec4< T > phaseSwing
 
Eigen::Vector4i contactStateScheduled
 
Eigen::Vector4i contactStatePrev
 
Eigen::Vector4i touchdownScheduled
 
Eigen::Vector4i liftoffScheduled
 
Mat34< T > posFootLiftoffWorld
 
Mat34< T > posFootTouchdownWorld
 

Detailed Description

template<typename T>
struct GaitData< T >

Definition at line 33 of file GaitScheduler.h.

Constructor & Destructor Documentation

template<typename T>
EIGEN_MAKE_ALIGNED_OPERATOR_NEW GaitData< T >::GaitData ( )
inline

Definition at line 35 of file GaitScheduler.h.

35 { zero(); }
void zero()

Member Function Documentation

template<typename T >
void GaitData< T >::zero ( )

Definition at line 13 of file GaitScheduler.cpp.

13  {
14  // Stop any gait transitions
16 
17  // General Gait descriptors
18  periodTimeNominal = 0.0; // overall period time to scale
19  initialPhase = 0.0; // initial phase to offset
20  switchingPhaseNominal = 0.0; // nominal phase to switch contacts
21 
22  // Enable flag for each foot
23  gaitEnabled = Eigen::Vector4i::Zero(); // enable gaint controlled legs
24 
25  // Time based descriptors
26  periodTime = Vec4<T>::Zero(); // overall gait period time
27  timeStance = Vec4<T>::Zero(); // total stance time
28  timeSwing = Vec4<T>::Zero(); // total swing time
29  timeStanceRemaining = Vec4<T>::Zero(); // stance time remaining
30  timeSwingRemaining = Vec4<T>::Zero(); // swing time remaining
31 
32  // Phase based descriptors
33  switchingPhase = Vec4<T>::Zero(); // phase to switch to swing
34  phaseVariable = Vec4<T>::Zero(); // overall gait phase for each foot
35  phaseOffset = Vec4<T>::Zero(); // nominal gait phase offsets
36  phaseScale = Vec4<T>::Zero(); // phase scale relative to variable
37  phaseStance = Vec4<T>::Zero(); // stance subphase
38  phaseSwing = Vec4<T>::Zero(); // swing subphase
39 
40  // Scheduled contact states
41  contactStateScheduled = Eigen::Vector4i::Zero(); // contact state of the foot
43  Eigen::Vector4i::Zero(); // previous contact state of the foot
44  touchdownScheduled = Eigen::Vector4i::Zero(); // scheduled touchdown flag
45  liftoffScheduled = Eigen::Vector4i::Zero(); // scheduled liftoff flag
46 
47  // Position of the feet in the world frame at events
49  Mat34<T>::Zero(); // foot position when scheduled to lift off
51  Mat34<T>::Zero(); // foot position when scheduled to touchdown
52 }
Vec4< T > timeStance
Definition: GaitScheduler.h:59
Eigen::Vector4i liftoffScheduled
Definition: GaitScheduler.h:76
Vec4< T > phaseSwing
Definition: GaitScheduler.h:70
Mat34< T > posFootLiftoffWorld
Definition: GaitScheduler.h:79
Vec4< T > phaseScale
Definition: GaitScheduler.h:68
Eigen::Matrix< T, 3, 4 > Mat34
Definition: cppTypes.h:86
Vec4< T > phaseOffset
Definition: GaitScheduler.h:67
Eigen::Vector4i gaitEnabled
Definition: GaitScheduler.h:55
Mat34< T > posFootTouchdownWorld
Definition: GaitScheduler.h:80
Eigen::Vector4i touchdownScheduled
Definition: GaitScheduler.h:75
Vec4< T > timeSwingRemaining
Definition: GaitScheduler.h:62
Vec4< T > phaseStance
Definition: GaitScheduler.h:69
Vec4< T > timeSwing
Definition: GaitScheduler.h:60
Eigen::Vector4i contactStateScheduled
Definition: GaitScheduler.h:73
typename Eigen::Matrix< T, 4, 1 > Vec4
Definition: cppTypes.h:30
Vec4< T > timeStanceRemaining
Definition: GaitScheduler.h:61
GaitType _currentGait
Definition: GaitScheduler.h:41
T periodTimeNominal
Definition: GaitScheduler.h:50
Vec4< T > periodTime
Definition: GaitScheduler.h:58
GaitType _nextGait
Definition: GaitScheduler.h:44
Vec4< T > switchingPhase
Definition: GaitScheduler.h:65
T switchingPhaseNominal
Definition: GaitScheduler.h:52
Eigen::Vector4i contactStatePrev
Definition: GaitScheduler.h:74
Vec4< T > phaseVariable
Definition: GaitScheduler.h:66

Member Data Documentation

template<typename T>
GaitType GaitData< T >::_currentGait

Definition at line 41 of file GaitScheduler.h.

template<typename T>
GaitType GaitData< T >::_nextGait

Definition at line 44 of file GaitScheduler.h.

template<typename T>
Eigen::Vector4i GaitData< T >::contactStatePrev

Definition at line 74 of file GaitScheduler.h.

template<typename T>
Eigen::Vector4i GaitData< T >::contactStateScheduled

Definition at line 73 of file GaitScheduler.h.

template<typename T>
Eigen::Vector4i GaitData< T >::gaitEnabled

Definition at line 55 of file GaitScheduler.h.

template<typename T>
std::string GaitData< T >::gaitName

Definition at line 47 of file GaitScheduler.h.

template<typename T>
T GaitData< T >::initialPhase

Definition at line 51 of file GaitScheduler.h.

template<typename T>
Eigen::Vector4i GaitData< T >::liftoffScheduled

Definition at line 76 of file GaitScheduler.h.

template<typename T>
Vec4<T> GaitData< T >::periodTime

Definition at line 58 of file GaitScheduler.h.

template<typename T>
T GaitData< T >::periodTimeNominal

Definition at line 50 of file GaitScheduler.h.

template<typename T>
Vec4<T> GaitData< T >::phaseOffset

Definition at line 67 of file GaitScheduler.h.

template<typename T>
Vec4<T> GaitData< T >::phaseScale

Definition at line 68 of file GaitScheduler.h.

template<typename T>
Vec4<T> GaitData< T >::phaseStance

Definition at line 69 of file GaitScheduler.h.

template<typename T>
Vec4<T> GaitData< T >::phaseSwing

Definition at line 70 of file GaitScheduler.h.

template<typename T>
Vec4<T> GaitData< T >::phaseVariable

Definition at line 66 of file GaitScheduler.h.

template<typename T>
Mat34<T> GaitData< T >::posFootLiftoffWorld

Definition at line 79 of file GaitScheduler.h.

template<typename T>
Mat34<T> GaitData< T >::posFootTouchdownWorld

Definition at line 80 of file GaitScheduler.h.

template<typename T>
Vec4<T> GaitData< T >::switchingPhase

Definition at line 65 of file GaitScheduler.h.

template<typename T>
T GaitData< T >::switchingPhaseNominal

Definition at line 52 of file GaitScheduler.h.

template<typename T>
Vec4<T> GaitData< T >::timeStance

Definition at line 59 of file GaitScheduler.h.

template<typename T>
Vec4<T> GaitData< T >::timeStanceRemaining

Definition at line 61 of file GaitScheduler.h.

template<typename T>
Vec4<T> GaitData< T >::timeSwing

Definition at line 60 of file GaitScheduler.h.

template<typename T>
Vec4<T> GaitData< T >::timeSwingRemaining

Definition at line 62 of file GaitScheduler.h.

template<typename T>
Eigen::Vector4i GaitData< T >::touchdownScheduled

Definition at line 75 of file GaitScheduler.h.


The documentation for this struct was generated from the following files: