Explorer/PPRZ
Jump to navigation
Jump to search
airframe file:
<!DOCTYPE airframe SYSTEM "../../airframe.dtd"> <airframe name="Quadricopter XP"> <description> * Autopilot: Tawaki/ Apogee * Actuators: 4 in 1 Holybro BLHELI ESC * Telemetry: XBee and Wifibroadcast (compagnon board) * GPS: ublox M8P (optional DGPS) or Datalink * RC: FrSky XM+ or Datalink IMU Apogee : - MPU6050 (acc+gyro), - MPU9150 (acc+gyro+mag) = MPU6050 + AK8975 MAG Apogee (AK8975 on I2C1) or on external GPS board (LIS3MDL on I2C1) or Datalink BARO Apogee (MPL3115A2 on I2C1) </description> <firmware name="rotorcraft"> <configure name="PERIODIC_FREQUENCY" value="1000"/> <configure name="AHRS_PROPAGATE_FREQUENCY" value="$(PERIODIC_FREQUENCY)"/> <configure name="KILL_AS_FAILSAFE" value="1"/> <!-- OPTION 1A & 1B --> <target name="ap" board="apogee_1.0_chibios"/> <!-- OPTION 1C --> <!-- <target name="nps" board="pc"/> --> </firmware> <!-- apogee_1.0_chibios --> <!-- OPTION 1A --> <include href="conf/airframes/ENAC/quadrotor/xp/xp_option_board_apogee_mpu9150.xml"/> <include href="conf/airframes/ENAC/quadrotor/xp/xp_option_imu_apogee_mpu9150.xml"/> <include href="conf/airframes/ENAC/quadrotor/xp/xp_common_target_flying.xml"/> <include href="conf/airframes/ENAC/quadrotor/xp/xp_option_target_apogee.xml"/> <!-- OPTION 1B --> <!-- <include href="conf/airframes/ENAC/quadrotor/xp/xp_option_board_apogee_lis3mdl.xml"/> <include href="conf/airframes/ENAC/quadrotor/xp/xp_option_imu_apogee_lis3mdl.xml"/> <include href="conf/airframes/ENAC/quadrotor/xp/xp_common_target_flying.xml"/> <include href="conf/airframes/ENAC/quadrotor/xp/xp_option_target_apogee.xml"/> --> <!-- OPTION 1C --> <!-- <include href="conf/airframes/ENAC/quadrotor/xp/xp_option_board_tawaki.xml"/> <include href="conf/airframes/ENAC/quadrotor/xp/xp_option_board_apogee_mpu9150.xml"/> <include href="conf/airframes/ENAC/quadrotor/xp/xp_option_board_apogee_lis3mdl.xml"/> --> <!-- tawaki_1.0 & apogee_1.0_chibios --> <!-- OPTION 2A --> <!-- include href="conf/airframes/ENAC/quadrotor/xp/xp_option_indoor.xml"/--> <!-- OPTION 2B --> <include href="conf/airframes/ENAC/quadrotor/xp/xp_option_outdoor.xml"/> <!-- OPTION 2C --> <!-- <include href="conf/airframes/ENAC/quadrotor/xp/xp_option_target_nps.xml"/> --> <!-- All targets --> <include href="conf/airframes/ENAC/quadrotor/xp/xp_common_stab_rate.xml"/> <include href="conf/airframes/ENAC/quadrotor/xp/xp_common_stab_attitude.xml"/> <include href="conf/airframes/ENAC/quadrotor/xp/xp_common_guidance.xml"/> <include href="conf/airframes/ENAC/quadrotor/xp/xp_common_modules.xml"/> </airframe>
flght_plan file:
<!DOCTYPE flight_plan SYSTEM "../flight_plan.dtd"> <flight_plan alt="148" ground_alt="146" lat0="43.5640917" lon0="1.4829201" max_dist_from_home="20" name="Rotorcraft Optitrack (ENAC)" security_height="0.3"> <header> </header> <waypoints> <waypoint name="HOME" x="0.0" y="0.0"/> <waypoint name="GOAL" x="2.0" y="2.0"/> <waypoint name="STDBY" x="-0.7" y="-0.8"/> <waypoint name="TD" x="0.8" y="-1.7"/> <waypoint name="S1" x="2.1" y="2.8"/> <waypoint name="S2" x="2.0" y="-3.0"/> <waypoint name="S3" x="-2.1" y="-3.1"/> <waypoint name="S4" x="-2.2" y="2.8"/> <waypoint name="_N1" x="4.5" y="5.2"/> <waypoint name="_N2" x="4.5" y="-5.2"/> <waypoint name="_N3" x="-4.5" y="-5.2"/> <waypoint name="_N4" x="-4.5" y="5.2"/> </waypoints> <sectors> <sector color="red" name="Net"> <corner name="_N1"/> <corner name="_N2"/> <corner name="_N3"/> <corner name="_N4"/> </sector> <sector color="green" name="Survey" type="dynamic"> <corner name="S1"/> <corner name="S2"/> <corner name="S3"/> <corner name="S4"/> </sector> </sectors> <modules> <module name="nav" type="survey_rectangle_rotorcraft"/> </modules> <blocks> <block name="Wait GPS"> <call_once fun="NavKillThrottle()"/> <while cond="!GpsFixValid()"/> </block> <block name="Holding point"> <call_once fun="NavKillThrottle()"/> <attitude pitch="0" roll="0" throttle="0" until="FALSE" vmode="throttle"/> </block> <block name="Start Engine"> <call_once fun="NavResurrect()"/> <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"/> <call_once fun="NavSetWaypointHere(WP_STDBY)"/> <stay climb="nav_climb_vspeed" vmode="climb" wp="STDBY"/> </block> <block name="Standby" strip_button="Standby" strip_icon="home.png"> <call_once fun="nav_set_heading_deg(0)"/> <stay wp="STDBY"/> </block> <block name="START" strip_button="Go" strip_icon="lookfore.png"> <call_once fun="NavSetWaypointHere(WP_GOAL)"/> </block> <block name="StayGoal"> <stay wp="GOAL"/> </block> <block group="extra_pattern" name="Survey S1-S2 Sweep NS SET" strip_button="SvySweep-NS" strip_icon="survey_rect_ns.png"> <call_once fun="nav_survey_rectangle_rotorcraft_setup(WP_S1, WP_S3, 1, NS)"/> <deroute block="Survey RECTANGLE RUN"/> </block> <block group="extra_pattern" name="Survey S1-S2 Sweep WE SET" strip_button="SvySweep-WE" strip_icon="survey_rect_we.png"> <call_once fun="nav_survey_rectangle_rotorcraft_setup(WP_S1, WP_S3, 1, WE)"/> <deroute block="Survey RECTANGLE RUN"/> </block> <block group="extra_pattern" name="Survey RECTANGLE RUN" strip_button="SvySweep CONT" strip_icon="survey_rect_run.png"> <exception cond="rectangle_survey_sweep_num == 1" deroute="Standby"/> <call fun="nav_survey_rectangle_rotorcraft_run(WP_S1, WP_S3)"/> </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="!nav_is_in_flight()" deroute="KILL_LANDED"/> <stay climb="nav_descend_vspeed" vmode="climb" wp="TD"/> </block> <block name="KILL_LANDED"> <call_once fun="NavKillThrottle()"/> <attitude pitch="0" roll="0" throttle="0" until="FALSE" vmode="throttle"/> </block> </blocks> </flight_plan>