[important fixes] make test all confs (#3100)

* silent warnings make test_tudelft

* [fix] bugfix

* info instead of warning

* fix optical flow landing

* module that can not stop does not need a stop function

* missing CAMERA

* dangerous define not standard

* simulator not working at 120Hz

* When no if-statement was triggered, this is information and not a warning.

* remove doubles

* point to inexisting telemetry

* firmware settings hardcoded to need 7 actuators

* Merge double file into 1

* untested airframe

* old sim can only handle 60Hz

* non-existing telemetry

* old sim not accepting 120Hz

* Unify info messages

* only 60Hz sim

* survey no height

* Missing camera

* WP further from HOME than MAX_DIST_FROM_HOME

* No more warning when there is no heading feedback by design, only an info message

* clean releases

* no warning on free floating heading in manual controlled AC

* no double firmware block: use dual target instead

* fixedwing: PERIODIC must be multiple of TELEMETRY_FREQ

* missing camera

* error with dual heading feedback

* missing kill switch

* remove prefix

* implicit declaration of function 'scb_reset_system'

* implicit declaration of function 'spektrum_try_bind'

* no dual firmware

* shadowed variable

* wrong header

* typo in fix

* TELEMETRY_PERIOD should be a multiple of PERIODIC

* Missing struct dshot actuators_dshot_values in sim during e7781e7b87

* matek sim does not compile

* bebop misses a camera

* silent compile warnings opticflow

* silent compile warnings

* guido fixed

* double prefix

* changed confs

* new way

* setup_actuators setting up 8 actuators needs 8 actuators

* [openuas] so many comments that the compiler failed.

* [tests] make test_tudelft has 4 coonfs

* [ins_flow] depends on gps (called in initialization of  NED)

* [doc] update

* update naming convention

* an octocopter needs 8 ports please

* pprz_can_init type change

* changed conf
This commit is contained in:
Christophe De Wagter
2023-09-25 01:12:39 +02:00
committed by GitHub
parent 9541c19bc1
commit 57756b0493
62 changed files with 188 additions and 811 deletions
+3
View File
@@ -317,6 +317,9 @@ test_openuas: all
# test TU Delft conf
test_tudelft: all
CONF_XML=conf/userconf/tudelft/conf.xml prove tests/aircrafts/
CONF_XML=conf/userconf/tudelft/delfly_conf.xml prove tests/aircrafts/
CONF_XML=conf/userconf/tudelft/course_conf.xml prove tests/aircrafts/
CONF_XML=conf/userconf/tudelft/guido_conf.xml prove tests/aircrafts/
# test GVF conf
test_gvf: all
+1 -1
View File
@@ -73,7 +73,7 @@
telemetry="telemetry/AGGIEAIR/aggieair_iris.xml"
flight_plan="flight_plans/AGGIEAIR/rotorcraft_opticlow_test.xml"
settings="settings/rotorcraft_basic.xml [settings/test_actuators_pwm.xml]"
settings_modules="modules/air_data.xml modules/lidar_sf11.xml modules/lidar_lite.xml modules/px4flow_i2c.xml modules/ins_extended.xml modules/ahrs_float_mlkf.xml modules/stabilization_float_euler.xml modules/nav_basic_rotorcraft.xml modules/guidance_rotorcraft.xml modules/imu_common.xml"
settings_modules="modules/ahrs_float_mlkf.xml modules/air_data.xml modules/electrical.xml modules/gps.xml modules/gps_ublox.xml modules/guidance_pid_rotorcraft.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/ins_extended.xml modules/lidar_lite.xml modules/lidar_sf11.xml modules/nav_rotorcraft.xml modules/px4flow_i2c.xml modules/stabilization_float_euler.xml"
gui_color="#337e387bffff"
/>
<aircraft
+1
View File
@@ -39,6 +39,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">
+1
View File
@@ -40,6 +40,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">
+3 -1
View File
@@ -7,13 +7,15 @@
<airframe name="Disco">
<firmware name="fixedwing">
<configure name="PERIODIC_FREQUENCY" value="120"/>
<configure name="USE_MAGNETOMETER" value="TRUE"/>
<target name="ap" board="disco">
<configure name="PERIODIC_FREQUENCY" value="120"/>
<module name="radio_control" type="sbus"/>
</target>
<target name="sim" board="pc">
<configure name="SYS_TIME_FREQUENCY" value="120"/>
<configure name="PERIODIC_FREQUENCY" value="60"/>
<module name="radio_control" type="ppm"/>
</target>
@@ -223,6 +223,7 @@
<module name="ahrs" type="int_cmpl_quat">
<configure name="USE_MAGNETOMETER" value="0"/>
<define name="AHRS_USE_GPS_HEADING" value="0"/>
<define name="AHRS_FLOATING_HEADING" value="1"/>
</module>
<module name="ins" type="extended"/>
<module name="geo_mag"/>
+5 -5
View File
@@ -84,7 +84,7 @@
telemetry="telemetry/default_fixedwing.xml"
flight_plan="flight_plans/basic.xml"
settings="settings/fixedwing_basic.xml"
settings_modules="modules/ahrs_float_cmpl_quat.xml modules/ahrs_float_dcm.xml modules/air_data.xml modules/gps.xml modules/guidance_full_pid_fw.xml modules/imu_common.xml modules/nav_basic_fw.xml modules/stabilization_adaptive_fw.xml"
settings_modules="modules/ahrs_float_cmpl_quat.xml modules/ahrs_float_dcm.xml modules/air_data.xml modules/electrical.xml modules/gps.xml modules/gps_ublox.xml modules/guidance_full_pid_fw.xml modules/imu_common.xml modules/nav_basic_fw.xml modules/stabilization_adaptive_fw.xml"
gui_color="blue"
/>
<aircraft
@@ -125,10 +125,10 @@
ac_id="217"
airframe="airframes/ENAC/quadrotor/anton_indi_aruco.xml"
radio="radios/FrSky_X-Lite.xml"
telemetry="telemetry/rotorcraft_imav2022.xml"
telemetry="telemetry/default_rotorcraft.xml"
flight_plan="flight_plans/competitions/IMAV2022_drop.xml"
settings="settings/rotorcraft_basic.xml"
settings_modules="modules/ahrs_int_cmpl_quat.xml modules/air_data.xml modules/filter_1euro_imu.xml modules/gps.xml modules/guidance_indi.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/jevois.xml modules/logger_sd_chibios.xml modules/nav_basic_rotorcraft.xml modules/nav_survey_poly_rotorcraft.xml modules/stabilization_indi.xml modules/switch_servo.xml modules/tag_tracking.xml"
settings_modules="modules/ahrs_int_cmpl_quat.xml modules/air_data.xml modules/electrical.xml modules/filter_1euro_imu.xml modules/gps.xml modules/gps_ublox.xml modules/guidance_indi.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/jevois.xml modules/logger_sd_chibios.xml modules/nav_rotorcraft.xml modules/nav_survey_poly_rotorcraft.xml modules/stabilization_indi.xml modules/switch_servo.xml modules/tag_tracking.xml"
gui_color="#fdd12f992f99"
/>
<aircraft
@@ -136,7 +136,7 @@
ac_id="218"
airframe="airframes/ENAC/quadrotor/ulysse_indi.xml"
radio="radios/FrSky_X-Lite.xml"
telemetry="telemetry/rotorcraft_imav2022.xml"
telemetry="telemetry/default_rotorcraft.xml"
flight_plan="flight_plans/competitions/IMAV2022_drop.xml"
settings="settings/rotorcraft_basic.xml"
settings_modules="modules/ahrs_int_cmpl_quat.xml modules/air_data.xml modules/gps.xml modules/guidance_indi.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/jevois.xml modules/logger_sd_chibios.xml modules/nav_basic_rotorcraft.xml modules/nav_survey_poly_rotorcraft.xml modules/stabilization_indi.xml modules/switch_servo.xml modules/tag_tracking.xml"
@@ -150,7 +150,7 @@
telemetry="telemetry/default_rotorcraft.xml"
flight_plan="flight_plans/rotorcraft_basic.xml"
settings="settings/rotorcraft_basic.xml"
settings_modules="modules/ahrs_int_cmpl_quat.xml modules/air_data.xml modules/gps.xml modules/guidance_pid_rotorcraft.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/nav_rotorcraft.xml modules/stabilization_int_quat.xml"
settings_modules="modules/ahrs_int_cmpl_quat.xml modules/air_data.xml modules/electrical.xml modules/gps.xml modules/guidance_pid_rotorcraft.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/nav_rotorcraft.xml modules/stabilization_int_quat.xml"
gui_color="red"
/>
</conf>
+3 -1
View File
@@ -7,13 +7,15 @@
<airframe name="Disco">
<firmware name="fixedwing">
<configure name="PERIODIC_FREQUENCY" value="120"/>
<configure name="USE_MAGNETOMETER" value="TRUE"/>
<target name="ap" board="disco">
<configure name="PERIODIC_FREQUENCY" value="120"/>
<module name="radio_control" type="sbus"/>
</target>
<target name="sim" board="pc">
<configure name="SYS_TIME_FREQUENCY" value="120"/>
<configure name="PERIODIC_FREQUENCY" value="60"/>
<module name="radio_control" type="ppm"/>
</target>
+2 -1
View File
@@ -5,10 +5,10 @@
<firmware name="fixedwing">
<!--configure name="RTOS_DEBUG" value="1"/-->
<!--configure name="CH_OPT" value="0 -g -ggdb3"/-->
<configure name="PERIODIC_FREQUENCY" value="100"/>
<define name="SERVO_HZ" type="60"/>
<target name="ap" board="tawaki_1.0">
<configure name="PERIODIC_FREQUENCY" value="100"/>
<module name="radio_control" type="sbus"/>
<!--module name="ahrs" type="float_dcm"/>
<module name="ins" type="alt_float"/-->
@@ -31,6 +31,7 @@
</target>
<target name="sim" board="pc">
<configure name="PERIODIC_FREQUENCY" value="60"/><!-- sim only works at 60Hz -->
<module name="radio_control" type="ppm"/>
<module name="ahrs" type="float_dcm"/>
<module name="ins" type="alt_float"/>
+2 -1
View File
@@ -4,10 +4,10 @@
<firmware name="fixedwing">
<!--configure name="RTOS_DEBUG" value="1"/-->
<configure name="PERIODIC_FREQUENCY" value="100"/>
<define name="SERVO_HZ" type="60"/>
<target name="ap" board="nucleo144_f767zi">
<configure name="PERIODIC_FREQUENCY" value="100"/>
<module name="radio_control" type="sbus"/>
<module name="ahrs" type="float_dcm"/>
<module name="ins" type="alt_float"/>
@@ -25,6 +25,7 @@
</target>
<target name="sim" board="pc">
<configure name="PERIODIC_FREQUENCY" value="60"/><!-- sim can only handle 60Hz -->
<module name="radio_control" type="ppm"/>
<module name="ahrs" type="float_dcm"/>
<module name="ins" type="alt_float"/>
+1
View File
@@ -183,6 +183,7 @@
<module name="stabilization" type="int_quat"/>
<module name="ahrs" type="int_cmpl_quat">
<configure name="USE_MAGNETOMETER" value="0"/>
<define name="AHRS_FLOATING_HEADING" value="1"/>
</module>
<module name="ins"/>
<!--define name="USE_INS_NAV_INIT"/-->
+1
View File
@@ -211,6 +211,7 @@
<module name="ahrs" type="int_cmpl_quat">
<configure name="USE_MAGNETOMETER" value="0"/>
<define name="AHRS_USE_GPS_HEADING" value="0"/>
<define name="AHRS_FLOATING_HEADING" value="1"/>
</module>
<module name="ins"/>
<!--define name="USE_INS_NAV_INIT"/-->
+1 -1
View File
@@ -29,7 +29,7 @@
telemetry="telemetry/default_rotorcraft.xml"
flight_plan="flight_plans/rotorcraft_basic.xml"
settings="settings/rotorcraft_basic.xml settings/setup_actuators.xml settings/estimation/ahrs_secondary.xml"
settings_modules="modules/air_data.xml modules/geo_mag.xml modules/gps_ubx_ucenter.xml modules/ahrs_int_cmpl_quat.xml modules/ahrs_float_mlkf.xml modules/stabilization_int_quat.xml modules/nav_basic_rotorcraft.xml modules/guidance_rotorcraft.xml modules/gps.xml modules/imu_common.xml"
settings_modules="modules/ahrs_float_mlkf.xml modules/ahrs_int_cmpl_quat.xml modules/air_data.xml modules/electrical.xml modules/geo_mag.xml modules/gps.xml modules/gps_ublox.xml modules/gps_ubx_ucenter.xml modules/guidance_pid_rotorcraft.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/nav_rotorcraft.xml modules/stabilization_int_quat.xml"
gui_color="blue"
/>
<aircraft
+4
View File
@@ -105,6 +105,10 @@
<servo name="FR" no="1" min="1000" neutral="1100" max="1900"/>
<servo name="BR" no="2" min="1000" neutral="1100" max="1900"/>
<servo name="BL" no="3" min="1000" neutral="1100" max="1900"/>
<servo name="E1" no="4" min="1000" neutral="1100" max="1900"/>
<servo name="E2" no="5" min="1000" neutral="1100" max="1900"/>
<servo name="E3" no="6" min="1000" neutral="1100" max="1900"/>
<servo name="E4" no="7" min="1000" neutral="1100" max="1900"/>
</servos>
<commands>
+2 -2
View File
@@ -29,7 +29,7 @@
telemetry="telemetry/default_rotorcraft.xml"
flight_plan="flight_plans/HOOPERFLY/hooperfly_gsa_one.xml"
settings="settings/rotorcraft_basic.xml"
settings_modules="modules/nav_survey_rectangle_rotorcraft.xml modules/air_data.xml modules/geo_mag.xml modules/gps_ubx_ucenter.xml modules/ahrs_int_cmpl_quat.xml modules/stabilization_int_quat.xml modules/nav_basic_rotorcraft.xml modules/guidance_rotorcraft.xml modules/gps.xml modules/imu_common.xml"
settings_modules="modules/ahrs_int_cmpl_quat.xml modules/air_data.xml modules/electrical.xml modules/geo_mag.xml modules/gps.xml modules/gps_ublox.xml modules/gps_ubx_ucenter.xml modules/guidance_pid_rotorcraft.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/nav_rotorcraft.xml modules/nav_survey_rectangle_rotorcraft.xml modules/stabilization_int_quat.xml"
gui_color="purple"
/>
<aircraft
@@ -40,7 +40,7 @@
telemetry="telemetry/default_rotorcraft.xml"
flight_plan="flight_plans/HOOPERFLY/hooperfly_gsa_one.xml"
settings="settings/rotorcraft_basic.xml"
settings_modules="modules/nav_survey_rectangle_rotorcraft.xml modules/air_data.xml modules/geo_mag.xml modules/gps_ubx_ucenter.xml modules/ahrs_int_cmpl_quat.xml modules/stabilization_int_quat.xml modules/nav_basic_rotorcraft.xml modules/guidance_rotorcraft.xml modules/gps.xml modules/imu_common.xml"
settings_modules="modules/ahrs_int_cmpl_quat.xml modules/air_data.xml modules/electrical.xml modules/geo_mag.xml modules/gps.xml modules/gps_ublox.xml modules/gps_ubx_ucenter.xml modules/guidance_pid_rotorcraft.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/nav_rotorcraft.xml modules/nav_survey_rectangle_rotorcraft.xml modules/stabilization_int_quat.xml"
gui_color="green"
/>
<aircraft
@@ -28,6 +28,7 @@
<module name="motor_mixing"/>
<module name="actuators" type="pwm">
<define name="SERVO_HZ" value="400"/>
<define name="USE_SERVOS_7AND8" value="TRUE"/>
</module>
<module name="telemetry" type="transparent"/>
@@ -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 -->
@@ -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">
@@ -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">
@@ -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>
@@ -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"/>
@@ -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 *************-->
@@ -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 ***** -->
@@ -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 -->
@@ -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"/> -->
@@ -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"/>
@@ -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)-->
@@ -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">
@@ -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"/>
@@ -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>
@@ -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-->
+1 -1
View File
@@ -29,7 +29,7 @@
<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"/>
+2 -2
View File
@@ -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"/>
@@ -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>
+1 -1
View File
@@ -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 -->
+1 -1
View File
@@ -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>
@@ -30,7 +30,8 @@
</module>
<module name="ins" type="extended"/> -->
<define name="AHRS_USE_GPS_HEADING" value="TRUE"/>
<define name="AHRS_USE_GPS_HEADING" value="FALSE"/>
<define name="AHRS_FLOATING_HEADING" value="1"/>
<module name="ins" type="flow"/>
<!-- These are already defined in fdm_gazebo
<define name="NPS_BYPASS_AHRS" value="FALSE"/>
@@ -47,8 +48,11 @@
<module name="air_data"/>
<!-- <module name="gps" type="ubx_ucenter"/> -->
<module name="video_thread"/>
<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="pose_history"/>
<module name="logger_file">
@@ -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">
@@ -1,7 +1,7 @@
<!DOCTYPE airframe SYSTEM "../airframe.dtd">
<airframe name="bebop_avoider">
<description>Vision Course TUDelft V2019
<description>MAVLAB Course TUDelft 2023
</description>
@@ -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_">
@@ -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"/>
@@ -1,271 +0,0 @@
<!DOCTYPE airframe SYSTEM "../airframe.dtd">
<airframe name="bebop_avoider">
<description>MAVLAB Course TUDelft
</description>
<firmware name="rotorcraft">
<target name="ap" board="bebop">
<define name="VIDEO_CAPTURE_PATH" value="/data/ftp/internal_000/images"/>
<define name="LOGGER_FILE_PATH" value="/data/ftp/internal_000/log"/>
<define name="MT9V117_TARGET_FPS" value="20"/>
<!-- Detect orange -->
<define name="COLOR_OBJECT_DETECTOR_LUM_MIN1" value="40"/>
<define name="COLOR_OBJECT_DETECTOR_LUM_MAX1" value="145"/>
<define name="COLOR_OBJECT_DETECTOR_CB_MIN1" value="65"/>
<define name="COLOR_OBJECT_DETECTOR_CB_MAX1" value="140"/>
<define name="COLOR_OBJECT_DETECTOR_CR_MIN1" value="160"/>
<define name="COLOR_OBJECT_DETECTOR_CR_MAX1" value="225"/>
</target>
<target name="nps" board="pc">
<module name="fdm" type="gazebo"/>
<define name="VIDEO_CAPTURE_PATH" value="/tmp/paparazzi/images"/>
<define name="LOGGER_FILE_PATH" value="/tmp/paparazzi/log"/>
<!-- Detect orange -->
<define name="COLOR_OBJECT_DETECTOR_LUM_MIN1" value="41"/>
<define name="COLOR_OBJECT_DETECTOR_LUM_MAX1" value="183"/>
<define name="COLOR_OBJECT_DETECTOR_CB_MIN1" value="53"/>
<define name="COLOR_OBJECT_DETECTOR_CB_MAX1" value="121"/>
<define name="COLOR_OBJECT_DETECTOR_CR_MIN1" value="134"/>
<define name="COLOR_OBJECT_DETECTOR_CR_MAX1" value="249"/>
</target>
<define name="ARRIVED_AT_WAYPOINT" value="0.5"/><!-- Detect arrival at waypoint when within 0.5m -->
<!-- Subsystem section -->
<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="stabilization" type="rate_indi"/>
<module name="ahrs" type="int_cmpl_quat">
<configure name="USE_MAGNETOMETER" value="FALSE"/>
<define name="AHRS_USE_GPS_HEADING" value="TRUE"/>
</module>
<module name="ins" type="extended"/>
<module name="logger_file"/>
<!-- Video/Camera modules -->
<module name="bebop_cam"/>
<!--module name="bebop_ae_awb">
<define name="CV_AE_AWB_AV" value="1" />
<define name="CV_AE_AWB_VERBOSE" value="0" />
</module-->
<module name="video_capture">
<define name="VIDEO_CAPTURE_CAMERA" value="front_camera"/>
<define name="VIDEO_CAPTURE_FPS" value="10"/>
</module>
<module name="cv_detect_color_object">
<define name="COLOR_OBJECT_DETECTOR_CAMERA1" value="front_camera"/>
<define name="COLOR_OBJECT_DETECTOR_FPS1" value="0"/>
<define name="COLOR_OBJECT_DETECTOR_DRAW1" value="1"/>
</module>
<module name="video_rtp_stream">
<define name="VIEWVIDEO_CAMERA" value="front_camera"/>
<define name="VIEWVIDEO_CAMERA2" value="bottom_camera"/>
<define name="VIEWVIDEO_DOWNSIZE_FACTOR" value="1"/>
<define name="VIEWVIDEO_QUALITY_FACTOR" value="40"/>
</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="3000" neutral="3000" max="9800" />
<servo name="TOP_RIGHT" no="1" min="3000" neutral="3000" max="9800" />
<servo name="BOTTOM_RIGHT" no="2" min="3000" neutral="3000" max="9800" />
<servo name="BOTTOM_LEFT" no="3" min="3000" neutral="3000" max="9800" />
</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="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="BEBOP_FRONT_CAMERA" prefix="MT9F002_">
<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="20" />
<define name="OUTPUT_SCALER" value="0.25"/>
<define name="TARGET_FPS" value="30" />
</section>
<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="TRUE"/>
</section>
<section name="IMU" prefix="IMU_">
<define name="BODY_TO_IMU_PHI" value="0." unit="deg"/>
<define name="BODY_TO_IMU_THETA" value="0." unit="deg"/>
<define name="BODY_TO_IMU_PSI" value="0." unit="deg"/>
<!-- Magneto calibration -->
<define name="MAG_X_NEUTRAL" value="0"/>
<define name="MAG_Y_NEUTRAL" value="0"/>
<define name="MAG_Z_NEUTRAL" value="0"/>
</section>
<!-- local magnetic field -->
<!-- http://wiki.paparazziuav.org/wiki/Subsystem/ahrs#Local_Magnetic_Field -->
<section name="AHRS" prefix="AHRS_">
<!-- values used if no GPS fix, on 3D fix is update by geo_mag module -->
<!-- Delft -->
<define name="H_X" value="0.3892503"/>
<define name="H_Y" value="0.0017972"/>
<define name="H_Z" value="0.9211303"/>
<define name="HEADING_UPDATE_GPS_MIN_SPEED" value="0"/>
<define name="GRAVITY_HEURISTIC_FACTOR" value="0"/>
</section>
<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"/>
<define name="VFF_R_GPS" value="0.01"/>
</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="120" unit="deg/s"/>
<define name="DEADBAND_A" value="0"/>
<define name="DEADBAND_E" value="0"/>
<define name="DEADBAND_R" value="50"/>
</section>
<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="200" unit="deg/s"/>
<define name="REF_ZETA_R" value="0.9"/>
<define name="REF_MAX_R" value="300." unit="deg/s"/>
<define name="REF_MAX_RDOT" value="RadOfDeg(4000.)"/>
</section>
<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="283"/>
<define name="HOVER_KD" value="82"/>
<define name="HOVER_KI" value="20"/>
<define name="NOMINAL_HOVER_THROTTLE" value="0.68"/>
<define name="ADAPT_THROTTLE_ENABLED" value="TRUE"/>
<define name="ADAPT_INITIAL_HOVER_THROTTLE" value="0.68" />
<define name="ADAPT_MIN_HOVER_THROTTLE" value="0.55" />
<define name="ADAPT_MAX_HOVER_THROTTLE" value="0.72" />
<!-- <define name="ADAPT_NOISE_FACTOR" value="0.8" /> -->
</section>
<section name="GUIDANCE_H" prefix="GUIDANCE_H_">
<!-- Good weather -->
<define name="MAX_BANK" value="20" unit="deg"/>
<define name="REF_MAX_SPEED" value="0.5" unit="m/s"/>
<!-- Bad weather -->
<!-- define name="MAX_BANK" value="32" unit="deg"/ -->
<define name="PGAIN" value="120"/>
<define name="DGAIN" value="230"/>
<define name="IGAIN" value="40"/>
</section>
<section name="NAVIGATION" prefix="NAV_">
<define name="CLIMB_VSPEED" value="1.0"/>
<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="bebop" type="string"/>
<define name="MT9F002_SENSOR_RES_DIVIDER" value="4"/>
</section>
<include href="conf/simulator/gazebo/airframes/bebop.xml"/>
<section name="AUTOPILOT">
<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_Z_HOLD"/>
<define name="MODE_AUTO2" value="AP_MODE_NAV"/>
<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="10.8" unit="V"/>
<define name="LOW_BAT_LEVEL" value="11.1" unit="V"/>
<define name="MAX_BAT_LEVEL" value="12.4" unit="V"/>
</section>
</airframe>
+1
View File
@@ -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">
@@ -30,6 +30,7 @@ pyramid level 2: 21 fps average, min=11fps
</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"/>
+1
View File
@@ -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"/>
+2 -2
View File
@@ -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"/>
@@ -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"-->
@@ -22,11 +22,11 @@
<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>
@@ -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>
+5 -4
View File
@@ -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 -->
@@ -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" />
@@ -96,6 +96,7 @@
<configure name="MODEM_BAUD" value="$(INTERMCU_BAUD)"/>
<define name="TELEMETRY_DISABLE_RX"/>
</module>
</target>
</firmware>
<section name="MISC">
@@ -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"/>
-361
View File
@@ -1,361 +0,0 @@
<!DOCTYPE airframe SYSTEM "../airframe.dtd">
<!-- This is a Nedderdrone with Trailing edge motors
* Airframe: TUD00289
* Autopilot: Pixhawk 4
* Actuators: 12x T-Motor ESC + Motors and 8x Servos (all CAN)
* Datalink: Herelink
* GPS: UBlox F9P
* RC: SBUS Crossfire
-->
<airframe name="Neddrone4">
<description>Neddrone4</description>
<firmware name="rotorcraft">
<target name="ap" board="px4fmu_5.0_chibios">
<configure name="PERIODIC_FREQUENCY" value="500"/>
<configure name="FLASH_MODE" value="SWD"/>
<module name="radio_control" type="sbus">
<configure name="SBUS_PORT" value="UART3"/>
</module>
<module name="airspeed_ets.xml">
<configure name="AIRSPEED_ETS_I2C_DEV" value="I2C4"/>
<define name="AIRSPEED_ETS_SCALE" value="1.24"/>
</module>
<module name="scheduling_indi_simple"/>
<!-- Forward FuelCell data back to the GCS -->
<!--module name="generic_uart_sensor"/-->
<!-- Logger -->
<module name="tlsf"/>
<module name="pprzlog"/>
<module name="logger" type="sd_chibios"/>
<module name="flight_recorder"/>
<define name="ADC_CURRENT_DISABLE" value="TRUE"/>
<define name="RADIO_TH_HOLD" value="RADIO_AUX1"/> <!-- 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_KILL_SWITCH" value="RADIO_AUX1"/>
</target>
<target name="nps" board="pc">
<module name="radio_control" type="datalink"/>
<module name="fdm" type="jsbsim"/>
<module name="scheduling_indi_simple"/>
<module name="logger_file">
<define name="LOGGER_FILE_PATH" value="/home/ewoud/Documents"/>
</module>
<!--Not dealing with these in the simulation-->
<define name="RADIO_TH_HOLD" value="0"/> <!-- Throttle hold in command laws -->
<define name="RADIO_FMODE" value="0"/> <!-- Throttle curve select -->
<define name="RADIO_FBW_MODE" value="0"/> <!-- Switch between AP and FBW control -->
<define name="RADIO_KILL_SWITCH" value="0"/>
</target>
<module name="telemetry" type="transparent">
<configure name="MODEM_BAUD" value="B115200"/>
</module>
<module name="actuators" type="uavcan">
<configure name="UAVCAN_USE_CAN1" value="TRUE"/>
<configure name="UAVCAN_USE_CAN2" value="TRUE"/>
</module>
<module name="imu" type="mpu6000"/>
<module name="gps" type="datalink"/>
<!--module name="gps" type="ublox"/>
<module name="gps" type="ubx_ucenter"/-->
<module name="stabilization" type="indi_simple"/>
<module name="stabilization" type="rate_indi"/>
<module name="ins" type="ekf2" />
<module name="air_data"/>
<!-- Internal MAG -->
<!--module name="mag_ist8310">
<define name="MODULE_IST8310_UPDATE_AHRS" value="TRUE"/>
<configure name="MAG_IST8310_I2C_DEV" value="I2C3"/>
</module-->
<!-- External MAG on GPS -->
<module name="mag_lis3mdl">
<define name="MODULE_LIS3MDL_UPDATE_AHRS" value="TRUE"/>
<configure name="MAG_LIS3MDL_I2C_DEV" value="I2C1"/>
<define name="LIS3MDL_CHAN_X_SIGN" value="-"/>
<define name="LIS3MDL_CHAN_Y_SIGN" value="-"/>
</module>
<!--module name="lidar" type="tfmini">
<configure name="TFMINI_PORT" value="UART4"/>
<configure name="USE_TFMINI_AGL" value="FALSE"/>
</module-->
<module name="nav" type="hybrid">
<define name="GUIDANCE_H_USE_REF" value="FALSE"/>
</module>
<module name="guidance" type="indi_hybrid">
<define name="GUIDANCE_INDI_RC_DEBUG" value="FALSE"/>
<define name="GUIDANCE_INDI_POS_GAIN" value="0.2"/>
<define name="GUIDANCE_INDI_SPEED_GAIN" value="1.0"/>
<define name="GUIDANCE_INDI_POS_GAINZ" value="0.2"/>
<define name="GUIDANCE_INDI_SPEED_GAINZ" value="1.0"/>
<define name="GUIDANCE_INDI_PITCH_LIFT_EFF" value="0.12"/>
<define name="GUIDANCE_INDI_PITCH_EFF_SCALING" value="1.0"/>
<define name="GUIDANCE_H_REF_MAX_SPEED" value="18.0"/> <!--not used-->
<define name="GUIDANCE_INDI_MAX_AIRSPEED" value="16.0"/>
<define name="GUIDANCE_INDI_HEADING_BANK_GAIN" value="5"/>
<define name="GUIDANCE_INDI_SPECIFIC_FORCE_GAIN" value="-943.0"/>
<define name="GUIDANCE_INDI_SPECIFIC_FORCE_GAIN_45" value="-500.0"/>
<define name="GUIDANCE_INDI_SPECIFIC_FORCE_GAIN_FWD" value="-1600.0"/>
<define name="GUIDANCE_INDI_FILTER_CUTOFF" value="0.5"/>
<define name="GUIDANCE_INDI_LINE_GAIN" value="0.2"/>
<define name="GUIDANCE_INDI_MIN_THROTTLE" value="2500"/>
</module>
<module name="motor_mixing"/>
</firmware>
<!-- CAN BUS 1 (Front Wing) -->
<servos driver="Uavcan1">
<servo name="MOTOR_1" no="0" min="-8191" neutral="1500" max="8191"/>
<servo name="MOTOR_2" no="1" min="-8191" neutral="1500" max="8191"/>
<servo name="MOTOR_3" no="2" min="-8191" neutral="1500" max="8191"/>
<servo name="MOTOR_4" no="3" min="-8191" neutral="1500" max="8191"/>
<servo name="MOTOR_5" no="4" min="-8191" neutral="1500" max="8191"/>
<servo name="MOTOR_6" no="5" min="-8191" neutral="1500" max="8191"/>
<servo name="AIL_1" no="6" min="-3000" neutral="0" max="3000"/>
<servo name="FLAP_1" no="7" min="-3000" neutral="0" max="3000"/>
<servo name="FLAP_2" no="8" min="3000" neutral="0" max="-3000"/>
<servo name="AIL_2" no="9" min="3000" neutral="0" max="-3000"/>
</servos>
<!-- CAN BUS 2 (Back Wing) -->
<servos driver="Uavcan2">
<servo name="MOTOR_7" no="0" min="-8191" neutral="1500" max="8191"/>
<servo name="MOTOR_8" no="1" min="-8191" neutral="1500" max="8191"/>
<servo name="MOTOR_9" no="2" min="-8191" neutral="1500" max="8191"/>
<servo name="MOTOR_10" no="3" min="-8191" neutral="1500" max="8191"/>
<servo name="MOTOR_11" no="4" min="-8191" neutral="1500" max="8191"/>
<servo name="MOTOR_12" no="5" min="-8191" neutral="1500" max="8191"/>
<servo name="AIL_3" no="6" min="6000" neutral="0" max="-6000"/>
<servo name="FLAP_3" no="7" min="6000" neutral="0" max="-6000"/>
<servo name="FLAP_4" no="8" min="-6000" neutral="0" max="6000"/>
<servo name="AIL_4" no="9" min="-6000" neutral="0" max="6000"/>
</servos>
<commands>
<axis name="ROLL" failsafe_value="0"/>
<axis name="PITCH" failsafe_value="-300"/>
<axis name="YAW" failsafe_value="0"/>
<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) -->
<define name="NB_MOTOR" value="12"/>
<define name="SCALE" value="256"/>
<define name="ROLL_COEF" value="{256, 253, 159, -159, -253, -256, 256, 157, 56, -56, -157, -256}"/>
<define name="PITCH_COEF" value="{256, 256, 256, 256, 256, 256, -256, -256, -256, -256, -256, -256}"/>
<define name="YAW_COEF" value="{251, -256, 252, -252, 256, -251, -256, 252, -254, 254, -252, 256}"/>
<!--<define name="YAW_COEF" value="{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}"/>-->
<define name="THRUST_COEF" value="{256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256}"/>
</section>
<command_laws>
<call fun="motor_mixing_run(autopilot_get_motors_on(),FALSE,values)"/>
<let var="th_hold" value="LessThan(RadioControlValues(RADIO_TH_HOLD), -4800)"/>
<set servo="MOTOR_1" value="($th_hold? -9600 : motor_mixing.commands[0])"/>
<set servo="MOTOR_2" value="($th_hold? -9600 : motor_mixing.commands[1])"/>
<set servo="MOTOR_3" value="($th_hold? -9600 : motor_mixing.commands[2])"/>
<set servo="MOTOR_4" value="($th_hold? -9600 : motor_mixing.commands[3])"/>
<set servo="MOTOR_5" value="($th_hold? -9600 : motor_mixing.commands[4])"/>
<set servo="MOTOR_6" value="($th_hold? -9600 : motor_mixing.commands[5])"/>
<set servo="MOTOR_7" value="($th_hold? -9600 : motor_mixing.commands[6])"/>
<set servo="MOTOR_8" value="($th_hold? -9600 : motor_mixing.commands[7])"/>
<set servo="MOTOR_9" value="($th_hold? -9600 : motor_mixing.commands[8])"/>
<set servo="MOTOR_10" value="($th_hold? -9600 : motor_mixing.commands[9])"/>
<set servo="MOTOR_11" value="($th_hold? -9600 : motor_mixing.commands[10])"/>
<set servo="MOTOR_12" value="($th_hold? -9600 : motor_mixing.commands[11])"/>
<!-- Removed ApplyDiff for differential control -->
<set servo="AIL_1" value=" 2*@YAW"/>
<set servo="AIL_2" value="-2*@YAW"/>
<set servo="AIL_3" value=" 2*@YAW"/>
<set servo="AIL_4" value="-2*@YAW"/>
<set servo="FLAP_1" value=" 2*@YAW"/>
<set servo="FLAP_2" value="-2*@YAW"/>
<set servo="FLAP_3" value=" 2*@YAW"/>
<set servo="FLAP_4" value="-2*@YAW"/>
</command_laws>
<section name="MISC">
<define name="VoltageOfAdc(adc)" value="((3.3f/4096.0f) * 17.9024749557 * adc)"/><!-- TODO: verify/calibrate -->
<define name="NO_RC_THRUST_LIMIT" value="TRUE"/>
<!-- Basic navigation settings -->
<define name="NAV_CLIMB_VSPEED" value="3.5"/>
<define name="NAV_DESCEND_VSPEED" value="-0.5"/>
<define name="ARRIVED_AT_WAYPOINT" value="50.0"/>
<!-- Avoid GPS loss behavior when having RC or datalink -->
<define name="NO_GPS_LOST_WITH_DATALINK_TIME" value="20"/>
<define name="NO_GPS_LOST_WITH_RC_VALID" value="TRUE"/>
<define name="INS_EKF2_FUSION_MODE" value="MASK_USE_GPS | MASK_USE_GPSYAW"/>
<define name="INS_EKF2_VDIST_SENSOR_TYPE" value="VDIST_SENSOR_GPS"/>
<define name="INS_EKF2_GPS_CHECK_MASK" value="0"/>
<define name="INS_EKF2_GPS_COURSE_YAW" value="TRUE"/>
</section>
<section name="FORWARD">
<!--The Nederdrone uses a slightly different axis system for the setpoint, to make both hovering and flying forward intuitive-->
<define name="USE_EARTH_BOUND_RC_SETPOINT" value="TRUE"/>
<!-- This is the pitch angle that the Nederdrone will have in forward flight, where 0 degrees is hover-->
<define name="TRANSITION_MAX_OFFSET" value="-80.0" unit="deg"/>
<!-- For RC coordinated turns, lower because the yawing was too slow -->
<define name="MAX_FWD_SPEED" value="20.0"/>
<!-- For hybrid guidance -->
<define name="MAX_AIRSPEED" value="20.0"/>
<!-- Enable airspeed measurements -->
<define name="USE_AIRSPEED" value="TRUE"/>
</section>
<section name="IMU" prefix="IMU_">
<!-- Rotate the IMU (for Pixhawk 4) -->
<define name="MPU_CHAN_X" value="1"/>
<define name="MPU_CHAN_Y" value="0"/>
<define name="MPU_CHAN_Z" value="2"/>
<define name="MPU_X_SIGN" value="1"/>
<define name="MPU_Y_SIGN" value="1"/>
<define name="MPU_Z_SIGN" value="-1"/>
<!-- Calibrated in the MAVLab 14-05-2020 -->
<define name="ACCEL_X_NEUTRAL" value="-337"/>
<define name="ACCEL_Y_NEUTRAL" value="64"/>
<define name="ACCEL_Z_NEUTRAL" value="-25"/>
<define name="ACCEL_X_SENS" value="4.670307671109528" integer="16"/>
<define name="ACCEL_Y_SENS" value="4.9016250738902425" integer="16"/>
<define name="ACCEL_Z_SENS" value="4.846689188075245" integer="16"/>
<!-- Calibrated at valkenburg 20-05-2020 (external magnetometer) -->
<define name="MAG_X_NEUTRAL" value="866"/>
<define name="MAG_Y_NEUTRAL" value="-1530"/>
<define name="MAG_Z_NEUTRAL" value="-3313"/>
<define name="MAG_X_SENS" value="0.6067461130451115" integer="16"/>
<define name="MAG_Y_SENS" value="0.6544292255627779" integer="16"/>
<define name="MAG_Z_SENS" value="0.6352539557433349" integer="16"/>
<!-- Define axis in hover frame -->
<define name="BODY_TO_IMU_PHI" value="0." unit="deg"/>
<define name="BODY_TO_IMU_THETA" value="90." unit="deg"/>
<define name="BODY_TO_IMU_PSI" value="0." unit="deg"/>
</section>
<section name="STABILIZATION_ATTITUDE" prefix="STABILIZATION_ATTITUDE_">
<!-- setpoints -->
<define name="SP_MAX_PHI" value="60." unit="deg"/>
<define name="SP_MAX_THETA" value="80." unit="deg"/>
<define name="SP_MAX_R" value="90." unit="deg/s"/>
<define name="DEADBAND_R" value="200"/>
<define name="SP_PSI_DELTA_LIMIT" value="45" unit="deg"/>
</section>
<section name="STABILIZATION_ATTITUDE_INDI" prefix="STABILIZATION_INDI_">
<!-- control effectiveness (hover) -->
<define name="G1_P" value="0.0030"/>
<define name="G1_Q" value="0.0035"/>
<define name="G1_R" value="0.0004"/>
<define name="G2_R" value="0.00015"/>
<!-- control effectiveness (forward) -->
<define name="FORWARD_G1_P" value="0.0020"/>
<define name="FORWARD_G1_Q" value="0.0077"/>
<define name="FORWARD_G1_R" value="0.004"/>
<!-- reference acceleration for attitude control -->
<define name="REF_ERR_P" value="30.0"/>
<define name="REF_ERR_Q" value="30.0"/>
<define name="REF_ERR_R" value="20.0"/>
<define name="REF_RATE_P" value="6.0"/>
<define name="REF_RATE_Q" value="6.0"/>
<define name="REF_RATE_R" value="6.0"/>
<!--Maxium yaw rate, to avoid instability-->
<define name="MAX_R" value="50.0" unit="deg/s"/>
<!-- Maximum rate setpoint in rate control mode -->
<define name="MAX_RATE" value="3.0" unit="rad/s"/>
<!-- second order filter parameters -->
<define name="FILT_CUTOFF" value="1.5"/>
<define name="FILT_CUTOFF_RDOT" value="0.5"/>
<define name="ESTIMATION_FILT_CUTOFF" value="5.0"/>
<define name="FILT_CUTOFF_R" value="4.0"/>
<!-- first order actuator dynamics -->
<define name="ACT_DYN_P" value="0.0354"/>
<define name="ACT_DYN_Q" value="0.0354"/>
<define name="ACT_DYN_R" value="0.0354"/>
<!-- 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="310"/>
<define name="HOVER_KD" value="130"/>
<define name="HOVER_KI" value="10"/>
<define name="NOMINAL_HOVER_THROTTLE" value="0.42"/>
<define name="ADAPT_THROTTLE_ENABLED" value="FALSE"/>
</section>
<section name="GUIDANCE_H" prefix="GUIDANCE_H_">
<define name="MAX_BANK" value="30" unit="deg"/>
<define name="USE_SPEED_REF" value="TRUE"/>
<define name="PGAIN" value="60"/>
<define name="DGAIN" value="100"/>
<define name="AGAIN" value="0"/>
<define name="IGAIN" value="20"/>
</section>
<section name="SIMULATOR" prefix="NPS_">
<define name="ACTUATOR_NAMES" value="m1,m2,m3,m4,m5,m6,m7,m8,m9,m10,m11,m12,ail1,ail2,ail3,ail4,flap1,flap2,flap3,flap4" type="string[]"/>
<define name="JSBSIM_MODEL" value="nederdrone" type="string"/>
<!-- mode switch on joystick channel 5 (axis numbering starting at zero) -->
<define name="JS_AXIS_MODE" value="4"/>
</section>
<section name="AUTOPILOT">
<define name="MODE_MANUAL" value="AP_MODE_ATTITUDE_DIRECT"/>
<define name="MODE_AUTO1" value="AP_MODE_FORWARD"/>
<define name="MODE_AUTO2" value="AP_MODE_NAV"/>
<define name="MODE_STARTUP" value="AP_MODE_NAV"/>
</section>
<section name="BAT">
<define name="CATASTROPHIC_BAT_LEVEL" value="18.0" unit="V"/>
<define name="CRITIC_BAT_LEVEL" value="18.6" unit="V"/>
<define name="LOW_BAT_LEVEL" value="19.2" unit="V"/>
<define name="MAX_BAT_LEVEL" value="25.2" unit="V"/>
<define name="BAT_NB_CELLS" value="6"/>
</section>
</airframe>
+1
View File
@@ -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"/>
+4 -4
View File
@@ -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 -->
@@ -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"/>
@@ -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">
@@ -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>
@@ -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">
@@ -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">
@@ -1,84 +0,0 @@
<!DOCTYPE flight_plan SYSTEM "../flight_plan.dtd">
<flight_plan alt="3" ground_alt="0" lat0="43 33 50.83" lon0="1 28 52.61" max_dist_from_home="100" name="MavTec Outdoor Demo" security_height="2">
<header>
#include "autopilot.h"
</header>
<waypoints>
<waypoint name="HOME" x="0.0" y="0.0"/>
<waypoint name="CLIMB" x="0.0" y="5.0"/>
<waypoint name="STDBY" x="-2.0" y="-5.0"/>
<waypoint name="p1" x="3.6" y="-13.9"/>
<waypoint name="p2" x="27.5" y="-48.2"/>
<waypoint name="p3" x="16.7" y="-19.6"/>
<waypoint name="p4" x="13.7" y="-40.7"/>
<waypoint name="CAM" x="-20" y="-50"/>
<waypoint name="TD" x="5.6" y="-10.9"/>
</waypoints>
<blocks>
<block name="Wait GPS">
<call_once fun="NavKillThrottle()"/>
<while cond="!GpsFixValid()"/>
</block>
<block name="Geo init">
<while cond="LessThan(NavBlockTime(), 10)"/>
<call_once fun="NavSetGroundReferenceHere()"/>
<!--<call_once fun="NavSetAltitudeReferenceHere()"/>-->
</block>
<block name="Holding point">
<call_once fun="NavKillThrottle()"/>
<attitude pitch="0" roll="0" throttle="0" vmode="throttle" until="FALSE"/>
</block>
<block name="Start Engine">
<call_once fun="NavResurrect()"/>
<attitude pitch="0" roll="0" throttle="0" vmode="throttle" until="FALSE"/>
</block>
<block name="Takeoff" strip_button="Takeoff" strip_icon="takeoff.png">
<exception cond="GetPosHeight() @GT 2.0" deroute="Standby"/>
<call_once fun="NavSetWaypointHere(WP_CLIMB)"/>
<stay vmode="climb" climb="0.5" wp="CLIMB"/>
</block>
<block name="Standby" strip_button="Standby" strip_icon="home.png">
<stay wp="STDBY"/>
</block>
<block name="stay_p1">
<stay wp="p1"/>
</block>
<block name="go_p2">
<call_once fun="nav_set_heading_deg(90)"/>
<go wp="p2"/>
<deroute block="stay_p1"/>
</block>
<block name="line_p1_p2">
<go from="p1" hmode="route" wp="p2"/>
<stay wp="p2" until="stage_time>10"/>
<go from="p2" hmode="route" wp="p1"/>
<deroute block="stay_p1"/>
</block>
<block name="route">
<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="stay_p1"/>
</block>
<block name="circle CAM" pre_call="nav_set_heading_towards_waypoint(WP_CAM)">
<circle radius="10" wp="CAM"/>
</block>
<block name="land here" strip_button="Land Here" strip_icon="land-right.png">
<call_once fun="NavSetWaypointHere(WP_TD)"/>
</block>
<block name="land">
<go wp="TD"/>
</block>
<block name="flare">
<exception cond="NavDetectGround()" deroute="Holding point"/>
<exception cond="!nav_is_in_flight()" deroute="landed"/>
<call_once fun="NavStartDetectGround()"/>
<stay climb="-0.8" vmode="climb" wp="TD"/>
</block>
<block name="landed">
<attitude pitch="0" roll="0" throttle="0" vmode="throttle" until="FALSE"/>
</block>
</blocks>
</flight_plan>
@@ -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>
+1
View File
@@ -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"/>
+1 -1
View File
@@ -19,7 +19,7 @@
</dl_settings>
</settings>
<dep>
<depends>@imu</depends>
<depends>@imu,@gps</depends>
<provides>ahrs,ins</provides>
</dep>
<header>
+1 -1
View File
@@ -45,7 +45,7 @@ Downloading of the data occurs over the configured serial device using sw/logali
<file name="sdlogger_spi_direct.h"/>
</header>
<init fun="sdlogger_spi_direct_init()"/>
<periodic fun="sdlogger_spi_direct_periodic()" freq="512" start="sdlogger_spi_direct_start()" stop="sdlogger_spi_direct_stop()" autorun="LOCK"/>
<periodic fun="sdlogger_spi_direct_periodic()" freq="512" start="sdlogger_spi_direct_start()" autorun="LOCK"/><!-- remove stop when autorun=LOCK stop="sdlogger_spi_direct_stop()"-->
<datalink message="SETTING" fun="sdlogger_spi_direct_command()"/>
<makefile target="ap">
+4
View File
@@ -76,6 +76,10 @@
</dl_settings>
</settings>
<dep>
<depends>cv_textons</depends>
</dep>
<header>
<file name="optical_flow_landing.h"/>
</header>
+1 -1
View File
@@ -7,7 +7,7 @@
telemetry="telemetry/OPENUAS/openuas_fixedwing_imu_rc.xml"
flight_plan="flight_plans/OPENUAS/openuas_versatile_unified.xml"
settings="settings/fixedwing_basic.xml [settings/estimation/ac_char.xml] [settings/control/ctl_energy.xml] [settings/control/tune_agr_climb.xml] [settings/control/ctl_energyadaptive.xml] settings/control/ctl_new.xml"
settings_modules="modules/ahrs_float_cmpl_quat.xml modules/air_data.xml modules/photogrammetry_calculator.xml modules/geo_mag.xml modules/gps.xml modules/guidance_full_pid_fw.xml modules/imu_common.xml modules/tune_airspeed.xml modules/nav_basic_fw.xml modules/nav_smooth.xml modules/nav_survey_poly_osam.xml modules/stabilization_adaptive_fw.xml"
settings_modules="modules/ahrs_float_cmpl_quat.xml modules/air_data.xml modules/electrical.xml modules/geo_mag.xml modules/gps.xml modules/gps_ublox.xml modules/guidance_full_pid_fw.xml modules/imu_common.xml modules/nav_basic_fw.xml modules/nav_smooth.xml modules/nav_survey_poly_osam.xml modules/photogrammetry_calculator.xml modules/stabilization_adaptive_fw.xml modules/tune_airspeed.xml"
gui_color="white"
/>
</conf>
+11
View File
@@ -560,4 +560,15 @@
settings_modules="modules/ahrs_int_cmpl_quat.xml modules/gps.xml modules/guidance_hybrid.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/nav_basic_rotorcraft.xml modules/stabilization_indi_simple.xml"
gui_color="blue"
/>
<aircraft
name="DiscoRotorcraft"
ac_id="19"
airframe="airframes/tudelft/disco_rotorcraft_indi.xml"
radio="radios/T14SG_SBUS.xml"
telemetry="telemetry/default_rotorcraft.xml"
flight_plan="flight_plans/tudelft/disco_convergence.xml"
settings="settings/rotorcraft_basic.xml"
settings_modules="modules/air_data.xml modules/airspeed_ms45xx_i2c.xml modules/electrical.xml modules/gps.xml modules/gps_ublox.xml modules/gps_ubx_ucenter.xml modules/guidance_indi_hybrid.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/ins_ekf2.xml modules/nav_rotorcraft.xml modules/stabilization_indi.xml"
gui_color="red"
/>
</conf>
-1
View File
@@ -20,6 +20,5 @@
settings="settings/rotorcraft_basic.xml"
settings_modules="modules/ahrs_int_cmpl_quat.xml modules/gps.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/logger_sd_spi_direct.xml modules/nav_basic_rotorcraft.xml modules/stabilization_int_euler.xml"
gui_color="blue"
release="bd49f8763f106f69dc87ad735c8bd6ff277a3f62"
/>
</conf>
+5 -5
View File
@@ -7,7 +7,7 @@
telemetry="telemetry/default_rotorcraft.xml"
flight_plan="flight_plans/rotorcraft_guido_optitrack.xml"
settings="settings/rotorcraft_basic.xml"
settings_modules="modules/ahrs_int_cmpl_quat.xml modules/cv_opticflow.xml modules/gps.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/ins_extended.xml modules/nav_basic_rotorcraft.xml modules/optical_flow_landing.xml modules/stabilization_indi_simple.xml"
settings_modules="modules/ahrs_int_cmpl_quat.xml modules/cv_opticflow.xml modules/cv_textons.xml modules/electrical.xml modules/gps.xml modules/guidance_pid_rotorcraft.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/ins_extended.xml modules/nav_rotorcraft.xml modules/optical_flow_landing.xml modules/stabilization_indi_simple.xml"
gui_color="#fffff996b847"
/>
<aircraft
@@ -18,18 +18,18 @@
telemetry="telemetry/highspeed_rotorcraft.xml"
flight_plan="flight_plans/rotorcraft_guido_optitrack.xml"
settings="settings/rotorcraft_basic.xml"
settings_modules="modules/bebop_cam.xml modules/cv_opticflow.xml modules/cv_textons.xml modules/gps.xml modules/guidance_pid_rotorcraft.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/ins_flow.xml modules/nav_rotorcraft.xml modules/optical_flow_landing.xml modules/stabilization_indi_simple.xml modules/video_capture.xml modules/video_rtp_stream.xml"
settings_modules="modules/bebop_cam.xml modules/cv_opticflow.xml modules/cv_textons.xml modules/electrical.xml modules/gps.xml modules/guidance_pid_rotorcraft.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/ins_flow.xml modules/nav_rotorcraft.xml modules/optical_flow_landing.xml modules/stabilization_indi_simple.xml modules/video_capture.xml modules/video_rtp_stream.xml"
gui_color="red"
/>
<aircraft
name="Bebop2_opticflow_sim"
ac_id="4"
airframe="airframes/tudelft/tudelft_bebop2_opticflow_sim.xml"
airframe="airframes/tudelft/bebop2_opticflow_sim.xml"
radio="radios/dummy.xml"
telemetry="telemetry/default_rotorcraft.xml"
flight_plan="flight_plans/tudelft/rotorcraft_guido_optitrack.xml"
settings="settings/rotorcraft_basic.xml [settings/control/stabilization_indi.xml] settings/control/rotorcraft_speed.xml"
settings_modules="modules/air_data.xml modules/cv_opticflow.xml [modules/cv_textons.xml] modules/gps.xml modules/guidance_pid_rotorcraft.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/ins_flow.xml modules/nav_rotorcraft.xml modules/optical_flow_landing.xml modules/stabilization_indi_simple.xml modules/video_capture.xml modules/video_rtp_stream.xml"
settings_modules="modules/air_data.xml modules/bebop_cam.xml modules/cv_opticflow.xml modules/cv_textons.xml modules/electrical.xml modules/gps.xml modules/guidance_pid_rotorcraft.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/ins_flow.xml modules/nav_rotorcraft.xml modules/optical_flow_landing.xml modules/stabilization_indi_simple.xml modules/video_capture.xml modules/video_rtp_stream.xml"
gui_color="blue"
/>
<aircraft
@@ -51,7 +51,7 @@
telemetry="telemetry/default_rotorcraft.xml"
flight_plan="flight_plans/rotorcraft_basic.xml"
settings="settings/rotorcraft_basic.xml"
settings_modules="modules/ahrs_int_cmpl_quat.xml modules/air_data.xml modules/bebop_cam.xml modules/cv_opticflow.xml modules/geo_mag.xml modules/gps.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/ins_hff_extended.xml modules/nav_basic_rotorcraft.xml modules/stabilization_indi_simple.xml modules/video_capture.xml"
settings_modules="modules/ahrs_int_cmpl_quat.xml modules/air_data.xml modules/bebop_cam.xml modules/cv_opticflow.xml modules/electrical.xml modules/geo_mag.xml modules/gps.xml modules/guidance_pid_rotorcraft.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/ins_hff_extended.xml modules/nav_rotorcraft.xml modules/stabilization_indi_simple.xml modules/video_capture.xml"
gui_color="blue"
/>
</conf>

Some files were not shown because too many files have changed in this diff Show More