MethodicConfigurator

ArduPilot Methodic Configurator User Manual

Overview

Amilcar Lucas’s - ArduPilot Methodic Configurator is a Python tool designed to simplify the configuration of ArduPilot drones. It provides a graphical user interface (GUI) for managing, editing and visualizing drone parameter files, as well as uploading parameters to the vehicle. It automates the tasks described in the How to methodically tune any ArduCopter tuning guide.

This user manual gives a general overview of the Software functionality. There are also quick start instructions and specific use case instructions.

Usage

Before starting the application on your PC you should connect a flight controller to the PC and wait at least seven seconds.

Flight Controller Connection Selection Interface

This interface allows users to select or add a connection to a flight controller if one was not yet auto-detected.

Flight controller connection selection window


Flight controller connection selection window

It provides three main options for connecting to a flight controller:

Option 1: Auto-connect to flight controller

This option automatically attempts to connect to a flight controller that has been connected to the PC. The user must wait for at least 7 seconds for the flight controller to fully boot before attempting the connection.

Option 2: Select flight controller connection

Manually select an existing flight controller connection or add a new one. It provides a dropdown menu listing all available connections, including an option to add a new connection.

Option 3: No flight controller Connection

Skip the flight controller connection process. It proceeds with editing the intermediate .param files on disk without fetching parameter values nor parameter default parameter values from the flight controller.

Flight Controller Info and parameter download

If a flight controller is connected the software will now get information from it. The information is presented in the corresponding window and at the same time all flight controller parameters are downloaded to the PC.

Flight controller info and parameter download


Flight controller info and parameter download

Vehicle Configuration Directory Selection Interface

This interface allows users to select a vehicle directory that contains intermediate parameter files for ArduPilot if one was not specified with the --vehicle-dir command line parameter.

Vehicle Selection Window


Vehicle Selection Window

It provides three main options for selecting a vehicle directory:

New

Create a new vehicle configuration directory by copying files from an existing template directory. It’s useful for setting up a new vehicle configuration quickly.

Open

Open an existing vehicle configuration directory that already contains intermediate parameter files. It’s useful for editing an existing vehicle configuration.

Re-open

Re-open the last used vehicle configuration directory.

Vehicle Component Editor Interface

Here you specify the components of your vehicle, their properties and how they are connected to the flight controller.

Component Editor Window


Component Editor Window

Change every field to match your vehicle’s. When finished press the Save data and start configuration button.

The application will validate your input. If issues are found the problematic fields’ background will be marked in red color. Correct those entries and press the Save data and start configuration button again.

Parameter File Editor and uploader interface

Here you sequentially configure the parameters of your flight controller to meet your needs while having all the available documentation at your fingertips.

Parameter File Editor and Uploader Window (main application)


Parameter File Editor and Uploader Window (main application)

For reproducibility and quality purposes, we configure the vehicle with a well-defined sequence of intermediate parameter files.

Each file modifies just a small set of the over 1200 parameters on the flight controller. By splitting the process into small manageable steps, we reduce the probability of making a mistake or missing a step and allow interleaving parameter changes with test flights. Each intermediate parameter file is a text file, editable in any common text editor (excluding MS Word) like Notepad++, nano or code. It contains the official ArduPilot parameter documentation in the form of comments in the lines preceding the parameter. By using this you save the time of looking up the online documentation for each parameter. It contains the reason why we changed the parameter in a comment on the same line as the parameter and is used to trace each parameter change to the reason for that parameter change.

Comments start with the ‘#’ character. A small example with a single parameter is shown below:


# Arming with Rudder enable/disable
# Allow arm/disarm by rudder input. When enabled arming can be done with right rudder, disarming with left rudder.
# 0: Disabled
# 1: ArmingOnly
# 2: ArmOrDisarm
ARMING_RUDDER,0 # We find it safer to use only a switch to arm instead of through rudder inputs

If you are working with multiple vehicles, create a separate directory for each vehicle with a descriptive identifiable name. Copy the aprox. 50 intermediate parameter files into them. Edit the files to match the specific requirements of each vehicle. Now you have traceable documentation records for every parameter change on each of your vehicles.

If you are in the business of manufacturing multicopters and maintain high-quality standards that result in the production of multiple, nearly identical vehicles, you can reuse most intermediate parameter files across these vehicles. Only three intermediate parameter files: 03_imu_temperature_calibration_results.param, 12_mp_setup_mandatory_hardware.param and 25_inflight_magnetometer_fit_results.param are specific to each vehicle instance. All other intermediate parameter files can be used without modifications across all instances (or serial numbers) of the same product model.

1. See the Current Vehicle Directory (optional)

2. Select an Intermediate Parameter File (optional)

When you click the ArduPilot logo the following window will appear: About and help information

4. Viewing Documentation

5. Editing Parameters

6a. Focus on the changed parameters (optional)

6b. Annotate parameter metadata information into the parameter files (optional)

Annotate parameter metadata information into the parameter files in the form of comments preceding the respective parameter. It will create bigger and harder-to-compare parameter files but is more suitable for text editor editing.

7. Uploading Parameters to the Flight Controller

8. Skipping to the Next Parameter File (optional)

9. Completing the Configuration Process

Once all the intermediate parameter files have been processed, the ArduPilot Methodic Configurator will display a summary message box. In other words when the last available intermediate parameter file is selected (see 2. Select an Intermediate Parameter File) and either Upload selected params to FC, and advance to next param file or Skip parameter file button is pressed. This message box provides a comprehensive overview of the configuration process, including the number of parameters that were kept at their default values, the number of non-default read-only parameters that were ignored, and the number of non-default writable parameters that were updated.

Configuration summary message box

The summary message box will also categorize the writable parameters into four groups:

pie title Summary files example
    "Unchanged parameters" : 728
    "Non-default read-only parameters - non-default_read-only.param" : 8
    "Non-default writable sensor calibrations - non-default_writable_calibrations.param" : 71
    "Non-default writable non-sensor-calibrations - non-default_writable_non-calibrations.param" : 217

After the summary message box is displayed, the application will write the summary information into separate files for easy reference and documentation. These files include:

The summary files provide a clear overview of the changes made.

The files are also automatically zipped into a file with the same name as the vehicle directory, inside the vehicle directory.

Parameter files zipped message box

You should upload this .zip file or the non-default_writable_non-calibrations.param file to the How to methodically tune any ArduCopter Blog post

Once the summary files are written, the application will close the connection to the flight controller and terminate.

Configuring

1. Configuration files

Most users will not need to configure the tool, but if you do want to do it you can.

The ArduPilot Methodic Configurator uses several configuration files to manage and visualize drone parameters. These files are crucial for the tool’s operation and are organized in a specific directory structure.

./extract_param_defaults.py bin_log_file.bin > 00_default.param
cd ardupilot
./Tools/autotest/param_metadata/param_parse.py --vehicle ArduCopter --format xml
cp apm.pdef.xml /path/to/your/vehicle/directory

The tool uses these files to manage the configuration process, allowing users to select and edit parameters, and upload the changes back to the flight controller. The intermediate parameter files are the primary focus of the user interface, as they contain the parameters that the user can modify. The documentation files provide context and guidance for each parameter.

Command Line Usage

The ArduPilot Methodic Configurator can be started from the command line. The command line interface provides several options to customize the behavior of the tool.

To use the command line interface, navigate to the directory where the ardupilot_methodic_configurator.py script is located and run the script with the appropriate arguments.

Here is a list of command line options:

Example usage:

python ardupilot_methodic_configurator.py --device="tcp:127.0.0.1:5760" --vehicle-dir="/path/to/params" --n=0 --loglevel=INFO -t=ArduCopter

This command will connect to the flight controller at tcp:127.0.0.1:5760, use the parameter files in the specified directory, start with the first parameter file, set the logging level to INFO, and target the ArduCopter vehicle type.

For more detailed information on the command line options, you can run the script with the -h or --help flag to display the help message:

python ardupilot_methodic_configurator.py --help

This will show a list of all available command line options along with a brief description of each.

Troubleshooting

If you encounter any issues during the configuration process, refer to the error messages provided by the application. These messages can guide you to the specific problem and suggest possible solutions. If the issue persists, consider consulting Amilcar Lucas at ArduPilot community forums or re-read this documentation.