Sensori#
Ievads#
VEX AIR dronam ir inerciāls sensors rotācijas kustības mērīšanai un kustības izmaiņu noteikšanai, kā arī diapazona sensors attālumu noteikšanai. VEX AIR drons var arī sekot līdzi akumulatora uzlādes līmenim. Šie sensori ļauj dronam izsekot tā orientācijai, virzienam, paātrinājumam un attālumam no objektiem.
Zemāk ir visu pieejamo metožu saraksts:
Inerciāls — izsekojiet drona rotācijas kustību.
get_rotation– Atgriež, cik daudz drons ir pagriezies kopš tā sākuma.get_heading– Atgriež pašreizējo virzienu (no 0 līdz 359,99°).get_yaw– Atgriež novirzes leņķi (no –180 līdz 180°).get_roll– Atgriež rites leņķi (no –180 līdz 180°).get_pitch– Atgriež slīpuma leņķi (no –180 līdz 180°).reset_rotation– Atiestata rotācijas vērtību uz 0.reset_heading– Iestata pašreizējo virsrakstu uz 0.set_heading– Iestata virsrakstam noteiktu vērtību.get_acceleration– Atgriež paātrinājumu noteiktā virzienā.get_turn_rate– Atgriež pagrieziena ātrumu grādos sekundē.
Diapazons — nosaka attālumus, izmantojot drona darbības rādiusa sensorus.
get_distance— Atgriež attālumu starp atlasīto diapazona sensoru un tuvāko noteikto objektu.
Akumulators — atgriež drona akumulatora uzlādes procentuālo daļu.
get_battery_level– Atgriež drona akumulatora līmeni procentos.
Inerciāls#
get_rotation#
get_rotation atgriež, cik grādus drons ir pagriezies kopš tā sākuma. Tas saskaita visus pagriezienus un atgriež kopsummu grādos: pozitīvs pulksteņrādītāja virzienam, negatīvs pretēji pulksteņrādītāja virzienam.
Usage:
drone.inertial.get_rotation()
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
# 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 atgriež drona virziena leņķi kā pludiņa vērtību diapazonā no 0 līdz 359,99 grādiem.
Usage:
drone.inertial.get_heading()
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
# 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 atgriež drona pagrieziena leņķi diapazonā no –180,0 līdz 180,0 grādiem kā pludiņa pozīciju.
Zemāk redzamajā attēlā bultiņa parāda pozitīvas rotācijas virzienu novirzei.

Usage:
drone.inertial.get_yaw
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
# 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 atgriež drona rites leņķi diapazonā no –180,0 līdz 180,0 grādiem kā peldošu objektu.
Zemāk redzamajā attēlā bultiņa parāda pozitīvas rotācijas virzienu ruļļa kustībai.

Usage:
drone.inertial.get_roll()
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
# 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 atgriež drona piķa leņķi diapazonā no –180,0 līdz 180,0 grādiem kā pludiņa pozīciju.
Zemāk redzamajā attēlā bultiņa parāda pozitīvas rotācijas virzienu piķim.

Usage:
drone.inertial.get_pitch()
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
# 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 atiestata drona rotācijas vērtību uz 0 grādiem.
Usage:
drone.inertial.reset_rotation()
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
# 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 atiestata drona virzienu uz 0 grādiem.
Lietojums:
drone.inertial.reset_heading()
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
# 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 iestata drona virzienu uz noteiktu vērtību grādos.
Lietojums:
drone.inertial.set_heading(heading)
Parametri |
Apraksts |
|---|---|
|
Vērtība, kas jāizmanto jaunajam virsrakstam diapazonā no 0 līdz 359,99 grādiem. |
# 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 atgriež drona paātrinājumu norādītajā virzienā. Atgrieztā vērtība apzīmē ātruma izmaiņu ātrumu, kas mērīts g vienībās (kur 1g ≈ 9,81 m/s²), kā peldošā skaitļa vērtību diapazonā no -4,00 līdz 4,00.
Zemāk redzamajā attēlā bultiņas parāda pozitīvā paātrinājuma virzienu uz priekšu un pa labi, kā arī negatīvā paātrinājuma virzienu uz leju.

Lietojums:
drone.inertial.get_acceleration(type)
Parametri |
Apraksts |
|---|---|
|
Ziņojamais paātrinājuma virziens:
|
# 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 atgriež ātrumu, ar kādu drons rotē pa norādīto asi. Tas atgriež vērtību grādos sekundē \(dps\) kā peldošo skaitli no –1000,00 līdz 1000,00 dps.
Zemāk redzamajā attēlā bultiņas parāda pozitīvās rotācijas virzienu ripošanai, piķēšanai un novirzei.

Usage:
drone.inertial.get_turn_rate(axis)
Parametri |
Apraksts |
|---|---|
|
Kuru orientāciju ziņot:
|
# 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))
Diapazons#
get_distance#
get_distance atgriež attālumu starp atlasīto diapazona sensoru un tuvāko noteikto objektu.
Usage:
drone.range.get_distance(range, units)
Parametri |
Apraksts |
|---|---|
|
Izmantojamais diapazona sensors: |
|
Pēc izvēles. Attāluma mērvienība:
|
# 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()
Akumulators#
get_battery_level#
get_battery_level atgriež drona akumulatora uzlādes līmeni procentos. Tas atgriež skaitli no 0 līdz 100.
Usage:
drone.get_battery_level()
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
# 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!")