Anturit#
Johdanto#
VEX AIR -drone sisältää inertia-anturin pyörimisliikkeen mittaamiseen ja liikkeen muutosten havaitsemiseen sekä etäisyysanturin etäisyyksien mittaamiseen. VEX AIR -drone voi myös seurata akun varaustasoa. Näiden anturien avulla drone voi seurata suuntaansa, suuntaansa, kiihtyvyyttään ja etäisyyttään esineisiin.
Alla on luettelo kaikista käytettävissä olevista menetelmistä:
Inertiaalinen – Seuraa dronin pyörimisliikettä.
get_rotation– Palauttaa, kuinka paljon drone on kääntynyt käynnistyksestään lähtien.get_heading– Palauttaa nykyisen suunnan (0 - 359,99°).get_yaw– Palauttaa kääntökulman (–180 - 180°).get_roll– Palauttaa vierintäkulman (–180 - 180°).get_pitch– Palauttaa kaltevuuskulman (–180 - 180°).reset_rotation– Palauttaa kiertoarvon arvoon 0.reset_heading– Asettaa nykyisen otsikon arvoon 0.set_heading– Asettaa otsikolle tietyn arvon.get_acceleration– Palauttaa kiihtyvyyden tiettyyn suuntaan.get_turn_rate– Palauttaa kääntymisnopeuden asteina sekunnissa.
Etäisyys — Mittaa etäisyyksiä dronin etäisyysantureilla.
get_distance— Palauttaa valitun etäisyysanturin ja lähimmän havaitun kohteen välisen etäisyyden.
Akku – Palauttaa dronin akun varaustason prosentteina.
get_battery_level– Palauttaa dronin akun varaustason prosentteina.
Inertiaalinen#
get_rotation#
get_rotation palauttaa kuinka monta astetta drone on kääntynyt käynnistyksestään lähtien. Se laskee yhteen kaikki käännökset ja palauttaa kokonaismäärän asteina: positiivinen myötäpäivään, negatiivinen vastapäivään.
Usage:
drone.inertial.get_rotation()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
# 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 palauttaa dronin suuntakulman kelluvana arvona välillä 0 - 359,99 astetta.
Usage:
drone.inertial.get_heading()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
# 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 palauttaa dronin kääntökulman välillä –180,0 - 180,0 astetta kelluvana arvona.
Alla olevassa kuvassa nuoli osoittaa positiivisen kiertymisen suunnan kääntökulmalle.

Usage:
drone.inertial.get_yaw
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
# 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 palauttaa dronin kallistuskulman välillä –180,0 - 180,0 astetta kelluvana arvona.
Alla olevassa kuvassa nuoli osoittaa vierityksen positiivisen pyörimisen suunnan.

Usage:
drone.inertial.get_roll()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
# 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 palauttaa dronin kallistuskulman välillä –180,0 - 180,0 astetta kelluvana arvona.
Alla olevassa kuvassa nuoli osoittaa nousun positiivisen pyörimissuunnan.

Usage:
drone.inertial.get_pitch()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
# 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 nollaa dronin kiertoarvon 0 asteeseen.
Usage:
drone.inertial.reset_rotation()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
# 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 nollaa dronin suunnan 0 asteeseen.
Käyttö:
drone.inertial.reset_heading()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
# 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 asettaa dronin suunnan tiettyyn arvoon asteina.
Käyttö:
drone.inertial.set_heading(heading)
Parametrit |
Kuvaus |
|---|---|
|
Uuden suunnan arvo väliltä 0–359,99 astetta. |
# 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 palauttaa dronin kiihtyvyyden tiettyyn suuntaan. Palautettu arvo edustaa nopeuden muutosnopeutta mitattuna g-yksiköissä (jossa 1 g ≈ 9,81 m/s²) liukulukuna välillä -4,00 - 4,00.
Alla olevassa kuvassa nuolet osoittavat positiivisen kiihtyvyyden suunnan eteenpäin ja oikealle sekä negatiivisen kiihtyvyyden suunnan alaspäin.

Käyttö:
drone.inertial.get_acceleration(type)
Parametrit |
Kuvaus |
|---|---|
|
Ilmoitettava kiihtyvyyden suunta:
|
# 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 palauttaa nopeuden, jolla drone pyörii määritetyn akselin ympäri. Tämä palauttaa arvon asteina sekunnissa \(dps\) liukulukuna välillä –1000,00 - 1000,00 dps.
Alla olevassa kuvassa nuolet osoittavat positiivisen rotaation suunnan vierinnälle, kallistukselle ja kääntökulmalle.

Usage:
drone.inertial.get_turn_rate(axis)
Parametrit |
Kuvaus |
|---|---|
|
Kumpi suunta raportoidaan:
|
# 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))
Alue#
get_distance#
get_distance palauttaa valitun etäisyysanturin ja lähimmän havaitun kohteen välisen etäisyyden.
Usage:
drone.range.get_distance(range, units)
Parametrit |
Kuvaus |
|---|---|
|
Käytettävä etäisyysanturi: |
|
Valinnainen. Etäisyysyksikkö:
|
# 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()
Akku#
get_battery_level#
get_battery_level palauttaa dronin akun varaustason prosentteina. Tämä palauttaa luvun väliltä 0–100.
Usage:
drone.get_battery_level()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
# 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!")