Jutikliai#
Įvadas#
„VEX AIR“ drone yra inercinis jutiklis sukamajam judesiui matuoti ir judesio pokyčiams aptikti, taip pat atstumo jutiklis atstumams nustatyti. „VEX AIR“ dronas taip pat gali stebėti akumuliatoriaus lygį. Šie jutikliai leidžia dronui sekti savo orientaciją, kryptį, pagreitį ir atstumą iki objektų.
Žemiau pateikiamas visų galimų metodų sąrašas:
Inercinis – seka drono sukimosi judesį.
get_rotation– Grąžina, kiek dronas pasisuko nuo paleidimo.get_heading– Grąžina dabartinę kryptį (nuo 0 iki 359,99°).get_yaw– Grąžina posūkio kampą (nuo –180 iki 180°).get_roll– Grąžina posūkio kampą (nuo –180 iki 180°).get_pitch– Grąžina polinkio kampą (nuo –180 iki 180°).reset_rotation– Atkuria sukimosi reikšmę į 0.reset_heading– Dabartinę antraštę nustato į 0.set_heading– Nustato antraštei konkrečią reikšmę.get_acceleration– Grąžina pagreitį tam tikra kryptimi.get_turn_rate– Grąžina posūkio greitį laipsniais per sekundę.
Atstumas – nustato atstumus drono atstumo jutikliais.
get_distance— Grąžina atstumą tarp pasirinkto diapazono jutiklio ir artimiausio aptikto objekto.
Baterija – grąžina drono baterijos įkrovos procentą.
get_battery_level– Grąžina drono akumuliatoriaus lygį procentais.
Inercinis#
get_rotation#
get_rotation grąžina, kiek laipsnių dronas pasisuko nuo pat paleidimo. Sudeda visus posūkius ir grąžina bendrą sumą laipsniais: teigiamas skaičius – pagal laikrodžio rodyklę, neigiamas – prieš laikrodžio rodyklę.
Usage:
drone.inertial.get_rotation()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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 grąžina drono krypties kampą kaip plūdurį diapazone nuo 0 iki 359,99 laipsnių.
Usage:
drone.inertial.get_heading()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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 grąžina drono posūkio kampą intervale nuo –180,0 iki 180,0 laipsnių kaip plūduriuojantį.
Žemiau esančiame paveikslėlyje rodyklė rodo teigiamo sukimosi kryptį posūkio metu.

Usage:
drone.inertial.get_yaw
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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 grąžina drono posūkio kampą intervale nuo –180,0 iki 180,0 laipsnių kaip plūduriuojantį.
Žemiau esančiame paveikslėlyje rodyklė rodo teigiamo sukimosi kryptį riedėjimo metu.

Usage:
drone.inertial.get_roll()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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 grąžina drono posvyrio kampą intervale nuo –180,0 iki 180,0 laipsnių kaip plūduriuojantį.
Žemiau esančiame paveikslėlyje rodyklė rodo teigiamo sukimosi kryptį žingsniui.

Usage:
drone.inertial.get_pitch()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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 nustato drono sukimosi reikšmę į 0 laipsnių.
Usage:
drone.inertial.reset_rotation()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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 nustato drono kryptį į 0 laipsnių.
Naudojimas:
drone.inertial.reset_heading()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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 nustato drono kryptį pagal nurodytą reikšmę laipsniais.
Naudojimas:
drone.inertial.set_heading(heading)
Parametrai |
Aprašymas |
|---|---|
|
Reikšmė, kurią reikia naudoti naujai antraštei diapazone nuo 0 iki 359,99 laipsnių. |
# 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 grąžina drono pagreitį nurodyta kryptimi. Grąžinama reikšmė rodo greičio pokyčio greitį, matuojamą g vienetais (kur 1g ≈ 9,81 m/s²), kaip slankiojo intervalo nuo -4,00 iki 4,00 reikšmę.
Žemiau esančiame paveikslėlyje rodyklėmis rodoma teigiamo pagreičio kryptis judant į priekį ir į dešinę, o neigiamo pagreičio kryptis – žemyn.

Naudojimas:
drone.inertial.get_acceleration(type)
Parametrai |
Aprašymas |
|---|---|
|
Praneština pagreičio kryptis:
|
# 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 grąžina drono sukimosi greitį nurodytos ašies kryptimi. Grąžina reikšmę laipsniais per sekundę \(dps\) kaip slankiojo kablelio reikšmę nuo –1000,00 iki 1000,00 dps.
Žemiau esančiame paveikslėlyje rodyklėmis rodoma teigiamo sukimosi kryptis riedėjimo, polinkio ir posūkio metu.

Usage:
drone.inertial.get_turn_rate(axis)
Parametrai |
Aprašymas |
|---|---|
|
Kurią orientaciją nurodyti:
|
# 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))
Diapazonas#
get_distance#
get_distance grąžina atstumą tarp pasirinkto diapazono jutiklio ir artimiausio aptikto objekto.
Usage:
drone.range.get_distance(range, units)
Parametrai |
Aprašymas |
|---|---|
|
Naudojamas atstumo jutiklis: |
|
Pasirinktinai. Atstumo vienetas:
|
# 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()
Baterija#
get_battery_level#
get_battery_level grąžina drono akumuliatoriaus įkrovos lygį procentais. Grąžina skaičių nuo 0 iki 100.
Usage:
drone.get_battery_level()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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!")