Sensorer#
Introduktion#
VEX AIR-drönaren har en tröghetssensor för att mäta rotationsrörelser och för att detektera rörelseförändringar samt en avståndssensor för att detektera avstånd. VEX AIR-drönaren kan också hålla reda på batterinivåerna. Dessa sensorer gör det möjligt för drönaren att spåra dess orientering, kurs, acceleration och avstånd från objekt.
Nedan följer en lista över alla tillgängliga metoder:
Tröghetsmoment - Spåra drönarens rotationsrörelse.
get_rotation– Returnerar hur mycket drönaren har roterat sedan den startade.get_heading– Returnerar den aktuella kursen (0 till 359,99°).get_yaw– Returnerar girvinkeln (–180 till 180°).get_roll– Returnerar rollvinkeln (–180 till 180°).get_pitch– Returnerar lutningsvinkeln (–180 till 180°).reset_rotation– Återställer rotationsvärdet till 0.reset_heading– Ställer in aktuell rubrik till 0.set_heading– Ställer in rubriken till ett specifikt värde.get_acceleration– Returnerar accelerationen i en specifik riktning.get_turn_rate– Returnerar vridningshastigheten i grader per sekund.
Räckvidd — Detektera avstånd från drönarens räckviddssensorer.
get_distance— Returnerar avståndet mellan den valda avståndssensorn och det närmaste detekterade objektet.
Batteri - Visar drönarens batteriprocent.
get_battery_level– Returnerar drönarens batterinivå i procent.
Tröghets#
get_rotation#
get_rotation returnerar hur många grader drönaren har roterat sedan den startade. Den summerar alla varv och returnerar summan i grader: positiv för medurs, negativ för moturs.
Usage:
drone.inertial.get_rotation()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# Display the rotation after turning
drone.take_off(climb_to=500)
drone.turn_for(LEFT, 450, 50)
print(drone.inertial.get_rotation(), end="")
drone.land()
get_heading#
get_heading returnerar drönarens kursvinkel som ett flyttal i intervallet 0 till 359,99 grader.
Usage:
drone.inertial.get_heading()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# Display the drone's heading after turning
drone.take_off(climb_to=500)
drone.set_turn_velocity(100)
drone.turn(RIGHT)
wait(5, SECONDS)
controller.screen.print("Heading: ")
controller.screen.print(drone.inertial.get_heading())
drone.land()
get_yaw#
get_yaw returnerar drönarens girvinkel i intervallet –180,0 till 180,0 grader som ett flyttal.
Bilden nedan använder en pil för att visa riktningen för positiv rotation vid girning.

Usage:
drone.inertial.get_yaw
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# Display the yaw angle as you rotate the drone by hand
while True:
controller.screen.clear_screen()
controller.screen.set_cursor(1, 1)
controller.screen.print("Yaw: ")
controller.screen.print(drone.inertial.get_yaw())
wait(0.2, SECONDS)
get_roll#
get_roll returnerar drönarens rollvinkel i intervallet –180,0 till 180,0 grader som ett flyttal.
Bilden nedan använder en pil för att visa riktningen för den positiva rotationen för rullen.

Usage:
drone.inertial.get_roll()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# Display the roll angle as you rotate the drone by hand
while True:
controller.screen.clear_screen()
controller.screen.set_cursor(1, 1)
controller.screen.print("Roll: ")
controller.screen.print(drone.inertial.get_roll())
wait(0.2, SECONDS)
get_pitch#
get_pitch returnerar drönarens lutningsvinkel i intervallet –180,0 till 180,0 grader som ett flyttal.
Bilden nedan använder en pil för att visa riktningen för positiv rotation för tonhöjd.

Usage:
drone.inertial.get_pitch()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# Display the pitch angle as you rotate the drone by hand
while True:
controller.screen.clear_screen()
controller.screen.set_cursor(1, 1)
controller.screen.print("Pitch: ")
controller.screen.print(drone.inertial.get_pitch())
wait(0.2, SECONDS)
reset_rotation#
reset_rotation återställer drönarens rotationsvärde till 0 grader.
Usage:
drone.inertial.reset_rotation()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# Display the new rotation after resetting
drone.take_off(climb_to=500)
drone.turn(RIGHT)
while not drone.inertial.get_rotation() > 360:
wait(5, MSEC)
drone.hover()
drone.inertial.reset_rotation()
wait(1, SECONDS)
print(drone.inertial.get_rotation(), end="")
drone.land()
reset_heading#
reset_heading återställer drönarens kurs till 0 grader.
Användande:
drone.inertial.reset_heading()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# Turn to a heading, reset the heading, and turn to the same heading.
drone.take_off(climb_to=500)
drone.turn_to(heading=180, velocity=50)
wait(3,SECONDS)
drone.inertial.reset_heading()
drone.turn_to(heading=180, velocity=50)
wait(3,SECONDS)
drone.land()
set_heading#
set_heading ställer in drönarens kurs till ett angivet värde i grader.
Användande:
drone.inertial.set_heading(heading)
Parametrar |
Beskrivning |
|---|---|
|
Värdet som ska användas för den nya kursen ligger i intervallet 0 till 359,99 grader. |
# Turn to a heading, set the heading, and turn to the same heading.
drone.take_off(climb_to=500)
drone.turn_to(heading=180, velocity=50)
wait(3,SECONDS)
drone.inertial.set_heading(90)
drone.turn_to(heading=180, velocity=50)
wait(3,SECONDS)
drone.land()
get_acceleration#
get_acceleration returnerar drönarens acceleration i en specificerad riktning. Det returnerade värdet representerar hastighetsförändringstakten, mätt i enheter av g (där 1g ≈ 9,81 m/s²), som ett flyttal i intervallet -4,00 till 4,00.
Bilden nedan använder pilar för att visa riktningen för positiv acceleration framåt och höger, och negativ acceleration nedåt.

Användande:
drone.inertial.get_acceleration(type)
Parametrar |
Beskrivning |
|---|---|
|
Accelerationsriktningen att rapportera:
|
# Display the acceleration as the drone takes off
drone.take_off(500, wait=False)
while True:
controller.screen.clear_screen()
controller.screen.set_cursor(1, 1)
controller.screen.print(drone.inertial.get_acceleration(DOWNWARD))
wait(5, MSEC)
get_turn_rate#
get_turn_rate returnerar den hastighet med vilken drönaren roterar längs den angivna axeln. Detta returnerar ett värde i grader per sekund \(dps\) som ett flyttal från –1000,00 till 1000,00 dps.
Bilden nedan använder pilar för att visa riktningen för den positiva rotationen för rullning, lutning och girning.

Usage:
drone.inertial.get_turn_rate(axis)
Parametrar |
Beskrivning |
|---|---|
|
Vilken orientering att rapportera:
|
# Display the drone turn rate as it is rotated by hand.
while True:
controller.screen.clear_screen()
controller.screen.set_cursor(7, 1)
controller.screen.print(drone.inertial.get_turn_rate(ROLL))
Räckvidd#
get_distance#
get_distance returnerar avståndet mellan den valda avståndssensorn och det närmaste detekterade objektet.
Usage:
drone.range.get_distance(range, units)
Parametrar |
Beskrivning |
|---|---|
|
Avståndssensorn att använda: |
|
Valfritt. Avståndsenheten:
|
# Fly forward until close to an object
drone.take_off(climb_to=500)
drone.move_at(direction=0, velocity=50)
while not drone.range.get_distance(FORWARD_RANGE, MM) < 750:
wait(0.1, SECONDS)
drone.land()
Batteri#
get_battery_level#
get_battery_level returnerar drönarens batteriladdningsnivå som en procentandel. Detta returnerar ett tal från 0 till 100.
Usage:
drone.get_battery_level()
Parametrar |
Beskrivning |
|---|---|
Den här metoden har inga parametrar. |
# Display the drone's battery level
if drone.get_battery_level() < 25:
controller.screen.print("Charge the drone Battery!")
else:
controller.screen.print("Ready to fly!")