Bird
Raised Fist0
Drone Programmingprogramming~5 mins

Waypoint mission creation in Drone Programming - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is a waypoint in drone mission programming?
A waypoint is a specific GPS coordinate that a drone must fly to during a mission. It acts like a stop or target point on the drone's path.
Click to reveal answer
beginner
Why do we use waypoint missions for drones?
Waypoint missions allow drones to fly automatically along a planned route by visiting multiple GPS points. This helps in tasks like mapping, inspection, or delivery without manual control.
Click to reveal answer
intermediate
What key information is needed to create a waypoint?
You need the GPS coordinates (latitude, longitude), altitude, and sometimes speed or action commands for the drone at that point.
Click to reveal answer
intermediate
How do you add a waypoint to a mission programmatically?
You create a waypoint object with coordinates and parameters, then add it to the mission's waypoint list or array before uploading the mission to the drone.
Click to reveal answer
advanced
What happens if a drone loses GPS signal during a waypoint mission?
The drone may hover, return to home, or land depending on its fail-safe settings. It cannot continue the mission accurately without GPS.
Click to reveal answer
What does a waypoint represent in a drone mission?
AThe drone's battery level
BA GPS coordinate the drone must reach
CThe drone's camera angle
DThe drone's speed setting
Which parameter is NOT typically part of a waypoint?
ALatitude
BAltitude
CDrone's color
DLongitude
How do you programmatically add a waypoint to a mission?
ACreate a waypoint object and add it to the mission list
BChange the drone's firmware
CManually fly the drone to the point
DTurn off the drone
What is a common fail-safe action if GPS signal is lost during a mission?
AContinue flying blindly
BChange camera settings
CIncrease speed
DHover or return to home
Why is altitude important in waypoint missions?
AIt controls the drone's vertical position
BIt changes the drone's color
CIt sets the drone's battery level
DIt adjusts the drone's camera zoom
Explain the steps to create a waypoint mission for a drone.
Think about planning the route and telling the drone where to go.
You got /5 concepts.
    Describe what happens if a drone loses GPS during a waypoint mission and how to handle it.
    Consider safety and mission reliability.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of creating a waypoint mission for a drone?
      easy
      A. To make the drone fly automatically through specific GPS points
      B. To manually control the drone with a remote
      C. To charge the drone's battery faster
      D. To change the drone's camera settings

      Solution

      1. Step 1: Understand waypoint missions

        Waypoint missions are designed to let drones fly automatically through set GPS points without manual control.
      2. Step 2: Compare options

        Only To make the drone fly automatically through specific GPS points describes automatic flight through GPS points, which matches the purpose of waypoint missions.
      3. Final Answer:

        To make the drone fly automatically through specific GPS points -> Option A
      4. Quick Check:

        Waypoint mission = automatic GPS flight [OK]
      Hint: Waypoint missions automate flight through GPS points [OK]
      Common Mistakes:
      • Confusing manual control with automatic missions
      • Thinking waypoint missions change camera or battery
      • Assuming speed control is the main purpose
      2. Which of the following is the correct way to add a waypoint with latitude, longitude, and altitude in a drone mission code snippet?
      easy
      A. waypoint_add(100, 34.05, -118.25)
      B. add_waypoint(altitude=100, lat=34.05, long=-118.25)
      C. addWaypoint(34.05, -118.25)
      D. add_waypoint(latitude=34.05, longitude=-118.25, altitude=100)

      Solution

      1. Step 1: Identify correct parameter names and order

        The standard is to specify latitude, longitude, and altitude clearly, usually with named parameters or in order.
      2. Step 2: Check each option

        add_waypoint(latitude=34.05, longitude=-118.25, altitude=100) uses clear parameter names and correct order. Others have wrong names, missing altitude, or wrong order.
      3. Final Answer:

        add_waypoint(latitude=34.05, longitude=-118.25, altitude=100) -> Option D
      4. Quick Check:

        Correct parameter names and order = add_waypoint(latitude=34.05, longitude=-118.25, altitude=100) [OK]
      Hint: Use clear latitude, longitude, altitude parameters [OK]
      Common Mistakes:
      • Using wrong parameter names like lat or long instead of latitude/longitude
      • Omitting altitude
      • Wrong function name or missing parameters
      3. Given the following code snippet for a waypoint mission:
      mission = []
      mission.append({'lat': 40.0, 'lon': -74.0, 'alt': 50})
      mission.append({'lat': 40.1, 'lon': -74.1, 'alt': 60})
      speed = 10
      print(len(mission), mission[1]['alt'], speed)
      What will be the output?
      medium
      A. 2 60 10
      B. 2 50 10
      C. 1 60 10
      D. 2 60 0

      Solution

      1. Step 1: Count waypoints in mission list

        Two waypoints are appended, so len(mission) is 2.
      2. Step 2: Access altitude of second waypoint and speed

        mission[1]['alt'] is 60, and speed is set to 10.
      3. Final Answer:

        2 60 10 -> Option A
      4. Quick Check:

        Waypoints=2, altitude=60, speed=10 [OK]
      Hint: Count list items and check dictionary keys carefully [OK]
      Common Mistakes:
      • Confusing index 0 and 1 for second waypoint
      • Mixing altitude values
      • Ignoring speed variable
      4. Identify the error in this waypoint mission code snippet:
      mission = []
      mission.add({'latitude': 35.0, 'longitude': -120.0, 'altitude': 80})
      speed = 15
      print(len(mission))
      medium
      A. Incorrect variable name 'speed'
      B. Using 'add' method instead of 'append' for list
      C. Missing altitude value in waypoint dictionary
      D. Print statement syntax error

      Solution

      1. Step 1: Check list method usage

        Python lists use 'append' to add items, not 'add'. Using 'add' causes an error.
      2. Step 2: Verify other parts

        Altitude is present, variable names are correct, and print syntax is valid.
      3. Final Answer:

        Using 'add' method instead of 'append' for list -> Option B
      4. Quick Check:

        List method must be append, not add [OK]
      Hint: Use append() to add items to a list [OK]
      Common Mistakes:
      • Using set methods like add() on lists
      • Forgetting to include altitude
      • Typos in variable names
      5. You want to create a waypoint mission where the drone flies through three points with these coordinates and altitudes using dictionary keys 'latitude', 'longitude', 'altitude': 1) (34.0, -117.0, 100m) 2) (34.1, -117.1, 120m) 3) (34.2, -117.2, 110m) You also want the drone to fly at 8 m/s between points. Which code snippet correctly creates this mission and sets the speed?
      hard
      A. mission = [{'lat':34.0, 'lon':-117.0, 'alt':100}, {'lat':34.1, 'lon':-117.1, 'alt':120}, {'lat':34.2, 'lon':-117.2, 'alt':110}] speed = 8
      B. mission = [] mission.add({'lat':34.0, 'lon':-117.0, 'alt':100}) mission.add({'lat':34.1, 'lon':-117.1, 'alt':120}) mission.add({'lat':34.2, 'lon':-117.2, 'alt':110}) speed = 8
      C. mission = [] mission.append({'latitude':34.0, 'longitude':-117.0, 'altitude':100}) mission.append({'latitude':34.1, 'longitude':-117.1, 'altitude':120}) mission.append({'latitude':34.2, 'longitude':-117.2, 'altitude':110}) speed = 8
      D. mission = [{'lat':34.0, 'lon':-117.0}, {'lat':34.1, 'lon':-117.1}, {'lat':34.2, 'lon':-117.2}] speed = 8

      Solution

      1. Step 1: Check waypoint creation with correct keys

        mission = [] mission.append({'latitude':34.0, 'longitude':-117.0, 'altitude':100}) mission.append({'latitude':34.1, 'longitude':-117.1, 'altitude':120}) mission.append({'latitude':34.2, 'longitude':-117.2, 'altitude':110}) speed = 8 uses 'latitude', 'longitude', and 'altitude' keys consistently, matching the given data.
      2. Step 2: Verify method to add waypoints and speed setting

        mission = [] mission.append({'latitude':34.0, 'longitude':-117.0, 'altitude':100}) mission.append({'latitude':34.1, 'longitude':-117.1, 'altitude':120}) mission.append({'latitude':34.2, 'longitude':-117.2, 'altitude':110}) speed = 8 uses append() correctly to add waypoints and sets speed to 8 m/s as required.
      3. Step 3: Eliminate incorrect options

        mission = [{'lat':34.0, 'lon':-117.0, 'alt':100}, {'lat':34.1, 'lon':-117.1, 'alt':120}, {'lat':34.2, 'lon':-117.2, 'alt':110}] speed = 8 uses different keys ('lat', 'lon', 'alt') which are inconsistent with required keys. mission = [] mission.add({'lat':34.0, 'lon':-117.0, 'alt':100}) mission.add({'lat':34.1, 'lon':-117.1, 'alt':120}) mission.add({'lat':34.2, 'lon':-117.2, 'alt':110}) speed = 8 uses 'add' which is invalid for lists. mission = [{'lat':34.0, 'lon':-117.0}, {'lat':34.1, 'lon':-117.1}, {'lat':34.2, 'lon':-117.2}] speed = 8 misses altitude values.
      4. Final Answer:

        mission = [] mission.append({'latitude':34.0, 'longitude':-117.0, 'altitude':100}) mission.append({'latitude':34.1, 'longitude':-117.1, 'altitude':120}) mission.append({'latitude':34.2, 'longitude':-117.2, 'altitude':110}) speed = 8 -> Option C
      5. Quick Check:

        Correct keys + append() + speed = mission = [] mission.append({'latitude':34.0, 'longitude':-117.0, 'altitude':100}) mission.append({'latitude':34.1, 'longitude':-117.1, 'altitude':120}) mission.append({'latitude':34.2, 'longitude':-117.2, 'altitude':110}) speed = 8 [OK]
      Hint: Use append() with full keys and set speed separately [OK]
      Common Mistakes:
      • Using add() instead of append()
      • Missing altitude in waypoints
      • Mixing key names inconsistently