Flight Plan Examples
This page will detail a number of flight plan examples.
Takeoff
<block key="t" name="Takeoff" strip_button="Takeoff" strip_icon="takeoff.png">
<set value="0" var="kill_throttle"/>
<set value="0" var="estimator_flight_time"/>
<go from="START" pitch="-10" throttle="1.0" vmode="throttle" wp="ER"/>
</block>
Explanation of the code - left to right, top to bottom.
key="t" - Not sure what this does - SOMEONE PLEASE UPDATE
name="Takeoff" - the name of the block
strip_button="Takeoff" - This shows as the name when you hover your mouse over the button
strip_icon="takeoff.png" - The name of the icon picture shown in the GCS
<set value="0" var="kill_throttle"/> - This turns on the option to change the throttle
<set value="0" var="estimator_flight_time"/> - This turns on the flight time estimator
<go from="START" pitch="-10" throttle="1.0" vmode="throttle" wp="ER"/> - This says for the aircraft to go from "START" waypoint towards "ER" (end runway) waypoint with a elevator pitch of -10% (to keep the aircraft on the ground) and throttle at 100%. You would also add a deroute option to change to the "CLIMB" waypoint (the waypoint that gets the aircraft up to the correct height) once the aircraft was moving above stall speed. I will add the code for this soon.
I am not sure what vmode="throttle" means SOME PLEASE UPDATE.
This code will work in theory, but may not in practice, especially if you only have a narrow runway or your aircraft takes a long time to get up to speed.
Surveying an area
There are two types of survey, two waypoint survey or Polysurvey. PolySurvey can be called multiple times during a flight plan but I am not sure how to do this (SOMEONE PLEASE UPDATE).
<block name="Initialize Poly Survey"> <call fun="InitializePolygonSurvey(WP_S1, 5, 150, 45)"/> </block>
<block name="Run Poly Survey"> <call fun="PolygonSurvey()"/> </block>
You will notice that there are two blocks of code instead of a single block. This because when you are surveying an area you may want to stop the survey and take a closer look at something (for instance you may wish to circle something of interest). If you want to continue the survey from the point where you stopped to look closer at the thing of interest all you need to do is call the "Run Poly Survey" block.
<call fun="InitializePolygonSurvey(WP_S1, 5, 150, 45)"/> - This initializes the PolySurvey starting with Waypoint S1 and using 5 waypoints (in sequence, eg S1, S2, S3, S4, S5), with a distance between each survey line of 150 meters and an angle of survey of 45 degrees from the initial waypoint.
<call fun="PolygonSurvey()"/> - This calls the PolySurvey.
Landing your aircraft
<block name="final"> <exception cond="ground_alt + 10 > estimator_z" deroute="flare"/> <go from="AF" hmode="route" vmode="glide" wp="TD"/> </block>
<block name="flare"> <go approaching_time="0" from="AF" hmode="route" throttle="0.0" vmode="throttle" wp="TD"/> <attitude roll="0.0" throttle="0.0" until="FALSE" vmode="throttle"/> </block>
When you are landing your aircraft automatically, you need to bring it in very gently.
<exception cond="ground_alt + 10 > estimator_z" deroute="flare"/> - "flare" is the deroute condition and it is implemented when the aircraft is 10 meters from the ground. You would want the aircraft to flare just before hitting the ground. If your aircraft is not very stable at low speeds you may want to make the distance above ground lower.
<go from="AF" hmode="route" vmode="glide" wp="TD"/>
<go from="AF" hmode="route" vmode="glide" wp="TD"/>