diff --git a/conf/airframes/tudelft/rotwing_7kg_common.xml b/conf/airframes/tudelft/rotwing_7kg_common.xml index 5560f57e2c..c419a9de22 100644 --- a/conf/airframes/tudelft/rotwing_7kg_common.xml +++ b/conf/airframes/tudelft/rotwing_7kg_common.xml @@ -58,11 +58,6 @@ - - - - - @@ -271,7 +266,6 @@
- diff --git a/conf/airframes/tudelft/rotwing_v3b.xml b/conf/airframes/tudelft/rotwing_v3b.xml index 5ad15a7649..2238a57a3c 100644 --- a/conf/airframes/tudelft/rotwing_v3b.xml +++ b/conf/airframes/tudelft/rotwing_v3b.xml @@ -25,7 +25,6 @@ - @@ -64,7 +63,6 @@ - @@ -242,6 +240,15 @@
+
+ + + + + + +
+
diff --git a/conf/airframes/tudelft/rotwing_v3d.xml b/conf/airframes/tudelft/rotwing_v3d.xml index adeb1f174d..278264386f 100644 --- a/conf/airframes/tudelft/rotwing_v3d.xml +++ b/conf/airframes/tudelft/rotwing_v3d.xml @@ -25,7 +25,6 @@ - @@ -55,7 +54,6 @@ - @@ -236,6 +234,15 @@
+
+ + + + + + +
+
diff --git a/conf/airframes/tudelft/rotwing_v3e.xml b/conf/airframes/tudelft/rotwing_v3e.xml index 9cc143e698..b866bd27c6 100644 --- a/conf/airframes/tudelft/rotwing_v3e.xml +++ b/conf/airframes/tudelft/rotwing_v3e.xml @@ -25,7 +25,6 @@ - @@ -55,7 +54,6 @@ - @@ -236,6 +234,15 @@
+
+ + + + + + +
+
diff --git a/conf/airframes/tudelft/rotwing_v3f.xml b/conf/airframes/tudelft/rotwing_v3f.xml index 0cedfd1c43..2b1b72b58d 100644 --- a/conf/airframes/tudelft/rotwing_v3f.xml +++ b/conf/airframes/tudelft/rotwing_v3f.xml @@ -234,6 +234,15 @@
+
+ + + + + + +
+
diff --git a/conf/airframes/tudelft/rotwing_v3g.xml b/conf/airframes/tudelft/rotwing_v3g.xml index cd66a133c7..571c947792 100644 --- a/conf/airframes/tudelft/rotwing_v3g.xml +++ b/conf/airframes/tudelft/rotwing_v3g.xml @@ -20,12 +20,11 @@ - - - - - - + + + + + @@ -55,7 +54,6 @@ - @@ -236,6 +234,15 @@
+
+ + + + + + +
+
diff --git a/conf/airframes/tudelft/rotwing_v3g_demo.xml b/conf/airframes/tudelft/rotwing_v3g_demo.xml new file mode 100644 index 0000000000..742be8c5c6 --- /dev/null +++ b/conf/airframes/tudelft/rotwing_v3g_demo.xml @@ -0,0 +1,387 @@ + + + + RotatingWingV3G + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + +
+ + +
diff --git a/conf/airframes/tudelft/rotwing_v3h.xml b/conf/airframes/tudelft/rotwing_v3h.xml index e0408c0671..7eca142ecf 100644 --- a/conf/airframes/tudelft/rotwing_v3h.xml +++ b/conf/airframes/tudelft/rotwing_v3h.xml @@ -25,7 +25,6 @@ - @@ -55,7 +54,6 @@ - @@ -236,6 +234,15 @@
+
+ + + + + + +
+
diff --git a/conf/flight_plans/tudelft/rotwing_cz_demo.xml b/conf/flight_plans/tudelft/rotwing_cz_demo.xml new file mode 100644 index 0000000000..dab0d8ff65 --- /dev/null +++ b/conf/flight_plans/tudelft/rotwing_cz_demo.xml @@ -0,0 +1,55 @@ + + +
+#include "autopilot_rc_helpers.h" +#include "modules/radio_control/radio_control.h" +#include "modules/rotwing_drone/rotwing_state.h" +#include "modules/checks/preflight_checks.h" +#include "stdbool.h" +#ifndef ROTWING_DEMO_SKEW_ENDPOINT +#define ROTWING_DEMO_SKEW_ENDPOINT 70.0 +#endif +#ifndef ROTWING_DEMO_SKEW_MIDPOINT +#define ROTWING_DEMO_SKEW_MIDPOINT 45.0 +#endif +static inline void rotwing_rc_set_skew(void) { + if (LessThan(radio_control.values[RADIO_CONTROL_ROTWING_DEMO], (MAX_PPRZ / 3))) { + rotwing_state.sp_skew_angle_deg = 0.f; + } else if (LessThan((2 * MAX_PPRZ / 3), radio_control.values[RADIO_CONTROL_ROTWING_DEMO])) { + rotwing_state.sp_skew_angle_deg = ROTWING_DEMO_SKEW_ENDPOINT; + } else { + rotwing_state.sp_skew_angle_deg = ROTWING_DEMO_SKEW_MIDPOINT; + } +} +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
\ No newline at end of file diff --git a/conf/userconf/tudelft/conf.xml b/conf/userconf/tudelft/conf.xml index be57bcf6d3..278bca74d5 100644 --- a/conf/userconf/tudelft/conf.xml +++ b/conf/userconf/tudelft/conf.xml @@ -585,12 +585,12 @@ + diff --git a/sw/airborne/modules/ctrl/eff_scheduling_rotwing.c b/sw/airborne/modules/ctrl/eff_scheduling_rotwing.c index dc22ed7027..91d333b42c 100644 --- a/sw/airborne/modules/ctrl/eff_scheduling_rotwing.c +++ b/sw/airborne/modules/ctrl/eff_scheduling_rotwing.c @@ -35,7 +35,6 @@ #include "modules/actuators/actuators.h" #include "modules/core/abi.h" -#include "modules/radio_control/radio_control.h" #ifndef SERVO_ROTATION_MECH_IDX #error ctrl_eff_sched_rotwing requires a servo named ROTATION_MECH_IDX @@ -349,28 +348,11 @@ void eff_scheduling_rotwing_update_hover_motor_effectiveness(void) // Update back motor q effectiveness g1g2[1][2] = - dM_dpprz[2] / eff_sched_var.Iyy; // pitch effectiveness back motor -#ifdef RADIO_CONTROL_EFF_SWITCH - if (radio_control.values[RADIO_CONTROL_EFF_SWITCH] > 1750) { - g1g2[0][1] = - roll_eff_slider / 1000.f; - } else { - g1g2[0][1] = roll_motor_p_eff_right; - } -#else g1g2[0][1] = roll_motor_p_eff_right; // roll effectiveness right motor (no airspeed compensation) -#endif - // Update right motor p and q effectiveness g1g2[1][1] = roll_motor_q_eff; // pitch effectiveness right motor // Update left motor p and q effectiveness -#ifdef RADIO_CONTROL_EFF_SWITCH - if (radio_control.values[RADIO_CONTROL_EFF_SWITCH] > 1750) { - g1g2[0][3] = roll_eff_slider / 1000.f; - } else { - g1g2[0][3] = roll_motor_p_eff_left; - } -#else g1g2[0][3] = roll_motor_p_eff_left; // roll effectiveness left motor -#endif g1g2[1][3] = -roll_motor_q_eff; // pitch effectiveness left motor }