Skip to content

Commit 29ef39e

Browse files
authored
Merge branch 'master' into patch-1
2 parents f6395a2 + a5853f6 commit 29ef39e

File tree

6 files changed

+71
-7
lines changed

6 files changed

+71
-7
lines changed

common/source/docs/common-AeroTel-24.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
.. _common-aerotel-24:
2-
2+
[copywiki destination="plane,copter,rover,blimp,sub"]
33
======================================
44
TeraVolt AeroTel 2.4 - Telemetry Radio
55
======================================
@@ -80,4 +80,4 @@ Useful Links
8080
------------
8181

8282
* `Official AeroTel Documentation <https://teravolt.gitbook.io/teravolt/radio/aerotel-2.4>`__
83-
* `TeraVolt Labs Store <https://www.teravolt.in/product-page/aerotel-24-secure-telemetry-radio>`__
83+
* `TeraVolt Labs Store <https://www.teravolt.in/product-page/aerotel-24-secure-telemetry-radio>`__

common/source/docs/common-future-wiki-changes.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ New Features
133133
- Add AutoFlap flight option for operation in manual modes, see https://github.com/ArduPilot/ardupilot_wiki/pull/7016
134134
- Add Quadplane terrain avoidance script with climb check, see https://github.com/ArduPilot/ardupilot_wiki/pull/7105
135135
- Add Roll limit Flight Option, see https://github.com/ArduPilot/ardupilot_wiki/pull/7209
136+
- Add QPlane takeoff RPM checks, see https://github.com/ArduPilot/ardupilot_wiki/pull/7360
136137
[/site]
137138
[site wiki="copter"]
138139
- Fast Attitude loop option, see https://github.com/ArduPilot/ardupilot_wiki/pull/6470
@@ -148,6 +149,7 @@ New Features
148149
- Ability to skip IMU pre-arm check for running ICE engines, see https://github.com/ArduPilot/ardupilot_wiki/pull/7044
149150
- Second TX based tuning channel, see https://github.com/ArduPilot/ardupilot_wiki/pull/7122
150151
- Added Motor IDLE state minimum time, see https://github.com/ArduPilot/ardupilot_wiki/pull/7392
152+
- Add AUTOTUNE gain backoff parameter, see https://github.com/ArduPilot/ardupilot_wiki/pull/7406
151153
[/site]
152154
[site wiki="rover"]
153155
- Add option to require valid location before arming, see https://github.com/ArduPilot/ardupilot_wiki/pull/6600

copter/source/docs/traditional-helicopter-tailrotor-setup.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,11 @@ The range of the motor ESC is controlled by its output's ``SERVOx_MIN/MAX`` para
4242
Direct Drive Fixed Pitch :ref:`H_TAIL_TYPE <H_TAIL_TYPE>` = 3 or 4
4343
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
4444

45-
The Direct Drive Fixed Pitch (DDFP) tail type uses a fixed pitch tail rotor and separate motor. The stabilization and yaw is controlled by the speed of this motor. It has two options: one where the main rotor rotates clockwise when viewed from above and the other where the main rotor rotates counter-clockwise when viewed from above. Be sure to select the DDFP tail type for the main rotor rotation. In this case, the control of tailrotor thrust is accomplished through tailrotor speed since it is a fixed pitch propeller. The ``SERVOx_FUNCTION`` of "36" (Motor4) should be assigned to the servo channel to which the tailrotor ESC is physically connected.
45+
The Direct Drive Fixed Pitch (DDFP) tail type uses a fixed pitch tail rotor and separate motor. The stabilization and yaw is controlled by the speed of this motor. It has two options: one where the main rotor rotates clockwise when viewed from above and the other where the main rotor rotates counter-clockwise when viewed from above. Be sure to select the DDFP tail type for the main rotor rotation. In this case, the control of tailrotor thrust is accomplished through tailrotor speed since it is a fixed pitch propeller. The ``SERVOx_FUNCTION`` of "36" (Motor4) should be assigned to the servo channel to which the tailrotor ESC is physically connected. On new DDFP setups it is suggested to set ``H_DDFP_THST_EXPO`` to .65 as a starting point. This will be a good enough thrust expo for most aircraft.
4646

4747
There are several parameters that provide the ability to linearize the thrust produced by the tail rotor motor and therefore provide better control:
4848

49-
- :ref:`H_DDFP_THST_EXPO<H_DDFP_THST_EXPO>` - Tail rotor DDFP motor thrust curve exponent (0.0 for linear to 1.0 for second order curve). Default = 0
49+
- :ref:`H_DDFP_THST_EXPO<H_DDFP_THST_EXPO>` - Tail rotor DDFP motor thrust curve exponent (0.0 for linear to 1.0 for second order curve). A suggested starting point for tuning this parameter is .65 and will often give better better results than the default. Default = 0 (for legacy compatability reason)
5050
- :ref:`H_DDFP_SPIN_MIN<H_DDFP_SPIN_MIN>` - Point at which the DDFP motor thrust starts expressed as a number from 0 to 1 in the entire output range. Default = 0
5151
- :ref:`H_DDFP_SPIN_MAX<H_DDFP_SPIN_MAX>` - Point at which the DDFP motor thrust saturates expressed as a number from 0 to 1 in the entire output range. Default = 1
5252
- :ref:`H_DDFP_BAT_IDX<H_DDFP_BAT_IDX>` - Index of battery to be used for voltage compensation. Default = 0.

dev/source/docs/gsoc-ideas-list.rst

Lines changed: 61 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ List of Suggested Projects for GSoC 2026
77
This is a list of projects suggested by ArduPilot developers for `GSoC 2026 <https://summerofcode.withgoogle.com/>`__. These are only suggestions so if you have your own ideas then please discuss them on the `ArduPilot Discord Chat <https://ardupilot.org/discord>`__ or on the `discuss server here <https://discuss.ardupilot.org/c/google-summer-of-code>`__
88

99
- Fleet Management Webtool
10+
- SITL Model Generation from Flight Data
11+
- Multi-Drone Mesh Networking (MAVLink-aware)
12+
- ArduHumanoid (ArduPilot controlling a simple humanoid)
13+
- AI-Assisted Log Diagnosis & Root-Cause Detection
14+
- Real-Time Companion-Computer Health Monitoring & Failsafe
1015

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

@@ -43,14 +48,69 @@ The goal of this project is create a fleet management web tool that helps compan
4348

4449
Funding will be provided for hardware and cloud server as required.
4550

51+
SITL Model Generation from Flight Data
52+
--------------------------------------
53+
54+
- Skills required: Python, C++ (ArduPilot/SITL), system identification
55+
- Mentors: Nathaniel Mailhot
56+
- Expected Size: 350h
57+
- Level of Difficulty: Hard
58+
- Expected Outcome: A toolchain that auto-builds or tunes SITL airframe models from real flight logs
59+
60+
The goal of this project is to take ArduPilot logs and estimate the key dynamics/sensor parameters needed for SITL, then output an updated model + params that better match the real vehicle.
61+
62+
Multi-Drone Mesh Networking (MAVLink-aware)
63+
-------------------------------------------
64+
65+
- Skills required: Networking, C/C++, Linux, MAVLink
66+
- Mentors: Nathaniel Mailhot
67+
- Expected Size: 350h
68+
- Level of Difficulty: Hard
69+
- Expected Outcome: A practical mesh networking layer for multi-vehicle comms (telemetry + coordination)
70+
71+
The goal of this project is to enable resilient multi-hop links between multiple ArduPilot vehicles, so telemetry and commands can route through the swarm when direct links drop.
72+
73+
ArduHumanoid (ArduPilot controlling a simple humanoid)
74+
------------------------------------------------------
75+
76+
- Skills required: C++, control, servo systems, simulation (Gazebo/Ignition)
77+
- Mentors: Nathaniel Mailhot
78+
- Expected Size: 175h
79+
- Level of Difficulty: Medium
80+
- Expected Outcome: A minimal humanoid "vehicle type" running on ArduPilot with SITL support
81+
82+
The goal of this project is to prove ArduPilot can command a small humanoid-style jointed frame (think "servo robot"), with a basic control interface and a simple simulated model.
83+
84+
AI-Assisted Log Diagnosis & Root-Cause Detection
85+
------------------------------------------------
86+
87+
- Skills required: Python, ML (classification + retrieval), ArduPilot logs/parameters
88+
- Mentors: Nathaniel Mailhot
89+
- Expected Size: 350h
90+
- Level of Difficulty: Hard
91+
- Expected Outcome: A model/service that flags likely root causes from logs and suggests fixes with confidence
92+
93+
The goal of this project is to automatically diagnose common failures and misconfigurations by learning from labeled log segments, known issue patterns, and parameter states. It should output a probable root cause, suggested fixes, and a confidence score (with links to the relevant evidence in the log).
94+
95+
Real-Time Companion-Computer Health Monitoring & Failsafe
96+
---------------------------------------------------------
97+
98+
- Skills required: C/C++ or Python, MAVLink, Linux companion computers
99+
- Mentors: Jaime Machuca
100+
- Expected Size: 175h
101+
- Level of Difficulty: Medium
102+
- Expected Outcome: A standard MAVLink-based health reporting + failsafe mechanism for companion computers
103+
104+
The goal of this project is to define and implement a consistent "companion health" report (CPU/GPU load, heartbeat, critical services, watchdog) and connect it to configurable failsafes so ArduPilot can respond predictably when the companion degrades or dies.
105+
46106
Projects Completed in past years
47107
--------------------------------
48108

49109
In 2025, students completed the following projects:
50110

51111
- `Non-GPS Position Estimation Using 3D Camera and Pre-Generated Map <https://discuss.ardupilot.org/t/gsoc-25-non-gps-position-estimation-using-3d-camera-and-pre-generated-map-final/138513>`__
52112
- `AI Chat WebTool for use with MP and/or QGC <https://discuss.ardupilot.org/t/gsoc-2025-ai-chat-webtool-final-project-summary/138287>`__
53-
- `AI Chat Integration with all Web Tools <https://discuss.ardupilot.org/t/gsoc-2025-ai-chat-webtool-final-project-summary/138287>`__
113+
- `AI Chat Integration with all Web Tools <https://medium.com/@anaschebili/gsoc-2025-with-ardupilot-67ef24a17e94>`__
54114
- `Gazebo Plug-in Model of a Motor <https://discuss.ardupilot.org/t/gsoc-2025-wrapping-up-gazebo-plug-in-model-of-a-motor/138509>`__
55115
- `SITL AI Reinforcement Learning Concept Script <https://discuss.ardupilot.org/t/gsoc-2025-wrapping-up-sitl-ai-reinforcement-learning-concept-script/138504>`__
56116

dev/source/docs/submitting-patches-back-to-master.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ Submitting Patches Back to Master
77
.. image:: ../images/PullRequest_TopImage.png
88
:width: 70%
99

10+
.. warning:: *Before* working on a new patch search for existing related pull requests, and check for linked pull requests in the issue you're planning to fix. If someone is already working on the problem you can review/test their submission and join the discussion thread instead of creating your own submission.
11+
1012
Once you have a bug fix or new feature you would like to have included in the ArduPilot project
1113
you should submit a `Pull Request <https://help.github.com/articles/about-pull-requests/>`__.
1214
The main developers will see your changes in the `Pulls list, <https://github.com/ArduPilot/ardupilot/pulls>`__
@@ -115,7 +117,7 @@ You can track the state of your PR from the `Pull Requests list <https://github.
115117
PRs are more likely to be merged quickly if:
116118

117119
- The PR clearly states what changes in behaviour are expected
118-
- Good testing evidence is provided. This could be graphs of logs recorded before and after the change
120+
- Good testing evidence is provided. This could be graphs of logs recorded before and after the change, possibly from a :ref:`simulation <simulation-2>`. Check for existing :ref:`autotests <the-ardupilot-autotest-framework>`, and update them if they get broken by the change. Add new ones to cover new functionality you're introducing, or bug fixes presently not tested, if you are capable.
119121
- Code follows the :ref:`style guide <style-guide>`
120122
- Each commit in the PR affects only one subsystem and the commit title is prefixed with the subsystem name (e.g. "AP_GPS: correct uBlox logging parameter descriptions"). The `Tools/gittools/git-subsystems-split <https://github.com/ArduPilot/ardupilot/blob/master/Tools/gittools/git-subsystems-split>`__ script may be useful for this
121123
- PR passes all automated CI tests. CI tests sometimes fail for reason unrelated to your PR (e.g. dependency failures, "flapping tests"). Please force push the PR to re-run the tests

dev/source/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ New developers are always welcome! The best way to start is to:
2323
- read this wiki to learn the basics of the software and :ref:`how the team works <how-the-team-works>`
2424
- get involved with the other developers by posting on the `Developer Team Forum <https://discuss.ardupilot.org/c/development-team>`__, chat to us on `ArduPilot Discord Chat <https://ardupilot.org/discord>`__ or join the :ref:`weekly development call <ardupilot-discord-server>`. You can also find a large number of users and some developers in the `ArduPilot facebook group <https://www.facebook.com/groups/ArduPilot.org>`__. :ref:`All channels <common-contact-us>` are open to all. Lurk for a while to get a feel for it, then participate!
2525
- find a specific bug you'd like to fix or a feature you'd like to add (check out the `good first issues <https://github.com/ArduPilot/ardupilot/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22>`__, recent `issues from Randy <https://github.com/ArduPilot/ardupilot/issues/created_by/rmackay9>`__ or our :ref:`roadmap <roadmap>` for ideas). Please do not ask to be assigned an issue; just work on it.
26-
- fix the bug in your own clone and :ref:`test <simulation-2>` that it's working
26+
- if there is already a related pull request you can review it and join the discussion there, otherwise fix the bug in your own clone and :ref:`test <simulation-2>` that it's working
2727
- submit the change to the main code base :ref:`via a pull request <submitting-patches-back-to-master>`.
2828

2929
Why the name?

0 commit comments

Comments
 (0)