List of Suggested Projects for GSoC 2025

This is a list of projects suggested by ArduPilot developers for GSoC 2025. These are only suggestions so if you have your own ideas then please discuss them on the ArduPilot Discord Chat or on the discuss server here

  • Non-GPS Position Estimation Using 3D Camera and Pre-Generated Map

  • AI Chat WebTool for use with MP and/or QGC

  • AI Chat Integration with all Web Tools

  • Gazebo Plug-in Model of a Motor

  • SITL AI Reinforcement Learning Concept Script

  • SITL Test Script for Controls Testing

See lower down on this page for more details on each project

Timeline

The timeline for GSoC 2025 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 Position Estimation Using 3D Camera and Pre-Generated Map

  • Skills required: Python, C++

  • Mentor: Randy Mackay

  • Expected Size: 175h

  • Level of Difficulty: Hard

  • Expected Outcome: Copter with low-cost 3D camera estimates its local position by comparing the camera point cloud to a pre-generated 3D map

The goal of this project is to allow a Copter to estimate its local position using a low-cost 3D camera (e.g. Intel D465) by comparing the camera’s point cloud to a pre-generated 3D map. The steps involved include:

  • Create a tool to capture a 3D map of the flight area. The resulting map should be loaded onto the vehicle’s companion computer (e.g. RPI5)

  • Mount a low-cost 3D camera (e.g. Intel D465) onto an ArduPilot copter (e.g. EDU650 or similar) equipped with a companion computer

  • Write localisation software (e.g. python code) to compare the output of the 3D camera to the pre-generated 3D map and send the estimated position to the vehicle’s EKF (see Non-GPS Position Estimation)

  • Implement a simulator of the system (e.g. gazebo)

  • Document the setup and operation for future developers and users

Funding will be provided for hardware including a copter (e.g. Hexsoon EDU650), companion computer and 3D camera (e.g. Intel D465) if necessary

AI Chat WebTool for use with MP and/or QGC

  • Skills required: JavaScript, OpenAI, Google Gemini

  • Mentor: Randy Mackay

  • Expected Size: 175h

  • Level of Difficulty: Medium

  • Expected Outcome: Web tool capable following a pilot’s verbal commands and converting them to MAVLink in order to control an ArduPilot multicopter

This project involves re-implementing the MAVProxy’s AI chat module (see blog here) to run as a WebTool

Once complete the WebTool should be capable of:

  • Connecting to the vehicle via Mission Planner or QGC

  • Responding to verbal or written questions and commands from the pilot

  • Arming the vehicle

  • Issuing takeoff commands and flying the vehicle a specified distance in any direction

  • Changing the vehicle’s flight mode

Most of the development can be completed using the SITL simulator and any OpenAI or Google Gemini usage costs will be covered

AI Chat Integration with all WebTools

  • Skills required: JavaScript, OpenAI, Google Gemini

  • Mentor: Randy Mackay

  • Expected Size: 175h

  • Level of Difficulty: Medium

  • Expected Outcome: All WebTools include AI chat to help users understand and use the tool

This project involves adding an OpenAI or Google Gemini chat window into some or all of the ArduPilot Webtools

Once complete some or all of the WebTools should:

  • Include a new chat widget allowing users to ask an AI assistant questions about the tool using text or voice

  • Allow the AI assistant to operate the tool based on user input (e.g. push buttons, change zoom of graphs, etc)

The top priority WebTool is the “UAV Log viewer” although simpler tools like the “Hardware Report” could be a good starting point

Most of the development can be completed using the SITL simulator and any OpenAI or Google Gemini usage costs will be covered

Gazebo Plug-in Model of a Motor

  • Skills required: Gazebo, C++

  • Mentor: Nate Mailhot

  • Expected Size: 175h

  • Level of Difficulty: Medium

  • Expected Outcome: ArduPilot Gazebo plugin simulates a Motor

As part of the ArduPilot_Gazebo plugin, we ask a student to model the electromechanical properties of a motor (no thrust/aero, just the motor angular acceleration/power itself)

SITL AI Reinforcement Learning Concept Script

  • Skills required: Gaazebo, Lua, AI

  • Mentor: Nate Mailhot

  • Expected Size: 175h

  • Level of Difficulty: Medium

  • Expected Outcome: Lua script that uses re-inforcement learning to automate changing some parameters

An AP-SITL reinforcement learning script concept, focuses on using Lua applets or some python to automate parameter changes according to some basic implementation of online reinforcement learning (actor-critic/SARSA/Q-learning)

SITL Test Script for Controls Testing

  • Skills required: Gaazebo, Python

  • Mentor: Nate Mailhot

  • Expected Size: 175h

  • Level of Difficulty: Medium

  • Expected Outcome: Python code that allows easily setting up an AP vehicle in SITL for controls testing

A safe “for education/rookies” SITL test script that strips away the majority of complexity in set-up and gives a Copter (and Plane if time permits) that requires some basic tuning and gives hints/pointers in a UI (this could lower the threshold for earlier year mech/electrical engineers to get their hands dirty on some software and try out basic controls testing)

Projects Completed in past years

In 2024, students completed the following projects:

In 2023, students completed the following projects:

In 2022, students worked on these projects:

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 students successfully completed these projects:

  • Smart Return-To-Launch which involves storing the 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