-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
388 additions
and
148 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,226 @@ | ||
<!DOCTYPE flight_plan SYSTEM "../flight_plan.dtd"> | ||
<flight_plan alt="70" ground_alt="0" lat0="52.1681551" lon0="4.4126468" max_dist_from_home="1070" name="Rotating Wing Valkenburg" security_height="2"> | ||
<!-- | ||
EHVB alt="70" ground_alt="0" lat0="52.1681551" lon0="4.4126468" | ||
EHR8 alt="60" ground_alt="0" lat0="52.965523" lon0="4.474033" | ||
Harde alt="180" ground_alt="60" lat0="52.3931434" lon0="5.9205099" | ||
Terschelling lat0="53.3988083" lon0="5.2487480" | ||
--> | ||
<header/> | ||
<waypoints> | ||
<waypoint name="HOME" x="0" y="0"/> | ||
<waypoint name="CLIMB" x="300." y="70"/> | ||
<waypoint name="trans" x="300." y="100."/> | ||
<waypoint name="decel" x="300." y="110."/> | ||
<waypoint name="begin_trans" x="300." y="90."/> | ||
<waypoint name="end_trans" x="300." y="120."/> | ||
<waypoint name="STDBY" x="60" y="20"/> | ||
<waypoint name="p1" x="120" y="-75"/> | ||
<waypoint name="p2" x="65" y="75"/> | ||
<waypoint name="p3" x="200" y="120"/> | ||
<waypoint name="p4" x="250" y="-30"/> | ||
<waypoint name="circ" x="160" y="25"/> | ||
<waypoint name="TD" x="10" y="-1"/> | ||
<waypoint name="APP" x="70" y="-25"/> | ||
<waypoint name="FOLLOW" x="300" y="80"/> | ||
<!-- EHVB --> | ||
<waypoint lat="52.169189" lon="4.410820" name="C1"/> | ||
<waypoint lat="52.168049" lon="4.406923" name="C2"/> | ||
<waypoint lat="52.166515" lon="4.408235" name="C3"/> | ||
<waypoint lat="52.163255" lon="4.407668" name="C4"/> | ||
<waypoint lat="52.161908" lon="4.410082" name="C5"/> | ||
<waypoint lat="52.162641" lon="4.416992" name="C6"/> | ||
<waypoint lat="52.164861" lon="4.427268" name="C7"/> | ||
<waypoint lat="52.170422" lon="4.427511" name="C8"/> | ||
<waypoint lat="52.172276" lon="4.424011" name="C9"/> | ||
<!-- t'Harde | ||
<waypoint lat="52.4034734" lon="5.9067552" name="C1"/> | ||
<waypoint lat="52.3878517" lon="5.9212118" name="C2"/> | ||
<waypoint lat="52.4054122" lon="5.9581765" name="C3"/> | ||
<waypoint lat="52.4179727" lon="6.0083051" name="C4"/> | ||
<waypoint lat="52.4420912" lon="5.9871178" name="C5"/> --> | ||
<!-- EHR8 | ||
<waypoint name="C1" lat="52.96166667" lon="4.740277778"/> | ||
<waypoint name="C2" lat="52.86666667" lon="4.716666667"/> | ||
<waypoint name="C3" lat="52.78333333" lon="4.683333333"/> | ||
<waypoint name="C4" lat="52.75" lon="4.533333333"/> | ||
<waypoint name="C5" lat="52.775" lon="4.433333333"/> | ||
<waypoint name="C6" lat="52.81666667" lon="4.35"/> | ||
<waypoint name="C7" lat="53.08333333" lon="4.35"/> | ||
<waypoint name="C8" lat="53.10277778" lon="4.515555556"/> | ||
<waypoint name="C9" lat="53.04972222" lon="4.679444444"/> --> | ||
<!-- Terschelling | ||
<waypoint lat="53.403590" lon="5.214102" name="C1"/> | ||
<waypoint lat="53.399129" lon="5.219031" name="C2"/> | ||
<waypoint lat="53.391752" lon="5.234877" name="C3"/> | ||
<waypoint lat="53.399786" lon="5.273960" name="C4"/> | ||
<waypoint lat="53.416200" lon="5.265441" name="C5"/> | ||
<waypoint lat="53.424575" lon="5.252654" name="C6"/> | ||
<waypoint lat="53.422246" lon="5.233265" name="C7"/> | ||
<waypoint lat="53.418859" lon="5.216361" name="C8"/> | ||
<waypoint lat="53.411762" lon="5.208801" name="C9"/> --> | ||
</waypoints> | ||
<sectors> | ||
<sector color="red" name="Flyzone"> | ||
<corner name="C1"/> | ||
<corner name="C2"/> | ||
<corner name="C3"/> | ||
<corner name="C4"/> | ||
<corner name="C5"/> | ||
<corner name="C6"/> | ||
<corner name="C7"/> | ||
<corner name="C8"/> | ||
<corner name="C9"/> | ||
</sector> | ||
</sectors> | ||
<modules> | ||
<!-- <module name="follow_me"> | ||
<define name="FOLLOW_ME_MOVING_WPS" value="WP_p1"/> | ||
</module> --> | ||
</modules> | ||
<exceptions> | ||
<exception cond="Or(!InsideFlyzone(GetPosX(), GetPosY()), GetPosAlt() @GT GetAltRef() + 1500) @AND !(nav_block == IndexOfBlock('Wait GPS')) @AND !(nav_block == IndexOfBlock('Geo init')) @AND !(nav_block == IndexOfBlock('Holding point'))" deroute="Holding point"/> | ||
<exception cond="datalink_time @GT 25 @AND !(nav_block == IndexOfBlock('Wait GPS')) @AND !(nav_block == IndexOfBlock('Geo init')) @AND !(nav_block == IndexOfBlock('Holding point')) @AND !(nav_block == IndexOfBlock('Standby'))" deroute="Standby"/> | ||
</exceptions> | ||
<blocks> | ||
<block name="Wait GPS"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_HOVER)"/> | ||
<call_once fun="NavKillThrottle()"/> | ||
<while cond="!GpsFixValid() || !state.ned_initialized_i"/> | ||
</block> | ||
<block name="Geo init"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_HOVER)"/> | ||
<while cond="LessThan(NavBlockTime(), 10)"/> | ||
<call_once fun="NavSetAltitudeReferenceHere()"/> | ||
</block> | ||
<block name="Holding point"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_HOVER)"/> | ||
<call_once fun="NavKillThrottle()"/> | ||
<set var="stabilization_cmd[COMMAND_THRUST_X]" value="0"/> | ||
<attitude pitch="0" roll="0" throttle="0" until="FALSE" vmode="throttle"/> | ||
</block> | ||
<block name="Start Engine" strip_button="Start Engines" strip_icon="on.png"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_HOVER)"/> | ||
<call_once fun="NavResurrect()"/> | ||
<attitude pitch="0" roll="0" throttle="0" until="stage_time>10" vmode="throttle"/> | ||
</block> | ||
<block name="Takeoff" strip_button="Takeoff" strip_icon="takeoff.png"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_HOVER)"/> | ||
<exception cond="agl_dist_valid @AND (agl_dist_value @GT 1.0)" deroute="Climb"/> | ||
<call_once fun="autopilot_set_in_flight(true)"/><!-- this is a hack to solve INDI not being active fast enough --> | ||
|
||
<call_once fun="NavSetWaypointHere(WP_CLIMB)"/> | ||
<attitude pitch="0" roll="0" throttle="0.75" until="stage_time>3" vmode="throttle"/> | ||
</block> | ||
<block name="Climb"> | ||
<exception cond="GetPosAlt() @GT 20.0" deroute="Standby"/> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_HOVER)"/> | ||
<call_once fun="nav_set_heading_current()"/> | ||
<stay climb="nav.climb_vspeed" vmode="climb" wp="CLIMB"/> | ||
</block> | ||
<block name="Standby" strip_button="Standby" strip_icon="home.png"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_HOVER)"/> | ||
<stay wp="STDBY" pre_call="rot_wing_vis_transition(WP_trans, WP_decel, WP_end_trans)"/> | ||
</block> | ||
<block name="Approach APP"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_HOVER)"/> | ||
<stay alt="WaypointAlt(WP_APP)" pre_call="approach_moving_target_enable(WP_APP)" wp="APP"/> | ||
</block> | ||
<!-- <block name="follow_module"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_HOVER)"/> | ||
<stay pre_call="follow_me_set_wp(WP_p1, 0)" wp="p1"/> | ||
</block> --> | ||
<block name="stay_begin-trans"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_HOVER)"/> | ||
<stay wp="begin_trans" pre_call="rot_wing_vis_transition(WP_trans, WP_decel, WP_end_trans)"/> | ||
</block> | ||
<block name="line_trans_fwd"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_HYBRID)"/> | ||
<call_once fun="NavSetWaypointHere(WP_begin_trans)"/> | ||
<go wp="end_trans"/> | ||
<deroute block="end_transition"/> | ||
</block> | ||
<block name="end_transition"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_HOVER)"/> | ||
<stay wp="end_trans"/> | ||
</block> | ||
<block name="transition_CW"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_HYBRID)"/> | ||
<stay wp="end_trans"/> | ||
<exception cond="RotWingAutomationReadyForForward()" deroute="Circle_CW_fwd"/> | ||
</block> | ||
<block name="transition_CCW"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_HYBRID)"/> | ||
<stay wp="end_trans"/> | ||
<exception cond="RotWingAutomationReadyForForward()" deroute="Circle_CCW_fwd"/> | ||
</block> | ||
<block name="route"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_EFFICIENT)"/> | ||
<go from="p1" hmode="route" wp="p2"/> | ||
<go from="p2" hmode="route" wp="p3"/> | ||
<go from="p3" hmode="route" wp="p4"/> | ||
<go from="p4" hmode="route" wp="p1"/> | ||
<deroute block="route"/> | ||
</block> | ||
<block name="small_route" strip_button="Route" strip_icon="path.png"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_EFFICIENT)"/> | ||
<go wp="p2"/> | ||
<go wp="p3"/> | ||
<go wp="p4"/> | ||
<go wp="p1"/> | ||
<deroute block="small_route"/> | ||
</block> | ||
<block name="Circle_CW_fwd" strip_button="CircleRight" strip_icon="circle-right.png"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_EFFICIENT)"/> | ||
<circle radius="100" wp="circ" pre_call="rot_wing_vis_transition(WP_trans, WP_decel, WP_end_trans)"/> | ||
</block> | ||
<block name="Circle_CCW_fwd" strip_button="CircleLeft" strip_icon="circle-left.png"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_EFFICIENT)"/> | ||
<circle radius="-100" wp="circ" pre_call="rot_wing_vis_transition(WP_trans, WP_decel, WP_end_trans)"/> | ||
</block> | ||
<block name="big_Circle_CW_fwd"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_EFFICIENT)"/> | ||
<circle radius="150" wp="circ" pre_call="rot_wing_vis_transition(WP_trans, WP_decel, WP_end_trans)"/> | ||
</block> | ||
<block name="big_Circle_CCW_fwd"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_EFFICIENT)"/> | ||
<circle radius="-150" wp="circ" pre_call="rot_wing_vis_transition(WP_trans, WP_decel, WP_end_trans)"/> | ||
</block> | ||
<block name="Transition_quad"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_HYBRID)"/> | ||
<go wp="STDBY"/> | ||
<deroute block="Standby"/> | ||
</block> | ||
<block name="land here" strip_button="Land Here" strip_icon="land-right.png"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_HOVER)"/> | ||
<call_once fun="NavSetWaypointHere(WP_TD)"/> | ||
</block> | ||
<block name="land"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_HOVER)"/> | ||
<go wp="TD"/> | ||
</block> | ||
<block name="descend"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_HOVER)"/> | ||
<exception cond="GetPosAlt() @LT 12.0" deroute="flare"/> | ||
<stay climb="-1.0" vmode="climb" wp="TD"/> | ||
</block> | ||
<block name="flare"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_HOVER)"/> | ||
<stay climb="-0.5" vmode="climb" wp="TD"/> | ||
<!--<exception cond="!(GetPosAlt() @LT 2.0)" deroute="flare_low"/>--> | ||
<exception cond="agl_dist_valid @AND (agl_dist_value @LT 0.28)" deroute="flare_low"/> | ||
</block> | ||
<block name="flare_low"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_HOVER)"/> | ||
<exception cond="NavDetectGround()" deroute="Holding point"/> | ||
<exception cond="!nav_is_in_flight()" deroute="Holding point"/> | ||
<exception cond="ground_detect()" deroute="Holding point"/> | ||
<call_once fun="NavStartDetectGround()"/> | ||
<stay climb="-0.5" vmode="climb" wp="TD"/> | ||
</block> | ||
<block name="landed"> | ||
<call_once fun="rotwing_request_configuration(ROTWING_CONFIGURATION_HOVER)"/> | ||
<attitude pitch="0" roll="0" throttle="0" until="FALSE" vmode="throttle"/> | ||
</block> | ||
</blocks> | ||
</flight_plan> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.