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: ARCHITECTURE.md
+17-8Lines changed: 17 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,7 +13,11 @@ It was augmented with [DevOps](https://en.wikipedia.org/wiki/DevOps) and [CI/CD
13
13
14
14
### Requirements analysis
15
15
16
-
We collected and analyzed the needs of the ArduPilot users:
16
+
We collected and analyzed the needs of the ArduPilot users by
17
+
[reading 108K+ forum posts](https://discuss.ardupilot.org/u?order=likes_received&period=all),
18
+
by reading [Ardupilot FW issues on github](https://github.com/ArduPilot/ardupilot/issues),
19
+
by reading the [ArduPilot documentation](https://ardupilot.org/ardupilot/),
20
+
by attending the weekly ArduPilot developers meeting and by participating in forum discussions:
17
21
18
22
- guidelines on how to correctly build the vehicle, many users are not aware of the hardware basics.
19
23
- a non-trial and error approach to set the [1300 ArduPilot parameters](https://ardupilot.org/copter/docs/parameters.html)
@@ -25,7 +29,7 @@ We collected and analyzed the needs of the ArduPilot users:
25
29
- to understand why decisions where made and their implications
26
30
27
31
Then we developed, documented and tested the *clear sequence of steps to take to configure the vehicle* in the
28
-
[How to methodically tune any ArduCopter](https://ardupilot.github.io/MethodicConfigurator/TUNING_GUIDE_ArduCopter) guide.
32
+
[How to methodically tune any ArduCopter](https://ardupilot.github.io/MethodicConfigurator/TUNING_GUIDE_ArduCopter) guide in Dec 2023.
29
33
Once that was mostly done we proceeded with *system design* the next step of the V-model.
30
34
31
35
### System design
@@ -41,7 +45,8 @@ the following system design requirements were derived:
41
45
- The "partial/intermediate" parameter files must have meaningful names
42
46
- The sequence of the "partial/intermediate" parameter files must be clear
43
47
- Users should be able to upload all parameters from a "partial/intermediate" parameter file to the flight controller and advance to the next intermediate parameter file.
44
-
- Users should be able to upload a subset of parameters from a "partial/intermediate" parameter file to the flight controller and advance to the next intermediate parameter file.
48
+
- Users should be able to upload a subset of parameters from a "partial/intermediate" parameter file to the flight controller
49
+
and advance to the next "partial/intermediate" parameter file in the configuration sequence.
45
50
- Users should be able to select a "partial/intermediate" parameter file from a list of available files and select the one to be used.
46
51
- The software must display a table of parameters with columns for:
47
52
- the parameter name,
@@ -55,8 +60,9 @@ the following system design requirements were derived:
55
60
56
61
#### 2. Communication Protocols
57
62
58
-
- The software must support communication with the drone's flight controller using [MAVlink](https://mavlink.io/en/).
59
-
- Use either [parameter protocol](https://mavlink.io/en/services/parameter.html) or [FTP-over-MAVLink](https://mavlink.io/en/services/ftp.html) protocols.
63
+
- The software must support communication with the drone's flight controller using [MAVlink](https://mavlink.io/en/):
64
+
-[parameter protocol](https://mavlink.io/en/services/parameter.html) or
The parts can be individually tested, and do have unit tests.
158
-
They can also be exchanged, for instance, [tkinter-frontend](https://docs.python.org/3/library/tkinter.html) can be replaced with [wxWidgets](https://www.wxwidgets.org/) or [pyQt](https://riverbankcomputing.com/software/pyqt/intro).
164
+
They can also be exchanged, for instance, [tkinter-frontend](https://docs.python.org/3/library/tkinter.html) can be replaced with
165
+
[wxWidgets](https://www.wxwidgets.org/) or [pyQt](https://riverbankcomputing.com/software/pyqt/intro).
159
166
160
167
In the future, we might port the entire application into a client-based web application.
161
168
That way the users would not need to install the software and will always use the latest version.
Open the `ardupilot_methodic_configurator.po` file in a text editor or a specialist translation tool (e.g., [Poedit](https://poedit.net/)). You will see the extracted strings, which you can begin translating.
278
+
Open the `ardupilot_methodic_configurator.po` file in a text editor or a specialist translation tool (e.g., [Poedit](https://poedit.net/)).
279
+
You will see the extracted strings, which you can begin translating.
272
280
273
281
Each entry will look like this:
274
282
@@ -323,6 +331,7 @@ Update the software's configuration to set the desired language and run the appl
323
331
324
332
### 9. Review and Refine
325
333
326
-
Once the new language is running in the software, review the translations within the application for clarity and correctness. Make adjustments as needed in the `.po` file and recompile to an `.mo` file.
334
+
Once the new language is running in the software, review the translations within the application for clarity and correctness.
335
+
Make adjustments as needed in the `.po` file and recompile to an `.mo` file.
327
336
328
337
Following these steps should enable you to successfully add support for any new translation language within the Ardupilot Methodic Configurator.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+8-3Lines changed: 8 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -48,9 +48,14 @@ for new users to prevent off-topic discussion.
48
48
49
49
## How to make a good bug report
50
50
51
-
* Make sure your bug is not a support issue. Support issues should go to [the support forums](http://discuss.ardupilot.org/t/new-ardupilot-methodic-configurator-gui/115038/1) and include a `.bin` log file and a `.zip` file with all the intermediate `.param` files if possible. If you're not sure you have a bug, you should seek support first.
52
-
* Search for your bug, and make sure it is [not already reported](https://github.com/ArduPilot/MethodicConfigurator/issues). If it is already reported, comment on that issue.
51
+
* Make sure your bug is not a support issue.
52
+
Support issues should go to [the support forums](http://discuss.ardupilot.org/t/new-ardupilot-methodic-configurator-gui/115038/1) and
53
+
include a `.bin` log file and a `.zip` file with all the intermediate `.param` files if possible.
54
+
If you're not sure you have a bug, you should seek support first.
55
+
* Search for your bug, and make sure it is [not already reported](https://github.com/ArduPilot/MethodicConfigurator/issues).
56
+
If it is already reported, comment on that issue.
53
57
* Only report one bug per issue report.
54
58
* Write a clear and concise summary. Be specific about what component of the software you are writing about, and follow the convention: "Copter: blah blah blah"
55
-
* Write a clear and concise description, with **particularly clear steps** to reproduce the problem. Include logs that display the bug. **Try to report only facts in your issue report, keeping your assumptions out of it.**
59
+
* Write a clear and concise description, with **particularly clear steps** to reproduce the problem.
60
+
Include logs that display the bug. **Try to report only facts in your issue report, keeping your assumptions out of it.**
56
61
* The majority of issues open now are good or acceptable by these guidelines. Please refer to them for examples.
Copy file name to clipboardExpand all lines: QUICKSTART.md
+26-12Lines changed: 26 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,7 +31,8 @@ To methodically build, configure and tune ArduPilot vehicles follow this sequenc
31
31
32
32
The software needs this information to automatically pre-select configuration settings relevant to your specific vehicle
33
33
34
-
-[Start the ArduPilot Methodic Configurator and input select a vehicle that resembles yours](#5-use-the-ardupilot-methodic-configurator-software-for-the-first-time) and input vehicle components and component connections information into the ArduPilot Methodic Configurator *component editor window*
34
+
-[Start the ArduPilot Methodic Configurator and input select a vehicle that resembles yours](#5-use-the-ardupilot-methodic-configurator-software-for-the-first-time)
35
+
and input vehicle components and component connections information into the ArduPilot Methodic Configurator *component editor window*
35
36
36
37
### 1.4 Perform IMU temperature calibration before assembling the autopilot into the vehicle (optional)
37
38
@@ -48,7 +49,8 @@ Assemble and connect all components. Make sure you [follow best practices](TUNIN
48
49
49
50
### 1.6 Basic mandatory configuration
50
51
51
-
Again using the [*ArduPilot Methodic configurator* software GUI](#7-use-the-ardupilot-methodic-configurator-software-after-having-created-a-vehicle-from-a-template) perform the following steps:
52
+
Again using the [*ArduPilot Methodic configurator* software GUI](#7-use-the-ardupilot-methodic-configurator-software-after-having-created-a-vehicle-from-a-template)
-[05_remote_controller.param](TUNING_GUIDE_ArduCopter.md#62-configure-the-rc-receiver) remote controller connections and protocol
@@ -82,24 +84,36 @@ These are the very [minimum tuning steps](TUNING_GUIDE_ArduCopter.md#8-minimalis
82
84
83
85
- Load the `.bin` log file from the first flight into [Notch filter webtool](https://firmware.ardupilot.org/Tools/WebTools/FilterReview/)
84
86
-[19_notch_filter_results.param](TUNING_GUIDE_ArduCopter.md#81-notch-filter-calibration) use the webtool information to configure the notch filter(s)
85
-
-[20_throttle_controller.param](TUNING_GUIDE_ArduCopter.md#82-configure-the-throttle-controller) the altitude controller depends on the power-to-thrust ratio found in the first flight
87
+
-[20_throttle_controller.param](TUNING_GUIDE_ArduCopter.md#82-configure-the-throttle-controller) the altitude controller depends on the
88
+
power-to-thrust ratio found in the first flight
86
89
-[21_ekf_config.param](TUNING_GUIDE_ArduCopter.md#83-configure-the-ekf-altitude-source-weights) sometimes the EKF3 needs a tune to maintain altitude
87
-
-[22_quick_tune_setup.param](TUNING_GUIDE_ArduCopter.md#84-second-flight-pid-vtol-quiktune-lua-script-or-manual-pid-tune) and [23_quick_tune_results.param](TUNING_GUIDE_ArduCopter.md#84-second-flight-pid-vtol-quiktune-lua-script-or-manual-pid-tune) You need lua scripting support to do this if not available you can tune manually.
90
+
-[22_quick_tune_setup.param](TUNING_GUIDE_ArduCopter.md#84-second-flight-pid-vtol-quiktune-lua-script-or-manual-pid-tune) and
you need lua scripting support to do this if not available you can tune manually.
88
93
89
94
That is it, if you are impatient and do not want an optimized vehicle you can skip to [everyday use](#113-everyday-use).
90
95
91
96
### 1.9 Standard tuning (optional)
92
97
93
98
These are the [standard tuning steps](TUNING_GUIDE_ArduCopter.md#9-standard-tuning-optional) required for an optimized flight:
94
99
95
-
-[24_inflight_magnetometer_fit_setup.param](TUNING_GUIDE_ArduCopter.md#91-third-flight-magfit) Use lua scripted flight path or fly manually and [25_inflight_magnetometer_fit_results.param](TUNING_GUIDE_ArduCopter.md#912-calculate-inflight-magfit-calibration) Use the [magfit webtool](https://firmware.ardupilot.org/Tools/WebTools/MAGFit/) to calculate a file that the ardupilot methodic configurator can use
96
-
-[26_quick_tune_setup.param](TUNING_GUIDE_ArduCopter.md#921-setup-quicktune) and [27_quick_tune_results.param](TUNING_GUIDE_ArduCopter.md#922-store-quicktune-results-to-file) Redo quick-tune now that the compass magnetic interference is fully calibrated
97
-
-[28_evaluate_the_aircraft_tune_ff_disable.param](TUNING_GUIDE_ArduCopter.md#93-fifth-flight-evaluate-the-aircraft-tune---part-1) and [29_evaluate_the_aircraft_tune_ff_enable.param](TUNING_GUIDE_ArduCopter.md#94-sixth-flight-evaluate-the-aircraft-tune---part-2)
98
-
-[30_autotune_roll_setup.param](TUNING_GUIDE_ArduCopter.md#95-autotune-flights) and [31_autotune_roll_results.param](TUNING_GUIDE_ArduCopter.md#951-roll-axis-autotune) tune roll axis rate and angle PIDs
99
-
-[32_autotune_pitch_setup.param](TUNING_GUIDE_ArduCopter.md#952-pitch-axis-autotune) and [33_autotune_pitch_results.param](TUNING_GUIDE_ArduCopter.md#952-pitch-axis-autotune) tune pitch axis rate and angle PIDs
100
-
-[34_autotune_yaw_setup.param](TUNING_GUIDE_ArduCopter.md#953-yaw-axis-autotune) and [35_autotune_yaw_results.param](TUNING_GUIDE_ArduCopter.md#953-yaw-axis-autotune) tune yaw axis rate and angle PIDs
101
-
-[36_autotune_yawd_setup.param](TUNING_GUIDE_ArduCopter.md#954-yaw-d-axis-autotune-optional) and [37_autotune_yawd_results.param](TUNING_GUIDE_ArduCopter.md#954-yaw-d-axis-autotune-optional) tune yawd axis rate and angle PIDs
102
-
-[38_autotune_roll_pitch_retune_setup.param](TUNING_GUIDE_ArduCopter.md#955-roll-and-pitch-axis-re-autotune) and [39_autotune_roll_pitch_retune_results.param](TUNING_GUIDE_ArduCopter.md#955-roll-and-pitch-axis-re-autotune) re-tune roll and pitch pitch axis rate and angle PIDs
100
+
-[24_inflight_magnetometer_fit_setup.param](TUNING_GUIDE_ArduCopter.md#91-third-flight-magfit), use lua scripted flight path or fly manually, store the results using
101
+
[25_inflight_magnetometer_fit_results.param](TUNING_GUIDE_ArduCopter.md#912-calculate-inflight-magfit-calibration), use the
102
+
[magfit webtool](https://firmware.ardupilot.org/Tools/WebTools/MAGFit/) to calculate a file that the ardupilot methodic configurator can use
103
+
-[26_quick_tune_setup.param](TUNING_GUIDE_ArduCopter.md#921-setup-quicktune) and
104
+
[27_quick_tune_results.param](TUNING_GUIDE_ArduCopter.md#922-store-quicktune-results-to-file) Redo quick-tune now that the compass magnetic interference is fully calibrated
105
+
-[28_evaluate_the_aircraft_tune_ff_disable.param](TUNING_GUIDE_ArduCopter.md#93-fifth-flight-evaluate-the-aircraft-tune---part-1) and
-[30_autotune_roll_setup.param](TUNING_GUIDE_ArduCopter.md#95-autotune-flights) and
108
+
[31_autotune_roll_results.param](TUNING_GUIDE_ArduCopter.md#951-roll-axis-autotune) tune roll axis rate and angle PIDs
109
+
-[32_autotune_pitch_setup.param](TUNING_GUIDE_ArduCopter.md#952-pitch-axis-autotune) and
110
+
[33_autotune_pitch_results.param](TUNING_GUIDE_ArduCopter.md#952-pitch-axis-autotune) tune pitch axis rate and angle PIDs
111
+
-[34_autotune_yaw_setup.param](TUNING_GUIDE_ArduCopter.md#953-yaw-axis-autotune) and
112
+
[35_autotune_yaw_results.param](TUNING_GUIDE_ArduCopter.md#953-yaw-axis-autotune) tune yaw axis rate and angle PIDs
113
+
-[36_autotune_yawd_setup.param](TUNING_GUIDE_ArduCopter.md#954-yaw-d-axis-autotune-optional) and
114
+
[37_autotune_yawd_results.param](TUNING_GUIDE_ArduCopter.md#954-yaw-d-axis-autotune-optional) tune yawd axis rate and angle PIDs
115
+
-[38_autotune_roll_pitch_retune_setup.param](TUNING_GUIDE_ArduCopter.md#955-roll-and-pitch-axis-re-autotune) and
116
+
[39_autotune_roll_pitch_retune_results.param](TUNING_GUIDE_ArduCopter.md#955-roll-and-pitch-axis-re-autotune) re-tune roll and pitch pitch axis rate and angle PIDs
103
117
104
118
Now the standard tuning is complete you can skip to [everyday use](#113-everyday-use)
Copy file name to clipboardExpand all lines: USECASES.md
+6-4Lines changed: 6 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,9 +9,10 @@ Hence the two main use cases are:
9
9
10
10
But there are other use cases as well:
11
11
12
-
1.[Create a vehicle configuration based on a correctly configured vehicle](#create-a-vehicle-configuration-based-on-a-correctly-configured-vehicle)
13
-
1.[Review and or edit configuration files without having the vehicle FC](#review-and-or-edit-configuration-files-without-having-the-vehicle-fc)
14
-
1.[Use the correct default values](#use-the-correct-default-values)
12
+
-[Ardupilot Methodic Configurator use cases](#ardupilot-methodic-configurator-use-cases)
13
+
-[Create a vehicle configuration based on a correctly configured vehicle](#create-a-vehicle-configuration-based-on-a-correctly-configured-vehicle)
14
+
-[Review and or edit configuration files without having the vehicle FC](#review-and-or-edit-configuration-files-without-having-the-vehicle-fc)
15
+
-[Use the correct default values](#use-the-correct-default-values)
15
16
16
17
## Create a vehicle configuration based on a correctly configured vehicle
17
18
@@ -56,7 +57,8 @@ If something is not clear, read the [ArduPilot Methodic Configurator user manual
56
57
If issues are found the problematic fields' background will be marked in red color.
57
58
Correct those entries and press the `Save data and start configuration` button again.
58
59
1. You should now see the *Parameter file editor and uploader* window.
59
-
 the `Upload selected params to FC, and advance to next param file` button will be grayed out because there is no FC connected.
60
+
 the `Upload selected params to FC, and advance to next param file`
61
+
button will be grayed out because there is no FC connected.
60
62
1. Follow the procedure to [configure the vehicle parameters](QUICKSTART.md#6-configure-the-vehicles-parameters-in-a-traceable-way)
61
63
62
64
If something is not clear, read the [ArduPilot Methodic Configurator user manual](USERMANUAL.md)
0 commit comments