diff --git a/ROMFS/px4fmu_common/init.d/airframes/22000_asl_easyglider b/ROMFS/px4fmu_common/init.d/airframes/22000_asl_easyglider new file mode 100644 index 0000000000..4713aeecb4 --- /dev/null +++ b/ROMFS/px4fmu_common/init.d/airframes/22000_asl_easyglider @@ -0,0 +1,51 @@ +#!/bin/sh +# +# @name ASL_EasyGlider +# +# @type Standard Plane +# @class Plane +# +# @output MAIN1 aileron +# @output MAIN2 aileron +# @output MAIN3 elevator +# @output MAIN4 rudder +# @output MAIN5 throttle +# @output MAIN6 wheel +# @output MAIN7 flaps +# +# @output AUX1 feed-through of RC AUX1 channel +# @output AUX2 feed-through of RC AUX2 channel +# @output AUX3 feed-through of RC AUX3 channel +# +# @maintainer Philipp Oettershagen +# +# @board px4_fmu-v2 exclude +# @board bitcraze_crazyflie exclude +# + +. ${R}etc/init.d/rc.fw_defaults + +if [ $AUTOCNF == yes ] +then + param set FW_AIRSPD_MIN 10 + param set FW_AIRSPD_TRIM 15 + param set FW_AIRSPD_MAX 20 + + param set FW_MAN_P_MAX 45 + param set FW_MAN_R_MAX 45 + param set FW_R_LIM 45 + + param set FW_WR_FF 0.2 + param set FW_WR_I 0.2 + param set FW_WR_IMAX 0.8 + param set FW_WR_P 1 + param set FW_W_RMAX 0 + + # set disarmed value for the ESC + param set PWM_DISARMED 1000 +fi + +set MIXER asl_easyglider + +# use PWM parameters for throttle channel +set PWM_OUT 5 diff --git a/ROMFS/px4fmu_common/init.d/airframes/22001_asl_techpod b/ROMFS/px4fmu_common/init.d/airframes/22001_asl_techpod new file mode 100644 index 0000000000..310dc3f7d3 --- /dev/null +++ b/ROMFS/px4fmu_common/init.d/airframes/22001_asl_techpod @@ -0,0 +1,52 @@ +#!/bin/sh +# +# @name ASL_Techpod +# +# @type Plane A-Tail +# @class Plane +# +# @output MAIN1 aileron right +# @output MAIN2 aileron left +# @output MAIN3 v-tail right +# @output MAIN4 v-tail left +# @output MAIN5 throttle +# @output MAIN6 wheel +# @output MAIN7 flaps right +# @output MAIN8 flaps left +# +# @output AUX1 feed-through of RC AUX1 channel +# @output AUX2 feed-through of RC AUX2 channel +# @output AUX3 feed-through of RC AUX3 channel +# +# @maintainer Philipp Oettershagen +# +# @board px4_fmu-v2 exclude +# @board bitcraze_crazyflie exclude +# + +. ${R}etc/init.d/rc.fw_defaults + +if [ $AUTOCNF == yes ] +then + param set FW_AIRSPD_MIN 10 + param set FW_AIRSPD_TRIM 15 + param set FW_AIRSPD_MAX 20 + + param set FW_MAN_P_MAX 55 + param set FW_MAN_R_MAX 55 + param set FW_R_LIM 55 + + param set FW_WR_FF 0.2 + param set FW_WR_I 0.2 + param set FW_WR_IMAX 0.8 + param set FW_WR_P 1 + param set FW_W_RMAX 0 + + # set disarmed value for the ESC + param set PWM_DISARMED 1000 +fi + +set MIXER asl_techpod + +# use PWM parameters for throttle channel +set PWM_OUT 5 diff --git a/ROMFS/px4fmu_common/init.d/airframes/22002_asl_sensesoar2 b/ROMFS/px4fmu_common/init.d/airframes/22002_asl_sensesoar2 new file mode 100644 index 0000000000..7e96826e2a --- /dev/null +++ b/ROMFS/px4fmu_common/init.d/airframes/22002_asl_sensesoar2 @@ -0,0 +1,52 @@ +#!/bin/sh +# +# @name ASL_SenseSoar2 +# +# @type Plane A-Tail +# @class Plane +# +# @output MAIN1 aileron right +# @output MAIN2 aileron left +# @output MAIN3 v-tail right +# @output MAIN4 v-tail left +# @output MAIN5 throttle +# @output MAIN6 wheel +# @output MAIN7 flaps right +# @output MAIN8 flaps left +# +# @output AUX1 feed-through of RC AUX1 channel +# @output AUX2 feed-through of RC AUX2 channel +# @output AUX3 feed-through of RC AUX3 channel +# +# @maintainer Philipp Oettershagen +# +# @board px4_fmu-v2 exclude +# @board bitcraze_crazyflie exclude +# + +. ${R}etc/init.d/rc.fw_defaults + +if [ $AUTOCNF == yes ] +then + param set FW_AIRSPD_MIN 12 + param set FW_AIRSPD_TRIM 15 + param set FW_AIRSPD_MAX 20 + + param set FW_MAN_P_MAX 45 + param set FW_MAN_R_MAX 45 + param set FW_R_LIM 55 + + param set FW_WR_FF 0.2 + param set FW_WR_I 0.2 + param set FW_WR_IMAX 0.8 + param set FW_WR_P 1 + param set FW_W_RMAX 0 + + # set disarmed value for the ESC + param set PWM_DISARMED 1000 +fi + +set MIXER asl_sensoar2 + +# use PWM parameters for throttle channel +set PWM_OUT 5 diff --git a/ROMFS/px4fmu_common/init.d/airframes/CMakeLists.txt b/ROMFS/px4fmu_common/init.d/airframes/CMakeLists.txt index 80bd3b6e3b..4d433ec771 100644 --- a/ROMFS/px4fmu_common/init.d/airframes/CMakeLists.txt +++ b/ROMFS/px4fmu_common/init.d/airframes/CMakeLists.txt @@ -157,6 +157,11 @@ px4_add_romfs_files( # [18000, 18999] High-altitude balloons 18001_TF-B1 + # [22000, 22999] ETHZ ASL Vehicles + 22000_asl_easyglider + 22001_asl_techpod + 22002_asl_sensesoar2 + 24001_dodeca_cox 50000_generic_ground_vehicle diff --git a/ROMFS/px4fmu_common/mixers/CMakeLists.txt b/ROMFS/px4fmu_common/mixers/CMakeLists.txt index 21acaf67e9..e60dc9b260 100644 --- a/ROMFS/px4fmu_common/mixers/CMakeLists.txt +++ b/ROMFS/px4fmu_common/mixers/CMakeLists.txt @@ -94,4 +94,8 @@ px4_add_romfs_files( vtol_delta.aux.mix vtol_tailsitter_duo.main.mix wingwing.main.mix + #ETHZ ASL Custom Mixers + asl_easyglider.main.mix + asl_sensesoar2.main.mix + asl_techpod.main.mix ) diff --git a/ROMFS/px4fmu_common/mixers/asl_easyglider.main.mix b/ROMFS/px4fmu_common/mixers/asl_easyglider.main.mix new file mode 100644 index 0000000000..44ceb79d0c --- /dev/null +++ b/ROMFS/px4fmu_common/mixers/asl_easyglider.main.mix @@ -0,0 +1,70 @@ +ASL EasyGlider mixer +============================= + +Documentation: https://dev.px4.io/en/concept/mixing.html + +Inputs to the mixer come from channel group 0 (vehicle attitude), channels 0 +(roll), 1 (pitch), 2 (yaw) and 3 (thrust) 4 (flaps). + +Motor speed mixer +----------------- +Two scalers total (output, thrust). + +This mixer generates a full-range output (-1 to 1) from an input in the (0 - 1) +range. Inputs below zero are treated as zero. + +M: 1 +O: 10000 10000 0 -10000 10000 +S: 0 3 0 20000 -10000 -10000 10000 + +Right Aileron mixer +--------------------------------- + +This mixer assumes that the aileron servos are set up correctly mechanically; +depending on the actual configuration it may be necessary to reverse the scaling +factors (to reverse the servo movement) and adjust the offset, scaling and +endpoints to suit. + +M: 2 +O: 10000 10000 0 -10000 10000 +S: 0 0 6000 10000 0 -10000 10000 +S: 0 4 0 -10000 0 -10000 10000 + +Elevator mixer +------------ +Two scalers total (output, roll). + +This mixer assumes that the elevator servo is set up correctly mechanically; +depending on the actual configuration it may be necessary to reverse the scaling +factors (to reverse the servo movement) and adjust the offset, scaling and +endpoints to suit. + +M: 1 +O: 10000 10000 0 -10000 10000 +S: 0 1 -10000 -10000 0 -10000 10000 + +Rudder mixer +------------ +Two scalers total (output, yaw). + +This mixer assumes that the rudder servo is set up correctly mechanically; +depending on the actual configuration it may be necessary to reverse the scaling +factors (to reverse the servo movement) and adjust the offset, scaling and +endpoints to suit. + +M: 1 +O: -10000 -10000 0 -10000 10000 +S: 0 2 10000 10000 0 -10000 10000 + +Left Aileron mixer +--------------------------------- + +This mixer assumes that the aileron servos are set up correctly mechanically; +depending on the actual configuration it may be necessary to reverse the scaling +factors (to reverse the servo movement) and adjust the offset, scaling and +endpoints to suit. + +M: 2 +O: 10000 10000 0 -10000 10000 +S: 0 0 -10000 -6000 0 -10000 10000 +S: 0 4 0 -10000 0 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/asl_sensesoar2.main.mix b/ROMFS/px4fmu_common/mixers/asl_sensesoar2.main.mix new file mode 100644 index 0000000000..4334aafe72 --- /dev/null +++ b/ROMFS/px4fmu_common/mixers/asl_sensesoar2.main.mix @@ -0,0 +1,61 @@ +ASL SenseSoar2 mixer for PX4IO +============================= + +Documentation: https://dev.px4.io/en/concept/mixing.html + +Note1: CH2 AilR is down for pos PWM signal change, CH5 Ail L the other way around. +Note2: The mixer defines a certain aileron differential, but the phyiscal differential + is stronger because of the servo mechanics (70% mixer diff -> ca. 60% physical). +Note3: In the extras.txt on the sd-card, set pwm min/max such that the ailerons have + 2.5cm upwards and 2.0cm downwards travel at FULL (u=+/- 1.0) mixer output. The + downwards travel with the mixer differential is then obviously less. + +============================= + +### Motor +M: 1 +O: 10000 10000 0 -10000 10000 +S: 0 3 0 20000 -10000 -10000 10000 + + +### Right aileron (with differential) +M: 1 +O: 10000 10000 0 -10000 10000 +S: 0 0 -7000 -10000 0 -10000 10000 + + +### Right ruddervator +M: 2 +O: 6000 6000 0 -10000 10000 +S: 0 1 -6500 -6500 0 -10000 10000 +S: 0 2 7500 7500 0 -10000 10000 + + +### Left ruddervator +M: 2 +O: 6000 6000 0 -10000 10000 +S: 0 1 6500 6500 0 -10000 10000 +S: 0 2 7500 7500 0 -10000 10000 + + +### Left aileron (with differential) +M: 1 +O: 10000 10000 0 -10000 10000 +S: 0 0 -10000 -7000 0 -10000 10000 + + +### Right flap +#M: 1 +#O: 10000 10000 0 -10000 4000 +#S: 3 4 10000 10000 0 -10000 10000 + +### Right flap +M: 1 +O: 10000 10000 0 -10000 4000 +S: 0 4 0 20000 -10000 -10000 10000 + + +### Left flap +M: 1 +O: 10000 10000 0 -4000 10000 +S: 0 4 0 -20000 10000 -10000 10000 diff --git a/ROMFS/px4fmu_common/mixers/asl_techpod.main.mix b/ROMFS/px4fmu_common/mixers/asl_techpod.main.mix new file mode 100644 index 0000000000..680a5a85a7 --- /dev/null +++ b/ROMFS/px4fmu_common/mixers/asl_techpod.main.mix @@ -0,0 +1,47 @@ +ASL Techpod mixer for PX4IO +============================= + +Documentation: https://dev.px4.io/en/concept/mixing.html + +============================= + +### Motor +M: 1 +O: 10000 10000 0 -10000 10000 +S: 0 3 0 20000 -10000 -10000 10000 + + +### Right aileron (with differential) +M: 1 +O: 10000 10000 0 -10000 10000 +S: 0 0 -7500 -10000 0 -10000 10000 + + +### Elevator +M: 1 +O: 6000 6000 0 -10000 10000 +S: 0 1 6000 6000 0 -6000 6000 + + +### Rudder +M: 1 +O: 10000 10000 0 -10000 10000 +S: 0 2 -6000 -6000 0 -6000 6000 + + +### Left aileron (with differential) +M: 1 +O: 10000 10000 0 -10000 10000 +S: 0 0 -10000 -7500 0 -10000 10000 + + +### Right flap +M: 1 +O: 10000 10000 0 -10000 10000 +S: 0 4 10000 10000 0 -4000 4000 + + +### Left flap +M: 1 +O: 10000 10000 0 -10000 10000 +S: 0 4 10000 10000 0 -4000 4000