diff --git a/MethodicConfigurator/configuration_steps_Heli.json b/MethodicConfigurator/configuration_steps_Heli.json new file mode 100644 index 0000000..80ba86b --- /dev/null +++ b/MethodicConfigurator/configuration_steps_Heli.json @@ -0,0 +1,797 @@ +{ + "02_imu_temperature_calibration_setup.param": { + "what": "InertialMeasurementUnit Temperature Calibration setup", + "why": "The IMU drift is temperature dependent and can cause gyro and/or accel inconsistent errors", + "why_now": "You need to cool down the FC to perform this calibration. It is easier to do before the FC is mounted in the vehicle", + "blog_text": "Contains setup parameters for IMU temperature calibration, part of the initial calibration process.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-23-configure-imu-temperature-calibrationhttpsardupilotorgcopterdocscommon-imutempcalhtml-using-ardupilot-methodic-configuratorhttpsgithubcomardupilotmethodicconfigurator-7", + "wiki_text": "IMU Temperature Calibration", + "wiki_url": "https://ardupilot.org/copter/docs/common-imutempcal.html", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "80% mandatory (20% optional)", + "auto_changed_by": "", + "forced_parameters": { + "INS_TCAL1_ENABLE": { "New Value": 2, "Change Reason": "Activates the temperature calibration for IMU 1 at the next start" }, + "LOG_BITMASK": { "New Value": 524416, "Change Reason": "Only for IMU and Raw-IMU" }, + "LOG_DISARMED": { "New Value": 1, "Change Reason": "Gather data for the offline IMU temperature calibration while the FC is disarmed" } + }, + "derived_parameters": { + "INS_LOG_BAT_MASK": { "New Value": "15 if 'INS_TCAL4_ENABLE' in fc_parameters else 7 if 'INS_TCAL3_ENABLE' in fc_parameters else 3 if 'INS_TCAL2_ENABLE' in fc_parameters else 1", "Change Reason": "Calculate IMU calibration for all IMUs, irrespective of their usage in a future step. Saves the trouble of recalibrating an inactive IMU if you later decide to activate it" }, + "INS_TCAL2_ENABLE": { "New Value": "2", "Change Reason": "Activates the temperature calibration for IMU 2 at the next start" }, + "INS_TCAL3_ENABLE": { "New Value": "2", "Change Reason": "Activates the temperature calibration for IMU 3 at the next start" }, + "BRD_HEAT_TARG": { "New Value": "65", "Change Reason": "Reasonable for most places on this planet" } + }, + "jump_possible": {"04_board_orientation.param": "IMU temperature calibration reduces the number of possible 'Accel inconsistent' and 'Gyro inconsistent' errors.\nIMU temperature calibration is optional.\n\nDo you want to skip it?"}, + "old_filenames": [] + }, + "03_imu_temperature_calibration_results.param": { + "what": "InertialMeasurementUnit Temperature Calibration results", + "why": "The IMU drift is temperature dependent and can cause gyro and/or accel inconsistent errors", + "why_now": "Requires the setup step. It is easier to do before the FC is mounted in the vehicle", + "blog_text": "Records the results of the IMU temperature calibration, providing data for analysis and adjustment.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-23-configure-imu-temperature-calibrationhttpsardupilotorgcopterdocscommon-imutempcalhtml-using-ardupilot-methodic-configuratorhttpsgithubcomardupilotmethodicconfigurator-7", + "wiki_text": "IMU Temperature Calibration", + "wiki_url": "https://ardupilot.org/copter/docs/common-imutempcal.html", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "80% mandatory (20% optional)", + "auto_changed_by": "", + "old_filenames": [] + }, + "04_board_orientation.param": { + "what": "Defines the orientation of the flight controller board relative to the vehicle's body frame", + "why": "Correct orientation ensures that the flight controller accurately interprets the vehicle's movements and orientation, which is fundamental for stable flight and navigation.", + "why_now": "The following steps require that the orientation is correctly set", + "blog_text": "Defines the orientation of the flight controller board relative to the vehicle's body frame, crucial for accurate navigation and stabilization.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-25-configure-flight-controller-orientation-9", + "wiki_text": "Mounting the Autopilot - AHRS_ORIENTATION parameter", + "wiki_url": "https://ardupilot.org/copter/docs/common-mounting-the-flight-controller.html", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "100% mandatory (0% optional)", + "auto_changed_by": "", + "forced_parameters": { + "LOG_DISARMED": { "New Value": 0, "Change Reason": "Log disarmed was only required for offline IMU temperature calibration" } + }, + "derived_parameters": { + "BRD_HEAT_TARG": { "New Value": "45", "Change Reason": "Reset to default after offline IMU temperature calibration" } + }, + "old_filenames": [] + }, + "05_remote_controller.param": { + "what": "Configures remote controller connection, protocol and settings, including channel mapping and flight modes", + "why": "Remote controller is mandatory in the initial configuration and tunning phases. Later might be required for operation and/or safety", + "why_now": "It is a pre-requirement for configuring some telemetry systems and ESCs", + "blog_text": "Configures settings related to the remote controller, including channel mapping and control modes.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-26-configure-the-rc-receiver-11", + "wiki_text": "Radio Control Systems", + "wiki_url": "https://ardupilot.org/copter/docs/common-rc-systems.html", + "external_tool_text": "EdgeTX Companion", + "external_tool_url": "https://edgetx.org/getedgetx/", + "mandatory_text": "100% mandatory (0% optional)", + "auto_changed_by": "", + "derived_parameters": { + "RC_PROTOCOLS": { "New Value": "vehicle_components['RC Receiver']['FC Connection']['Protocol']", "Change Reason": "Selected in the component editor" } + }, + "rename_connection": "vehicle_components['RC Receiver']['FC Connection']['Type']", + "old_filenames": [] + }, + "06_telemetry.param": { + "what": "Configures telemetry connection, data protocol and settings between the autopilot and the ground control station(s)", + "why": "Telemetry allows the ground control station to monitor the vehicle's status in real-time, providing flight information for safe and efficient operation.", + "why_now": "Sometimes it depends on the remote controller. Configuring telemetry early allows vehicle configuration and sensor calibration in later steps without requiring a USB cable connection to the autopilot", + "blog_text": "Sets up telemetry parameters for data transmission, including GPS, altitude, and other flight metrics.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-27-configure-telemetry-12", + "wiki_text": "Telemetry (landing page)", + "wiki_url": "https://ardupilot.org/copter/docs/common-telemetry-landingpage.html", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "100% mandatory (0% optional)", + "auto_changed_by": "", + "rename_connection": "vehicle_components['Telemetry']['FC Connection']['Type']", + "old_filenames": [] + }, + "07_esc.param": { + "what": "Configures settings for the Electronic Speed Controllers (ESCs), including PWM range and failsafe behavior.", + "why": "Proper ESC configuration is crucial for accurate motor control, affecting vehicle performance and safety. It ensures motors respond correctly to control signals and fail safely in various flight conditions.", + "why_now": "Pre-requires remote control configuration. Uses GCS telemetry if available. Setting up ESCs early allows for initial motor tests and ensures a stable base for further tuning and flight testing without risking damage to the vehicle.", + "blog_text": "Configures settings for the Electronic Speed Controllers (ESCs), including PWM range and failsafe behavior.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-28-configure-the-esc-13", + "wiki_text": "ESC (Electronic Speed Controls)", + "wiki_url": "https://ardupilot.org/copter/docs/common-esc-guide.html", + "external_tool_text": "BLHeliSuite32", + "external_tool_url": "https://www.mediafire.com/file/fj1p9qlbzo5bl5g/BLHeliSuite32_32.9.0.6.zip/file", + "mandatory_text": "100% mandatory (0% optional)", + "auto_changed_by": "", + "forced_parameters": { + "MOT_HOVER_LEARN": { "New Value": 2, "Change Reason": "So that it can tune the throttle controller on 20_throttle_controller.param file" } + }, + "derived_parameters": { + "MOT_PWM_TYPE": { "New Value": "vehicle_components['ESC']['FC Connection']['Protocol']", "Change Reason": "Specified in component editor window" }, + "SERVO_BLH_POLES": { "New Value": "vehicle_components['Motors']['Specifications']['Poles']", "Change Reason": "Specified in component editor window" }, + "SERVO_FTW_POLES": { "New Value": "vehicle_components['Motors']['Specifications']['Poles']", "Change Reason": "Specified in component editor window" } + }, + "rename_connection": "vehicle_components['ESC']['FC Connection']['Type']", + "old_filenames": [] + }, + "08_batt1.param": { + "what": "Configure parameters for the first battery, including health monitoring thresholds and failsafe behavior", + "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", + "why_now": "The failsafe configuration step requires this. During flight tests PID scaling depends on the battery voltage", + "blog_text": "Contains parameters for the first battery, including voltage thresholds and failsafe behavior.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-29-configure-the-primary-battery-monitor-14", + "wiki_text": "Battery Monitors (aka Power Monitors/Modules) - BATT_* parameters", + "wiki_url": "https://ardupilot.org/copter/docs/common-powermodule-landingpage.html", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "100% mandatory (0% optional)", + "auto_changed_by": "", + "forced_parameters": { + "BATT_FS_CRT_ACT": { "New Value": 1, "Change Reason": "Land ASAP" }, + "BATT_FS_LOW_ACT": { "New Value": 2, "Change Reason": "Return and land at home or rally point" } + }, + "derived_parameters": { + "BATT_ARM_VOLT": { "New Value": "(vehicle_components['Battery']['Specifications']['Number of cells']-1)*0.1+(vehicle_components['Battery']['Specifications']['Volt per cell crit']+0.3)*vehicle_components['Battery']['Specifications']['Number of cells']", "Change Reason": "Don’t allow arming below this voltage" }, + "BATT_CAPACITY": { "New Value": "(vehicle_components['Battery']['Specifications']['Capacity mAh'])", "Change Reason": "Total battery capacity specified in the component editor" }, + "BATT_CRT_VOLT": { "New Value": "(vehicle_components['Battery']['Specifications']['Volt per cell crit'])*vehicle_components['Battery']['Specifications']['Number of cells']", "Change Reason": "(Critical voltage + 0.0) x no. of cells" }, + "BATT_LOW_VOLT": { "New Value": "(vehicle_components['Battery']['Specifications']['Volt per cell low'])*vehicle_components['Battery']['Specifications']['Number of cells']", "Change Reason": "(Low voltage + 0.0) x no. of cells" }, + "MOT_BATT_VOLT_MAX": { "New Value": "(vehicle_components['Battery']['Specifications']['Volt per cell max']+0.0)*vehicle_components['Battery']['Specifications']['Number of cells']", "Change Reason": "(Max voltage + 0.0) x no. of cells" }, + "MOT_BATT_VOLT_MIN": { "New Value": "(vehicle_components['Battery']['Specifications']['Volt per cell crit']+0.0)*vehicle_components['Battery']['Specifications']['Number of cells']", "Change Reason": "(Critical voltage + 0.0) x no. of cells" } + }, + "rename_connection": "vehicle_components['Battery Monitor']['FC Connection']['Type']", + "old_filenames": [] + }, + "09_batt2.param": { + "what": "Configure parameters for the first battery, including health monitoring thresholds and failsafe behavior", + "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", + "why_now": "The failsafe configuration step requires this. Controller PID scaling depends on the battery voltage", + "blog_text": "Contains parameters for the second battery, including voltage thresholds and failsafe behavior.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-210-configure-the-redundant-secondary-battery-monitor-15", + "wiki_text": "Battery Monitors (aka Power Monitors/Modules) - BATT2_* parameters", + "wiki_url": "https://ardupilot.org/copter/docs/common-powermodule-landingpage.html", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "0% mandatory (100% optional)", + "auto_changed_by": "", + "old_filenames": [] + }, + "10_gnss.param": { + "what": "Configures the Global Navigation Satellite System (GNSS) connection and settings, including antenna phase center location and constellation selection for optimal update rates", + "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", + "why_now": "Needs to be done before compass calibration", + "blog_text": "Configures settings for the Global Navigation Satellite System (GNSS), including positioning and velocity estimation.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-211-configure-the-gnss-receivers-16", + "wiki_text": "GPS/Compass (landing page) - GPS* parameters", + "wiki_url": "https://ardupilot.org/copter/docs/common-positioning-landing-page.html", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "100% mandatory (0% optional)", + "auto_changed_by": "", + "derived_parameters": { + "GPS_TYPE": { "New Value": "vehicle_components['GNSS Receiver']['FC Connection']['Protocol']", "Change Reason": "Defined in component editor" } + }, + "rename_connection": "vehicle_components['GNSS Receiver']['FC Connection']['Type']", + "old_filenames": [] + }, + "11_initial_atc.param": { + "what": "Configures parameters depending on the vehicle's propeller size", + "why": "Propeller size has a big influence on the vehicle dynamics, this adapts controller response to it", + "why_now": "Done before sensor calibration in Mission Planner to minimize the changes the uses has to do in mission planner", + "blog_text": "Initial attitude controller configuration", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-211-configure-the-gnss-receivers-16", + "wiki_text": "Initial parameters calculator", + "wiki_url": "https://discuss.ardupilot.org/t/initial-parameters-calculator-plugin/56909/61", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "100% mandatory (0% optional)", + "auto_changed_by": "", + "forced_parameters": { + "ATC_RAT_PIT_FLTE": { "New Value": "0", "Change Reason": "Initial value, will be improved at a later step" }, + "ATC_RAT_RLL_FLTE": { "New Value": "0", "Change Reason": "Initial value, will be improved at a later step" }, + "ATC_RAT_YAW_FLTD": { "New Value": "0", "Change Reason": "Initial value, will be improved at a later step" }, + "ATC_RAT_YAW_FLTE": { "New Value": "2", "Change Reason": "Initial value, will be improved at a later step" }, + "INS_ACCEL_FILTER": { "New Value": "10", "Change Reason": "The default is 20Hz but that is too high in most situations" } + }, + "derived_parameters": { + "ATC_ANG_YAW_P": { "New Value": "round(0.5*max(8000, round(-900*vehicle_components['Propellers']['Specifications']['Diameter_inches']+36000, -2))/3000, 1)", "Change Reason": "Derived from vehicle component editor propeller size" }, + "ATC_ACCEL_P_MAX": { "New Value": "max(10000,(round(-2.613267*vehicle_components['Propellers']['Specifications']['Diameter_inches']**3+343.39216*vehicle_components['Propellers']['Specifications']['Diameter_inches']**2-15083.7121*vehicle_components['Propellers']['Specifications']['Diameter_inches']+235771, -2)))", "Change Reason": "Derived from vehicle component editor propeller size" }, + "ATC_ACCEL_R_MAX": { "New Value": "max(10000,(round(-2.613267*vehicle_components['Propellers']['Specifications']['Diameter_inches']**3+343.39216*vehicle_components['Propellers']['Specifications']['Diameter_inches']**2-15083.7121*vehicle_components['Propellers']['Specifications']['Diameter_inches']+235771, -2)))", "Change Reason": "Derived from vehicle component editor propeller size" }, + "ATC_ACCEL_Y_MAX": { "New Value": "max(8000, round(-900*vehicle_components['Propellers']['Specifications']['Diameter_inches']+36000, -2))", "Change Reason": "Derived from vehicle component editor propeller size" }, + "ATC_RAT_PIT_FLTD": { "New Value": "max(20, (round(289.22*vehicle_components['Propellers']['Specifications']['Diameter_inches']**-0.838, 0))) / 2", "Change Reason": "INS_GYRO_FILTER / 2" }, + "ATC_RAT_PIT_FLTT": { "New Value": "max(20, (round(289.22*vehicle_components['Propellers']['Specifications']['Diameter_inches']**-0.838, 0))) / 2", "Change Reason": "INS_GYRO_FILTER / 2" }, + "ATC_RAT_RLL_FLTD": { "New Value": "max(20, (round(289.22*vehicle_components['Propellers']['Specifications']['Diameter_inches']**-0.838, 0))) / 2", "Change Reason": "INS_GYRO_FILTER / 2" }, + "ATC_RAT_RLL_FLTT": { "New Value": "max(20, (round(289.22*vehicle_components['Propellers']['Specifications']['Diameter_inches']**-0.838, 0))) / 2", "Change Reason": "INS_GYRO_FILTER / 2" }, + "ATC_RAT_YAW_FLTT": { "New Value": "max(20, (round(289.22*vehicle_components['Propellers']['Specifications']['Diameter_inches']**-0.838, 0))) / 2", "Change Reason": "INS_GYRO_FILTER / 2" }, + "INS_GYRO_FILTER": { "New Value": "max(20, (round(289.22*vehicle_components['Propellers']['Specifications']['Diameter_inches']**-0.838, 0)))", "Change Reason": "Derived from vehicle component editor propeller size" } + }, + "old_filenames": [] + }, + "12_mp_setup_mandatory_hardware.param": { + "what": "accelerometer, gyroscope, compass and RC calibration using Mission Planner", + "why": "Sensors need to be calibrated once before they can be used", + "why_now": "this can only be done effectively after all the preceding steps because it uses their results", + "blog_text": "Sets up mandatory hardware components, ensuring all necessary sensors and systems are correctly configured.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-212-configure-mandatory-hardware-parameters-17", + "wiki_text": "Follow the blog instructions and use Mission Planner instead of this tool to configure the mandatory hardware parameters.", + "wiki_url": "", + "external_tool_text": "Mission Planner", + "external_tool_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-212-configure-mandatory-hardware-parameters-17", + "mandatory_text": "100% mandatory (0% optional)", + "auto_changed_by": "Mission Planner. If you have not done this step in Mission Planner yet, close this application and use Mission Planner", + "old_filenames": ["11_mp_setup_mandatory_hardware.param"] + }, + "13_general_configuration.param": { + "what": "General configuration parameters for the vehicle, including flight modes and safety settings.", + "why": "The parameter defaults of some parameters are not sutable for the flight tests that will follow", + "why_now": "Most parameters have been configured in previous steps. These are parameters that did not fit in any of the categories of the previous steps.", + "blog_text": "General configuration parameters for the vehicle, including flight modes and safety settings.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-213-general-configuration-30", + "wiki_text": "", + "wiki_url": "", + "external_tool_text": "ArduPilot Hardware report", + "external_tool_url": "https://firmware.ardupilot.org/Tools/WebTools/HardwareReport/", + "mandatory_text": "100% mandatory (0% optional)", + "auto_changed_by": "", + "forced_parameters": { + "ARMING_CHECK": { "New Value": 1, "Change Reason": "Perform all arming checks. If you have a problem fix its source. Do NOT change this" }, + "SCR_ENABLE": { "New Value": 1, "Change Reason": "Use lua scripting for VTOL-Quicktune, MagFit automation and Windspeed Estimation automation" } + }, + "old_filenames": ["12_general_configuration.param"] + }, + "14_logging.param": { + "what": "Configures logging parameters, including what data is logged and how it's stored.", + "why": "parameter values at later steps depend on data that is gathered by means of logging", + "why_now": "All the previous steps did not require logging, but the following ones do", + "blog_text": "Configures logging parameters, including what data is logged and how it's stored.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-215-configure-logging-32", + "wiki_text": "Downloading and Analyzing Data Logs in Mission Planner", + "wiki_url": "https://ardupilot.org/copter/docs/common-downloading-and-analyzing-data-logs-in-mission-planner.html", + "external_tool_text": "Motor/Propeller order and direction test", + "external_tool_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-216-motorpropeller-order-and-direction-test-33", + "mandatory_text": "100% mandatory (0% optional)", + "auto_changed_by": "", + "forced_parameters": { + "INS_LOG_BAT_OPT": { "New Value": 4, "Change Reason": "Logs measured data both before and after the filters for Filter Review Webtool usage" }, + "LOG_BITMASK": { "New Value": 2242524, "Change Reason": "Logs Notch filter data and other control signals" }, + "LOG_FILE_DSRMROT": { "New Value": 1, "Change Reason": "One .bin log file per flight, not per battery/reboot" } + }, + "old_filenames": ["13_logging.param"] + }, + "15_motor.param": { + "what": "ESC, Motor and propeller configurations", + "why": "The motor thrust linearization is crucial for the throttle controller tuning, and throttle-based notch filter operation", + "why_now": "The notch filter setup step requires this, and the safety of the vehicle depends on the ESC and motor configuration", + "blog_text": "ESC, Motor and propeller configurations.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#motor-thrust-scalinghttpsardupilotorgcopterdocsmotor-thrust-scalinghtml-mot_thst_expohttpsardupilotorgcopterdocsparametershtmlmot-thst-expo-mot_spin_minhttpsardupilotorgcopterdocsparametershtmlmot-spin-min-and-mot_spin_maxhttpsardupilotorgcopterdocsparametershtmlmot-spin-max-34", + "wiki_text": "Motor Thrust Scaling", + "wiki_url": "https://ardupilot.org/copter/docs/motor-thrust-scaling.html", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "40% mandatory (60% optional)", + "auto_changed_by": "", + "old_filenames": ["14_motor.param"] + }, + "16_pid_adjustment.param": { + "what": "Adjusting the Proportional-Integral-Derivative (PID) controllers based on the vehicle size before the first flight", + "why": "With very large or very small vehicles the default PID values are not suitable for the first flight", + "why_now": "Most other parameters are done and these need to be corrected (depending on the vehicle size) before the first flight", + "blog_text": "Contains parameters for adjusting the Proportional-Integral-Derivative (PID) controllers, crucial for tuning the vehicle's flight characteristics.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-215-optional-pid-adjustment-31", + "wiki_text": "Manual tuning of Roll and Pitch", + "wiki_url": "https://ardupilot.org/copter/docs/ac_rollpitchtuning.html", + "external_tool_text": "param_pid_adjustment_update.py", + "external_tool_url": "https://github.com/ArduPilot/MethodicConfigurator/blob/master/MethodicConfigurator/param_pid_adjustment_update.py", + "mandatory_text": "20% mandatory (80% optional)", + "auto_changed_by": "", + "old_filenames": ["15_pid_adjustment.param"] + }, + "17_remote_id.param": { + "what": "Set the remote ID for the vehicle, to comply with local laws if applicable.", + "why": "Some countries require a remote ID for drones to be flown legally.", + "why_now": "Remote ID requires GNSS and air pressure to be configured before, and it must be set up before the first flight", + "blog_text": "Sets the remote ID for the vehicle, allowing it to comply with local laws.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-218-remote-id-aka-drone-id-36", + "wiki_text": "Remote ID (aka Drone ID)", + "wiki_url": "https://ardupilot.org/copter/docs/common-remoteid.html", + "external_tool_text": "Dronetag BS user manual", + "external_tool_url": "https://help.dronetag.cz/dronetag-bs", + "mandatory_text": "0% mandatory (100% optional)", + "auto_changed_by": "", + "old_filenames": ["16_remote_id.param"] + }, + "18_notch_filter_setup.param": { + "what": "Configures the notch filter settings, used to reduce noise in the gyroscope signal caused by the motors", + "why": "When the gyroscope signal is less noisy the PID gains can be higher without causing motor output oscillations", + "why_now": "Before the first flight so that it can gather data and safeguard the vehicle from some of the noise", + "blog_text": "Configures the notch filter settings, used to reduce noise in the signal from the gyroscope.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-219-notch-filters-setup-37", + "wiki_text": "Managing Gyro Noise with the Dynamic Harmonic Notch Filters", + "wiki_url": "https://ardupilot.org/copter/docs/common-imu-notch-filtering.html", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "100% mandatory (0% optional)", + "auto_changed_by": "", + "forced_parameters": { + "INS_HNTCH_ENABLE": { "New Value": 1, "Change Reason": "Use the first notch filter to filter the noise created by the motors/propellers" } + }, + "derived_parameters": { + "INS_HNTCH_FREQ": { "New Value": "1.4*fc_parameters['INS_GYRO_FILTER']", "Change Reason": "Use 1.4 * INS_GYRO_FILTER as a first guess" } + }, + "old_filenames": ["17_notch_filter_setup.param"] + }, + "19_notch_filter_results.param": { + "what": "Configures the notch filter(s) based on the data collected from the first flight.", + "why": "The notch filter(s) configuration depends on real-flight data.", + "why_now": "real-flight data is only available after the first flight", + "blog_text": "Records the results of the notch filter setup, providing data for analysis and adjustment.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-3-first-flight-motor-thrust-hover-and-harmonic-notch-data-collection-38", + "wiki_text": "Managing Gyro Noise with the Dynamic Harmonic Notch Filters", + "wiki_url": "https://ardupilot.org/copter/docs/common-imu-notch-filtering.html", + "external_tool_text": "Ardupilot Filter Review tool 100", + "external_tool_url": "https://firmware.ardupilot.org/Tools/WebTools/FilterReview/", + "mandatory_text": "100% mandatory (0% optional)", + "auto_changed_by": "", + "old_filenames": ["18_notch_filter_results.param"] + }, + "20_throttle_controller.param": { + "what": "Uses MOT_THST_HOVER value calculated during the first flight to set altitude controller PIDs.", + "why": "The throttle controller is crucial for maintaining altitude and controlling the vehicle's vertical movement.", + "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", + "blog_text": "Configures settings for the throttle controller, including throttle curve and failsafe behavior.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-32-configure-the-throttle-controller-40", + "wiki_text": "Test AltHold", + "wiki_url": "https://ardupilot.org/copter/docs/initial-tuning-flight.html#test-althold", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "100% mandatory (0% optional)", + "auto_changed_by": "", + "derived_parameters": { + "PSC_ACCZ_I": { "New Value": "2*fc_parameters['MOT_THST_HOVER']", "Change Reason": "Use 2 * MOT_THST_HOVER assuming MOT_THST_HOVER has been correctly learned" }, + "PSC_ACCZ_P": { "New Value": "fc_parameters['MOT_THST_HOVER']", "Change Reason": "Use MOT_THST_HOVER assuming MOT_THST_HOVER has been correctly learned" } + }, + "old_filenames": ["19_throttle_controller.param"] + }, + "21_ekf_config.param": { + "what": "Configure Extended Kalman Filter (EKF) noise weights.", + "why": "Sometimes the weights of the barometer vs. GNSS altitude need to be adjusted.", + "why_now": "Before the second flight so that the EKF can be used to estimate the vehicle's position", + "blog_text": "Configure EKF noise weights.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-4-second-flight-pid-vtol-quiktune-lua-script-or-manual-pid-tune-41", + "wiki_text": "Extended Kalman filter tuning", + "wiki_url": "https://ardupilot.org/dev/docs/extended-kalman-filter.html", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "0% mandatory (100% optional)", + "old_filenames": ["20_ekf_config.param"] + }, + "22_quick_tune_setup.param": { + "what": "Set up the in-flight VTOL-quicktune lua script to tune the PIDs before the MAGFit flight.", + "why": "The VTOL-quicktune lua script can safely estimate good PID starting values for the vehicle.", + "why_now": "Before the second flight so that the vehicle can be safely tuned.", + "blog_text": "Set up the in-flight VTOL-quicktune lua script to tune the PIDs before the MAGFit flight.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-4-second-flight-pid-vtol-quiktune-lua-script-or-manual-pid-tune-41", + "wiki_text": "If lua scripting is not possible, do a manual tune instead", + "wiki_url": "https://ardupilot.org/copter/docs/ac_rollpitchtuning.html", + "external_tool_text": "VTOL-quicktune lua script", + "external_tool_url": "https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_Scripting/applets/VTOL-quicktune.md", + "mandatory_text": "80% mandatory (20% optional)", + "auto_changed_by": "", + "forced_parameters": { + "QUIK_ENABLE": { "New Value": 1, "Change Reason": "Use VTOL-Quicktune lua script to estimate a good PID starting values" } + }, + "old_filenames": ["20_quick_tune_setup.param"], + "download_file": { "source_url": "https://raw.githubusercontent.com/ArduPilot/ardupilot/Copter-4.5/libraries/AP_Scripting/applets/VTOL-quicktune.lua", "dest_local": "VTOL-quicktune.lua" }, + "upload_file": { "source_local": "VTOL-quicktune.lua", "dest_on_fc": "/APM/Scripts/VTOL-quicktune.lua" } + }, + "23_quick_tune_results.param": { + "what": "Records the results of the in-flight VTOL-quicktune lua script PIDs before the MAGFit flight.", + "why": "The VTOL-quicktune lua script can safely estimate good PID starting values for the vehicle.", + "why_now": "Before the second flight so that the vehicle can be safely tuned.", + "blog_text": "Results of the in-flight VTOL-quicktune lua script PIDs before the MAGFit flight.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-4-second-flight-pid-vtol-quiktune-lua-script-or-manual-pid-tune-41", + "wiki_text": "If lua scripting is not possible, do a manual tune instead", + "wiki_url": "https://ardupilot.org/copter/docs/ac_rollpitchtuning.html", + "external_tool_text": "VTOL-quicktune lua script", + "external_tool_url": "https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_Scripting/applets/VTOL-quicktune.md", + "mandatory_text": "80% mandatory (20% optional)", + "auto_changed_by": "VTOL-quicktune lua script", + "old_filenames": ["21_quick_tune_results.param"] + }, + "24_inflight_magnetometer_fit_setup.param": { + "what": "Sets up parameters for the in-flight magnetometer calibration.", + "why": "The compass heading is crucial for the vehicle's navigation and the calibration is very accurate if done during a special flight path.", + "why_now": "Requires a basic tune (provided by the previous step) in order to be able to safely navigate in a figure eight flight path.", + "blog_text": "Sets up parameters for the in-flight magnetometer calibration, ensuring accurate compass heading.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-5-third-flight-magfit-42", + "wiki_text": "If lua scripting is not possible do compassmot instead", + "wiki_url": "https://ardupilot.org/copter/docs/common-compass-setup-advanced.html#compassmot-compensation-for-interference-from-the-power-wires-escs-and-motors", + "external_tool_text": "ArduPilot MAGFit in flight compass calibration", + "external_tool_url": "https://firmware.ardupilot.org/Tools/WebTools/MAGFit/", + "mandatory_text": "80% mandatory (20% optional)", + "auto_changed_by": "", + "forced_parameters": { + "MAGH_LOG_ENABLE": { "New Value": 1, "Change Reason": "Activates the logging of the MAGH.Active message" } + }, + "jump_possible": {"50_everyday_use.param": "If you are impatient and do not want a fully optimized flight controller\nYou can skip some steps now.\n\nJump to '50_everyday_use.param' file?"}, + "old_filenames": ["22_inflight_magnetometer_fit_setup.param"], + "download_file": { "source_url": "https://discuss.ardupilot.org/uploads/short-url/4pyrl7PcfqiMEaRItUhljuAqLSs.lua", "dest_local": "copter-magfit-helper.lua" }, + "upload_file": { "source_local": "copter-magfit-helper.lua", "dest_on_fc": "/APM/Scripts/copter-magfit-helper.lua" } + }, + "25_inflight_magnetometer_fit_results.param": { + "what": "Records the results of the in-flight magnetometer calibration.", + "why": "The compass heading is crucial for the vehicle's navigation and the calibration is very accurate if done during a special flight path.", + "why_now": "Requires the setup (provided by the previous step) and should be done before the second quicktune.", + "blog_text": "Records the results of the in-flight magnetometer calibration, providing data for analysis and adjustment.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-5-third-flight-magfit-42", + "wiki_text": "If lua scripting is not possible do compassmot instead", + "wiki_url": "https://ardupilot.org/copter/docs/common-compass-setup-advanced.html#compassmot-compensation-for-interference-from-the-power-wires-escs-and-motors", + "external_tool_text": "ArduPilot MAGFit in flight compass calibration", + "external_tool_url": "https://firmware.ardupilot.org/Tools/WebTools/MAGFit/", + "mandatory_text": "80% mandatory (20% optional)", + "auto_changed_by": "MAGFit Webtool and YOU manually uploaded the result to the FC already", + "old_filenames": ["23_inflight_magnetometer_fit_results.param"] + }, + "26_quick_tune_setup.param": { + "what": "Set up the in-flight VTOL-quicktune lua script to tune the PIDs after the MAGFit flight.", + "why": "The VTOL-quicktune lua script can safely estimate good PID starting values for the vehicle.", + "why_now": "Now that MagFit has been performed the quicktune will work even better", + "blog_text": "Set up the in-flight VTOL-quicktune lua script to tune the PIDs after the MAGFit flight.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-6-fourth-flight-pid-vtol-quiktune-lua-script-or-manual-pid-tune-optional-44", + "wiki_text": "If lua scripting is not possible, do a manual tune instead", + "wiki_url": "https://ardupilot.org/copter/docs/ac_rollpitchtuning.html", + "external_tool_text": "VTOL-quicktune lua script", + "external_tool_url": "https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_Scripting/applets/VTOL-quicktune.md", + "mandatory_text": "30% mandatory (70% optional)", + "auto_changed_by": "", + "forced_parameters": { + "QUIK_ENABLE": { "New Value": 1, "Change Reason": "Use VTOL-Quicktune lua script to estimate a good PID starting values" } + }, + "old_filenames": ["24_quick_tune_setup.param"] + }, + "27_quick_tune_results.param": { + "what": "Records the results of the in-flight VTOL-quicktune lua script PIDs after the MAGFit flight.", + "why": "The VTOL-quicktune lua script can safely estimate good PID starting values for the vehicle.", + "why_now": "We need a good tune before autotune.", + "blog_text": "Results of the in-flight VTOL-quicktune lua script PIDs after the MAGFit flight.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-6-fourth-flight-pid-vtol-quiktune-lua-script-or-manual-pid-tune-optional-44", + "wiki_text": "If lua scripting is not possible, do a manual tune instead", + "wiki_url": "https://ardupilot.org/copter/docs/ac_rollpitchtuning.html", + "external_tool_text": "VTOL-quicktune lua script", + "external_tool_url": "https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_Scripting/applets/VTOL-quicktune.md", + "mandatory_text": "30% mandatory (70% optional)", + "auto_changed_by": "VTOL-quicktune lua script", + "old_filenames": ["25_quick_tune_results.param"] + }, + "28_evaluate_the_aircraft_tune_ff_disable.param": { + "what": "Contains parameters for evaluating the aircraft's tuning with feed-forward control disabled", + "why": "Evaluate the aircraft's PID tuning and flight characteristics.", + "why_now": "Before the autotune process to estimate if autotune can safely operate the vehicle", + "blog_text": "Contains parameters for evaluating the aircraft's tuning with feed-forward control disabled, useful for comparison.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-7-fifth-flight-evaluate-the-aircraft-tune-part-1-45", + "wiki_text": "Evaluating the aircraft tune", + "wiki_url": "https://ardupilot.org/copter/docs/evaluating-the-aircraft-tune.html#evaluating-the-aircraft-tune", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "80% mandatory (20% optional)", + "auto_changed_by": "", + "forced_parameters": { + "ATC_RATE_FF_ENAB": { "New Value": 0, "Change Reason": "test the stabilization loops independent of the input shaping" } + }, + "old_filenames": ["26_evaluate_the_aircraft_tune_ff_disable.param"] + }, + "29_evaluate_the_aircraft_tune_ff_enable.param": { + "what": "Contains parameters for evaluating the aircraft's tuning with feed-forward control enabled", + "why": "Evaluate the aircraft's PID tuning and flight characteristics.", + "why_now": "Before the autotune process to estimate if autotune can safely operate the vehicle", + "blog_text": "Contains parameters for evaluating the aircraft's tuning with feed-forward control enabled, for optimal performance.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-8-sixth-flight-evaluate-the-aircraft-tune-part-2-46", + "wiki_text": "Evaluating the aircraft tune", + "wiki_url": "https://ardupilot.org/copter/docs/evaluating-the-aircraft-tune.html#evaluating-the-aircraft-tune", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "80% mandatory (20% optional)", + "auto_changed_by": "", + "forced_parameters": { + "ATC_RATE_FF_ENAB": { "New Value": 1, "Change Reason": "re-enable normal operation, activate input shaping" } + }, + "old_filenames": ["27_evaluate_the_aircraft_tune_ff_enable.param"] + }, + "30_autotune_roll_setup.param": { + "what": "Sets up parameters for the roll axis autotuning process", + "why": "To optimize roll step response.", + "why_now": "Because roll is usually the axis that has the highest dynamic, and we start with the highest dynamic axis", + "blog_text": "Sets up parameters for the roll axis autotuning process, aiming to optimize roll response.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-9-autotune-flightshttpsardupilotorgcopterdocsautotunehtml-47", + "wiki_text": "AutoTune", + "wiki_url": "https://ardupilot.org/copter/docs/autotune.html", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "80% mandatory (20% optional)", + "auto_changed_by": "", + "forced_parameters": { + "AUTOTUNE_AXES": { "New Value": 1, "Change Reason": "Autotune roll axis" } + }, + "old_filenames": ["28_autotune_roll_setup.param"] + }, + "31_autotune_roll_results.param": { + "what": "Records the results of the roll axis autotuning", + "why": "To optimize roll step response.", + "why_now": "Because roll is usually the axis that has the highest dynamic, and we start with the highest dynamic axis", + "blog_text": "Records the results of the roll axis autotuning, providing data for analysis and adjustment.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#roll-axis-48", + "wiki_text": "AutoTune", + "wiki_url": "https://ardupilot.org/copter/docs/autotune.html", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "80% mandatory (20% optional)", + "auto_changed_by": "ArduPilot autotune", + "old_filenames": ["29_autotune_roll_results.param"] + }, + "32_autotune_pitch_setup.param": { + "what": "Sets up parameters for the pitch axis autotuning process", + "why": "To optimize pitch step response.", + "why_now": "Because pitch is usually the axis that has the second highest dynamic, and we continue with the second highest dynamic axis", + "blog_text": "Sets up parameters for the pitch axis autotuning process, aiming to optimize pitch response.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#pitch-axis-49", + "wiki_text": "AutoTune", + "wiki_url": "https://ardupilot.org/copter/docs/autotune.html", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "80% mandatory (20% optional)", + "auto_changed_by": "", + "forced_parameters": { + "AUTOTUNE_AXES": { "New Value": 2, "Change Reason": "Autotune pitch axis" } + }, + "old_filenames": ["30_autotune_pitch_setup.param"] + }, + "33_autotune_pitch_results.param": { + "what": "Records the results of the pitch axis autotuning", + "why": "To optimize pitch step response.", + "why_now": "Because pitch is usually the axis that has the second highest dynamic, and we continue with the second highest dynamic axis", + "blog_text": "Records the results of the pitch axis autotuning, providing data for analysis and adjustment.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#pitch-axis-49", + "wiki_text": "AutoTune", + "wiki_url": "https://ardupilot.org/copter/docs/autotune.html", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "80% mandatory (20% optional)", + "auto_changed_by": "ArduPilot autotune", + "old_filenames": ["31_autotune_pitch_results.param"] + }, + "34_autotune_yaw_setup.param": { + "what": "Sets up parameters for the yaw axis autotuning process", + "why": "To optimize yaw step response.", + "why_now": "Because yaw is usually the axis that has the third highest dynamic, and we continue with the third highest dynamic axis", + "blog_text": "Sets up parameters for the yaw axis autotuning process, aiming to optimize yaw response.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#yaw-axis-50", + "wiki_text": "AutoTune", + "wiki_url": "https://ardupilot.org/copter/docs/autotune.html", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "80% mandatory (20% optional)", + "auto_changed_by": "", + "forced_parameters": { + "AUTOTUNE_AXES": { "New Value": 4, "Change Reason": "Autotune yaw axis" } + }, + "derived_parameters": { + "ATC_RAT_YAW_FLTD": { "New Value": "fc_parameters['INS_GYRO_FILTER'] / 4", "Change Reason": "Use INS_GYRO_FILTER / 4 as a first guess" } + }, + "old_filenames": ["32_autotune_yaw_setup.param"] + }, + "35_autotune_yaw_results.param": { + "what": "Records the results of the yaw axis autotuning", + "why": "To optimize yaw response.", + "why_now": "Because yaw is usually the axis that has the third highest dynamic, and we continue with the third highest dynamic axis", + "blog_text": "Records the results of the yaw axis autotuning, providing data for analysis and adjustment.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#yaw-axis-50", + "wiki_text": "AutoTune", + "wiki_url": "https://ardupilot.org/copter/docs/autotune.html", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "80% mandatory (20% optional)", + "auto_changed_by": "ArduPilot autotune", + "old_filenames": ["33_autotune_yaw_results.param"] + }, + "36_autotune_yawd_setup.param": { + "what": "Sets up parameters for the yaw D autotuning process", + "why": "To optimize yaw D step response.", + "why_now": "Because yaw D can only be done after yaw", + "blog_text": "Sets up parameters for the yaw rate autotuning process, aiming to optimize yaw rate response.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#yaw-d-axishttpswwwyoutubecomwatchvb76bpeercekt963s-51", + "wiki_text": "AutoTune", + "wiki_url": "https://ardupilot.org/copter/docs/autotune.html", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "80% mandatory (20% optional)", + "auto_changed_by": "", + "forced_parameters": { + "AUTOTUNE_AXES": { "New Value": 8, "Change Reason": "Autotune yaw D axis" } + }, + "old_filenames": ["34_autotune_yawd_setup.param"] + }, + "37_autotune_yawd_results.param": { + "what": "Records the results of the yaw D autotuning", + "why": "To optimize yaw D step response.", + "why_now": "Because yaw D can only be done after yaw", + "blog_text": "Records the results of the yaw rate autotuning, providing data for analysis and adjustment.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#yaw-d-axishttpswwwyoutubecomwatchvb76bpeercekt963s-51", + "wiki_text": "AutoTune", + "wiki_url": "https://ardupilot.org/copter/docs/autotune.html", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "80% mandatory (20% optional)", + "auto_changed_by": "ArduPilot autotune", + "old_filenames": ["35_autotune_yawd_results.param"] + }, + "38_autotune_roll_pitch_retune_setup.param": { + "blog_text": "Sets up parameters for the roll and pitch axis retuning process, refining the vehicle's flight characteristics.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#re-tune-the-roll-and-pitch-axishttpsyoutubejk0i97dmsk0sif1lyl2iq8guuenclt2535-52", + "wiki_text": "AutoTune", + "wiki_url": "https://ardupilot.org/copter/docs/autotune.html", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "80% mandatory (20% optional)", + "auto_changed_by": "", + "forced_parameters": { + "AUTOTUNE_AXES": { "New Value": 3, "Change Reason": "Autotune roll and pitch axis" } + }, + "old_filenames": ["36_autotune_roll_pitch_retune_setup.param"] + }, + "39_autotune_roll_pitch_retune_results.param": { + "blog_text": "Records the results of the roll and pitch axis retuning, providing data for analysis and adjustment.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#re-tune-the-roll-and-pitch-axishttpsyoutubejk0i97dmsk0sif1lyl2iq8guuenclt2535-52", + "wiki_text": "AutoTune", + "wiki_url": "https://ardupilot.org/copter/docs/autotune.html", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "80% mandatory (20% optional)", + "auto_changed_by": "ArduPilot autotune", + "old_filenames": ["37_autotune_roll_pitch_retune_results.param"] + }, + "40_windspeed_estimation.param": { + "blog_text": "Configures parameters for wind speed estimation, crucial for accurate navigation and stabilization in windy conditions.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842#h-11-windspeed-estimation-flightshttpsardupilotorgcopterdocsairspeed-estimationhtml-54", + "wiki_text": "Windspeed Estimation", + "wiki_url": "https://ardupilot.org/copter/docs/airspeed-estimation.html", + "external_tool_text": "free online tool to overlay a grid over an image", + "external_tool_url": "https://yomotherboard.com/add-grid-to-image/", + "mandatory_text": "60% mandatory (40% optional)", + "auto_changed_by": "", + "forced_parameters": { + "LOG_DISARMED": { "New Value": 1, "Change Reason": "allow post flight tuning with Replay" }, + "LOG_REPLAY": { "New Value": 1, "Change Reason": "allow post flight tuning with Replay" } + }, + "old_filenames": ["38_windspeed_estimation.param"] + }, + "41_barometer_compensation.param": { + "blog_text": "Sets up parameters for barometer compensation, ensuring accurate altitude estimation.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842/3#h-12-baro-compensation-flightshttpsardupilotorgcopterdocsairspeed-estimationhtmlbarometer-position-error-compensation-1", + "wiki_text": "Barometer Position Error Compensation", + "wiki_url": "https://ardupilot.org/copter/docs/airspeed-estimation.html#barometer-position-error-compensation", + "external_tool_text": "Lua script provided by Yuri", + "external_tool_url": "https://discuss.ardupilot.org/t/scripting-copter-wind-estimation-baro-compensation-tuning/98470/1", + "mandatory_text": "60% mandatory (40% optional)", + "auto_changed_by": "", + "jump_possible": {"47_position_controller.param": "If you do not want an analytical PID optimization\nyou can skip some steps now.\n\nJump to '47_position_controller.param' file?"}, + "old_filenames": ["39_barometer_compensation.param"] + }, + "42_system_id_roll.param": { + "blog_text": "Configures parameters for the roll axis system identification, part of the tuning process.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842/3#h-13-system-identification-flightshttpsardupilotorgcopterdocssystemid-mode-operationhtml-2", + "wiki_text": "Matlab and Simulink IAV scripts for system identification", + "wiki_url": "https://ardupilot.org/copter/docs/systemid-mode-operation.html#identification-of-a-multicopter", + "external_tool_text": "ArduCopter Simulink Model", + "external_tool_url": "https://github.com/ArduPilot/ardupilot/blob/master/Tools/simulink/arducopter/README.md", + "mandatory_text": "20% mandatory (80% optional)", + "auto_changed_by": "", + "forced_parameters": { + "LOG_DISARMED": { "New Value": 0, "Change Reason": "was only needed for wind speed estimation" }, + "LOG_REPLAY": { "New Value": 0, "Change Reason": "was only needed for wind speed estimation" }, + "SID_AXIS": { "New Value": 10, "Change Reason": "Inject chip on the mixer roll signal" } + }, + "old_filenames": ["40_system_id_roll.param"] + }, + "43_system_id_pitch.param": { + "blog_text": "Configures parameters for the pitch axis system identification, part of the tuning process.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842/3#pitch-rate-mathematical-model-4", + "wiki_text": "Matlab and Simulink IAV scripts for system identification", + "wiki_url": "https://ardupilot.org/copter/docs/systemid-mode-operation.html#identification-of-a-multicopter", + "external_tool_text": "ArduCopter Simulink Model", + "external_tool_url": "https://github.com/ArduPilot/ardupilot/blob/master/Tools/simulink/arducopter/README.md", + "mandatory_text": "20% mandatory (80% optional)", + "auto_changed_by": "", + "forced_parameters": { + "SID_AXIS": { "New Value": 11, "Change Reason": "Inject chip on the mixer pitch signal" } + }, + "old_filenames": ["41_system_id_pitch.param"] + }, + "44_system_id_yaw.param": { + "blog_text": "Configures parameters for the yaw axis system identification, part of the tuning process.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842/3#yaw-rate-mathematical-model-5", + "wiki_text": "Matlab and Simulink IAV scripts for system identification", + "wiki_url": "https://ardupilot.org/copter/docs/systemid-mode-operation.html#identification-of-a-multicopter", + "external_tool_text": "ArduCopter Simulink Model", + "external_tool_url": "https://github.com/ArduPilot/ardupilot/blob/master/Tools/simulink/arducopter/README.md", + "mandatory_text": "20% mandatory (80% optional)", + "auto_changed_by": "", + "forced_parameters": { + "SID_AXIS": { "New Value": 12, "Change Reason": "Inject chip on the mixer yaw signal" } + }, + "old_filenames": ["42_system_id_yaw.param"] + }, + "45_system_id_thrust.param": { + "blog_text": "Configures parameters for the thrust axis system identification, part of the tuning process.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842/3#thrust-mathematical-model-6", + "wiki_text": "Matlab and Simulink IAV scripts for system identification", + "wiki_url": "https://ardupilot.org/copter/docs/systemid-mode-operation.html#identification-of-a-multicopter", + "external_tool_text": "ArduCopter Simulink Model", + "external_tool_url": "https://github.com/ArduPilot/ardupilot/blob/master/Tools/simulink/arducopter/README.md", + "mandatory_text": "20% mandatory (80% optional)", + "auto_changed_by": "", + "forced_parameters": { + "SID_AXIS": { "New Value": 13, "Change Reason": "Inject chip on the mixer thrust signal" } + }, + "old_filenames": ["43_system_id_thrust.param"] + }, + "46_analytical_pid_optimization.param": { + "blog_text": "Contains parameters for analytical PID optimization, aiming to find the optimal PID values for the vehicle.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842/3#analytical-multicopter-flight-controller-pid-optimizationhttpsdiscussardupilotorgtanalytical-multicopter-flight-controller-pid-optimization109759-7", + "wiki_text": "", + "wiki_url": "", + "external_tool_text": "IAV analytical PID model optimization", + "external_tool_url": "https://discuss.ardupilot.org/t/analitical-multicopter-flight-controller-pid-optimization/109759", + "mandatory_text": "20% mandatory (80% optional)", + "auto_changed_by": "", + "forced_parameters": { + "ARMING_CHECK": { "New Value": 1, "Change Reason": "Normal state for everyday use" }, + "ATC_RATE_FF_ENAB": { "New Value": 1, "Change Reason": "Restore value now that system identification is done" }, + "SID_AXIS": { "New Value": 0, "Change Reason": "No more system identification chip injections" } + }, + "old_filenames": ["44_analytical_pid_optimization.param"] + }, + "47_position_controller.param": { + "blog_text": "Sets up parameters for the position controller, crucial for waypoint navigation and precision flying.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842/3#h-15-position-controller-9", + "wiki_text": "", + "wiki_url": "", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "40% mandatory (60% optional)", + "auto_changed_by": "", + "old_filenames": ["46_position_controller.param", "48_position_controller.param"] + }, + "48_guided_operation.param": { + "blog_text": "Sets up parameters for guided operation, including waypoint navigation and obstacle avoidance.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842/3#h-17-guided-operation-without-rc-transmitter-11", + "wiki_text": "Guided Mode", + "wiki_url": "https://ardupilot.org/copter/docs/ac2_guidedmode.html", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "0% mandatory (100% optional)", + "auto_changed_by": "", + "old_filenames": ["48_guided_operation.param", "50_guided_operation.param"] + }, + "49_precision_land.param": { + "blog_text": "Configures parameters for precision landing, ensuring accurate and safe landing of the vehicle.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842/3#h-16-precision-land-10", + "wiki_text": "Precision Landing and Loiter", + "wiki_url": "https://ardupilot.org/copter/docs/precision-landing-with-irlock.html", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "0% mandatory (100% optional)", + "auto_changed_by": "", + "old_filenames": ["47_precision_land.param"] + }, + "50_everyday_use.param": { + "blog_text": "Configures parameters for everyday use, ensuring the vehicle is safe and stable for routine flying.", + "blog_url": "https://discuss.ardupilot.org/t/how-to-methodically-tune-almost-any-multicopter-using-arducopter-4-4-x/110842/3#h-14-productive-configuration-8", + "wiki_text": "", + "wiki_url": "", + "external_tool_text": "", + "external_tool_url": "", + "mandatory_text": "100% mandatory (0% optional)", + "auto_changed_by": "", + "old_filenames": ["45_everyday_use.param", "47_everyday_use.param"] + } +} \ No newline at end of file diff --git a/vehicle_templates/Heli/Allister/00_default.param b/vehicle_templates/Heli/Allister/00_default.param new file mode 100644 index 0000000..f9aae00 --- /dev/null +++ b/vehicle_templates/Heli/Allister/00_default.param @@ -0,0 +1,1122 @@ +ACRO_BAL_PITCH,1 +ACRO_BAL_ROLL,1 +ACRO_OPTIONS,0 +ACRO_RP_EXPO,0.3 +ACRO_RP_RATE,360 +ACRO_RP_RATE_TC,0 +ACRO_THR_MID,0 +ACRO_TRAINER,2 +ACRO_Y_EXPO,0 +ACRO_Y_RATE,202.5 +ACRO_Y_RATE_TC,0 +ADSB_TYPE,0 +AHRS_COMP_BETA,0.1 +AHRS_EKF_TYPE,3 +AHRS_GPS_GAIN,1 +AHRS_GPS_MINSATS,6 +AHRS_GPS_USE,1 +AHRS_OPTIONS,0 +AHRS_ORIENTATION,0 +AHRS_RP_P,0.2 +AHRS_TRIM_X,0 +AHRS_TRIM_Y,0 +AHRS_TRIM_Z,0 +AHRS_WIND_MAX,0 +AHRS_YAW_P,0.2 +ANGLE_MAX,3000 +ARMING_ACCTHRESH,0.75 +ARMING_CHECK,1 +ARMING_MAGTHRESH,100 +ARMING_MIS_ITEMS,0 +ARMING_OPTIONS,0 +ARMING_RUDDER,2 +ARSPD_ENABLE,0 +ATC_ACCEL_P_MAX,110000 +ATC_ACCEL_R_MAX,110000 +ATC_ACCEL_Y_MAX,27000 +ATC_ANG_LIM_TC,1 +ATC_ANG_PIT_P,4.5 +ATC_ANG_RLL_P,4.5 +ATC_ANG_YAW_P,4.5 +ATC_ANGLE_BOOST,1 +ATC_HOVR_ROL_TRM,300 +ATC_INPUT_TC,0.15 +ATC_PIRO_COMP,0 +ATC_RAT_PIT_D,0 +ATC_RAT_PIT_D_FF,0 +ATC_RAT_PIT_FF,0 +ATC_RAT_PIT_FLTD,20 +ATC_RAT_PIT_FLTE,0 +ATC_RAT_PIT_FLTT,0 +ATC_RAT_PIT_I,0 +ATC_RAT_PIT_ILMI,0.05 +ATC_RAT_PIT_IMAX,0 +ATC_RAT_PIT_NEF,0 +ATC_RAT_PIT_NTF,0 +ATC_RAT_PIT_P,0 +ATC_RAT_PIT_PDMX,0 +ATC_RAT_PIT_SMAX,0 +ATC_RAT_RLL_D,0 +ATC_RAT_RLL_D_FF,0 +ATC_RAT_RLL_FF,0 +ATC_RAT_RLL_FLTD,20 +ATC_RAT_RLL_FLTE,0 +ATC_RAT_RLL_FLTT,0 +ATC_RAT_RLL_I,0 +ATC_RAT_RLL_ILMI,0.05 +ATC_RAT_RLL_IMAX,0 +ATC_RAT_RLL_NEF,0 +ATC_RAT_RLL_NTF,0 +ATC_RAT_RLL_P,0 +ATC_RAT_RLL_PDMX,0 +ATC_RAT_RLL_SMAX,0 +ATC_RAT_YAW_D,0 +ATC_RAT_YAW_D_FF,0 +ATC_RAT_YAW_FF,0 +ATC_RAT_YAW_FLTD,20 +ATC_RAT_YAW_FLTE,0 +ATC_RAT_YAW_FLTT,0 +ATC_RAT_YAW_I,0 +ATC_RAT_YAW_ILMI,0.1 +ATC_RAT_YAW_IMAX,0 +ATC_RAT_YAW_NEF,0 +ATC_RAT_YAW_NTF,0 +ATC_RAT_YAW_P,0 +ATC_RAT_YAW_PDMX,0 +ATC_RAT_YAW_SMAX,0 +ATC_RATE_FF_ENAB,1 +ATC_RATE_P_MAX,0 +ATC_RATE_R_MAX,0 +ATC_RATE_Y_MAX,0 +ATC_SLEW_YAW,6000 +AUTO_OPTIONS,0 +AUTOTUNE_AXES,1 +AUTOTUNE_FRQ_MAX,70 +AUTOTUNE_FRQ_MIN,10 +AUTOTUNE_GN_MAX,1 +AUTOTUNE_SEQ,3 +AUTOTUNE_VELXY_P,0.1 +AVD_ENABLE,0 +AVOID_ACCEL_MAX,3 +AVOID_ALT_MIN,0 +AVOID_ANGLE_MAX,1000 +AVOID_BACKUP_DZ,0.1 +AVOID_BACKUP_SPD,0.75 +AVOID_BEHAVE,0 +AVOID_DIST_MAX,5 +AVOID_ENABLE,3 +AVOID_MARGIN,2 +BARO_ALT_OFFSET,0 +BARO_ALTERR_MAX,2000 +BARO_EXT_BUS,-1 +BARO_FIELD_ELV,0 +BARO_FLTR_RNG,0 +BARO_GND_TEMP,0 +BARO_OPTIONS,0 +BARO_PRIMARY,0 +BARO_PROBE_EXT,0 +BARO1_DEVID,0 +BARO1_GND_PRESS,0 +BARO1_WCF_ENABLE,0 +BARO2_DEVID,0 +BARO2_GND_PRESS,0 +BARO2_WCF_ENABLE,0 +BARO3_DEVID,0 +BARO3_GND_PRESS,0 +BARO3_WCF_ENABLE,0 +BATT_AMP_OFFSET,0 +BATT_AMP_PERVLT,36.360001 +BATT_ARM_MAH,0 +BATT_ARM_VOLT,0 +BATT_CAPACITY,3300 +BATT_CRT_MAH,0 +BATT_CRT_VOLT,0 +BATT_CURR_PIN,4 +BATT_FS_CRT_ACT,0 +BATT_FS_LOW_ACT,0 +BATT_FS_VOLTSRC,0 +BATT_LOW_MAH,0 +BATT_LOW_TIMER,10 +BATT_LOW_VOLT,10.5 +BATT_MONITOR,4 +BATT_OPTIONS,0 +BATT_SERIAL_NUM,-1 +BATT_VLT_OFFSET,0 +BATT_VOLT_MULT,18.18 +BATT_VOLT_PIN,8 +BATT2_MONITOR,0 +BATT3_MONITOR,0 +BATT4_MONITOR,0 +BATT5_MONITOR,0 +BATT6_MONITOR,0 +BATT7_MONITOR,0 +BATT8_MONITOR,0 +BATT9_MONITOR,0 +BCN_TYPE,0 +BRD_BOOT_DELAY,0 +BRD_HEAT_I,0.07 +BRD_HEAT_IMAX,70 +BRD_HEAT_LOWMGN,0 +BRD_HEAT_P,50 +BRD_HEAT_TARG,45 +BRD_IO_DSHOT,0 +BRD_IO_ENABLE,1 +BRD_OPTIONS,1 +BRD_RTC_TYPES,1 +BRD_RTC_TZ_MIN,0 +BRD_SAFETY_DEFLT,1 +BRD_SAFETY_MASK,0 +BRD_SAFETYOPTION,3 +BRD_SBUS_OUT,0 +BRD_SD_FENCE,0 +BRD_SD_MISSION,0 +BRD_SD_SLOWDOWN,0 +BRD_SER1_RTSCTS,2 +BRD_SER2_RTSCTS,2 +BRD_SERIAL_NUM,0 +BRD_VBUS_MIN,4.3 +BRD_VSERVO_MIN,0 +BTN_ENABLE,0 +CAM_AUTO_ONLY,0 +CAM_MAX_ROLL,0 +CAM_RC_TYPE,0 +CAM1_TYPE,0 +CAM2_TYPE,0 +CAN_D1_PROTOCOL,1 +CAN_D1_PROTOCOL2,0 +CAN_D2_PROTOCOL,1 +CAN_D2_PROTOCOL2,0 +CAN_LOGLEVEL,0 +CAN_P1_DRIVER,0 +CAN_P2_DRIVER,0 +CAN_SLCAN_CPORT,0 +CAN_SLCAN_SDELAY,1 +CAN_SLCAN_SERNUM,-1 +CAN_SLCAN_TIMOUT,0 +CHUTE_ENABLED,0 +CIRCLE_OPTIONS,1 +CIRCLE_RADIUS,1000 +CIRCLE_RATE,20 +COMPASS_AUTO_ROT,2 +COMPASS_AUTODEC,1 +COMPASS_CAL_FIT,16 +COMPASS_DEC,0 +COMPASS_DEV_ID,0 +COMPASS_DEV_ID2,0 +COMPASS_DEV_ID3,0 +COMPASS_DEV_ID4,0 +COMPASS_DEV_ID5,0 +COMPASS_DEV_ID6,0 +COMPASS_DEV_ID7,0 +COMPASS_DEV_ID8,0 +COMPASS_DIA_X,1 +COMPASS_DIA_Y,1 +COMPASS_DIA_Z,1 +COMPASS_DIA2_X,1 +COMPASS_DIA2_Y,1 +COMPASS_DIA2_Z,1 +COMPASS_DIA3_X,1 +COMPASS_DIA3_Y,1 +COMPASS_DIA3_Z,1 +COMPASS_DISBLMSK,0 +COMPASS_ENABLE,1 +COMPASS_EXTERN2,0 +COMPASS_EXTERN3,0 +COMPASS_EXTERNAL,0 +COMPASS_FLTR_RNG,0 +COMPASS_LEARN,0 +COMPASS_MOT_X,0 +COMPASS_MOT_Y,0 +COMPASS_MOT_Z,0 +COMPASS_MOT2_X,0 +COMPASS_MOT2_Y,0 +COMPASS_MOT2_Z,0 +COMPASS_MOT3_X,0 +COMPASS_MOT3_Y,0 +COMPASS_MOT3_Z,0 +COMPASS_MOTCT,0 +COMPASS_ODI_X,0 +COMPASS_ODI_Y,0 +COMPASS_ODI_Z,0 +COMPASS_ODI2_X,0 +COMPASS_ODI2_Y,0 +COMPASS_ODI2_Z,0 +COMPASS_ODI3_X,0 +COMPASS_ODI3_Y,0 +COMPASS_ODI3_Z,0 +COMPASS_OFFS_MAX,1800 +COMPASS_OFS_X,0 +COMPASS_OFS_Y,0 +COMPASS_OFS_Z,0 +COMPASS_OFS2_X,0 +COMPASS_OFS2_Y,0 +COMPASS_OFS2_Z,0 +COMPASS_OFS3_X,0 +COMPASS_OFS3_Y,0 +COMPASS_OFS3_Z,0 +COMPASS_OPTIONS,0 +COMPASS_ORIENT,0 +COMPASS_ORIENT2,0 +COMPASS_ORIENT3,0 +COMPASS_PMOT_EN,0 +COMPASS_PRIO1_ID,0 +COMPASS_PRIO2_ID,0 +COMPASS_PRIO3_ID,0 +COMPASS_SCALE,0 +COMPASS_SCALE2,0 +COMPASS_SCALE3,0 +COMPASS_USE,1 +COMPASS_USE2,1 +COMPASS_USE3,1 +CUST_ROT_ENABLE,0 +DEV_OPTIONS,0 +DISARM_DELAY,10 +EAHRS_TYPE,0 +EFI_TYPE,0 +EK3_ABIAS_P_NSE,0.02 +EK3_ACC_BIAS_LIM,1 +EK3_ACC_P_NSE,0.35 +EK3_AFFINITY,0 +EK3_ALT_M_NSE,2 +EK3_BCN_DELAY,50 +EK3_BCN_I_GTE,500 +EK3_BCN_M_NSE,1 +EK3_BETA_MASK,0 +EK3_CHECK_SCALE,100 +EK3_DRAG_BCOEF_X,0 +EK3_DRAG_BCOEF_Y,0 +EK3_DRAG_M_NSE,0.5 +EK3_DRAG_MCOEF,0 +EK3_EAS_I_GATE,400 +EK3_EAS_M_NSE,1.4 +EK3_ENABLE,1 +EK3_ERR_THRESH,0.2 +EK3_FLOW_DELAY,10 +EK3_FLOW_I_GATE,300 +EK3_FLOW_M_NSE,0.25 +EK3_FLOW_USE,1 +EK3_GBIAS_P_NSE,0.001 +EK3_GLITCH_RAD,25 +EK3_GND_EFF_DZ,4 +EK3_GPS_CHECK,31 +EK3_GPS_VACC_MAX,0 +EK3_GSF_RST_MAX,2 +EK3_GSF_RUN_MASK,3 +EK3_GSF_USE_MASK,3 +EK3_GYRO_P_NSE,0.015 +EK3_HGT_DELAY,60 +EK3_HGT_I_GATE,500 +EK3_HRT_FILT,2 +EK3_IMU_MASK,3 +EK3_LOG_LEVEL,0 +EK3_MAG_CAL,3 +EK3_MAG_EF_LIM,50 +EK3_MAG_I_GATE,300 +EK3_MAG_M_NSE,0.05 +EK3_MAG_MASK,0 +EK3_MAGB_P_NSE,0.0001 +EK3_MAGE_P_NSE,0.001 +EK3_MAX_FLOW,2.5 +EK3_NOAID_M_NSE,10 +EK3_OGN_HGT_MASK,0 +EK3_OGNM_TEST_SF,2 +EK3_POS_I_GATE,500 +EK3_POSNE_M_NSE,0.5 +EK3_PRIMARY,0 +EK3_RNG_I_GATE,500 +EK3_RNG_M_NSE,0.5 +EK3_RNG_USE_HGT,-1 +EK3_RNG_USE_SPD,2 +EK3_SRC_OPTIONS,1 +EK3_SRC1_POSXY,3 +EK3_SRC1_POSZ,1 +EK3_SRC1_VELXY,3 +EK3_SRC1_VELZ,3 +EK3_SRC1_YAW,1 +EK3_SRC2_POSXY,0 +EK3_SRC2_POSZ,1 +EK3_SRC2_VELXY,0 +EK3_SRC2_VELZ,0 +EK3_SRC2_YAW,0 +EK3_SRC3_POSXY,0 +EK3_SRC3_POSZ,1 +EK3_SRC3_VELXY,0 +EK3_SRC3_VELZ,0 +EK3_SRC3_YAW,0 +EK3_TAU_OUTPUT,25 +EK3_TERR_GRAD,0.1 +EK3_VEL_I_GATE,500 +EK3_VELD_M_NSE,0.5 +EK3_VELNE_M_NSE,0.3 +EK3_VIS_VERR_MAX,0.9 +EK3_VIS_VERR_MIN,0.1 +EK3_WENC_VERR,0.1 +EK3_WIND_P_NSE,0.2 +EK3_WIND_PSCALE,1 +EK3_YAW_I_GATE,300 +EK3_YAW_M_NSE,0.5 +ESC_CALIBRATION,0 +ESC_TLM_MAV_OFS,0 +FENCE_ACTION,1 +FENCE_ALT_MAX,100 +FENCE_ALT_MIN,-10 +FENCE_ENABLE,0 +FENCE_MARGIN,2 +FENCE_RADIUS,300 +FENCE_TOTAL,0 +FENCE_TYPE,7 +FFT_ENABLE,0 +FHLD_BRAKE_RATE,8 +FHLD_FILT_HZ,5 +FHLD_FLOW_MAX,0.6 +FHLD_QUAL_MIN,10 +FHLD_XY_FILT_HZ,5 +FHLD_XY_I,0.3 +FHLD_XY_IMAX,3000 +FHLD_XY_P,0.2 +FILT1_NOTCH_ATT,40 +FILT1_NOTCH_FREQ,0 +FILT1_NOTCH_Q,2 +FILT1_TYPE,0 +FILT2_TYPE,0 +FILT3_TYPE,0 +FILT4_TYPE,0 +FILT5_TYPE,0 +FILT6_TYPE,0 +FILT7_TYPE,0 +FILT8_TYPE,0 +FLIGHT_OPTIONS,0 +FLOW_TYPE,0 +FLTMODE_CH,5 +FLTMODE_GCSBLOCK,0 +FLTMODE1,0 +FLTMODE2,0 +FLTMODE3,0 +FLTMODE4,0 +FLTMODE5,0 +FLTMODE6,0 +FOLL_ENABLE,0 +FORMAT_VERSION,120 +FRAME_CLASS,6 +FRAME_TYPE,1 +FRSKY_DNLINK_ID,27 +FRSKY_DNLINK1_ID,20 +FRSKY_DNLINK2_ID,7 +FRSKY_OPTIONS,0 +FRSKY_UPLINK_ID,13 +FS_CRASH_CHECK,1 +FS_DR_ENABLE,2 +FS_DR_TIMEOUT,30 +FS_EKF_ACTION,1 +FS_EKF_FILT,5 +FS_EKF_THRESH,0.8 +FS_GCS_ENABLE,0 +FS_GCS_TIMEOUT,5 +FS_OPTIONS,16 +FS_THR_ENABLE,1 +FS_THR_VALUE,975 +FS_VIBE_ENABLE,1 +GCS_PID_MASK,0 +GEN_TYPE,0 +GND_EFFECT_COMP,1 +GPS_AUTO_CONFIG,1 +GPS_AUTO_SWITCH,1 +GPS_BLEND_MASK,5 +GPS_CAN_NODEID1,0 +GPS_CAN_NODEID2,0 +GPS_COM_PORT,1 +GPS_COM_PORT2,1 +GPS_DELAY_MS,0 +GPS_DELAY_MS2,0 +GPS_DRV_OPTIONS,0 +GPS_GNSS_MODE,0 +GPS_GNSS_MODE2,0 +GPS_HDOP_GOOD,140 +GPS_INJECT_TO,127 +GPS_MB1_TYPE,0 +GPS_MB2_TYPE,0 +GPS_MIN_DGPS,100 +GPS_MIN_ELEV,-100 +GPS_NAVFILTER,8 +GPS_POS1_X,0 +GPS_POS1_Y,0 +GPS_POS1_Z,0 +GPS_POS2_X,0 +GPS_POS2_Y,0 +GPS_POS2_Z,0 +GPS_PRIMARY,0 +GPS_RATE_MS,200 +GPS_RATE_MS2,200 +GPS_RAW_DATA,0 +GPS_SAVE_CFG,2 +GPS_SBAS_MODE,2 +GPS_SBP_LOGMASK,-256 +GPS_TYPE,1 +GPS_TYPE2,0 +GPS1_CAN_OVRIDE,0 +GPS2_CAN_OVRIDE,0 +GRIP_ENABLE,0 +GUID_OPTIONS,0 +GUID_TIMEOUT,3 +H_COL_ANG_MAX,90 +H_COL_ANG_MIN,-90 +H_COL_HOVER,0.5 +H_COL_LAND_MIN,-2 +H_COL_MAX,1750 +H_COL_MIN,1250 +H_COL_ZERO_THRST,0 +H_COL2YAW,0 +H_CYC_MAX,2500 +H_DDFP_BAT_IDX,0 +H_DDFP_BAT_V_MAX,0 +H_DDFP_BAT_V_MIN,0 +H_DDFP_SPIN_MAX,1 +H_DDFP_SPIN_MIN,0 +H_DDFP_THST_EXPO,0 +H_FLYBAR_MODE,0 +H_GYR_GAIN,350 +H_GYR_GAIN_ACRO,0 +H_HOVER_LEARN,2 +H_OPTIONS,1 +H_RSC_AROT_ENG_T,1 +H_RSC_AROT_IDLE,0 +H_RSC_AROT_MN_EN,0 +H_RSC_CLDWN_TIME,0 +H_RSC_CRITICAL,50 +H_RSC_GOV_COMP,25 +H_RSC_GOV_DROOP,25 +H_RSC_GOV_FF,50 +H_RSC_GOV_RANGE,100 +H_RSC_GOV_RPM,1500 +H_RSC_GOV_TORQUE,30 +H_RSC_IDLE,0 +H_RSC_MODE,1 +H_RSC_RAMP_TIME,1 +H_RSC_RUNUP_TIME,10 +H_RSC_SETPOINT,70 +H_RSC_SLEWRATE,0 +H_RSC_THRCRV_0,25 +H_RSC_THRCRV_100,100 +H_RSC_THRCRV_25,32 +H_RSC_THRCRV_50,38 +H_RSC_THRCRV_75,50 +H_SV_MAN,0 +H_SV_TEST,0 +H_SW_COL_DIR,0 +H_SW_H3_ENABLE,0 +H_SW_LIN_SVO,0 +H_SW_TYPE,3 +H_TAIL_SPEED,50 +H_TAIL_TYPE,0 +H_YAW_TRIM,0 +IM_ACRO_COL_EXP,0 +IM_STB_COL_1,0 +IM_STB_COL_2,40 +IM_STB_COL_3,60 +IM_STB_COL_4,100 +INITIAL_MODE,0 +INS_ACC_BODYFIX,2 +INS_ACC_ID,0 +INS_ACC1_CALTEMP,-300 +INS_ACC2_CALTEMP,-300 +INS_ACC2_ID,0 +INS_ACC2OFFS_X,0 +INS_ACC2OFFS_Y,0 +INS_ACC2OFFS_Z,0 +INS_ACC2SCAL_X,1 +INS_ACC2SCAL_Y,1 +INS_ACC2SCAL_Z,1 +INS_ACC3_CALTEMP,-300 +INS_ACC3_ID,0 +INS_ACC3OFFS_X,0 +INS_ACC3OFFS_Y,0 +INS_ACC3OFFS_Z,0 +INS_ACC3SCAL_X,1 +INS_ACC3SCAL_Y,1 +INS_ACC3SCAL_Z,1 +INS_ACCEL_FILTER,20 +INS_ACCOFFS_X,0 +INS_ACCOFFS_Y,0 +INS_ACCOFFS_Z,0 +INS_ACCSCAL_X,1 +INS_ACCSCAL_Y,1 +INS_ACCSCAL_Z,1 +INS_ENABLE_MASK,127 +INS_FAST_SAMPLE,3 +INS_GYR_CAL,1 +INS_GYR_ID,0 +INS_GYR1_CALTEMP,-300 +INS_GYR2_CALTEMP,-300 +INS_GYR2_ID,0 +INS_GYR2OFFS_X,0 +INS_GYR2OFFS_Y,0 +INS_GYR2OFFS_Z,0 +INS_GYR3_CALTEMP,-300 +INS_GYR3_ID,0 +INS_GYR3OFFS_X,0 +INS_GYR3OFFS_Y,0 +INS_GYR3OFFS_Z,0 +INS_GYRO_FILTER,20 +INS_GYRO_RATE,1 +INS_GYROFFS_X,0 +INS_GYROFFS_Y,0 +INS_GYROFFS_Z,0 +INS_HNTC2_ENABLE,0 +INS_HNTCH_ATT,40 +INS_HNTCH_BW,40 +INS_HNTCH_ENABLE,0 +INS_HNTCH_FM_RAT,1 +INS_HNTCH_FREQ,80 +INS_HNTCH_HMNCS,3 +INS_HNTCH_MODE,1 +INS_HNTCH_OPTS,0 +INS_HNTCH_REF,0 +INS_LOG_BAT_CNT,1024 +INS_LOG_BAT_LGCT,32 +INS_LOG_BAT_LGIN,20 +INS_LOG_BAT_MASK,0 +INS_LOG_BAT_OPT,0 +INS_POS1_X,0 +INS_POS1_Y,0 +INS_POS1_Z,0 +INS_POS2_X,0 +INS_POS2_Y,0 +INS_POS2_Z,0 +INS_POS3_X,0 +INS_POS3_Y,0 +INS_POS3_Z,0 +INS_RAW_LOG_OPT,0 +INS_STILL_THRESH,2.5 +INS_TCAL_OPTIONS,0 +INS_TCAL1_ACC1_X,0 +INS_TCAL1_ACC1_Y,0 +INS_TCAL1_ACC1_Z,0 +INS_TCAL1_ACC2_X,0 +INS_TCAL1_ACC2_Y,0 +INS_TCAL1_ACC2_Z,0 +INS_TCAL1_ACC3_X,0 +INS_TCAL1_ACC3_Y,0 +INS_TCAL1_ACC3_Z,0 +INS_TCAL1_ENABLE,0 +INS_TCAL1_GYR1_X,0 +INS_TCAL1_GYR1_Y,0 +INS_TCAL1_GYR1_Z,0 +INS_TCAL1_GYR2_X,0 +INS_TCAL1_GYR2_Y,0 +INS_TCAL1_GYR2_Z,0 +INS_TCAL1_GYR3_X,0 +INS_TCAL1_GYR3_Y,0 +INS_TCAL1_GYR3_Z,0 +INS_TCAL1_TMAX,70 +INS_TCAL1_TMIN,0 +INS_TCAL2_ACC1_X,0 +INS_TCAL2_ACC1_Y,0 +INS_TCAL2_ACC1_Z,0 +INS_TCAL2_ACC2_X,0 +INS_TCAL2_ACC2_Y,0 +INS_TCAL2_ACC2_Z,0 +INS_TCAL2_ACC3_X,0 +INS_TCAL2_ACC3_Y,0 +INS_TCAL2_ACC3_Z,0 +INS_TCAL2_ENABLE,0 +INS_TCAL2_GYR1_X,0 +INS_TCAL2_GYR1_Y,0 +INS_TCAL2_GYR1_Z,0 +INS_TCAL2_GYR2_X,0 +INS_TCAL2_GYR2_Y,0 +INS_TCAL2_GYR2_Z,0 +INS_TCAL2_GYR3_X,0 +INS_TCAL2_GYR3_Y,0 +INS_TCAL2_GYR3_Z,0 +INS_TCAL2_TMAX,70 +INS_TCAL2_TMIN,0 +INS_TCAL3_ENABLE,0 +INS_TRIM_OPTION,1 +INS_USE,1 +INS_USE2,1 +INS_USE3,1 +KDE_NPOLE,14 +LAND_ALT_LOW,1000 +LAND_REPOSITION,1 +LAND_SPEED,50 +LAND_SPEED_HIGH,0 +LGR_ENABLE,0 +LOG_BACKEND_TYPE,1 +LOG_BITMASK,176126 +LOG_DARM_RATEMAX,0 +LOG_DISARMED,0 +LOG_FILE_BUFSIZE,200 +LOG_FILE_DSRMROT,0 +LOG_FILE_MB_FREE,500 +LOG_FILE_RATEMAX,0 +LOG_FILE_TIMEOUT,5 +LOG_MAV_BUFSIZE,8 +LOG_MAV_RATEMAX,0 +LOG_MAX_FILES,500 +LOG_REPLAY,0 +LOIT_ACC_MAX,500 +LOIT_ANG_MAX,0 +LOIT_BRK_ACCEL,125 +LOIT_BRK_DELAY,1 +LOIT_BRK_JERK,250 +LOIT_SPEED,3000 +MIS_OPTIONS,0 +MIS_RESTART,0 +MIS_TOTAL,0 +MNT1_TYPE,0 +MNT2_TYPE,0 +MSP_OPTIONS,0 +MSP_OSD_NCELLS,0 +NMEA_MSG_EN,3 +NMEA_RATE_MS,100 +NTF_BUZZ_ON_LVL,1 +NTF_BUZZ_PIN,-1 +NTF_BUZZ_TYPES,5 +NTF_BUZZ_VOLUME,100 +NTF_DISPLAY_TYPE,0 +NTF_LED_BRIGHT,3 +NTF_LED_LEN,1 +NTF_LED_OVERRIDE,0 +NTF_LED_TYPES,123079 +OA_TYPE,0 +OSD_TYPE,0 +PHLD_BRAKE_ANGLE,800 +PHLD_BRAKE_RATE,4 +PILOT_ACCEL_Z,250 +PILOT_SPEED_DN,0 +PILOT_SPEED_UP,250 +PILOT_THR_BHV,0 +PILOT_THR_FILT,0 +PILOT_TKOFF_ALT,0 +PILOT_Y_EXPO,0 +PILOT_Y_RATE,202.5 +PILOT_Y_RATE_TC,0 +PLDP_DELAY,0 +PLDP_RNG_MIN,0 +PLDP_SPEED_DN,0 +PLDP_THRESH,0.9 +PLND_ENABLED,0 +PRX_ALT_MIN,1 +PRX_FILT,0.25 +PRX_IGN_GND,0 +PRX_LOG_RAW,0 +PRX1_TYPE,0 +PRX2_TYPE,0 +PRX3_TYPE,0 +PSC_ACCZ_D,0 +PSC_ACCZ_D_FF,0 +PSC_ACCZ_FF,0 +PSC_ACCZ_FLTD,0 +PSC_ACCZ_FLTE,20 +PSC_ACCZ_FLTT,0 +PSC_ACCZ_I,1 +PSC_ACCZ_IMAX,800 +PSC_ACCZ_NEF,0 +PSC_ACCZ_NTF,0 +PSC_ACCZ_P,0.28 +PSC_ACCZ_PDMX,0 +PSC_ACCZ_SMAX,0 +PSC_ANGLE_MAX,0 +PSC_JERK_XY,5 +PSC_JERK_Z,5 +PSC_POSXY_P,1 +PSC_POSZ_P,1 +PSC_VELXY_D,0 +PSC_VELXY_FF,0 +PSC_VELXY_FLTD,5 +PSC_VELXY_FLTE,5 +PSC_VELXY_I,0.5 +PSC_VELXY_IMAX,1000 +PSC_VELXY_P,1 +PSC_VELZ_D,0 +PSC_VELZ_FF,0 +PSC_VELZ_FLTD,5 +PSC_VELZ_FLTE,5 +PSC_VELZ_I,0 +PSC_VELZ_IMAX,1000 +PSC_VELZ_P,5 +RALLY_INCL_HOME,1 +RALLY_LIMIT_KM,0.3 +RALLY_TOTAL,0 +RC_FS_TIMEOUT,1 +RC_OPTIONS,0 +RC_OVERRIDE_TIME,3 +RC_PROTOCOLS,1 +RC_SPEED,125 +RC1_DZ,20 +RC1_MAX,1900 +RC1_MIN,1100 +RC1_OPTION,0 +RC1_REVERSED,0 +RC1_TRIM,1500 +RC10_DZ,0 +RC10_MAX,1900 +RC10_MIN,1100 +RC10_OPTION,0 +RC10_REVERSED,0 +RC10_TRIM,1500 +RC11_DZ,0 +RC11_MAX,1900 +RC11_MIN,1100 +RC11_OPTION,0 +RC11_REVERSED,0 +RC11_TRIM,1500 +RC12_DZ,0 +RC12_MAX,1900 +RC12_MIN,1100 +RC12_OPTION,0 +RC12_REVERSED,0 +RC12_TRIM,1500 +RC13_DZ,0 +RC13_MAX,1900 +RC13_MIN,1100 +RC13_OPTION,0 +RC13_REVERSED,0 +RC13_TRIM,1500 +RC14_DZ,0 +RC14_MAX,1900 +RC14_MIN,1100 +RC14_OPTION,0 +RC14_REVERSED,0 +RC14_TRIM,1500 +RC15_DZ,0 +RC15_MAX,1900 +RC15_MIN,1100 +RC15_OPTION,0 +RC15_REVERSED,0 +RC15_TRIM,1500 +RC16_DZ,0 +RC16_MAX,1900 +RC16_MIN,1100 +RC16_OPTION,0 +RC16_REVERSED,0 +RC16_TRIM,1500 +RC2_DZ,20 +RC2_MAX,1900 +RC2_MIN,1100 +RC2_OPTION,0 +RC2_REVERSED,0 +RC2_TRIM,1500 +RC3_DZ,10 +RC3_MAX,1900 +RC3_MIN,1100 +RC3_OPTION,0 +RC3_REVERSED,0 +RC3_TRIM,1500 +RC4_DZ,15 +RC4_MAX,1900 +RC4_MIN,1100 +RC4_OPTION,0 +RC4_REVERSED,0 +RC4_TRIM,1500 +RC5_DZ,0 +RC5_MAX,1900 +RC5_MIN,1100 +RC5_OPTION,0 +RC5_REVERSED,0 +RC5_TRIM,1500 +RC6_DZ,0 +RC6_MAX,1900 +RC6_MIN,1100 +RC6_OPTION,0 +RC6_REVERSED,0 +RC6_TRIM,1500 +RC7_DZ,0 +RC7_MAX,1900 +RC7_MIN,1100 +RC7_OPTION,0 +RC7_REVERSED,0 +RC7_TRIM,1500 +RC8_DZ,0 +RC8_MAX,1900 +RC8_MIN,1100 +RC8_OPTION,32 +RC8_REVERSED,0 +RC8_TRIM,1500 +RC9_DZ,0 +RC9_MAX,1900 +RC9_MIN,1100 +RC9_OPTION,0 +RC9_REVERSED,0 +RC9_TRIM,1500 +RCMAP_PITCH,2 +RCMAP_ROLL,1 +RCMAP_THROTTLE,3 +RCMAP_YAW,4 +RELAY1_FUNCTION,0 +RELAY2_FUNCTION,0 +RELAY3_FUNCTION,0 +RELAY4_FUNCTION,0 +RELAY5_FUNCTION,0 +RELAY6_FUNCTION,0 +RNGFND_FILT,0.5 +RNGFND1_TYPE,0 +RNGFND2_TYPE,0 +RNGFND3_TYPE,0 +RNGFND4_TYPE,0 +RNGFND5_TYPE,0 +RNGFND6_TYPE,0 +RNGFND7_TYPE,0 +RNGFND8_TYPE,0 +RNGFND9_TYPE,0 +RNGFNDA_TYPE,0 +RPM1_ESC_INDEX,0 +RPM1_ESC_MASK,0 +RPM1_MAX,100000 +RPM1_MIN,10 +RPM1_MIN_QUAL,0.5 +RPM1_PIN,-1 +RPM1_SCALING,1 +RPM1_TYPE,0 +RPM2_TYPE,0 +RSSI_ANA_PIN,-1 +RSSI_CHAN_HIGH,2000 +RSSI_CHAN_LOW,1000 +RSSI_CHANNEL,0 +RSSI_PIN_HIGH,5 +RSSI_PIN_LOW,0 +RSSI_TYPE,0 +RTL_ALT,1500 +RTL_ALT_FINAL,0 +RTL_ALT_TYPE,0 +RTL_CLIMB_MIN,0 +RTL_CONE_SLOPE,3 +RTL_LOIT_TIME,5000 +RTL_OPTIONS,0 +RTL_SPEED,0 +SCHED_DEBUG,0 +SCHED_LOOP_RATE,400 +SCHED_OPTIONS,0 +SCR_ENABLE,0 +SERIAL_PASS1,0 +SERIAL_PASS2,-1 +SERIAL_PASSTIMO,15 +SERIAL0_BAUD,115 +SERIAL0_PROTOCOL,2 +SERIAL1_BAUD,57 +SERIAL1_OPTIONS,0 +SERIAL1_PROTOCOL,2 +SERIAL2_BAUD,57 +SERIAL2_OPTIONS,0 +SERIAL2_PROTOCOL,2 +SERIAL3_BAUD,230 +SERIAL3_OPTIONS,0 +SERIAL3_PROTOCOL,5 +SERIAL4_BAUD,230 +SERIAL4_OPTIONS,0 +SERIAL4_PROTOCOL,5 +SERIAL5_BAUD,57 +SERIAL5_OPTIONS,0 +SERIAL5_PROTOCOL,-1 +SERIAL6_BAUD,57 +SERIAL6_OPTIONS,0 +SERIAL6_PROTOCOL,-1 +SERIAL7_BAUD,115200 +SERIAL7_OPTIONS,0 +SERIAL7_PROTOCOL,2 +SERVO_32_ENABLE,0 +SERVO_BLH_3DMASK,0 +SERVO_BLH_AUTO,0 +SERVO_BLH_BDMASK,0 +SERVO_BLH_DEBUG,0 +SERVO_BLH_MASK,0 +SERVO_BLH_OTYPE,0 +SERVO_BLH_POLES,14 +SERVO_BLH_PORT,0 +SERVO_BLH_RVMASK,0 +SERVO_BLH_TEST,0 +SERVO_BLH_TMOUT,0 +SERVO_BLH_TRATE,10 +SERVO_DSHOT_ESC,0 +SERVO_DSHOT_RATE,0 +SERVO_FTW_MASK,0 +SERVO_FTW_POLES,14 +SERVO_FTW_RVMASK,0 +SERVO_GPIO_MASK,0 +SERVO_RATE,50 +SERVO_RC_FS_MSK,0 +SERVO_ROB_POSMAX,4095 +SERVO_ROB_POSMIN,0 +SERVO_SBUS_RATE,50 +SERVO_VOLZ_MASK,0 +SERVO1_FUNCTION,33 +SERVO1_MAX,1900 +SERVO1_MIN,1100 +SERVO1_REVERSED,0 +SERVO1_TRIM,1500 +SERVO10_FUNCTION,0 +SERVO10_MAX,1900 +SERVO10_MIN,1100 +SERVO10_REVERSED,0 +SERVO10_TRIM,1500 +SERVO11_FUNCTION,0 +SERVO11_MAX,1900 +SERVO11_MIN,1100 +SERVO11_REVERSED,0 +SERVO11_TRIM,1500 +SERVO12_FUNCTION,0 +SERVO12_MAX,1900 +SERVO12_MIN,1100 +SERVO12_REVERSED,0 +SERVO12_TRIM,1500 +SERVO13_FUNCTION,0 +SERVO13_MAX,1900 +SERVO13_MIN,1100 +SERVO13_REVERSED,0 +SERVO13_TRIM,1500 +SERVO14_FUNCTION,0 +SERVO14_MAX,1900 +SERVO14_MIN,1100 +SERVO14_REVERSED,0 +SERVO14_TRIM,1500 +SERVO15_FUNCTION,0 +SERVO15_MAX,1900 +SERVO15_MIN,1100 +SERVO15_REVERSED,0 +SERVO15_TRIM,1500 +SERVO16_FUNCTION,0 +SERVO16_MAX,1900 +SERVO16_MIN,1100 +SERVO16_REVERSED,0 +SERVO16_TRIM,1500 +SERVO2_FUNCTION,34 +SERVO2_MAX,1900 +SERVO2_MIN,1100 +SERVO2_REVERSED,0 +SERVO2_TRIM,1500 +SERVO3_FUNCTION,35 +SERVO3_MAX,1900 +SERVO3_MIN,1100 +SERVO3_REVERSED,0 +SERVO3_TRIM,1500 +SERVO4_FUNCTION,36 +SERVO4_MAX,1900 +SERVO4_MIN,1100 +SERVO4_REVERSED,0 +SERVO4_TRIM,1500 +SERVO5_FUNCTION,0 +SERVO5_MAX,1900 +SERVO5_MIN,1100 +SERVO5_REVERSED,0 +SERVO5_TRIM,1500 +SERVO6_FUNCTION,0 +SERVO6_MAX,1900 +SERVO6_MIN,1100 +SERVO6_REVERSED,0 +SERVO6_TRIM,1500 +SERVO7_FUNCTION,0 +SERVO7_MAX,1900 +SERVO7_MIN,1100 +SERVO7_REVERSED,0 +SERVO7_TRIM,1500 +SERVO8_FUNCTION,0 +SERVO8_MAX,1900 +SERVO8_MIN,1100 +SERVO8_REVERSED,0 +SERVO8_TRIM,1500 +SERVO9_FUNCTION,0 +SERVO9_MAX,1900 +SERVO9_MIN,1100 +SERVO9_REVERSED,0 +SERVO9_TRIM,1500 +SID_AXIS,0 +SIMPLE,0 +SPRAY_ENABLE,0 +SR0_ADSB,0 +SR0_EXT_STAT,0 +SR0_EXTRA1,0 +SR0_EXTRA2,0 +SR0_EXTRA3,0 +SR0_PARAMS,0 +SR0_POSITION,0 +SR0_RAW_CTRL,0 +SR0_RAW_SENS,0 +SR0_RC_CHAN,0 +SR1_ADSB,0 +SR1_EXT_STAT,0 +SR1_EXTRA1,0 +SR1_EXTRA2,0 +SR1_EXTRA3,0 +SR1_PARAMS,0 +SR1_POSITION,0 +SR1_RAW_CTRL,0 +SR1_RAW_SENS,0 +SR1_RC_CHAN,0 +SR2_ADSB,0 +SR2_EXT_STAT,0 +SR2_EXTRA1,0 +SR2_EXTRA2,0 +SR2_EXTRA3,0 +SR2_PARAMS,0 +SR2_POSITION,0 +SR2_RAW_CTRL,0 +SR2_RAW_SENS,0 +SR2_RC_CHAN,0 +SR3_ADSB,0 +SR3_EXT_STAT,0 +SR3_EXTRA1,0 +SR3_EXTRA2,0 +SR3_EXTRA3,0 +SR3_PARAMS,0 +SR3_POSITION,0 +SR3_RAW_CTRL,0 +SR3_RAW_SENS,0 +SR3_RC_CHAN,0 +SR4_ADSB,0 +SR4_EXT_STAT,0 +SR4_EXTRA1,0 +SR4_EXTRA2,0 +SR4_EXTRA3,0 +SR4_PARAMS,0 +SR4_POSITION,0 +SR4_RAW_CTRL,0 +SR4_RAW_SENS,0 +SR4_RC_CHAN,0 +SRTL_ACCURACY,2 +SRTL_OPTIONS,0 +SRTL_POINTS,300 +STAT_BOOTCNT,0 +STAT_FLTTIME,0 +STAT_RESET,1 +STAT_RUNTIME,0 +SUPER_SIMPLE,0 +SURFTRAK_MODE,1 +SURFTRAK_TC,1 +SYSID_ENFORCE,0 +SYSID_MYGCS,255 +SYSID_THISMAV,1 +TCAL_ENABLED,0 +TELEM_DELAY,0 +TERRAIN_ENABLE,1 +TERRAIN_MARGIN,0.05 +TERRAIN_OFS_MAX,30 +TERRAIN_OPTIONS,0 +TERRAIN_SPACING,100 +THR_DZ,100 +THROW_ALT_MAX,0 +THROW_ALT_MIN,0 +THROW_MOT_START,0 +THROW_NEXTMODE,18 +THROW_TYPE,0 +TKOFF_SLEW_TIME,2 +TKOFF_THR_MAX,0.9 +TUNE,0 +TUNE_MAX,0 +TUNE_MIN,0 +VISO_TYPE,0 +VTX_ENABLE,0 +WINCH_TYPE,0 +WP_NAVALT_MIN,0 +WP_YAW_BEHAVIOR,3 +WPNAV_ACCEL,250 +WPNAV_ACCEL_C,0 +WPNAV_ACCEL_Z,100 +WPNAV_JERK,1 +WPNAV_RADIUS,200 +WPNAV_RFND_USE,1 +WPNAV_SPEED,1000 +WPNAV_SPEED_DN,150 +WPNAV_SPEED_UP,250 +WPNAV_TER_MARGIN,10 +WVANE_ENABLE,0 +ZIGZ_AUTO_ENABLE,0 diff --git a/vehicle_templates/Heli/Allister/02_imu_temperature_calibration_setup.param b/vehicle_templates/Heli/Allister/02_imu_temperature_calibration_setup.param new file mode 100644 index 0000000..a658085 --- /dev/null +++ b/vehicle_templates/Heli/Allister/02_imu_temperature_calibration_setup.param @@ -0,0 +1,9 @@ +BRD_HEAT_TARG,65 # Reasonable for most places on this planet +INS_LOG_BAT_MASK,7 # Calculate IMU calibration for all IMUs, irrespective of their usage in a future step. Saves the trouble of recalibrating an inactive IMU if you later decide to activate it +INS_TCAL1_ENABLE,2 # Activates the temperature calibration for IMU 1 at the next start +INS_TCAL1_TMAX,65 # CubeOrange has an heater that heats up the board to almost 70 deg +INS_TCAL2_ENABLE,2 # Activates the temperature calibration for IMU 2 at the next start +INS_TCAL2_TMAX,65 # CubeOrange has an heater that heats up the board to almost 70 deg +INS_TCAL3_ENABLE,2 # Activates the temperature calibration for IMU 3 at the next start +LOG_BITMASK,524416 # Only for IMU and Raw-IMU +LOG_DISARMED,1 # Gather data for the offline IMU temperature calibration while the FC is disarmed diff --git a/vehicle_templates/Heli/Allister/03_imu_temperature_calibration_results.param b/vehicle_templates/Heli/Allister/03_imu_temperature_calibration_results.param new file mode 100644 index 0000000..c4cae2d --- /dev/null +++ b/vehicle_templates/Heli/Allister/03_imu_temperature_calibration_results.param @@ -0,0 +1,63 @@ +INS_TCAL1_ACC1_X,-940.540894 +INS_TCAL1_ACC1_Y,274.553375 +INS_TCAL1_ACC1_Z,-3712.647705 +INS_TCAL1_ACC2_X,6.756036 +INS_TCAL1_ACC2_Y,-16.502184 +INS_TCAL1_ACC2_Z,-12.091681 +INS_TCAL1_ACC3_X,0.218629 +INS_TCAL1_ACC3_Y,-1.069348 +INS_TCAL1_ACC3_Z,0.573851 +INS_TCAL1_ENABLE,1 +INS_TCAL1_GYR1_X,-480.346069 +INS_TCAL1_GYR1_Y,9.009283 +INS_TCAL1_GYR1_Z,-56.848328 +INS_TCAL1_GYR2_X,74.190918 +INS_TCAL1_GYR2_Y,-35.16431 +INS_TCAL1_GYR2_Z,-2.668966 +INS_TCAL1_GYR3_X,1.776504 +INS_TCAL1_GYR3_Y,-1.017865 +INS_TCAL1_GYR3_Z,0.014865 +INS_TCAL1_TMAX,64.599998 +INS_TCAL1_TMIN,-14.7 +INS_TCAL2_ACC1_X,6649.077148 +INS_TCAL2_ACC1_Y,1555.664062 +INS_TCAL2_ACC1_Z,-6349.13916 +INS_TCAL2_ACC2_X,-25.260532 +INS_TCAL2_ACC2_Y,-13.881091 +INS_TCAL2_ACC2_Z,10.675395 +INS_TCAL2_ACC3_X,-0.592201 +INS_TCAL2_ACC3_Y,-0.260141 +INS_TCAL2_ACC3_Z,0.579426 +INS_TCAL2_ENABLE,1 +INS_TCAL2_GYR1_X,-158.147049 +INS_TCAL2_GYR1_Y,-137.744614 +INS_TCAL2_GYR1_Z,2.657249 +INS_TCAL2_GYR2_X,0.037288 +INS_TCAL2_GYR2_Y,-0.209617 +INS_TCAL2_GYR2_Z,0.216658 +INS_TCAL2_GYR3_X,-0.018463 +INS_TCAL2_GYR3_Y,-0.028847 +INS_TCAL2_GYR3_Z,0.005903 +INS_TCAL2_TMAX,64.5 +INS_TCAL2_TMIN,-14 +INS_TCAL3_ACC1_X,-1465.066631 +INS_TCAL3_ACC1_Y,458.876384 +INS_TCAL3_ACC1_Z,2544.281946 +INS_TCAL3_ACC2_X,3.881862 +INS_TCAL3_ACC2_Y,6.304407 +INS_TCAL3_ACC2_Z,16.704325 +INS_TCAL3_ACC3_X,1.217049 +INS_TCAL3_ACC3_Y,-0.670616 +INS_TCAL3_ACC3_Z,-1.336885 +INS_TCAL3_ENABLE,0 +INS_TCAL3_GYR1_X,-311.394615 +INS_TCAL3_GYR1_Y,44.271917 +INS_TCAL3_GYR1_Z,46.22566 +INS_TCAL3_GYR2_X,-0.843643 +INS_TCAL3_GYR2_Y,1.902223 +INS_TCAL3_GYR2_Z,-0.561675 +INS_TCAL3_GYR3_X,0.004107 +INS_TCAL3_GYR3_Y,-0.061594 +INS_TCAL3_GYR3_Z,0.019881 +INS_TCAL3_TMAX,57.3 +INS_TCAL3_TMIN,-27.7 diff --git a/vehicle_templates/Heli/Allister/04_board_orientation.param b/vehicle_templates/Heli/Allister/04_board_orientation.param new file mode 100644 index 0000000..44b1935 --- /dev/null +++ b/vehicle_templates/Heli/Allister/04_board_orientation.param @@ -0,0 +1,3 @@ +AHRS_ORIENTATION,4 # Point forward in the direction of travel +BRD_HEAT_TARG,45 # Reset to default after offline IMU temperature calibration +LOG_DISARMED,0 # Log disarmed was only required for offline IMU temperature calibration diff --git a/vehicle_templates/Heli/Allister/05_remote_controller.param b/vehicle_templates/Heli/Allister/05_remote_controller.param new file mode 100644 index 0000000..0a71707 --- /dev/null +++ b/vehicle_templates/Heli/Allister/05_remote_controller.param @@ -0,0 +1,9 @@ +ARMING_RUDDER,2 +RC_OPTIONS,800 +RC_PROTOCOLS,1 # Selected in the component editor +RC10_OPTION,0 +RC6_OPTION,0 +RC7_OPTION,32 +RC8_OPTION,0 +RC9_OPTION,0 +RSSI_TYPE,3 diff --git a/vehicle_templates/Heli/Allister/06_telemetry.param b/vehicle_templates/Heli/Allister/06_telemetry.param new file mode 100644 index 0000000..83e1e6a --- /dev/null +++ b/vehicle_templates/Heli/Allister/06_telemetry.param @@ -0,0 +1,2 @@ +BRD_SER1_RTSCTS,2 +SERIAL2_BAUD,115 diff --git a/vehicle_templates/Heli/Allister/07_esc.param b/vehicle_templates/Heli/Allister/07_esc.param new file mode 100644 index 0000000..bc266fd --- /dev/null +++ b/vehicle_templates/Heli/Allister/07_esc.param @@ -0,0 +1,22 @@ +ATC_RAT_PIT_SMAX,0 # limit the slew rate to prevent possible ESC desync - https://ardupilot.org/copter/docs/common-servo-limit-cycle-detection.html +ATC_RAT_RLL_SMAX,0 # limit the slew rate to prevent possible ESC desync - https://ardupilot.org/copter/docs/common-servo-limit-cycle-detection.html +ATC_RAT_YAW_SMAX,0 # limit the slew rate to prevent possible ESC desync - https://ardupilot.org/copter/docs/common-servo-limit-cycle-detection.html +NTF_BUZZ_TYPES,5 +NTF_LED_TYPES,123079 +PSC_ACCZ_SMAX,0 # limit the slew rate to prevent possible ESC desync - https://ardupilot.org/copter/docs/common-servo-limit-cycle-detection.html +SERVO_BLH_POLES,14 # Specified in component editor window +SERVO_FTW_POLES,14 # Specified in component editor window +SERVO1_MAX,2000 # Operating Pulse Width:1050-1950us(Fixed or cannot be Programmed) +SERVO1_MIN,1000 # Operating Pulse Width:1050-1950us(Fixed or cannot be Programmed) +SERVO1_TRIM,1500 # Operating Pulse Width:1050-1950us(Fixed or cannot be Programmed) +SERVO13_FUNCTION,0 # For matek H743Slim v3 board +SERVO2_MAX,2000 # Operating Pulse Width:1050-1950us(Fixed or cannot be Programmed) +SERVO2_MIN,1000 # Operating Pulse Width:1050-1950us(Fixed or cannot be Programmed) +SERVO2_TRIM,1500 # Operating Pulse Width:1050-1950us(Fixed or cannot be Programmed) +SERVO3_MAX,2000 # Operating Pulse Width:1050-1950us(Fixed or cannot be Programmed) +SERVO3_MIN,1000 # Operating Pulse Width:1050-1950us(Fixed or cannot be Programmed) +SERVO3_TRIM,1485 +SERVO4_MAX,885 +SERVO4_MIN,620 +SERVO4_TRIM,750 +TKOFF_SLEW_TIME,2 diff --git a/vehicle_templates/Heli/Allister/08_batt1.param b/vehicle_templates/Heli/Allister/08_batt1.param new file mode 100644 index 0000000..d16f417 --- /dev/null +++ b/vehicle_templates/Heli/Allister/08_batt1.param @@ -0,0 +1,12 @@ +BATT_AMP_PERVLT,36.360001 +BATT_ARM_VOLT,23.6 # Don’t allow arming below this voltage +BATT_CAPACITY,30000 # Total battery capacity specified in the component editor +BATT_CRT_MAH,0 +BATT_CRT_VOLT,21.3 # (Critical voltage + 0.0) x no. of cells +BATT_FS_CRT_ACT,1 # Land ASAP +BATT_FS_LOW_ACT,2 # Return and land at home or rally point +BATT_FS_VOLTSRC,0 +BATT_LOW_MAH,0 +BATT_LOW_VOLT,21.6 # (Low voltage + 0.0) x no. of cells +BATT_MONITOR,4 +BATT_VOLT_MULT,18.454201 diff --git a/vehicle_templates/Heli/Allister/10_gnss.param b/vehicle_templates/Heli/Allister/10_gnss.param new file mode 100644 index 0000000..cc37758 --- /dev/null +++ b/vehicle_templates/Heli/Allister/10_gnss.param @@ -0,0 +1,10 @@ +BRD_SAFETY_DEFLT,0 # CubeOrange has no safety switch +CAN_D1_PROTOCOL,1 # set virtual driver of CAN1 to DRONECAN for Here3 +CAN_P1_DRIVER,0 # Enable CAN1 bus for Here3 +GPS_GNSS_MODE,0 # limit the constellations to ensure an update rate higher than 5Hz +GPS_POS1_X,0 +GPS_POS1_Y,0 +GPS_POS1_Z,0 +GPS_TYPE,1 # Defined in component editor +NTF_LED_TYPES,123079 +WPNAV_RADIUS,200 diff --git a/vehicle_templates/Heli/Allister/11_initial_atc.param b/vehicle_templates/Heli/Allister/11_initial_atc.param new file mode 100644 index 0000000..12855f2 --- /dev/null +++ b/vehicle_templates/Heli/Allister/11_initial_atc.param @@ -0,0 +1,15 @@ +ATC_ACCEL_P_MAX,14300 # Derived from vehicle component editor propeller size +ATC_ACCEL_R_MAX,14300 # Derived from vehicle component editor propeller size +ATC_ACCEL_Y_MAX,8000 # Derived from vehicle component editor propeller size +ATC_ANG_YAW_P,1.3 # Derived from vehicle component editor propeller size +ATC_RAT_PIT_FLTD,10 # INS_GYRO_FILTER / 2 +ATC_RAT_PIT_FLTE,0 # Initial value, will be improved at a later step +ATC_RAT_PIT_FLTT,10 # INS_GYRO_FILTER / 2 +ATC_RAT_RLL_FLTD,10 # INS_GYRO_FILTER / 2 +ATC_RAT_RLL_FLTE,0 # Initial value, will be improved at a later step +ATC_RAT_RLL_FLTT,10 # INS_GYRO_FILTER / 2 +ATC_RAT_YAW_FLTD,0 # Initial value, will be improved at a later step +ATC_RAT_YAW_FLTE,2 # Initial value, will be improved at a later step +ATC_RAT_YAW_FLTT,10 # INS_GYRO_FILTER / 2 +INS_ACCEL_FILTER,10 # The default is 20Hz but that is too high in most situations +INS_GYRO_FILTER,20 # Derived from vehicle component editor propeller size diff --git a/vehicle_templates/Heli/Allister/12_mp_setup_mandatory_hardware.param b/vehicle_templates/Heli/Allister/12_mp_setup_mandatory_hardware.param new file mode 100644 index 0000000..d378210 --- /dev/null +++ b/vehicle_templates/Heli/Allister/12_mp_setup_mandatory_hardware.param @@ -0,0 +1,82 @@ +AHRS_TRIM_X,-0.033033 +AHRS_TRIM_Y,-0.023843 +ATC_ACCEL_P_MAX,110000 +ATC_ACCEL_R_MAX,110000 +ATC_ACCEL_Y_MAX,80000 +ATC_RAT_PIT_FLTD,0 # INS_GYRO_FILTER / 2 +ATC_RAT_PIT_FLTT,20 # INS_GYRO_FILTER / 2 +ATC_RAT_RLL_FLTD,0 # INS_GYRO_FILTER / 2 +ATC_RAT_RLL_FLTT,20 # INS_GYRO_FILTER / 2 +ATC_RAT_YAW_FLTE,20 +ATC_RAT_YAW_FLTT,20 # INS_GYRO_FILTER / 2 +COMPASS_EXTERNAL,1 +COMPASS_ORIENT,6 +COMPASS_PRIO1_ID,658961 +COMPASS_USE2,1 +COMPASS_USE3,0 +FENCE_ACTION,1 +FENCE_ALT_MAX,100 +FENCE_ENABLE,1 +FENCE_RADIUS,300 +FLTMODE1,0 +FLTMODE2,2 +FLTMODE3,5 +FLTMODE4,5 +FLTMODE5,15 +FLTMODE6,6 +FRAME_CLASS,6 +FRAME_TYPE,1 +INS_ACC1_CALTEMP,44.806763 +INS_ACC2_CALTEMP,47 +INS_ACC2SCAL_X,0.982365 +INS_ACC2SCAL_Y,0.99757 +INS_ACC2SCAL_Z,0.961732 +INS_ACC3SCAL_X,1 +INS_ACC3SCAL_Y,1 +INS_ACC3SCAL_Z,1 +INS_ACCSCAL_X,0.998809 +INS_ACCSCAL_Y,0.996635 +INS_ACCSCAL_Z,0.998027 +INS_GYRO_FILTER,20 +INS_USE3,1 +MOT_BAT_VOLT_MAX,26.1 +MOT_BAT_VOLT_MIN,19.799999 +MOT_SPIN_ARM,0.06 +MOT_SPIN_MAX,0.95 +MOT_SPIN_MIN,0.09 +MOT_THST_EXPO,0.82 +MOT_THST_HOVER,0.2 +RC1_MAX,2011 +RC1_MIN,988 +RC1_TRIM,1500 +RC10_MAX,1900 +RC10_MIN,1100 +RC10_TRIM,1500 +RC2_MAX,2011 +RC2_MIN,988 +RC2_TRIM,1500 +RC3_MAX,2011 +RC3_MIN,988 +RC3_TRIM,988 +RC4_MAX,2011 +RC4_MIN,988 +RC4_TRIM,1497 +RC5_MAX,1900 +RC5_MIN,1100 +RC5_TRIM,1500 +RC6_MAX,1900 +RC6_MIN,1100 +RC6_TRIM,1500 +RC7_MAX,1900 +RC7_MIN,1100 +RC7_TRIM,1500 +RC8_MAX,1900 +RC8_MIN,1100 +RC8_TRIM,1500 +RC9_MAX,1900 +RC9_MIN,1100 +RC9_TRIM,1500 +SERVO1_FUNCTION,33 +SERVO2_FUNCTION,34 +SERVO3_FUNCTION,35 +SERVO4_FUNCTION,36 diff --git a/vehicle_templates/Heli/Allister/13_general_configuration.param b/vehicle_templates/Heli/Allister/13_general_configuration.param new file mode 100644 index 0000000..4cddec5 --- /dev/null +++ b/vehicle_templates/Heli/Allister/13_general_configuration.param @@ -0,0 +1,18 @@ +ARMING_CHECK,1 # Perform all arming checks. If you have a problem fix its source. Do NOT change this +AUTO_OPTIONS,0 +BRD_HEAT_TARG,45 # Operate at a constant IMU temperature +BRD_RTC_TZ_MIN,0 +EK3_SRC1_POSZ,1 +FENCE_TYPE,7 +FS_EKF_ACTION,1 +INS_ACCEL_FILTER,20 # the default is 20 and that lets too much noise in +INS_POS1_X,0 +INS_POS1_Y,0 +INS_POS2_X,0 +INS_POS2_Y,0 +LAND_ALT_LOW,1000 +RTL_ALT,2000 +RTL_LOIT_TIME,5000 +SCHED_LOOP_RATE,400 +SCR_ENABLE,1 # Use lua scripting for VTOL-Quicktune, MagFit automation and Windspeed Estimation automation +SERIAL7_PROTOCOL,2 # Do not use CubeOrange ADSB receiver diff --git a/vehicle_templates/Heli/Allister/14_logging.param b/vehicle_templates/Heli/Allister/14_logging.param new file mode 100644 index 0000000..48affeb --- /dev/null +++ b/vehicle_templates/Heli/Allister/14_logging.param @@ -0,0 +1,6 @@ +INS_LOG_BAT_CNT,1024 # the default of 1024 causes some problems with https://firmware.ardupilot.org/Tools/WebTools/FilterReview/ +INS_LOG_BAT_MASK,3 # Will use 2 of 3 IMU +INS_LOG_BAT_OPT,4 # Logs measured data both before and after the filters for Filter Review Webtool usage +INS_RAW_LOG_OPT,0 +LOG_BITMASK,2242524 # Logs Notch filter data and other control signals +LOG_FILE_DSRMROT,1 # One .bin log file per flight, not per battery/reboot diff --git a/vehicle_templates/Heli/Allister/15_initial_yaw.param b/vehicle_templates/Heli/Allister/15_initial_yaw.param new file mode 100644 index 0000000..11278d9 --- /dev/null +++ b/vehicle_templates/Heli/Allister/15_initial_yaw.param @@ -0,0 +1,16 @@ +ATC_ACCEL_Y_MAX,80000 + +ATC_ANG_YAW_P,4.5 + +ATC_RAT_YAW_D,0.003 +ATC_RAT_YAW_FLTD,0 +ATC_RAT_YAW_FLTE,20 +ATC_RAT_YAW_FLTT,20 + +ATC_RAT_YAW_I,0.12 +ATC_RAT_YAW_ILMI,0.0 +ATC_RAT_YAW_IMAX,0.33 + +ATC_RAT_YAW_P,0.18 + +ATC_RAT_YAW_FF,0.0 \ No newline at end of file diff --git a/vehicle_templates/Heli/Allister/16_initial_PR.param b/vehicle_templates/Heli/Allister/16_initial_PR.param new file mode 100644 index 0000000..5c0bc17 --- /dev/null +++ b/vehicle_templates/Heli/Allister/16_initial_PR.param @@ -0,0 +1,27 @@ +ATC_ACCEL_P_MAX,110000 +ATC_ACCEL_R_MAX,110000 + +ATC_ANG_PIT_P,4.5 +ATC_ANG_RLL_P,4.5 + +ATC_RAT_PIT_D,0 +ATC_RAT_PIT_FLTD,0 +ATC_RAT_PIT_FLTE,20 +ATC_RAT_PIT_FLTT,20 +ATC_RAT_PIT_I,0.1 +ATC_RAT_PIT_ILMI,0.05 +ATC_RAT_PIT_IMAX,0.40 +ATC_RAT_PIT_P,0 +ATC_RAT_PIT_FF,0.15 + +ATC_RAT_RLL_D,0 +ATC_RAT_RLL_FLTD,0 +ATC_RAT_RLL_FLTE,20 +ATC_RAT_RLL_FLTT,20 +ATC_RAT_RLL_I,0.1 +ATC_RAT_RLL_ILMI,0.05 +ATC_RAT_RLL_IMAX,0.40 +ATC_RAT_RLL_P,0 +ATC_RAT_RLL_FF,0.15 + +ATC_INPUT_TC,0.15 \ No newline at end of file diff --git a/vehicle_templates/Heli/Allister/17_remote_id.param b/vehicle_templates/Heli/Allister/17_remote_id.param new file mode 100644 index 0000000..768edb1 --- /dev/null +++ b/vehicle_templates/Heli/Allister/17_remote_id.param @@ -0,0 +1,4 @@ +DID_CANDRIVER,0 +DID_ENABLE,0 # Our RemoteID module does not communicate with ArduPilot +DID_MAVPORT,2 # The serial port attached to the OpenDroneID module +DID_OPTIONS,0 diff --git a/vehicle_templates/Heli/Allister/18_notch_filter_setup.param b/vehicle_templates/Heli/Allister/18_notch_filter_setup.param new file mode 100644 index 0000000..43b31c2 --- /dev/null +++ b/vehicle_templates/Heli/Allister/18_notch_filter_setup.param @@ -0,0 +1,10 @@ +INS_FAST_SAMPLE,3 # Two IMUs can run fast on the CubeOrange flight controller +INS_GYRO_RATE,1 # The CubeOrange can do 2KHz here +INS_HNTCH_ATT,40 # this is just a hunch, it must be improved after the first flight (by the next file) +INS_HNTCH_BW,10 # this is just a hunch, it must be improved after the first flight (by the next file) +INS_HNTCH_ENABLE,1 # Use the first notch filter to filter the noise created by the motors/propellers +INS_HNTCH_FREQ,28 # Use 1.4 * INS_GYRO_FILTER as a first guess +INS_HNTCH_HMNCS,3 # start with a single frequency +INS_HNTCH_MODE,0 # Trottle based notch +INS_HNTCH_OPTS,0 +INS_HNTCH_REF,0 # Calculate and change this according to the wiki diff --git a/vehicle_templates/Heli/Allister/19_notch_filter_results.param b/vehicle_templates/Heli/Allister/19_notch_filter_results.param new file mode 100644 index 0000000..c821cc3 --- /dev/null +++ b/vehicle_templates/Heli/Allister/19_notch_filter_results.param @@ -0,0 +1,7 @@ +INS_HNTCH_ATT,40 # just enough to filter the noise created by the motors/propellers +INS_HNTCH_BW,10 # just enough to filter the noise created by the motors/propellers +INS_HNTCH_FM_RAT,0.9 # Allowed undercutting of the base frequency of the first notch filter +INS_HNTCH_FREQ,33.299999 # the minimum frequency that the motors are expected to operate at +INS_HNTCH_HMNCS,3 # the motors produce secondary harmonics on this vehicle +INS_HNTCH_OPTS,0 +INS_HNTCH_REF,0 # MOT_THST_HOVER * SQUARE(min_freq / hover_freq) diff --git a/vehicle_templates/Heli/Allister/20_throttle_controller.param b/vehicle_templates/Heli/Allister/20_throttle_controller.param new file mode 100644 index 0000000..f4bf1a2 --- /dev/null +++ b/vehicle_templates/Heli/Allister/20_throttle_controller.param @@ -0,0 +1,3 @@ +ATC_THR_MIX_MAN,0.5 +PSC_ACCZ_I,1 +PSC_ACCZ_P,0.28 diff --git a/vehicle_templates/Heli/Allister/21_ekf_config.param b/vehicle_templates/Heli/Allister/21_ekf_config.param new file mode 100644 index 0000000..abdf61c --- /dev/null +++ b/vehicle_templates/Heli/Allister/21_ekf_config.param @@ -0,0 +1,2 @@ +EK3_ACC_P_NSE,0.35 # higher value -> trust accelerometer less, compared to other sources +EK3_ALT_M_NSE,2 # lower value -> trust baro more, compared to other sources diff --git a/vehicle_templates/Heli/Allister/22_quick_tune_setup.param b/vehicle_templates/Heli/Allister/22_quick_tune_setup.param new file mode 100644 index 0000000..a8f478e --- /dev/null +++ b/vehicle_templates/Heli/Allister/22_quick_tune_setup.param @@ -0,0 +1,14 @@ +QUIK_AUTO_FILTER,1 +QUIK_AUTO_SAVE,0 +QUIK_AXES,7 +QUIK_DOUBLE_TIME,10 +QUIK_ENABLE,1 # Use VTOL-Quicktune lua script to estimate a good PID starting values +QUIK_GAIN_MARGIN,60 +QUIK_MAX_REDUCE,20 +QUIK_OPTIONS,0 +QUIK_OSC_SMAX,5 +QUIK_RC_FUNC,300 # the script uses this value to listen to RC switch +QUIK_RP_PI_RATIO,1 +QUIK_Y_PI_RATIO,10 +QUIK_YAW_D_MAX,0.01 +QUIK_YAW_P_MAX,0.5 diff --git a/vehicle_templates/Heli/Allister/23_quick_tune_results.param b/vehicle_templates/Heli/Allister/23_quick_tune_results.param new file mode 100644 index 0000000..de9a0c2 --- /dev/null +++ b/vehicle_templates/Heli/Allister/23_quick_tune_results.param @@ -0,0 +1,10 @@ +ATC_RAT_PIT_D,0.000267 # Tuned in a Hangar +ATC_RAT_PIT_I,0.054859 # Tuned in a Hangar +ATC_RAT_PIT_P,0.028604 # Tuned in a Hangar +ATC_RAT_RLL_D,0.00024 # Tuned in a Hangar +ATC_RAT_RLL_I,0.06414 # Tuned in a Hangar +ATC_RAT_RLL_P,0.045 # Tuned in a Hangar +ATC_RAT_YAW_D,0.004231 # Tuned in a Hangar +ATC_RAT_YAW_FLTD,0 # Tuned in a Hangar +ATC_RAT_YAW_I,0.020179 # Tuned in a Hangar +ATC_RAT_YAW_P,0.201791 # Tuned in a Hangar diff --git a/vehicle_templates/Heli/Allister/24_inflight_magnetometer_fit_setup.param b/vehicle_templates/Heli/Allister/24_inflight_magnetometer_fit_setup.param new file mode 100644 index 0000000..78eef98 --- /dev/null +++ b/vehicle_templates/Heli/Allister/24_inflight_magnetometer_fit_setup.param @@ -0,0 +1,8 @@ +MAGH_ALT_DELTA,10 # Height difference between the highest and lowest point of the eight +MAGH_B,1.2 # Geometric factor for the width of the eight +MAGH_CMD,117 # Script_Time command value for identification of the script +MAGH_COUNT,6 # Number of times the drone repeats the eight +MAGH_LOG_ENABLE,1 # Activates the logging of the MAGH.Active message +MAGH_MIN_SPEED,5 # Starting speed for the mission; slowly adjusts to the general speed in auto-missions +MAGH_NUM_WP,18 # Number of waypoints from which the eight is built +MAGH_USE_LOITER,0 # Sets a Loiter_unlimited command at the beginning of the mission to check the generated waypoints diff --git a/vehicle_templates/Heli/Allister/24_inflight_magnetometer_fit_setup.pdef.xml b/vehicle_templates/Heli/Allister/24_inflight_magnetometer_fit_setup.pdef.xml new file mode 100644 index 0000000..0ff0bd7 --- /dev/null +++ b/vehicle_templates/Heli/Allister/24_inflight_magnetometer_fit_setup.pdef.xml @@ -0,0 +1,41 @@ + + + + + + + m + 0 100 + 10 + + + 1.2 1.5 + 1.2 + + + 0 255 + 117 + + + 1 20 + 6 + + + 0 1 + 1 + + + m/s + 1/2 of WPNAV_SPEED + + + 16 24 + 18 + + + 0 1 + 1 + + + + diff --git a/vehicle_templates/Heli/Allister/25_inflight_magnetometer_fit_results.param b/vehicle_templates/Heli/Allister/25_inflight_magnetometer_fit_results.param new file mode 100644 index 0000000..8b9ab32 --- /dev/null +++ b/vehicle_templates/Heli/Allister/25_inflight_magnetometer_fit_results.param @@ -0,0 +1,14 @@ +COMPASS_DIA_X,1.025114 # Diagonal X component for static compensation of metal in the frame +COMPASS_DIA_Y,1.032634 # Diagonal Y component for static compensation of metal in the frame +COMPASS_DIA_Z,0.942252 # Diagonal Z component for static compensation of metal in the frame +COMPASS_MOT_X,-0.579954 # Correction value for motor currents in X direction +COMPASS_MOT_Y,0.533449 # Correction value for motor currents in Y direction +COMPASS_MOT_Z,-0.181803 # Correction value for motor currents in Z direction +COMPASS_MOTCT,2 # Type of interference compensation; two means current-based compensation +COMPASS_ODI_X,-0.010794 # Off-diagonal X component for static compensation of metal in the frame +COMPASS_ODI_Y,-0.010326 # Off-diagonal Y component for static compensation of metal in the frame +COMPASS_ODI_Z,0.033788 # Off-diagonal Z component for static compensation of metal in the frame +COMPASS_OFS_X,107.981583 # Lateral compass offset to the X axis for static compensation of metal in the frame +COMPASS_OFS_Y,102.75705 # Lateral compass offset to the Y axis for static compensation of metal in the frame +COMPASS_OFS_Z,43.087494 # Lateral compass offset to the Z axis for static compensation of metal in the frame +COMPASS_SCALE,1.003098 # Scaling factor for compensation diff --git a/vehicle_templates/Heli/Allister/26_quick_tune_setup.param b/vehicle_templates/Heli/Allister/26_quick_tune_setup.param new file mode 100644 index 0000000..e69146a --- /dev/null +++ b/vehicle_templates/Heli/Allister/26_quick_tune_setup.param @@ -0,0 +1,14 @@ +QUIK_AUTO_FILTER,1 +QUIK_AUTO_SAVE,0 +QUIK_AXES,7 +QUIK_DOUBLE_TIME,10 +QUIK_ENABLE,1 # enables quiktune script +QUIK_GAIN_MARGIN,60 +QUIK_MAX_REDUCE,20 +QUIK_OPTIONS,0 +QUIK_OSC_SMAX,5 +QUIK_RC_FUNC,300 # the script uses this value to listen to RC switch +QUIK_RP_PI_RATIO,1 +QUIK_Y_PI_RATIO,10 +QUIK_YAW_D_MAX,0.01 +QUIK_YAW_P_MAX,0.5 diff --git a/vehicle_templates/Heli/Allister/27_quick_tune_results.param b/vehicle_templates/Heli/Allister/27_quick_tune_results.param new file mode 100644 index 0000000..e46675c --- /dev/null +++ b/vehicle_templates/Heli/Allister/27_quick_tune_results.param @@ -0,0 +1,10 @@ +ATC_RAT_PIT_D,0.000267 +ATC_RAT_PIT_I,0.054859 +ATC_RAT_PIT_P,0.028604 +ATC_RAT_RLL_D,0.00024 +ATC_RAT_RLL_I,0.06414 +ATC_RAT_RLL_P,0.045 +ATC_RAT_YAW_D,0.004231 +ATC_RAT_YAW_FLTD,0 +ATC_RAT_YAW_I,0.020179 +ATC_RAT_YAW_P,0.201791 diff --git a/vehicle_templates/Heli/Allister/28_evaluate_the_aircraft_tune_ff_disable.param b/vehicle_templates/Heli/Allister/28_evaluate_the_aircraft_tune_ff_disable.param new file mode 100644 index 0000000..5e14045 --- /dev/null +++ b/vehicle_templates/Heli/Allister/28_evaluate_the_aircraft_tune_ff_disable.param @@ -0,0 +1,2 @@ +ATC_RATE_FF_ENAB,1 # test the stabilization loops independent of the input shaping +INS_RAW_LOG_OPT,0 # The notch filter is fully tuned now, we no longer need to log this diff --git a/vehicle_templates/Heli/Allister/29_evaluate_the_aircraft_tune_ff_enable.param b/vehicle_templates/Heli/Allister/29_evaluate_the_aircraft_tune_ff_enable.param new file mode 100644 index 0000000..77242b2 --- /dev/null +++ b/vehicle_templates/Heli/Allister/29_evaluate_the_aircraft_tune_ff_enable.param @@ -0,0 +1 @@ +ATC_RATE_FF_ENAB,1 # re-enable normal operation, activate input shaping diff --git a/vehicle_templates/Heli/Allister/30_autotune_roll_setup.param b/vehicle_templates/Heli/Allister/30_autotune_roll_setup.param new file mode 100644 index 0000000..455afa8 --- /dev/null +++ b/vehicle_templates/Heli/Allister/30_autotune_roll_setup.param @@ -0,0 +1,2 @@ +AUTOTUNE_AXES,3 # Pitch and Roll +AUTOTUNE_SEQ,1 # Feedforward diff --git a/vehicle_templates/Heli/Allister/31_autotune_roll_results.param b/vehicle_templates/Heli/Allister/31_autotune_roll_results.param new file mode 100644 index 0000000..aa3f21a --- /dev/null +++ b/vehicle_templates/Heli/Allister/31_autotune_roll_results.param @@ -0,0 +1,5 @@ +ATC_ACCEL_R_MAX,110000 +ATC_ANG_RLL_P,10 # higher value mean a tighter tune +ATC_RAT_RLL_D,0.00024 +ATC_RAT_RLL_I,0.06414 +ATC_RAT_RLL_P,0.045 diff --git a/vehicle_templates/Heli/Allister/32_autotune_pitch_setup.param b/vehicle_templates/Heli/Allister/32_autotune_pitch_setup.param new file mode 100644 index 0000000..ffc912a --- /dev/null +++ b/vehicle_templates/Heli/Allister/32_autotune_pitch_setup.param @@ -0,0 +1,3 @@ +AUTOTUNE_AXES,2 #Pitch +AUTOTUNE_SEQ,2 #Rate D and Rate P +AUTOTUNE_GN_MAX,1.8 diff --git a/vehicle_templates/Heli/Allister/33_autotune_pitch_results.param b/vehicle_templates/Heli/Allister/33_autotune_pitch_results.param new file mode 100644 index 0000000..2334eb9 --- /dev/null +++ b/vehicle_templates/Heli/Allister/33_autotune_pitch_results.param @@ -0,0 +1,5 @@ +ATC_ACCEL_P_MAX,110000 +ATC_ANG_PIT_P,8.80203 # higher value mean a tighter tune +ATC_RAT_PIT_D,0.000267 +ATC_RAT_PIT_I,0.054859 +ATC_RAT_PIT_P,0.028604 diff --git a/vehicle_templates/Heli/Allister/34_autotune_yaw_setup.param b/vehicle_templates/Heli/Allister/34_autotune_yaw_setup.param new file mode 100644 index 0000000..cfb3adf --- /dev/null +++ b/vehicle_templates/Heli/Allister/34_autotune_yaw_setup.param @@ -0,0 +1,3 @@ +AUTOTUNE_AXES,1 # Roll +AUTOTUNE_SEQ,2 # Rate D and Rate P +AUTOTUNE_GN_MAX,1.8 \ No newline at end of file diff --git a/vehicle_templates/Heli/Allister/35_autotune_yaw_results.param b/vehicle_templates/Heli/Allister/35_autotune_yaw_results.param new file mode 100644 index 0000000..25c4184 --- /dev/null +++ b/vehicle_templates/Heli/Allister/35_autotune_yaw_results.param @@ -0,0 +1,5 @@ +ATC_ACCEL_Y_MAX,80000 +ATC_ANG_YAW_P,10 # higher value mean a tighter tune +ATC_RAT_YAW_FLTE,20 +ATC_RAT_YAW_I,0.020179 +ATC_RAT_YAW_P,0.201791 diff --git a/vehicle_templates/Heli/Allister/36_autotune_yawd_setup.param b/vehicle_templates/Heli/Allister/36_autotune_yawd_setup.param new file mode 100644 index 0000000..11d9f69 --- /dev/null +++ b/vehicle_templates/Heli/Allister/36_autotune_yawd_setup.param @@ -0,0 +1,3 @@ +AUTOTUNE_AXES,3 # Roll and Pitch +AUTOTUNE_SEQ,4 # Angle P +AUTOTUNE_GN_MAX,1.8 diff --git a/vehicle_templates/Heli/Allister/37_autotune_yawd_results.param b/vehicle_templates/Heli/Allister/37_autotune_yawd_results.param new file mode 100644 index 0000000..0345d94 --- /dev/null +++ b/vehicle_templates/Heli/Allister/37_autotune_yawd_results.param @@ -0,0 +1,5 @@ +ATC_ACCEL_Y_MAX,80000 +ATC_ANG_YAW_P,10 +ATC_RAT_YAW_D,0.004231 # if == to AUTOTUNE_MIN_D, autotune failed +ATC_RAT_YAW_I,0.020179 +ATC_RAT_YAW_P,0.201791 diff --git a/vehicle_templates/Heli/Allister/38_autotune_roll_pitch_retune_setup.param b/vehicle_templates/Heli/Allister/38_autotune_roll_pitch_retune_setup.param new file mode 100644 index 0000000..945f071 --- /dev/null +++ b/vehicle_templates/Heli/Allister/38_autotune_roll_pitch_retune_setup.param @@ -0,0 +1,3 @@ +AUTOTUNE_AXES,4 # Yaw +AUTOTUNE_SEQ,2 # Rate D and Rate P +AUTOTUNE_GN_MAX,1.0 diff --git a/vehicle_templates/Heli/Allister/39_autotune_roll_pitch_retune_results.param b/vehicle_templates/Heli/Allister/39_autotune_roll_pitch_retune_results.param new file mode 100644 index 0000000..cffe4f8 --- /dev/null +++ b/vehicle_templates/Heli/Allister/39_autotune_roll_pitch_retune_results.param @@ -0,0 +1,10 @@ +ATC_ACCEL_P_MAX,110000 +ATC_ACCEL_R_MAX,110000 +ATC_ANG_PIT_P,8.80203 # higher value mean a tighter tune +ATC_ANG_RLL_P,10 # higher value mean a tighter tune +ATC_RAT_PIT_D,0.000267 +ATC_RAT_PIT_I,0.054859 +ATC_RAT_PIT_P,0.028604 +ATC_RAT_RLL_D,0.00024 +ATC_RAT_RLL_I,0.06414 +ATC_RAT_RLL_P,0.045 diff --git a/vehicle_templates/Heli/Allister/40_autotune_yaw.param b/vehicle_templates/Heli/Allister/40_autotune_yaw.param new file mode 100644 index 0000000..d7c5dd2 --- /dev/null +++ b/vehicle_templates/Heli/Allister/40_autotune_yaw.param @@ -0,0 +1,3 @@ +AUTOTUNE_AXES,4 # Yaw +AUTOTUNE_SEQ,4 # Angle P +AUTOTUNE_GN_MAX,1.8 diff --git a/vehicle_templates/Heli/Allister/40_windspeed_estimation.param b/vehicle_templates/Heli/Allister/40_windspeed_estimation.param new file mode 100644 index 0000000..a0a2c61 --- /dev/null +++ b/vehicle_templates/Heli/Allister/40_windspeed_estimation.param @@ -0,0 +1,5 @@ +EK3_DRAG_BCOEF_X,0 +EK3_DRAG_BCOEF_Y,0 +EK3_DRAG_MCOEF,0 +LOG_DISARMED,0 # allow post flight tuning with Replay +LOG_REPLAY,0 # allow post flight tuning with Replay diff --git a/vehicle_templates/Heli/Allister/41_barometer_compensation.param b/vehicle_templates/Heli/Allister/41_barometer_compensation.param new file mode 100644 index 0000000..e8d825c --- /dev/null +++ b/vehicle_templates/Heli/Allister/41_barometer_compensation.param @@ -0,0 +1,7 @@ +BARO1_WCF_BCK,0 +BARO1_WCF_DN,0 +BARO1_WCF_ENABLE,0 +BARO1_WCF_FWD,0 +BARO1_WCF_LFT,0 +BARO1_WCF_RGT,0 +BARO1_WCF_UP,0 diff --git a/vehicle_templates/Heli/Allister/42_system_id_roll.param b/vehicle_templates/Heli/Allister/42_system_id_roll.param new file mode 100644 index 0000000..456e69d --- /dev/null +++ b/vehicle_templates/Heli/Allister/42_system_id_roll.param @@ -0,0 +1,21 @@ +ANGLE_MAX,3000 # limit the angle to limit the speed at SID-chirp low-frequencies +ARMING_CHECK,1 # disable Parameter check because we need to set ATC_RAT_RLL_I out-of-range (was 30175) +ATC_ANG_PIT_P,8.80203 # reset to default to not interfere with sysID +ATC_ANG_RLL_P,10 # reset to default to not interfere with sysID +ATC_ANG_YAW_P,10 # reset to default to not interfere with sysID +ATC_RAT_RLL_I,0.06414 # prevent the rate controllers from compensating too much of the frequency-sweep signal +ATC_RATE_FF_ENAB,1 # prevent the rate controllers from compensating too much of the frequency-sweep signal +FLTMODE5,15 # Activate sysid instead of autotune +LOG_BITMASK,180221 # attitude sample rate at loop rate +LOG_DISARMED,0 # was only needed for wind speed estimation +LOG_REPLAY,0 # was only needed for wind speed estimation +SID_AXIS,0 # Inject chip on the mixer roll signal +SID_F_START_HZ,0.05 +SID_F_STOP_HZ,5 +SID_MAGNITUDE,0.15 +SID_T_FADE_IN,5 +SID_T_FADE_OUT,5 +SID_T_REC,130 +TUNE,0 # System identification magnitude +TUNE_MAX,0 # System identification max magnitude +TUNE_MIN,0 # System identification min magnitude diff --git a/vehicle_templates/Heli/Allister/43_system_id_pitch.param b/vehicle_templates/Heli/Allister/43_system_id_pitch.param new file mode 100644 index 0000000..ced26e9 --- /dev/null +++ b/vehicle_templates/Heli/Allister/43_system_id_pitch.param @@ -0,0 +1,10 @@ +ATC_RAT_PIT_I,0.054859 # prevent the rate controllers from compensating too much of the frequency-sweep signal +ATC_RAT_RLL_I,0.06414 # we are not performing system identification on the roll axis, so restore it to the autotuned value +ATC_RATE_FF_ENAB,1 # prevent the rate controllers from compensating too much of the frequency-sweep signal +SID_AXIS,0 +SID_F_START_HZ,0.05 +SID_F_STOP_HZ,5 +SID_MAGNITUDE,0.15 +SID_T_FADE_IN,5 +SID_T_FADE_OUT,5 +SID_T_REC,130 diff --git a/vehicle_templates/Heli/Allister/44_system_id_yaw.param b/vehicle_templates/Heli/Allister/44_system_id_yaw.param new file mode 100644 index 0000000..1c43ee1 --- /dev/null +++ b/vehicle_templates/Heli/Allister/44_system_id_yaw.param @@ -0,0 +1,10 @@ +ATC_RAT_PIT_I,0.054859 # we are not performing system identification on the pitch axis, so restore it to the autotuned value +ATC_RAT_YAW_I,0.020179 # prevent the rate controllers from compensating too much of the frequency-sweep signal +ATC_RATE_FF_ENAB,1 # prevent the rate controllers from compensating too much of the frequency-sweep signal +SID_AXIS,0 # Inject chip on the mixer yaw signal +SID_F_START_HZ,0.05 +SID_F_STOP_HZ,5 +SID_MAGNITUDE,0.55 +SID_T_FADE_IN,5 +SID_T_FADE_OUT,5 +SID_T_REC,130 diff --git a/vehicle_templates/Heli/Allister/45_system_id_thrust.param b/vehicle_templates/Heli/Allister/45_system_id_thrust.param new file mode 100644 index 0000000..0df8be1 --- /dev/null +++ b/vehicle_templates/Heli/Allister/45_system_id_thrust.param @@ -0,0 +1,10 @@ +ATC_RAT_YAW_I,0.020179 # we are not performing system identification on the yaw axis, so restore it to the autotuned value +ATC_RATE_FF_ENAB,1 # prevent the rate controllers from compensating too much of the frequency-sweep signal +PSC_ACCZ_I,1 # prevent the rate controllers from compensating too much of the frequency-sweep signal +SID_AXIS,0 # Inject chip on the mixer thrust signal +SID_F_START_HZ,0.2 +SID_F_STOP_HZ,10 +SID_MAGNITUDE,0.12 +SID_T_FADE_IN,10 +SID_T_FADE_OUT,5 +SID_T_REC,100 diff --git a/vehicle_templates/Heli/Allister/46_analytical_pid_optimization.param b/vehicle_templates/Heli/Allister/46_analytical_pid_optimization.param new file mode 100644 index 0000000..3942a53 --- /dev/null +++ b/vehicle_templates/Heli/Allister/46_analytical_pid_optimization.param @@ -0,0 +1,4 @@ +ARMING_CHECK,1 # Normal state for everyday use +ATC_RATE_FF_ENAB,1 # Restore value now that system identification is done +PSC_ACCZ_I,1 # now that system identification on thrust has been completed, restore it to 2 • MOT_THST_HOVER +SID_AXIS,0 # No more system identification chip injections diff --git a/vehicle_templates/Heli/Allister/47_position_controller.param b/vehicle_templates/Heli/Allister/47_position_controller.param new file mode 100644 index 0000000..7020c23 --- /dev/null +++ b/vehicle_templates/Heli/Allister/47_position_controller.param @@ -0,0 +1,12 @@ +ANGLE_MAX,3000 +LOIT_ACC_MAX,500 +LOIT_BRK_ACCEL,125 +LOIT_BRK_DELAY,1 +LOIT_BRK_JERK,250 +PSC_VELXY_FF,0 # PSCN.AE/PSCN.VE if you have flown North-South or PSCE.AE/PSCE.VE if you have flown East-West +WPNAV_ACCEL,250 # high speed missions in auto +WPNAV_ACCEL_C,0 # 2 * WPNAV_ACCEL so that the cornering behaviour is mostly controlled by WPNAV_RADIUS https://github.com/ArduPilot/ardupilot/pull/25928 +WPNAV_ACCEL_Z,100 # high speed missions in auto +WPNAV_JERK,1 # high speed missions in auto +WPNAV_SPEED,1000 # high speed missions in auto +WPNAV_SPEED_DN,150 # high speed missions in auto diff --git a/vehicle_templates/Heli/Allister/48_guided_operation.param b/vehicle_templates/Heli/Allister/48_guided_operation.param new file mode 100644 index 0000000..a1aed6e --- /dev/null +++ b/vehicle_templates/Heli/Allister/48_guided_operation.param @@ -0,0 +1,4 @@ +FS_GCS_ENABLE,0 +RALLY_INCL_HOME,1 +RALLY_TOTAL,0 +SYSID_MYGCS,255 diff --git a/vehicle_templates/Heli/Allister/49_precision_land.param b/vehicle_templates/Heli/Allister/49_precision_land.param new file mode 100644 index 0000000..e8c6185 --- /dev/null +++ b/vehicle_templates/Heli/Allister/49_precision_land.param @@ -0,0 +1,27 @@ +EK3_RNG_M_NSE,0.5 +EK3_RNG_USE_HGT,-1 +LAND_ALT_LOW,1000 +LAND_SPEED,50 +PLND_ACC_P_NSE,2.5 +PLND_ALT_MAX,8 +PLND_ALT_MIN,0.75 +PLND_BUS,-1 +PLND_CAM_POS_X,0.14 +PLND_CAM_POS_Y,0 +PLND_CAM_POS_Z,0.05 +PLND_ENABLED,0 +PLND_EST_TYPE,0 +PLND_LAG,0.24 +PLND_LAND_OFS_X,0 +PLND_LAND_OFS_Y,0 +PLND_OPTIONS,0 +PLND_RET_BEHAVE,0 +PLND_RET_MAX,4 +PLND_STRICT,1 +PLND_TIMEOUT,4 +PLND_TYPE,1 +PLND_XY_DIST_MAX,0 +PLND_YAW_ALIGN,0 +PSC_POSXY_P,1 +RC10_OPTION,0 # Relay On/Off to activate precision landing light +RC11_OPTION,0 # Precision loiter diff --git a/vehicle_templates/Heli/Allister/50_everyday_use.param b/vehicle_templates/Heli/Allister/50_everyday_use.param new file mode 100644 index 0000000..69d8f89 --- /dev/null +++ b/vehicle_templates/Heli/Allister/50_everyday_use.param @@ -0,0 +1,7 @@ +ATC_THR_MIX_MAX,0.7 # according to autotune documentation this should be raised up-to 0.9 after the tune +BATT_FS_LOW_ACT,0 # outdoors we want the drone to come back +BATT2_FS_LOW_ACT,2 # outdoors we want the drone to come back +LOG_BITMASK,180221 # 2:GPS,3:System Performance,4:Control Tuning,6:RC input,7:IMU,8:Mission Commands,9:Battery Monitor,12:PID,13:Compass,17:Motors +MIS_OPTIONS,0 +RTL_ALT,2000 # The default is too high for the kind of flights we do. This reduces the altitude for outdoors +RTL_CLIMB_MIN,0 # always rise at least 1 meter as a visual indicator diff --git a/vehicle_templates/Heli/Allister/vehicle_components.json b/vehicle_templates/Heli/Allister/vehicle_components.json new file mode 100644 index 0000000..34215eb --- /dev/null +++ b/vehicle_templates/Heli/Allister/vehicle_components.json @@ -0,0 +1,184 @@ +{ + "Format version": 1, + "Components": { + "Flight Controller": { + "Product": { + "Manufacturer": "CubePilot", + "Model": "CubeOrange", + "URL": "https://www.robotshop.com/products/cubepilot-the-cube-orange-standard-set-ads-b-carrier-board", + "Version": "1.0" + }, + "Firmware": { + "Type": "Heli", + "Version": "4.5.5" + }, + "Notes": "This is CubeOrange with 94.5mm x 44.3mm x 17.3mm" + }, + "Frame": { + "Product": { + "Manufacturer": "", + "Model": "", + "URL": "", + "Version": "" + }, + "Specifications": { + "TOW min Kg": 2, + "TOW max Kg": 2 + }, + "Notes": "" + }, + "RC Controller": { + "Product": { + "Manufacturer": "", + "Model": "", + "URL": "", + "Version": "" + }, + "Firmware": { + "Type": "", + "Version": "" + }, + "Notes": "" + }, + "RC Transmitter": { + "Product": { + "Manufacturer": "", + "Model": "", + "URL": "", + "Version": "" + }, + "Firmware": { + "Type": "", + "Version": "" + }, + "Notes": "integrated in RC controller" + }, + "RC Receiver": { + "Product": { + "Manufacturer": "", + "Model": "", + "URL": "", + "Version": "" + }, + "Firmware": { + "Type": "", + "Version": "" + }, + "FC Connection": { + "Type": "SERIAL1", + "Protocol": "All" + }, + "Notes": "This receiver is on the vehicle and is connected to the flight controller" + }, + "Telemetry": { + "Product": { + "Manufacturer": "", + "Model": "", + "URL": "", + "Version": "" + }, + "Firmware": { + "Type": "", + "Version": "" + }, + "FC Connection": { + "Type": "SERIAL2", + "Protocol": "MAVLink2" + }, + "Notes": "" + }, + "Battery Monitor": { + "Product": { + "Manufacturer": "CubePilot", + "Model": "HX4-06008", + "URL": "https://docs.cubepilot.org/user-guides/autopilot/the-cube-user-manual#power-module-connection", + "Version": "PB01A21" + }, + "Firmware": { + "Type": "", + "Version": "" + }, + "FC Connection": { + "Type": "Analog", + "Protocol": "Analog Voltage and Current" + }, + "Notes": "Voltage is done via the flight controller. Current is done via the ESC." + }, + "Battery": { + "Product": { + "Manufacturer": "", + "Model": "", + "URL": "", + "Version": "" + }, + "Specifications": { + "Chemistry": "LipoHV", + "Volt per cell max": 4.2, + "Volt per cell low": 3.6, + "Volt per cell crit": 3.55, + "Number of cells": 6, + "Capacity mAh": 30000 + }, + "Notes": "" + }, + "ESC": { + "Product": { + "Manufacturer": "", + "Model": "", + "URL": "", + "Version": "" + }, + "Firmware": { + "Type": "", + "Version": "" + }, + "FC Connection": { + "Type": "Main Out", + "Protocol": "Normal" + }, + "Notes": "" + }, + "Motors": { + "Product": { + "Manufacturer": "", + "Model": "", + "URL": "", + "Version": "" + }, + "Specifications": { + "Poles": 14 + }, + "Notes": "" + }, + "Propellers": { + "Product": { + "Manufacturer": "", + "Model": "", + "URL": "", + "Version": "" + }, + "Specifications": { + "Diameter_inches": 43 + }, + "Notes": "" + }, + "GNSS Receiver": { + "Product": { + "Manufacturer": "CubePilot", + "Model": "Here 3", + "URL": "https://docs.cubepilot.org/user-guides/here-3/here-3-manual", + "Version": "1" + }, + "Firmware": { + "Type": "UBlox", + "Version": "1.13.2" + }, + "FC Connection": { + "Type": "SERIAL4", + "Protocol": "AUTO" + }, + "Notes": "uBlox M8P GNSS with a patch antenna." + } + }, + "Program version": "0.9.3" +} \ No newline at end of file