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
Waypoint Mission Creation
📖 Scenario: You are programming a drone to fly a simple mission by visiting specific GPS points called waypoints. Each waypoint has latitude, longitude, and altitude. The drone will fly from one waypoint to the next in order.This is useful for tasks like aerial photography, surveying, or delivery.
🎯 Goal: Create a waypoint mission by defining waypoints, setting a mission speed, building the mission list, and printing the mission details.
📋 What You'll Learn
Create a list of waypoints with exact GPS coordinates and altitudes
Set a mission speed variable
Build a mission list that includes each waypoint with speed
Print the mission waypoints with their details
💡 Why This Matters
🌍 Real World
Waypoint missions are used in drones for tasks like mapping, inspection, and delivery by flying precise routes.
💼 Career
Understanding waypoint mission creation is important for drone operators, developers, and engineers working in aerial robotics and automation.
Progress0 / 4 steps
1
Create the list of waypoints
Create a list called waypoints with these exact dictionaries: {'lat': 37.7749, 'lon': -122.4194, 'alt': 100}, {'lat': 37.7750, 'lon': -122.4180, 'alt': 120}, and {'lat': 37.7755, 'lon': -122.4170, 'alt': 110}.
Drone Programming
Hint
Use a list with three dictionaries. Each dictionary must have keys 'lat', 'lon', and 'alt' with the exact values.
2
Set the mission speed
Create a variable called mission_speed and set it to 5 (meters per second).
Drone Programming
Hint
Just create a variable named mission_speed and assign the number 5.
3
Build the mission list with speed
Create a list called mission that contains dictionaries for each waypoint. Each dictionary should have keys 'lat', 'lon', 'alt', and 'speed'. Use a for loop with variables point to iterate over waypoints and add mission_speed as the speed for each waypoint.
Drone Programming
Hint
Use a for loop to go through each waypoint and add a new dictionary to mission with the same lat, lon, alt, and the speed from mission_speed.
4
Print the mission waypoints
Use a for loop with variables wp and index using enumerate(mission, 1) to print each waypoint in the format: Waypoint {index}: lat={lat}, lon={lon}, alt={alt}, speed={speed}.
Drone Programming
Hint
Use enumerate(mission, 1) to get the index starting at 1 and print each waypoint's details with an f-string.
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
Step 1: Understand waypoint missions
Waypoint missions are designed to let drones fly automatically through set GPS points without manual control.
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.
Final Answer:
To make the drone fly automatically through specific GPS points -> Option A
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
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.
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.
Final Answer:
add_waypoint(latitude=34.05, longitude=-118.25, altitude=100) -> Option D
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:
B. Using 'add' method instead of 'append' for list
C. Missing altitude value in waypoint dictionary
D. Print statement syntax error
Solution
Step 1: Check list method usage
Python lists use 'append' to add items, not 'add'. Using 'add' causes an error.
Step 2: Verify other parts
Altitude is present, variable names are correct, and print syntax is valid.
Final Answer:
Using 'add' method instead of 'append' for list -> Option B
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?