ASCO Aerial Autonomy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Types | List of all members
PickPlaceStatesActions< LogicStateMachineT > Struct Template Reference

Class to provide typedefs for all basic uav states and actions. More...

#include <pick_place_states_actions.h>

Inheritance diagram for PickPlaceStatesActions< LogicStateMachineT >:
Inheritance graph
[legend]
Collaboration diagram for PickPlaceStatesActions< LogicStateMachineT >:
Collaboration graph
[legend]

Classes

struct  ManualControlArmState
 State that checks arm status along with regular manual control state. More...
 

Public Types

template<class Sequence >
using bActionSequence = boost::msm::front::ActionSequence_< Sequence >
 Action sequence to chain multiple actions together. More...
 
template<class G1 , class G2 >
using bAnd = boost::msm::front::euml::And_< G1, G2 >
 
using vsa = VisualServoingStatesActions< LogicStateMachineT >
 namespace for states and actions in visual servoing More...
 
using usa = UAVStatesActions< LogicStateMachineT >
 namespace for states and actions for basic uav actions More...
 
using ArmFolding = ArmFolding_< LogicStateMachineT >
 State for folding arm. More...
 
using ArmPreTakeoffFolding = ArmPreTakeoffFolding_< LogicStateMachineT >
 State before takeoff. More...
 
using ArmPreLandingFolding = ArmPreLandingFolding_< LogicStateMachineT >
 State before landing. More...
 
using PickState = PickState_< LogicStateMachineT >
 State while picking an object. More...
 
using PrePickState = PrePickState_< LogicStateMachineT >
 State while positioning the arm for picking. More...
 
using ArmPowerOn = ArmPoweronTransitionActionFunctor_< LogicStateMachineT >
 Action to poweroff arm. More...
 
using ArmPowerOff = ArmPoweroffTransitionActionFunctor_< LogicStateMachineT >
 Action to poweroff arm. More...
 
using ArmFold = ArmFoldTransitionActionFunctor_< LogicStateMachineT >
 Action to take when starting folding arm before land. More...
 
using ArmRightFold = ArmRightFoldTransitionActionFunctor_< LogicStateMachineT >
 Action to fold arm into right angle configuration. More...
 
using AbortArmController = AbortArmController_< LogicStateMachineT >
 Abort arm controller. More...
 
using AbortUAVControllerArmRightFold = bActionSequence< boost::mpl::vector< typename usa::UAVControllerAbort, ArmRightFold >>
 Action sequence to abort UAV controller and move arm to right angle. More...
 
using AbortUAVControllerArmFold = bActionSequence< boost::mpl::vector< typename usa::UAVControllerAbort, ArmFold >>
 Action sequence to abort UAV controller and move arm to right angle. More...
 
using PickTransitionAction = bActionSequence< boost::mpl::vector< typename vsa::VisualServoingTransitionAction, VisualServoingArmTransitionActionFunctor_< LogicStateMachineT, 1 >>>
 Set goal for visual servoing and also arm controller. More...
 
using PrePickTransitionAction = bActionSequence< boost::mpl::vector< typename vsa::VisualServoingTransitionAction, VisualServoingArmTransitionActionFunctor_< LogicStateMachineT, 0 >>>
 Set goal for visual servoing and also arm controller for positioning arm for pick. More...
 
using ArmPowerOnFold = bActionSequence< boost::mpl::vector< ArmPowerOn, ArmFold >>
 Action to take when starting folding arm before takeoff. More...
 
using AbortUAVArmController = bActionSequence< boost::mpl::vector< typename usa::UAVControllerAbort, AbortArmController >>
 Action sequence to abort UAV controller and arm controller angle. More...
 
using PickTransitionGuard = bAnd< typename vsa::VisualServoingTransitionGuard, ArmEnabledGuardFunctor_< LogicStateMachineT >>
 Guard to stop pick place if arm is not powered or vision is not working. More...
 
using PickGuard = PickGuard_< LogicStateMachineT >
 Action to grab an object. More...
 
- Public Types inherited from VisualServoingStatesActions< LogicStateMachineT >
using VisualServoing = VisualServoing_< LogicStateMachineT >
 State when reaching a visual servoing goal. More...
 
using VisualServoingTransitionAction = VisualServoingTransitionActionFunctor_< LogicStateMachineT >
 Action to take when starting visual servoing. More...
 
using VisualServoingTransitionGuard = VisualServoingTransitionGuardFunctor_< LogicStateMachineT >
 Check whether visual servoing is feasible currently. More...
 
using GoHomeTransitionAction = GoHomeTransitionActionFunctor_< LogicStateMachineT >
 Send the UAV back to home position. More...
 
using GoHomeTransitionGuard = GoHomeTransitionGuardFunctor_< LogicStateMachineT >
 Check if home location is specified. More...
 
- Public Types inherited from UAVStatesActions< LogicStateMachineT >
using TakingOff = TakingOff_< LogicStateMachineT >
 Takingoff state. More...
 
using Landing = Landing_< LogicStateMachineT >
 Landing state. More...
 
using ReachingGoal = ReachingGoal_< LogicStateMachineT >
 Reaching goal state. More...
 
using Hovering = Hovering_< LogicStateMachineT >
 Hovering state. More...
 
using Landed = Landed_< LogicStateMachineT >
 Landed state. More...
 
using ManualControlState = ManualControlState_< LogicStateMachineT >
 Manual control state. More...
 
using TakeoffAction = TakeoffTransitionActionFunctor_< LogicStateMachineT >
 Action to take when taking off. More...
 
using TakeoffGuard = TakeoffTransitionGuardFunctor_< LogicStateMachineT >
 Guard to stop taking off under low voltage. More...
 
using TakeoffAbort = TakeoffAbortActionFunctor_< LogicStateMachineT >
 Abort action when taking off. More...
 
using LandingAction = LandTransitionActionFunctor_< LogicStateMachineT >
 Action to take when landing. More...
 
using ReachingGoalSet = PositionControlTransitionActionFunctor_< LogicStateMachineT >
 set goal action when transitioning More...
 
using ReachingGoalGuard = PositionControlTransitionGuardFunctor_< LogicStateMachineT >
 Guard to avoid going to goal if goal is not correct. More...
 
using UAVControllerAbort = UAVControllerAbortActionFunctor_< LogicStateMachineT >
 Abort action when reaching goal. More...
 
using ReachingGoalLand = LandingAction
 Land action when reaching goal. More...
 
using ManualControlSwitchAction = ManualControlSwitchAction_< LogicStateMachineT >
 Action to enable sdk when switching to sdk mode. More...
 
using ManualControlSwitchGuard = ManualControlSwitchGuard_< LogicStateMachineT >
 Guard for switching to SDK mode from manual control. More...
 

Detailed Description

template<class LogicStateMachineT>
struct PickPlaceStatesActions< LogicStateMachineT >

Class to provide typedefs for all basic uav states and actions.

States and actions corresponding to pick and place application using visual servoing.

Template Parameters
LogicStateMachineTThe backend of logic state machine

Member Typedef Documentation

template<class LogicStateMachineT >
using PickPlaceStatesActions< LogicStateMachineT >::AbortArmController = AbortArmController_<LogicStateMachineT>

Abort arm controller.

template<class LogicStateMachineT >
using PickPlaceStatesActions< LogicStateMachineT >::AbortUAVArmController = bActionSequence< boost::mpl::vector<typename usa::UAVControllerAbort, AbortArmController>>

Action sequence to abort UAV controller and arm controller angle.

template<class LogicStateMachineT >
using PickPlaceStatesActions< LogicStateMachineT >::AbortUAVControllerArmFold = bActionSequence< boost::mpl::vector<typename usa::UAVControllerAbort, ArmFold>>

Action sequence to abort UAV controller and move arm to right angle.

template<class LogicStateMachineT >
using PickPlaceStatesActions< LogicStateMachineT >::AbortUAVControllerArmRightFold = bActionSequence< boost::mpl::vector<typename usa::UAVControllerAbort, ArmRightFold>>

Action sequence to abort UAV controller and move arm to right angle.

template<class LogicStateMachineT >
using PickPlaceStatesActions< LogicStateMachineT >::ArmFold = ArmFoldTransitionActionFunctor_<LogicStateMachineT>

Action to take when starting folding arm before land.

template<class LogicStateMachineT >
using PickPlaceStatesActions< LogicStateMachineT >::ArmFolding = ArmFolding_<LogicStateMachineT>

State for folding arm.

template<class LogicStateMachineT >
using PickPlaceStatesActions< LogicStateMachineT >::ArmPowerOff = ArmPoweroffTransitionActionFunctor_<LogicStateMachineT>

Action to poweroff arm.

template<class LogicStateMachineT >
using PickPlaceStatesActions< LogicStateMachineT >::ArmPowerOn = ArmPoweronTransitionActionFunctor_<LogicStateMachineT>

Action to poweroff arm.

template<class LogicStateMachineT >
using PickPlaceStatesActions< LogicStateMachineT >::ArmPowerOnFold = bActionSequence<boost::mpl::vector<ArmPowerOn, ArmFold>>

Action to take when starting folding arm before takeoff.

template<class LogicStateMachineT >
using PickPlaceStatesActions< LogicStateMachineT >::ArmPreLandingFolding = ArmPreLandingFolding_<LogicStateMachineT>

State before landing.

template<class LogicStateMachineT >
using PickPlaceStatesActions< LogicStateMachineT >::ArmPreTakeoffFolding = ArmPreTakeoffFolding_<LogicStateMachineT>

State before takeoff.

template<class LogicStateMachineT >
using PickPlaceStatesActions< LogicStateMachineT >::ArmRightFold = ArmRightFoldTransitionActionFunctor_<LogicStateMachineT>

Action to fold arm into right angle configuration.

template<class LogicStateMachineT >
template<class Sequence >
using PickPlaceStatesActions< LogicStateMachineT >::bActionSequence = boost::msm::front::ActionSequence_<Sequence>

Action sequence to chain multiple actions together.

Template Parameters
Sequencesequence of actions
template<class LogicStateMachineT >
template<class G1 , class G2 >
using PickPlaceStatesActions< LogicStateMachineT >::bAnd = boost::msm::front::euml::And_<G1, G2>
template<class LogicStateMachineT >
using PickPlaceStatesActions< LogicStateMachineT >::PickGuard = PickGuard_<LogicStateMachineT>

Action to grab an object.

template<class LogicStateMachineT >
using PickPlaceStatesActions< LogicStateMachineT >::PickState = PickState_<LogicStateMachineT>

State while picking an object.

template<class LogicStateMachineT >
using PickPlaceStatesActions< LogicStateMachineT >::PickTransitionAction = bActionSequence<boost::mpl::vector< typename vsa::VisualServoingTransitionAction, VisualServoingArmTransitionActionFunctor_<LogicStateMachineT, 1>>>

Set goal for visual servoing and also arm controller.

template<class LogicStateMachineT >
using PickPlaceStatesActions< LogicStateMachineT >::PickTransitionGuard = bAnd<typename vsa::VisualServoingTransitionGuard, ArmEnabledGuardFunctor_<LogicStateMachineT>>

Guard to stop pick place if arm is not powered or vision is not working.

template<class LogicStateMachineT >
using PickPlaceStatesActions< LogicStateMachineT >::PrePickState = PrePickState_<LogicStateMachineT>

State while positioning the arm for picking.

template<class LogicStateMachineT >
using PickPlaceStatesActions< LogicStateMachineT >::PrePickTransitionAction = bActionSequence<boost::mpl::vector< typename vsa::VisualServoingTransitionAction, VisualServoingArmTransitionActionFunctor_<LogicStateMachineT, 0>>>

Set goal for visual servoing and also arm controller for positioning arm for pick.

template<class LogicStateMachineT >
using PickPlaceStatesActions< LogicStateMachineT >::usa = UAVStatesActions<LogicStateMachineT>

namespace for states and actions for basic uav actions

template<class LogicStateMachineT >
using PickPlaceStatesActions< LogicStateMachineT >::vsa = VisualServoingStatesActions<LogicStateMachineT>

namespace for states and actions in visual servoing


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