List of Suggested Projects for GSoC 2020

This is a list of projects suggested by ArduPilot developers for GSoC 2020. These are only suggestions, and if you have your own ideas then please discuss them on the ArduPilot GSOC gitter channel or on the discuss server here. We have a lot of talented developers in the ArduPilot dev team who would love to mentor good students for GSoC 2020.

See lower down on this page for more details for some of the projects listed above

Timeline

The timeline for GSoC 2020 is here

How to improve your chances of being accepted

When making the difficult decision about which students to accept, we look for:

  • Clear and detailed application explaining how you think the project could be done
  • Relevant prior experience
  • Experience contributing to ArduPilot or other open source projects
  • Understanding of Git and/or GitHub

Non-GPS navigation improvements using Intel RealSense cameras

Intel Realsense cameras can already be used with ArduPilot but there is still room for improvement including:

  • Allow vehicles to move seamlessly between GPS environments and non-GPS environments. This will likely require enhancements to ArduPilot’s EKF.
  • Provide obstacle data from an Intel Realsense camera to ardupilot using the mavlink OBSTACLE_DISTANCE message
  • Prepare APSync images to ease user setup

Optical flow position hold performance improvements for multicopters

ArduPilot supports Optical flow sensors but the setup, accuracy and reliability could be improved:

  • Multicopters should not trigger an EKF failsafe on loss of GPS if a working optical flow sensor is available (issue, possible fix)
  • Create an easy to use sensor calibration routine so that the sensor’s pixel movements are accurately converted to rotation rates
  • Verify the EKF’s integration of sensor data is correct (i.e. check rotation rate data, sensor’s defined position, sensor’s update rate and lag are all properly used in the final position and velocity estimates)

Precision Landing accuracy improvements for Multicopters

ArduPilot supports Precision Landing using the IRLock sensor or companion computer. This project could involve:

  • Add support for the JeVois camera (or similar) to recognise AprilTags and then provide the target to the autopilot via mavlink
  • Improve the reliability and accuracy of the small EKF used to estimate the landing target’s relative position and velocity. In particular adding protection against large lag in the readings leading to unreasonable results.

Lane following or visual follow-me for Copter, Rover or Boat

This project involves using machine vision and/or machine learning to add lane following or visual follow-me to ArduPilot’s Copter or Rover firmware

Expenses for purchasing the companion computer and camera will be covered by ArduPilot

Walking robot support

This project would involve adding basic support for four legged walking robots and could involve:

  • Identifying a reasonably priced four legged robot frame
  • Control system improvements to allow the frame to stand and walk
  • Documentation of the setup

Expenses for purchasing the frame and autopilot will be covered by ArduPilot.

Improve fixed-wing 3D aerobatics support in ArduPilot

With the addition of prop-hang in ArduPilot (see here) we now have the beginnings of a nice 3D aerobatics for fixed wing. This project involves taking that to the next level to add support for “trick” mode. In trick mode the user will have access to a a variety of common 3D maneuvers, including knife-edge, loops, harrier and rolling loops. Implementing this will involve some careful use of quaternion controllers, but a good UI design so the stick inputs to control these tricks are easy to learn. Testing can be done in the FlightAxis simulator (as in the above video), allowing for development without risking real aircraft.

Improve Morse simulator integration including supporting boats / ROVs

Improve ArduPilot’s integration with Morse simulator software including

  • Adding support for boats and ROVs with simulated waves to test ArduPilot controls
  • Default camera view to follow the vehicle

Projects Completed in past years

In 2019, students successfully completed these projects:

  • AirSim Simulator Support for Ardupilot SITL
  • Development of Autonomous Autorotations for Traditional Helicopters
  • Further Development of Rover Sailboat Support
  • Integration of ArduPilot and VIO tracking camera for GPS-less localization and navigation
  • MAVProxy GUI and module development

In 2018, students successfully completed these projects:

  • BalanceBot
  • RedTail integration with ArduPilot
  • Live video improvements for APSync

In 2017, 3 student successfully completed these projects:

  • Smart Return-To-Launch which involves storing vehicle’s current location and maintaining the shortest possible safe path back home
  • Rework ArduRover architecture to allow more configurations and rover type (see details here)
  • Add “sensor head” operation of ArduPilot, split between two CPUs
You can find their proposals and works on the Google GSoC 2017 archive page