 AbstractControllerHardwareConnector | Base for ControllerHardwareConnector class |
  ControllerHardwareConnector< SensorDataType, GoalType, ControlType > | Performs a single step of extracting data, running controller and sending data back to hardware |
  ControllerHardwareConnector< JoysticksYaw, EmptyGoal, RollPitchYawThrust > | |
   ManualRPYTControllerDroneConnector | Maps Joystick goals to rpythrust commands to quadrotor |
  ControllerHardwareConnector< PositionYaw, Position, VelocityYawRate > | |
   VisualServoingControllerDroneConnector | A visual servoing controller that uses a tracker output as feedback |
  ControllerHardwareConnector< PositionYaw, PositionYaw, PositionYaw > | |
   PositionControllerDroneConnector | Manages communication between a drone plugin and a position controller that outputs position commands |
  ControllerHardwareConnector< std::tuple< tf::Transform, tf::Transform >, tf::Transform, tf::Transform > | |
   VisualServoingControllerArmConnector | A visual servoing controller that uses a tracker output as feedback and moves the arm to a goal pose relative to the tracked target |
  ControllerHardwareConnector< VelocityYaw, VelocityYaw, VelocityYaw > | |
   BuiltInVelocityControllerDroneConnector | Manages communication between a drone plugin and a velocity controller that outputs velocity commands |
 ActionFunctor< EventT, RobotSystemT, LogicStateMachineT > | Action Functor for a given event, robot system, state machine |
 ActionFunctor< PositionYaw, UAVSystem, LogicStateMachineT > | |
  PositionControlTransitionActionFunctor_< LogicStateMachineT > | Transition action to perform when going into position control mode |
 AsyncTimer | Calls given function on a timer in its own thread |
 Atomic< T > | Template class to create thread-safe variables with internal lock management |
 Atomic< ControllerStatus > | |
 Atomic< EmptyGoal > | |
 Atomic< GoalType > | |
 Atomic< Position > | |
 Atomic< PositionYaw > | |
 Atomic< ros::Time > | |
 Atomic< sensor_msgs::CameraInfo > | |
 Atomic< sensor_msgs::RegionOfInterest > | |
 Atomic< std::unordered_map< uint32_t, Position > > | |
 Atomic< tf::Transform > | |
 Atomic< VelocityYaw > | |
 BaseRobotSystem | Provides functions to switch between active controllers and get goals |
  ArmSystem | Owns, initializes, and facilitates communication between different hardware/software components. Provides builtin set/get end effector pose, joint angles for a generic arm |
   UAVArmSystem | UAV vision system with an arm |
  UAVSystem | Owns, initializes, and facilitates communication between different hardware/software components. Provides builtin position, velocity, and rpy controllers for controlling UAV |
   UAVVisionSystem | UAV system with a camera and visual sevoing capabilities |
    UAVArmSystem | UAV vision system with an arm |
 BaseStateMachine< RobotSystemT > | Base state machine |
  SampleLogicStateMachine_< RobotSystemT > | Example Logic state machine that stores triggered event |
 BaseStateMachine< UAVArmSystem > | |
  PickPlaceStateMachineFrontEnd | Front-end: define the FSM structure |
 BaseStateMachine< UAVSystem > | |
  UAVStateMachineFrontEnd | Front-end: define the FSM structure |
 BaseStateMachine< UAVVisionSystem > | |
  VisualServoingStateMachineFrontEnd | Front-end: define the FSM structure |
 test_utils::BaseTestPubSubs | Base Test fixture class for reducing code redundancy in system handler tests |
 BaseTracker | Interface for classes that provide a vector to a tracked target |
  AlvarTracker | Provides vector to a tracked object based on output from alvar |
  RoiToPositionConverter | Converts a ROI in image to vector in camera frame |
  SimpleMultiTracker | A simple Multi-object Tracker implementation for testing |
  SimpleTracker | Simple tracker for a given fixed position |
 boost::msm::front::ShortingActionSequence_< Sequence >::Call< EVT, FSM, STATE > | Functor used to instantiate and evaluate elements in the sequence |
 boost::msm::front::ShortingActionSequence_< Sequence >::CallSourceTarget< EVT, FSM, SourceState, TargetState > | Functor used to instantiate and evaluate elements in the sequence |
 Colors | Helper class that defines colors in hex format |
 CommonSystemHandler< LogicStateMachineT, EventManagerT, RobotSystemT > | Provides logic common to different system handlers to reduce code duplication |
 CommonSystemHandler< LogicStateMachineT, EventManagerT, UAVArmSystem > | |
 CommonSystemHandler< LogicStateMachineT, EventManagerT, UAVSystem > | |
 CommonSystemHandler< LogicStateMachineT, EventManagerT, UAVVisionSystem > | |
 Completed | Completed Event for transition from for example Landing to Landed etc |
 Controller< SensorDataType, GoalType, ControlType > | Base Controller class |
 Controller< GoalType, GoalType, GoalType > | |
  BuiltInController< GoalType > | A controller that simply outputs the set goal |
 Controller< JoysticksYaw, EmptyGoal, RollPitchYawThrust > | |
  ManualRPYTController | A controller that passes joystick commands to a drone's RPYT controller |
 Controller< PositionYaw, Position, VelocityYawRate > | |
  ConstantHeadingDepthController | A position controller that keeps a constant heading while attempting to keep a certain distance from the feedback position |
 Controller< PositionYaw, PositionYaw, PositionYaw > | |
  BuiltInController< PositionYaw > | |
   BuiltInPositionController | Builtin position controller |
 Controller< PositionYaw, PositionYaw, VelocityYaw > | |
  VelocityBasedPositionController | A position controller that sends velocity commands to the hardware |
 Controller< std::tuple< tf::Transform, tf::Transform >, tf::Transform, tf::Transform > | |
  RelativePoseController | A pose controller that keeps a pose relative to some feedback pose |
 Controller< VelocityYaw, VelocityYaw, VelocityYaw > | |
  BuiltInController< VelocityYaw > | |
   BuiltInVelocityController | Builtin velocity controller |
 ControllerStatus | Status of the controller |
 EmptyGoal | If the controllers do not need a goal such as rpytcontroller |
 EmptyRobotSystem | Robot system that does not perform any actions |
 EmptySensor | Events that do not need sensor data such as builtin position/velocity controllers |
 EventAgnosticActionFunctor< RobotSystemT, LogicStateMachineT > | Action functor that does not require the event triggering it |
 EventAgnosticActionFunctor< ArmSystem, LogicStateMachineT > | |
  AbortArmController_< LogicStateMachineT > | Abort arm controller |
  ArmFoldTransitionActionFunctor_< LogicStateMachineT > | Action to fold arm |
  ArmPoweroffTransitionActionFunctor_< LogicStateMachineT > | Power off arm |
  ArmPoweronTransitionActionFunctor_< LogicStateMachineT > | Power on the arm |
  ArmRightFoldTransitionActionFunctor_< LogicStateMachineT > | Action to move arm to right angle |
 EventAgnosticActionFunctor< UAVArmSystem, LogicStateMachineT > | |
  VisualServoingArmTransitionActionFunctor_< LogicStateMachineT, TransformIndex > | Set arm goal and set grip to false to start with |
 EventAgnosticActionFunctor< UAVSystem, LogicStateMachineT > | |
  LandTransitionActionFunctor_< LogicStateMachineT > | Transition action when starting to land |
  ManualControlSwitchAction_< LogicStateMachineT > | Basic events such as takeoff land etc |
  TakeoffAbortActionFunctor_< LogicStateMachineT > | Action to perform when aborting takeoff |
  TakeoffTransitionActionFunctor_< LogicStateMachineT > | Action to take when starting takeoff |
  UAVControllerAbortActionFunctor_< LogicStateMachineT > | Transition action to perform when aborting any UAV Controller |
 EventAgnosticActionFunctor< UAVVisionSystem, LogicStateMachineT > | |
  GoHomeTransitionActionFunctor_< LogicStateMachineT > | Action to reach a pre designated point |
  VisualServoingAbortActionFunctor_< LogicStateMachineT > | |
  VisualServoingTransitionActionFunctor_< LogicStateMachineT > | Empty for now |
 EventAgnosticGuardFunctor< RobotSystemT, LogicStateMachineT > | Guard functor that does not require the event triggering it |
 EventAgnosticGuardFunctor< ArmSystem, LogicStateMachineT > | |
  ArmEnabledGuardFunctor_< LogicStateMachineT > | Check arm is enabled before picking objects |
 EventAgnosticGuardFunctor< UAVArmSystem, LogicStateMachineT > | |
  PickGuard_< LogicStateMachineT > | Logic to grab an object, sleep for few seconds Abort UAV, Arm controllers |
  PickTransitionGuardFunctor_< LogicStateMachineT > | Check tracking is valid before starting visual servoing and arm is enabled before picking objects |
 EventAgnosticGuardFunctor< UAVSystem, LogicStateMachineT > | |
  ManualControlSwitchGuard_< LogicStateMachineT > | Guard to avoid switching to SDK mode unless hardware allows it |
  TakeoffTransitionGuardFunctor_< LogicStateMachineT > | Guard to avoid accidental takeoff |
 EventAgnosticGuardFunctor< UAVVisionSystem, LogicStateMachineT > | |
  GoHomeTransitionGuardFunctor_< LogicStateMachineT > | Guard for home transition |
  VisualServoingTransitionGuardFunctor_< LogicStateMachineT > | Check tracking is valid before starting visual servoing |
 EventPublisher | Event publisher to publish named event at regular intervals |
 boost::mpl::aux::exec_if_impl< done > | Default implementation of exec which returns true |
 boost::mpl::aux::exec_if_impl< false > | Specialized implementation for done = false |
 GuardFunctor< EventT, RobotSystemT, LogicStateMachineT > | Action Functor for a given event, robot system, state machine |
 GuardFunctor< PositionYaw, UAVSystem, LogicStateMachineT > | |
  PositionControlTransitionGuardFunctor_< LogicStateMachineT > | Guard function to check the goal is within tolerance before starting towards goal |
 HtmlDivisionWriter | Add a division to html |
 HtmlTableWriter | Helper class to write html tables to text format |
 InternalActionFunctor< RobotSystemT, LogicStateMachineT > | Internal action that returns whether it processed an event |
 InternalActionFunctor< ArmSystem, LogicStateMachineT > | |
  ArmFoldInternalActionFunctor_< LogicStateMachineT > | Check when folding arm is complete |
  ArmStatusInternalActionFunctor_< LogicStateMachineT > | Action for checking arm status |
 InternalActionFunctor< UAVSystem, LogicStateMachineT > | |
  ControllerStatusInternalActionFunctor_< LogicStateMachineT, ControllerConnector, check_completed > | Logic to abort if controller status is critical |
  HoveringInternalActionFunctor_< LogicStateMachineT, AbortEventT > | Internal action when hovering |
  LandedInternalActionFunctor_< LogicStateMachineT > | Internal action to switch to manual uav state |
  LandInternalActionFunctor_< LogicStateMachineT > | Internal action to figure out when landing is complete |
  ManualControlInternalActionFunctor_< LogicStateMachineT > | Check if hardware is allowing to switch sdk mode |
  TakeoffInternalActionFunctor_< LogicStateMachineT > | Check when takeoff is complete, and ensure enough battery voltage |
 InternalTransitionEvent | The InternalTransitionEvent struct used to trigger action behaviors in states |
 IterableEnum< T > | Iterable wrapper class for iterating over enums. Only works for enums that are contiguous |
 IterableEnum< T >::Iterator | Iterator for the wrapper class |
 Joysticks | 4channel Joystick data |
  JoysticksYaw | Combined joystick and yaw data |
 ManualControlEvent | Event to get into manual control state when UAV leaves SDK mode and enters Manual mode |
 Parser | |
  SampleParser | An example UAV hardware that emulates actual UAV hardware |
 Position | Store 3D position |
  PositionYaw | Stores Position, yaw. PositionYaw is used as the goal for UAV systems |
 RobotSystemContainer< RobotSystemT > | Container class that stores robot system and provides it to only selected friend classes |
 RobotSystemContainer< UAVArmSystem > | |
 RobotSystemContainer< UAVSystem > | |
 RobotSystemContainer< UAVVisionSystem > | |
 RollPitchYawThrust | Roll, pitch, yaw, and thrust message |
 boost::msm::front::ShortingActionSequence_< Sequence > | Action sequence that runs until one of the actions returns false |
 state | |
  BaseState< RobotSystemT, LogicStateMachineT, ActionFctr > | Base state for all states in logic state machine |
   ArmPreLandingFolding_< LogicStateMachineT > | Same state as above. Used to distinguish between landing and takeoff |
   ArmPreTakeoffFolding_< LogicStateMachineT > | Same state as above. Used to distinguish between landing and takeoff |
   PrePickState_< LogicStateMachineT > | State that uses position control functor to reach a desired goal prior to picking |
  PickPlaceStatesActions< LogicStateMachineT >::ManualControlArmState | State that checks arm status along with regular manual control state |
 boost::msm::front::ShortingActionSequence_< Sequence >::state_action_result< Event, FSM, STATE > | Copied from boost main file. Not sure what this is for! |
 state_machine | |
  boost::msm::back::thread_safe_state_machine< A0, A1, A2, A3, A4 > | Thread safe state machine class that extends boost::msm::back::state_machine class |
 state_machine_def | |
  PickPlaceStateMachineFrontEnd | Front-end: define the FSM structure |
  UAVStateMachineFrontEnd | Front-end: define the FSM structure |
  VisualServoingStateMachineFrontEnd | Front-end: define the FSM structure |
 StateMachineGUIConnector< EventManagerT, LogicStateMachineT > | Connects a logic state machine to the GUI over a ROS interface |
 SystemStatusPublisher< LogicStateMachineT > | Responsible for publishing system status message |
 TrackingStrategy | Defines a strategy for choosing a target to track among a group of tracked targets |
  ClosestTrackingStrategy | A tracking strategy that locks on to the closest target when initialized |
  SimpleTrackingStrategy | A strategy that simply returns the first element in the list of tracking vectors Should be used if you expect your tracker to only return a single element |
 boost::msm::front::ShortingActionSequence_< Sequence >::transition_action_result< EVT, FSM, SourceState, TargetState > | Not sure what this is! Copied from boost main file |
 TypeMap< GenericObjectT > | Store objects with a common base class |
 TypeMap< AbstractControllerHardwareConnector > | |
 UAVArmSystemHandler< LogicStateMachineT, EventManagerT > | Owns all of the autonomous system components and is responsible for thread management. Also owns a common system handler object to handle creation of state machine and connecting it to GUI |
 UAVStatesActions< LogicStateMachineT > | Class to provide typedefs for all basic uav states and actions |
  VisualServoingStatesActions< LogicStateMachineT > | Class to provide typedefs for all basic uav states and actions |
   PickPlaceStatesActions< LogicStateMachineT > | Class to provide typedefs for all basic uav states and actions |
 UAVSystemHandler< LogicStateMachineT, EventManagerT > | Owns all of the autonomous system components and is responsible for thread management. Also owns a common system handler object to handle creation of state machine and connecting it to GUI |
 UAVVisionSystemHandler< LogicStateMachineT, EventManagerT > | Owns all of the autonomous system components and is responsible for thread management. Also owns a common system handler object to handle creation of state machine and connecting it to GUI |
 vector | |
  BaseState< RobotSystemT, LogicStateMachineT, ActionFctr >::internal_transition_table | The internal_transition_table to call run function in every state |
  PickPlaceStateMachineFrontEnd::transition_table | Transition table for State Machine |
  PickPlaceStatesActions< LogicStateMachineT >::ManualControlArmState::internal_transition_table | |
  UAVStateMachineFrontEnd::transition_table | Transition table for State Machine |
  VisualServoingStateMachineFrontEnd::transition_table | Transition table for State Machine |
 Velocity | Store velocity vector |
  VelocityYaw | Store velocity and yaw Used as goal for builtin velocity and yaw controller for UAV system |
  VelocityYawRate | Store velocity and yaw rate |
 test_utils::WaitUntilResult< done > | Functor class that waits until the input function results in the template parameter or timeout which ever occurs first |
 Plugin | |
  aerial_autonomy.aerial_autonomy_gui.EventTransmissionGUI | GUI to send events from User to logic state machine |
 QObject | |
  aerial_autonomy.ros_event_trigger.RosEventTrigger | Trigger events based on event name |