diff --git a/conf/airframes/tudelft/bebop_opticflow_indoor.xml b/conf/airframes/tudelft/bebop_opticflow_indoor.xml new file mode 100644 index 0000000000..e94fe16313 --- /dev/null +++ b/conf/airframes/tudelft/bebop_opticflow_indoor.xml @@ -0,0 +1,199 @@ + + + + + Airframe file to fly a Bebop1 drone, in stable smooth flight, through waypoints using opticflow. As this airframe does not use a magnetometer nor GPS for heading determination, all positions and angles are relative to its starting position. Therefore; the drone should be facing north when started. The values are tuned so that the flight speed is limited and the drone does not over-shoot the waypoints as it would in outdoor settings. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ +
+ + +
+ +
+ + + + + + + +
+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + +
+ +
+ + + + + + +
+ +
+ + +
+ +
+ + +
+ +
+ + + +
+ + +
+ + + + + +
+ +
+ + + + + +
+ +
+ + +
+ +
diff --git a/conf/flight_plans/tudelft/rotorcraft_cyberzoo_no_gps.xml b/conf/flight_plans/tudelft/rotorcraft_cyberzoo_no_gps.xml new file mode 100644 index 0000000000..0981593c55 --- /dev/null +++ b/conf/flight_plans/tudelft/rotorcraft_cyberzoo_no_gps.xml @@ -0,0 +1,93 @@ + + + +
+#include "autopilot.h" +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/conf/userconf/tudelft/conf.xml b/conf/userconf/tudelft/conf.xml index e75628b2fc..8c23cc9bf6 100644 --- a/conf/userconf/tudelft/conf.xml +++ b/conf/userconf/tudelft/conf.xml @@ -486,6 +486,18 @@ settings_modules="modules/air_data.xml modules/geo_mag.xml modules/ins_extended.xml modules/ahrs_int_cmpl_quat.xml modules/ahrs_float_mlkf.xml modules/stabilization_indi_simple.xml modules/nav_basic_rotorcraft.xml modules/guidance_rotorcraft.xml modules/gps.xml modules/imu_common.xml" gui_color="#7d7fd7e7ffff" /> + 0) { float dt = (float)(stamp - last_stamp_x) * 1e-6; - ins_int.ltp_pos.x += POS_BFP_OF_REAL(dt * vel_ned.x); + ins_int.ltp_pos.x += lround(POS_BFP_OF_REAL(dt * vel_ned.x)); } last_stamp_x = stamp; } @@ -615,7 +615,7 @@ static void vel_est_cb(uint8_t sender_id __attribute__((unused)), if (last_stamp_y > 0) { float dt = (float)(stamp - last_stamp_y) * 1e-6; - ins_int.ltp_pos.y += POS_BFP_OF_REAL(dt * vel_ned.y); + ins_int.ltp_pos.y += lround(POS_BFP_OF_REAL(dt * vel_ned.y)); } last_stamp_y = stamp; }