PX4 User Guide
  • Introduction
  • Getting Started
    • Basic Concepts
    • Vehicles/Frames
    • Flight Controllers
    • Sensors
    • Radio Systems
    • Flight Modes
    • Vehicle Status Notifications
      • LED Meanings
      • Tune/Sound Meanings
      • Preflight Checks
    • Payloads & Cameras
    • Flight Reporting
  • Basic Assembly
    • Mounting the Flight Controller
    • Mounting the GPS/Compass
    • Vibration Isolation
    • Cable Wiring
    • CUAV Pixhawk V6X Wiring QuickStart
    • CUAV V5+ Wiring Quickstart
    • CUAV V5 nano Wiring Quickstart
    • Holybro Pixhawk 6C Wiring Quickstart
    • Holybro Pixhawk 6X Wiring Quickstart
    • Holybro Pixhawk 5X Wiring Quickstart
    • Holybro Pixhawk 4 Wiring Quickstart - Discontinued
    • Holybro Pixhawk 4 Mini Wiring Quickstart - Discontinued
    • Holybro Durandal Wiring Quickstart
    • Holybro Pix32 v5 Wiring Quickstart
    • Cube Wiring Quickstart
    • Pixracer Wiring Quickstart
    • mRo (3DR) Pixhawk Wiring Quickstart
  • Standard Configuration
    • Firmware
    • Airframe
    • Sensor Orientation
    • Compass
    • Gyroscope
    • Accelerometer
    • Airspeed
    • Level Horizon Calibration
    • Radio Setup
    • Joystick Setup
    • Flight Modes
    • Battery
    • Safety
      • Failsafe Simulation
    • ESC Calibration
    • Actuators
    • Autotune
  • Vehicle Types & Setup
    • Multicopters
      • Multicopter Config/Tuning
        • MC Filter/Control Latency Tuning
        • MC PID Tuning (Manual/Basic)
        • MC PID Tuning Guide (Manual/Advanced)
        • MC Setpoint Tuning (Trajectory Generator)
          • MC Jerk-limited Type Trajectory
        • Multicopter Racer Setup
      • X500 v2 (Pixhawk 6C)
      • X500 v2 (Pixhawk 5X)
      • X500 (Pixhawk 4)
      • S500 V2 (Pixhawk 4)
      • DJI F450 (CUAV v5+)
      • DJI F450 (CUAV v5 nano)
      • QAV250 (Pixhawk4 Mini) - Discontinued
      • DJI F450 + RTK (Pixhawk 3 Pro)
      • QAV250 (Pixhawk Mini)
      • QAV-R 5" Racer (Pixracer)
      • Omnicopter
    • Planes
      • Fixed Wing Config/Tuning
        • Fixedwing PID Tuning Guide
        • Fixedwing Advanced Tuning Guide
        • Fixedwing Trimming Guide
      • Reptile Dragon 2 (ARK6X)
      • Turbo Timber Evolution (Pixhawk 4 Mini)
      • Wing Wing Z84 (Pixracer)
    • VTOL
      • VTOL Config/Tuning
        • QuadPlane Configuration
        • Back-transition Tuning
        • VTOL w/o Airspeed Sensor
        • VTOL Weather Vane
      • Standard VTOL
        • FunCub QuadPlane (Pixhawk)
        • Ranger QuadPlane (Pixhawk)
        • Falcon Vertigo QuadPlane (Dropix)
      • Tailsitter VTOL
        • Build: TBS Caipiroshka Tailsitter Build (Pixracer)
      • Tiltrotor VTOL
        • Build: Convergence Tiltrotor (Pixfalcon)
    • Airships (experimental)
    • Autogyros (experimental)
      • ThunderFly Auto-G2 (Holybro pix32)
    • Balloons (experimental)
    • Helicopter (experimental)
      • Helicopter Config/Tuning
    • Rovers (experimental)
      • Traxxas Stampede
    • Submarines (experimental)
      • BlueROV2
    • Airframes Reference
  • Flying
    • First Flight Guidelines
    • Flying 101
    • Missions
      • Package Delivery Mission
    • GeoFence
    • Safety Point Planning
    • Flight Modes
      • Position Mode (MC)
      • Altitude Mode (MC)
      • Manual/Stabilized Mode (MC)
      • Acro Mode (MC)
      • Orbit Mode (MC)
      • Position Mode (FW)
      • Altitude Mode (FW)
      • Stabilized Mode (FW)
      • Acro Mode (FW)
      • Manual Mode (FW)
      • Takeoff Mode
      • Land Mode
      • Return Mode
      • Hold Mode
      • Mission Mode
      • Follow Me Mode
      • Offboard Mode
    • Terrain Following/Holding
  • Flight Log Analysis
    • Log Analysis using Flight Review
    • Log Analysis using PlotJuggler
  • Advanced Configuration
    • Finding/Updating Parameters
    • Full Parameter Reference
    • ECL/EKF Overview & Tuning
    • Flight Termination Configuration
    • Bootloader Flashing onto Betaflight Systems
    • Land Detector Configuration
    • Prearm/Arm/Disarm Configuration
    • IMU Factory Calibration
    • Sensor Thermal Compensation
    • Compass Power Compensation
    • Advanced Controller Orientation
    • Static Pressure Buildup
    • Serial Port Configuration
    • MAVLink Telemetry (OSD/GCS)
    • PX4 Ethernet Setup
    • Bootloader Update
  • Hardware (Drones&Parts)
    • Complete Vehicles
      • ModalAI Starling
      • PX4 Vision Kit
      • MindRacer BNF & RTF
        • MindRacer 210
        • NanoMind 110
      • Holybro Kopis 2
      • Bitcraze Crazyflie 2.1
    • Flight Controllers (Autopilots)
      • Pixhawk Series
        • Silicon Errata
      • Pixhawk Standard Autopilots
        • CUAV Pixhawk V6X (FMUv6X)
        • Holybro Pixhawk 6X (FMUv6X)
        • Holybro Pixhawk 6C (FMUv6C)
        • Holybro Pixhawk 6C Mini(FMUv6C)
        • Holybro Pix32 v6 (FMUv6C)
        • Holybro Pixhawk 5X (FMUv5X)
        • Holybro Pixhawk 4 (FMUv5) - Discontinued
        • Holybro Pixhawk 4 Mini (FMUv5) - Discontinued
        • Drotek Pixhawk 3 Pro (FMUv4pro)
        • mRo Pixracer (FMUv4)
        • Hex Cube Black (FMUv3)
        • mRo Pixhawk (FMUv3)
        • Holybro Pixhawk Mini (FMUv3) - Discontinued
      • Manufacturer-Supported Autopilots
        • AirMind MindPX
        • AirMind MindRacer
        • ARK Electronics ARKV6X
        • CUAV X7
        • CUAV Nora
        • CUAV V5+ (FMUv5)
        • CUAV V5 nano (FMUv5)
        • CUAV Pixhack v3 (FMUv3)
        • CubePilot Cube Orange+ (CubePilot)
        • CubePilot Cube Orange (CubePilot)
        • CubePilot Cube Yellow (CubePilot)
        • Holybro Kakute H7v2
        • Holybro Kakute H7mini
        • Holybro Kakute H7
        • Holybro Durandal
        • Holybro Pix32 v5
        • ModalAI Flight Core v1
        • ModalAI VOXL Flight
        • ModalAI VOXL 2
        • mRobotics-X2.1 (FMUv2)
        • mRo Control Zero F7)
        • NXP RDDRONE-FMUK66 FMU
        • Sky-Drones AIRLink
        • SPRacing SPRacingH7EXTREME
        • ThePeach FCC-K1
        • ThePeach FCC-R1
      • Experimental Autopilots
        • BeagleBone Blue
        • Raspberry Pi 2/3 Navio2
        • Raspberry Pi 2/3/4 PilotPi
          • PilotPi with Raspberry Pi OS
          • PilotPi with Ubuntu Server
      • Discontinued Autopilots/Vehicles
        • Drotek Dropix (FMUv2)
        • Omnibus F4 SD
        • BetaFPV Beta75X 2S Brushless Whoop
        • Bitcraze Crazyflie 2.0
        • Aerotenna OcPoC-Zynq Mini
        • CUAV v5
        • Holybro Kakute F7 (Discontinued)
        • Holybro Pixfalcon
        • Holybro pix32 (FMUv2)
        • mRo AUAV-X2
        • 3DR Pixhawk 1
        • Snapdragon Flight
        • Intel® Aero RTF Drone (Discontinued)
      • Pixhawk Autopilot Bus (PAB) & Carriers
        • ARK Electronics Pixhawk Autopilot Bus Carrier
    • Flight Controller Peripherals
      • ADSB/FLARM (Traffic Avoidance)
      • Air Traffic Avoidance: ADSB/FLARM
      • Air Traffic Avoidance: UTM
      • Airspeed Sensors
        • TFSlot Airspeed Sensor
      • Barometers
      • Camera
      • Distance Sensors (Rangefinders)
        • Lightware SFxx Lidar
        • Ainstein US-D1 Standard Radar Altimeter
        • LeddarOne Lidar
        • Benewake TFmini Lidar
        • Lidar-Lite
        • TeraRanger
        • Lanbao PSK-CM8JL65-CC5
        • Avionics Anonymous Laser Altimeter UAVCAN Interface
      • ESCs & Motors
        • PWM ESCs and Servos
        • DShot ESCs
        • OneShot ESCs and Servos
        • DroneCAN ESCs
          • Zubax Telega
          • PX4 Sapog ESC Firmware
            • Holybro Kotleta
            • Zubax Orel
        • VESC
      • TBS Crossfire (CRSF) Telemetry
      • FrSky Telemetry
      • Gimbal (Mount) Configuration
      • GPS/Compass
        • ARK GPS
        • Holybro DroneCAN M8N GPS
        • LOCOSYS Hawk A1 GNSS
        • Hex Here2
        • Holybro M8N & M9N GPS
        • Sky-Drones SmartAP GPS
      • Grippers
        • Servo Gripper
      • Optical Flow
        • ARK Flow
        • PMW3901
        • PX4FLOW (Deprecated)
      • Precision Landing
      • Parachute
      • Power Modules/PDB
        • CUAV HV pm
        • CUAV CAN PMU
        • Holybro PM02
        • Holybro PM07
        • Holybro PM06 V2
        • Holybro PM02D (digital)
        • Holybro PM03D (digital)
        • Pomegranate Systems Power Module
        • Sky-Drones SmartAP PDB
      • Satellite Coms (Iridium/RockBlock)
      • Telemetry Radios
        • SiK Radio
          • RFD900 (SiK) Telemetry Radio
          • HolyBro (SIK) Telemetry Radio
        • Telemetry Wifi
          • ESP8266 WiFi Module
          • ESP32 WiFi Module
          • 3DR Telemetry Wifi (Discontinued)
        • Microhard Serial Telemetry Radio
          • ARK Electron Microhard Serial Telemetry Radio
          • Holybro Microhard P900 Telemetry Radio
        • CUAV P8 Telemetry Radio
        • HolyBro XBP9X - Discontinued
      • RTK GPS
        • ARK RTK GPS
        • RTK GPS Heading with Dual u-blox F9P
        • CUAV C-RTK
        • CUAV C-RTK2 PPK/RTK GNSS
        • CUAV C-RTK 9Ps
        • Femtones MINI2 Receiver
        • Freefly RTK GPS
        • Holybro H-RTK-F9P
        • Holybro H-RTK-M8P
        • Holybro H-RTK Unicore UM982 GPS
        • Locosys Hawk R1
        • Locosys Hawk R2
        • Septentrio AsteRx-RIB
        • Septentrio mosaic-go
        • Trimble MB-Two
        • CubePilot Here+ (Discontined)
      • Remote ID
      • Smart Batteries
        • Rotoye Batmon Battery Smartification Kit
      • Tachometers (Revolution Counters)
        • ThunderFly TFRPM01 Tachometer Sensor
      • I2C Peripherals
        • I2C bus accelerators
        • TFI2CADT01 I2C address translator
      • CAN Peripherals
      • DroneCAN Peripherals
        • PX4 DroneCAN Firmware
        • ARK CANnode
    • Companion Computers
      • Pixhawk + Companion Setup
        • RasPi Pixhawk Companion
      • Companion Computer Peripherals
      • Holybro Pixhawk RPI CM4 Baseboard
      • Auterion Skynode
      • Computer Vision
        • Obstacle Avoidance
        • Safe Landing
        • Collision Prevention
        • Path Planning Interface
        • Motion Capture (MoCap)
        • Visual Inertial Odometry (VIO)
          • Realsense T265 Tracking Camera (VIO)
      • Video Streaming
  • Development
    • Getting Started
      • Recommended Hardware/Setup
      • Toolchain Installation
        • MacOS Setup
        • Ubuntu Setup
        • Windows Setup
        • Visual Studio Code IDE
        • Other/Generic Tools
      • Building the Code
      • Writing your First Application
      • Application/Module Template
    • Concepts
      • PX4 Architecture
      • PX4 Flight Stack Architecture
        • Controller Diagrams
      • Events Interface
      • Flight Modes
      • Flight Tasks
      • Control Allocation
      • PWM limit state machine
      • System Startup
      • SD Card Layout
    • Simulation
      • jMAVSim Simulation
        • Multi-Vehicle Sim with JMAVSim
      • Gazebo Simulation
        • Vehicles
        • Multi-Vehicle Sim
      • Gazebo Classic Simulation
        • Vehicles
        • Worlds
        • Multi-Vehicle Sim
      • FlightGear Simulation
        • FlightGear Vehicles
        • Multi-Vehicle Sim with FlightGear
      • JSBSim Simulation
      • AirSim Simulation
      • Multi-Vehicle Simulation
      • Simulate Failsafes
      • HITL Simulation
      • Simulation-In-Hardware
    • Hardware
      • Flight Controller Reference Design
      • Manufacturer’s Board Support Guide
      • Flight Controller Porting Guide
        • PX4 Board Configuration (kconfig)
        • NuttX Board Porting Guide
      • Serial Port Mapping
      • Airframes
        • Adding a New Airframe
      • Device Drivers
      • Telemetry Radio
        • SiK Radio
      • Sensor and Actuator I/O
        • DroneCAN
        • I2C Bus
        • UART/Serial Ports
          • Port-Configurable Serial Drivers
      • RTK GPS (Integration)
    • Middleware
      • uORB Messaging
      • uORB Graph
      • uORB Message Reference
        • ActionRequest
        • ActuatorArmed
        • ActuatorControlsStatus
        • ActuatorMotors
        • ActuatorOutputs
        • ActuatorServos
        • ActuatorServosTrim
        • ActuatorTest
        • AdcReport
        • Airspeed
        • AirspeedValidated
        • AirspeedWind
        • AutotuneAttitudeControlStatus
        • BatteryStatus
        • ButtonEvent
        • CameraCapture
        • CameraStatus
        • CameraTrigger
        • CellularStatus
        • CollisionConstraints
        • CollisionReport
        • ControlAllocatorStatus
        • Cpuload
        • DebugArray
        • DebugKeyValue
        • DebugValue
        • DebugVect
        • DifferentialPressure
        • DistanceSensor
        • Ekf2Timestamps
        • EscReport
        • EscStatus
        • EstimatorAidSource1d
        • EstimatorAidSource2d
        • EstimatorAidSource3d
        • EstimatorBias
        • EstimatorBias3d
        • EstimatorEventFlags
        • EstimatorGpsStatus
        • EstimatorInnovations
        • EstimatorSelectorStatus
        • EstimatorSensorBias
        • EstimatorStates
        • EstimatorStatus
        • EstimatorStatusFlags
        • Event
        • FailsafeFlags
        • FailureDetectorStatus
        • FollowTarget
        • FollowTargetEstimator
        • FollowTargetStatus
        • GeneratorStatus
        • GeofenceResult
        • GimbalControls
        • GimbalDeviceAttitudeStatus
        • GimbalDeviceInformation
        • GimbalDeviceSetAttitude
        • GimbalManagerInformation
        • GimbalManagerSetAttitude
        • GimbalManagerSetManualControl
        • GimbalManagerStatus
        • GpioConfig
        • GpioIn
        • GpioOut
        • GpioRequest
        • GpsDump
        • GpsInjectData
        • Gripper
        • HealthReport
        • HeaterStatus
        • HomePosition
        • HoverThrustEstimate
        • InputRc
        • InternalCombustionEngineStatus
        • IridiumsbdStatus
        • IrlockReport
        • LandingGear
        • LandingGearWheel
        • LandingTargetInnovations
        • LandingTargetPose
        • LaunchDetectionStatus
        • LedControl
        • LogMessage
        • LoggerStatus
        • MagWorkerData
        • MagnetometerBiasEstimate
        • ManualControlSetpoint
        • ManualControlSwitches
        • MavlinkLog
        • MavlinkTunnel
        • Mission
        • MissionResult
        • ModeCompleted
        • MountOrientation
        • NavigatorMissionItem
        • NormalizedUnsignedSetpoint
        • NpfgStatus
        • ObstacleDistance
        • OffboardControlMode
        • OnboardComputerStatus
        • OrbTest
        • OrbTestLarge
        • OrbTestMedium
        • OrbitStatus
        • ParameterUpdate
        • Ping
        • PositionControllerLandingStatus
        • PositionControllerStatus
        • PositionSetpoint
        • PositionSetpointTriplet
        • PowerButtonState
        • PowerMonitor
        • PpsCapture
        • PwmInput
        • Px4ioStatus
        • QshellReq
        • QshellRetval
        • RadioStatus
        • RateCtrlStatus
        • RcChannels
        • RcParameterMap
        • Rpm
        • RtlTimeEstimate
        • SatelliteInfo
        • SensorAccel
        • SensorAccelFifo
        • SensorBaro
        • SensorCombined
        • SensorCorrection
        • SensorGnssRelative
        • SensorGps
        • SensorGyro
        • SensorGyroFft
        • SensorGyroFifo
        • SensorHygrometer
        • SensorMag
        • SensorOpticalFlow
        • SensorPreflightMag
        • SensorUwb
        • SensorSelection
        • SensorsStatus
        • SensorsStatusImu
        • SystemPower
        • TakeoffStatus
        • TaskStackInfo
        • TecsStatus
        • TelemetryStatus
        • TiltrotorExtraControls
        • TimesyncStatus
        • TrajectoryBezier
        • TrajectorySetpoint
        • TrajectoryWaypoint
        • TransponderReport
        • TuneControl
        • UavcanParameterRequest
        • UavcanParameterValue
        • UlogStream
        • UlogStreamAck
        • UwbDistance
        • UwbGrid
        • VehicleAcceleration
        • VehicleAirData
        • VehicleAngularAccelerationSetpoint
        • VehicleAngularVelocity
        • VehicleAttitude
        • VehicleAttitudeSetpoint
        • VehicleCommand
        • VehicleCommandAck
        • VehicleConstraints
        • VehicleControlMode
        • VehicleGlobalPosition
        • VehicleImu
        • VehicleImuStatus
        • VehicleLandDetected
        • VehicleLocalPosition
        • VehicleLocalPositionSetpoint
        • VehicleMagnetometer
        • VehicleOdometry
        • VehicleOpticalFlow
        • VehicleOpticalFlowVel
        • VehicleRatesSetpoint
        • VehicleRoi
        • VehicleStatus
        • VehicleThrustSetpoint
        • VehicleTorqueSetpoint
        • VehicleTrajectoryBezier
        • VehicleTrajectoryWaypoint
        • VtolVehicleStatus
        • Wind
        • YawEstimatorStatus
      • MAVLink Messaging
      • uXRCE-DDS (PX4-ROS 2/DDS Bridge)
    • Modules & Commands
      • Autotune
      • Commands
      • Communication
      • Controllers
      • Drivers
        • Airspeed Sensor
        • Baro
        • Distance Sensor
        • IMU
        • INS
        • Magnetometer
        • Optical Flow
        • Rpm Sensor
        • Transponder
      • Estimators
      • Simulations
      • System
      • Template
    • Debugging/Logging
      • FAQ
      • Consoles/Shells
        • MAVLink Shell
        • System Console
      • Debugging with GDB
        • SWD Debug Port
        • JLink Probe
        • Black Magic/DroneCode Probe
        • STLink Probe
        • Hardfault Debugging
      • Debugging with Eclipse
      • Failure Injection
      • Sensor/Topic Debugging
      • Simulation Debugging
      • Sending Debug Values
      • System-wide Replay
      • Profiling
      • Binary Size Profiling
      • Logging
      • Flight Log Analysis
      • ULog File Format
    • Tutorials
      • Long-distance Video Streaming
      • Connecting an RC Receiver on Linux
    • Advanced Topics
      • Parameters & Configs
      • Package Delivery Architecture
      • Computer Vision
        • Motion Capture (VICON, Optitrack, NOKOV)
      • Installing driver for Intel RealSense R200
      • Switching State Estimators
      • Out-of-Tree Modules
      • STM32 Bootloader
      • System Tunes
      • Advanced Linux Installation Cases
      • Windows Cygwin Toolchain Maintenance
      • Unsupported Developer Setup
        • CentOS Linux
        • Arch Linux
        • Windows VM Toolchain
        • Windows Cygwin Toolchain
        • Qt Creator IDE
    • Platform Testing and CI
      • Test Flights
        • Test MC_01 - Manual Modes
        • Test MC_02 - Full Autonomous
        • Test MC_03 - Auto Manual Mix
        • Test MC_04 - Failsafe Testing
        • Test MC_05 - Indoor Flight (Manual Modes)
      • Unit Tests
      • Continuous Integration
      • MAVSDK Integration Testing
      • ROS Integration Testing
      • Docker Containers
      • Maintenance
  • Drone Apps & APIs
    • Offboard Control from Linux
    • ROS
      • ROS 2
        • ROS 2 User Guide
        • ROS 2 Offboard Control Example
        • ROS 2 Multi Vehicle Simulation
      • ROS 1 with MAVROS
        • ROS/MAVROS Installation Guide
        • ROS/MAVROS Offboard Example (C++)
        • ROS/MAVROS Offboard Example (Python)
        • ROS/MAVROS Sending Custom Messages
        • ROS/MAVROS with Gazebo Classic Simulation
        • Gazebo Classic OctoMap Models with ROS 1
        • ROS/MAVROS Installation on RPi
        • External Position Estimation (Vision/Motion based)
    • DroneKit
  • Contribution (&Dev Call)
    • Dev Call
    • Support
    • Source Code Management
      • GIT Examples
    • Documentation
    • Translation
    • Terminology/Notation
    • Licenses
  • Releases
    • 1.14
    • 1.13
    • 1.12
Powered by GitBook
On this page
  • Overview
  • Geometry
  • Motor Geometry
  • Control Surfaces Geometry
  • Motor Tilt Servo Geometry
  • Actuator Outputs
  • Output Functions
  • Actuator Testing
  • Output Assignment and Configuration
  • Multicopter PWM: Motor Assignment
  • Output Assignment (Manual)
  • Motor Configuration
  • Control Surface Setup
  • Tilt Servo Setup
  • Other Notes
  • Reversing Motors
  1. Standard Configuration

Actuators

PreviousESC CalibrationNextAutotune

Last updated 1 year ago

The Actuators Setup view is used to customize the specific geometry of the vehicle, assign actuators and motors to flight controller outputs, and test the actuator and motor response.

Overview

Open the view in QGroundControl here: "Q" (app menu) > Vehicle Setup > Actuators (tab). The displayed elements depend on the , with outputs mapped by default as shown in the .

The view has three sections:

  • : Configure the geometry for the . This includes number, position and properties of and also the number and properties of and .

  • : Assign motors, control surfaces, and other actuators to specific output.

  • : Test that motors and actuators move in the direction / speed as expected.

A quadcopter might have an setup screen similar to the one shown below. This defines a 4-rotor copter with X-geometry. It maps the 4 motors to the AUX1 to AUX4 outputs, and specifies that the connect to DShot1200 ESC. It also maps PWM400 AUX outputs for controlling a parachute and landing gear.

:::note Only the most common settings are displayed by default. Select the Advanced checkbox in the top right corner to display all settings. :::

Geometry

:::note The UI is customised for the selected airframe:

  • Only configurable fields for the selected airframe type are displayed; fields that aren't configurable for the airframe are hidden.

  • The motor position diagram is currently only displayed for multicopter frames. :::

Motor Geometry

The motor geometry section lets you set the number of motors, the relative position, and other properties of each motor.

Core geometry concepts and the configuration for a number of different frames are provided in the following sections.

Motor Geometry: Multicopter

The image below shows the geometry setup for a quadrotor multicopter frame with and without advanced settings.

First, the Motors drop-down setting lets you choose the number of motors (4 for the example above).

For each motor you can then set:

  • (Advanced) Direction CCW: Checkbox to indicate motor spins counter-clockwise (uncheck for clockwise).

Motor Geometry: VTOL Quadrotor Tailsitter

Motor Geometry: VTOL Tiltrotor

Motor Geometry: Standard VTOL

  • Axis: One of Upwards, Downwards, Forwards, Backwards, Leftwards, Rightwards, Custom

    • If Custom is selected, then the UI displays three additional fields for setting the motor orientation.

Motor Geometry: Other Vehicles

Other vehicle types will define an appropriate motor geometry for their frame type. Once again these motors will generally have the same kinds of properties as shown above.

For example, a fixed-wing vehicle may just have a single pusher moter, while a rover with differential steering will have a motor for throttle and for steering.

Motor Position Coordinate System

The coordinate system for motor positions is FRD (in body frame), where the X axis points forward, the Y axis to the right and the Z axis down.

The origin is the vehicle's centre-of-gravity (COG). This may NOT be the same position as the location of the autopilot.

Bidirectional Motors

Some vehicles may use bidirectional motors (i.e. motors that support spinning in both directions). For example, ground vehicles that want to move forwards and backwards, or VTOL vehicles that have pusher motors that can turn in either direction.

If bidiectional motors are used, make sure to select the Reversible checkbox for those motors (the checkbox is displayed as an "advanced" option).

Control Surfaces Geometry

The control surfaces section of the geometry panel lets you set the number and types of control surfaces that are present on the vehicle. You may also need to set trim and slew rate values in some cases. More advanced users can also configure the roll scale, yaw scale, and pitch scale (generally the defaults are acceptable, and this is not needed). An "example" control surface section for a vehicle with two ailerons is shown below. Note that ailerons only affect roll, so the pitch and yaw fields are disabled.

:::note Only the most common settings are displayed by default. Select the Advanced checkbox in the top right corner of the view to display all settings. :::

The fields are:

  • Control Surfaces: The number of control surfaces (set this first!)

  • Type: The type of each control surface: LeftAileron, RightAileron, Elevator, Rudder, Left Elevon, Right Elevon, Left V-Tail, Right V-Tail, Left Flap, Right Flap, Airbrakes, Custom.

  • Trim: An offset added to the actuator so that it is centered without input. This might be determined by trial and error.

  • (Advanced) Slew Rate: Minimum time allowed for the motor/servo signal to pass through the full output range, in seconds.

    • The setting limits the rate of change of an actuator (if not specified then no rate limit is applied). It is intended for actuators that may be damaged if they move too fast — such as the tilting actuators on a tiltrotor VTOL vehicle.

    • For example, a setting of 2.0 means that the motor/servo will not be commanded to move from 0 to 1 at a rate that completes the operation in less than 2 seconds (in case of reversible motors, the range is -1 to 1).

  • (VTOL only) Lock control surfaces in hover:

    • Enabled: Most vehicles do not use control surfaces in hover. Use this setting to lock them so that they don't affect vehicle dynamics.

    • Disabled: Set this for vehicles that use control surfaces in hover, such as the duo tailsitter (which uses elevons for pitch and yaw control). It should also be set for vehicles that use control surfaces to provide additional stabilization in hover mode when moving at speed or in high winds.

Flap Scale and Spoiler Scale Configuration

"Flap-control" and "Spoiler-control" are aerodynamic configurations that can either be commanded manually by the pilot (using RC, say), or are set automatically by the controller. For example, a pilot or the landing system might engage "Spoiler-control" in order to reduce the airspeed before landing.

The configurations are an abstract way for the controller to tell the allocator how much it should adjust the aerodynamic properties of the wings relative to the "full flaps" or "full spoiler" configuration (between [0,1], where "1" indicates the full range). The allocator then uses any of the available control surfaces it wants in order to achieve the requested configuration: usually flaps, ailerons, and elevator.

The flap scale and spoiler scale settings in the actuator UI inform the allocator how much ailerons, elevators, flaps, spoilers, and other control surfaces, contribute to a requested "Flap-control" and/or "Spoiler-control" value. Specifically, they indicate how much each control surface should be deflected when the controller is demanding "full flaps" or "full spoiler".

In the following example, the vehicle has two ailerons, one elevator, one rudder and two flaps as control surfaces:

  • The flaps have both Flap Scale set to 1, meaning that they will be fully deflected with the flap-control at 1. They also have a slew rate of 0.5/s, meaning that it will take 2s to fully deflect them (a slew rate on the flaps is generally recommended to reduce the disturbances their movement creates).

  • The ailerons are primarily tasked to provide the commanded roll torque. They also have Spoiler Scale set to 0.5, and will additionally be deflected upwards 50% if the controller demands full spoiler configuration. The aileron deflection is thus the sum of the (asymmetrical) deflection for the roll torque, plus the (symmetrical) deflection for the spoiler setpoint.

  • The elevator is primarily tasked to provide pitch torque. It also has non-zero entries in the Flap Scale and Spoiler Scale fields. These are the elevator deflections added to compensate for the pitching moments generated by the flaps and spoiler actuators. In the case here the elevator would be deflected 0.3 up when the flaps are fully deployed to counteract the pitching down moment caused by the flaps.

Actuator Roll, Pitch, and Yaw Scaling

:::note For the majority of airframe setups the default values for each control surface types should not be changed. :::

The Roll scale, Pitch scale and Yaw scale values indicate the normalized effectiveness of the actuator around the corresponding axis.

Tuning the values is a low/level/advanced topic, and is generally only needed when tuning coupled control surfaces (like an elevon, that controls both pitch and roll). In this case the things you need to know are:

  • The numbers that are entered are directly put into the allocation matrix, that is then inverted to get from desired moments (normalized) to control signals.

  • Increasing the scale will reduce the deflection of the control surfaces (as it gets inverted).

Control Surface Deflection Convention

The diagram below shows the convention for deflections:

In summary:

  • Horizontal Control Surfaces: Upwards movement equals positive deflection. Includes Ailerons, etc

  • Vertical Control Surfaces: Rightwards movement is positive deflection. Includes rudders etc.

  • Mixed Control Surfaces: Upwards/rightwards movement is positive (as above). Includes V-Tail etc.

Motor Tilt Servo Geometry

The values that can be set are:

  • Tilt servos: The number of servos (tiltable motors).

  • Tilt direction: Towards front (positive x direction) or Towards right (positive y direction).

    • None: Torque control is not used.

    • Yaw: Tilt servos used to control yaw.

    • Pitch: Tilt servos used to control pitch.

    • Both Yaw and Pitch: Tilt servos are used to control both yaw and pitch.

Tilt Servo Coordinate System

The coordinate system for tilt rotor angles is shown below. The reference direction for tilt angles is straight upwards (0 degrees). Tilt angles towards the front or right of the vehicle are positive, and towards the back or to the left are negative.

The Angle at min tilt and Angle at max tilt indicate the range of movement for the tilt servo. The minimum tilt is the smaller numerical value (not absolute) of the two angles.

If the max/min tilt vectors are P0 and P1 as shown above, both tilt angles are positive but θ0 is smaller:

  • Angle at min tilt = θ0

  • Angle at max tilt = θ1

:::note If the diagram was mirrored so that P0 and P1 were tilting into the -x, -y quadrant, then both the tilt angles would be negative. Because θ1 would more negative (smaller) than θ0, it would be the Angle at min tilt.

Similarly, a servo that moves:

  • between the upright and forward positions would have min=0 and max=90.

  • symmetrically 45 degrees around the upright position would have min=-45 and max=45

  • between the upright and backward positions would have min=-90 and max=0. :::

The Tilt direction indicates whether the servo tilts in the plane towards the Front or Right of the vehicle. On the diagram this would be represented by α that can only take values of 0 (front) or 90 (right).

Tilt Servos for Yaw/Pitch Control

Tilt servos can provide torque on one or more axes, which may be used to yaw or pitch the vehicle:

  • Yaw is commonly set in this way, though motors are often used instead on vehicles with four or more motors.

Whether this feature is used is configured in the Use for control setting.

Actuator Outputs

The Actuator Outputs section is used to assign motors, control surface servos, and other actuators used by the particular frame to the physical outputs on the flight controller, and to set parameters for those outputs.

Separate tabs are displayed for each output bus supported by the connected flight controller: PWM MAIN (I/O Board output), PWM AUX (FMU Board output), UAVCAN.

:::note PWM AUX outputs are preferred over the PWM MAIN outputs for controlling motors (they have lower latency). :::

PWM outputs are grouped based on the hardware timer groups. Meaning all the outputs in one group must operate under the same protocol at the same rate (e.g. PWM signal at 400Hz for all the outputs in one group). Therefore it is not possible to map Servo and a Motor in the same output group, as they usually operate at a different rate.

:::note Configuring the Camera Capture / Trigger input requires a reboot to take effect :::

Output Functions

Output functions are used to map the "logical functions" of an airframe, such as Motor 1 or Landing gear, to physical outputs like FMU output pin 2. This makes it easy to use a particular output pin for almost any purpose.

Some functions are only relevant to particular frames or output types, and will not be offered on others.

Functions include:

  • Disabled: Output has no assigned function.

  • Constant_Min: Output set to constant minimum value (-1).

  • Constant_Max: Output is set to constant maximum value (+1).

  • Motor 1 to Motor 12: Output is indicated motor. Only motors allowed for airframe are displayed.

  • Servo 1 to Servo 8: Servo output. These are further assigned a specific meaning based on airframe, such as "tilt servo", "left aileron".

  • Landing Gear: Output is landing gear.

  • Parachute: Output is parachute. The minimum value is sent in normal use and the maximum value is emitted when a failsafe is triggered.

  • Gimbal Roll: Output controls gimbal roll.

  • Gimbal Pitch: Output controls Gimbal pitch.

  • Gimbal Yaw: Output controls Gimbal pitch.

The following functions can only be applied to FMU outputs:

Actuator Testing

The section has an Enable Sliders switch that must be toggled before sliders can be used. The sliders can power the motors/servos across their full range of motion, and "snap" to the disarmed and minimum positions.

:::note After you toggle the Enable sliders switch, actuators/motors won't do anything until the corresponding slider is moved. This is a safety feature to prevent sudden motor movements after switch is enabled. :::

Sliders can be used to verify the following:

  1. Actuators (Motors, Control surfaces, etc.) are assigned to the expected output.

  2. Motors don't spin when at the disarmed PWM output value

  3. Motors barely spin at the minimum PWM output value.

  4. Motors give positive thrust in the expected direction

  5. Control Surfaces are in the correct idle position for disarmed output value

  6. Motor Tilt Servos are in the correct idle position for disarmed output value

Output Assignment and Configuration

Multicopter PWM: Motor Assignment

You can use the Identify & Assign Motors button to assign motors to PWM outputs using a semi-automated process.

:::warning Remove the propellers from motors before assigning outputs or any testing. :::

When you click the button, QGC sends a command to a motor, causing it to spin. To assign that motor to an output you simply select the corresponding motor displayed in the screen. QGC will then spin the next motor for you to assign, and so on.

Instructions:

  1. Setup the motor geometry to match the motors on your frame.

  2. Select the PWM tab where you want to assign the motors.

  3. Click the Identify & Assign Motors button.

  4. One motor will start spinning (click Spin Motor Again if it stops spinning too quickly to note.)

    Select the corresponding motor in the geometry section.

  5. After assigning all motors, the tool will set the correct motor mapping for the outputs and then exit.

Output Assignment (Manual)

:::warning Remove the propellers from motors before assigning outputs or any testing. :::

To assign an actuator:

  1. First assign functions to the outputs that you think are likely to be correct in the Actuator Outputs section.

  2. Toggle the Enable sliders switch in Actuator Testing section.

  3. Move the slider for the actuator you want to test:

    • Motors should be moved to the minimum thrust position.

    • Servos should be moved near the middle position.

    • If the correct actuator moves, then proceed to the next step.

    • If a wrong actuator moves, swap the output assignment over.

    • If nothing moves then increase the slider mid-way though the range, then higher if needed. If nothing moves after that the output might not be connected, the motor might not be powered, or the output might be misconfigured. You will need to troubleshoot (perhaps try other actuator outputs to see if "anything" moves).

  4. Return the slider to the "disarmed" position (bottom of slider for motors, centre of slider for servos).

  5. Repeat for all actuators

Motor Configuration

:::warning Remove propellers! :::

The motor configuration sets output values such that motors:

  • don't spin when disarmed (at the disarmed PWM output value).

  • barely but reliably spin up at the minimum PWM output value.

  • have the lowest maximum PWM output value that spins the motor at its highest rate.

  • give positive thrust in the expected direction.

For each motor:

  1. Pull the motor slider down so that it snaps to the bottom. In this position the motor is set to the outputs disarmed value.

    • Verify that the motor doesn't spin in this position.

  2. Slowly move the slider up until it snaps to the minimum position. In this position the motor is set to the outputs minimum value.

    • Verify that the motor is spinning very slowly in this position.

  3. Increase the slider value to a level where you can verify that the motor is spinning in the correct direction and that it would give a positive thrust in the expected direction.

    • The expected thrust direction can vary by vehicle type. For example in multicopters the thrust should always point upwards, while in a fixed wing vehicle the thrust will push the vehicle forwards.

  4. Increase the slider value to the maximum value, so the motor is spinning quickly. Reduce the value of the PWM output's maximum value just below the default. Listen to the tone of the motors as you increase the value in small (25us) increments. The "optimal" maximum value is the value at which you last hear a change in the tone.

Control Surface Setup

First set the frame rate for the servos used in each group of outputs. This would normally be set to the maximum value supported by your servo. Below we show how you would set it to PWM50 (the most common value).

:::note You will almost certainly need to change the pulse rate from the default of 400Hz because support is rare (if not supported the servo will usually make an "odd" noise). If you're using PWM servos, PWM50 is far more common. If a high rate servo is really needed, DShot offers better value. :::

For each of the control surfaces:

  1. Set the Disarmed value so that the surfaces will stay at neutral position when disarmed. This is usually around 1500 for PWM servos.

    • If the control surface moves in the opposite direction, click on the Rev Range checkbox to reverse the range.

  2. Move the slider again to the middle and check if the Control Surfaces are aligned in the neutral position of the wing

    • After setting the trim for a control surface, move its slider away from the center, release, and then back into disarmed (middle) position. Confirm that surface is in the neutral position.

      Note that you must move the slider even if it is already in the middle position (it doesn't start getting commands until it has been moved).

  • This will enable the control of servos even when the vehicle is disarmed, and will constantly be applying the Trim setting to the Control Surfaces

  • You can try setting different values for the Trim and check the alignment, and then settle on the value you are happy with. :::

Tilt Servo Setup

First set the frame rate for the servos used in each group of outputs. This would normally be set to the maximum value supported by your servo. Below it is set to PWM50 (the most common value). Note, this part of the setup is the same as for control surfaces above.

For each of the tilt servos:

  1. Set the Disarmed value (e.g. 1000 or 2000 for PWM Servos) so that the servo will be positioned in expected direction when disarmed.

  2. Position the slider for the servo in the lowest position, and verify that a positive value increase will point towards the Angle at Min Tilt (defined in the Geometry section).

  3. Position the slider for the servo in the highest position, and verify that positive motor thrust will point towards the Angle at Max Tilt (as defined in the Geometry section).

Other Notes

  • If a safety button is used, it must be pressed before actuator testing is allowed.

  • The kill-switch can still be used to stop motors immediately.

  • Servos do not actually move until the corresponding slider is changed.

  • VTOLs will automatically turn off motors pointing upwards during fixed-wing flight:

    • Standard VTOL : Motors defined as multicopter motors will be turned off

    • Tiltrotors : Motors that have no associated tilt servo will turn off

    • Tailsitters do not turn off any motors in fixed-wing flight

Reversing Motors

The motors must turn in the direction defined in configured geometry ("Direction CCW" checkboxes). If any motors do not turn in the correct direction they must be reversed.

There are several options:

  • Swap 2 of the 3 motor cables (it does not matter which ones).

    :::note If motors are not connected via bullet-connectors, re-soldering is required (this is a reason, among others, to prefer DShot ESCs). :::

The geometry section is used to set any configurable geometry-related parameters for the selected . This includes the number and position of , and the number, function, and properties of . For VTOL tiltrotor vehicles, it will also include the number and properties of

Most motor properties apply to all frames. A few properties apply to specific frames. For example, Tilted-by and axis are only relevant for and vehicles, respectively.

The geometry configuration for multicopter airframes provides a diagram showing the relative x,y positions for each of the motors. See the for an broad understanding of the motor positions for other frames.

Position X: , in metres.

Position Y: , in metres.

Position Z: , in metres.

(Advanced) Bidirectional: Checkbox to indicate motor is

(Advanced) Slew Rate: Refer to the section for more information

:::note The X, Y, Z positions are in . Note, this may not be the same as the position of the flight controller! :::

The motor geometry for a is shown below (the approach for configuring other tailsitter VTOL vehicles will be similar).

Motors have the same configuration fields as for the .

The motor geometry for a is shown below (the approach for configuring other will be similar).

Tilted by: The associated servo used for tilting the motor. The properties of this servo are defined in the .

The motor geometry for a is shown below (the approach for configuring other "Standard VTOL" will be similar).

Motors have most of the same configuration fields as for the . There is an additional field to indicate the direction in which the motor moves the vehicle (for a standard VTOL, the hover motors are usually set "upwards" and the pusher motor is set to "forwards").

Note that you will need to also ensure that the ESC associated with bidirectional motors is configured appropriately (e.g. 3D mode enabled for DShot ESCs, which can be achieved via ).

Roll Torque: Effectiveness of actuator around roll axis (normalised: -1 to 1). .

Pitch Torque: Effectiveness of actuator around pitch axis (normalised: -1 to 1). .

Yaw Torque: Effectiveness of actuator around yaw axis (normalised: -1 to 1). .

(Advanced) Flap Scale: How much this actuator is deflected at the "full flaps configuration" [0, 1] (see below). Can be used to configure aerodynamic surface as flap or to compensate for generated torque through main flaps.

(Advanced) Spoiler Scale: How much this actuator is deflected at the "full spoiler configuration" [0, 1] (see below). Can be used to configure aerodynamic surface as spoiler or to compensate for generated torque through main spoiler.

can tilt their motors to transition between hover and forward flight. This section defines the properties of the tilting servos. These are mapped to specific motors in the motor geometry for a tiltrotor.

The example below shows the tilt servo setup for the .

Angle at min tilt: in degrees, relative to the z axis.

Angle at max tilt: in degrees, relative to the z-axis.

Use for control:

Pitch is more commonly controlled using differential motors thrust. Control using tilt servos is useful on airframes that can't use differential thrust, such as a .

Motors and actuators (which are referred to as "") can be assigned to any physical output on any of the available buses.

The PWM AUX tab has CAP outputs that are generally used as the . However you can map the CAP outputs to other output functions, and other AUX outputs can be used as camera capture/triggering input.

You should assign functions to the outputs that match your physical wiring of motors and servos, and use the section described below to determine appropriate output parameter values. These steps are covered in .

Offboard Acutator Set 1 to Offboard Acutator Set 6: .

RC Roll: Output is passthrough roll from RC ( maps an RC channel to this output). An RC channel is mapped to the output using .

RC Pitch: Output is passthrough pitch from RC ( maps an RC channel to this output).

RC Throttle: Output is passthrough throttle from RC ( maps an RC channel to this output).

RC Yaw: Output is yaw from RC ( maps an RC channel to this output).

RC Flaps: Output is flaps from RC ( maps an RC channel to this output).

RC AUXn to RC AUX1: Outputs used for

Camera_Trigger: Output to trigger camera. Enabled when . Configured via TRIG_* parameters.

Camera_Capture: Input to get image capture notification. Enabled when . Configured via CAM_CAP_* parameters.

PPS_Input: Pulse-per-second input capture. Used for GPS synchronisation. Enabled when

:::note This list is correct at PX4 v1.13. The functions are defined in source at . :::

The Actuator Testing section in lower-right corner provides sliders that can be used to test (and determine) actuator and motor settings. A slider is provided for each output defined in the section. The slider example below shows the section for a typical VTOL Tiltrotor airframe.

Control Surfaces move in the direction as defined in the

Motor Tilt Servos move in the direction as defined in the

Outputs are assigned to functions and configured in the section, while the sliders are commonly used to determine appropriate configuration values to enter:

MC vehicles that have connected motors to PWM outputs can use the button to perform motor assignment "semi-automatically".

Output assignment of both motors and actuators can be done/checked using sliders (see ).

Disarmed, minimum, and maximum settings, for all outputs can also be also determined using sliders. This is shown as part of , ,

:::note This is the easiest way to assign motors, but is currently only supported for motors on multicopter vehicles that are connected to PWM outputs (UAVCAN outputs and other frame types do not support this feature). On other frames you can follow the instructions in . :::

Actuator outputs for both motors and servos can be manually assigned using sliders in the section.

Check which actuator moves on the vehicle. This should match the actuator positions for your geometry (the shows motor positions for a number of standard airframes).

:::note If using PWM or OneShot ESCs, you should first perform (this topic also covers PWM specific motor configuration).

ESCs do not require configuration of the command limits but only rotation direction. :::

If the motor spins, reduce the corresponding PWM disarmed value in the section to below the level at which it still spins.

If the motor is not spinning, or spinning too fast you will need to adjust the corresponding PWM minimum value in the such that the motors barely spin.

:::note For DShot output, this is not required. :::

For VTOL, thrust should point upwards when the Tilt Servo is at 0 degrees as defined the . Testing of the is covered below as well.

If thrust is in the wrong direction, you may need to .

Move the slider for the surface upwards (positive command) and verify that it moves in the direction defined in the .

If it is not aligned, you can set the Trim value for the control surface. :::note This is done in the Trim setting of the Geometry panel, usually by "trial and error". :::

:::note Another way to test without using the sliders would be to set the parameter to Always:

The parameter can be used to completely disable actuator testing.

On the shell, can be used as well for actuator testing.

If the ESCs are configured as you can reverse the direction via UI (Set Spin Direction buttons). Note that the current direction cannot be queried, so you might have to try both options.

Airframe Reference
VTOL tiltrotor vehicles
Bicopter
/src/lib/mixer_module/output_functions.yaml
airframe reference
ESC Calibration
DShot
DShot
airframe
motors
control surfaces
tilt servos
Tiltrotor VTOL
Standard VTOL
X-position
Y-position
Z-position
bidirectional
Control Surfaces Geometry
FRD coordinate frame, relative to the centre of gravity
multicopter geometry
Motor Tilt Servo Geometry
multicopter geometry
Generally you should use the default actuator value
Generally you should use the default actuator value
Generally you should use the default actuator value
Flap Scale and Spoiler Scale Configuration
Flap Scale and Spoiler Scale Configuration
tiltrotor motor geometry shown above
Maximum tilt angle
Minimum tilt angle
Tilt servo used for yaw/pitch
functions
Actuator Testing
Output Assignment and Configuration
Actuator Outputs
Control Surface Convention
Tilt Servo Convention
Actuator Outputs
Actuator Testing
Identify & Assign Motors
Output Assignment (Manual)
Motor Configuration
Control Surface Setup
Tilt servo setup
Output Assignment (Manual)
Actuator Testing
Actuator Outputs
Actuator Outputs
Tilt Servo Convention
Tilt Servo
reverse the motors
Control Surface Convention
selected frame
Airframe Reference
selected airframe
Geometry
motors
control surfaces
motor tilt servos
Actuator Outputs
Actuator Testing
Payloads > Generic Actuator Control with MAVLink
arbitrary payloads triggered by RC passthrough
camera capture/trigger input
actuator_test
DShot commands
Actuators MC (QGC)
Geometry MC (QGC)
Geometry motor: tailsitter vtol
Geometry motor: tiltrotor vtol
Geometry motor: standard vtol
Actuators CG reference diagram
Reversible
Control Surface Setup Example
Flaps and spoiler actuator configuration example
Control Surface Deflections
Tilt Servo Geometry Setup Example
Tilt Axis
Actuator Outputs - Multicopter diagram
Actuator Testing Slider
Identify motor button
Control Surface Disarmed 1500 Setting
Tilt Servo Setup
Tilt Servo Geometry Setup
PWM Minimum Output
Control Surface Trimming
VTOL Quad Tailsitter
Generic Quadplane VTOL Tiltrotor
VTOL tiltrotors
Generic Standard VTOL
RC_MAP_ROLL
RC_MAP_PITCH
RC_MAP_THROTTLE
RC_MAP_YAW
RC_MAP_FLAPS
TRIG_MODE==0
CAM_CAP_FBACK==0
PPS_CAP_ENABLE==0
COM_PREARM_MODE
COM_MOT_TEST_EN