Bird
Raised Fist0
Drone Programmingprogramming~30 mins

Axes of rotation (roll, pitch, yaw) in Drone Programming - Mini Project: Build & Apply

Choose your learning style10 modes available
Axes of rotation (roll, pitch, yaw)
📖 Scenario: You are programming a drone to understand its orientation in space. The drone can rotate around three main axes: roll, pitch, and yaw. Each axis changes the drone's direction in a different way, like how a plane tilts, nods, or turns.
🎯 Goal: Build a simple program that stores the drone's rotation angles for roll, pitch, and yaw, sets a threshold to detect if the drone is tilted too much, and then finds which axes exceed that threshold.
📋 What You'll Learn
Create a dictionary called rotation_angles with keys 'roll', 'pitch', and 'yaw' and their exact angle values.
Create a variable called tilt_threshold and set it to the exact value 15.
Use a for loop with variables axis and angle to iterate over rotation_angles.items() and create a list called exceeding_axes containing axes where the absolute angle is greater than tilt_threshold.
Print the list exceeding_axes.
💡 Why This Matters
🌍 Real World
Drones need to monitor their orientation to fly safely and avoid crashes. Understanding roll, pitch, and yaw helps control their movement.
💼 Career
Drone programmers and robotics engineers use these concepts to write software that keeps drones balanced and responsive.
Progress0 / 4 steps
1
DATA SETUP: Create the rotation angles dictionary
Create a dictionary called rotation_angles with these exact entries: 'roll': 10, 'pitch': 20, 'yaw': 5.
Drone Programming
Hint

Use curly braces {} to create a dictionary with keys and values.

2
CONFIGURATION: Set the tilt threshold
Create a variable called tilt_threshold and set it to the integer value 15.
Drone Programming
Hint

Just assign the number 15 to the variable tilt_threshold.

3
CORE LOGIC: Find axes exceeding the tilt threshold
Use a for loop with variables axis and angle to iterate over rotation_angles.items(). Create a list called exceeding_axes that contains axes where the absolute value of angle is greater than tilt_threshold.
Drone Programming
Hint

Use abs(angle) to get the positive value of the angle.

4
OUTPUT: Display the axes exceeding the tilt threshold
Write a print statement to display the list exceeding_axes.
Drone Programming
Hint

Use print(exceeding_axes) to show the result.

Practice

(1/5)
1.

Which axis controls the drone's rotation that tilts it side to side?

easy
A. Pitch
B. Roll
C. Yaw
D. Throttle

Solution

  1. Step 1: Understand the meaning of roll

    Roll is the rotation that tilts the drone left or right, like tipping side to side.
  2. Step 2: Match roll to the axis

    Since roll controls side to side tilt, it matches the question.
  3. Final Answer:

    Roll -> Option B
  4. Quick Check:

    Side to side tilt = Roll [OK]
Hint: Roll = side tilt, Pitch = forward/back, Yaw = turn [OK]
Common Mistakes:
  • Confusing pitch with roll
  • Thinking yaw controls tilt
  • Selecting throttle which controls speed
2.

Which of the following is the correct way to set the yaw angle to 45 degrees in a drone control program?

drone.set_yaw(____)
easy
A. "45"
B. set_yaw(45)
C. yaw = 45
D. 45

Solution

  1. Step 1: Identify the correct argument type

    The method expects a number for the angle, so 45 without quotes is correct.
  2. Step 2: Check the method call syntax

    drone.set_yaw(45) correctly calls the method with the number 45.
  3. Final Answer:

    45 -> Option D
  4. Quick Check:

    Number angle without quotes = 45 [OK]
Hint: Use numbers for angles, no quotes needed [OK]
Common Mistakes:
  • Using quotes around numbers
  • Assigning inside method call
  • Calling method without object prefix
3.

What will be the output of this code snippet controlling drone rotation?

roll = 10
pitch = -5
yaw = 90
print(f"Roll: {roll}, Pitch: {pitch}, Yaw: {yaw}")
medium
A. Roll: 10, Pitch: -5, Yaw: 90
B. Roll: 10, Pitch: 5, Yaw: 90
C. Roll: 0, Pitch: -5, Yaw: 90
D. Error: yaw not defined

Solution

  1. Step 1: Check variable assignments

    roll is 10, pitch is -5, yaw is 90 as assigned.
  2. Step 2: Evaluate the print statement

    The f-string prints the values exactly as assigned.
  3. Final Answer:

    Roll: 10, Pitch: -5, Yaw: 90 -> Option A
  4. Quick Check:

    Print variables as assigned = Roll: 10, Pitch: -5, Yaw: 90 [OK]
Hint: Print variables exactly as assigned in f-string [OK]
Common Mistakes:
  • Ignoring negative sign in pitch
  • Assuming yaw is zero
  • Mistyping variable names
4.

Find the error in this code that sets drone rotation angles:

drone.roll = 15
pitch = 20
drone.yaw = 45
print(f"Roll: {drone.roll}, Pitch: {pitch}, Yaw: {yaw}")
medium
A. roll should be assigned with drone.set_roll()
B. pitch should be drone.pitch
C. Variable yaw is not defined before print
D. print statement syntax is incorrect

Solution

  1. Step 1: Check variable definitions

    roll and yaw are accessed as drone.roll and drone.yaw, pitch is a separate variable.
  2. Step 2: Identify undefined variable in print

    yaw is used without drone prefix and not defined as variable, causing error.
  3. Final Answer:

    Variable yaw is not defined before print -> Option C
  4. Quick Check:

    Undefined variable in print = yaw [OK]
Hint: Check all variables used in print are defined [OK]
Common Mistakes:
  • Assuming yaw variable exists without prefix
  • Confusing pitch variable scope
  • Thinking print syntax is wrong
5.

You want to program a drone to tilt forward by 30 degrees, roll right by 15 degrees, and turn left by 90 degrees. Which code snippet correctly sets these rotations?

Option A:
drone.set_pitch(30)
drone.set_roll(15)
drone.set_yaw(-90)

Option B:
drone.set_pitch(-30)
drone.set_roll(-15)
drone.set_yaw(90)

Option C:
drone.set_pitch(30)
drone.set_roll(-15)
drone.set_yaw(90)

Option D:
drone.set_pitch(-30)
drone.set_roll(15)
drone.set_yaw(-90)
hard
A. Pitch 30, Roll 15, Yaw -90
B. Pitch -30, Roll -15, Yaw 90
C. Pitch 30, Roll -15, Yaw 90
D. Pitch -30, Roll 15, Yaw -90

Solution

  1. Step 1: Understand direction signs

    Forward tilt means positive pitch (30), roll right means positive roll (15), turn left means negative yaw (-90).
  2. Step 2: Match signs to code options

    Pitch 30, Roll 15, Yaw -90 matches pitch=30, roll=15, yaw=-90 correctly.
  3. Final Answer:

    Pitch 30, Roll 15, Yaw -90 -> Option A
  4. Quick Check:

    Forward=+pitch, Right=+roll, Left=-yaw [OK]
Hint: Positive pitch forward, positive roll right, negative yaw left [OK]
Common Mistakes:
  • Mixing positive/negative signs for directions
  • Confusing roll and pitch directions
  • Assuming yaw left is positive
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