24 #include "types/MABodyTypes.hpp" 25 #include "types/MALeg.hpp" 26 #include "MAController.hpp" 28 #include <MCThreadLocalData.hpp> 30 #include <boost/shared_ptr.hpp> 63 void AlignDurations();
80 virtual void UpdateRobotState(
MARobotState& state)
override;
83 virtual MA::DeviceList GetMotors()
const override;
84 void SetPower(MA::LegJointsType joint,
bool new_state);
85 void SetPower(
bool new_state);
86 bool IsPowerOn(MA::LegJointsType joint)
const;
87 bool IsPowerOn()
const;
88 bool IsMoving()
const;
90 MA_DECLARE_TRANSITION(Pull, IsPulled)
91 MA_DECLARE_TRANSITION(SwingForTurnOver, IsSwungForTurnOver)
92 MA_DECLARE_TRANSITION(ToLyingPosition, IsLyingPosition)
93 MA_DECLARE_TRANSITION(MoveAway, IsMovedAway)
94 MA_DECLARE_TRANSITION_ACTION(MoveAwayBackward)
95 MA_DECLARE_TRANSITION_ACTION(MoveAwayFirstUp)
96 MA_DECLARE_TRANSITION(ToSittingPosition, IsSittingPosition)
97 MA_DECLARE_TRANSITION_ACTION(WalkSwingForward)
98 MA_DECLARE_TRANSITION_ACTION(WalkPushBackward)
99 MA_DECLARE_TRANSITION_ACTION(WalkSwingBackward)
100 MA_DECLARE_TRANSITION_ACTION(WalkPushForward)
101 MA_DECLARE_TRANSITION(ToInitialWalkPosition, IsInitialWalkPosition)
102 MA_DECLARE_TRANSITION_ACTION(BalanceToCenter)
103 MA_DECLARE_TRANSITION_ACTION(BalanceToLeft)
104 MA_DECLARE_TRANSITION_ACTION(BalanceToRight)
105 MA_DECLARE_TRANSITION_ACTION(AdjustStandingPosture)
106 bool IsAhead()
const;
108 void PrintFeatures();
112 void RegisterDeviceUpdates();
113 void NotifyDeviceUpdate(
MADevice& device);
115 virtual MA::DeviceGeneratorsMap GetSkitTransitionGenerators(MA::SkitBaseSPtr skit)
override;
119 inline MA::Leg::LegTypes GetLegType()
const 134 boost::shared_ptr<MADevice>
Paw;
Helper class to build leg transition generators.
boost::shared_ptr< MADevice > Joint1
First joint.
The forward-backward/upward-downward feature of a leg joint.
boost::shared_ptr< MADevice > Joint2
Second joint.
Base class for the controllers.
MA::Leg::LegTypes LegType
Leg descriptor.
A base class for the limb features.
boost::shared_ptr< MADevice > Paw
Paw sensor.
The bent-stretched feature of a leg joint.
Generator container class.
The sidelong feature of a leg joint.
Base class for generators.
A wrapper class to cover boost::thread_specific_ptr/folly::ThreadLocal API on certain targets...
boost::shared_ptr< MADevice > Joint3
Third joint.