Files
PX4-Autopilot/docs/en/flight_modes_mc/position.md
T
Matthias Grob 4842c542b8
Build all targets / Scan for Board Targets (push) Has been cancelled
Build all targets / Build [${{ matrix.runner }}][${{ matrix.group }}] (push) Has been cancelled
Build all targets / Upload Artifacts (push) Has been cancelled
Checks / build (NO_NINJA_BUILD=1 px4_fmu-v5_default) (push) Has been cancelled
Checks / build (NO_NINJA_BUILD=1 px4_sitl_default) (push) Has been cancelled
Checks / build (check_format) (push) Has been cancelled
Checks / build (check_newlines) (push) Has been cancelled
Checks / build (module_documentation) (push) Has been cancelled
Checks / build (px4_fmu-v2_default stack_check) (push) Has been cancelled
Checks / build (px4_sitl_allyes) (push) Has been cancelled
Checks / build (shellcheck_all) (push) Has been cancelled
Checks / build (tests) (push) Has been cancelled
Checks / build (tests_coverage) (push) Has been cancelled
Checks / build (validate_module_configs) (push) Has been cancelled
Clang Tidy / build (push) Has been cancelled
MacOS build / build (px4_fmu-v5_default) (push) Has been cancelled
MacOS build / build (px4_sitl) (push) Has been cancelled
Ubuntu environment build / Build and Test (ubuntu:22.04) (push) Has been cancelled
Ubuntu environment build / Build and Test (ubuntu:24.04) (push) Has been cancelled
Container build / Set Tags and Variables (push) Has been cancelled
Container build / Build Container (amd64) (push) Has been cancelled
Container build / Build Container (arm64) (push) Has been cancelled
Container build / Deploy To Registry (push) Has been cancelled
EKF Update Change Indicator / unit_tests (push) Has been cancelled
Failsafe Simulator Build / build (failsafe_web) (push) Has been cancelled
FLASH usage analysis / Analyzing px4_fmu-v5x (push) Has been cancelled
FLASH usage analysis / Analyzing px4_fmu-v6x (push) Has been cancelled
FLASH usage analysis / Publish Results (push) Has been cancelled
ITCM check / Checking nxp_tropic-community (push) Has been cancelled
ITCM check / Checking px4_fmu-v5x (push) Has been cancelled
ITCM check / Checking px4_fmu-v6xrt (push) Has been cancelled
MAVROS Mission Tests / build (map[mission:MC_mission_box vehicle:iris]) (push) Has been cancelled
MAVROS Offboard Tests / build (map[test_file:mavros_posix_tests_offboard_posctl.test vehicle:iris]) (push) Has been cancelled
Nuttx Target with extra env config / build (px4_fmu-v5_default) (push) Has been cancelled
Python CI Checks / build (push) Has been cancelled
ROS Integration Tests / build (push) Has been cancelled
ROS Translation Node Tests / Build and test (map[ros_version:humble ubuntu:jammy]) (push) Has been cancelled
ROS Translation Node Tests / Build and test (map[ros_version:jazzy ubuntu:noble]) (push) Has been cancelled
SITL Tests / Testing PX4 tailsitter (push) Has been cancelled
SITL Tests / Testing PX4 iris (push) Has been cancelled
SITL Tests / Testing PX4 standard_vtol (push) Has been cancelled
Docs - Crowdin - Upload Guide sources (en) / upload-to-crowdin (push) Has been cancelled
Docs - Deploy PX4 User Guide to AWS / build (push) Has been cancelled
Docs - Deploy PX4 User Guide to AWS / deploy (push) Has been cancelled
rc_update: remove 1% deadzone for RC channels 1-8 (#25502)
* rc_update: remove 1% deadzone for all channels

this should be handled higher level.

* Remove all references to the RC{n}_DZ parameters

Regular expression: RC.{0,2}_DZ

---------

Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
2025-10-13 21:41:11 -08:00

9.6 KiB

Position Mode (Multicopter)

  

Position is an easy-to-fly RC mode in which roll and pitch sticks control acceleration over ground in the vehicle's left-right and forward-back directions (similar to a car's accelerator pedal), and throttle controls speed of ascent-descent. When the sticks are released/centered the vehicle will actively brake, level, and be locked to a position in 3D space — compensating for wind and other forces. With full stick deflection the vehicle accelerates initially with MPC_ACC_HOR_MAX ramping down until it reaches the final velocity MPC_VEL_MANUAL.

:::tip Position mode is the safest manual mode for new fliers. Unlike Altitude and Stabilized modes the vehicle will stop when the sticks are centered rather than continuing until slowed by wind resistance. :::

The diagram below shows the mode behaviour visually (for a mode 2 transmitter).

MC Position Mode

Landing

Landing in this mode is easy:

  1. Position the drone horizontally above the landing spot using the roll and pitch stick.
  2. Let go of the roll and pitch stick and give it enough time to come to a complete stop.
  3. Pull the throttle stick down gently until the vehicle touches the ground.
  4. Pull the throttle stick all the way down to facilitate and accelerate land detection.
  5. The vehicle will lower propeller thrust, detect the ground and automatically disarm (by default).

:::warning While very rare on a well calibrated vehicle, sometimes there may be problems with landing.

  • If the vehicle does not stop moving horizontally:
    • You can still land under control in Altitude mode. The approach is the same as above, except that you must manually ensure that the vehicle stays above the landing spot using the roll and pitch stick.
    • After landing check GPS and magnetometer orientation, calibration.
  • If the vehicle does not detect the ground/landing and disarm:
    • After the vehicle is on the ground switch to Stabilized mode keeping the throttle stick low, and manually disarm using a gesture or other command. Alternatively you can also use the kill switch when the vehicle is already on the ground.

:::

Technical Summary

RC mode where roll, pitch, throttle (RPT) sticks control movement in corresponding axes/directions. Centered sticks level vehicle and hold it to fixed altitude and position against wind.

  • Centered roll, pitch, throttle sticks (within RC deadzone MAN_DEADZONE) hold x, y, z position steady against any disturbance like wind.
  • Outside center:
    • Roll/Pitch sticks control horizontal acceleration over ground in the vehicle's left-right and forward-back directions (respectively).
    • Throttle stick controls speed of ascent-descent.
    • Yaw stick controls rate of angular rotation above the horizontal plane.
  • Takeoff:
    • When landed, the vehicle will take off if the throttle stick is raised above 62.5% percent (of the full range from bottom).
  • Global position estimate is required.
  • Manual control input is required (such as RC control, joystick).
    • Roll, Pitch, Throttle: Assistance from autopilot to hold position against wind.
    • Yaw: Assistance from autopilot to stabilize the attitude rate. Position of RC stick maps to the rate of rotation of vehicle in that orientation.

Parameters

All the parameters in the Multicopter Position Control group are relevant. A few parameters of particular note are listed below.

Parameter Description
MAN_DEADZONE Deadzone of sticks where position hold is enabled. Default: 0.1 (10% of full stick range).
MPC_Z_VEL_MAX_UP Maximum vertical ascent velocity. Default: 3 m/s.
MPC_Z_VEL_MAX_DN Maximum vertical descent velocity. Default: 1 m/s.
MPC_LAND_ALT1 Altitude for triggering first phase of slow landing. Below this altitude descending velocity gets limited to a value between MPC_Z_VEL_MAX_DN (or MPC_Z_V_AUTO_DN) and MPC_LAND_SPEED. Value needs to be higher than MPC_LAND_ALT2. Default 10m.
MPC_LAND_ALT2 Altitude for second phase of slow landing. Below this altitude descending velocity gets limited to MPC_LAND_SPEED. Value needs to be lower than "MPC_LAND_ALT1". Default 5m.
MPC_XXXX Most of the MPC_xxx parameters affect flight behaviour in this mode (at least to some extent). For example, MPC_THR_HOVER defines the thrust at which a vehicle will hover.
MPC_POS_MODE Stick input to movement translation strategy. From PX4 v1.12 the default (Acceleration based) is that stick position controls acceleration (in a similar way to a car accelerator pedal). Other options allow stick deflection to directly control speed over ground, with and without smoothing and acceleration limits.
MPC_ACC_HOR_MAX Maximum horizontal acceleration.
MPC_VEL_MANUAL Maximum horizontal velocity.
MPC_LAND_SPEED Landing descend rate. Default 0.7 m/s.

Additional Information

Position Loss/Safety

Position mode is dependent on having an acceptable position estimate. If the estimate falls below acceptable levels, for example due to GPS loss, this may trigger a Position (GPS) Loss Failsafe. Depending on configuration, whether you have a remote control, and whether there is an adequate altitude estimate, PX4 may switch to altitude mode, manual mode, land mode or terminate.

See Also