Lint | Quality | Test | Deploy | Maintain |
---|---|---|---|---|
ArduPilot Methodic Configurator is a software, developed by ArduPilot developers, that semi-automates a clear, proven and safe configuration sequence for ArduCopter drones. We are working on extending it to ArduPlane, Heli and Rover vehicles. But for those it is still very incomplete.
- clear: the sequence is linear, executed one step at the time with no hidden complex dependencies
- proven: the software has been used by hundreds of ArduPilot developers and users. From beginners to advanced. On big and small vehicles.
- safe: the sequence reduces trial-and-error and reduces the amount of flights required to configure the vehicle
Let's compare it with the traditional tool used to configure ArduPilot: a generalist Ground Control Station (GCS) software.
Feature | Mission Planner, QGroundControl, ... etc | ArduPilot Methodic Configurator |
---|---|---|
configuration type | manual 1 | semi-automated 2 |
explains what to do | 👎 | 👍 |
explains when to do something | 👎 leaves you lost | 👍 explains the path |
explains why do something | 👎 | 👍 |
configuration method | a different menu for each task, some tasks have no menu, so you need to dig into the 1200 parameters | each task only presents you a relevant subset of parameters |
parameter documentation | 👍 only on the full-parameter tree view | 👍 |
displays relevant documentation | 👎 | 👍 |
makes sure you do not forget a step | 👎 | 👍 |
checks that parameters get correctly uploaded | 👎 | 👍 |
reuse params in other vehicles | 👎 unless you hand edit files | 👍 out-of-the-box |
documents why you changed each parameter | 👎 | 👍 |
tutorials and learning resources | 👎 scattered and not integrated | 👍 context-aware help integrated |
It's graphical user interface (GUI) manages and visualizes ArduPilot parameters, parameter files and documentation.
To methodically build, configure and tune ArduPilot vehicles follow this sequence of steps:
- while choosing an Autopilot and other hardware components avoid these components
- Use ecalc for multirotor to select the propulsion system.
- follow hardware best practices
The software needs this information to automatically pre-select configuration settings relevant to your specific vehicle
- Start the ArduPilot Methodic Configurator and input select a vehicle that resembles yours and input vehicle components and component connections information into the ArduPilot Methodic Configurator component editor window
IMU temperature calibration reduces the probability of Accel inconsistent and Gyro inconsistent errors and reduces the time required to arm the vehicle. IMU temperature calibration requires lowering the temperature of the autopilot (flight controller) to circa -20°C. That is harder to do once the autopilot is assembled inside the vehicle, hence it is done now.
Assemble and connect all components. Make sure you follow best practices
Again using the ArduPilot Methodic configurator software GUI perform the following steps:
- 04_board_orientation.param flight controller orientation
- 05_remote_controller.param remote controller connections and protocol
- 06_telemetry.param telemetry transceiver connections and protocol (optional)
- 07_esc.param Electronic-Speed-Controller connections and protocol
- 08_batt1.param Battery health and state of charge monitoring
- 10_gnss.param GNSS receiver connection and protocol
- 11_initial_atc.param initial attitude PID gains (vehicle size dependent)
Now use Mission Planner to do:
- 12_mp_setup_mandatory_hardware.param calibrate vehicle sensors
And continue with the ArduPilot Methodic configurator software GUI:
- 13_general_configuration.param general misc configuration
- Test if the hardware diagnostics are OK
- 14_logging.param configure Dataflash/SDCard logging (black box data)
- 15_motor.param motor order and direction tests. ESC linearization.
- 16_pid_adjustment.parm attitude PID gains (vehicle size dependent)
- 17_remote_id.param required by law in many countries
- 18_notch_filter_setup.param to remove motor noise, reduce power consumption and increase flight stability
Now that all mandatory configuration steps are done you can perform the first flight
These are the very minimum tuning steps required for a stable flight:
- Load the
.bin
log file from the first flight into Notch filter webtool - 19_notch_filter_results.param use the webtool information to configure the notch filter(s)
- 20_throttle_controller.param the altitude controller depends on the power-to-thrust ratio found in the first flight
- 21_ekf_config.param sometimes the EKF3 needs a tune to maintain altitude
- 22_quick_tune_setup.param and 23_quick_tune_results.param, you need lua scripting support to do this if not available you can tune manually.
That is it, if you are impatient and do not want an optimized vehicle you can skip to everyday use.
These are the standard tuning steps required for an optimized flight:
- 24_inflight_magnetometer_fit_setup.param, use lua scripted flight path or fly manually, store the results using 25_inflight_magnetometer_fit_results.param, use the magfit webtool to calculate a file that the ardupilot methodic configurator can use
- 26_quick_tune_setup.param and 27_quick_tune_results.param Redo quick-tune now that the compass magnetic interference is fully calibrated
- 28_evaluate_the_aircraft_tune_ff_disable.param and 29_evaluate_the_aircraft_tune_ff_enable.param
- 30_autotune_roll_setup.param and 31_autotune_roll_results.param tune roll axis rate and angle PIDs
- 32_autotune_pitch_setup.param and 33_autotune_pitch_results.param tune pitch axis rate and angle PIDs
- 34_autotune_yaw_setup.param and 35_autotune_yaw_results.param tune yaw axis rate and angle PIDs
- 36_autotune_yawd_setup.param and 37_autotune_yawd_results.param tune yawd axis rate and angle PIDs
- 38_autotune_roll_pitch_retune_setup.param and 39_autotune_roll_pitch_retune_results.param re-tune roll and pitch pitch axis rate and angle PIDs
Now the standard tuning is complete you can skip to everyday use
- 40_windspeed_estimation.param estimates the wind speed
- 41_barometer_compensation.param Uses the estimated wind speed to improve altitude stability
- 42_system_id_roll.param, 43_system_id_pitch.param, 44_system_id_yaw.param
- 46_analytical_pid_optimization.param
Now that tuning and configuration are done, some logging and tests can be disabled and some more safety features enabled:
Enjoy your properly configured vehicle.
The following sections describe each step of the procedure in more detail.
- Download and install Mission Planner.
- Make sure to install all the recommended device drivers when asked to.
- Connect the flight controller to the computer using a USB cable.
- Open Mission Planner software.
- Go to SETUP > Install Firmware select your vehicle type and install version 4.3.8 or newer of the ArduPilot firmware onto the flight controller.
- Wait until the firmware download is complete.
- Disconnect the USB cable from the flight controller.
See the Use the ArduPilot Methodic Configurator software for the first time usecase.
The following simple loop is presented as welcome instructions:
Now do this in a loop until the software automatically closes or you are asked to close the software:
- Read all the documentation links displayed at the top of the GUI (marked with the big red number 4),
- Edit the parameter's New value and Reason changed fields to match your vehicle (marked with the big red number 5),
- The Reason changed field is extremely important because:
- if forces you to think, causing rational decisions instead of impulsive ones
- justifies your decisions on a vehicle certification process required in most countries
- allows for someone else to see if you know what you are doing
- allows for someone else (or yourself after a few weeks) to understand your rationale
- The Reason changed field is extremely important because:
- Press Del and/or Add buttons to delete or add parameters respectively (marked with the big red number 5),
- If necessary scroll down using the scroll bar on the right and make sure you edit all parameters,
- Press Upload selected params to FC, and advance to next param file (marked with the big red number 7),
- Repeat from the top until the program automatically closes.
See the Use the ArduPilot Methodic Configurator software after having created a vehicle from a template usecase.
Congratulations your flight controller is now fully configured in the safest and fastest way publicly known.
There is also documentation on other use cases and a detailed but generic Usermanual.
See the install instructions
Need help or support
Want to help us and contribute?
To meet the Software requirements a software architecture was designed and implemented.
To use and develop this software you must obey the ArduPilot Methodic Configurator Code of Conduct.
This software is cost free. This project is licensed under the GNU General Public License v3.0.
It builds upon other open-source software packages