Skip to content

Commit

Permalink
[hitl] rewrite support for hardware in the loop simulation (#3146)
Browse files Browse the repository at this point in the history
- 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
  • Loading branch information
gautierhattenberger committed Oct 31, 2023
1 parent 094997a commit 4ae4056
Show file tree
Hide file tree
Showing 108 changed files with 1,683 additions and 1,275 deletions.
18 changes: 18 additions & 0 deletions Makefile.ac
Original file line number Diff line number Diff line change
Expand Up @@ -195,16 +195,34 @@ endif
@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)

# 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
@echo "GENERATED Qt project"

%.compile: %.ac_h | print_version
$(MAKE) TARGET=$* -f Makefile.ac all_ac_h
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
cd $(AIRBORNE); $(MAKE) TARGET=$* upload

hitl.upload: hitl.compile
cd $(AIRBORNE); $(MAKE) TARGET=ap upload

clean_ac :
$(Q)if (expr "$(AIRCRAFT)") > /dev/null; then : ; else echo "AIRCRAFT undefined: type 'make AIRCRAFT=AircraftName ...'"; exit 1; fi
@echo "CLEANING $(AIRCRAFT)"
Expand Down
11 changes: 0 additions & 11 deletions conf/airframes/AGGIEAIR/aggieair_ark_hexa_1-8.xml
Original file line number Diff line number Diff line change
Expand Up @@ -31,17 +31,6 @@ Aggie Air ARK
<module name="telemetry" type="transparent"/>
</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="actuators" type="pwm">
<define name="SERVO_HZ" value="160"/>
Expand Down
10 changes: 0 additions & 10 deletions conf/airframes/AGGIEAIR/aggieair_atomic_lia.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,16 +32,6 @@ AggieAir Atomic Tangerine
<module name="telemetry" type="transparent"/>
</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="navigation"/>

Expand Down
10 changes: 0 additions & 10 deletions conf/airframes/AGGIEAIR/aggieair_blujay_goose.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,6 @@ AggieAir Blujayujay
<module name="radio_control" type="spektrum"/>
</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="navigation"/>

Expand Down
137 changes: 0 additions & 137 deletions conf/airframes/AGGIEAIR/aggieair_control_panel.xml
Original file line number Diff line number Diff line change
Expand Up @@ -195,99 +195,6 @@
<program name="Real-time Plotter"/>
</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">
<program name="Data Link">
<arg flag="-udp"/>
Expand All @@ -310,50 +217,6 @@
<program name="AggieCap3 Sidekick"/>
</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">
<program name="Data Link">
<arg flag="-d" constant="/dev/paparazzi/xbee"/>
Expand Down
10 changes: 0 additions & 10 deletions conf/airframes/AGGIEAIR/aggieair_el_captitan_lia.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,16 +32,6 @@ AggieAir El Capitan
<module name="telemetry" type="transparent"/>
</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="navigation"/>

Expand Down
9 changes: 0 additions & 9 deletions conf/airframes/AGGIEAIR/aggieair_minion_rp3_lia.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,6 @@ AggieAir RP3 Minion
<module name="radio_control" type="spektrum"/>
</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="navigation"/>

Expand Down
10 changes: 0 additions & 10 deletions conf/airframes/AGGIEAIR/aggieair_minionsim_lia.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,16 +33,6 @@ AggieAir Minion Sim
<module name="telemetry" type="transparent"/>
</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="navigation"/>

Expand Down
10 changes: 0 additions & 10 deletions conf/airframes/AGGIEAIR/aggieair_minty_lia.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,16 +32,6 @@ AggieAir Minty Fresh
<module name="telemetry" type="transparent"/>
</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="navigation"/>

Expand Down

0 comments on commit 4ae4056

Please sign in to comment.