mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-09 14:18:00 +08:00
[hitl] rewrite support for hardware in the loop simulation (#3146)
- old way (based on ins_vectornav) is not supported anymore - directly send sensor data and receive commands with a dedicated link - examples with USB link for better results - update sphinx documentation - compilation in a single build
This commit is contained in:
committed by
GitHub
parent
094997af4b
commit
4ae40567ed
+18
@@ -195,6 +195,16 @@ endif
|
|||||||
@echo "#######################################"
|
@echo "#######################################"
|
||||||
$(Q)PAPARAZZI_SRC=$(PAPARAZZI_SRC) PAPARAZZI_HOME=$(PAPARAZZI_HOME) PAPARAZZI_QT_GEN=$(PAPARAZZI_QT_GEN) TARGET=$* Q=$(Q) $(GENERATORS)/gen_aircraft.out -all -name $(AIRCRAFT) -target $* -conf $(CONF_XML)
|
$(Q)PAPARAZZI_SRC=$(PAPARAZZI_SRC) PAPARAZZI_HOME=$(PAPARAZZI_HOME) PAPARAZZI_QT_GEN=$(PAPARAZZI_QT_GEN) TARGET=$* Q=$(Q) $(GENERATORS)/gen_aircraft.out -all -name $(AIRCRAFT) -target $* -conf $(CONF_XML)
|
||||||
|
|
||||||
|
# generate headers for HITL as is it was AP target
|
||||||
|
hitl.ac_h : $(GENERATORS)/gen_aircraft.out
|
||||||
|
$(Q)if (expr "$(AIRCRAFT)") > /dev/null; then : ; else echo "AIRCRAFT undefined: type 'make AIRCRAFT=AircraftName ...'"; exit 1; fi
|
||||||
|
@echo "#######################################"
|
||||||
|
@echo "# BUILD AIRCRAFT=$(AIRCRAFT), TARGET hitl"
|
||||||
|
@echo "#######################################"
|
||||||
|
$(Q)PAPARAZZI_SRC=$(PAPARAZZI_SRC) PAPARAZZI_HOME=$(PAPARAZZI_HOME) PAPARAZZI_QT_GEN=$(PAPARAZZI_QT_GEN) TARGET=hitl Q=$(Q) $(GENERATORS)/gen_aircraft.out -airframe -flight_plan -settings -name $(AIRCRAFT) -target hitl -conf $(CONF_XML)
|
||||||
|
$(Q)rm -f $(AIRCRAFT_BUILD_DIR)/Makefile.ac
|
||||||
|
$(Q)PAPARAZZI_SRC=$(PAPARAZZI_SRC) PAPARAZZI_HOME=$(PAPARAZZI_HOME) PAPARAZZI_QT_GEN=$(PAPARAZZI_QT_GEN) TARGET=ap Q=$(Q) $(GENERATORS)/gen_aircraft.out -all -name $(AIRCRAFT) -target ap -conf $(CONF_XML)
|
||||||
|
|
||||||
%.qt: %.ac_h
|
%.qt: %.ac_h
|
||||||
@echo "GENERATED Qt project"
|
@echo "GENERATED Qt project"
|
||||||
|
|
||||||
@@ -202,9 +212,17 @@ endif
|
|||||||
$(MAKE) TARGET=$* -f Makefile.ac all_ac_h
|
$(MAKE) TARGET=$* -f Makefile.ac all_ac_h
|
||||||
cd $(AIRBORNE); $(MAKE) -j$(NPROCS) TARGET=$* all
|
cd $(AIRBORNE); $(MAKE) -j$(NPROCS) TARGET=$* all
|
||||||
|
|
||||||
|
hitl.compile: hitl.ac_h | print_version
|
||||||
|
$(MAKE) TARGET=ap -f Makefile.ac all_ac_h
|
||||||
|
cd $(AIRBORNE); $(MAKE) -j$(NPROCS) TARGET=ap all
|
||||||
|
cd $(AIRBORNE); $(MAKE) -j$(NPROCS) TARGET=hitl AP_LAUNCH=$(shell grep '<dl_setting ' $(AIRCRAFT_BUILD_DIR)/settings.xml | grep 'autopilot.launch' -n | cut -d ':' -f 1) all
|
||||||
|
|
||||||
%.upload: %.compile
|
%.upload: %.compile
|
||||||
cd $(AIRBORNE); $(MAKE) TARGET=$* upload
|
cd $(AIRBORNE); $(MAKE) TARGET=$* upload
|
||||||
|
|
||||||
|
hitl.upload: hitl.compile
|
||||||
|
cd $(AIRBORNE); $(MAKE) TARGET=ap upload
|
||||||
|
|
||||||
clean_ac :
|
clean_ac :
|
||||||
$(Q)if (expr "$(AIRCRAFT)") > /dev/null; then : ; else echo "AIRCRAFT undefined: type 'make AIRCRAFT=AircraftName ...'"; exit 1; fi
|
$(Q)if (expr "$(AIRCRAFT)") > /dev/null; then : ; else echo "AIRCRAFT undefined: type 'make AIRCRAFT=AircraftName ...'"; exit 1; fi
|
||||||
@echo "CLEANING $(AIRCRAFT)"
|
@echo "CLEANING $(AIRCRAFT)"
|
||||||
|
|||||||
@@ -31,17 +31,6 @@ Aggie Air ARK
|
|||||||
<module name="telemetry" type="transparent"/>
|
<module name="telemetry" type="transparent"/>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="hitl" board="pc">
|
|
||||||
<module name="fdm" type="jsbsim"/>
|
|
||||||
<module name="imu" type="nps"/>
|
|
||||||
<module name="radio_control" type="spektrum"/>
|
|
||||||
<configure name="INS_DEV" value="/dev/ttyUSB1"/>
|
|
||||||
<configure name="INS_BAUD" value="B921600"/>
|
|
||||||
<configure name="AP_DEV" value="/dev/ttyUSB2"/>
|
|
||||||
<configure name="AP_BAUD" value="B921600"/>
|
|
||||||
<module name="telemetry" type="transparent"/>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
<module name="motor_mixing"/>
|
<module name="motor_mixing"/>
|
||||||
<module name="actuators" type="pwm">
|
<module name="actuators" type="pwm">
|
||||||
<define name="SERVO_HZ" value="160"/>
|
<define name="SERVO_HZ" value="160"/>
|
||||||
|
|||||||
@@ -32,16 +32,6 @@ AggieAir Atomic Tangerine
|
|||||||
<module name="telemetry" type="transparent"/>
|
<module name="telemetry" type="transparent"/>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="hitl" board="pc">
|
|
||||||
<module name="fdm" type="jsbsim"/>
|
|
||||||
<module name="radio_control" type="spektrum"/>
|
|
||||||
<configure name="INS_DEV" value="/dev/ttyUSB1"/>
|
|
||||||
<configure name="INS_BAUD" value="B230400"/>
|
|
||||||
<configure name="AP_DEV" value="/dev/ttyUSB2"/>
|
|
||||||
<configure name="AP_BAUD" value="B921600"/>
|
|
||||||
<module name="telemetry" type="transparent"/>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
<module name="control"/>
|
<module name="control"/>
|
||||||
<module name="navigation"/>
|
<module name="navigation"/>
|
||||||
|
|
||||||
|
|||||||
@@ -27,16 +27,6 @@ AggieAir Blujayujay
|
|||||||
<module name="radio_control" type="spektrum"/>
|
<module name="radio_control" type="spektrum"/>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="hitl" board="pc">
|
|
||||||
<module name="fdm" type="jsbsim"/>
|
|
||||||
<module name="imu" type="nps"/>
|
|
||||||
<module name="radio_control" type="spektrum"/>
|
|
||||||
<configure name="INS_DEV" value="/dev/ttyUSB1"/>
|
|
||||||
<configure name="INS_BAUD" value="B921600"/>
|
|
||||||
<configure name="AP_DEV" value="/dev/ttyUSB2"/>
|
|
||||||
<configure name="AP_BAUD" value="B921600"/>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
<module name="control"/>
|
<module name="control"/>
|
||||||
<module name="navigation"/>
|
<module name="navigation"/>
|
||||||
|
|
||||||
|
|||||||
@@ -195,99 +195,6 @@
|
|||||||
<program name="Real-time Plotter"/>
|
<program name="Real-time Plotter"/>
|
||||||
</session>
|
</session>
|
||||||
|
|
||||||
<session name="HITL USB-serial@57600">
|
|
||||||
<program name="Data Link">
|
|
||||||
<arg flag="-d" constant="/dev/ttyUSB0"/>
|
|
||||||
<arg flag="-s" constant="57600"/>
|
|
||||||
</program>
|
|
||||||
<program name="Server">
|
|
||||||
<arg flag="" constant="-no_md5_check"/>
|
|
||||||
</program>
|
|
||||||
<program name="GCS"/>
|
|
||||||
<program name="Messages"/>
|
|
||||||
<program name="Simulator">
|
|
||||||
<arg flag="-a" constant="@AIRCRAFT"/>
|
|
||||||
<arg flag="-f" constant="127.0.0.1"/>
|
|
||||||
<arg flag="-b" constant="127.255.255.255"/>
|
|
||||||
<arg flag="--fg_fdm" constant=""/>
|
|
||||||
<arg flag="-t" constant="hitl"/>
|
|
||||||
</program>
|
|
||||||
<program name="AggieCap3 Sidekick"/>
|
|
||||||
</session>
|
|
||||||
|
|
||||||
<session name="Secure HITL v2.0 USB-serial@57600">
|
|
||||||
<program name="Secure Link">
|
|
||||||
<arg flag="-d" constant="/dev/ttyUSB0"/>
|
|
||||||
<arg flag="-s" constant="57600"/>
|
|
||||||
<arg flag="-a" constant="@AC_ID"/>
|
|
||||||
<arg flag="-n" constant="@AIRCRAFT"/>
|
|
||||||
<arg flag="-c" />
|
|
||||||
<arg flag="-v" constant="2.0"/>
|
|
||||||
</program>
|
|
||||||
<program name="Server">
|
|
||||||
<arg flag="" constant="-no_md5_check"/>
|
|
||||||
</program>
|
|
||||||
<program name="GCS">
|
|
||||||
<arg flag="-layout" constant="AGGIEAIR/vertical.xml"/>
|
|
||||||
</program>
|
|
||||||
<program name="Messages"/>
|
|
||||||
<program name="Simulator">
|
|
||||||
<arg flag="-a" constant="@AIRCRAFT"/>
|
|
||||||
<arg flag="-f" constant="127.0.0.1"/>
|
|
||||||
<arg flag="-b" constant="127.255.255.255"/>
|
|
||||||
<arg flag="--fg_fdm"/>
|
|
||||||
<arg flag="-t" constant="hitl"/>
|
|
||||||
<arg flag="--nodisplay"/>
|
|
||||||
</program>
|
|
||||||
<program name="AggieCap3 Sidekick"/>
|
|
||||||
</session>
|
|
||||||
|
|
||||||
<session name="Secure HITL v1.0 USB-serial@57600">
|
|
||||||
<program name="Secure Link">
|
|
||||||
<arg flag="-d" constant="/dev/ttyUSB0"/>
|
|
||||||
<arg flag="-s" constant="57600"/>
|
|
||||||
<arg flag="-a" constant="@AC_ID"/>
|
|
||||||
<arg flag="-n" constant="@AIRCRAFT"/>
|
|
||||||
<arg flag="-c" />
|
|
||||||
<arg flag="-v" constant="1.0"/>
|
|
||||||
</program>
|
|
||||||
<program name="Server">
|
|
||||||
<arg flag="" constant="-no_md5_check"/>
|
|
||||||
</program>
|
|
||||||
<program name="GCS">
|
|
||||||
<arg flag="-layout" constant="AGGIEAIR/vertical.xml"/>
|
|
||||||
</program>
|
|
||||||
<program name="Messages"/>
|
|
||||||
<program name="Simulator">
|
|
||||||
<arg flag="-a" constant="@AIRCRAFT"/>
|
|
||||||
<arg flag="-f" constant="127.0.0.1"/>
|
|
||||||
<arg flag="-b" constant="127.255.255.255"/>
|
|
||||||
<arg flag="--fg_fdm"/>
|
|
||||||
<arg flag="-t" constant="hitl"/>
|
|
||||||
<arg flag="--nodisplay"/>
|
|
||||||
</program>
|
|
||||||
<program name="AggieCap3 Sidekick"/>
|
|
||||||
</session>
|
|
||||||
|
|
||||||
<session name="HITL USB-serial@115200">
|
|
||||||
<program name="Data Link">
|
|
||||||
<arg flag="-d" constant="/dev/ttyUSB0"/>
|
|
||||||
<arg flag="-s" constant="115200"/>
|
|
||||||
</program>
|
|
||||||
<program name="Server">
|
|
||||||
<arg flag="" constant="-no_md5_check"/>
|
|
||||||
</program>
|
|
||||||
<program name="GCS"/>
|
|
||||||
<program name="Messages"/>
|
|
||||||
<program name="Simulator">
|
|
||||||
<arg flag="-a" constant="@AIRCRAFT"/>
|
|
||||||
<arg flag="-f" constant="127.0.0.1"/>
|
|
||||||
<arg flag="-b" constant="127.255.255.255"/>
|
|
||||||
<arg flag="--fg_fdm" constant=""/>
|
|
||||||
<arg flag="-t" constant="hitl"/>
|
|
||||||
</program>
|
|
||||||
</session>
|
|
||||||
|
|
||||||
<session name="AggieAir Simulation">
|
<session name="AggieAir Simulation">
|
||||||
<program name="Data Link">
|
<program name="Data Link">
|
||||||
<arg flag="-udp"/>
|
<arg flag="-udp"/>
|
||||||
@@ -310,50 +217,6 @@
|
|||||||
<program name="AggieCap3 Sidekick"/>
|
<program name="AggieCap3 Sidekick"/>
|
||||||
</session>
|
</session>
|
||||||
|
|
||||||
<session name="HITL+SBUS USB-serial@57600">
|
|
||||||
<program name="Data Link">
|
|
||||||
<arg flag="-d" constant="/dev/ttyUSB0"/>
|
|
||||||
<arg flag="-s" constant="57600"/>
|
|
||||||
</program>
|
|
||||||
<program name="Server">
|
|
||||||
<arg flag="" constant="-no_md5_check"/>
|
|
||||||
</program>
|
|
||||||
<program name="GCS"/>
|
|
||||||
<program name="Messages"/>
|
|
||||||
<program name="Simulator">
|
|
||||||
<arg flag="-a" constant="@AIRCRAFT"/>
|
|
||||||
<arg flag="-f" constant="127.0.0.1"/>
|
|
||||||
<arg flag="-b" constant="127.255.255.255"/>
|
|
||||||
<arg flag="--fg_fdm" constant=""/>
|
|
||||||
<arg flag="-t" constant="hitl"/>
|
|
||||||
</program>
|
|
||||||
<program name="Sbus Fakerator">
|
|
||||||
<arg flag="-p" constant="/dev/ttyUSB3"/>
|
|
||||||
</program>
|
|
||||||
</session>
|
|
||||||
|
|
||||||
<session name="HITL+SBUS USB-serial@115200">
|
|
||||||
<program name="Data Link">
|
|
||||||
<arg flag="-d" constant="/dev/ttyUSB0"/>
|
|
||||||
<arg flag="-s" constant="115200"/>
|
|
||||||
</program>
|
|
||||||
<program name="Server">
|
|
||||||
<arg flag="" constant="-no_md5_check"/>
|
|
||||||
</program>
|
|
||||||
<program name="GCS"/>
|
|
||||||
<program name="Messages"/>
|
|
||||||
<program name="Simulator">
|
|
||||||
<arg flag="-a" constant="@AIRCRAFT"/>
|
|
||||||
<arg flag="-f" constant="127.0.0.1"/>
|
|
||||||
<arg flag="-b" constant="127.255.255.255"/>
|
|
||||||
<arg flag="--fg_fdm" constant=""/>
|
|
||||||
<arg flag="-t" constant="hitl"/>
|
|
||||||
</program>
|
|
||||||
<program name="Sbus Fakerator">
|
|
||||||
<arg flag="-p" constant="/dev/ttyUSB3"/>
|
|
||||||
</program>
|
|
||||||
</session>
|
|
||||||
|
|
||||||
<session name="Flight USB-XBee-API@57600">
|
<session name="Flight USB-XBee-API@57600">
|
||||||
<program name="Data Link">
|
<program name="Data Link">
|
||||||
<arg flag="-d" constant="/dev/paparazzi/xbee"/>
|
<arg flag="-d" constant="/dev/paparazzi/xbee"/>
|
||||||
|
|||||||
@@ -32,16 +32,6 @@ AggieAir El Capitan
|
|||||||
<module name="telemetry" type="transparent"/>
|
<module name="telemetry" type="transparent"/>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="hitl" board="pc">
|
|
||||||
<module name="fdm" type="jsbsim"/>
|
|
||||||
<module name="radio_control" type="spektrum"/>
|
|
||||||
<configure name="INS_DEV" value="/dev/ttyUSB1"/>
|
|
||||||
<configure name="INS_BAUD" value="B230400"/>
|
|
||||||
<configure name="AP_DEV" value="/dev/ttyUSB2"/>
|
|
||||||
<configure name="AP_BAUD" value="B921600"/>
|
|
||||||
<module name="telemetry" type="transparent"/>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
<module name="control"/>
|
<module name="control"/>
|
||||||
<module name="navigation"/>
|
<module name="navigation"/>
|
||||||
|
|
||||||
|
|||||||
@@ -27,15 +27,6 @@ AggieAir RP3 Minion
|
|||||||
<module name="radio_control" type="spektrum"/>
|
<module name="radio_control" type="spektrum"/>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="hitl" board="pc">
|
|
||||||
<module name="fdm" type="jsbsim"/>
|
|
||||||
<module name="radio_control" type="spektrum"/>
|
|
||||||
<configure name="INS_DEV" value="/dev/ttyUSB1"/>
|
|
||||||
<configure name="INS_BAUD" value="B921600"/>
|
|
||||||
<configure name="AP_DEV" value="/dev/ttyUSB2"/>
|
|
||||||
<configure name="AP_BAUD" value="B921600"/>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
<module name="control"/>
|
<module name="control"/>
|
||||||
<module name="navigation"/>
|
<module name="navigation"/>
|
||||||
|
|
||||||
|
|||||||
@@ -33,16 +33,6 @@ AggieAir Minion Sim
|
|||||||
<module name="telemetry" type="transparent"/>
|
<module name="telemetry" type="transparent"/>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="hitl" board="pc">
|
|
||||||
<module name="fdm" type="jsbsim"/>
|
|
||||||
<module name="radio_control" type="spektrum"/>
|
|
||||||
<configure name="INS_DEV" value="/dev/ttyUSB1"/>
|
|
||||||
<configure name="INS_BAUD" value="B230400"/>
|
|
||||||
<configure name="AP_DEV" value="/dev/ttyUSB2"/>
|
|
||||||
<configure name="AP_BAUD" value="B921600"/>
|
|
||||||
<module name="telemetry" type="transparent"/>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
<module name="control"/>
|
<module name="control"/>
|
||||||
<module name="navigation"/>
|
<module name="navigation"/>
|
||||||
|
|
||||||
|
|||||||
@@ -32,16 +32,6 @@ AggieAir Minty Fresh
|
|||||||
<module name="telemetry" type="transparent"/>
|
<module name="telemetry" type="transparent"/>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
<target name="hitl" board="pc">
|
|
||||||
<module name="fdm" type="jsbsim"/>
|
|
||||||
<module name="radio_control" type="spektrum"/>
|
|
||||||
<configure name="INS_DEV" value="/dev/ttyUSB1"/>
|
|
||||||
<configure name="INS_BAUD" value="B230400"/>
|
|
||||||
<configure name="AP_DEV" value="/dev/ttyUSB2"/>
|
|
||||||
<configure name="AP_BAUD" value="B921600"/>
|
|
||||||
<module name="telemetry" type="transparent"/>
|
|
||||||
</target>
|
|
||||||
|
|
||||||
<module name="control"/>
|
<module name="control"/>
|
||||||
<module name="navigation"/>
|
<module name="navigation"/>
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,238 @@
|
|||||||
|
<!DOCTYPE airframe SYSTEM "../airframe.dtd">
|
||||||
|
|
||||||
|
<airframe name="Matek H7 FW HITL">
|
||||||
|
|
||||||
|
<description>
|
||||||
|
Mateksys FC H743 SLIM Fixedwing HITL
|
||||||
|
</description>
|
||||||
|
|
||||||
|
<firmware name="fixedwing">
|
||||||
|
<configure name="PERIODIC_FREQUENCY" value="100"/>
|
||||||
|
<configure name="USE_HARD_FAULT_RECOVERY" value="FALSE"/>
|
||||||
|
|
||||||
|
<target name="ap" board="matek_h743_slim">
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="nps" board="pc">
|
||||||
|
<module name="fdm" type="jsbsim"/>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<module name="radio_control" type="datalink"/>
|
||||||
|
<module name="telemetry" type="transparent">
|
||||||
|
<configure name="MODEM_PORT" value="usb_serial"/>
|
||||||
|
</module>
|
||||||
|
|
||||||
|
<module name="control" type="new"/>
|
||||||
|
<module name="navigation"/>
|
||||||
|
|
||||||
|
<configure name="HITL_PORT" value="usb_serial_debug"/>
|
||||||
|
<module name="sensors" type="hitl">
|
||||||
|
<define name="USE_BATTERY_MONITOR"/>
|
||||||
|
</module>
|
||||||
|
<module name="actuators" type="hitl"/>
|
||||||
|
|
||||||
|
<!--module name="ahrs" type="float_dcm"/>
|
||||||
|
<module name="ins" type="alt_float"/-->
|
||||||
|
<module name="ins" type="float_invariant">
|
||||||
|
<configure name="AHRS_PROPAGATE_FREQUENCY" value="100"/>
|
||||||
|
<configure name="AHRS_CORRECT_FREQUENCY" value="100"/>
|
||||||
|
</module>
|
||||||
|
|
||||||
|
<module name="sys_mon"/>
|
||||||
|
<module name="air_data"/>
|
||||||
|
</firmware>
|
||||||
|
|
||||||
|
<firmware name="generic_hitl">
|
||||||
|
<target name="hitl" board="pc">
|
||||||
|
<configure name="USE_HARD_FAULT_RECOVERY" value="FALSE"/>
|
||||||
|
<module name="fdm" type="jsbsim"/>
|
||||||
|
<module name="nps" type="hitl_sensors">
|
||||||
|
<define name="AP_DEV" value="/dev/pprz-dbg" type="string"/>
|
||||||
|
</module>
|
||||||
|
</target>
|
||||||
|
</firmware>
|
||||||
|
|
||||||
|
<!-- commands section -->
|
||||||
|
<!-- Servo Configuration -->
|
||||||
|
<servos>
|
||||||
|
<servo name="THROTTLE" no="5" min="1100" neutral="1100" max="1900"/>
|
||||||
|
<servo name="AILERON_RIGHT" no="1" min="900" neutral="1500" max="2100"/>
|
||||||
|
<servo name="AILERON_LEFT" no="2" min="2100" neutral="1500" max="900"/>
|
||||||
|
<servo name="ELEVATOR" no="3" min="975" neutral="1500" max="2100"/>
|
||||||
|
<servo name="RUDDER" no="4" min="2100" neutral="1500" max="900"/>
|
||||||
|
</servos>
|
||||||
|
|
||||||
|
<!-- Servo Command Structure -->
|
||||||
|
<commands>
|
||||||
|
<axis name="THROTTLE" failsafe_value="0"/>
|
||||||
|
<axis name="ROLL" failsafe_value="0"/>
|
||||||
|
<axis name="PITCH" failsafe_value="0"/>
|
||||||
|
<axis name="YAW" failsafe_value="0"/>
|
||||||
|
</commands>
|
||||||
|
|
||||||
|
<!-- RC Command Structure -->
|
||||||
|
<rc_commands>
|
||||||
|
<set command="THROTTLE" value="@THROTTLE"/>
|
||||||
|
<set command="ROLL" value="@ROLL"/>
|
||||||
|
<set command="PITCH" value="@PITCH"/>
|
||||||
|
<set command="YAW" value="@YAW"/>
|
||||||
|
</rc_commands>
|
||||||
|
|
||||||
|
<!-- Define RC commands to Servo in Auto Mode -->
|
||||||
|
<auto_rc_commands>
|
||||||
|
<set command="YAW" value="@YAW"/>
|
||||||
|
</auto_rc_commands>
|
||||||
|
|
||||||
|
<!-- Define Mixing Parameters -->
|
||||||
|
<section name="MIXER">
|
||||||
|
<define name="AILERON_AILERON_RATE" value="0.9"/>
|
||||||
|
<define name="ELEV_ELEV_RATE" value="0.8"/>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<!-- Define RC commands to Servos in Manual -->
|
||||||
|
<command_laws>
|
||||||
|
<let var="aileron" value="@ROLL * AILERON_AILERON_RATE"/>
|
||||||
|
<let var="elevator" value="@PITCH * ELEV_ELEV_RATE"/>
|
||||||
|
|
||||||
|
<set servo="THROTTLE" value="@THROTTLE"/>
|
||||||
|
<set servo="AILERON_RIGHT" value="$aileron"/> <!--flip signs if necessary -->
|
||||||
|
<set servo="AILERON_LEFT" value=" - $aileron"/>
|
||||||
|
<set servo="ELEVATOR" value="$elevator"/>
|
||||||
|
<set servo="RUDDER" value="@YAW"/>
|
||||||
|
</command_laws>
|
||||||
|
|
||||||
|
<!-- Define Max Roll and Pitch setpoints in Auto1 -->
|
||||||
|
<section name="AUTO1" prefix="AUTO1_">
|
||||||
|
<define name="MAX_ROLL" value="0.7"/>
|
||||||
|
<define name="MAX_PITCH" value="0.6"/>
|
||||||
|
</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"/>
|
||||||
|
|
||||||
|
<!-- Dummy Mag values for NPS -
|
||||||
|
replace with your own calibration -->
|
||||||
|
<define name="MAG_X_NEUTRAL" value="0"/>
|
||||||
|
<define name="MAG_Y_NEUTRAL" value="0"/>
|
||||||
|
<define name="MAG_Z_NEUTRAL" value="0"/>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<include href="conf/mag/toulouse_muret.xml"/>
|
||||||
|
|
||||||
|
<section name="INS" prefix="INS_">
|
||||||
|
<define name="ROLL_NEUTRAL_DEFAULT" value="0" unit="deg"/>
|
||||||
|
<define name="PITCH_NEUTRAL_DEFAULT" value="0" unit="deg"/>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Define current estimator and Battery Level Warnings -->
|
||||||
|
<section name="BAT">
|
||||||
|
<!-- Simulator values -->
|
||||||
|
<define name="MAX_BAT_LEVEL" value="5.0" unit="V" />
|
||||||
|
<define name="LOW_BAT_LEVEL" value="4.0" unit="V"/>
|
||||||
|
<define name="CRITIC_BAT_LEVEL" value="3.5" unit="V"/>
|
||||||
|
<define name="CATASTROPHIC_BAT_LEVEL" value="3.0" unit="V"/>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section name="MISC">
|
||||||
|
<define name="NOMINAL_AIRSPEED" value="16." unit="m/s"/> <!-- GCS only -->
|
||||||
|
<define name="CARROT" value="5." unit="s"/> <!-- GCS only -->
|
||||||
|
<define name="KILL_MODE_DISTANCE" value="(1.5*MAX_DIST_FROM_HOME)"/>
|
||||||
|
<define name="DEFAULT_CIRCLE_RADIUS" value="120."/>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section name="VERTICAL CONTROL" prefix="V_CTL_">
|
||||||
|
<!-- outer loop proportional gain -->
|
||||||
|
<define name="ALTITUDE_PGAIN" value="0.136"/>
|
||||||
|
<!-- outer loop saturation -->
|
||||||
|
<define name="ALTITUDE_MAX_CLIMB" value="3."/>
|
||||||
|
|
||||||
|
<!-- auto throttle inner loop -->
|
||||||
|
<define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" value="0.65"/>
|
||||||
|
<define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value="0.20"/>
|
||||||
|
<define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value="0.80"/>
|
||||||
|
<define name="AUTO_PITCH_MAX_PITCH" value="20." unit="deg"/>
|
||||||
|
<define name="AUTO_PITCH_MIN_PITCH" value="-20." unit="deg"/>
|
||||||
|
|
||||||
|
<!-- Climb loop (throttle) -->
|
||||||
|
<define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0.1" unit="%/(m/s)"/>
|
||||||
|
<define name="AUTO_THROTTLE_PGAIN" value="0.006"/>
|
||||||
|
<define name="AUTO_THROTTLE_DGAIN" value="0.0"/>
|
||||||
|
<define name="AUTO_THROTTLE_IGAIN" value="0.035"/>
|
||||||
|
<define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.09"/>
|
||||||
|
|
||||||
|
<!-- Climb loop (pitch) -->
|
||||||
|
<define name="AUTO_PITCH_PGAIN" value="0.027"/>
|
||||||
|
<define name="AUTO_PITCH_DGAIN" value="0.01"/>
|
||||||
|
<define name="AUTO_PITCH_IGAIN" value="0.0"/>
|
||||||
|
|
||||||
|
<!-- airspeed control -->
|
||||||
|
<define name="AUTO_AIRSPEED_SETPOINT" value="16."/>
|
||||||
|
<define name="AUTO_AIRSPEED_THROTTLE_PGAIN" value="0.1"/>
|
||||||
|
<define name="AUTO_AIRSPEED_THROTTLE_DGAIN" value="0.12"/>
|
||||||
|
<define name="AUTO_AIRSPEED_THROTTLE_IGAIN" value="0.0"/>
|
||||||
|
<define name="AUTO_AIRSPEED_PITCH_PGAIN" value="0.06"/>
|
||||||
|
<define name="AUTO_AIRSPEED_PITCH_DGAIN" value="0.0"/>
|
||||||
|
<define name="AUTO_AIRSPEED_PITCH_IGAIN" value="0.042"/>
|
||||||
|
<define name="AIRSPEED_MAX" value="30" unit="m/s"/>
|
||||||
|
<define name="AIRSPEED_MIN" value="10" unit="m/s"/>
|
||||||
|
|
||||||
|
<!-- groundspeed control -->
|
||||||
|
<define name="AUTO_GROUNDSPEED_SETPOINT" value="15" unit="m/s"/>
|
||||||
|
<define name="AUTO_GROUNDSPEED_PGAIN" value="1."/>
|
||||||
|
<define name="AUTO_GROUNDSPEED_IGAIN" value="0."/>
|
||||||
|
|
||||||
|
<!-- pitch trim -->
|
||||||
|
<define name="PITCH_LOITER_TRIM" value="0." unit="deg"/>
|
||||||
|
<define name="PITCH_DASH_TRIM" value="0." unit="deg"/>
|
||||||
|
|
||||||
|
<define name="THROTTLE_SLEW" value="0.1"/>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section name="HORIZONTAL CONTROL" prefix="H_CTL_">
|
||||||
|
<define name="COURSE_PGAIN" value="1.135"/>
|
||||||
|
<define name="COURSE_DGAIN" value="0.35"/>
|
||||||
|
<define name="ROLL_MAX_SETPOINT" value="0.6" unit="rad"/>
|
||||||
|
<define name="PITCH_MAX_SETPOINT" value="0.35" unit="rad"/>
|
||||||
|
<define name="PITCH_MIN_SETPOINT" value="-0.2" unit="rad"/>
|
||||||
|
|
||||||
|
<define name="PITCH_PGAIN" value="10000."/>
|
||||||
|
<define name="PITCH_DGAIN" value="1500"/>
|
||||||
|
<define name="PITCH_IGAIN" value="500"/>
|
||||||
|
|
||||||
|
<define name="ROLL_ATTITUDE_GAIN" value="9000"/>
|
||||||
|
<define name="ROLL_RATE_GAIN" value="1600"/>
|
||||||
|
<define name="ROLL_IGAIN" value="100."/>
|
||||||
|
|
||||||
|
<define name="PITCH_OF_ROLL" value="1." unit="deg"/>
|
||||||
|
<define name="AILERON_OF_THROTTLE" value="0.0"/>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section name="AGGRESSIVE" prefix="AGR_">
|
||||||
|
<define name="BLEND_START" value="20"/><!-- Altitude Error to Initiate Aggressive Climb CANNOT BE ZERO!!-->
|
||||||
|
<define name="BLEND_END" value="10"/><!-- Altitude Error to Blend Aggressive to Regular Climb Modes CANNOT BE ZERO!!-->
|
||||||
|
<define name="CLIMB_THROTTLE" value="0.85"/><!-- Gaz for Aggressive Climb -->
|
||||||
|
<define name="CLIMB_PITCH" value="0.13"/><!-- Pitch for Aggressive Climb -->
|
||||||
|
<define name="DESCENT_THROTTLE" value="0.1"/><!-- Gaz for Aggressive Decent -->
|
||||||
|
<define name="DESCENT_PITCH" value="-0.1"/><!-- Pitch for Aggressive Decent -->
|
||||||
|
<define name="CLIMB_NAV_RATIO" value="0.8"/><!-- Percent Navigation for Altitude Error Equal to Start Altitude -->
|
||||||
|
<define name="DESCENT_NAV_RATIO" value="1.0"/>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section name="FAILSAFE" prefix="FAILSAFE_">
|
||||||
|
<define name="DELAY_WITHOUT_GPS" value="5" unit="s"/>
|
||||||
|
<define name="DEFAULT_THROTTLE" value="0" unit="%"/>
|
||||||
|
<define name="DEFAULT_ROLL" value="0.3" unit="rad"/>
|
||||||
|
<define name="DEFAULT_PITCH" value="0.5" unit="rad"/>
|
||||||
|
<define name="HOME_RADIUS" value="100" unit="m"/>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section name="SIMULATOR" prefix="NPS_">
|
||||||
|
<define name="JSBSIM_LAUNCHSPEED" value="15"/>
|
||||||
|
<define name="JSBSIM_MODEL" value="easystar" type="string"/>
|
||||||
|
<define name="JS_AXIS_MODE" value="4"/>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</airframe>
|
||||||
@@ -0,0 +1,279 @@
|
|||||||
|
<!DOCTYPE airframe SYSTEM "../airframe.dtd">
|
||||||
|
|
||||||
|
|
||||||
|
<airframe name="Matek H7 rotorcraft HITL">
|
||||||
|
|
||||||
|
<description>
|
||||||
|
Mateksys FC H743 SLIM Rotorcraft HITL
|
||||||
|
</description>
|
||||||
|
|
||||||
|
<firmware name="rotorcraft">
|
||||||
|
<configure name="PERIODIC_FREQUENCY" value="500"/>
|
||||||
|
|
||||||
|
<target name="ap" board="matek_h743_slim">
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="nps" board="pc">
|
||||||
|
<module name="fdm" type="jsbsim"/>
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<module name="radio_control" type="datalink"/>
|
||||||
|
|
||||||
|
<configure name="HITL_PORT" value="usb_serial_debug"/>
|
||||||
|
<module name="sensors" type="hitl">
|
||||||
|
<define name="USE_BATTERY_MONITOR"/>
|
||||||
|
</module>
|
||||||
|
<module name="actuators" type="hitl"/>
|
||||||
|
<module name="ins" type="ekf2"/>
|
||||||
|
|
||||||
|
<module name="stabilization" type="int_quat"/>
|
||||||
|
<module name="motor_mixing"/>
|
||||||
|
<module name="actuators" type="pwm">
|
||||||
|
<define name="SERVO_HZ" value="400"/>
|
||||||
|
</module>
|
||||||
|
|
||||||
|
<module name="telemetry" type="transparent">
|
||||||
|
<configure name="MODEM_PORT" value="usb_serial"/>
|
||||||
|
</module>
|
||||||
|
|
||||||
|
<module name="air_data"/>
|
||||||
|
|
||||||
|
<module name="sys_mon"/>
|
||||||
|
</firmware>
|
||||||
|
|
||||||
|
<firmware name="generic_hitl">
|
||||||
|
<target name="hitl" board="pc">
|
||||||
|
<configure name="USE_HARD_FAULT_RECOVERY" value="FALSE"/>
|
||||||
|
<configure name="PERIODIC_FREQUENCY" value="500"/>
|
||||||
|
<module name="fdm" type="jsbsim"/>
|
||||||
|
<module name="nps" type="hitl_sensors">
|
||||||
|
<define name="AP_DEV" value="/dev/pprz-dbg" type="string"/>
|
||||||
|
</module>
|
||||||
|
</target>
|
||||||
|
</firmware>
|
||||||
|
|
||||||
|
<servos driver="Pwm">
|
||||||
|
<servo name="FL" no="4" min="1000" neutral="1200" max="2000"/>
|
||||||
|
<servo name="FR" no="2" min="1000" neutral="1200" max="2000"/>
|
||||||
|
<servo name="BR" no="1" min="1000" neutral="1200" max="2000"/>
|
||||||
|
<servo name="BL" no="3" min="1000" neutral="1200" max="2000"/>
|
||||||
|
</servos>
|
||||||
|
|
||||||
|
<commands>
|
||||||
|
<axis name="ROLL" failsafe_value="0"/>
|
||||||
|
<axis name="PITCH" failsafe_value="0"/>
|
||||||
|
<axis name="YAW" failsafe_value="0"/>
|
||||||
|
<axis name="THRUST" failsafe_value="0"/>
|
||||||
|
</commands>
|
||||||
|
|
||||||
|
<section name="MIXING" prefix="MOTOR_MIXING_">
|
||||||
|
<!-- front left (CW), front right (CCW), back right (CW), back left (CCW) -->
|
||||||
|
<define name="TYPE" value="QUAD_X"/>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<command_laws>
|
||||||
|
<call fun="motor_mixing_run(autopilot_get_motors_on(),FALSE,values)"/>
|
||||||
|
<set servo="FL" value="motor_mixing.commands[MOTOR_FRONT_LEFT]"/>
|
||||||
|
<set servo="FR" value="motor_mixing.commands[MOTOR_FRONT_RIGHT]"/>
|
||||||
|
<set servo="BR" value="motor_mixing.commands[MOTOR_BACK_RIGHT]"/>
|
||||||
|
<set servo="BL" value="motor_mixing.commands[MOTOR_BACK_LEFT]"/>
|
||||||
|
</command_laws>
|
||||||
|
|
||||||
|
<section name="IMU" prefix="IMU_">
|
||||||
|
<define name="GYRO_P_SIGN" value="1"/>
|
||||||
|
<define name="GYRO_Q_SIGN" value="1"/>
|
||||||
|
<define name="GYRO_R_SIGN" value="1"/>
|
||||||
|
|
||||||
|
<define name="ACCEL_X_SIGN" value="1"/>
|
||||||
|
<define name="ACCEL_Y_SIGN" value="1"/>
|
||||||
|
<define name="ACCEL_Z_SIGN" value="1"/>
|
||||||
|
<define name="ACCEL_X_NEUTRAL" value="-42"/>
|
||||||
|
<define name="ACCEL_Y_NEUTRAL" value="64"/>
|
||||||
|
<define name="ACCEL_Z_NEUTRAL" value="-155"/>
|
||||||
|
<define name="ACCEL_X_SENS" value="2.43600300517" integer="16"/>
|
||||||
|
<define name="ACCEL_Y_SENS" value="2.43442233815" integer="16"/>
|
||||||
|
<define name="ACCEL_Z_SENS" value="2.46007236396" integer="16"/>
|
||||||
|
|
||||||
|
<!-- MPU MAG -->
|
||||||
|
<define name="MAG_X_SIGN" value="1"/>
|
||||||
|
<define name="MAG_Y_SIGN" value="1"/>
|
||||||
|
<define name="MAG_Z_SIGN" value="-1"/>
|
||||||
|
<define name="MAG_X_NEUTRAL" value="-53"/>
|
||||||
|
<define name="MAG_Y_NEUTRAL" value="-17"/>
|
||||||
|
<define name="MAG_Z_NEUTRAL" value="-29"/>
|
||||||
|
<define name="MAG_X_SENS" value="14.1339051912" integer="16"/>
|
||||||
|
<define name="MAG_Y_SENS" value="15.9334896814" integer="16"/>
|
||||||
|
<define name="MAG_Z_SENS" value="15.9429325263" integer="16"/>
|
||||||
|
|
||||||
|
<!--define name= "MAG_X_CURRENT_COEF" value="0.0350248861409"/>
|
||||||
|
<define name= "MAG_Y_CURRENT_COEF" value="-0.0118884242797"/>
|
||||||
|
<define name= "MAG_Z_CURRENT_COEF" value="0.0176235525201"/-->
|
||||||
|
|
||||||
|
<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"/>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section name="AHRS" prefix="AHRS_">
|
||||||
|
<!-- values used if no GPS fix, on 3D fix is update by geo_mag module if loaded -->
|
||||||
|
<!-- Toulouse -->
|
||||||
|
<define name="H_X" value="0.513081"/>
|
||||||
|
<define name="H_Y" value="-0.00242783"/>
|
||||||
|
<define name="H_Z" value="0.858336"/>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section name="STABILIZATION_RATE" prefix="STABILIZATION_RATE_">
|
||||||
|
<!-- setpoints -->
|
||||||
|
<define name="SP_MAX_P" value="300" unit="deg/s"/>
|
||||||
|
<define name="SP_MAX_Q" value="300" unit="deg/s"/>
|
||||||
|
<define name="SP_MAX_R" value="240" unit="deg/s"/>
|
||||||
|
<define name="DEADBAND_P" value="20"/>
|
||||||
|
<define name="DEADBAND_Q" value="20"/>
|
||||||
|
<define name="DEADBAND_R" value="200"/>
|
||||||
|
|
||||||
|
<!-- feedback -->
|
||||||
|
<define name="GAIN_P" value="1000"/>
|
||||||
|
<define name="GAIN_Q" value="1000"/>
|
||||||
|
<define name="GAIN_R" value="800"/>
|
||||||
|
|
||||||
|
<define name="IGAIN_P" value="75"/>
|
||||||
|
<define name="IGAIN_Q" value="75"/>
|
||||||
|
<define name="IGAIN_R" value="50"/>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
<section name="STABILIZATION_ATTITUDE" prefix="STABILIZATION_ATTITUDE_">
|
||||||
|
<!-- setpoints -->
|
||||||
|
<define name="SP_MAX_PHI" value="45." unit="deg"/>
|
||||||
|
<define name="SP_MAX_THETA" value="45." unit="deg"/>
|
||||||
|
<define name="SP_MAX_R" value="200." unit="deg/s"/>
|
||||||
|
<define name="DEADBAND_A" value="0"/>
|
||||||
|
<define name="DEADBAND_E" value="0"/>
|
||||||
|
<define name="DEADBAND_R" value="250"/>
|
||||||
|
|
||||||
|
<!-- reference -->
|
||||||
|
<define name="REF_OMEGA_P" value="400" unit="deg/s"/>
|
||||||
|
<define name="REF_ZETA_P" value="0.85"/>
|
||||||
|
<define name="REF_MAX_P" value="400." unit="deg/s"/>
|
||||||
|
<define name="REF_MAX_PDOT" value="RadOfDeg(8000.)"/>
|
||||||
|
|
||||||
|
<define name="REF_OMEGA_Q" value="400" unit="deg/s"/>
|
||||||
|
<define name="REF_ZETA_Q" value="0.85"/>
|
||||||
|
<define name="REF_MAX_Q" value="400." unit="deg/s"/>
|
||||||
|
<define name="REF_MAX_QDOT" value="RadOfDeg(8000.)"/>
|
||||||
|
|
||||||
|
<define name="REF_OMEGA_R" value="250" unit="deg/s"/>
|
||||||
|
<define name="REF_ZETA_R" value="0.85"/>
|
||||||
|
<define name="REF_MAX_R" value="250." unit="deg/s"/>
|
||||||
|
<define name="REF_MAX_RDOT" value="RadOfDeg(1800.)"/>
|
||||||
|
|
||||||
|
<!-- feedback -->
|
||||||
|
<define name="PHI_PGAIN" value="500"/>
|
||||||
|
<define name="PHI_DGAIN" value="260"/>
|
||||||
|
<define name="PHI_IGAIN" value="100"/>
|
||||||
|
|
||||||
|
<define name="THETA_PGAIN" value="500"/>
|
||||||
|
<define name="THETA_DGAIN" value="260"/>
|
||||||
|
<define name="THETA_IGAIN" value="100"/>
|
||||||
|
|
||||||
|
<define name="PSI_PGAIN" value="1279"/>
|
||||||
|
<define name="PSI_DGAIN" value="802"/>
|
||||||
|
<define name="PSI_IGAIN" value="31"/>
|
||||||
|
|
||||||
|
<!-- feedforward -->
|
||||||
|
<define name="PHI_DDGAIN" value="300"/>
|
||||||
|
<define name="THETA_DDGAIN" value="300"/>
|
||||||
|
<define name="PSI_DDGAIN" value="300"/>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section name="STABILIZATION_ATTITUDE_INDI" prefix="STABILIZATION_INDI_">
|
||||||
|
<!-- control effectiveness -->
|
||||||
|
<!--define name="G1_P" value="0.018284"/>
|
||||||
|
<define name="G1_Q" value="0.017385"/>
|
||||||
|
<define name="G1_R" value="0.0024217"/>
|
||||||
|
<define name="G2_R" value="-0.30628"/-->
|
||||||
|
<define name="G1_P" value="0.025483"/>
|
||||||
|
<define name="G1_Q" value="0.022144"/>
|
||||||
|
<define name="G1_R" value="0.0023438"/>
|
||||||
|
<define name="G2_R" value="-0.23538"/>
|
||||||
|
|
||||||
|
<define name="FILTER_ROLL_RATE" value="TRUE"/>
|
||||||
|
<define name="FILTER_PITCH_RATE" value="TRUE"/>
|
||||||
|
<define name="FILTER_YAW_RATE" value="FALSE"/>
|
||||||
|
|
||||||
|
<!-- reference acceleration for attitude control -->
|
||||||
|
<define name="REF_ERR_P" value="170.0"/>
|
||||||
|
<define name="REF_ERR_Q" value="600.0"/>
|
||||||
|
<define name="REF_ERR_R" value="600.0"/>
|
||||||
|
<define name="REF_RATE_P" value="14.3"/>
|
||||||
|
<define name="REF_RATE_Q" value="28.0"/>
|
||||||
|
<define name="REF_RATE_R" value="28.0"/>
|
||||||
|
|
||||||
|
<!-- second order filter parameters -->
|
||||||
|
<define name="FILT_CUTOFF" value="3.2"/>
|
||||||
|
<define name="FILT_CUTOFF_R" value="3.2"/>
|
||||||
|
|
||||||
|
<!-- first order actuator dynamics -->
|
||||||
|
<define name="ACT_DYN_P" value="0.06"/>
|
||||||
|
<define name="ACT_DYN_Q" value="0.06"/>
|
||||||
|
<define name="ACT_DYN_R" value="0.06"/>
|
||||||
|
|
||||||
|
<!-- 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="150"/>
|
||||||
|
<define name="HOVER_KD" value="80"/>
|
||||||
|
<define name="HOVER_KI" value="20"/>
|
||||||
|
<define name="NOMINAL_HOVER_THROTTLE" value="0.35"/>
|
||||||
|
<define name="ADAPT_THROTTLE_ENABLED" value="TRUE"/>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section name="GUIDANCE_H" prefix="GUIDANCE_H_">
|
||||||
|
<define name="REF_MAX_SPEED" value="5." unit="m/s"/>
|
||||||
|
<define name="MAX_BANK" value="20" unit="deg"/>
|
||||||
|
<define name="USE_SPEED_REF" value="TRUE"/>
|
||||||
|
<define name="PGAIN" value="180"/>
|
||||||
|
<define name="DGAIN" value="180"/>
|
||||||
|
<define name="AGAIN" value="0"/>
|
||||||
|
<define name="IGAIN" value="30"/>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section name="NAVIGATION" prefix="NAV_">
|
||||||
|
<define name="DESCEND_VSPEED" value="-1."/>
|
||||||
|
<define name="CLIMB_VSPEED" value="1.5"/>
|
||||||
|
</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="HOOPERFLY/hooperfly_teensyfly_quad" 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_STARTUP" value="AP_MODE_NAV"/>
|
||||||
|
<define name="MODE_MANUAL" value="AP_MODE_ATTITUDE_DIRECT"/>
|
||||||
|
<define name="MODE_AUTO1" value="AP_MODE_HOVER_Z_HOLD"/>
|
||||||
|
<define name="MODE_AUTO2" value="AP_MODE_NAV"/>
|
||||||
|
<define name="ARRIVED_AT_WAYPOINT" value="2."/>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section name="BAT">
|
||||||
|
<!-- Simulator values -->
|
||||||
|
<define name="MAX_BAT_LEVEL" value="5.0" unit="V" />
|
||||||
|
<define name="LOW_BAT_LEVEL" value="4.0" unit="V"/>
|
||||||
|
<define name="CRITIC_BAT_LEVEL" value="3.5" unit="V"/>
|
||||||
|
<define name="CATASTROPHIC_BAT_LEVEL" value="3.0" unit="V"/>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section name="GCS">
|
||||||
|
<define name="ALT_SHIFT_PLUS_PLUS" value="5"/>
|
||||||
|
<define name="ALT_SHIFT_PLUS" value="1"/>
|
||||||
|
<define name="ALT_SHIFT_MINUS" value="-1"/>
|
||||||
|
<define name="AC_ICON" value="quadrotor_x"/>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</airframe>
|
||||||
@@ -87,4 +87,26 @@
|
|||||||
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"
|
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"
|
gui_color="blue"
|
||||||
/>
|
/>
|
||||||
|
<aircraft
|
||||||
|
name="Matek_FW_HITL"
|
||||||
|
ac_id="2"
|
||||||
|
airframe="airframes/examples/matek_h7_fixedwing_hitl.xml"
|
||||||
|
radio="radios/dummy.xml"
|
||||||
|
telemetry="telemetry/default_fixedwing.xml"
|
||||||
|
flight_plan="flight_plans/basic.xml"
|
||||||
|
settings="settings/fixedwing_basic.xml"
|
||||||
|
settings_modules="modules/air_data.xml modules/electrical.xml modules/gps.xml modules/guidance_full_pid_fw.xml modules/imu_common.xml modules/ins_float_invariant.xml modules/nav_basic_fw.xml modules/stabilization_adaptive_fw.xml"
|
||||||
|
gui_color="red"
|
||||||
|
/>
|
||||||
|
<aircraft
|
||||||
|
name="Matek_RC_HITL"
|
||||||
|
ac_id="4"
|
||||||
|
airframe="airframes/examples/matek_h7_rotorcraft_hitl.xml"
|
||||||
|
radio="radios/dummy.xml"
|
||||||
|
telemetry="telemetry/default_rotorcraft.xml"
|
||||||
|
flight_plan="flight_plans/rotorcraft_basic.xml"
|
||||||
|
settings="settings/rotorcraft_basic.xml"
|
||||||
|
settings_modules="modules/air_data.xml modules/electrical.xml modules/gps.xml modules/guidance_pid_rotorcraft.xml modules/guidance_rotorcraft.xml modules/imu_common.xml modules/ins_ekf2.xml modules/nav_rotorcraft.xml modules/stabilization_int_quat.xml"
|
||||||
|
gui_color="red"
|
||||||
|
/>
|
||||||
</conf>
|
</conf>
|
||||||
|
|||||||
@@ -192,6 +192,19 @@
|
|||||||
</program>
|
</program>
|
||||||
</session>
|
</session>
|
||||||
|
|
||||||
|
<session name="HITL demo">
|
||||||
|
<program name="Hardware in the Loop">
|
||||||
|
<arg flag="-a" constant="@AIRCRAFT"/>
|
||||||
|
<arg flag="-t" constant="hitl"/>
|
||||||
|
</program>
|
||||||
|
<program name="Data Link">
|
||||||
|
<arg flag="-d" constant="/dev/ttyACM1"/>
|
||||||
|
</program>
|
||||||
|
<program name="Server">
|
||||||
|
<arg flag="-n"/>
|
||||||
|
</program>
|
||||||
|
<program name="GCS"/>
|
||||||
|
</session>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
</control_panel>
|
</control_panel>
|
||||||
|
|||||||
@@ -258,15 +258,11 @@ BARO_BOARD_CFLAGS += -DBARO_PERIODIC_FREQUENCY=$(BARO_PERIODIC_FREQUENCY)
|
|||||||
ap.CFLAGS += $(BARO_BOARD_CFLAGS)
|
ap.CFLAGS += $(BARO_BOARD_CFLAGS)
|
||||||
ap.srcs += $(BARO_BOARD_SRCS)
|
ap.srcs += $(BARO_BOARD_SRCS)
|
||||||
|
|
||||||
# don't use for NPS or HITL
|
# don't use for NPS
|
||||||
ifeq ($(TARGET),nps)
|
ifeq ($(TARGET),nps)
|
||||||
$(TARGET).CFLAGS += -DUSE_BARO_BOARD=FALSE
|
$(TARGET).CFLAGS += -DUSE_BARO_BOARD=FALSE
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(TARGET),hitl)
|
|
||||||
$(TARGET).CFLAGS += -DUSE_BARO_BOARD=FALSE
|
|
||||||
endif
|
|
||||||
|
|
||||||
else # USE_BARO_BOARD is not TRUE, was explicitly disabled
|
else # USE_BARO_BOARD is not TRUE, was explicitly disabled
|
||||||
|
|
||||||
ap.CFLAGS += -DUSE_BARO_BOARD=FALSE
|
ap.CFLAGS += -DUSE_BARO_BOARD=FALSE
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
# Hey Emacs, this is a -*- makefile -*-
|
||||||
|
#
|
||||||
|
# generic_hitl.makefile
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
@@ -12,10 +12,6 @@ ifeq ($(TARGET), nps)
|
|||||||
UART_CFLAGS += -Iarch/linux
|
UART_CFLAGS += -Iarch/linux
|
||||||
UART_SRCS += arch/linux/serial_port.c
|
UART_SRCS += arch/linux/serial_port.c
|
||||||
endif
|
endif
|
||||||
ifeq ($(TARGET), hitl)
|
|
||||||
UART_CFLAGS += -Iarch/linux
|
|
||||||
UART_SRCS += arch/linux/serial_port.c
|
|
||||||
endif
|
|
||||||
ifeq ($(TARGET), sim)
|
ifeq ($(TARGET), sim)
|
||||||
UART_CFLAGS += -Iarch/linux
|
UART_CFLAGS += -Iarch/linux
|
||||||
UART_SRCS += arch/linux/serial_port.c
|
UART_SRCS += arch/linux/serial_port.c
|
||||||
|
|||||||
@@ -13,10 +13,6 @@ ifeq ($(TARGET), nps)
|
|||||||
UDP_CFLAGS += -Iarch/linux
|
UDP_CFLAGS += -Iarch/linux
|
||||||
UDP_SRCS += arch/linux/udp_socket.c
|
UDP_SRCS += arch/linux/udp_socket.c
|
||||||
endif
|
endif
|
||||||
ifeq ($(TARGET), hitl)
|
|
||||||
UDP_CFLAGS += -Iarch/linux
|
|
||||||
UDP_SRCS += arch/linux/udp_socket.c
|
|
||||||
endif
|
|
||||||
|
|
||||||
$(TARGET).CFLAGS += $(UDP_CFLAGS)
|
$(TARGET).CFLAGS += $(UDP_CFLAGS)
|
||||||
$(TARGET).srcs += $(UDP_SRCS)
|
$(TARGET).srcs += $(UDP_SRCS)
|
||||||
|
|||||||
@@ -0,0 +1,31 @@
|
|||||||
|
<!DOCTYPE module SYSTEM "module.dtd">
|
||||||
|
|
||||||
|
<module name="actuators_hitl" dir="actuators" task="actuators">
|
||||||
|
<doc>
|
||||||
|
<description>
|
||||||
|
Sends commands or actuators for Hardware In The Loop simulation
|
||||||
|
</description>
|
||||||
|
<configure name="HITL_PORT" value="UARTX|UDPX|usb_serial" description="Select port for extra datalink"/>
|
||||||
|
<configure name="HITL_BAUD" value="B230400" description="Baudrate for extra datalink if link device is UART"/>
|
||||||
|
</doc>
|
||||||
|
<dep>
|
||||||
|
<provides>actuators</provides>
|
||||||
|
</dep>
|
||||||
|
<header>
|
||||||
|
<file name="actuators_hitl.h"/>
|
||||||
|
</header>
|
||||||
|
<init fun="actuators_hitl_init()"/>
|
||||||
|
<periodic fun="actuators_hitl_periodic()"/>
|
||||||
|
<makefile target="ap">
|
||||||
|
<configure name="HITL_PORT" case="upper|lower"/>
|
||||||
|
<configure name="HITL_BAUD" default="B230400"/>
|
||||||
|
<define name="HITL_DEVICE" value="$(HITL_PORT_LOWER)"/>
|
||||||
|
<define name="USE_$(HITL_PORT_UPPER)"/>
|
||||||
|
<define name="$(HITL_PORT_UPPER)_BAUD" value="$(HITL_BAUD)"/>
|
||||||
|
<file name="actuators_hitl.c"/>
|
||||||
|
<test>
|
||||||
|
<define name="HITL_DEVICE" value="usb_serial"/>
|
||||||
|
<define name="USE_USB_SERIAL"/>
|
||||||
|
</test>
|
||||||
|
</makefile>
|
||||||
|
</module>
|
||||||
@@ -12,5 +12,5 @@
|
|||||||
<dep>
|
<dep>
|
||||||
<depends>stabilization_attitude_fw,guidance_basic_fw</depends>
|
<depends>stabilization_attitude_fw,guidance_basic_fw</depends>
|
||||||
</dep>
|
</dep>
|
||||||
<makefile target="ap|sim|nps|hitl" firmware="fixedwing"/>
|
<makefile target="ap|sim|nps" firmware="fixedwing"/>
|
||||||
</module>
|
</module>
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
<file name="dfu_command.h"/>
|
<file name="dfu_command.h"/>
|
||||||
</header>
|
</header>
|
||||||
<event fun="dfu_command_event()"/>
|
<event fun="dfu_command_event()"/>
|
||||||
<makefile target="!fbw|sim|nps|hitl">
|
<makefile target="!fbw|sim|nps">
|
||||||
<configure name="SERIAL_TTY" default="/dev/ttyACM0"/>
|
<configure name="SERIAL_TTY" default="/dev/ttyACM0"/>
|
||||||
<configure name="DFU_PRE_UPLOAD_CMD" default="@(printf '\043\012' $(REDIRECT) $(SERIAL_TTY) $(AND) sleep 1 $(AND) printf 'bl\012' $(REDIRECT) $(SERIAL_TTY) $(AND) sleep 1) $(OR) echo 'Warning: DFU command failed!'"/>
|
<configure name="DFU_PRE_UPLOAD_CMD" default="@(printf '\043\012' $(REDIRECT) $(SERIAL_TTY) $(AND) sleep 1 $(AND) printf 'bl\012' $(REDIRECT) $(SERIAL_TTY) $(AND) sleep 1) $(OR) echo 'Warning: DFU command failed!'"/>
|
||||||
<configure name="DFU_UTIL_PRE_UPLOAD_CMD" default="@(printf '\043\012' $(REDIRECT) $(SERIAL_TTY) $(AND) sleep 1 $(AND) printf 'bl\012' $(REDIRECT) $(SERIAL_TTY) $(AND) sleep 1) $(OR) echo 'Warning: DFU command failed!'"/>
|
<configure name="DFU_UTIL_PRE_UPLOAD_CMD" default="@(printf '\043\012' $(REDIRECT) $(SERIAL_TTY) $(AND) sleep 1 $(AND) printf 'bl\012' $(REDIRECT) $(SERIAL_TTY) $(AND) sleep 1) $(OR) echo 'Warning: DFU command failed!'"/>
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
</header>
|
</header>
|
||||||
<init fun="electrical_init()"/>
|
<init fun="electrical_init()"/>
|
||||||
<periodic fun="electrical_periodic()" freq="10"/>
|
<periodic fun="electrical_periodic()" freq="10"/>
|
||||||
<makefile target="fbw|sim|nps|hitl" firmware="fixedwing">
|
<makefile target="fbw|sim|nps" firmware="fixedwing">
|
||||||
<file name="electrical.c"/>
|
<file name="electrical.c"/>
|
||||||
<test firmware="fixedwing"/>
|
<test firmware="fixedwing"/>
|
||||||
</makefile>
|
</makefile>
|
||||||
|
|||||||
@@ -6,6 +6,9 @@
|
|||||||
<configure name="EXTRA_DL_PORT" value="UARTX|UDPX|usb_serial" description="Select port for extra datalink"/>
|
<configure name="EXTRA_DL_PORT" value="UARTX|UDPX|usb_serial" description="Select port for extra datalink"/>
|
||||||
<configure name="EXTRA_DL_BAUD" value="B57600" description="Baudrate for extra datalink if link device is UART"/>
|
<configure name="EXTRA_DL_BAUD" value="B57600" description="Baudrate for extra datalink if link device is UART"/>
|
||||||
</doc>
|
</doc>
|
||||||
|
<dep>
|
||||||
|
<depends>uart|udp</depends>
|
||||||
|
</dep>
|
||||||
<header>
|
<header>
|
||||||
<file name="extra_pprz_dl.h"/>
|
<file name="extra_pprz_dl.h"/>
|
||||||
</header>
|
</header>
|
||||||
@@ -25,28 +28,9 @@
|
|||||||
<configure name="EXTRA_DL_PORT" default="uart1" case="upper|lower"/>
|
<configure name="EXTRA_DL_PORT" default="uart1" case="upper|lower"/>
|
||||||
<define name="EXTRA_DOWNLINK_DEVICE" value="$(EXTRA_DL_PORT_LOWER)"/>
|
<define name="EXTRA_DOWNLINK_DEVICE" value="$(EXTRA_DL_PORT_LOWER)"/>
|
||||||
<define name="USE_$(EXTRA_DL_PORT_UPPER)"/>
|
<define name="USE_$(EXTRA_DL_PORT_UPPER)"/>
|
||||||
|
<define name="$(EXTRA_DL_PORT_UPPER)_BAUD" value="$(EXTRA_DL_BAUD)"/>
|
||||||
<configure name="TELEMETRY_FREQUENCY" default="$(PERIODIC_FREQUENCY)"/>
|
<configure name="TELEMETRY_FREQUENCY" default="$(PERIODIC_FREQUENCY)"/>
|
||||||
<define name="TELEMETRY_FREQUENCY" value="$(TELEMETRY_FREQUENCY)"/>
|
<define name="TELEMETRY_FREQUENCY" value="$(TELEMETRY_FREQUENCY)"/>
|
||||||
<raw>
|
|
||||||
# Check for UDP port
|
|
||||||
ifneq (,$(findstring udp,$(EXTRA_DL_PORT_LOWER)))
|
|
||||||
include $(CFG_SHARED)/udp.makefile
|
|
||||||
else
|
|
||||||
ifneq (,$(findstring usb_serial,$(EXTRA_DL_PORT_LOWER)))
|
|
||||||
# usb_serial telemetry chosen, add files based on architecture
|
|
||||||
ifeq ($(ARCH), stm32)
|
|
||||||
$(TARGET).srcs += $(SRC_ARCH)/usb_ser_hw.c
|
|
||||||
else
|
|
||||||
ifneq ($(ARCH), sim)
|
|
||||||
$(error telemetry_transparent_usb currently only implemented for the stm32)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
EXTRA_DL_BAUD ?= B57600
|
|
||||||
$(TARGET).CFLAGS += -D$(EXTRA_DL_PORT_UPPER)_BAUD=$(EXTRA_DL_BAUD)
|
|
||||||
endif # USB serial
|
|
||||||
endif # UDP
|
|
||||||
</raw>
|
|
||||||
<file name="extra_pprz_dl.c"/>
|
<file name="extra_pprz_dl.c"/>
|
||||||
<file name="pprz_transport.c" dir="pprzlink/src"/>
|
<file name="pprz_transport.c" dir="pprzlink/src"/>
|
||||||
</makefile>
|
</makefile>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
<depends>system_core,autopilot_gnc_fw,actuators_pwm</depends>
|
<depends>system_core,autopilot_gnc_fw,actuators_pwm</depends>
|
||||||
<suggests>nav_basic_fw</suggests>
|
<suggests>nav_basic_fw</suggests>
|
||||||
</dep>
|
</dep>
|
||||||
<makefile>
|
<makefile target="ap|nps|sim|fbw">
|
||||||
<configure name="PERIODIC_FREQUENCY" default="60"/>
|
<configure name="PERIODIC_FREQUENCY" default="60"/>
|
||||||
<configure name="SRC_FIRMWARE" value="firmwares/fixedwing"/>
|
<configure name="SRC_FIRMWARE" value="firmwares/fixedwing"/>
|
||||||
<configure name="WIND_INFO" default="TRUE"/>
|
<configure name="WIND_INFO" default="TRUE"/>
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
<makefile target="!fbw">
|
<makefile target="!fbw">
|
||||||
<file name="main_ap.c" dir="."/>
|
<file name="main_ap.c" dir="."/>
|
||||||
</makefile>
|
</makefile>
|
||||||
<makefile target="nps|hitl">
|
<makefile target="nps">
|
||||||
<define name="AP"/>
|
<define name="AP"/>
|
||||||
<file name="nps_autopilot_fixedwing.c" dir="nps"/>
|
<file name="nps_autopilot_fixedwing.c" dir="nps"/>
|
||||||
</makefile>
|
</makefile>
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
<!DOCTYPE module SYSTEM "../module.dtd">
|
||||||
|
|
||||||
|
<module name="generic_hitl" dir="firmwares" task="core">
|
||||||
|
<doc>
|
||||||
|
<description>
|
||||||
|
Generic firmware config for Hardware In The Loop simualtion
|
||||||
|
</description>
|
||||||
|
</doc>
|
||||||
|
<makefile target="hitl">
|
||||||
|
<configure name="PERIODIC_FREQUENCY" default="60"/>
|
||||||
|
<define name="PERIODIC_FREQUENCY" value="$(PERIODIC_FREQUENCY)"/>
|
||||||
|
<define name="BOARD_CONFIG" value="$(BOARD_CFG)"/>
|
||||||
|
</makefile>
|
||||||
|
</module>
|
||||||
|
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
<makefile target="!fbw">
|
<makefile target="!fbw">
|
||||||
<file name="main_ap.c" dir="."/>
|
<file name="main_ap.c" dir="."/>
|
||||||
</makefile>
|
</makefile>
|
||||||
<makefile target="nps|hitl">
|
<makefile target="nps">
|
||||||
<file name="nps_autopilot_rotorcraft.c" dir="nps"/>
|
<file name="nps_autopilot_rotorcraft.c" dir="nps"/>
|
||||||
</makefile>
|
</makefile>
|
||||||
</module>
|
</module>
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ $(error "Rover firmware should use generated autopilot")
|
|||||||
endif
|
endif
|
||||||
</raw>
|
</raw>
|
||||||
</makefile>
|
</makefile>
|
||||||
<makefile target="nps|hitl">
|
<makefile target="nps">
|
||||||
<define name="AP"/>
|
<define name="AP"/>
|
||||||
<file name="nps_autopilot_rover.c" dir="nps"/>
|
<file name="nps_autopilot_rover.c" dir="nps"/>
|
||||||
</makefile>
|
</makefile>
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
<datalink message="GPS_INJECT" fun="gps_parse_GPS_INJECT(buf)"/>
|
<datalink message="GPS_INJECT" fun="gps_parse_GPS_INJECT(buf)"/>
|
||||||
<datalink message="RTCM_INJECT" fun="gps_parse_RTCM_INJECT(buf)"/>
|
<datalink message="RTCM_INJECT" fun="gps_parse_RTCM_INJECT(buf)"/>
|
||||||
|
|
||||||
<makefile target="fbw|ap|sim|nps|hitl">
|
<makefile target="fbw|ap|sim|nps">
|
||||||
<configure name="GPS_LED" default="none"/>
|
<configure name="GPS_LED" default="none"/>
|
||||||
<file name="gps.c"/>
|
<file name="gps.c"/>
|
||||||
<define name="USE_GPS"/>
|
<define name="USE_GPS"/>
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
</header>
|
</header>
|
||||||
<init fun="gps_nps_init()"/>
|
<init fun="gps_nps_init()"/>
|
||||||
<periodic fun="gps_nps_periodic_check()" freq="1." autorun="TRUE"/>
|
<periodic fun="gps_nps_periodic_check()" freq="1." autorun="TRUE"/>
|
||||||
<makefile target="nps|hitl">
|
<makefile target="nps">
|
||||||
<file name="gps_sim_nps.c"/>
|
<file name="gps_sim_nps.c"/>
|
||||||
<define name="GPS_TYPE_H" value="modules/gps/gps_sim_nps.h" type="string"/>
|
<define name="GPS_TYPE_H" value="modules/gps/gps_sim_nps.h" type="string"/>
|
||||||
<test>
|
<test>
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
<!DOCTYPE module SYSTEM "module.dtd">
|
|
||||||
|
|
||||||
<module name="gps_sim_hitl" dir="gps" task="sensors">
|
|
||||||
<doc>
|
|
||||||
<description>
|
|
||||||
Sim HITL GPS
|
|
||||||
Simulate GPS for HITL (HardwareInTheLoop) from rotorcrafts horizontal/vertical reference system.
|
|
||||||
</description>
|
|
||||||
</doc>
|
|
||||||
<dep>
|
|
||||||
<depends>gps</depends>
|
|
||||||
<provides>gps</provides>
|
|
||||||
</dep>
|
|
||||||
<header>
|
|
||||||
<file name="gps.h"/>
|
|
||||||
</header>
|
|
||||||
<init fun="gps_sim_hitl_init()"/>
|
|
||||||
<event fun="gps_sim_hitl_event()"/>
|
|
||||||
<makefile target="ap" firmware="rotorcraft">
|
|
||||||
<file name="gps_sim_hitl.c"/>
|
|
||||||
<define name="HITL"/>
|
|
||||||
<define name="GPS_TYPE_H" value="modules/gps/gps_sim_hitl.h" type="string"/>
|
|
||||||
<test firmware="rotorcraft"/>
|
|
||||||
</makefile>
|
|
||||||
</module>
|
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
<periodic fun="gps_ubx_periodic_check()" freq="1." autorun="TRUE"/>
|
<periodic fun="gps_ubx_periodic_check()" freq="1." autorun="TRUE"/>
|
||||||
<event fun="gps_ubx_event()"/>
|
<event fun="gps_ubx_event()"/>
|
||||||
<datalink message="HITL_UBX" fun="gps_ubx_parse_HITL_UBX(buf)"/>
|
<datalink message="HITL_UBX" fun="gps_ubx_parse_HITL_UBX(buf)"/>
|
||||||
<makefile target="ap|fbw|hitl">
|
<makefile target="ap|fbw">
|
||||||
<configure name="UBX_GPS_PORT" default="$(GPS_PORT)" case="upper|lower"/>
|
<configure name="UBX_GPS_PORT" default="$(GPS_PORT)" case="upper|lower"/>
|
||||||
<configure name="UBX_GPS_BAUD" default="$(GPS_BAUD)"/>
|
<configure name="UBX_GPS_BAUD" default="$(GPS_BAUD)"/>
|
||||||
|
|
||||||
|
|||||||
@@ -54,7 +54,7 @@
|
|||||||
<file name="guidance_h.h"/>
|
<file name="guidance_h.h"/>
|
||||||
</header>
|
</header>
|
||||||
<init fun="v_ctl_init()"/>
|
<init fun="v_ctl_init()"/>
|
||||||
<makefile target="ap|sim|nps|hitl" firmware="fixedwing">
|
<makefile target="ap|sim|nps" firmware="fixedwing">
|
||||||
<file name="guidance_v.c" dir="$(SRC_FIRMWARE)/guidance"/>
|
<file name="guidance_v.c" dir="$(SRC_FIRMWARE)/guidance"/>
|
||||||
<file name="guidance_h.c" dir="$(SRC_FIRMWARE)/guidance"/>
|
<file name="guidance_h.c" dir="$(SRC_FIRMWARE)/guidance"/>
|
||||||
<define name="CTRL_TYPE_H" value="firmwares/fixedwing/guidance/guidance_v.h" type="string"/>
|
<define name="CTRL_TYPE_H" value="firmwares/fixedwing/guidance/guidance_v.h" type="string"/>
|
||||||
|
|||||||
@@ -45,7 +45,7 @@
|
|||||||
<file name="guidance_pid.h"/>
|
<file name="guidance_pid.h"/>
|
||||||
</header>
|
</header>
|
||||||
<init fun="guidance_pid_init()"/>
|
<init fun="guidance_pid_init()"/>
|
||||||
<makefile target="ap|nps|hitl" firmware="rotorcraft">
|
<makefile target="ap|nps" firmware="rotorcraft">
|
||||||
<file name="guidance_pid.c" dir="$(SRC_FIRMWARE)/guidance"/>
|
<file name="guidance_pid.c" dir="$(SRC_FIRMWARE)/guidance"/>
|
||||||
</makefile>
|
</makefile>
|
||||||
</module>
|
</module>
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
</header>
|
</header>
|
||||||
<init fun="guidance_h_init()"/>
|
<init fun="guidance_h_init()"/>
|
||||||
<init fun="guidance_v_init()"/>
|
<init fun="guidance_v_init()"/>
|
||||||
<makefile target="ap|nps|hitl" firmware="rotorcraft">
|
<makefile target="ap|nps" firmware="rotorcraft">
|
||||||
<file name="guidance_h.c" dir="$(SRC_FIRMWARE)/guidance"/>
|
<file name="guidance_h.c" dir="$(SRC_FIRMWARE)/guidance"/>
|
||||||
<file name="guidance_h_ref.c" dir="$(SRC_FIRMWARE)/guidance"/>
|
<file name="guidance_h_ref.c" dir="$(SRC_FIRMWARE)/guidance"/>
|
||||||
<file name="guidance_v.c" dir="$(SRC_FIRMWARE)/guidance"/>
|
<file name="guidance_v.c" dir="$(SRC_FIRMWARE)/guidance"/>
|
||||||
|
|||||||
@@ -17,7 +17,8 @@
|
|||||||
<provides>recovery</provides>
|
<provides>recovery</provides>
|
||||||
</dep>
|
</dep>
|
||||||
<makefile target="ap" firmware="fixedwing">
|
<makefile target="ap" firmware="fixedwing">
|
||||||
<define name="USE_HARD_FAULT_RECOVERY"/>
|
<configure name="USE_HARD_FAULT_RECOVERY" default="TRUE"/>
|
||||||
|
<define name="USE_HARD_FAULT_RECOVERY" value="$(USE_HARD_FAULT_RECOVERY)"/>
|
||||||
<file name="main_recovery.c" dir="firmwares/fixedwing"/>
|
<file name="main_recovery.c" dir="firmwares/fixedwing"/>
|
||||||
<test firmware="fixedwing">
|
<test firmware="fixedwing">
|
||||||
<define name="RADIO_CONTROL"/>
|
<define name="RADIO_CONTROL"/>
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
<init fun="imu_aspirin2_init()"/>
|
<init fun="imu_aspirin2_init()"/>
|
||||||
<periodic fun="imu_aspirin2_periodic()"/>
|
<periodic fun="imu_aspirin2_periodic()"/>
|
||||||
<event fun="imu_aspirin2_event()"/>
|
<event fun="imu_aspirin2_event()"/>
|
||||||
<makefile target="!sim|nps|fbw|hitl">
|
<makefile target="!sim|nps|fbw">
|
||||||
<configure name="ASPIRIN_2_SPI_DEV" default="spi2" case="lower|upper"/>
|
<configure name="ASPIRIN_2_SPI_DEV" default="spi2" case="lower|upper"/>
|
||||||
<configure name="ASPIRIN_2_SPI_SLAVE_IDX" default="SPI_SLAVE2"/>
|
<configure name="ASPIRIN_2_SPI_SLAVE_IDX" default="SPI_SLAVE2"/>
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
<init fun="imu_nps_init()"/>
|
<init fun="imu_nps_init()"/>
|
||||||
<event fun="imu_nps_event()"/>
|
<event fun="imu_nps_event()"/>
|
||||||
|
|
||||||
<makefile target="nps|hitl">
|
<makefile target="nps">
|
||||||
<file name="imu_nps.c"/>
|
<file name="imu_nps.c"/>
|
||||||
</makefile>
|
</makefile>
|
||||||
</module>
|
</module>
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
<file name="ins_int.h" dir="modules/ins"/>
|
<file name="ins_int.h" dir="modules/ins"/>
|
||||||
</header>
|
</header>
|
||||||
<init fun="ins_int_init()"/>
|
<init fun="ins_int_init()"/>
|
||||||
<makefile target="ap|nps|hitl">
|
<makefile target="ap|nps">
|
||||||
<define name="INS_TYPE_H" value="modules/ins/ins_int.h" type="string"/>
|
<define name="INS_TYPE_H" value="modules/ins/ins_int.h" type="string"/>
|
||||||
<file name="ins.c"/>
|
<file name="ins.c"/>
|
||||||
<file name="ins_int.c"/>
|
<file name="ins_int.c"/>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
<file name="ins_gps_passthrough.h"/>
|
<file name="ins_gps_passthrough.h"/>
|
||||||
</header>
|
</header>
|
||||||
<init fun="ins_gps_passthrough_init()"/>
|
<init fun="ins_gps_passthrough_init()"/>
|
||||||
<makefile target="nps|hitl">
|
<makefile target="nps">
|
||||||
<file name="imu.c" dir="modules/imu"/>
|
<file name="imu.c" dir="modules/imu"/>
|
||||||
<file name="imu_nps.c" dir="modules/imu"/>
|
<file name="imu_nps.c" dir="modules/imu"/>
|
||||||
<define name="USE_IMU"/>
|
<define name="USE_IMU"/>
|
||||||
@@ -29,12 +29,12 @@
|
|||||||
</test>
|
</test>
|
||||||
</makefile>
|
</makefile>
|
||||||
|
|
||||||
<makefile target="nps|hitl" firmware="rotorcraft">
|
<makefile target="nps" firmware="rotorcraft">
|
||||||
<define name="INS_TYPE_H" value="modules/ins/ins_gps_passthrough.h" type="string"/>
|
<define name="INS_TYPE_H" value="modules/ins/ins_gps_passthrough.h" type="string"/>
|
||||||
<file name="ins.c"/>
|
<file name="ins.c"/>
|
||||||
<file name="ins_gps_passthrough.c"/>
|
<file name="ins_gps_passthrough.c"/>
|
||||||
</makefile>
|
</makefile>
|
||||||
<makefile target="nps|hitl" firmware="fixedwing">
|
<makefile target="nps" firmware="fixedwing">
|
||||||
<define name="INS_TYPE_H" value="modules/ins/ins_gps_passthrough.h" type="string"/>
|
<define name="INS_TYPE_H" value="modules/ins/ins_gps_passthrough.h" type="string"/>
|
||||||
<file name="ins.c"/>
|
<file name="ins.c"/>
|
||||||
<file name="ins_gps_passthrough_utm.c"/>
|
<file name="ins_gps_passthrough_utm.c"/>
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
<init fun="nav_init()"/>
|
<init fun="nav_init()"/>
|
||||||
<datalink message="BLOCK" fun="nav_parse_BLOCK(dev,trans,buf)"/>
|
<datalink message="BLOCK" fun="nav_parse_BLOCK(dev,trans,buf)"/>
|
||||||
<datalink message="MOVE_WP" fun="nav_parse_MOVE_WP(dev,trans,buf)"/>
|
<datalink message="MOVE_WP" fun="nav_parse_MOVE_WP(dev,trans,buf)"/>
|
||||||
<makefile target="ap|sim|nps|hitl" firmware="fixedwing">
|
<makefile target="ap|sim|nps" firmware="fixedwing">
|
||||||
<file name="nav.c" dir="$(SRC_FIRMWARE)"/>
|
<file name="nav.c" dir="$(SRC_FIRMWARE)"/>
|
||||||
<file name="common_flight_plan.c"/>
|
<file name="common_flight_plan.c"/>
|
||||||
<file name="nav_survey_rectangle.c"/>
|
<file name="nav_survey_rectangle.c"/>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
<file name="nav_rotorcraft_base.h"/>
|
<file name="nav_rotorcraft_base.h"/>
|
||||||
</header>
|
</header>
|
||||||
<init fun="nav_rotorcraft_init()"/>
|
<init fun="nav_rotorcraft_init()"/>
|
||||||
<makefile target="ap|nps|hitl" firmware="rotorcraft">
|
<makefile target="ap|nps" firmware="rotorcraft">
|
||||||
<file name="nav_rotorcraft_base.c"/>
|
<file name="nav_rotorcraft_base.c"/>
|
||||||
<test firmware="rotorcraft">
|
<test firmware="rotorcraft">
|
||||||
<configure name="SRC_FIRMWARE" value="firmwares/rotorcraft"/>
|
<configure name="SRC_FIRMWARE" value="firmwares/rotorcraft"/>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
<file name="nav_flower.h"/>
|
<file name="nav_flower.h"/>
|
||||||
</header>
|
</header>
|
||||||
<init fun="nav_flower_init()"/>
|
<init fun="nav_flower_init()"/>
|
||||||
<makefile target="ap|sim|nps|hitl">
|
<makefile target="ap|sim|nps">
|
||||||
<file name="nav_flower.c"/>
|
<file name="nav_flower.c"/>
|
||||||
<test firmware="fixedwing">
|
<test firmware="fixedwing">
|
||||||
<define name="CTRL_TYPE_H" value="firmwares/fixedwing/guidance/guidance_v.h" type="string"/>
|
<define name="CTRL_TYPE_H" value="firmwares/fixedwing/guidance/guidance_v.h" type="string"/>
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
<file name="nav_rotorcraft_hybrid.h"/>
|
<file name="nav_rotorcraft_hybrid.h"/>
|
||||||
</header>
|
</header>
|
||||||
<init fun="nav_rotorcraft_hybrid_init()"/>
|
<init fun="nav_rotorcraft_hybrid_init()"/>
|
||||||
<makefile target="ap|nps|hitl" firmware="rotorcraft">
|
<makefile target="ap|nps" firmware="rotorcraft">
|
||||||
<file name="nav_rotorcraft_hybrid.c"/>
|
<file name="nav_rotorcraft_hybrid.c"/>
|
||||||
<test firmware="rotorcraft">
|
<test firmware="rotorcraft">
|
||||||
<define name="GUIDANCE_INDI_MAX_AIRSPEED" value="15."/>
|
<define name="GUIDANCE_INDI_MAX_AIRSPEED" value="15."/>
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
<file name="nav_lace.h"/>
|
<file name="nav_lace.h"/>
|
||||||
</header>
|
</header>
|
||||||
<init fun="nav_lace_init()"/>
|
<init fun="nav_lace_init()"/>
|
||||||
<makefile target="ap|sim|nps|hitl">
|
<makefile target="ap|sim|nps">
|
||||||
<file name="nav_lace.c"/>
|
<file name="nav_lace.c"/>
|
||||||
</makefile>
|
</makefile>
|
||||||
</module>
|
</module>
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
<header>
|
<header>
|
||||||
<file name="nav_launcher.h"/>
|
<file name="nav_launcher.h"/>
|
||||||
</header>
|
</header>
|
||||||
<makefile target="ap|sim|nps|hitl">
|
<makefile target="ap|sim|nps">
|
||||||
<file name="nav_launcher.c"/>
|
<file name="nav_launcher.c"/>
|
||||||
<test firmware="fixedwing">
|
<test firmware="fixedwing">
|
||||||
<define name="CTRL_TYPE_H" value="firmwares/fixedwing/guidance/guidance_v.h" type="string"/>
|
<define name="CTRL_TYPE_H" value="firmwares/fixedwing/guidance/guidance_v.h" type="string"/>
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
<file name="nav_line.h"/>
|
<file name="nav_line.h"/>
|
||||||
</header>
|
</header>
|
||||||
<init fun="nav_line_init()"/>
|
<init fun="nav_line_init()"/>
|
||||||
<makefile target="ap|sim|nps|hitl">
|
<makefile target="ap|sim|nps">
|
||||||
<file name="nav_line.c"/>
|
<file name="nav_line.c"/>
|
||||||
<test firmware="fixedwing">
|
<test firmware="fixedwing">
|
||||||
<define name="CTRL_TYPE_H" value="firmwares/fixedwing/guidance/guidance_v.h" type="string"/>
|
<define name="CTRL_TYPE_H" value="firmwares/fixedwing/guidance/guidance_v.h" type="string"/>
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
<file name="nav_rosette.h"/>
|
<file name="nav_rosette.h"/>
|
||||||
</header>
|
</header>
|
||||||
<init fun="nav_rosette_init()"/>
|
<init fun="nav_rosette_init()"/>
|
||||||
<makefile target="ap|sim|nps|hitl">
|
<makefile target="ap|sim|nps">
|
||||||
<file name="nav_rosette.c"/>
|
<file name="nav_rosette.c"/>
|
||||||
</makefile>
|
</makefile>
|
||||||
</module>
|
</module>
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
<init fun="nav_init()"/>
|
<init fun="nav_init()"/>
|
||||||
<datalink message="BLOCK" fun="nav_parse_BLOCK(buf)"/>
|
<datalink message="BLOCK" fun="nav_parse_BLOCK(buf)"/>
|
||||||
<datalink message="MOVE_WP" fun="nav_parse_MOVE_WP(buf)"/>
|
<datalink message="MOVE_WP" fun="nav_parse_MOVE_WP(buf)"/>
|
||||||
<makefile target="ap|nps|hitl" firmware="rotorcraft">
|
<makefile target="ap|nps" firmware="rotorcraft">
|
||||||
<file name="navigation.c" dir="$(SRC_FIRMWARE)"/>
|
<file name="navigation.c" dir="$(SRC_FIRMWARE)"/>
|
||||||
<file name="common_flight_plan.c"/>
|
<file name="common_flight_plan.c"/>
|
||||||
<file name="waypoints.c"/>
|
<file name="waypoints.c"/>
|
||||||
|
|||||||
@@ -55,7 +55,7 @@
|
|||||||
<header>
|
<header>
|
||||||
<file name="nav_skid_landing.h"/>
|
<file name="nav_skid_landing.h"/>
|
||||||
</header>
|
</header>
|
||||||
<makefile target="ap|sim|nps|hitl">
|
<makefile target="ap|sim|nps">
|
||||||
<file name="nav_skid_landing.c"/>
|
<file name="nav_skid_landing.c"/>
|
||||||
<define name="CTRL_VERTICAL_LANDING" value="1"/>
|
<define name="CTRL_VERTICAL_LANDING" value="1"/>
|
||||||
<test firmware="fixedwing">
|
<test firmware="fixedwing">
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
<file name="nav_spiral_3D.h"/>
|
<file name="nav_spiral_3D.h"/>
|
||||||
</header>
|
</header>
|
||||||
<init fun="nav_spiral_3D_init()"/>
|
<init fun="nav_spiral_3D_init()"/>
|
||||||
<makefile target="ap|sim|nps|hitl">
|
<makefile target="ap|sim|nps">
|
||||||
<file name="nav_spiral_3D.c"/>
|
<file name="nav_spiral_3D.c"/>
|
||||||
</makefile>
|
</makefile>
|
||||||
</module>
|
</module>
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ You can use:
|
|||||||
<header>
|
<header>
|
||||||
<file name="nav_survey_poly_osam.h"/>
|
<file name="nav_survey_poly_osam.h"/>
|
||||||
</header>
|
</header>
|
||||||
<makefile target="ap|sim|nps|hitl">
|
<makefile target="ap|sim|nps">
|
||||||
<file name="nav_survey_poly_osam.c"/>
|
<file name="nav_survey_poly_osam.c"/>
|
||||||
<test firmware="fixedwing">
|
<test firmware="fixedwing">
|
||||||
<define name="CTRL_TYPE_H" value="firmwares/fixedwing/guidance/guidance_v.h" type="string"/>
|
<define name="CTRL_TYPE_H" value="firmwares/fixedwing/guidance/guidance_v.h" type="string"/>
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user