A drone is an aircraft that can fly without an onboard human pilot. In robotics, “drone” usually means a multirotor UAV, especially a quadcopter.

A quadcopter flies by changing the speed of its four propellers. The propellers create thrust, and differences in thrust create roll, pitch, yaw, and vertical motion.

Main components

  • Frame
  • Propellers
  • Brushless DC motors
  • Electronic Speed Controllers (ESCs)
  • Battery
  • Power distribution board
  • Flight Controller
  • Sensors: IMU, barometer, magnetometer, GPS, camera, lidar, or optical flow
  • Radio receiver or onboard computer

The frame holds everything together, the battery provides power, the ESCs drive the motors, and the flight controller runs the control loop that keeps the drone stable.

Motors

A quadcopter has two clockwise motors and two counterclockwise motors.

Diagonal pairs spin in the same direction. This makes the torque generated by the spinning propellers cancel out during hover, enabling stable flight.

Typical X-frame motor layout:

Front

      M1 CCW     M2 CW
          \     /
           \   /
           /   \
          /     \
      M4 CW      M3 CCW

Each motor produces upward thrust:

where:

  • is thrust from motor
  • is a thrust coefficient
  • is motor angular velocity

Motor torque also scales roughly with motor speed squared:

This is why small motor speed changes can create large control effects.

Control axes

A drone controls motion by changing relative motor speeds.

MotionHow it happens
ThrottleIncrease or decrease all motors together
RollIncrease thrust on one side and decrease thrust on the other side
PitchIncrease thrust in the back/front and decrease thrust in the opposite side
YawSpeed up one diagonal pair and slow down the other diagonal pair

The drone does not directly “move forward.” It pitches forward, tilts its thrust vector, and part of the thrust pushes it forward.

Force intuition

In hover, total thrust equals weight:

If total thrust is greater than weight, the drone accelerates upward.

If the drone tilts, the thrust vector is no longer perfectly vertical:

  • vertical component keeps it in the air
  • horizontal component accelerates it sideways or forward

This is why aggressive forward flight usually requires more throttle than stationary hover.

Flight controller

The Flight Controller is the real-time computer that stabilizes the drone.

Basic loop:

  1. Read sensors
  2. Estimate current state
  3. Compare desired attitude/position to current attitude/position
  4. Use a controller such as PID to compute corrections
  5. Convert corrections into motor commands
  6. Send commands to ESCs
  7. Repeat hundreds or thousands of times per second

The flight controller usually runs nested loops:

  • rate control: controls angular velocity
  • attitude control: controls roll, pitch, yaw orientation
  • velocity control: controls translational velocity
  • position control: controls position in space

Lower-level loops run faster because stability depends on quick attitude correction.

State estimation

The drone needs to estimate its state:

  • position
  • velocity
  • orientation
  • angular velocity
  • sensor biases

Common sensors:

SensorMeasuresProblem
GyroscopeAngular velocityDrifts over time
AccelerometerAcceleration and gravity directionNoisy during motion
MagnetometerCompass headingDisturbed by metal and current
BarometerAltitude from air pressureNoisy and weather dependent
GPSGlobal positionLow update rate and poor indoors
Camera / optical flowVisual motionNeeds texture and light

Sensor fusion combines these imperfect measurements into a better estimate. A common method is the Extended Kalman Filter.

Attitude representation

Drone orientation can be represented with:

Euler angles are intuitive, but quaternions are often used internally because they avoid gimbal lock and are numerically stable.

Motor mixing

Controllers usually output desired total thrust and torques:

The mixer converts this into four motor commands:

This depends on frame geometry, motor direction, propeller direction, and arm length.

Software stack

Typical drone software layers:

LayerExample
Low-level firmwarePX4, ArduPilot, Betaflight
MiddlewareROS 2
State estimationExtended Kalman Filter
ControlPID, MPC, geometric control
Planningtrajectory generation, obstacle avoidance
Perceptioncamera, lidar, optical flow, VIO

For learning/research, the stack often looks like:

Sensors -> State Estimation -> Controller -> Motor Mixer -> ESCs -> Motors

Important problems

  • Stability: the drone must constantly correct attitude
  • Latency: slow sensors or slow control loops cause oscillation
  • Vibration: motor vibration corrupts IMU measurements
  • Battery sag: available thrust changes as voltage drops
  • Weight: every gram reduces flight time
  • Prop wash: airflow from propellers affects nearby surfaces and sensors
  • Localization: GPS is weak indoors, so drones often need visual-inertial odometry