From 3a21902e9117e95401a5b4e572500d50a66b1e70 Mon Sep 17 00:00:00 2001 From: PX4BuildBot Date: Tue, 19 Jan 2021 14:22:49 +0000 Subject: [PATCH] Update PX4 Firmware metadata Tue Jan 19 14:22:49 UTC 2021 --- src/AutoPilotPlugins/PX4/AirframeFactMetaData.xml | 10 + .../PX4/PX4ParameterFactMetaData.xml | 525 +++++++++++++++++++++ 2 files changed, 535 insertions(+) diff --git a/src/AutoPilotPlugins/PX4/AirframeFactMetaData.xml b/src/AutoPilotPlugins/PX4/AirframeFactMetaData.xml index a1a774f..a898608 100644 --- a/src/AutoPilotPlugins/PX4/AirframeFactMetaData.xml +++ b/src/AutoPilotPlugins/PX4/AirframeFactMetaData.xml @@ -141,6 +141,11 @@ feed-through of RC AUX1 channel feed-through of RC AUX2 channel + + Copter + Silvan Fuhrer + Hexarotor x + @@ -384,6 +389,11 @@ motor 3 motor 4 + + Copter + Silvan Fuhrer + Quadrotor x + Copter Thomas Gubler <thomas@px4.io> diff --git a/src/FirmwarePlugin/PX4/PX4ParameterFactMetaData.xml b/src/FirmwarePlugin/PX4/PX4ParameterFactMetaData.xml index 65e9826..7cee1bd 100644 --- a/src/FirmwarePlugin/PX4/PX4ParameterFactMetaData.xml +++ b/src/FirmwarePlugin/PX4/PX4ParameterFactMetaData.xml @@ -306,6 +306,153 @@ m/s^2 + + + Body X axis angular velocity D gain + Body X axis angular velocity differential gain. Small values help reduce fast oscillations. If value is too big oscillations will appear again. + 0.0 + 2.0 + 4 + 0.01 + + + Body X axis angular velocity feedforward gain + Improves tracking performance. + 0.0 + Nm/(rad/s) + 4 + + + Body X axis angular velocity I gain + Body X axis angular velocity integral gain. Can be set to compensate static thrust difference or gravity center offset. + 0.0 + Nm/rad + 3 + 0.01 + + + Body X axis angular velocity integrator limit + Body X axis angular velocity integrator limit. Can be set to increase the amount of integrator available to counteract disturbances or reduced to improve settling time after large roll moment trim changes. + 0.0 + Nm + 2 + 0.01 + + + Body X axis angular velocity controller gain + Global gain of the controller. This gain scales the P, I and D terms of the controller: output = AVC_X_K * (AVC_X_P * error + AVC_X_I * error_integral + AVC_X_D * error_derivative) Set AVC_X_P=1 to implement a PID in the ideal form. Set AVC_X_K=1 to implement a PID in the parallel form. + 0.0 + 5.0 + 4 + 0.0005 + + + Body X axis angular velocity P gain + Body X axis angular velocity proportional gain, i.e. control output for angular speed error 1 rad/s. + 0.0 + 20.0 + 1/s + 3 + 0.01 + + + Body Y axis angular velocity D gain + Body Y axis angular velocity differential gain. Small values help reduce fast oscillations. If value is too big oscillations will appear again. + 0.0 + 2.0 + 4 + 0.01 + + + Body Y axis angular velocity feedforward + Improves tracking performance. + 0.0 + Nm/(rad/s) + 4 + + + Body Y axis angular velocity I gain + Body Y axis angular velocity integral gain. Can be set to compensate static thrust difference or gravity center offset. + 0.0 + Nm/rad + 3 + 0.01 + + + Body Y axis angular velocity integrator limit + Body Y axis angular velocity integrator limit. Can be set to increase the amount of integrator available to counteract disturbances or reduced to improve settling time after large pitch moment trim changes. + 0.0 + Nm + 2 + 0.01 + + + Body Y axis angular velocity controller gain + Global gain of the controller. This gain scales the P, I and D terms of the controller: output = AVC_Y_K * (AVC_Y_P * error + AVC_Y_I * error_integral + AVC_Y_D * error_derivative) Set AVC_Y_P=1 to implement a PID in the ideal form. Set AVC_Y_K=1 to implement a PID in the parallel form. + 0.0 + 20.0 + 4 + 0.0005 + + + Body Y axis angular velocity P gain + Body Y axis angular velocity proportional gain, i.e. control output for angular speed error 1 rad/s. + 0.0 + 20.0 + 1/s + 3 + 0.01 + + + Body Z axis angular velocity D gain + Body Z axis angular velocity differential gain. Small values help reduce fast oscillations. If value is too big oscillations will appear again. + 0.0 + 2.0 + 2 + 0.01 + + + Body Z axis angular velocity feedforward + Improves tracking performance. + 0.0 + Nm/(rad/s) + 4 + 0.01 + + + Body Z axis angular velocity I gain + Body Z axis angular velocity integral gain. Can be set to compensate static thrust difference or gravity center offset. + 0.0 + Nm/rad + 2 + 0.01 + + + Body Z axis angular velocity integrator limit + Body Z axis angular velocity integrator limit. Can be set to increase the amount of integrator available to counteract disturbances or reduced to improve settling time after large yaw moment trim changes. + 0.0 + Nm + 2 + 0.01 + + + Body Z axis angular velocity controller gain + Global gain of the controller. This gain scales the P, I and D terms of the controller: output = AVC_Z_K * (AVC_Z_P * error + AVC_Z_I * error_integral + AVC_Z_D * error_derivative) Set AVC_Z_P=1 to implement a PID in the ideal form. Set AVC_Z_K=1 to implement a PID in the parallel form. + 0.0 + 5.0 + 4 + 0.0005 + + + Body Z axis angular velocity P gain + Body Z axis angular velocity proportional gain, i.e. control output for angular speed error 1 rad/s. + 0.0 + 20.0 + 1/s + 2 + 0.01 + + Acceleration compensation based on GPS @@ -1404,6 +1551,340 @@ See COM_OBL_ACT and COM_OBL_RC_ACT to configure action min + + + Maximum value for actuator 0 + + + Minimum value for actuator 0 + + + Maximum value for actuator 10 + + + Minimum value for actuator 10 + + + Maximum value for actuator 11 + + + Minimum value for actuator 11 + + + Maximum value for actuator 12 + + + Minimum value for actuator 12 + + + Maximum value for actuator 13 + + + Minimum value for actuator 13 + + + Maximum value for actuator 14 + + + Minimum value for actuator 14 + + + Maximum value for actuator 15 + + + Minimum value for actuator 15 + + + Maximum value for actuator 1 + + + Minimum value for actuator 1 + + + Maximum value for actuator 2 + + + Minimum value for actuator 2 + + + Maximum value for actuator 3 + + + Minimum value for actuator 3 + + + Maximum value for actuator 4 + + + Minimum value for actuator 4 + + + Maximum value for actuator 5 + + + Minimum value for actuator 5 + + + Maximum value for actuator 6 + + + Minimum value for actuator 6 + + + Maximum value for actuator 7 + + + Minimum value for actuator 7 + + + Maximum value for actuator 8 + + + Minimum value for actuator 8 + + + Maximum value for actuator 9 + + + Minimum value for actuator 9 + + + Airframe ID + This is used to retrieve pre-computed control effectiveness matrix + 0 + 2 + + Multirotor + Standard VTOL (WIP) + Tiltrotor VTOL (WIP) + + + + Airspeed scaler + This compensates for the variation of flap effectiveness with airspeed. + + + Battery power level scaler + This compensates for voltage drop of the battery over time by attempting to normalize performance across the operating range of the battery. The copter should constantly behave as if it was fully charged with reduced max acceleration at lower battery percentages. i.e. if hover is at 0.5 throttle at 100% battery, it will still be 0.5 at 60% battery. + + + Axis of rotor 0 thrust vector, X body axis component + + + Axis of rotor 0 thrust vector, Y body axis component + + + Axis of rotor 0 thrust vector, Z body axis component + + + Thrust coefficient of rotor 0 + The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between CA_ACT0_MIN and CA_ACT0_MAX) is the output signal sent to the motor controller. + + + Moment coefficient of rotor 0 + The moment coefficient if defined as Torque = KM * Thrust Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation. + + + Position of rotor 0 along X body axis + + + Position of rotor 0 along Y body axis + + + Position of rotor 0 along Z body axis + + + Axis of rotor 1 thrust vector, X body axis component + + + Axis of rotor 1 thrust vector, Y body axis component + + + Axis of rotor 1 thrust vector, Z body axis component + + + Thrust coefficient of rotor 1 + The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between CA_ACT1_MIN and CA_ACT1_MAX) is the output signal sent to the motor controller. + + + Moment coefficient of rotor 1 + The moment coefficient if defined as Torque = KM * Thrust, Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation. + + + Position of rotor 1 along X body axis + + + Position of rotor 1 along Y body axis + + + Position of rotor 1 along Z body axis + + + Axis of rotor 2 thrust vector, X body axis component + + + Axis of rotor 2 thrust vector, Y body axis component + + + Axis of rotor 2 thrust vector, Z body axis component + + + Thrust coefficient of rotor 2 + The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between CA_ACT2_MIN and CA_ACT2_MAX) is the output signal sent to the motor controller. + + + Moment coefficient of rotor 2 + The moment coefficient if defined as Torque = KM * Thrust Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation. + + + Position of rotor 2 along X body axis + + + Position of rotor 2 along Y body axis + + + Position of rotor 2 along Z body axis + + + Axis of rotor 3 thrust vector, X body axis component + + + Axis of rotor 3 thrust vector, Y body axis component + + + Axis of rotor 3 thrust vector, Z body axis component + + + Thrust coefficient of rotor 3 + The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between CA_ACT3_MIN and CA_ACT3_MAX) is the output signal sent to the motor controller. + + + Moment coefficient of rotor 3 + The moment coefficient if defined as Torque = KM * Thrust Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation. + + + Position of rotor 3 along X body axis + + + Position of rotor 3 along Y body axis + + + Position of rotor 3 along Z body axis + + + Axis of rotor 4 thrust vector, X body axis component + + + Axis of rotor 4 thrust vector, Y body axis component + + + Axis of rotor 4 thrust vector, Z body axis component + + + Thrust coefficient of rotor 4 + The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between CA_ACT4_MIN and CA_ACT4_MAX) is the output signal sent to the motor controller. + + + Moment coefficient of rotor 4 + The moment coefficient if defined as Torque = KM * Thrust Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation. + + + Position of rotor 4 along X body axis + + + Position of rotor 4 along Y body axis + + + Position of rotor 4 along Z body axis + + + Axis of rotor 5 thrust vector, X body axis component + + + Axis of rotor 5 thrust vector, Y body axis component + + + Axis of rotor 5 thrust vector, Z body axis component + + + Thrust coefficient of rotor 5 + The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between CA_ACT5_MIN and CA_ACT5_MAX) is the output signal sent to the motor controller. + + + Moment coefficient of rotor 5 + The moment coefficient if defined as Torque = KM * Thrust Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation. + + + Position of rotor 5 along X body axis + + + Position of rotor 5 along Y body axis + + + Position of rotor 5 along Z body axis + + + Axis of rotor 6 thrust vector, X body axis component + + + Axis of rotor 6 thrust vector, Y body axis component + + + Axis of rotor 6 thrust vector, Z body axis component + + + Thrust coefficient of rotor 6 + The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between CA_ACT6_MIN and CA_ACT6_MAX) is the output signal sent to the motor controller. + + + Moment coefficient of rotor 6 + The moment coefficient if defined as Torque = KM * Thrust Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation. + + + Position of rotor 6 along X body axis + + + Position of rotor 6 along Y body axis + + + Position of rotor 6 along Z body axis + + + Axis of rotor 7 thrust vector, X body axis component + + + Axis of rotor 7 thrust vector, Y body axis component + + + Axis of rotor 7 thrust vector, Z body axis component + + + Thrust coefficient of rotor 7 + The thrust coefficient if defined as Thrust = CT * u^2, where u (with value between CA_ACT7_MIN and CA_ACT7_MAX) is the output signal sent to the motor controller. + + + Moment coefficient of rotor 7 + The moment coefficient if defined as Torque = KM * Thrust Use a positive value for a rotor with CCW rotation. Use a negative value for a rotor with CW rotation. + + + Position of rotor 7 along X body axis + + + Position of rotor 7 along Y body axis + + + Position of rotor 7 along Z body axis + + + Control allocation method + 0 + 1 + + Pseudo-inverse with output clipping (default) + Pseudo-inverse with sequential desaturation technique + + + Configure DShot @@ -12402,6 +12883,50 @@ to fixed wing mode. Zero or negative values will produce an instant throttle ris 0.01 + + + Inertia matrix, XX component + kg m^2 + 5 + 0.00001 + + + Inertia matrix, XY component + kg m^2 + 5 + 0.00001 + + + Inertia matrix, XZ component + kg m^2 + 5 + 0.00001 + + + Inertia matrix, YY component + kg m^2 + 5 + 0.00001 + + + Inertia matrix, YZ component + kg m^2 + 5 + 0.00001 + + + Inertia matrix, ZZ component + kg m^2 + 5 + 0.00001 + + + Mass + kg + 5 + 0.00001 + + EXFW_HDNG_P