érzékelők#
Bevezetés#
A VEX AIR drón tartalmaz egy inerciális érzékelőt a forgási mozgás mérésére és a mozgásváltozások észlelésére, valamint egy távolságérzékelőt a távolságok érzékelésére. A VEX AIR drón az akkumulátor töltöttségi szintjét is nyomon tudja követni. Ezek az érzékelők lehetővé teszik a drón számára, hogy nyomon kövesse a tájolását, irányát, gyorsulását és a tárgyaktól való távolságát.
Az alábbiakban felsoroljuk az összes elérhető módszert:
Inerciális – A drón forgási mozgásának követése.
get_rotation– Visszaadja, hogy mennyit fordult a drón az indítása óta.get_heading– Visszaadja az aktuális irányt (0 és 359,99° között).get_yaw– Visszaadja az elfordulási szöget (–180 és 180° között).get_roll– Visszaadja a tekercselési szöget (–180 és 180° között).get_pitch– Visszaadja a dőlésszöget (–180 és 180° között).reset_rotation– Visszaállítja a forgatási értéket 0-ra.reset_heading– Az aktuális címsort 0-ra állítja.set_heading– Beállítja a címsort egy adott értékre.get_acceleration– Visszaadja a gyorsulást egy adott irányban.get_turn_rate– Visszaadja a fordulási sebességet fokban másodpercenként.
Hatótávolság – Távolságok érzékelése a drón hatótávolság-érzékelőivel.
get_distance— Visszaadja a kiválasztott távolságérzékelő és a legközelebbi érzékelt objektum közötti távolságot.
Akkumulátor – Megjeleníti a drón akkumulátorának töltöttségi szintjét százalékban.
get_battery_level– Visszaadja a drón akkumulátorának töltöttségi szintjét százalékban.
Inerciális#
get_rotation#
get_rotation Visszaadja, hogy a drón hány fokot fordult az indítása óta. Összeadja az összes fordulatot, és fokban adja vissza az összeget: pozitív az óramutató járásával megegyező, negatív az óramutató járásával ellentétes irányú érték esetén.
Usage:
drone.inertial.get_rotation()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# 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 Visszaadja a drón irányszögét lebegésként 0 és 359,99 fok között.
Usage:
drone.inertial.get_heading()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# 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 Visszaadja a drón elfordulási szögét –180,0 és 180,0 fok között lebegésként.
Az alábbi kép egy nyíllal mutatja a pozitív elfordulás irányát elfordulás esetén.

Usage:
drone.inertial.get_yaw
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# 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 Visszaadja a drón gördülési szögét –180,0 és 180,0 fok közötti tartományban, lebegésként.
Az alábbi kép egy nyíllal mutatja a pozitív forgás irányát a gördülésnél.

Usage:
drone.inertial.get_roll()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# 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 Visszaadja a drón dőlésszögét –180,0 és 180,0 fok között lebegőpontos értékként.
Az alábbi kép egy nyíllal mutatja a pozitív forgás irányát a bólintásnál.

Usage:
drone.inertial.get_pitch()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# 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 A drón elforgatási értékét 0 fokra állítja vissza.
Usage:
drone.inertial.reset_rotation()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# 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 A drón irányát 0 fokra állítja vissza.
Használat:
drone.inertial.reset_heading()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# 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 A drón irányát egy megadott értékre állítja fokban.
Használat:
drone.inertial.set_heading(heading)
Paraméterek |
Leírás |
|---|---|
|
Az új irányszöghöz használandó érték 0 és 359,99 fok között. |
# 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 Visszaadja a drón gyorsulását egy megadott irányban. A visszaadott érték a sebességváltozás mértékét jelenti, g egységben mérve (ahol 1g ≈ 9,81 m/s²), -4,00 és 4,00 közötti lebegőértékként.
Az alábbi kép nyilak segítségével mutatja a pozitív gyorsulás irányát előre és jobbra, valamint a negatív gyorsulás irányát lefelé.

Használat:
drone.inertial.get_acceleration(type)
Paraméterek |
Leírás |
|---|---|
|
A jelentendő gyorsulás iránya:
|
# 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 visszaadja a drón forgási sebességét a megadott tengely körül. Ez egy értéket ad vissza fok per másodpercben \(dps\), lebegőpontos alakban, -1000,00 és 1000,00 dps között.
Az alábbi kép nyilak segítségével mutatja a pozitív forgás irányát a gördülés, a bólintás és az elfordulás esetén.

Usage:
drone.inertial.get_turn_rate(axis)
Paraméterek |
Leírás |
|---|---|
|
Melyik irányt kell jelenteni:
|
# 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))
Hatótávolság#
get_distance#
get_distance visszaadja a kiválasztott távolságérzékelő és a legközelebbi érzékelt objektum közötti távolságot.
Usage:
drone.range.get_distance(range, units)
Paraméterek |
Leírás |
|---|---|
|
A használandó távolságérzékelő: |
|
Opcionális. A távolság mértékegysége:
|
# 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()
Akkumulátor#
get_battery_level#
get_battery_level Visszaadja a drón akkumulátorának töltöttségi szintjét százalékban. Ez egy 0 és 100 közötti számot ad vissza.
Usage:
drone.get_battery_level()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# 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!")