AutoAPMS
Streamlining behaviors in ROS 2
Loading...
Searching...
No Matches
PX4 Integration

Methods for using PX4 Autopilot together with AutoAPMS. More...

Namespaces

namespace  auto_apms_px4
 Implementation of PX4 mode peers offered by px4_ros2_cpp enabling integration with AutoAPMS.
 

Classes

struct  BehaviorSpec
 Which behavior to run and how to build it. More...
 
class  BehaviorOwnedMode
 Registration placeholder PX4 mode owned by a BehaviorModeExecutor. More...
 
class  BehaviorModeExecutor
 PX4 mode executor that runs an AutoAPMS behavior in-process when put in charge by the FMU. More...
 
class  BehaviorModeExecutorNode
 ROS 2 component that hosts a BehaviorModeExecutor and its owned mode on an in-process behavior tree executor node. More...
 
class  ActionDrivenMode< ActionT >
 Generic template class for a custom PX4 mode. More...
 
class  ModeProxyAction< ActionT >
 Generic template class for executing a PX4 mode implementing the interface of a standard ROS 2 action. More...
 
class  ModeProxyActionFactory< ActionT, ModeT >
 Helper template class that creates a ModeProxyAction for a custom PX4 mode implemented by inheriting from ActionDrivenMode. More...
 
class  ModeRegistrationHandler
 Handles the registration of a PX4 mode with the FMU and announces its dynamically assigned nav_state. More...
 
class  ModeRegistrationFactory< ModeT >
 Composable ROS 2 component that registers a custom PX4 mode and announces its dynamically assigned nav_state. More...
 
class  SendVehicleCommand
 Generic behavior tree node that publishes a PX4 VehicleCommand and waits for its acknowledgement. More...
 
class  VehicleCommandClient
 Client for sending requests to the PX4 autopilot using the VehicleCommand topic. More...
 
class  SendCmdDoReposition
 Behavior tree node that commands the vehicle to reposition to a global WGS84 location. More...
 
class  SendCmdSetNavState
 Behavior tree node that switches the active PX4 flight mode while respecting mode-executor ownership. More...
 
class  CheckArmingState
 Condition node that succeeds once the vehicle's arming state matches the expected one. More...
 
class  CheckModeCompleted
 Condition node that succeeds once the mode with the expected nav_state reports successful completion. More...
 
class  CheckNavState
 Condition node that succeeds once the vehicle's active PX4 navigation state matches the expected one. More...
 
class  GetModeNavState
 Resolves a PX4 mode's name to its nav_state (mode id). More...
 

Detailed Description

Methods for using PX4 Autopilot together with AutoAPMS.

We allow controlling autonomous sytems running PX4 by incorporating the PX4/ROS2 Control Interface. The user is able to define custom modes that can be dynamically registered with the autopilot. These modes are written in ROS 2 and communicate with PX4 using the internal uORB messages.

Note
The required packages are hosted in a separate repository thus not part of standard AutoAPMS. Visit auto-apms-px4 for more info.