Bird
Raised Fist0
Drone Programmingprogramming~10 mins

Waypoint mission creation in Drone Programming - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a new waypoint mission object.

Drone Programming
mission = [1]()
Drag options to blanks, or click blank then click option'
AWaypointMission
BDroneMission
CFlightPlan
DMissionControl
Attempts:
3 left
💡 Hint
Common Mistakes
Using a class name that does not represent waypoint missions.
Forgetting to add parentheses to instantiate the object.
2fill in blank
medium

Complete the code to add a waypoint with latitude 37.7749 and longitude -122.4194.

Drone Programming
mission.add_waypoint([1](37.7749, -122.4194))
Drag options to blanks, or click blank then click option'
ALocation
BWaypoint
CCoordinate
DPoint
Attempts:
3 left
💡 Hint
Common Mistakes
Using a generic coordinate or point class instead of a waypoint.
Mixing up latitude and longitude order.
3fill in blank
hard

Fix the error in setting the mission speed to 5 meters per second.

Drone Programming
mission.set_speed([1])
Drag options to blanks, or click blank then click option'
A'5'
Bspeed = 5
C5
D5 m/s
Attempts:
3 left
💡 Hint
Common Mistakes
Passing speed as a string instead of a number.
Including units in the argument.
4fill in blank
hard

Fill both blanks to set the mission altitude to 100 meters and enable auto-return.

Drone Programming
mission.set_altitude([1])
mission.[2] = True
Drag options to blanks, or click blank then click option'
A100
Bauto_return
Creturn_home
Daltitude
Attempts:
3 left
💡 Hint
Common Mistakes
Using the wrong property name for auto-return.
Passing altitude as a string.
5fill in blank
hard

Fill all three blanks to create a mission with waypoints, set speed, and start the mission.

Drone Programming
mission = [1]()
mission.add_waypoint([2](34.0522, -118.2437))
mission.set_speed([3])
mission.start()
Drag options to blanks, or click blank then click option'
AWaypointMission
BWaypoint
C10
DFlightPlan
Attempts:
3 left
💡 Hint
Common Mistakes
Using the wrong class for the mission or waypoint.
Passing speed as a string or including units.

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