diff --git a/ROMFS/px4fmu_common/init.d-posix/airframes/10044_sihsim_hex b/ROMFS/px4fmu_common/init.d-posix/airframes/10044_sihsim_hex index 36ae9a26d7..2219fc5361 100644 --- a/ROMFS/px4fmu_common/init.d-posix/airframes/10044_sihsim_hex +++ b/ROMFS/px4fmu_common/init.d-posix/airframes/10044_sihsim_hex @@ -45,3 +45,5 @@ param set-default PWM_MAIN_FUNC5 105 param set-default PWM_MAIN_FUNC6 106 param set-default EKF2_GPS_DELAY 0 + +param set-default THR_MDL_FAC 1 # simulated quadratic motor thrust diff --git a/src/modules/simulation/simulator_sih/sih.cpp b/src/modules/simulation/simulator_sih/sih.cpp index 68b9e380de..7bf37364aa 100644 --- a/src/modules/simulation/simulator_sih/sih.cpp +++ b/src/modules/simulation/simulator_sih/sih.cpp @@ -337,6 +337,10 @@ void Sih::generate_force_and_torques(const float dt) m3 m2 ├1/2┤ ├ 1 ┤ */ + for (int i = 0; i < 6; ++i) { + _u[i] *= _u[i]; // quadratic thrust model + } + _T_B = Vector3f(0.0f, 0.0f, -_T_MAX * (+_u[0] + _u[1] + _u[2] + _u[3] + _u[4] + _u[5])); _Mt_B = Vector3f(_L_ROLL * _T_MAX * (-.5f * _u[0] - _u[1] - .5f * _u[2] + .5f * _u[3] + _u[4] + .5f * _u[5]), _L_PITCH * _T_MAX * (M_SQRT3_F / 2.f) * (+_u[0] - _u[2] - _u[3] + _u[5]),