2 changes: 1 addition & 1 deletion conf/airframes/OPENUAS/openuas_df_mini_spirit.xml
Expand Up @@ -185,7 +185,7 @@
(differential) pressure sensor module publishing the BARO_DIFF ABI message.
Make sure to disable other modules which otherwise directly set the
airspeed in the state interface. E.g. when using the airspeed_ms45xx.xml module,
define USE_AIRSPEED or USE_AIRSPEED_MS45XX to FALSE only when Airdata is set to TRUE
define USE_AIRSPEED to FALSE only when Airdata is set to TRUE
Sometimes one just wants to measure, and not yet use the airspeed in
a final navigational solution then also set it to FALSE
-->
Expand Down
2 changes: 1 addition & 1 deletion conf/airframes/OPENUAS/openuas_eflite_t28.xml
Expand Up @@ -243,7 +243,7 @@ NOTES:
(differential) pressure sensor module publishing the BARO_DIFF ABI message.
Make sure to disable other modules which otherwise directly set the
airspeed in the state interface. E.g. when using the airspeed_ms45xx.xml module,
define USE_AIRSPEED or USE_AIRSPEED_MS45XX to FALSE only when Airdata is set to TRUE
define USE_AIRSPEED to FALSE only when Airdata is set to TRUE
Sometimes one just wants to measure, and not yet use the airspeed in
a final navigational solution then also set it to FALSE
-->
Expand Down
1 change: 1 addition & 0 deletions conf/airframes/OPENUAS/openuas_eflite_umx_sbach_342.xml
Expand Up @@ -61,6 +61,7 @@
<module name="pwm_meas.xml"/> <!-- To be able to measure PWM pulses -->
<module name="rpm_sensor.xml">
<define name="RPM_PULSE_PER_RND" value="18"/><!-- TODO: determine correct value for this specific setup -->
<define name="RPM_SENSOR_ACTUATOR_IDX" value="0"/>
</module>
<module name="ins"/>
</target>
Expand Down
79 changes: 51 additions & 28 deletions conf/airframes/OPENUAS/openuas_multiplex_minimag.xml
Expand Up @@ -44,7 +44,8 @@ NOTES:
<!-- ********************** For in the real flying hardware ******************** -->

<target name="ap" board="px4fmu_4.0">
<!--<define name="GPS_UBX_MAX_PAYLOAD" value="2048"/>--><!-- Temp enlarge buffer for debugging velocity issue of uBlox M9 types FW v4.03-->
<!--<define name="GPS_UBX_MAX_PAYLOAD" value="2048"/>-->
<!-- Temp enlarge buffer for debugging velocity issue of uBlox M9 types FW v4.03-->

<!-- Towards better kind of aligner initial conditions -->

Expand All @@ -69,7 +70,7 @@ NOTES:

<configure name="NAVIGATION_FREQUENCY" value="16"/> <!-- unit="Hz" -->
<configure name="CONTROL_FREQUENCY" value="120"/> <!-- unit="Hz" -->
<configure name="TELEMETRY_FREQUENCY" value="60"/> <!-- unit="Hz" -->
<configure name="TELEMETRY_FREQUENCY" value="64"/> <!-- unit="Hz" PERIODIC_FREQ must be dividable -->
<configure name="MODULES_FREQUENCY" value="512"/> <!-- unit="Hz" -->

<module name="imu" type="mpu9250_spi">
Expand All @@ -91,7 +92,8 @@ NOTES:
of nifty Galilleio setting we rather keep that so no autosetting now.-->
<!--<module name="gps" type="ubx_ucenter">-->
<!--<define name="GPS_UBX_NAV5_DYNAMICS" value="NAV5_DYN_PEDESTRIAN"/>-->
<!--<define name="GPS_UBX_UCENTER_RATE" value="51"/>--> <!-- In milliseconds. 0x0033 = 51ms = ~19Hz --><!-- make sure packets fit portrate-->
<!--<define name="GPS_UBX_UCENTER_RATE" value="51"/>--> <!-- In milliseconds. 0x0033 = 51ms = ~19Hz -->
<!-- make sure packets fit portrate-->
<!--</module>-->

<module name="airspeed_ets">
Expand Down Expand Up @@ -142,7 +144,8 @@ NOTES:
<define name="RADIO_CONTROL_NB_CHANNEL" value="16"/> <!-- Set the OpenRXSR receiver to maximum channel output of 8 9ms -->
<!--<configure name="SBUS_PORT" value="UART5"/>--> <!-- Default use UART2 on FMU4 -->
<!-- Mode set one a three way switch -->
<!-- Per default already GEAR if not defined <define name="RADIO_MODE" value="RADIO_GEAR"/> --><!-- yes, already done by default if not redefined to something else-->
<!-- Per default already GEAR if not defined <define name="RADIO_MODE" value="RADIO_GEAR"/> -->
<!-- yes, already done by default if not redefined to something else-->
<define name="RADIO_GEAR" value="RADIO_AUX2"/>
<define name="RADIO_FLAP" value="RADIO_AUX3"/>
</module>
Expand All @@ -159,9 +162,11 @@ NOTES:
<define name="BENCHMARK_TOLERANCE_POSITION" value="6" unit="m"/>
</module>-->

<!--<module name="sys_mon"/>--><!-- Enable if one want to check processor load for higher loop, nav, module etc. frequencies -->
<!--<module name="sys_mon"/>-->
<!-- Enable if one want to check processor load for higher loop, nav, module etc. frequencies -->

<!-- <module name="mag_calib_ukf"/>--><!-- New, and needs more testing, be careful with testflights if enabled -->
<!-- <module name="mag_calib_ukf"/>-->
<!-- New, and needs more testing, be careful with testflights if enabled -->

<module name="tune_airspeed"/>

Expand Down Expand Up @@ -195,7 +200,8 @@ NOTES:
<!-- For various parameter info here https://wiki.paparazziuav.org/wiki/Subsystem/ahrs -->
<!--<module name="ahrs" type="int_cmpl_quat">
</module>-->
<!--<module name="uart"/>--><!-- TODO: Exteral HITL PC debugging e.g a photocam trigger etc -->
<!--<module name="uart"/>-->
<!-- TODO: Exteral HITL PC debugging e.g a photocam trigger etc -->
</target>

<!-- ********* Another way for simulation of the flight *************-->
Expand Down Expand Up @@ -237,11 +243,10 @@ NOTES:
<!-- ********************* and another one ... ********************* -->
<!-- <target name="yasim" board="pc"> -->
<!-- Note NPS needs the ppm type radio_control module -->
<!--
<module name="radio_control" type="ppm">
<!-- <module name="radio_control" type="ppm">
<module name="fdm" type="yasim"/>
<module name="udp"/>-->
<!-- </target>-->
<module name="udp"/>
</target> -->

<!-- ********** Common Defines and Config and values for both Real Hardware and Simulation ***** -->

Expand All @@ -252,7 +257,7 @@ NOTES:
(differential) pressure sensor module publishing the BARO_DIFF ABI message.
Make sure to disable other modules which otherwise directly set the
airspeed in the state interface. E.g. when using the airspeed_ms45xx.xml module,
define USE_AIRSPEED or USE_AIRSPEED_MS45XX to FALSE only when Airdata is set to TRUE
define USE_AIRSPEED to FALSE only when Airdata is set to TRUE
Sometimes one just wants to measure, and not yet use the airspeed in
a final navigational solution then also set it to FALSE
-->
Expand Down Expand Up @@ -286,14 +291,16 @@ NOTES:
<define name="USE_AHRS_GPS_ACCELERATIONS" value="TRUE"/> <!-- forward acceleration compensation from GPS speed -->
<define name="USE_MAGNETOMETER_ONGROUND" value="TRUE"/> <!--DEFINE only used if float_dcm Use magnetic compensation before takeoff only while GPS course not good -->
<!-- If AHRS_MAG_CORRECT_FREQUENCY is set outside of target no need USE_MAGNETOMETER it is assumed TRUE -->
<!--<configure name="USE_MAGNETOMETER" value="TRUE"/>--><!-- should be as in USE the device-->
<!--<configure name="USE_MAGNETOMETER" value="TRUE"/>-->
<!-- should be as in USE the device-->

<!-- ************************* MODULES ************************* -->
<!-- Warning: unit conversion does not work in this section of airframe, so use the native units, or you'll have trouble...-->

<module name="gps" type="ublox">
<configure name="GPS_BAUD" value="B460800"/><!-- UBX message only but rate set to ~12HZ with GPS, GLONASS, BEIDU and GALILEIO at the SAME time is lots of GNSS data-->
<!-- <configure name="GPS_PORT" value="UARTx"/>--><!-- Uses the default GPS port on pixracer no need to set it -->
<!-- <configure name="GPS_PORT" value="UARTx"/>-->
<!-- Uses the default GPS port on pixracer no need to set it -->
</module>

<module name="tune_airspeed"/> <!-- Enable if one want to perform airspeed tuning -->
Expand All @@ -302,17 +309,21 @@ NOTES:
<!--<configure name="AHRS_USE_MAGNETOMETER" value="TRUE"/>--> <!-- as in USE it for values in the AHRS -->
<configure name="AHRS_ALIGNER_LED" value="2"/><!-- Which color you want sir? ;) -->
<define name="AHRS_MAG_UPDATE_ALL_AXES" value="TRUE"/> <!-- if TRUE with those high roll n pith angles magneto should be calibrated well or use UKF autocalib -->
<!--<define name="AHRS_USE_GPS_HEADING" value="FALSE"/>--><!-- TRUE by default Use GPS course to update heading for time being,if FALSE data from magneto only -->
<!--<define name="AHRS_USE_GPS_HEADING" value="FALSE"/>-->
<!-- TRUE by default Use GPS course to update heading for time being,if FALSE data from magneto only -->
<!--<define name="AHRS_GRAVITY_UPDATE_COORDINATED_TURN" value="TRUE"/>--> <!--Already TRUE by default Compensation of centrifugal force via GPS speed (to fly in circles with a fixedwing)"-->
<define name="AHRS_GPS_SPEED_IN_NEGATIVE_Z_DIRECTION" value="FALSE"/> <!-- AHRS_GRAVITY_UPDATE_COORDINATED_TURN assumes the GPS speed is in the X axis direction. Quadshot, DelftaCopter and other hybrids can have the GPS speed in the negative Z direction" -->
<!--<define name="AHRS_PROPAGATE_LOW_PASS_RATES" value="TRUE"/>--> <!-- apply a low pass filter on rotational velocity"-->
<!--<define name="AHRS_BIAS_UPDATE_HEADING_THRESHOLD" value="0.174533"/>--><!--unit="rad"/--><!-- don't update gyro bias if heading deviation is above this rotation threshold"-->
<!--<define name="AHRS_BIAS_UPDATE_HEADING_THRESHOLD" value="0.174533"/>-->
<!--unit="rad"/-->
<!-- don't update gyro bias if heading deviation is above this rotation threshold"-->
<define name="AHRS_HEADING_UPDATE_GPS_MIN_SPEED" value="3.0"/> <!--unit="m/s"--> <!-- CAREFULL, Don't update heading from GPS course if GPS ground speed is below is this threshold in m/s" -->
<!-- Some insights https://lists.nongnu.org/archive/html/paparazzi-devel/2013-10/msg00126.html -->
<define name="AHRS_GRAVITY_HEURISTIC_FACTOR" value="0.0"/> <!-- TODO: determine Default is 30.0 Reduce accelerometer cut-off frequency when the vehicle is accelerating: norm(ax,ay,az) 9,81 m/s2. WARNING: when the IMU is not well damped, the norm of accelerometers never equals to 9,81 m/s2. As a result, the GRAVITY_HEURISTIC_FACTOR will reduce the accelerometer bandwith even if the vehicle is not accelerating. -->
<!--<define name="AHRS_FC_IMU_ID" value="ABI_BROADCAST"/>--> <!-- ABI sender id of IMU to use Change is you change your AHRS type -->
<define name="AHRS_FC_MAG_ID" value="MAG_HMC58XX_SENDER_ID"/><!-- MAG_CALIB_UKF_ID for when using the mag_clib_ukf change your AHRS type-->
<!--<define name="AHRS_FC_MAG_ID" value="MAG_QMC5883_SENDER_ID" />--><!-- Use this insted of MAG_HMC5883_SENDER_ID for alternative sensor -->
<!--<define name="AHRS_FC_MAG_ID" value="MAG_QMC5883_SENDER_ID" />-->
<!-- Use this insted of MAG_HMC5883_SENDER_ID for alternative sensor -->
</module>

<module name="ins" type="alt_float"> <!--Does not work in SIM: extended thus use alt_float"/> -->
Expand All @@ -324,9 +335,11 @@ NOTES:
<module name="control" type="new"/><!-- energy or energyadaptive or type="new" to you gusto -->
<module name="navigation"/>

<!--<module name="imu_quality_assessment"/>--><!-- disable after initial filter tuning-->
<!--<module name="imu_quality_assessment"/>-->
<!-- disable after initial filter tuning-->

<module name="auto1_commands"/><!-- FIXME not working in JSBSim target with RC controller steering in Simulator--><!-- NOT finished for NON intermcu to be able to set GEAR and FLAP etc. in stabiized mode for easier testflights -->
<module name="auto1_commands"/><!-- FIXME not working in JSBSim target with RC controller steering in Simulator-->
<!-- NOT finished for NON intermcu to be able to set GEAR and FLAP etc. in stabiized mode for easier testflights -->

<module name="baro_ms5611_spi">
<configure name="MS5611_SPI_DEV" value="spi1"/>
Expand All @@ -345,7 +358,9 @@ NOTES:

<!-- Quite a good alternative for the catapult module in this case -->
<!--<module name="takeoff_detect">-->
<!--<define name="TAKEOFF_DETECT_LAUNCH_PITCH" value="0.785398"/>--><!-- unit="rad"--><!--45deg Pitch angle for takeoff detection (sets 'launch' state to TRUE)-->
<!--<define name="TAKEOFF_DETECT_LAUNCH_PITCH" value="0.785398"/>-->
<!-- unit="rad"-->
<!--45deg Pitch angle for takeoff detection (sets 'launch' state to TRUE)-->
<!--<define name="TAKEOFF_DETECT_ABORT_PITCH" value="-0.349066"/>--> <!-- unit="rad"--> <!-- -20deg Pitch angle to abort takeoff (set 'launch' to FALSE)-->
<!--<define name="TAKEOFF_DETECT_TIMER" value="1.2"/>--> <!-- Timer for takeoff detection in seconds (default 2s above pitch angle threshold)-->
<!--<define name="TAKEOFF_DETECT_DISABLE_TIMER" value="6.0"/>--> <!--Timer for module de-activation (default 4s after the launch detection)-->
Expand Down Expand Up @@ -380,21 +395,24 @@ NOTES:
<!-- <module name="current_sensor">
<define name="USE_ADC_3"/>
<configure name="ADC_CURRENT_SENSOR" value="ADC_3"/>-->
<!-- <define name="CURRENT_ESTIMATION_NONLINEARITY" value="1.3"/>--><!-- TODO determine -->
<!-- <define name="CURRENT_ESTIMATION_NONLINEARITY" value="1.3"/>-->
<!-- TODO determine -->
<!-- </module>-->

<module name="nav" type="line"/>
<module name="nav" type="line_border"/>
<module name="nav" type="line_osam"/>
<module name="nav" type="survey_polygon">
<define name="POLYSURVEY_DEFAULT_DISTANCE" value="40"/> <!--unit="m"--><!-- Make it your fit for plan and camera type for overlap -->
<define name="POLYSURVEY_DEFAULT_DISTANCE" value="40"/> <!--unit="m"-->
<!-- Make it your fit for plan and camera type for overlap -->
</module>
<module name="nav" type="survey_poly_osam"/>
<module name="nav" type="smooth"/>
<module name="nav" type="vertical_raster"/>
<module name="nav" type="flower"/>

<!-- module name="nav" type="catapult"/> --><!-- TODO Switch it on later after first flights -->
<!-- module name="nav" type="catapult"/> -->
<!-- TODO Switch it on later after first flights -->

<!-- For R15 a ST LIS3MDL magneto on the main PCB test if conflict with other magneto -->
<!--module name="mag_lis3mdl">
Expand All @@ -417,9 +435,11 @@ NOTES:
our luck at least the tree axis are aligned already in hardware :) -->
<module name="mag" type="hmc58xx">
<!-- <define name="MAG_TO_IMU_THETA" value="6" unit="deg"/>-->
<!--<define name="HMC58XX_STARTUP_DELAY" value="1.4"/>--><!-- If you mag somehow does not work, Enable this line, and maybe even change it to a higher value if it still does not work e.g. 1.9 -->
<!--<define name="HMC58XX_STARTUP_DELAY" value="1.4"/>-->
<!-- If you mag somehow does not work, Enable this line, and maybe even change it to a higher value if it still does not work e.g. 1.9 -->
<configure name="MAG_HMC58XX_I2C_DEV" value="i2c1"/>
<!--<define name="MODULE_HMC58XX_SYNC_SEND" value="TRUE"/>--><!-- temporary for debugging external magneto and setup orientation sign and Body to Magneto angles-->
<!--<define name="MODULE_HMC58XX_SYNC_SEND" value="TRUE"/>-->
<!-- temporary for debugging external magneto and setup orientation sign and Body to Magneto angles-->
<define name="MODULE_HMC58XX_UPDATE_AHRS" value="TRUE"/> <!-- When all calib and works to TRUE -->

<define name="HMC58XX_CHAN_X" value="1"/>
Expand Down Expand Up @@ -873,7 +893,8 @@ The most crucial part for the magnetometer calibration:
<define name="ROLL_KFFA" value="100"/>
<define name="ROLL_KFFD" value="10"/>

<!--<define name="PITCH_OF_ROLL" value="4." unit="deg"/>--><!-- TODO: -->
<!--<define name="PITCH_OF_ROLL" value="4." unit="deg"/>-->
<!-- TODO: -->
<define name="AILERON_OF_THROTTLE" value="0.0"/><!-- TODO: in case of some pusher prop over control flap -->

</section>
Expand Down Expand Up @@ -985,8 +1006,10 @@ The most crucial part for the magnetometer calibration:
<!-- **************************** BAT ****************************** -->
<section name="BAT">
<define name="MAX_BAT_CAPACITY" value="2200" unit="mAh"/><!-- Change if battery is differen en you have no current measurement -->
<!--<define name="MilliAmpereOfAdc(_adc)" value="(_adc-632)*4.14"/>--><!-- Change if you have a non default 3DR type powerbrick-->
<!--<define name="VoltageOfAdc(_adc)" value="0.01017793941"/>--><!-- Change if you have a non default 3DR type powerbrick-->
<!--<define name="MilliAmpereOfAdc(_adc)" value="(_adc-632)*4.14"/>-->
<!-- Change if you have a non default 3DR type powerbrick-->
<!--<define name="VoltageOfAdc(_adc)" value="0.01017793941"/>-->
<!-- Change if you have a non default 3DR type powerbrick-->
<!-- tested at V 11.7 the avg --> <!-- idle RPM then ?.0A half throttle ?A-->
<define name="MILLIAMP_AT_IDLE_THROTTLE" value="280" unit="mA"/><!-- We substract ESC selfusage+AP+telemetry max-->
<define name="MILLIAMP_AT_FULL_THROTTLE" value="10600" unit="mA"/><!--at max volts-->
Expand Down
4 changes: 2 additions & 2 deletions conf/airframes/OPENUAS/openuas_multiplex_twinstar_nd.xml
Expand Up @@ -187,7 +187,7 @@ NOTES:
(differential) pressure sensor module publishing the BARO_DIFF ABI message.
Make sure to disable other modules which otherwise directly set the
airspeed in the state interface. E.g. when using the airspeed_ms45xx.xml module,
define USE_AIRSPEED or USE_AIRSPEED_MS45XX to FALSE only when Airdata is set to TRUE
define USE_AIRSPEED to FALSE only when Airdata is set to TRUE
Sometimes one just wants to measure, and not yet use the airspeed in
a final navigational solution then also set it to FALSE
-->
Expand Down Expand Up @@ -344,7 +344,7 @@ NOTES:
<module name="photogrammetry_calculator"/>

<!--Unkn aux camsw -->
<module name="digital_cam">
<module name="digital_cam_gpio">
<define name="DC_SHUTTER_GPIO" value="GPIOB,GPIO2"/><!-- correct pin add to board file one from Wifi pins-->
</module>

Expand Down
2 changes: 1 addition & 1 deletion conf/airframes/OPENUAS/openuas_own_flexo.xml
Expand Up @@ -220,7 +220,7 @@ NOTES:
(differential) pressure sensor module publishing the BARO_DIFF ABI message.
Make sure to disable other modules which otherwise directly set the
airspeed in the state interface. E.g. when using the airspeed_ms45xx.xml module,
define USE_AIRSPEED or USE_AIRSPEED_MS45XX to FALSE only when Airdata is set to TRUE
define USE_AIRSPEED to FALSE only when Airdata is set to TRUE
Sometimes one just wants to measure, and not yet use the airspeed in
a final navigational solution then also set it to FALSE
-->
Expand Down
2 changes: 1 addition & 1 deletion conf/airframes/OPENUAS/openuas_own_sumo_ii.xml
Expand Up @@ -222,7 +222,7 @@ NOTES:
(differential) pressure sensor module publishing the BARO_DIFF ABI message.
Make sure to disable other modules which otherwise directly set the
airspeed in the state interface. E.g. when using the airspeed_ms45xx.xml module,
define USE_AIRSPEED or USE_AIRSPEED_MS45XX to FALSE only when Airdata is set to TRUE
define USE_AIRSPEED to FALSE only when Airdata is set to TRUE
Sometimes one just wants to measure, and not yet use the airspeed in
a final navigational solution then also set it to FALSE
-->
Expand Down
2 changes: 1 addition & 1 deletion conf/airframes/OPENUAS/openuas_parrot_ardrone_2.xml
Expand Up @@ -145,7 +145,7 @@
<module name="stabilization" type="indi_simple"/>
<!-- for later if simple works
<module name="stabilization" type="indi">
<define name="INDI_RPM_FEEDBACK" value="TRUE"/>
<define name="STABILIZATION_INDI_RPM_FEEDBACK" value="TRUE"/>
</module>-->
<!--<module name="guidance" type="indi"/>--><!-- for later if classic works-->

Expand Down
2 changes: 1 addition & 1 deletion conf/airframes/OPENUAS/openuas_parrot_bebop.xml
Expand Up @@ -65,7 +65,7 @@
<module name="stabilization" type="rate_indi"/>
<!--<module name="stabilization" type="indi_simple"/>--><!-- not used ATM -->
<module name="stabilization" type="indi">
<define name="INDI_RPM_FEEDBACK" value="TRUE"/>
<define name="STABILIZATION_INDI_RPM_FEEDBACK" value="TRUE"/>
<define name="GUIDANCE_INDI_SPECIFIC_FORCE_GAIN" value="-500.0"/>
<define name="GUIDANCE_INDI_THRUST_DYNAMICS" value="0.1"/>
<define name="GUIDANCE_INDI_RC_DEBUG" value="FALSE"/>
Expand Down
2 changes: 1 addition & 1 deletion conf/airframes/OPENUAS/openuas_parrot_disco.xml
Expand Up @@ -255,7 +255,7 @@
(differential) pressure sensor module publishing the BARO_DIFF ABI message.
Make sure to disable other modules which otherwise directly set the
airspeed in the state interface. E.g. when using the airspeed_ms45xx.xml module,
define USE_AIRSPEED or USE_AIRSPEED_MS45XX to FALSE only when Airdata is set to TRUE
define USE_AIRSPEED to FALSE only when Airdata is set to TRUE
Sometimes one just wants to measure, and not yet use the airspeed in
a final navigational solution then also set it to FALSE
-->
Expand Down
Expand Up @@ -134,7 +134,7 @@
<module name="udp"/>
<!-- INDI RPM feedback not implemented in sim, will it be YOU who adds this? TIA! -->
<module name="stabilization" type="indi_simple">
<define name="INDI_RPM_FEEDBACK" value="FALSE"/>
<define name="STABILIZATION_INDI_RPM_FEEDBACK" value="FALSE"/>
</module>
<!--<module name="uart"/>--><!-- TODO: Exteral HITL PC debugging e.g test external device triggering while mission flying in sim -->

Expand Down Expand Up @@ -182,7 +182,7 @@
<module name="stabilization" type="indi_simple"/>
<!-- for later if simple works we then need to add RPM feedback... a big effort :(
<module name="stabilization" type="indi">
<define name="INDI_RPM_FEEDBACK" value="TRUE"/>
<define name="STABILIZATION_INDI_RPM_FEEDBACK" value="TRUE"/>
</module>-->
<!--<module name="guidance" type="indi">
<define name="GUIDANCE_INDI_SPECIFIC_FORCE_GAIN" value="-500.0"/>
Expand Down Expand Up @@ -225,7 +225,7 @@
<define name="AGL_DIST_FILTER" value="0.1"/>
</module>

<!--<module name="digital_cam">-->
<!--<module name="digital_cam_gpio">-->
<!-- <define name="DC_SHUTTER_GPIO" value="GPIOB,GPIO22"/>--> <!-- should be value="CAM_SWITCH_GPIO"/>-->
<!--</module>-->

Expand Down
2 changes: 1 addition & 1 deletion conf/airframes/examples/MentorEnergy.xml
Expand Up @@ -67,7 +67,7 @@
<define name="STROBE_LIGHT_MODE_DEFAULT" value="6"/>
<define name="NAV_LIGHT_MODE_DEFAULT" value="4"/>
</module>
<module name="digital_cam">
<module name="digital_cam_gpio">
<define name="DC_SHUTTER_GPIO" value="GPIOC,GPIO12"/>
</module>
<!-- module name="nav" type="catapult"/-->
Expand Down
210 changes: 84 additions & 126 deletions conf/airframes/examples/bebop2_opticflow.xml
@@ -1,89 +1,60 @@
<!DOCTYPE airframe SYSTEM "../airframe.dtd">

<airframe name="bebop2_opticflow">
<description>
BEBOP2 airframe:
- requires fixed dampers
- uses bottom camera for hovering (no GPS and no Optitrack)
- uses the flow from the front camera to navigate
</description>

<firmware name="rotorcraft">

<target name="ap" board="bebop">
<define name="VIDEO_CAPTURE_PATH" value="/data/ftp/internal_000/images"/>
<define name="FILE_LOGGER_PATH" value="/data/ftp/internal_000/log"/> <!-- we did not include log before -->
<define name="FILE_LOGGER_PATH" value="/data/ftp/internal_000/log"/>
<define name="TEXTONS_DICTIONARY_PATH" value="/data/ftp/internal_000"/>
</target>
<!-- <target name="nps" board="pc">

<target name="nps" board="pc">
<module name="fdm" type="gazebo"/>
<define name="VIDEO_CAPTURE_PATH" value="/home/guido/paparazzi/images/"/>
<define name="FILE_LOGGER_PATH" value="/home/guido/paparazzi/log/"/>
<define name="VIDEO_CAPTURE_PATH" value="~/paparazzi/images/"/>
<define name="FILE_LOGGER_PATH" value="~/paparazzi/log/"/>
<define name="TEXTONS_DICTIONARY_PATH" value="~/paparazzi/images/"/>
</target>
-->

<define name="USE_SONAR"/>

<module name="telemetry" type="transparent_udp"/>
<module name="radio_control" type="datalink"/>
<module name="motor_mixing"/>
<module name="actuators" type="bebop"/>
<module name="imu" type="bebop"/>
<module name="gps" type="datalink"/>
<module name="gps" type="datalink"/><!-- For logging purposes -->
<module name="stabilization" type="indi_simple"/>

<!--
<module name="ins" type="flow"/>

<!-- Alternative:
<module name="ahrs" type="int_cmpl_quat">
<configure name="USE_MAGNETOMETER" value="FALSE"/>
<define name="AHRS_USE_GPS_HEADING" value="TRUE"/>
<define name="AHRS_HEADING_UPDATE_GPS_MIN_SPEED" value="0"/>
</module>
<module name="ins" type="extended"/>
-->
<module name="ins" type="extended"/>
-->

<define name="AHRS_USE_GPS_HEADING" value="TRUE"/>
<define name="AHRS_HEADING_UPDATE_GPS_MIN_SPEED" value="0"/>
<define name="AHRS_USE_GPS_HEADING" value="FALSE"/>
<define name="AHRS_FLOATING_HEADING" value="1"/>

<module name="ins" type="flow"/>

<!-- Disable use of GPS: -->
<!-- <define name="INS_INT_GPS_ID" value="ABI_DISABLE"/>
</module> -->

<!-- <module name="geo_mag"/>
<module name="air_data"/>
<module name="gps" type="ubx_ucenter"/> -->

<module name="bebop_cam">
<!-- IMPORTANT to limit these or FPS drops significantly -->
<!-- <define name="MT9F002_TARGET_FPS" value="30"/> --> <!-- Front cam -->
<define name="MT9V117_TARGET_FPS" value="90"/> <!-- Bottom cam -->
</module>
<module name="bebop_cam"/>
<module name="pose_history"/>

<module name="logger_file">
<define name="LOGGER_FILE_PATH" value="/data/ftp/internal_000"/>
<!-- <define name="LOGGER_FILE_PATH" value="/home/guido/paparazzi/log"/> -->
</module>

<module name="logger_file"/>

<module name="cv_opticflow">
<define name="OPTICFLOW_CAMERA" value="bottom_camera"/>

<define name="MAX_HORIZON" value="10"/>
<define name="OPTICFLOW_FX" value="347.22222222"/> <!-- 2.5 / (3.6 * 2.0) * 1000 -->
<define name="OPTICFLOW_FY" value="347.22222222"/> <!-- 2.5 / (3.6 * 2.0) * 1000 -->
<define name="OPTICFLOW_FOV_W" value="0.665499265"/> <!-- 2 * arctan(240 / (2*347.22222222)) -->
<define name="OPTICFLOW_FOV_H" value="0.665499265"/> <!-- 2 * arctan(240 / (2*347.22222222)) -->

<define name="OPTICFLOW_DEROTATION_CORRECTION_FACTOR_X" value="0.8"/> <!--Obtained from a linefit-->
<define name="OPTICFLOW_DEROTATION_CORRECTION_FACTOR_Y" value="0.85"/> <!--Obtained from a linefit-->
<configure name="OPTICFLOW_MAX_TRACK_CORNERS" value="20"/>
<define name="OPTICFLOW_FEATURE_MANAGEMENT" value="0"/>
<define name="OPTICFLOW_FPS" value="0"/>
<define name="OPTICFLOW_PYRAMID_LEVEL" value="0"/>
<define name="OPTICFLOW_SHOW_FLOW" value="1"/>

<!--
<define name="OPTICFLOW_CAMERA2" value="front_camera"/>
<define name="OPTICFLOW_DEROTATION_CORRECTION_FACTOR_X_CAMERA2" value="0.8"/>
<define name="OPTICFLOW_DEROTATION_CORRECTION_FACTOR_Y_CAMERA2" value="0.85"/>
<configure name="OPTICFLOW_MAX_TRACK_CORNERS_CAMERA2" value="20"/>
<define name="OPTICFLOW_FEATURE_MANAGEMENT_CAMERA2" value="0"/>
<define name="OPTICFLOW_FPS_CAMERA2" value="0"/>
<define name="OPTICFLOW_PYRAMID_LEVEL_CAMERA2" value="0"/>
<define name="OPTICFLOW_SHOW_FLOW_CAMERA2" value="1"/> -->
</module>

<module name="video_rtp_stream">
Expand All @@ -94,31 +65,12 @@
<define name="VIEWVIDEO_QUALITY_FACTOR" value="40"/>
</module>


<module name="video_capture">
<define name="VIDEO_CAPTURE_CAMERA" value="bottom_camera"/>
</module>

<!-- TODO: perhaps grey because of placement after optical flow? -->
<module name="cv_textons.xml">
<define name="TEXTONS_FPS" value="1"/>
<define name="TEXTONS_CAMERA" value="bottom_camera"/>
<define name="TEXTONS_N_TEXTONS" value="20"/>
<define name="TEXTONS_DICTIONARY_PATH" value="/data/ftp/internal_000"/>
</module>


<module name="optical_flow_landing.xml">
<define name="OFL_COV_SETPOINT" value="-0.075"/>
<define name="OFL_PGAIN" value="0.15"/>
<define name="OFL_IGAIN" value="0.005"/>
<define name="OFL_LP_CONST" value="0.033"/>
<define name="OFL_CLOSE_TO_EDGE" value="0.025"/>
<define name="OFL_IGAIN_ADAPTIVE" value="0.10"/>
<define name="OFL_CONTROL_METHOD" value="0"/> <!-- 1 is adaptive gain -->
<define name="OFL_P_LAND_THRESHOLD" value="0.25"/>
<define name="OFL_COV_LANDING_LIMIT" value="10.0"/>
</module>
<module name="cv_textons"/>
<module name="optical_flow_landing"/>

</firmware>

Expand Down Expand Up @@ -153,16 +105,66 @@
</command_laws>


<section name="BEBOP_BOTTOM_CAMERA" prefix="MT9V117_">
<!-- IMPORTANT to limit these or FPS drops significantly -->
<define name="TARGET_FPS" value="90"/>
</section>

<section name="BEBOP_FRONT_CAMERA" prefix="MT9F002_">
<!-- IMPORTANT to limit these or FPS drops significantly -->
<define name="TARGET_FPS" value="30" />
<define name="OUTPUT_HEIGHT" value="240" />
<define name="OUTPUT_WIDTH" value="240" />
<define name="OFFSET_X" value="0.14" />
<define name="ZOOM" value="3.2"/>
<!--define name="GAIN_GREEN1" value="10.0"/>
<define name="GAIN_GREEN2" value="10.0"/>
<define name="GAIN_BLUE" value="12.5"/>
<define name="GAIN_RED" value="9.0"/-->
<define name="TARGET_EXPOSURE" value="10" />
<define name="GAIN_RED" value="9.0"/>
<define name="TARGET_EXPOSURE" value="10" /-->
</section>

<section name="OPTICAL_FLOW" prefix="OPTICFLOW_">
<define name="CAMERA" value="bottom_camera"/>

<define name="FX" value="347.22222222"/> <!-- 2.5 / (3.6 * 2.0) * 1000 -->
<define name="FY" value="347.22222222"/> <!-- 2.5 / (3.6 * 2.0) * 1000 -->
<define name="FOV_W" value="0.665499265"/> <!-- 2 * arctan(240 / (2*347.22222222)) -->
<define name="FOV_H" value="0.665499265"/> <!-- 2 * arctan(240 / (2*347.22222222)) -->

<define name="DEROTATION_CORRECTION_FACTOR_X" value="0.8"/> <!--Obtained from a linefit-->
<define name="DEROTATION_CORRECTION_FACTOR_Y" value="0.85"/> <!--Obtained from a linefit-->
<define name="FEATURE_MANAGEMENT" value="0"/>
<define name="FPS" value="0"/>
<define name="PYRAMID_LEVEL" value="0"/>
<define name="SHOW_FLOW" value="1"/>


<define name="CAMERA2" value="front_camera"/>
<define name="DEROTATION_CORRECTION_FACTOR_X_CAMERA2" value="0.8"/>
<define name="DEROTATION_CORRECTION_FACTOR_Y_CAMERA2" value="0.85"/>
<define name="FEATURE_MANAGEMENT_CAMERA2" value="0"/>
<define name="FPS_CAMERA2" value="0"/>
<define name="PYRAMID_LEVEL_CAMERA2" value="0"/>
<define name="SHOW_FLOW_CAMERA2" value="1"/>
</section>

<section name="OPTICAL_FLOW_LANDING" PREFIX="OFL_">
<define name="COV_SETPOINT" value="-0.075"/>
<define name="PGAIN" value="0.15"/>
<define name="IGAIN" value="0.005"/>
<define name="LP_CONST" value="0.033"/>
<define name="CLOSE_TO_EDGE" value="0.025"/>
<define name="IGAIN_ADAPTIVE" value="0.10"/>
<define name="CONTROL_METHOD" value="0"/> <!-- 1 is adaptive gain -->
<define name="P_LAND_THRESHOLD" value="0.25"/>
<define name="COV_LANDING_LIMIT" value="10.0"/>
</section>

<section name="TEXTONS" prefix="TEXTONS_">
<define name="FPS" value="1"/>
<define name="CAMERA" value="bottom_camera"/>
<define name="N_TEXTONS" value="20"/>
</section>

<section name="AIR_DATA" prefix="AIR_DATA_">
Expand Down Expand Up @@ -222,10 +224,12 @@

<section name="SIMULATOR" prefix="NPS_">
<define name="ACTUATOR_NAMES" value="nw_motor, ne_motor, se_motor, sw_motor" type="string[]"/>
<!--define name="JSBSIM_MODEL" value="bebop" type="string"/-->
<define name="JSBSIM_MODEL" value="bebop" type="string"/>
<define name="SENSORS_PARAMS" value="nps_sensors_params_default.h" type="string"/>
<!-- Simulator resolution -->
<define name="MT9F002_SENSOR_RES_DIVIDER" value="4"/>
</section>

<include href="conf/simulator/gazebo/airframes/bebop.xml"/>

<section name="ATTITUDE_REFERENCE" prefix="STABILIZATION_ATTITUDE_">
Expand Down Expand Up @@ -253,8 +257,6 @@
<define name="G1_R" value="0.0075"/>
<define name="G2_R" value="0.236"/>



<!-- Here it is assumed that your removed the damping from your bebop2!
The dampers do not really damp, but cause oscillation. By removing/
fixing them, the bebop2 will fly much better-->
Expand All @@ -270,15 +272,7 @@
<define name="REF_RATE_Q" value="28.0"/>
<define name="REF_RATE_R" value="28.0"/>

<!-- second order filter parameters -->
<!-- old?
<define name="FILT_OMEGA" value="20.0"/>
<define name="FILT_ZETA" value="0.7"/>
<define name="FILT_OMEGA_R" value="20.0"/>
<define name="FILT_ZETA_R" value="0.7"/>
-->

<define name="FILT_CUTOFF" value="3.2"/>
<define name="FILT_CUTOFF" value="3.2"/>
<define name="FILT_CUTOFF_R" value="3.2"/>

<!-- first order actuator dynamics -->
Expand All @@ -297,12 +291,6 @@
<define name="HOVER_KI" value="20"/>
<define name="NOMINAL_HOVER_THROTTLE" value="0.52"/>
<define name="ADAPT_THROTTLE_ENABLED" value="TRUE"/>
<!-- old?
<define name="ADAPT_INITIAL_HOVER_THROTTLE" value="0.55"/>
<define name="ADAPT_MIN_HOVER_THROTTLE" value="0.48"/>
<define name="ADAPT_MAX_HOVER_THROTTLE" value="0.62"/>
<define name="ADAPT_NOISE_FACTOR" value="0.8"/>
-->
</section>

<section name="GUIDANCE_H" prefix="GUIDANCE_H_">
Expand All @@ -318,42 +306,11 @@
<define name="DESCEND_VSPEED" value="-0.75"/>
</section>

<section name="SIMULATOR" prefix="NPS_">
<define name="ACTUATOR_NAMES" value="nw_motor, ne_motor, se_motor, sw_motor" type="string[]"/>
<define name="JSBSIM_MODEL" value="simple_x_quad_ccw" type="string"/>
</section>

<section name="AUTOPILOT">

<!--
<define name="MODE_STARTUP" value="AP_MODE_ATTITUDE_DIRECT"/>
<define name="MODE_MANUAL" value="AP_MODE_ATTITUDE_DIRECT"/>
<define name="MODE_AUTO1" value="AP_MODE_NAV"/>
<define name="MODE_AUTO2" value="AP_MODE_NAV"/>
-->

<!--
<define name="MODE_STARTUP" value="AP_MODE_NAV"/>
<define name="MODE_MANUAL" value="AP_MODE_MODULE"/>
<define name="MODE_AUTO1" value="AP_MODE_MODULE"/>
<define name="MODE_AUTO2" value="AP_MODE_NAV"/>
-->

<!--
<define name="MODE_STARTUP" value="AP_MODE_NAV"/>
<define name="MODE_MANUAL" value="AP_MODE_ATTITUDE_DIRECT"/>
<define name="MODE_AUTO1" value="AP_MODE_ATTITUDE_DIRECT"/>
<define name="MODE_AUTO2" value="AP_MODE_NAV"/>
-->



<define name="MODE_STARTUP" value="AP_MODE_ATTITUDE_DIRECT"/>
<define name="MODE_MANUAL" value="AP_MODE_MODULE"/>
<define name="MODE_AUTO1" value="AP_MODE_MODULE"/>
<define name="MODE_AUTO2" value="AP_MODE_ATTITUDE_DIRECT"/>


<define name="NO_RC_THRUST_LIMIT" value="TRUE"/>
</section>

Expand All @@ -368,5 +325,6 @@
<define name="LOW_BAT_LEVEL" value="11.1" unit="V"/>
<define name="MAX_BAT_LEVEL" value="12.4" unit="V"/>
</section>

</airframe>

4 changes: 2 additions & 2 deletions conf/airframes/examples/matek_h743_slim.xml
Expand Up @@ -14,9 +14,9 @@
<target name="ap" board="matek_h743_slim">
</target>

<target name="nps" board="pc">
<!--target name="nps" board="pc">
<module name="fdm" type="jsbsim"/>
</target>
</target-->

<module name="radio_control" type="sbus"/>

Expand Down
2 changes: 1 addition & 1 deletion conf/airframes/examples/quadshot_asp21_spektrum.xml
Expand Up @@ -237,7 +237,7 @@
<define name="ACT_DYN_Q" value="0.03"/>
<define name="ACT_DYN_R" value="0.03"/>
<!-- Adaptive Learning Rate -->
<define name="USE_ADAPTIVE" value="TRUE"/>
<define name="USE_ADAPTIVE" value="FALSE"/>
<define name="ADAPTIVE_MU" value="0.0001"/>
</section>

Expand Down
2 changes: 1 addition & 1 deletion conf/airframes/examples/separate_fbw_ap.xml
Expand Up @@ -288,7 +288,7 @@
</module>

<!-- <module name="digital_cam_i2c"/> -->
<module name="digital_cam">
<module name="digital_cam_gpio">
<define name="DC_SHUTTER_GPIO" value="GPIOC,GPIO12"/>
</module>

Expand Down
2 changes: 1 addition & 1 deletion conf/airframes/examples/trashcan.xml
Expand Up @@ -45,7 +45,7 @@

<configure name="NAVIGATION_FREQUENCY" value="16"/>
<configure name="CONTROL_FREQUENCY" value="2000"/>
<configure name="TELEMETRY_FREQUENCY" value="120"/>
<configure name="TELEMETRY_FREQUENCY" value="128"/>
<configure name="MODULES_FREQUENCY" value="2048"/>

<define name="USE_PERSISTENT_SETTINGS" value="TRUE"/><!-- handy with the short flight time between tuning sets, not tested if it works yet, this board we have 16kb reserved -->
Expand Down
2 changes: 1 addition & 1 deletion conf/airframes/tudelft/ardrone2_indi.xml
Expand Up @@ -157,7 +157,7 @@
<define name="ACT_DYN_R" value="0.06"/>

<!-- Adaptive Learning Rate -->
<define name="USE_ADAPTIVE" value="TRUE"/>
<define name="USE_ADAPTIVE" value="FALSE"/>
<define name="ADAPTIVE_MU" value="0.0001"/>
</section>

Expand Down
2 changes: 1 addition & 1 deletion conf/airframes/tudelft/bebop2_indi.xml
Expand Up @@ -19,7 +19,7 @@
<module name="imu" type="bebop"/>
<module name="gps" type="ublox"/>
<module name="stabilization" type="indi">
<define name="INDI_RPM_FEEDBACK" value="TRUE"/>
<define name="STABILIZATION_INDI_RPM_FEEDBACK" value="TRUE"/>
</module>
<module name="ahrs" type="int_cmpl_quat">
<configure name="USE_MAGNETOMETER" value="TRUE"/>
Expand Down
2 changes: 1 addition & 1 deletion conf/airframes/tudelft/bebop2_no_damping.xml
Expand Up @@ -6,7 +6,7 @@

<firmware name="rotorcraft">
<target name="ap" board="bebop2">
<define name="INDI_RPM_FEEDBACK" value="TRUE"/>
<define name="STABILIZATION_INDI_RPM_FEEDBACK" value="TRUE"/>
</target>

<target name="nps" board="pc">
Expand Down
2 changes: 1 addition & 1 deletion conf/airframes/tudelft/bebop2_no_damping_WLS.xml
Expand Up @@ -6,7 +6,7 @@

<firmware name="rotorcraft">
<target name="ap" board="bebop2">
<define name="INDI_RPM_FEEDBACK" value="TRUE"/>
<define name="STABILIZATION_INDI_RPM_FEEDBACK" value="TRUE"/>
</target>

<target name="nps" board="pc">
Expand Down
5 changes: 5 additions & 0 deletions conf/airframes/tudelft/bebop2_optitrack_visionfront.xml
Expand Up @@ -46,6 +46,11 @@
<define name="OPTICFLOW_FEATURE_MANAGEMENT" value="0"/> <!-- feature management still sucks -->
<define name="OPTICFLOW_TRACK_BACK" value="1"/>
<define name="OPTICFLOW_SHOW_FLOW" value="1"/>

<define name="TEXTONS_FPS" value="1"/>
<define name="TEXTONS_CAMERA" value="bottom_camera"/>
<define name="TEXTONS_N_TEXTONS" value="20"/>
<define name="TEXTONS_DICTIONARY_PATH" value="/data/ftp/internal_000"/>
</module>

<module name="optical_flow_landing">
Expand Down
6 changes: 5 additions & 1 deletion conf/airframes/tudelft/bebop_course_orangeavoid.xml
@@ -1,7 +1,7 @@
<!DOCTYPE airframe SYSTEM "../airframe.dtd">

<airframe name="bebop_avoider">
<description>Vision Course TUDelft V2019
<description>MAVLAB Course TUDelft 2023
</description>


Expand Down Expand Up @@ -110,12 +110,15 @@
<define name="OUTPUT_HEIGHT" value="520" />
<define name="OUTPUT_WIDTH" value="240" />
<define name="OFFSET_X" value="0.09" />
<define name="OFFSET_Y" value="0.00" />
<define name="ZOOM" value="1.25"/>
<define name="GAIN_GREEN1" value="10.0"/>
<define name="GAIN_GREEN2" value="10.0"/>
<define name="GAIN_BLUE" value="12.5"/>
<define name="GAIN_RED" value="9.0"/>
<define name="TARGET_EXPOSURE" value="30" />
<!--define name="OUTPUT_SCALER" value="0.25"/>
<define name="TARGET_FPS" value="20" /-->
</section>

<section name="AIR_DATA" prefix="AIR_DATA_">
Expand Down Expand Up @@ -149,6 +152,7 @@

<section name="INS" prefix="INS_">
<define name="SONAR_MAX_RANGE" value="2.2"/>
<define name="SONAR_UPDATE_ON_AGL" value="TRUE"/>

<!-- Use GPS altitude measurments and set the R gain -->
<define name="USE_GPS_ALT" value="1"/>
Expand Down
6 changes: 4 additions & 2 deletions conf/airframes/tudelft/bebop_indi_actuators.xml
Expand Up @@ -6,13 +6,13 @@

<firmware name="rotorcraft">
<target name="ap" board="bebop">
<define name="INDI_RPM_FEEDBACK" value="TRUE"/>
<define name="STABILIZATION_INDI_RPM_FEEDBACK" value="TRUE"/>
</target>

<target name="nps" board="pc">
<module name="fdm" type="jsbsim"/>
<module name="udp"/>
<define name="INDI_RPM_FEEDBACK" value="FALSE"/>
<define name="STABILIZATION_INDI_RPM_FEEDBACK" value="FALSE"/>
</target>

<!--define name="USE_SONAR" value="TRUE"/-->
Expand All @@ -34,6 +34,8 @@
<define name="GUIDANCE_INDI_SPECIFIC_FORCE_GAIN" value="-500.0"/>
<define name="GUIDANCE_INDI_THRUST_DYNAMICS" value="0.1"/>
<define name="GUIDANCE_INDI_RC_DEBUG" value="FALSE"/>
<define name="WLS_N_U" value="4"/>
<define name="WLS_N_V" value="4"/>
</module>

<module name="geo_mag"/>
Expand Down
271 changes: 0 additions & 271 deletions conf/airframes/tudelft/bebop_mav_course_exercise.xml

This file was deleted.

1 change: 1 addition & 0 deletions conf/airframes/tudelft/bebop_mavlink.xml
Expand Up @@ -42,6 +42,7 @@

<module name="cv_blob_locator">
<define name="BLOB_LOCATOR_CAMERA" value="bottom_camera"/>
<define name="DETECT_WINDOW_CAMERA" value="bottom_camera"/>
</module>

<!--<module name="video_rtp_stream">
Expand Down
2 changes: 1 addition & 1 deletion conf/airframes/tudelft/bebop_opticflow_indoor.xml
Expand Up @@ -18,7 +18,7 @@
<module name="actuators" type="bebop"/>
<module name="imu" type="bebop"/>
<module name="stabilization" type="indi">
<define name="INDI_RPM_FEEDBACK" value="TRUE"/>
<define name="STABILIZATION_INDI_RPM_FEEDBACK" value="TRUE"/>
</module>
<module name="ahrs" type="int_cmpl_quat">
<configure name="USE_MAGNETOMETER" value="FALSE"/>
Expand Down
5 changes: 4 additions & 1 deletion conf/airframes/tudelft/bebop_opticflow_indoor_2x_30hz.xml
Expand Up @@ -26,10 +26,13 @@ pyramid level 2: 21 fps average, min=11fps
<module name="actuators" type="bebop"/>
<module name="imu" type="bebop"/>
<module name="stabilization" type="indi">
<define name="INDI_RPM_FEEDBACK" value="TRUE"/>
<define name="STABILIZATION_INDI_RPM_FEEDBACK" value="TRUE"/>
<define name="WLS_N_U" value="4"/>
<define name="WLS_N_V" value="4"/>
</module>
<module name="ahrs" type="int_cmpl_quat">
<configure name="USE_MAGNETOMETER" value="FALSE"/>
<define name="AHRS_FLOATING_HEADING" value="1"/><!-- accept floating heading -->
</module>
<module name="ins" type="hff_extended"/>
<define name="USE_SONAR"/>
Expand Down
4 changes: 3 additions & 1 deletion conf/airframes/tudelft/bebop_optitrack.xml
Expand Up @@ -18,7 +18,9 @@
<module name="imu" type="bebop"/>
<module name="gps" type="datalink"/>
<module name="stabilization" type="indi">
<define name="INDI_RPM_FEEDBACK" value="TRUE"/>
<define name="WLS_N_U" value="4"/>
<define name="WLS_N_V" value="4"/>
<define name="STABILIZATION_INDI_RPM_FEEDBACK" value="TRUE"/>
</module>
<module name="ahrs" type="int_cmpl_quat">
<!-- Use the optitrack heading instead of magnetometer -->
Expand Down
5 changes: 3 additions & 2 deletions conf/airframes/tudelft/cyfoam.xml
Expand Up @@ -233,8 +233,7 @@
<!--Use an airspeed sensor and get the measured airspeed in the messages-->
<module name="airspeed" type="ms45xx_i2c">
<define name="MS45XX_I2C_DEV" value="i2c1"/>
<define name="MS45XX_AIRSPEED_SCALE" value="2.4"/>
<define name="USE_AIRSPEED_MS45XX" value="TRUE"/>
<define name="MS45XX_PRESSURE_SCALE" value="1.546"/> <!-- 2.4 / 1.6327 * 1.0521 -->
</module>

<module name="pwm_meas">
Expand Down Expand Up @@ -290,6 +289,8 @@
</module>
<module name="stabilization" type="indi">
<define name="INDI_THRUST_ON_PITCH_EFF" value="23.0"/>
<define name="WLS_N_U" value="4" />
<define name="WLS_N_V" value="4" />
</module>
<module name="guidance" type="indi_hybrid">
<define name="GUIDANCE_INDI_RC_DEBUG" value="FALSE"/>
Expand Down
1 change: 1 addition & 0 deletions conf/airframes/tudelft/delfly_lisas.xml
Expand Up @@ -122,6 +122,7 @@
<define name="H_Y" value="0.00278894"/>
<define name="H_Z" value="0.92060036"/>
<define name="USE_GPS_HEADING" value="0"/>
<define name="FLOATING_HEADING" value="1"/><!-- accept floating heading -->

<!-- For vibrating airfames -->
<define name="GRAVITY_HEURISTIC_FACTOR" value="0"/>
Expand Down
4 changes: 2 additions & 2 deletions conf/airframes/tudelft/disco_modified.xml
Expand Up @@ -76,7 +76,7 @@

<configure name="NAVIGATION_FREQUENCY" value="16"/> <!-- unit="Hz" -->
<configure name="CONTROL_FREQUENCY" value="120"/> <!-- unit="Hz" -->
<configure name="TELEMETRY_FREQUENCY" value="60"/> <!-- unit="Hz" -->
<configure name="TELEMETRY_FREQUENCY" value="64"/> <!-- unit="Hz" PERIODIC_FREQ must be dividable by TELEMETRY -->
<configure name="MODULES_FREQUENCY" value="512"/> <!-- unit="Hz" -->

<module name="radio_control" type="sbus"/>
Expand Down Expand Up @@ -172,7 +172,7 @@
<configure name="AHRS_USE_MAGNETOMETER" value="TRUE"/> <!-- as in USE it for values in the AHRS -->
<configure name="AHRS_ALIGNER_LED" value="2"/><!-- Which color you want sir? ;) -->
<define name="AHRS_MAG_UPDATE_ALL_AXES" value="TRUE"/> <!-- if TRUE with those high roll n pith angles magneto should be calibrated well or use UKF autocalib -->
<define name="AHRS_USE_GPS_HEADING" value="TRUE"/><!-- TRUE by default Use GPS course to update heading for time being,if FALSE data from magneto only -->
<define name="AHRS_USE_GPS_HEADING" value="FALSE"/><!-- Either MAG or GPS. by default Use GPS course to update heading for time being,if FALSE data from magneto only -->
<!-- <define name="AHRS_GRAVITY_UPDATE_COORDINATED_TURN" value="FALSE"/>--> <!--Already TRUE by default Compensation of centrifugal force via GPS speed (to fly in circles with a fixedwing)"-->
<define name="AHRS_GPS_SPEED_IN_NEGATIVE_Z_DIRECTION" value="FALSE"/> <!-- AHRS_GRAVITY_UPDATE_COORDINATED_TURN assumes the GPS speed is in the X axis direction. Quadshot, DelftaCopter and other hybrids can have the GPS speed in the negative Z direction" -->
<define name="AHRS_PROPAGATE_LOW_PASS_RATES" value="FALSE"/> <!-- apply a low pass filter on rotational velocity"-->
Expand Down
17 changes: 5 additions & 12 deletions conf/airframes/tudelft/disco_rotorcraft_indi.xml
Expand Up @@ -18,15 +18,13 @@
</module>
<module name="airspeed" type="ms45xx_i2c">
<define name="MS45XX_I2C_DEV" value="i2c1"/>
<define name="MS45XX_PRESSURE_RANVE" value="0.05"/>
<define name="USE_AIRSPEED_MS45XX" value="TRUE"/>
</module>

<define name="RADIO_TH_HOLD" value="RADIO_AUX1"/> <!-- Throttle hold in command laws -->
<define name="RADIO_TH_HOLD" value="RADIO_KILL"/> <!-- Throttle hold in command laws -->
<define name="RADIO_FMODE" value="RADIO_AUX2"/> <!-- Throttle curve select -->
<define name="RADIO_FBW_MODE" value="RADIO_AUX3"/> <!-- Switch between AP and FBW control -->
<define name="RADIO_FLAPS" value="RADIO_AUX4"/> <!-- Flaps control -->
<define name="RADIO_KILL_SWITCH" value="RADIO_AUX1"/>
<define name="RADIO_KILL_SWITCH" value="RADIO_KILL"/>
<define name="RADIO_BACK_THOLD" value="RADIO_AUX5"/>

</target>
Expand Down Expand Up @@ -58,7 +56,9 @@
<module name="actuators" type="disco"/>
<!--<module name="control" type="new"/>-->
<module name="stabilization" type="indi">
<configure name="INDI_NUM_ACT" value="3"/>
<define name="WLS_N_U" value="4"/>
<define name="WLS_N_V" value="4"/>
<configure name="INDI_NUM_ACT" value="3"/>
</module>
<module name="guidance" type="indi_hybrid"/>
<!--<module name="sonar_bebop">
Expand All @@ -83,13 +83,6 @@
<axis name="YAW" failsafe_value="0"/>
</commands>

<rc_commands>
<set command="THRUST" value="@THROTTLE"/>
<set command="ROLL" value="@ROLL"/>
<set command="PITCH" value="@PITCH"/>
<set command="YAW" value="@YAW"/>
</rc_commands>

<section name="MIXER">
<define name="AILEVON_AILERON_RATE" value="0.75"/>
<define name="AILEVON_ELEVATOR_RATE" value="0.75"/>
Expand Down
4 changes: 3 additions & 1 deletion conf/airframes/tudelft/fan_demo.xml
Expand Up @@ -19,7 +19,9 @@
<module name="imu" type="bebop"/>
<module name="gps" type="datalink"/>
<module name="stabilization" type="indi">
<define name="INDI_RPM_FEEDBACK" value="TRUE"/>
<define name="STABILIZATION_INDI_RPM_FEEDBACK" value="TRUE"/>
<define name="WLS_N_U" value="4"/>
<define name="WLS_N_V" value="4"/>
</module>
<module name="stabilization" type="rate_indi"/>
<module name="ahrs" type="int_cmpl_quat">
Expand Down
1 change: 1 addition & 0 deletions conf/airframes/tudelft/guido_ardrone2_optitrack.xml
Expand Up @@ -34,6 +34,7 @@ ARDrone2 with optical_flow landing.
<module name="pose_history"/>
<module name="cv_opticflow">
<define name="OPTICFLOW_CAMERA" value="bottom_camera"/>
<define name="TEXTONS_CAMERA" value="bottom_camera"/>
</module>
<module name="optical_flow_landing"/>
</firmware>
Expand Down
4 changes: 3 additions & 1 deletion conf/airframes/tudelft/heli450.xml
Expand Up @@ -27,7 +27,9 @@
<module name="air_data"/>
<module name="gps" type="ubx_ucenter"/>
<module name="heli_swashplate_mixing"/>
<module name="heli_throttle_curve"/>
<module name="heli_throttle_curve">
<define name="THROTTLE_CURVE_RPM_ACT" value="0"/>
</module>
</firmware>

<servos driver="Pwm">
Expand Down
9 changes: 5 additions & 4 deletions conf/airframes/tudelft/iris_indi.xml
Expand Up @@ -11,7 +11,7 @@
<description>3DR IRIS
</description>
<firmware name="rotorcraft">
<target name="ap" board="px4fmu_2.4" />
<target name="ap" board="px4fmu_2.4">
<define name="BAT_CHECKER_DELAY" value="80" />
<define name="RADIO_MODE_2x3" value="true"/>
<!-- amount of time it take for the bat to check -->
Expand Down Expand Up @@ -62,9 +62,9 @@
<define name="HMC58XX_CHAN_Z_SIGN" value="+"/>
</module>
<!-- <module name="spektrum_soft_bind"/>-->
</firmware>
<firmware name="rotorcraft">
<target name="fbw" board="px4io_2.4" />
</target>

<target name="fbw" board="px4io_2.4" >
<module name="motor_mixing" />
<module name="radio_control" type="ppm">
<define name="USE_KILL_SWITCH_FOR_MOTOR_ARMING" value="1" />
Expand Down Expand Up @@ -96,6 +96,7 @@
<configure name="MODEM_BAUD" value="$(INTERMCU_BAUD)"/>
<define name="TELEMETRY_DISABLE_RX"/>
</module>
</target>
</firmware>

<section name="MISC">
Expand Down
1 change: 1 addition & 0 deletions conf/airframes/tudelft/ladylisa_bluegiga_stereoboard.xml
Expand Up @@ -169,6 +169,7 @@
<define name="H_Y" value="0.00278894"/>
<define name="H_Z" value="0.92060036"/>
<define name="USE_GPS_HEADING" value="0"/>
<define name="FLOATING_HEADING" value="1"/>

<!-- For vibrating airfames -->
<define name="GRAVITY_HEURISTIC_FACTOR" value="0"/>
Expand Down
4 changes: 3 additions & 1 deletion conf/airframes/tudelft/logo600.xml
Expand Up @@ -43,7 +43,9 @@ The xml in master currently configures the LOGO600 as a pure model aircraft: mea
<module name="intermcu" type="uart">
<define name="REMAP_UART3" value="TRUE"/>
</module>
<module name="heli" type="throttle_curve"/>
<module name="heli" type="throttle_curve">
<define name="THROTTLE_CURVE_RPM_ACT" value="0"/>
</module>

<module name="geo_mag"/>
<module name="air_data"/>
Expand Down
9 changes: 2 additions & 7 deletions conf/airframes/tudelft/nederdrone4.xml
Expand Up @@ -110,6 +110,8 @@
</module>
<module name="stabilization" type="indi">
<configure name="INDI_NUM_ACT" value="8"/>
<define name="WLS_N_U" value="8"/>
<define name="WLS_N_V" value="4"/>
<define name="TILT_TWIST_CTRL" value="TRUE"/>
</module>
<module name="stabilization" type="rate_indi"/>
Expand Down Expand Up @@ -213,13 +215,6 @@
<axis name="THRUST" failsafe_value="0"/>
</commands>

<rc_commands>
<set command="THRUST" value="@THROTTLE" />
<set command="ROLL" value="@YAW" />
<set command="PITCH" value="@PITCH/2" />
<set command="YAW" value="-@ROLL/4" />
</rc_commands>

<section name="MIXING" prefix="MOTOR_MIXING_">
<!-- frontleft left (CCW), frontleft mid (CW), frontleft right (CCW), frontright left (CW), frontright mid (CCW), frontright right (CW) -->
<!-- backleft left (CW), backleft mid (CCW), backleft right (CW), backright left (CCW), backright mid (CW), backright right (CCW) -->
Expand Down
361 changes: 0 additions & 361 deletions conf/airframes/tudelft/nederdrone4_tem.xml

This file was deleted.

9 changes: 2 additions & 7 deletions conf/airframes/tudelft/nederdrone6.xml
Expand Up @@ -106,6 +106,8 @@
</module>
<module name="stabilization" type="indi">
<configure name="INDI_NUM_ACT" value="8"/>
<define name="WLS_N_U" value="8"/>
<define name="WLS_N_V" value="4"/>
<define name="TILT_TWIST_CTRL" value="TRUE"/>
</module>
<module name="stabilization" type="rate_indi"/>
Expand Down Expand Up @@ -194,13 +196,6 @@
<axis name="THRUST" failsafe_value="0"/>
</commands>

<rc_commands>
<set command="THRUST" value="@THROTTLE" />
<set command="ROLL" value="@YAW" />
<set command="PITCH" value="@PITCH/2" />
<set command="YAW" value="-@ROLL/4" />
</rc_commands>

<section name="MIXING" prefix="MOTOR_MIXING_">
<!-- frontleft left (CCW), frontleft mid (CW), frontleft right (CCW), frontright left (CW), frontright mid (CCW), frontright right (CW) -->
<!-- backleft left (CW), backleft mid (CCW), backleft right (CW), backright left (CCW), backright mid (CW), backright right (CCW) -->
Expand Down
85 changes: 69 additions & 16 deletions conf/airframes/tudelft/nederdrone7.xml
Expand Up @@ -33,9 +33,9 @@

<!-- Airspeed sensors -->
<module name="airspeed" type="ms45xx_i2c">
<define name="USE_I2C4"/>
<define name="MS45XX_I2C_DEV" value="i2c4"/>
<define name="I2C4_CLOCK_SPEED" value="100000"/>
<define name="USE_I2C4"/>
<define name="MS45XX_I2C_DEV" value="i2c4"/>
<define name="I2C4_CLOCK_SPEED" value="100000"/>
</module>
<!--module name="airspeed" type="uavcan"/-->

Expand All @@ -52,14 +52,14 @@

<!-- <module name="ahrs" type="int_cmpl_quat">
<configure name="USE_MAGNETOMETER" value="FALSE"/>
<define name="AHRS_USE_GPS_HEADING" value="TRUE"/>
<define name="AHRS_HEADING_UPDATE_GPS_MIN_SPEED" value="0"/>
<define name="AHRS_USE_GPS_HEADING" value="TRUE"/>
<define name="AHRS_HEADING_UPDATE_GPS_MIN_SPEED" value="0"/>
</module> -->

<!--module name="ins" type="extended">
<define name="INS_USE_GPS_ALT" value="1"/>
<define name="INS_USE_GPS_ALT_SPEED" value="1"/>
<define name="INS_VFF_R_GPS" value="0.01"/>
<define name="INS_USE_GPS_ALT" value="1"/>
<define name="INS_USE_GPS_ALT_SPEED" value="1"/>
<define name="INS_VFF_R_GPS" value="0.01"/>
</module-->
</target>

Expand All @@ -68,7 +68,7 @@
<module name="fdm" type="jsbsim"/>

<module name="logger_file">
<define name="FILE_LOGGER_PATH" value="/home/ewoud/Documents"/>
<define name="FILE_LOGGER_PATH" value="/home/ewoud/Documents"/>
</module>

<!--Not dealing with these in the simulation-->
Expand Down Expand Up @@ -106,6 +106,8 @@
</module>
<module name="stabilization" type="indi">
<configure name="INDI_NUM_ACT" value="8"/>
<define name="WLS_N_U" value="8"/>
<define name="WLS_N_V" value="4"/>
<define name="TILT_TWIST_CTRL" value="TRUE"/>
</module>
<module name="stabilization" type="rate_indi"/>
Expand Down Expand Up @@ -161,6 +163,64 @@
</module>

<module name="motor_mixing"/>


<!--Airspeed estimation using EKF-->
<module name="ekf_aw">
<define name="EKF_AW_P0_V_BODY" value="1.E-2f" description="Initial covariance body velocity"/>
<define name="EKF_AW_P0_MU" value="1.E-5f" description="Initial covariance wind"/>
<define name="EKF_AW_P0_OFFSET" value="1.E-10f" description="Initial covariance offset"/>

<define name="EKF_AW_Q_ACCEL" value="1.0E-4f" description="Accel process noise"/>
<define name="EKF_AW_Q_GYRO" value="1.0E-9f" description="Gyro process noise"/>
<define name="EKF_AW_Q_MU" value="1.0E-6f" description="Wind process noise"/>
<define name="EKF_AW_Q_OFFSET" value="1.0E-8f" description="Offset process noise"/>

<define name="EKF_AW_R_V_GND" value="1.E-5f" description="GPS Velocity measurement noise"/>
<define name="EKF_AW_R_ACCEL_FILT_X" value="1.E-5f" description="Filtered x accel measurement noise"/>
<define name="EKF_AW_R_ACCEL_FILT_Y" value="1.E-5f" description="Filtered y accel measurement noise"/>
<define name="EKF_AW_R_ACCEL_FILT_Z" value="1.E-5f" description="Filtered z accel measurement noise"/>
<define name="EKF_AW_R_V_PITOT" value="1.E-7f" description="Pitot Tube Velocity measurement noise"/>

<define name="EKF_AW_AZ_SCHED_GAIN" value="2" />
<define name="EKF_AW_AZ_SCHED_START_DEG" value="60" />
<define name="EKF_AW_AZ_SCHED_END_DEG" value="70" />

<define name="EKF_AW_AX_SCHED_GAIN" value="0" />
<define name="EKF_AW_AX_SCHED_START_DEG" value="45" />
<define name="EKF_AW_AX_SCHED_END_DEG" value="60" />

<define name="EKF_AW_QUICK_CONVERGENCE" value="true" />
<define name="EKF_AW_QUICK_CONVERGENCE_TIME" value="15" />

<define name="EKF_AW_WING_INSTALLED" value="true" description="Use wing contribution"/>
<define name="EKF_AW_USE_MODEL_BASED_X" value="true" description="Use model based to augment filter"/>
<define name="EKF_AW_USE_MODEL_BASED_Y" value="true" description="Use model based to augment filter"/>
<define name="EKF_AW_USE_MODEL_BASED_Z" value="true" description="Use model based to augment filter"/>

<define name="EKF_AW_VEHICLE_MASS" value="6.5" description="Mass of the vehicle"/>

<define name="EKF_AW_K2_FX_FUSELAGE" value="-4E-2f" description="K*u*u"/>
<define name="EKF_AW_K3_FX_HOVER" value="-3E-1f" description="K*u"/>

<define name="EKF_AW_K1_FX_WING" value="-3.21432e-02f" description="Fx2 = (k1*(1+k5*skew)+(k2*alpha+k3*alpha^2))*(sin(skew)^2+k4)*V^2"/>
<define name="EKF_AW_K2_FX_WING" value="1.67195e-01f" description="Fx2 = (k1*(1+k5*skew)+(k2*alpha+k3*alpha^2))*(sin(skew)^2+k4)*V^2"/>
<define name="EKF_AW_K3_FX_WING" value="5.9441e-01f" description="Fx2 = (k1*(1+k5*skew)+(k2*alpha+k3*alpha^2))*(sin(skew)^2+k4)*V^2"/>
<define name="EKF_AW_K4_FX_WING" value="3.9839e-03f" description="Fx2 = (k1*(1+k5*skew)+(k2*alpha+k3*alpha^2))*(sin(skew)^2+k4)*V^2"/>
<define name="EKF_AW_K5_FX_WING" value="3.5321e-03f" description="Fx2 = (k1*(1+k5*skew)+(k2*alpha+k3*alpha^2))*(sin(skew)^2+k4)*V^2"/>

<define name="EKF_AW_K_FY_V" value="-3.2E-1f" description="Fy beta coefficient"/>
<define name="EKF_AW_K1_FY_WING" value="0.0f" description="Fy = K1*cos(skew)*sin(skew)*u^2"/>

<define name="EKF_AW_K1_FZ_WING" value="-1.0008e-01f" description="Fz1 = ((k1+k2*alpha+k3*alpha^2)*(sin(skew)^2+k4)*V^2"/>
<define name="EKF_AW_K2_FZ_WING" value="-8.6965e-01f" description="Fz1 = ((k1+k2*alpha+k3*alpha^2)*(sin(skew)^2+k4)*V^2"/>
<define name="EKF_AW_K3_FZ_WING" value="1.45783e-01f" description="Fz1 = ((k1+k2*alpha+k3*alpha^2)*(sin(skew)^2+k4)*V^2"/>
<define name="EKF_AW_K4_FZ_WING" value="2.185395e-01f" description="Fz1 = ((k1+k2*alpha+k3*alpha^2)*(sin(skew)^2+k4)*V^2"/>

<define name="EKF_AW_TELEMETRY_DEBUG" value="false" description="debug mode to send timing info through telemetry"/>
</module>


</firmware>

<!-- CAN BUS 1 (Front Wing) -->
Expand Down Expand Up @@ -194,13 +254,6 @@
<axis name="THRUST" failsafe_value="0"/>
</commands>

<rc_commands>
<set command="THRUST" value="@THROTTLE" />
<set command="ROLL" value="@YAW" />
<set command="PITCH" value="@PITCH/2" />
<set command="YAW" value="-@ROLL/4" />
</rc_commands>

<section name="MIXING" prefix="MOTOR_MIXING_">
<!-- frontleft left (CCW), frontleft mid (CW), frontleft right (CCW), frontright left (CW), frontright mid (CCW), frontright right (CW) -->
<!-- backleft left (CW), backleft mid (CCW), backleft right (CW), backright left (CCW), backright mid (CW), backright right (CCW) -->
Expand Down
9 changes: 2 additions & 7 deletions conf/airframes/tudelft/nederdrone8.xml
Expand Up @@ -106,6 +106,8 @@
</module>
<module name="stabilization" type="indi">
<configure name="INDI_NUM_ACT" value="8"/>
<define name="WLS_N_U" value="8"/>
<define name="WLS_N_V" value="4"/>
<define name="TILT_TWIST_CTRL" value="TRUE"/>
</module>
<module name="stabilization" type="rate_indi"/>
Expand Down Expand Up @@ -194,13 +196,6 @@
<axis name="THRUST" failsafe_value="0"/>
</commands>

<rc_commands>
<set command="THRUST" value="@THROTTLE" />
<set command="ROLL" value="@YAW" />
<set command="PITCH" value="@PITCH/2" />
<set command="YAW" value="-@ROLL/4" />
</rc_commands>

<section name="MIXING" prefix="MOTOR_MIXING_">
<!-- frontleft left (CCW), frontleft mid (CW), frontleft right (CCW), frontright left (CW), frontright mid (CCW), frontright right (CW) -->
<!-- backleft left (CW), backleft mid (CCW), backleft right (CW), backright left (CCW), backright mid (CW), backright right (CCW) -->
Expand Down
8 changes: 6 additions & 2 deletions conf/airframes/tudelft/outback.xml
Expand Up @@ -38,7 +38,9 @@
<module name="opa_controller"/>
<module name="mag_pitot_uart" />
<module name="pwm_meas"/>
<module name="rpm_sensor"/>
<module name="rpm_sensor">
<define name="RPM_SENSOR_ACTUATOR_IDX" value="0"/>
</module>

<module name="geo_mag"/>
<module name="air_data">
Expand All @@ -54,7 +56,9 @@
<define name="SDLOGGER_ON_ARM" value="TRUE"/>
</module>
<module name="gps_ubx_ucenter"/>
<module name="heli_throttle_curve"/>
<module name="heli_throttle_curve">
<define name="THROTTLE_CURVE_RPM_ACT" value="0"/>
</module>
<define name="ROTORCRAFT_IS_HELI" value="TRUE" />
<define name="RC_LOST_MODE" value="AP_MODE_NAV" />
</target>
Expand Down
1 change: 1 addition & 0 deletions conf/airframes/tudelft/quadthopter.xml
Expand Up @@ -215,6 +215,7 @@
<module name="stabilization" type="int_quat"/>
<module name="ahrs" type="int_cmpl_quat">
<configure name="USE_MAGNETOMETER" value="FALSE"/>
<define name="AHRS_FLOATING_HEADING" value="1"/><!-- accept floating heading -->
</module>
<module name="ins"/>

Expand Down
8 changes: 4 additions & 4 deletions conf/airframes/tudelft/robird.xml
Expand Up @@ -10,7 +10,7 @@ Flapping wing frame equiped with
</description>

<firmware name="rotorcraft">
<target name="ap" board="px4fmu_2.4" />
<target name="ap" board="px4fmu_2.4">
<define name="BAT_CHECKER_DELAY" value="80" />
<define name="ADC_CHANNEL_VSUPPLY" value="ADC_1"/>
<!-- amount of time it take for the bat to check -->
Expand Down Expand Up @@ -59,9 +59,8 @@ Flapping wing frame equiped with
<define name="HMC58XX_CHAN_Y_SIGN" value="+"/>
<define name="HMC58XX_CHAN_Z_SIGN" value="+"/>
</module>
</firmware>
<firmware name="rotorcraft">
<target name="fbw" board="px4io_2.4" />
</target>
<target name="fbw" board="px4io_2.4" >
<define name="FBW_MODE_AUTO_ONLY" value="false"/>
<module name="radio_control" type="sbus">
<configure name="SBUS_PORT" value="UART3"/>
Expand All @@ -87,6 +86,7 @@ Flapping wing frame equiped with
<configure name="MODEM_BAUD" value="$(INTERMCU_BAUD)"/>
<define name="TELEMETRY_DISABLE_RX"/>
</module>
</target>
</firmware>

<section name="MISC">
Expand Down
431 changes: 431 additions & 0 deletions conf/airframes/tudelft/rot_wing_25kg.xml

Large diffs are not rendered by default.

9 changes: 2 additions & 7 deletions conf/airframes/tudelft/splash4.xml
Expand Up @@ -87,6 +87,8 @@
<define name="USE_GPS_UBX_RTCM" value="TRUE"/>
</module> -->
<module name="stabilization" type="indi">
<define name="WLS_N_U" value="4"/>
<define name="WLS_N_V" value="4"/>
<!--define name="TILT_TWIST_CTRL" value="TRUE"/-->
</module>
<module name="stabilization" type="rate_indi"/>
Expand Down Expand Up @@ -135,13 +137,6 @@
<axis name="THRUST" failsafe_value="0"/>
</commands>

<rc_commands>
<set command="THRUST" value="@THROTTLE" />
<set command="ROLL" value="@ROLL" />
<set command="PITCH" value="@PITCH" />
<set command="YAW" value="@YAW" />
</rc_commands>

<section name="MIXING" prefix="MOTOR_MIXING_">
<define name="TYPE" value="QUAD_X"/>
</section>
Expand Down
289 changes: 0 additions & 289 deletions conf/airframes/tudelft/tudelft_bebop2_opticflow_sim.xml
@@ -1,289 +0,0 @@
<!DOCTYPE airframe SYSTEM "../airframe.dtd">

<airframe name="bebop2_opticflow">

<firmware name="rotorcraft">
<target name="ap" board="bebop">
<define name="VIDEO_CAPTURE_PATH" value="/data/ftp/internal_000/images"/>
<define name="FILE_LOGGER_PATH" value="/data/ftp/internal_000/log"/> <!-- we did not include log before -->
</target>
<target name="nps" board="pc">
<module name="fdm" type="gazebo"/>
<define name="VIDEO_CAPTURE_PATH" value="/home/guido/paparazzi/images"/>
<define name="FILE_LOGGER_PATH" value="/home/guido/paparazzi/log"/>
</target>

<define name="USE_SONAR"/>
<module name="telemetry" type="transparent_udp"/>
<module name="radio_control" type="datalink"/>
<module name="motor_mixing"/>
<module name="actuators" type="bebop"/>
<module name="imu" type="bebop"/>
<module name="gps" type="datalink"/>
<module name="stabilization" type="indi_simple"/>

<!--
<module name="ahrs" type="int_cmpl_quat">
<configure name="USE_MAGNETOMETER" value="FALSE"/>
<define name="AHRS_USE_GPS_HEADING" value="TRUE"/>
<define name="AHRS_HEADING_UPDATE_GPS_MIN_SPEED" value="0"/>
</module>
<module name="ins" type="extended"/> -->

<define name="AHRS_USE_GPS_HEADING" value="TRUE"/>
<module name="ins" type="flow"/>
<!-- These are already defined in fdm_gazebo
<define name="NPS_BYPASS_AHRS" value="FALSE"/>
<define name="NPS_BYPASS_INS" value="FALSE"/>
-->

<!-- Disable use of GPS: -->
<!-- <define name="INS_INT_GPS_ID" value="ABI_DISABLE"/>
</module> -->


<!-- <module name="geo_mag"/>
<module name="send_imu_mag_current"/> -->
<module name="air_data"/>
<!-- <module name="gps" type="ubx_ucenter"/> -->

<module name="video_thread"/>

<module name="pose_history"/>

<module name="logger_file">
<!-- <define name="FILE_LOGGER_PATH" value="/home/guido/paparazzi/log"/> -->
</module>

<module name="cv_opticflow">
<define name="OPTICFLOW_FPS" value="90"/>
<define name="OPTICFLOW_CAMERA" value="bottom_camera"/>
<define name="MAX_HORIZON" value="10"/>
<define name="OPTICFLOW_FX" value="347.22222222"/> <!-- 2.5 / (3.6 * 2.0) * 1000 -->
<define name="OPTICFLOW_FY" value="347.22222222"/> <!-- 2.5 / (3.6 * 2.0) * 1000 -->
<define name="OPTICFLOW_FOV_W" value="0.665499265"/> <!-- 2 * arctan(240 / (2*347.22222222)) -->
<define name="OPTICFLOW_FOV_H" value="0.665499265"/> <!-- 2 * arctan(240 / (2*347.22222222)) -->
<define name="OPTICFLOW_DEROTATION_CORRECTION_FACTOR_X" value="0.8"/> <!--Obtained from a linefit-->
<define name="OPTICFLOW_DEROTATION_CORRECTION_FACTOR_Y" value="0.85"/> <!--Obtained from a linefit-->
</module>

<module name="video_capture">
<define name="VIDEO_CAPTURE_CAMERA" value="bottom_camera"/>
</module>

<module name="cv_textons.xml">
<define name="TEXTONS_FPS" value="1"/>
<define name="TEXTONS_CAMERA" value="bottom_camera"/>
<define name="TEXTONS_N_TEXTONS" value="20"/>
<define name="TEXTONS_DICTIONARY_PATH" value="./"/>
</module>

<module name="optical_flow_landing.xml"/>

<module name="video_rtp_stream">
<define name="VIEWVIDEO_CAMERA" value="bottom_camera"/>
<define name="VIEWVIDEO_DOWNSIZE_FACTOR" value="1"/>
<define name="VIEWVIDEO_QUALITY_FACTOR" value="60"/>
</module>

</firmware>

<commands>
<axis name="PITCH" failsafe_value="0"/>
<axis name="ROLL" failsafe_value="0"/>
<axis name="YAW" failsafe_value="0"/>
<axis name="THRUST" failsafe_value="6000"/>
</commands>

<servos driver="Default">
<servo name="TOP_LEFT" no="0" min="2500" neutral="2500" max="12000"/>
<servo name="TOP_RIGHT" no="1" min="2500" neutral="2500" max="12000"/>
<servo name="BOTTOM_RIGHT" no="2" min="2500" neutral="2500" max="12000"/>
<servo name="BOTTOM_LEFT" no="3" min="2500" neutral="2500" max="12000"/>
</servos>

<section name="MIXING" prefix="MOTOR_MIXING_">
<define name="TRIM_ROLL" value="0"/>
<define name="TRIM_PITCH" value="0"/>
<define name="TRIM_YAW" value="0"/>
<define name="REVERSE" value="TRUE"/>
<define name="TYPE" value="QUAD_X"/>
</section>

<command_laws>
<call fun="motor_mixing_run(autopilot_get_motors_on(),FALSE,values)"/>
<set servo="TOP_LEFT" value="motor_mixing.commands[MOTOR_FRONT_LEFT]"/>
<set servo="TOP_RIGHT" value="motor_mixing.commands[MOTOR_FRONT_RIGHT]"/>
<set servo="BOTTOM_RIGHT" value="motor_mixing.commands[MOTOR_BACK_RIGHT]"/>
<set servo="BOTTOM_LEFT" value="motor_mixing.commands[MOTOR_BACK_LEFT]"/>
</command_laws>

<section name="AIR_DATA" prefix="AIR_DATA_">
<define name="CALC_AIRSPEED" value="FALSE"/>
<define name="CALC_TAS_FACTOR" value="FALSE"/>
<define name="CALC_AMSL_BARO" value="FALSE"/>
</section>

<!-- Magnetometer still needs to be calibrated -->
<section name="IMU" prefix="IMU_">
<define name="MAG_X_NEUTRAL" value="0"/>
<define name="MAG_Y_NEUTRAL" value="0"/>
<define name="MAG_Z_NEUTRAL" value="0"/>
<define name="MAG_X_SENS" value="7.28514789391" integer="16"/>
<define name="MAG_Y_SENS" value="7.33022132691" integer="16"/>
<define name="MAG_Z_SENS" value="7.57102035692" integer="16"/>
</section>

<!--
<section name="AHRS" prefix="AHRS_">
<define name="HEADING_UPDATE_GPS_MIN_SPEED" value="0"/>
<define name="GRAVITY_HEURISTIC_FACTOR" value="0"/>
<define name="H_X" value="0.3892503"/>
<define name="H_Y" value="0.0017972"/>
<define name="H_Z" value="0.9211303"/>
</section>
-->

<!--
<section name="INS" prefix="INS_">
<define name="USE_GPS_ALT" value="1"/>
<define name="VFF_R_GPS" value="0.01"/>
<define name="VFF_VZ_R_GPS" value="0.01"/>
<define name="SONAR_MIN_RANGE" value="0.0"/>
<define name="SONAR_MAX_RANGE" value="2.2"/>
<define name="SONAR_UPDATE_ON_AGL" value="FALSE"/>
</section>
-->

<section name="RC_SETPOINT" prefix="STABILIZATION_ATTITUDE_">
<!-- setpoint limits for attitude stabilization rc flight -->
<define name="SP_MAX_PHI" value="45" unit="deg"/>
<define name="SP_MAX_THETA" value="45" unit="deg"/>
<define name="SP_MAX_R" value="300" unit="deg/s"/>
<define name="DEADBAND_A" value="0"/>
<define name="DEADBAND_E" value="0"/>
<define name="DEADBAND_R" value="50"/>
</section>

<section name="SIMULATOR" prefix="NPS_">
<define name="ACTUATOR_NAMES" value="nw_motor, ne_motor, se_motor, sw_motor" type="string[]"/>
<define name="JSBSIM_MODEL" value="bebop" type="string"/>
<define name="SENSORS_PARAMS" value="nps_sensors_params_default.h" type="string"/>
<define name="MT9F002_SENSOR_RES_DIVIDER" value="4"/>
</section>
<include href="conf/simulator/gazebo/airframes/bebop.xml"/>

<section name="ATTITUDE_REFERENCE" prefix="STABILIZATION_ATTITUDE_">
<!-- attitude reference generation model -->
<define name="REF_OMEGA_P" value="450" unit="deg/s"/>
<define name="REF_ZETA_P" value="0.9"/>
<define name="REF_MAX_P" value="600." unit="deg/s"/>
<define name="REF_MAX_PDOT" value="RadOfDeg(8000.)"/>

<define name="REF_OMEGA_Q" value="450" unit="deg/s"/>
<define name="REF_ZETA_Q" value="0.9"/>
<define name="REF_MAX_Q" value="600." unit="deg/s"/>
<define name="REF_MAX_QDOT" value="RadOfDeg(8000.)"/>

<define name="REF_OMEGA_R" value="450" unit="deg/s"/>
<define name="REF_ZETA_R" value="0.9"/>
<define name="REF_MAX_R" value="600." unit="deg/s"/>
<define name="REF_MAX_RDOT" value="RadOfDeg(8000.)"/>
</section>


<!-- SIMULATION SETTINGS -->
<section name="STABILIZATION_ATTITUDE_INDI" prefix="STABILIZATION_INDI_">
<!-- control effectiveness -->
<define name="G1_P" value="0.0397"/>
<define name="G1_Q" value="0.0299"/>
<define name="G1_R" value="0.0014"/>
<define name="G2_R" value="0.1219"/>

<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="600.0"/>
<define name="REF_ERR_Q" value="600.0"/>
<define name="REF_ERR_R" value="600.0"/>
<define name="REF_RATE_P" value="28.0"/>
<define name="REF_RATE_Q" value="28.0"/>
<define name="REF_RATE_R" value="28.0"/>

<!--Maxium yaw rate, to avoid instability-->
<define name="MAX_R" value="120.0" unit="deg/s"/>

<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="8.0"/>
<define name="ESTIMATION_FILT_CUTOFF" value="8.0"/>

<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.1"/>
<define name="ACT_DYN_Q" value="0.1"/>
<define name="ACT_DYN_R" value="0.1"/>

<!-- Adaptive Learning Rate -->
<define name="USE_ADAPTIVE" value="FALSE"/>
<define name="ADAPTIVE_MU" value="0.0001"/>
</section>

<section name="GUIDANCE_V" prefix="GUIDANCE_V_">
<define name="HOVER_KP" value="350"/>
<define name="HOVER_KD" value="85"/>
<define name="HOVER_KI" value="20"/>
<define name="NOMINAL_HOVER_THROTTLE" value="0.52"/>
<define name="ADAPT_THROTTLE_ENABLED" value="TRUE"/>
<!-- old?
<define name="ADAPT_INITIAL_HOVER_THROTTLE" value="0.55"/>
<define name="ADAPT_MIN_HOVER_THROTTLE" value="0.48"/>
<define name="ADAPT_MAX_HOVER_THROTTLE" value="0.62"/>
<define name="ADAPT_NOISE_FACTOR" value="0.8"/>
-->
</section>

<section name="GUIDANCE_H" prefix="GUIDANCE_H_">
<define name="REF_MAX_SPEED" value="2" unit="m/s"/>
<define name="MAX_BANK" value="35" unit="deg"/>
<define name="PGAIN" value="82"/> <!-- GPS: 120 no GPS: 0-->
<define name="DGAIN" value="68"/> <!-- GPS: 80 no GPS: 302-->
<define name="IGAIN" value="10"/> <!-- GPS: 30 no GPS: 0-->
</section>

<section name="NAVIGATION" prefix="NAV_">
<define name="CLIMB_VSPEED" value="1.0"/>
<define name="DESCEND_VSPEED" value="-0.75"/>
</section>

<section name="AUTOPILOT">



<define name="MODE_STARTUP" value="AP_MODE_NAV"/>
<define name="MODE_MANUAL" value="AP_MODE_MODULE"/>
<define name="MODE_AUTO1" value="AP_MODE_MODULE"/>
<define name="MODE_AUTO2" value="AP_MODE_NAV"/>

<!--
<define name="MODE_STARTUP" value="AP_MODE_NAV"/>
<define name="MODE_MANUAL" value="AP_MODE_ATTITUDE_DIRECT"/>
<define name="MODE_AUTO1" value="AP_MODE_ATTITUDE_DIRECT"/>
<define name="MODE_AUTO2" value="AP_MODE_NAV"/>
-->
<!--
<define name="MODE_STARTUP" value="AP_MODE_ATTITUDE_DIRECT"/>
<define name="MODE_MANUAL" value="AP_MODE_MODULE"/>
<define name="MODE_AUTO1" value="AP_MODE_ATTITUDE_Z_HOLD"/>
<define name="MODE_AUTO2" value="AP_MODE_ATTITUDE_DIRECT"/>
-->
<define name="NO_RC_THRUST_LIMIT" value="TRUE"/>
</section>

<section name="BAT">
<define name="MILLIAMP_AT_FULL_THROTTLE" value="8700"/>
<define name="CATASTROPHIC_BAT_LEVEL" value="9.9" unit="V"/>
<define name="CRITIC_BAT_LEVEL" value="11.0" unit="V"/>
<define name="LOW_BAT_LEVEL" value="11.1" unit="V"/>
<define name="MAX_BAT_LEVEL" value="12.4" unit="V"/>
</section>
</airframe>

2 changes: 1 addition & 1 deletion conf/flight_plans/AGGIEAIR/BasicTuning_BlueRoom2.xml
@@ -1,6 +1,6 @@
<!DOCTYPE flight_plan SYSTEM "../flight_plan.dtd">

<flight_plan alt="1550" ground_alt="1350" lat0="41.742897" lon0="-111.806986" max_dist_from_home="1600" name="BasicTuning" security_height="25" home_mode_height="200" qfu="90" geofence_sector="FlightArea" geofence_max_alt="2000" geofence_max_height="500">
<flight_plan alt="1550" ground_alt="1350" lat0="41.742897" lon0="-111.806986" max_dist_from_home="2900" name="BasicTuning" security_height="25" home_mode_height="200" qfu="90" geofence_sector="FlightArea" geofence_max_alt="2000" geofence_max_height="500">
<header>
#include "modules/datalink/datalink.h"
</header>
Expand Down
2 changes: 1 addition & 1 deletion conf/flight_plans/competitions/IMAV2022_drop.xml
Expand Up @@ -382,7 +382,7 @@
<exception cond="PolySurveySweepBackNum > 0" deroute="Land"/>
<call_once fun="jevois_stream(true)"/>
<call_once fun="guidance_h_SetMaxSpeed(search_speed)"/>
<call fun="nav_survey_poly_run(search_height)"/>
<call fun="nav_survey_poly_run()"/>
</block>

<block name="Run Search Truck">
Expand Down
2 changes: 1 addition & 1 deletion conf/flight_plans/competitions/IMAV2022_search.xml
Expand Up @@ -193,7 +193,7 @@
<exception cond="PolySurveySweepBackNum > 0" deroute="Land"/>
<call_once fun="jevois_stream(true)"/>
<call_once fun="guidance_h_SetMaxSpeed(search_speed)"/>
<call fun="nav_survey_poly_run(search_height)"/>
<call fun="nav_survey_poly_run()"/>
</block>

<block name="Land here" strip_button="Land here" strip_icon="land-right.png" group="land">
Expand Down
2 changes: 1 addition & 1 deletion conf/flight_plans/rotorcraft_guido_optitrack.xml
@@ -1,6 +1,6 @@
<!DOCTYPE flight_plan SYSTEM "flight_plan.dtd">

<flight_plan alt="1.5" ground_alt="0" lat0="51.990634" lon0="4.376789" max_dist_from_home="20" name="Rotorcraft Optitrack (Delft)" security_height="0.3">
<flight_plan alt="3.5" ground_alt="3" lat0="51.990634" lon0="4.376789" max_dist_from_home="20" name="Rotorcraft Optitrack (Delft)" security_height="0.3">
<header>
#include "autopilot.h"
</header>
Expand Down
84 changes: 0 additions & 84 deletions conf/flight_plans/tudelft/mavtec_outdoor_demo.xml

This file was deleted.

12 changes: 12 additions & 0 deletions conf/flight_plans/tudelft/nederdrone_troia.xml
Expand Up @@ -193,6 +193,18 @@
<exception cond="GpsFixValid()" deroute="GO NORTH"/>
<attitude pitch="0" roll="0" climb="-1.0" vmode="climb"/>
</block>
<block name="300m Circle">
<set value="300.0" var="nav.radius"/>
<deroute block="Circle"/>
</block>
<block name="600m Circle">
<set value="600.0" var="nav.radius"/>
<deroute block="Circle"/>
</block>
<block name="1000m Circle">
<set value="1000.0" var="nav.radius"/>
<deroute block="Circle"/>
</block>
<block name="Circle">
<set value="TRUE" var="force_forward"/>
<circle radius="nav.radius" wp="CIRCLE"/>
Expand Down
164 changes: 164 additions & 0 deletions conf/flight_plans/tudelft/rotating_wing25kg_EHVB.xml
@@ -0,0 +1,164 @@
<!DOCTYPE flight_plan SYSTEM "../flight_plan.dtd">

<flight_plan alt="60" ground_alt="0" lat0="52.168595" lon0="4.412444" max_dist_from_home="1100" name="Rotating wing Valkenburg" security_height="2">
<header/>
<waypoints>
<waypoint name="HOME" x="12.6" y="-48.7"/>
<waypoint name="CLIMB" x="62.6" y="-80.4"/>
<waypoint name="trans" x="100." y="100."/>
<waypoint name="decel" x="100." y="100."/>
<waypoint name="end_trans" x="100." y="100."/>
<waypoint name="STDBY" lat="52.1682655" lon="4.4135103"/>
<waypoint name="p1" lat="52.1684116" lon="4.4149282"/>
<waypoint name="p2" lat="52.1675165" lon="4.4147158"/>
<waypoint name="p3" lat="52.1688983" lon="4.4139655"/>
<waypoint name="p4" lat="52.1687661" lon="4.4133220"/>
<waypoint name="circ" lat="52.1684116" lon="4.4149282"/>
<waypoint name="TD" lat="52.1681602" lon="4.4127708"/>
<waypoint name="APP" lat="52.1679567" lon="4.4136344"/>
<waypoint name="FOLLOW" lat="52.16850964562752" lon="4.413635008734417"/>
<waypoint lat="52.169189" lon="4.410820" name="C1"/>
<waypoint lat="52.168049" lon="4.406923" name="C2"/>
<waypoint lat="52.166515" lon="4.408235" name="C3"/>
<waypoint lat="52.163255" lon="4.407668" name="C4"/>
<waypoint lat="52.161908" lon="4.410082" name="C5"/>
<waypoint lat="52.162641" lon="4.416992" name="C6"/>
<waypoint lat="52.164861" lon="4.427268" name="C7"/>
<waypoint lat="52.170422" lon="4.427511" name="C8"/>
<waypoint lat="52.172276" lon="4.424011" name="C9"/>
</waypoints>
<sectors>
<sector color="red" name="Flyzone">
<corner name="C1"/>
<corner name="C2"/>
<corner name="C3"/>
<corner name="C4"/>
<corner name="C5"/>
<corner name="C6"/>
<corner name="C7"/>
<corner name="C8"/>
<corner name="C9"/>
</sector>
</sectors>
<modules>
<!--<module name="follow_me"/>-->
</modules>
<exceptions>
<exception cond="Or(!InsideFlyzone(GetPosX(), GetPosY()), GetPosAlt() @GT GetAltRef() + 1500) @AND !(nav_block == IndexOfBlock('Wait GPS')) @AND !(nav_block == IndexOfBlock('Geo init')) @AND !(nav_block == IndexOfBlock('Holding point'))" deroute="Holding point"/>
<exception cond="datalink_time @GT 25 @AND !(nav_block == IndexOfBlock('Wait GPS')) @AND !(nav_block == IndexOfBlock('Geo init')) @AND !(nav_block == IndexOfBlock('Holding point')) @AND !(nav_block == IndexOfBlock('Standby'))" deroute="Standby"/>
</exceptions>
<blocks>
<block name="Wait GPS">
<set value="false" var="force_forward"/>
<call_once fun="NavKillThrottle()"/>
<while cond="!GpsFixValid() || !state.ned_initialized_i"/>
</block>
<block name="Geo init">
<set value="false" var="force_forward"/>
<while cond="LessThan(NavBlockTime(), 10)"/>
<call_once fun="NavSetAltitudeReferenceHere()"/>
</block>
<block name="Holding point">
<set value="false" var="force_forward"/>
<call_once fun="NavKillThrottle()"/>
<attitude pitch="0" roll="0" throttle="0" until="FALSE" vmode="throttle"/>
</block>
<block name="Start Engine">
<set value="false" var="force_forward"/>
<call_once fun="NavResurrect()"/>
<attitude pitch="0" roll="0" throttle="0" until="stage_time>10" vmode="throttle"/>
</block>
<block name="Takeoff" strip_button="Takeoff" strip_icon="takeoff.png">
<set value="false" var="force_forward"/>
<exception cond="GetPosAlt() @LT 4.0" deroute="Standby"/>
<call_once fun="NavSetWaypointHere(WP_CLIMB)"/>
<attitude pitch="0" roll="0" throttle="0.75" until="stage_time>2" vmode="throttle"/>
</block>
<block name="Standby" strip_button="Standby" strip_icon="home.png">
<set value="false" var="force_forward"/>
<stay wp="STDBY"/>
</block>
<block name="stay_p1">
<set value="false" var="force_forward"/>
<stay wp="p1"/>
</block>
<block name="go_p2">
<set value="false" var="force_forward"/>
<call_once fun="nav_set_heading_deg(90)"/>
<go wp="p2"/>
<deroute block="stay_p1"/>
</block>
<block name="line_p1_p2">
<set value="false" var="force_forward"/>
<go from="p1" hmode="route" wp="p2"/>
<stay wp="p2"/>
</block>
<block name="line_trans_fwd">
<set value="false" var="force_forward"/>
<call_once fun="NavSetWaypointHere(WP_p1)"/>
<stay wp="end_trans"/>
</block>
<block name="line_trans_quad">
<set value="false" var="force_forward"/>
<call_once fun="NavSetWaypointHere(WP_p1)"/>
<stay wp="end_trans"/>
</block>
<block name="route">
<set value="false" var="force_forward"/>
<go from="p1" hmode="route" wp="p2"/>
<go from="p2" hmode="route" wp="p3"/>
<go from="p3" hmode="route" wp="p4"/>
<go from="p4" hmode="route" wp="p1"/>
<deroute block="route"/>
</block>
<block name="Oval">
<set value="false" var="force_forward"/>
<oval p1="p1" p2="p2" radius="100"/>
</block>
<block name="Circle_CW">
<set value="false" var="force_forward"/>
<circle radius="100" wp="circ"/>
</block>
<block name="Circle_CCW">
<set value="false" var="force_forward"/>
<circle radius="-100" wp="circ"/>
</block>
<block name="Circle_CW_fwd">
<set value="true" var="force_forward"/>
<circle radius="100" wp="circ"/>
</block>
<block name="Circle_CCW_fwd">
<set value="true" var="force_forward"/>
<circle radius="-100" wp="circ"/>
</block>
<block name="land here" strip_button="Land Here" strip_icon="land-right.png">
<set value="false" var="force_forward"/>
<call_once fun="NavSetWaypointHere(WP_TD)"/>
</block>
<block name="land">
<set value="false" var="force_forward"/>
<go wp="TD"/>
</block>
<block name="descend">
<set value="false" var="force_forward"/>
<exception cond="!(GetPosAlt() @LT 12.0)" deroute="flare"/>
<stay climb="-1.0" vmode="climb" wp="TD"/>
</block>
<block name="flare">
<set value="false" var="force_forward"/>
<stay climb="-0.5" vmode="climb" wp="TD"/>
<exception cond="!(GetPosAlt() @LT 2.0)" deroute="flare_low"/>
</block>
<block name="flare_low">
<set value="false" var="force_forward"/>
<!-- <exception cond="NavDetectGround()" deroute="Holding point"/> -->
<exception cond="!nav_is_in_flight()" deroute="landed"/>
<!-- <call_once fun="NavStartDetectGround()"/> -->
<!-- <stay climb="-0.5" vmode="climb" wp="TD"/> -->
</block>
<block name="landed">
<set value="false" var="force_forward"/>
<attitude pitch="0" roll="0" throttle="0" until="FALSE" vmode="throttle"/>
</block>
</blocks>
</flight_plan>
2 changes: 1 addition & 1 deletion conf/flight_plans/tudelft/rotorcraft_cyberzoo_no_gps.xml
@@ -1,6 +1,6 @@
<!DOCTYPE flight_plan SYSTEM "../flight_plan.dtd">

<flight_plan alt="1.5" ground_alt="0" lat0="51.990634" lon0="4.376789" max_dist_from_home="20" name="Rotorcraft Cyberzoo (Delft) no GPS" security_height="0.3">
<flight_plan alt="3.5" ground_alt="2" lat0="51.990634" lon0="4.376789" max_dist_from_home="20" name="Rotorcraft Cyberzoo (Delft) no GPS" security_height="0.3">
<header>
#include "autopilot.h"
</header>
Expand Down
2 changes: 1 addition & 1 deletion conf/flight_plans/tudelft/rotorcraft_guido_optitrack.xml
Expand Up @@ -80,7 +80,7 @@
<attitude pitch="0" roll="0" throttle="0" until="FALSE" vmode="throttle"/>
</block>
<block name="Takeoff" strip_button="Takeoff" strip_icon="takeoff.png">
<exception cond="stateGetPositionEnu_f()->z > 1.0" deroute="Standby"/>
<exception cond="GetPosHeight() @GT 1.0" deroute="Standby"/>
<call_once fun="NavSetWaypointHere(WP_CLIMB)"/>
<stay climb="nav.climb_vspeed" vmode="climb" wp="CLIMB"/>
</block>
Expand Down
7 changes: 0 additions & 7 deletions conf/gcs/svalbard2.xml
Expand Up @@ -8,13 +8,6 @@
<property name="size" value="19."/>
<property name="color" value="blue"/>
</papget>
<papget type="message_field" display="text" x="921" y="340">
<property name="field" value="IR_SENSORS:vertical"/>
<property name="scale" value="1"/>
<property name="format" value="%.0f"/>
<property name="size" value="19."/>
<property name="color" value="red"/>
</papget>
</widget>
<columns>
<rows SIZE="422">
Expand Down
1 change: 1 addition & 0 deletions conf/modules/actuators_dshot.xml
Expand Up @@ -22,6 +22,7 @@
<file_arch name="actuators_dshot_arch.c"/>
<file_arch name="esc_dshot.c" cond="ifeq ($(RTOS),chibios)"/>
<file_arch name="hal_stm32_dma.c" dir="mcu_periph" cond="ifeq ($(RTOS),chibios)"/>
<test/>
</makefile>
</module>

1 change: 1 addition & 0 deletions conf/modules/ahrs_int_cmpl_quat.xml
Expand Up @@ -24,6 +24,7 @@
<configure name="AHRS_ALIGNER_LED" value="1" description="LED number to indicate AHRS alignment, none to disable (default is board dependent)"/>
<define name="AHRS_MAG_UPDATE_ALL_AXES" value="FALSE|TRUE" description="Use magnetometer to update all axes and not only yaw"/>
<define name="AHRS_USE_GPS_HEADING" value="FALSE|TRUE" description="Use GPS course to update heading"/>
<define name="AHRS_FLOATING_HEADING" value="FALSE|TRUE" description="If no GPS and no Mag is available, define AHRS_FLOATING_HEADING to silent warnings."/>
<define name="AHRS_GRAVITY_UPDATE_COORDINATED_TURN" value="FALSE|TRUE" description="Compensation of centrifugal force via GPS speed (to fly in circles with a fixedwing)"/>
<define name="AHRS_GPS_SPEED_IN_NEGATIVE_Z_DIRECTION" value="FALSE|TRUE" description="AHRS_GRAVITY_UPDATE_COORDINATED_TURN assumes the GPS speed is in the X axis direction. Quadshot, DelftaCopter and other hybrids can have the GPS speed in the negative Z direction"/>
<define name="AHRS_PROPAGATE_LOW_PASS_RATES" description="apply a low pass filter on rotational velocity"/>
Expand Down
2 changes: 1 addition & 1 deletion conf/modules/air_data.xml
Expand Up @@ -8,7 +8,7 @@
Subscribes to BARO_ABS, BARO_DIFF and TEMPERATURE ABI messages and calculates QNH and true airspeed from it.
Also enables you to fly on "flight levels" using AMSL (AltitudeAboveSeaLevel) calculated from current pressure and QNH.

When using this module to provide airspeed you need a differential pressure sensor module publishing the BARO_DIFF ABI message. Make sure to disable other modules which otherwise directly set the airspeed in the state interface. E.g. when using the airspeed_ms45xx.xml module, define USE_AIRSPEED_MS45XX to FALSE.
When using this module to provide airspeed you need a differential pressure sensor module publishing the BARO_DIFF ABI message. Make sure to disable other modules which otherwise directly set the airspeed in the state interface.
</description>
<define name="AIR_DATA_BARO_ABS_ID" value="ABI_SENDER_ID" description="ABI sender id for absolute baro measurement (default: ABI_BROADCAST)"/>
<define name="AIR_DATA_BARO_DIFF_ID" value="ABI_SENDER_ID" description="ABI sender id for differential baro measurement (default: ABI_BROADCAST)"/>
Expand Down