diff --git a/conf/airframes/jsbsim.xml b/conf/airframes/jsbsim.xml index 67fe2f0a1a..18dc8cc3ca 100644 --- a/conf/airframes/jsbsim.xml +++ b/conf/airframes/jsbsim.xml @@ -191,25 +191,43 @@
+ +
- -#### Config for SITL simulation -include $(PAPARAZZI_SRC)/conf/autopilot/sitl.makefile + + + + -sim.CFLAGS += -DBOARD_CONFIG=\"boards/tiny_sim.h\" -DAGR_CLIMB -DLOITER_TRIM -DALT_KALMAN -sim.srcs += subsystems/navigation/nav_line.c subsystems/navigation/nav_survey_rectangle.c + + + + + + + + + + + + + + + + + + + -#### Config for SITL simulation with JSBSim -SRC_FIRMWARE = firmwares/fixedwing -include $(PAPARAZZI_SRC)/conf/autopilot/sitl_jsbsim.makefile + + + + + + -jsbsim.CFLAGS += -DBOARD_CONFIG=\"boards/tiny_sim.h\" -DAGR_CLIMB -DLOITER_TRIM -DALT_KALMAN -jsbsim.srcs += subsystems/navigation/nav_line.c subsystems/navigation/nav_survey_rectangle.c -jsbsim.srcs += $(SIMDIR)/sim_ac_fw.c - - diff --git a/conf/simulator/Malolo1/Malolo1-IC.xml b/conf/simulator/Malolo1/Malolo1-IC.xml new file mode 100644 index 0000000000..89c46bef55 --- /dev/null +++ b/conf/simulator/Malolo1/Malolo1-IC.xml @@ -0,0 +1,49 @@ + + + + + + + 43.46223 + 1.27289 + 186.0 + 2.0 + + 0.0 + 0.0 + 0.0 + + 0.0 + 20.0 + + 0.0 + -1 + diff --git a/sw/simulator/sim_ac_fw.c b/sw/simulator/sim_ac_fw.c index fac1a433b5..e9dde43ab0 100644 --- a/sw/simulator/sim_ac_fw.c +++ b/sw/simulator/sim_ac_fw.c @@ -127,6 +127,9 @@ static inline double normalize_from_pprz(int command) { void copy_inputs_to_jsbsim(FGFDMExec* FDMExec) { static double throttle_slewed = 0.; static double th = 0.; +#ifndef JSBSIM_LAUNCHSPEED +#define JSBSIM_LAUNCHSPEED 20.0 //launch speed in m/s aligned with airframe body forward +#endif if (run_model) th += 0.01; if (th >= 1) th = 1; // detect launch @@ -134,8 +137,9 @@ void copy_inputs_to_jsbsim(FGFDMExec* FDMExec) { run_model = true; //set_value(FDMExec, "propulsion/set-running", 1); // set initial speed - FDMExec->GetIC()->SetAltitudeAGLFtIC(5.0 / FT2M); - FDMExec->GetIC()->SetVgroundFpsIC(20./FT2M); + //FDMExec->GetIC()->SetAltitudeAGLFtIC(5.0 / FT2M); + //FDMExec->GetIC()->SetVgroundFpsIC(20./FT2M); + FDMExec->GetIC()->SetUBodyFpsIC( JSBSIM_LAUNCHSPEED / FT2M); FDMExec->RunIC(); th = 0.; } diff --git a/sw/simulator/sim_ac_jsbsim.c b/sw/simulator/sim_ac_jsbsim.c index 3806af2909..55f66a17a8 100644 --- a/sw/simulator/sim_ac_jsbsim.c +++ b/sw/simulator/sim_ac_jsbsim.c @@ -253,7 +253,7 @@ void jsbsim_init(void) { IC->SetLatitudeDegIC(NAV_LAT0 / 1e7); IC->SetLongitudeDegIC(NAV_LON0 / 1e7); - IC->SetAltitudeASLFtIC(GROUND_ALT / FT2M); + IC->SetAltitudeASLFtIC((GROUND_ALT + 2.0) / FT2M); IC->SetTerrainElevationFtIC(GROUND_ALT / FT2M); IC->SetPsiDegIC(QFU); IC->SetVgroundFpsIC(0.);