0
0
Drone Programmingprogramming~10 mins

Mission upload and execution in Drone Programming - Step-by-Step Execution

Choose your learning style9 modes available
Concept Flow - Mission upload and execution
Prepare Mission Data
Upload Mission to Drone
Drone Confirms Upload
Start Mission Execution
Drone Executes Waypoints
Mission Complete
Send Completion Status
The mission data is prepared and uploaded to the drone, which confirms receipt. Then the drone starts executing the mission step-by-step until completion, finally sending back a status.
Execution Sample
Drone Programming
mission = ["WP1", "WP2", "WP3"]
drone.upload(mission)
if drone.confirmed():
    drone.start()
    while drone.has_next():
        drone.execute_next()
This code uploads a list of waypoints to the drone, waits for confirmation, then starts and executes each waypoint in order.
Execution Table
StepActionCondition/EvaluationResult/Output
1Prepare mission listmission = ["WP1", "WP2", "WP3"]Mission data ready
2Upload missiondrone.upload(mission)Mission sent to drone
3Check confirmationdrone.confirmed() == TrueUpload confirmed
4Start missiondrone.start()Drone begins mission
5Check if next waypoint existsdrone.has_next() == TrueReady to execute WP1
6Execute next waypointdrone.execute_next()Executed WP1
7Check if next waypoint existsdrone.has_next() == TrueReady to execute WP2
8Execute next waypointdrone.execute_next()Executed WP2
9Check if next waypoint existsdrone.has_next() == TrueReady to execute WP3
10Execute next waypointdrone.execute_next()Executed WP3
11Check if next waypoint existsdrone.has_next() == FalseNo more waypoints
12Mission completeAll waypoints executedMission finished, status sent
💡 Loop ends when drone.has_next() returns False after last waypoint
Variable Tracker
VariableStartAfter Step 5After Step 7After Step 9Final
mission["WP1", "WP2", "WP3"]["WP1", "WP2", "WP3"]["WP1", "WP2", "WP3"]["WP1", "WP2", "WP3"]["WP1", "WP2", "WP3"]
current_waypointNone"WP1""WP2""WP3"None
drone.confirmedFalseTrueTrueTrueTrue
drone.has_nextTrueTrueTrueFalseFalse
Key Moments - 3 Insights
Why does the loop stop after executing WP3?
Because at step 11, drone.has_next() returns False, meaning no more waypoints are left to execute, so the loop ends.
What happens if drone.confirmed() returns False?
The mission does not start because the code checks confirmation before starting; without confirmation, the drone won't execute the mission.
Why do we check drone.has_next() before executing each waypoint?
To ensure there is a next waypoint to execute and avoid errors from trying to execute when none remain, as shown in steps 5, 7, 9, and 11.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the result of step 6?
AMission sent to drone
BExecuted WP1
CUpload confirmed
DNo more waypoints
💡 Hint
Check the 'Result/Output' column for step 6 in the execution_table.
At which step does the drone confirm the mission upload?
AStep 3
BStep 2
CStep 4
DStep 5
💡 Hint
Look at the 'Action' and 'Condition/Evaluation' columns around step 3 in the execution_table.
If the mission had 4 waypoints instead of 3, how would the variable 'drone.has_next' change after step 9?
AIt would be False
BIt would be None
CIt would be True
DIt would cause an error
💡 Hint
Refer to variable_tracker and execution_table steps for how 'drone.has_next' changes with waypoints.
Concept Snapshot
Mission upload and execution:
1. Prepare mission data (waypoints list).
2. Upload mission to drone and wait for confirmation.
3. Start mission only if confirmed.
4. Loop through waypoints: check next, execute next.
5. Stop when no waypoints remain.
6. Send completion status.
Full Transcript
This visual execution shows how a drone mission is uploaded and executed step-by-step. First, the mission data is prepared as a list of waypoints. Then the mission is uploaded to the drone. The drone confirms the upload before starting. Once confirmed, the drone starts the mission and executes each waypoint one by one. After each waypoint, it checks if more remain. When no waypoints remain, the mission ends and a completion status is sent. Variables like current waypoint and confirmation status change as the mission progresses. Key moments include understanding why the loop stops after the last waypoint and why confirmation is required before starting. The quiz questions help reinforce these steps by referencing the execution table and variable changes.