Bird
Raised Fist0
Drone Programmingprogramming~10 mins

What is DroneKit in Drone Programming - Interactive Quiz & Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to import the DroneKit library.

Drone Programming
from [1] import connect
Drag options to blanks, or click blank then click option'
Adronekit_api
Bdronekit_sdk
Cdronekit_lib
Ddronekit
Attempts:
3 left
💡 Hint
Common Mistakes
Using incorrect library names like dronekit_sdk or dronekit_api.
Forgetting to import the library before using it.
2fill in blank
medium

Complete the code to connect to a drone using DroneKit.

Drone Programming
vehicle = connect('[1]', wait_ready=True)
Drag options to blanks, or click blank then click option'
Aserial:/dev/ttyUSB0:57600
B192.168.1.1:14550
Cudp:127.0.0.1:14550
Dhttp://localhost:14550
Attempts:
3 left
💡 Hint
Common Mistakes
Using IP address without protocol prefix like 'udp:'.
Using HTTP protocol which is not supported for DroneKit connection.
3fill in blank
hard

Fix the error in the code to print the drone's battery level.

Drone Programming
print(vehicle.[1].level)
Drag options to blanks, or click blank then click option'
Aenergy
Bbattery
Cpower
Dcharge
Attempts:
3 left
💡 Hint
Common Mistakes
Using incorrect attribute names like power or charge.
Trying to access battery level directly from vehicle without .battery.
4fill in blank
hard

Fill both blanks to create a dictionary of GPS coordinates if the drone has a fix.

Drone Programming
if vehicle.gps_0.[1] > 0:
    location = {'lat': vehicle.location.[2].lat, 'lon': vehicle.location.[2].lon}
Drag options to blanks, or click blank then click option'
Afix_type
Bfix
Cglobal_frame
Dglobal_relative_frame
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'fix' instead of 'fix_type' for GPS fix check.
Using 'global_relative_frame' when 'global_frame' is needed for lat/lon.
5fill in blank
hard

Fill all three blanks to create a dictionary comprehension of vehicle modes with their names and whether they are active.

Drone Programming
modes = {mode.[1]: mode.[2] for mode in vehicle.mode.[3]
Drag options to blanks, or click blank then click option'
Aname
Bactive
Cmodes
Dstatus
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'status' instead of 'active' for mode state.
Accessing modes from 'vehicle.mode.status' which does not exist.

Practice

(1/5)
1. What is the main purpose of DroneKit in drone programming?
easy
A. To control drones using code easily
B. To design drone hardware parts
C. To create drone flight manuals
D. To repair drone mechanical issues

Solution

  1. Step 1: Understand DroneKit's role

    DroneKit is a software tool that helps programmers control drones by writing code.
  2. Step 2: Compare options with DroneKit's purpose

    Only To control drones using code easily describes controlling drones with code, which matches DroneKit's main use.
  3. Final Answer:

    To control drones using code easily -> Option A
  4. Quick Check:

    DroneKit = Easy drone control with code [OK]
Hint: DroneKit is about coding drone control, not hardware [OK]
Common Mistakes:
  • Confusing DroneKit with hardware design tools
  • Thinking DroneKit is for drone repair
  • Assuming DroneKit writes flight manuals
2. Which of the following is the correct way to import DroneKit in a Python script?
easy
A. import dronekit
B. import DroneKit
C. from dronekit import connect
D. import drone_kit

Solution

  1. Step 1: Recall DroneKit import syntax

    DroneKit is imported in Python using lowercase 'dronekit' and often 'connect' is imported for connection.
  2. Step 2: Check options for correct syntax

    from dronekit import connect uses 'from dronekit import connect' which is the standard and correct way.
  3. Final Answer:

    from dronekit import connect -> Option C
  4. Quick Check:

    Correct import = from dronekit import connect [OK]
Hint: DroneKit module is lowercase and uses 'connect' function [OK]
Common Mistakes:
  • Using uppercase letters in module name
  • Adding underscores incorrectly
  • Importing the whole module without needed functions
3. What will the following Python code print when using DroneKit?
from dronekit import connect
vehicle = connect('udp:127.0.0.1:14550', wait_ready=True)
print(vehicle.mode.name)
medium
A. An error because 'connect' is not defined
B. The current flight mode name of the drone
C. The IP address 'udp:127.0.0.1:14550'
D. Nothing, it will hang forever

Solution

  1. Step 1: Understand the code's purpose

    The code connects to a drone using DroneKit and prints the drone's current mode name.
  2. Step 2: Analyze the print statement

    vehicle.mode.name accesses the current flight mode as a string, so it prints that mode's name.
  3. Final Answer:

    The current flight mode name of the drone -> Option B
  4. Quick Check:

    vehicle.mode.name prints mode name [OK]
Hint: vehicle.mode.name shows drone's current flight mode [OK]
Common Mistakes:
  • Thinking connect is undefined
  • Confusing printed output with connection string
  • Assuming code hangs without reason
4. Identify the error in this DroneKit Python snippet:
from dronekit import connect
vehicle = connect('udp:127.0.0.1:14550')
vehicle.mode = 'GUIDED'
vehicle.armed = True
medium
A. vehicle.mode should be set using a Mode object, not a string
B. connect function is missing required parameters
C. vehicle.armed cannot be set to True
D. The IP address format is incorrect

Solution

  1. Step 1: Review how to set flight mode in DroneKit

    Flight mode must be set using a Mode object, e.g., vehicle.mode = VehicleMode('GUIDED'), not a plain string.
  2. Step 2: Check other lines for errors

    connect usage and IP format are correct; arming with True is allowed.
  3. Final Answer:

    vehicle.mode should be set using a Mode object, not a string -> Option A
  4. Quick Check:

    Set mode with VehicleMode('GUIDED') [OK]
Hint: Use VehicleMode() to set mode, not plain strings [OK]
Common Mistakes:
  • Assigning mode as a string directly
  • Thinking connect needs more parameters
  • Believing arming is disallowed by assignment
5. You want to write a DroneKit script that connects to a drone, changes its mode to 'GUIDED', arms it, and then takes off to 10 meters altitude. Which sequence of commands is correct?
hard
A. vehicle.mode = VehicleMode('GUIDED') -> connect -> vehicle.armed = True -> vehicle.simple_takeoff(10)
B. connect -> vehicle.armed = True -> vehicle.mode = 'GUIDED' -> vehicle.simple_takeoff(10)
C. connect -> vehicle.simple_takeoff(10) -> vehicle.mode = VehicleMode('GUIDED') -> vehicle.armed = True
D. connect -> vehicle.mode = VehicleMode('GUIDED') -> vehicle.armed = True -> vehicle.simple_takeoff(10)

Solution

  1. Step 1: Understand the correct order of drone commands

    First, connect to the drone, then set the mode to 'GUIDED', arm the drone, and finally command takeoff.
  2. Step 2: Check each option's sequence

    connect -> vehicle.mode = VehicleMode('GUIDED') -> vehicle.armed = True -> vehicle.simple_takeoff(10) follows the correct logical order. Others set mode or arm before connecting or call takeoff too early.
  3. Final Answer:

    connect -> vehicle.mode = VehicleMode('GUIDED') -> vehicle.armed = True -> vehicle.simple_takeoff(10) -> Option D
  4. Quick Check:

    Connect, set mode, arm, takeoff [OK]
Hint: Connect first, then mode, arm, and takeoff last [OK]
Common Mistakes:
  • Trying to set mode or arm before connecting
  • Calling takeoff before arming
  • Setting mode as string instead of VehicleMode
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard