PythonPilot has an extensive set of features critical already built in and described on this site:

  • Attitude Stabilization — Roll and pitch angles go to horizontal, and heading remain fix when releasing the command input sticks
  • Altitude Hold — altitude setpoint
  • Control laws that utilize baro-altimeter, magnetometer, and an IMU (inertial measurement unit, the MPU6050) sensing body angular rates and linear accelerations
  • Command input processing from controller stick inputs
  • Real-time telemetry thru WiFi and plotting of GPS trajectory on a map
  • Auto-land at current location

The following are what we are working on now or in the not to distant future:

  • Horizontal hold using GPS location, possibly augmented with down-looking stereo cameras
  • Auto-home and land, either pilot initiated or through the event of a lost link
  • Lost link detection
  • Open-CV display of GPS location on Google map
  • Flight attitude recovery following severe input disturbance and violent initial conditions
  • Autonomous flight mode with way-point navigation
  • Port from Debian to Stretch (Linux)