Bird
Raised Fist0
Drone Programmingprogramming~20 mins

Axes of rotation (roll, pitch, yaw) in Drone Programming - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Master of Drone Rotations
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of combined roll and pitch rotations

Consider a drone starting with orientation angles roll=0°, pitch=0°, yaw=0°. The drone applies a roll of 30° followed by a pitch of 45°. What is the final pitch angle after these rotations?

Drone Programming
roll = 0
pitch = 0
yaw = 0

# Apply roll
roll += 30
# Apply pitch
pitch += 45

print(pitch)
A0
B30
C45
D75
Attempts:
2 left
💡 Hint

Roll changes the rotation around the front-to-back axis, pitch changes rotation around the side-to-side axis. They add independently here.

🧠 Conceptual
intermediate
1:30remaining
Identifying axis of yaw rotation

Which axis does the yaw rotation occur around in a drone's coordinate system?

AFront-to-back axis
BVertical axis
CSide-to-side axis
DDiagonal axis
Attempts:
2 left
💡 Hint

Yaw turns the drone left or right, like turning your head.

❓ Predict Output
advanced
2:00remaining
Result of sequential yaw and roll rotations

A drone starts with roll=0°, pitch=0°, yaw=0°. It first applies a yaw of 90°, then a roll of 90°. What is the final roll angle?

Drone Programming
roll = 0
pitch = 0
yaw = 0

yaw += 90
roll += 90

print(roll)
A270
B0
C180
D90
Attempts:
2 left
💡 Hint

Roll and yaw rotations are around different axes and add independently here.

🔧 Debug
advanced
1:30remaining
Identify the error in pitch update code

What error does the following code produce?

pitch = 0
pitch = pitch + '30'
print(pitch)
ATypeError: unsupported operand type(s) for +: 'int' and 'str'
BSyntaxError: invalid syntax
CNameError: name 'pitch' is not defined
DNo error, prints 30
Attempts:
2 left
💡 Hint

Check the types of values being added.

🚀 Application
expert
2:30remaining
Calculate final orientation after roll, pitch, yaw sequence

A drone starts at roll=0°, pitch=0°, yaw=0°. It applies these rotations in order: roll=45°, pitch=30°, yaw=60°. What is the final yaw angle?

Drone Programming
roll = 0
pitch = 0
yaw = 0

roll += 45
pitch += 30
yaw += 60

print(yaw)
A60
B30
C45
D0
Attempts:
2 left
💡 Hint

Each rotation changes its own axis angle independently here.

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