You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: TUNING_GUIDE_ArduPlane.md
+25-18Lines changed: 25 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,4 @@
1
1
# How to methodically tune any ArduPlane
2
-
<!--
3
-
SPDX-FileCopyrightText: 2024-2025 Amilcar do Carmo Lucas <[email protected]>
4
-
5
-
SPDX-License-Identifier: GPL-3.0-or-later
6
-
-->
7
2
8
3
<!-- markdownlint-disable MD013 MD025 MD034 -->
9
4
@@ -56,7 +51,7 @@ Use tools like [ecalc for multirotor](https://www.ecalc.ch/index.htm) to find a
56
51
1.**GNSS systems are likely to be affected by USB3 devices.** Keep possible negative influences in mind while using USB3 components.
57
52
5.**Proper cable management:** Cables and wires must be organized sensibly to prevent entanglement or damage during flight. It must be ensured that no cables hinder movable parts such as propellers or gimbal mechanisms, or are damaged by them. Flexible, silicone-coated cables for data transfer save weight and reduce vibration transmission. Weak connectors are prone to loosening under the influence of vibration.
58
53
6.**Weight distribution:** An even weight distribution of the drone with the FC at the center of gravity improves stability and flight control. Components such as batteries, sensors, cameras, and other payloads must be positioned evenly to achieve uniform weight distribution and maximum fit between the geometric and physical center of gravity.
59
-
7.**Battery placement:** The battery is often located in the center of the frame to ensure stability during flight. It must be ensured that the battery is rigidly mounted and secured to prevent slipping or unintentional disconnection during operation. Additionally, when properly attached, the battery acts as an inertial mass and helps damp vibrations. Beware of landing directly on the battery since most of the batteries do have a resistant shell.
54
+
7.**Battery placement:** The battery is often located in the center of the frame to ensure stability during flight. It must be ensured that the battery is rigidly mounted and secured to prevent slipping or unintentional disconnection during operation. Additionally, when properly attached, the battery acts as an inertial mass and helps damp vibrations. Beware of landing directly on the battery since most of the batteries do not have a resistant shell.
60
55
8.**Voltage monitoring:** to [dynamically scale the PIDs and maintain stable flight in low battery conditions](https://ardupilot.org/copter/docs/current-limiting-and-voltage-scaling.html#voltage-scaling).
61
56
9.**Current monitoring:** to compensate for the dynamic magnetic field caused by the high motor currents.
62
57
10.**FC Power supply:** Must provide enough current for the flight controller, [GNSS](https://en.wikipedia.org/wiki/Satellite_navigation) receivers and other payloads operating on 5V.
@@ -186,7 +181,7 @@ After the calibration, temperature changes will cause no significant acceleromet
186
181
187
182
# 5. Assemble all components except the propellers
188
183
189
-
Now that the optional IMU temperature calibration is done we must assemble and connect all components except the propellers.
184
+
Now that the optional IMU temperature calibration is done we must [assemble and connect all components](https://ardupilot.org/plane/docs/autopilot-assembly-instructions.html) except the propellers.
190
185
191
186
Read the [Multicopter hardware best-practices](#11-multicopter-hardware-best-practices) section again before assembling the vehicle.
192
187
@@ -269,7 +264,7 @@ So we use BLHeliSuite32 Version 32.9.0.6 to configure the ESCs.
269
264
Flash the Firmware version described in the table above.
270
265
Configure the parameters to match the figures below.
271
266
272
-
https://youtu.be/7WeHTb7aBrE?si=gW9YbcQkZYK3DoNE
267
+
[](https://www.youtube.com/watch?v=7WeHTb7aBrE)
273
268
274
269

275
270
@@ -306,9 +301,13 @@ When asked *Should the FC values now be copied to the 12_mp_setup_mandatory_hard
306
301
307
302
Open Mission Planner, connect to the flight controller and select `SETUP >> Mandatory Hardware` and work yourself through all the submenus as described below. **DO NOT SKIP ANY STEP**.
Repeat the steps from [Section 6.1.1](#611-use-ardupilot-methodic-configurator-to-edit-the-parameter-file-and-upload-it-to-the-flight-controller) to edit and upload the `14_Logging.param` file
416
413
417
414
The table below explains which bit is responsible for which `.bin` dataflash log message(s):
@@ -615,7 +612,8 @@ Test the initial setup on the ground in [stabilize flight mode](https://ardupilo
615
612
At this sweet spot, inspect all axes (roll, pitch and yaw) by providing small RC transmitter stick inputs.
616
613
If the multicopter behaves correspondingly, the setup is good to go.
617
614
618
-
After some careful test maneuvers switch to `ALTHOLD` and hover for 30 to 40 seconds one to two meters above the ground. Land and disarm.
615
+
After some careful test maneuvers switch to `ALTHOLD` and hover for 30 to 40 seconds one to two meters above the ground.
616
+
Land and disarm.
619
617
620
618
Immediately check for hot motors.
621
619
If the motors are too hot, check the `.bin` dataflash log, high or oscillating `RATE.*out` values indicate which PID gain you should reduce to remove the output oscillations causing the motors to heat up.
@@ -1091,12 +1089,12 @@ Now do the flight to collect the data and analyze the logs to see if the baromet
1091
1089
1092
1090
# 11. System identification for analytical PID optimization (optional)
This uses [Ardupilot's system identification flight mode](https://ardupilot.org/copter/docs/systemid-mode-operation.html) to collect data to [build a mathematical model of the vehicle](https://ardupilot.org/copter/docs/systemid-mode-operation.html#identification-of-a-multicopter) that can later be used to further [optimize the control loops of the vehicle according to a set of constraints (requirements)](https://discuss.ardupilot.org/t/analitical-multicopter-flight-controller-pid-optimization/109759).
1095
1093
1096
-
These steps are optional.
1097
-
Their goal is to build a mathematical model of the vehicle that can later be used to further [optimize the control loops of the vehicle according to a set of constraints (requirements)](https://discuss.ardupilot.org/t/analitical-multicopter-flight-controller-pid-optimization/109759).
1094
+
## 11.1 System Identification Flights
1098
1095
1099
-
Documentation is available on [Fabian Bredemeier's Identification of a multicopter section at ArduCopter's_wiki](https://ardupilot.org/copter/docs/systemid-mode-operation.html#identification-of-a-multicopter).
1096
+
These flights need to be performed in the total absence of wind.
1097
+
The vehicle PIDs need to be a bit detuned in order to not fully cancel out the injected chirp signals.
1100
1098
1101
1099
### 11.1.1 Roll rate mathematical model
1102
1100
@@ -1122,9 +1120,9 @@ Use *ArduPilot Methodic Configurator* to edit and upload the `45_system_id_thrus
1122
1120
1123
1121
Now do the flight to collect the data for the thrust system identification.
This describes how to use IAV's multi-objective optimization to achieve even better (according to a predefined set of constraints) PID tuning.
1125
+
This describes how to use [IAV's multi-objective optimization](https://discuss.ardupilot.org/t/analytical-multicopter-flight-controller-pid-optimization/109759) to achieve even better (according to a predefined set of constraints) PID tuning.
1128
1126
1129
1127
One other approach is described by Bill Geyer in his Blog post: [Predicting Closed Loop Response For Faster Autotune](https://discuss.ardupilot.org/t/predicting-closed-loop-response-for-faster-autotune/75096).
Copy file name to clipboardExpand all lines: TUNING_GUIDE_Heli.md
+20-16Lines changed: 20 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,4 @@
1
1
# How to methodically tune any ArduCopter Heli
2
-
<!--
3
-
SPDX-FileCopyrightText: 2024-2025 Amilcar do Carmo Lucas <[email protected]>
4
-
5
-
SPDX-License-Identifier: GPL-3.0-or-later
6
-
-->
7
2
8
3
<!-- markdownlint-disable MD013 MD025 MD034 -->
9
4
@@ -56,7 +51,7 @@ Use tools like [ecalc for heli](https://www.ecalc.ch/index.htm) to find a suitab
56
51
1.**GNSS systems are likely to be affected by USB3 devices.** Keep possible negative influences in mind while using USB3 components.
57
52
5.**Proper cable management:** Cables and wires must be organized sensibly to prevent entanglement or damage during flight. It must be ensured that no cables hinder movable parts such as propellers or gimbal mechanisms, or are damaged by them. Flexible, silicone-coated cables for data transfer save weight and reduce vibration transmission. Weak connectors are prone to loosening under the influence of vibration.
58
53
6.**Weight distribution:** An even weight distribution of the drone with the FC at the center of gravity improves stability and flight control. Components such as batteries, sensors, cameras, and other payloads must be positioned evenly to achieve uniform weight distribution and maximum fit between the geometric and physical center of gravity.
59
-
7.**Battery placement:** The battery is often located in the center of the frame to ensure stability during flight. It must be ensured that the battery is rigidly mounted and secured to prevent slipping or unintentional disconnection during operation. Additionally, when properly attached, the battery acts as an inertial mass and helps damp vibrations. Beware of landing directly on the battery since most of the batteries do have a resistant shell.
54
+
7.**Battery placement:** The battery is often located in the center of the frame to ensure stability during flight. It must be ensured that the battery is rigidly mounted and secured to prevent slipping or unintentional disconnection during operation. Additionally, when properly attached, the battery acts as an inertial mass and helps damp vibrations. Beware of landing directly on the battery since most of the batteries do not have a resistant shell.
60
55
8.**Voltage monitoring:** to [dynamically scale the PIDs and maintain stable flight in low battery conditions](https://ardupilot.org/copter/docs/current-limiting-and-voltage-scaling.html#voltage-scaling).
61
56
9.**Current monitoring:** to compensate for the dynamic magnetic field caused by the high motor currents.
62
57
10.**FC Power supply:** Must provide enough current for the flight controller, [GNSS](https://en.wikipedia.org/wiki/Satellite_navigation) receivers and other payloads operating on 5V.
@@ -185,7 +180,7 @@ After the calibration, temperature changes will cause no significant acceleromet
185
180
186
181
# 5. Assemble all components except the propellers
187
182
188
-
Now that the optional IMU temperature calibration is done we must assemble and connect all components except the propellers.
183
+
Now that the optional IMU temperature calibration is done we must assemble and connect all components except the rotors.
189
184
190
185
Read the [Helicopter hardware best-practices](#11-helicopter-hardware-best-practices) section again before assembling the vehicle.
191
186
@@ -305,7 +300,7 @@ When asked *Should the FC values now be copied to the 12_mp_setup_mandatory_hard
305
300
306
301
Open Mission Planner, connect to the flight controller and select `SETUP >> Mandatory Hardware` and work yourself through all the submenus as described below. **DO NOT SKIP ANY STEP**.
Repeat the steps from [Section 6.1.1](#611-use-ardupilot-methodic-configurator-to-edit-the-parameter-file-and-upload-it-to-the-flight-controller) to edit and upload the `14_Logging.param` file
407
402
408
403
The table below explains which bit is responsible for which `.bin` dataflash log message(s):
@@ -1034,12 +1029,12 @@ Now do the flight to collect the data and analyze the logs to see if the baromet
1034
1029
1035
1030
# 11. System identification for analytical PID optimization (optional)
This uses [Ardupilot's system identification flight mode](https://ardupilot.org/copter/docs/systemid-mode-operation.html) to collect data to [build a mathematical model of the vehicle](https://ardupilot.org/copter/docs/systemid-mode-operation.html#identification-of-a-multicopter) that can later be used to further [optimize the control loops of the vehicle according to a set of constraints (requirements)](https://discuss.ardupilot.org/t/analitical-multicopter-flight-controller-pid-optimization/109759).
1038
1033
1039
-
These steps are optional.
1040
-
Their goal is to build a mathematical model of the vehicle that can later be used to further [optimize the control loops of the vehicle according to a set of constraints (requirements)](https://discuss.ardupilot.org/t/analitical-multicopter-flight-controller-pid-optimization/109759).
1034
+
## 11.1 System Identification Flights
1041
1035
1042
-
Documentation is available on [Fabian Bredemeier's Identification of a multicopter section at ArduCopter's_wiki](https://ardupilot.org/copter/docs/systemid-mode-operation.html#identification-of-a-multicopter).
1036
+
These flights need to be performed in the total absence of wind.
1037
+
The vehicle PIDs need to be a bit detuned in order to not fully cancel out the injected chirp signals.
1043
1038
1044
1039
### 11.1.1 Roll rate mathematical model
1045
1040
@@ -1065,9 +1060,9 @@ Use *ArduPilot Methodic Configurator* to edit and upload the `45_system_id_thrus
1065
1060
1066
1061
Now do the flight to collect the data for the thrust system identification.
This describes how to use IAV's multi-objective optimization to achieve even better (according to a predefined set of constraints) PID tuning.
1065
+
This describes how to use [IAV's multi-objective optimization](https://discuss.ardupilot.org/t/analytical-multicopter-flight-controller-pid-optimization/109759) to achieve even better (according to a predefined set of constraints) PID tuning.
1071
1066
1072
1067
One other approach is described by Bill Geyer in his Blog post: [Predicting Closed Loop Response For Faster Autotune](https://discuss.ardupilot.org/t/predicting-closed-loop-response-for-faster-autotune/75096).
0 commit comments