|
306 | 306 | "placement": "left" |
307 | 307 | } |
308 | 308 | }, |
309 | | - "09_batt2.param": { |
310 | | - "why": "Ensures the vehicle operates within safe voltage limits and can trigger appropriate failsafe actions to protect the vehicle and its surroundings. It also helps by scaling the PIDs to provide a constant flight behavior, independent of the battery state-of-charge", |
311 | | - "why_now": "The failsafe configuration step requires this. Controller PID scaling depends on the battery voltage", |
312 | | - "blog_text": "Configure parameters for the second battery, including health monitoring thresholds and failsafe behavior", |
313 | | - "blog_url": "https://ardupilot.github.io/MethodicConfigurator/TUNING_GUIDE_ArduPlane#66-configure-the-redundant-secondary-battery-monitor-optional", |
314 | | - "wiki_text": "Battery Monitors (aka Power Monitors/Modules) - BATT2_* parameters", |
315 | | - "wiki_url": "https://ardupilot.org/copter/docs/common-powermodule-landingpage.html", |
316 | | - "external_tool_text": "", |
317 | | - "external_tool_url": "", |
318 | | - "mandatory_text": "0% mandatory (100% optional)", |
319 | | - "auto_changed_by": "", |
320 | | - "old_filenames": [] |
321 | | - }, |
322 | 309 | "10_gnss.param": { |
323 | 310 | "why": "GNSS positioning is required to compensate for the IMU drift. This is required by the configuration and tuning steps. After configuration and tuning are complete the GNSS can be replaced by other positioning system", |
324 | 311 | "why_now": "Needs to be done before compass calibration", |
|
475 | 462 | "auto_changed_by": "", |
476 | 463 | "old_filenames": ["16_remote_id.param"] |
477 | 464 | }, |
478 | | - "18_notch_filter_setup.param": { |
| 465 | + "19_optional_osd.param": { |
| 466 | + "why": "An OSD (On Screen Display) overlays flight data on the FPV video feed, giving the pilot situational awareness without looking away from the aircraft", |
| 467 | + "why_now": "OSD configuration depends on the telemetry and battery monitor being configured in the preceding steps, and it must be set up before the first flight", |
| 468 | + "blog_text": "Configure the On Screen Display (OSD) to show relevant flight data on the FPV video feed", |
| 469 | + "blog_url": "https://ardupilot.github.io/MethodicConfigurator/TUNING_GUIDE_ArduCopter", |
| 470 | + "wiki_text": "OSD (On Screen Display)", |
| 471 | + "wiki_url": "https://ardupilot.org/copter/docs/common-osd-overview.html", |
| 472 | + "external_tool_text": "", |
| 473 | + "external_tool_url": "", |
| 474 | + "mandatory_text": "0% mandatory (100% optional)", |
| 475 | + "auto_changed_by": "", |
| 476 | + "old_filenames": [] |
| 477 | + }, |
| 478 | + "20_motor_notch_filter_setup.param": { |
479 | 479 | "why": "When the gyroscope signal is less noisy the PID gains can be higher without causing motor output oscillations", |
480 | 480 | "why_now": "Before the first flight so that it can gather data and safeguard the vehicle from some of the noise", |
481 | 481 | "blog_text": "Configure the notch filter settings, used to reduce gyroscope signal noise caused by the motors rotation", |
|
536 | 536 | "auto_changed_by": "", |
537 | 537 | "old_filenames": ["15_pid_adjustment.param"] |
538 | 538 | }, |
539 | | - "19_notch_filter_results.param": { |
540 | | - "why": "The notch filter(s) configuration depends on real-flight data.", |
541 | | - "why_now": "real-flight data is only available after the first flight", |
542 | | - "blog_text": "Configure the notch filter(s) based on the data collected from the first flight", |
543 | | - "blog_url": "https://ardupilot.github.io/MethodicConfigurator/TUNING_GUIDE_ArduPlane#81-notch-filter-calibration", |
544 | | - "wiki_text": "Managing Gyro Noise with the Dynamic Harmonic Notch Filters", |
545 | | - "wiki_url": "https://ardupilot.org/copter/docs/common-imu-notch-filtering.html", |
546 | | - "external_tool_text": "Ardupilot Filter Review tool", |
547 | | - "external_tool_url": "https://firmware.ardupilot.org/Tools/WebTools/FilterReview/", |
548 | | - "mandatory_text": "100% mandatory (0% optional)", |
549 | | - "auto_changed_by": "", |
550 | | - "autoimport_nondefault_regexp": ["FFT_.*", "INS_GYRO_FILTER"], |
551 | | - "old_filenames": ["18_notch_filter_results.param"] |
552 | | - }, |
553 | 539 | "20_throttle_controller.param": { |
554 | 540 | "why": "The throttle controller is crucial for maintaining altitude and controlling the vehicle's vertical movement.", |
555 | 541 | "why_now": "After the first flight because it depends on the MOT_THST_HOVER parameter, before the second flight so that it can safely use the altitude controller", |
|
568 | 554 | }, |
569 | 555 | "old_filenames": ["19_throttle_controller.param"] |
570 | 556 | }, |
| 557 | + "19_notch_filter_results.param": { |
| 558 | + "why": "The notch filter(s) configuration depends on real-flight data.", |
| 559 | + "why_now": "real-flight data is only available after the first flight", |
| 560 | + "blog_text": "Configure the notch filter(s) based on the data collected from the first flight", |
| 561 | + "blog_url": "https://ardupilot.github.io/MethodicConfigurator/TUNING_GUIDE_ArduCopter#81-notch-filter-calibration", |
| 562 | + "wiki_text": "Managing Gyro Noise with the Dynamic Harmonic Notch Filters", |
| 563 | + "wiki_url": "https://ardupilot.org/copter/docs/common-imu-notch-filtering.html", |
| 564 | + "external_tool_text": "Ardupilot Filter Review tool", |
| 565 | + "external_tool_url": "https://firmware.ardupilot.org/Tools/WebTools/FilterReview/", |
| 566 | + "mandatory_text": "100% mandatory (0% optional)", |
| 567 | + "auto_changed_by": "", |
| 568 | + "autoimport_nondefault_regexp": ["FFT_.*", "INS_GYRO_FILTER"], |
| 569 | + "old_filenames": ["18_notch_filter_results.param"] |
| 570 | + }, |
571 | 571 | "21_ekf_config.param": { |
572 | 572 | "why": "Sometimes the weights of the barometer vs. GNSS altitude need to be adjusted.", |
573 | 573 | "why_now": "Before the second flight so that the EKF can be used to estimate the vehicle's position", |
|
600 | 600 | }, |
601 | 601 | "old_filenames": [] |
602 | 602 | }, |
| 603 | + "27_pid_notch_filter_results.param": { |
| 604 | + "why": "The PID notch filter(s) configuration depends on real-flight data collected with the logging enabled in the previous step", |
| 605 | + "why_now": "Real-flight data with PID notch filter batch logging is only available after the dedicated logging flight", |
| 606 | + "blog_text": "Configure the PID notch filter(s) based on the data collected from the logging flight", |
| 607 | + "blog_url": "https://ardupilot.github.io/MethodicConfigurator/TUNING_GUIDE_ArduCopter#81-notch-filter-calibration", |
| 608 | + "wiki_text": "Managing Gyro Noise with the Dynamic Harmonic Notch Filters", |
| 609 | + "wiki_url": "https://ardupilot.org/copter/docs/common-imu-notch-filtering.html", |
| 610 | + "external_tool_text": "Ardupilot Filter Review tool", |
| 611 | + "external_tool_url": "https://firmware.ardupilot.org/Tools/WebTools/FilterReview/", |
| 612 | + "mandatory_text": "100% mandatory (0% optional)", |
| 613 | + "auto_changed_by": "", |
| 614 | + "autoimport_nondefault_regexp": ["FILT.+", "ATC_RAT_.+_N[ET]F", "PSC_ACCZ_N[ET]F"], |
| 615 | + "old_filenames": [] |
| 616 | + }, |
603 | 617 | "22_quick_tune_setup.param": { |
604 | 618 | "why": "The VTOL-quicktune lua script can safely estimate good PID starting values for the vehicle.", |
605 | 619 | "why_now": "Before the second flight so that the vehicle can be safely tuned.", |
|
726 | 740 | }, |
727 | 741 | "old_filenames": ["23_inflight_magnetometer_fit_results.param"] |
728 | 742 | }, |
729 | | - "26_quick_tune_setup.param": { |
730 | | - "why": "The VTOL-quicktune lua script can safely estimate good PID starting values for the vehicle.", |
731 | | - "why_now": "Now that MagFit has been performed the quicktune will work even better", |
732 | | - "blog_text": "Set up the in-flight VTOL-quicktune lua script to tune the PIDs after the MAGFit flight", |
733 | | - "blog_url": "https://ardupilot.github.io/MethodicConfigurator/TUNING_GUIDE_ArduPlane#921-setup-quicktune", |
734 | | - "wiki_text": "If lua scripting is not possible, do a manual tune instead", |
735 | | - "wiki_url": "https://ardupilot.org/copter/docs/ac_rollpitchtuning.html", |
736 | | - "external_tool_text": "VTOL-quicktune lua script", |
737 | | - "external_tool_url": "https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_Scripting/applets/VTOL-quicktune.md", |
738 | | - "mandatory_text": "30% mandatory (70% optional)", |
739 | | - "auto_changed_by": "", |
740 | | - "autoimport_nondefault_regexp": ["QUIK_.*"], |
741 | | - "forced_parameters": { |
742 | | - "QUIK_ENABLE": { "New Value": 1, "Change Reason": "Use VTOL-Quicktune lua script to estimate a good PID starting values" } |
743 | | - }, |
744 | | - "old_filenames": ["24_quick_tune_setup.param"] |
745 | | - }, |
746 | | - "27_quick_tune_results.param": { |
747 | | - "why": "The VTOL-quicktune lua script can safely estimate good PID starting values for the vehicle.", |
748 | | - "why_now": "We need a good tune before autotune.", |
749 | | - "blog_text": "Results of the in-flight VTOL-quicktune lua script PIDs after the MAGFit flight", |
750 | | - "blog_url": "https://ardupilot.github.io/MethodicConfigurator/TUNING_GUIDE_ArduPlane#922-store-quicktune-results-to-file", |
751 | | - "wiki_text": "If lua scripting is not possible, do a manual tune instead", |
752 | | - "wiki_url": "https://ardupilot.org/copter/docs/ac_rollpitchtuning.html", |
753 | | - "external_tool_text": "VTOL-quicktune lua script", |
754 | | - "external_tool_url": "https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_Scripting/applets/VTOL-quicktune.md", |
755 | | - "mandatory_text": "30% mandatory (70% optional)", |
756 | | - "auto_changed_by": "VTOL-quicktune lua script", |
757 | | - "old_filenames": ["25_quick_tune_results.param"] |
758 | | - }, |
759 | 743 | "28_evaluate_the_aircraft_tune_ff_disable.param": { |
760 | 744 | "why": "Evaluating the aircraft's PID tuning and flight characteristics is best done with feed-forward disabled", |
761 | 745 | "why_now": "Before the autotune process to estimate if autotune can safely operate the vehicle", |
|
955 | 939 | }, |
956 | 940 | "old_filenames": [] |
957 | 941 | }, |
| 942 | + "46_pid_d_ff.param": { |
| 943 | + "why": "The D feed-forward term improves aggressive rate tracking and gives the drone a 'locked-in' feel with minimal control latency", |
| 944 | + "why_now": "After all autotune axes are complete and PID values are finalized, since D_FF is calculated from the final tuned PID response", |
| 945 | + "blog_text": "Calculate angle rate derivative feed-forward gains (ATC_RAT_*_D_FF and PSC_ACCZ_D_FF) to improve aggressive maneuver tracking", |
| 946 | + "blog_url": "https://ardupilot.github.io/MethodicConfigurator/TUNING_GUIDE_ArduCopter#97-angle-rate-derivative-feed-forward-calculation", |
| 947 | + "wiki_text": "", |
| 948 | + "wiki_url": "", |
| 949 | + "external_tool_text": "ArduPilot PID Review Tool", |
| 950 | + "external_tool_url": "https://firmware.ardupilot.org/Tools/WebTools/PIDReview/", |
| 951 | + "mandatory_text": "0% mandatory (100% optional)", |
| 952 | + "auto_changed_by": "", |
| 953 | + "autoimport_nondefault_regexp": ["ATC_RAT_.+_D_FF", "PSC_ACCZ_D_FF"], |
| 954 | + "old_filenames": [] |
| 955 | + }, |
958 | 956 | "40_windspeed_estimation.param": { |
959 | 957 | "why": "For accurate navigation and stabilization at high speeds and/or in windy conditions", |
960 | 958 | "why_now": "Because it can only be done after PID tuning is complete", |
|
1003 | 1001 | }, |
1004 | 1002 | "old_filenames": [] |
1005 | 1003 | }, |
| 1004 | + "50_system_id_input_roll.param": { |
| 1005 | + "why": "System identification is required to create a mathematical model of the vehicle", |
| 1006 | + "why_now": "Because the vehicle should be fully tuned (no more PID changes) before a model gets created (that depends on said PID values)", |
| 1007 | + "blog_text": "Configure parameters for the roll axis input system identification to create a mathematical model of the vehicle", |
| 1008 | + "blog_url": "https://ardupilot.github.io/MethodicConfigurator/TUNING_GUIDE_ArduCopter#11-system-identification-for-analytical-pid-optimization-optional", |
| 1009 | + "wiki_text": "Matlab and Simulink IAV scripts for system identification", |
| 1010 | + "wiki_url": "https://ardupilot.org/copter/docs/systemid-model-development.html#identification-of-a-multicopter", |
| 1011 | + "external_tool_text": "ArduCopter Simulink Model", |
| 1012 | + "external_tool_url": "https://github.com/ArduPilot/ardupilot/blob/master/Tools/simulink/arducopter/README.md", |
| 1013 | + "mandatory_text": "20% mandatory (80% optional)", |
| 1014 | + "auto_changed_by": "", |
| 1015 | + "forced_parameters": { |
| 1016 | + "SID_AXIS": { "New Value": 1, "Change Reason": "Inject chip on the input roll signal" } |
| 1017 | + }, |
| 1018 | + "old_filenames": [] |
| 1019 | + }, |
| 1020 | + "51_system_id_input_pitch.param": { |
| 1021 | + "why": "System identification is required to create a mathematical model of the vehicle", |
| 1022 | + "why_now": "Because the vehicle should be fully tuned (no more PID changes) before a model gets created (that depends on said PID values)", |
| 1023 | + "blog_text": "Configure parameters for the pitch axis input system identification to create a mathematical model of the vehicle", |
| 1024 | + "blog_url": "https://ardupilot.github.io/MethodicConfigurator/TUNING_GUIDE_ArduCopter#1112-pitch-rate-mathematical-model", |
| 1025 | + "wiki_text": "Matlab and Simulink IAV scripts for system identification", |
| 1026 | + "wiki_url": "https://ardupilot.org/copter/docs/systemid-model-development.html#identification-of-a-multicopter", |
| 1027 | + "external_tool_text": "ArduCopter Simulink Model", |
| 1028 | + "external_tool_url": "https://github.com/ArduPilot/ardupilot/blob/master/Tools/simulink/arducopter/README.md", |
| 1029 | + "mandatory_text": "20% mandatory (80% optional)", |
| 1030 | + "auto_changed_by": "", |
| 1031 | + "forced_parameters": { |
| 1032 | + "SID_AXIS": { "New Value": 2, "Change Reason": "Inject chip on the input pitch signal" } |
| 1033 | + }, |
| 1034 | + "old_filenames": [] |
| 1035 | + }, |
| 1036 | + "52_system_id_input_yaw.param": { |
| 1037 | + "why": "System identification is required to create a mathematical model of the vehicle", |
| 1038 | + "why_now": "Because the vehicle should be fully tuned (no more PID changes) before a model gets created (that depends on said PID values)", |
| 1039 | + "blog_text": "Configure parameters for the yaw axis input system identification to create a mathematical model of the vehicle", |
| 1040 | + "blog_url": "https://ardupilot.github.io/MethodicConfigurator/TUNING_GUIDE_ArduCopter#1113-yaw-rate-mathematical-model", |
| 1041 | + "wiki_text": "Matlab and Simulink IAV scripts for system identification", |
| 1042 | + "wiki_url": "https://ardupilot.org/copter/docs/systemid-model-development.html#identification-of-a-multicopter", |
| 1043 | + "external_tool_text": "ArduCopter Simulink Model", |
| 1044 | + "external_tool_url": "https://github.com/ArduPilot/ardupilot/blob/master/Tools/simulink/arducopter/README.md", |
| 1045 | + "mandatory_text": "20% mandatory (80% optional)", |
| 1046 | + "auto_changed_by": "", |
| 1047 | + "forced_parameters": { |
| 1048 | + "SID_AXIS": { "New Value": 3, "Change Reason": "Inject chip on the input yaw signal" } |
| 1049 | + }, |
| 1050 | + "old_filenames": [] |
| 1051 | + }, |
1006 | 1052 | "42_system_id_roll.param": { |
1007 | 1053 | "why": "System identification is required to create a mathematical model of the vehicle", |
1008 | 1054 | "why_now": "Because the vehicle should be fully tuned (no more PID changes) before a model gets created (that depends on said PID values)", |
|
0 commit comments