Peirastes

Probing the fidelity of Nature and Reason

Dynamic Control of an Aeropendulum

Can classical PID and energy-based control strategies effectively control a nonlinear physical oscillator with real sensor noise, actuator latency, and friction?

Textbook control theory teaches linear, noise-free, friction-free systems. Real physical systems have sensor noise, actuator deadbands, nonlinear dynamics, and coupling between modes. The aeropendulum — a propeller-driven pendulum with real-time feedback control — is a testbed for investigating what control theories survive contact with reality.

Control Modes

Mode Strategy Description
Manual Open-loop Button-driven throttle for direct motor control
Static Hold PID Closed-loop angle hold at a target setpoint (Kp, Ki, Kd)
Oscillation Energy pumping Amplitude-regulated oscillation via energy injection and braking at the swing nadir
Active Damping Adaptive braking Amplitude-dependent gate widths with speed-normalized braking gain to bring the pendulum to rest

System Architecture

Sensors

  • AS5600 magnetic encoder (12-bit, I2C) — absolute angular position
  • MPU6050 IMU — angular velocity via gyroscope
  • Circular-mean tare calibration
  • Wrap-safe EMA angle filtering
  • Gyro low-pass filtering

Controller

  • Anti-windup integral clamp
  • PWM slew rate limiter
  • Actuator deadband compensation
  • Auto IMU reinit on sensor stall
  • Real-time serial parameter tuning

Hardware

  • Propeller-driven pendulum arm
  • Custom 3D-printed enclosure
  • 18+ CAD iterations (FreeCAD)
  • 60+ STL component files

Firmware

  • 21 versions (v0.1–v4.0)
  • 5 months of iterative development
  • Arduino-based control loop

Project Documents

Project Overview Document (POD)

Download POD (PDF)

Project Status Report (PSR)

Download PSR (PDF)