Senzory#
Zavedení#
Dron VEX AIR obsahuje inerciální senzor pro měření rotačního pohybu a detekci změn v pohybu a také senzor dosahu pro detekci vzdáleností. Dron VEX AIR dokáže také sledovat stav nabití baterie. Tyto senzory umožňují dronu sledovat jeho orientaci, směr, zrychlení a vzdálenost od objektů.
Níže je uveden seznam všech dostupných metod:
Inerciální – Sledování rotačního pohybu dronu.
get_rotation– Vrátí, o kolik se dron otočil od svého startu.get_heading– Vrátí aktuální směr (0 až 359,99°).get_yaw– Vrátí úhel stáčení (–180 až 180°).get_roll– Vrátí úhel natočení (–180 až 180°).get_pitch– Vrátí úhel sklonu (–180 až 180°).reset_rotation– Obnoví hodnotu rotace na 0.reset_heading– Nastaví aktuální směr na 0.set_heading– Nastaví nadpis na určitou hodnotu.get_acceleration– Vrátí zrychlení v daném směru.get_turn_rate– Vrací rychlost otáčení ve stupních za sekundu.
Dosah – Detekce vzdáleností pomocí senzorů dosahu dronu.
get_distance— Vrátí vzdálenost mezi vybraným senzorem vzdálenosti a nejbližším detekovaným objektem.
Baterie – Vrátí procento nabití baterie dronu.
get_battery_level– Vrátí úroveň nabití baterie dronu v procentech.
Inerciální#
get_rotation#
Funkce get_rotation vrací, o kolik stupňů se dron otočil od svého startu. Sečte všechny otočky a vrátí celkový součet ve stupních: kladný pro směr hodinových ručiček, záporný pro směr proti směru hodinových ručiček.
Usage:
drone.inertial.get_rotation()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# 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#
Funkce get_heading vrací úhel natočení dronu jako číslo s plovoucí desetinnou čárkou v rozsahu 0 až 359,99 stupňů.
Usage:
drone.inertial.get_heading()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# 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 vrací úhel stáčení dronu v rozsahu –180,0 až 180,0 stupňů jako číslo s plovoucí čárkou.
Obrázek níže používá šipku k znázornění směru kladné rotace pro stáčení.

Usage:
drone.inertial.get_yaw
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# 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 vrací úhel náklonu dronu v rozsahu –180,0 až 180,0 stupňů jako číslo s plovoucí čárkou.
Obrázek níže používá šipku k znázornění směru kladné rotace pro klopení.

Usage:
drone.inertial.get_roll()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# 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#
Funkce get_pitch vrací úhel náklonu dronu v rozsahu –180,0 až 180,0 stupňů jako číslo s plovoucí čárkou.
Obrázek níže používá šipku k znázornění směru kladné rotace pro stoupání.

Usage:
drone.inertial.get_pitch()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# 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 resetuje hodnotu rotace dronu na 0 stupňů.
Usage:
drone.inertial.reset_rotation()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# 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 resetuje směr dronu na 0 stupňů.
Používání:
drone.inertial.reset_heading()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# 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 nastaví směr dronu na zadanou hodnotu ve stupních.
Používání:
drone.inertial.set_heading(heading)
Parametry |
Popis |
|---|---|
|
Hodnota, která se má použít pro nový směr, v rozsahu od 0 do 359,99 stupňů. |
# 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 vrací zrychlení dronu v zadaném směru. Vrácená hodnota představuje míru změny rychlosti, měřenou v jednotkách g (kde 1g ≈ 9,81 m/s²), jako číslo s desetinnou čárkou v rozsahu od -4,00 do 4,00.
Obrázek níže používá šipky k znázornění směru kladného zrychlení vpřed a vpravo a záporného zrychlení dolů.

Používání:
drone.inertial.get_acceleration(type)
Parametry |
Popis |
|---|---|
|
Směr zrychlení, který je třeba hlásit:
|
# 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 vrací rychlost, s jakou se dron otáčí podél zadané osy. Vrátí hodnotu ve stupních za sekundu \(dps\) jako číslo s desetinnou čárkou od –1000,00 do 1000,00 dps.
Obrázek níže používá šipky k znázornění směru kladné rotace pro klopení, stoupání a stáčení.

Usage:
drone.inertial.get_turn_rate(axis)
Parametry |
Popis |
|---|---|
|
Kterou orientaci hlásit:
|
# 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))
Rozsah#
get_distance#
Funkce get_distance vrací vzdálenost mezi vybraným senzorem vzdálenosti a nejbližším detekovaným objektem.
Usage:
drone.range.get_distance(range, units)
Parametry |
Popis |
|---|---|
|
Použitý senzor vzdálenosti: |
|
Volitelné. Jednotka vzdálenosti:
|
# 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()
Baterie#
get_battery_level#
get_battery_level vrací úroveň nabití baterie dronu v procentech. Vrátí číslo od 0 do 100.
Usage:
drone.get_battery_level()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# 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!")