imu — imu senzor¶
Modul imu koristi se za čitanje IMU senzora ispod senzora kamere.
Napomena
IMU senzor (i ovaj modul) nije prisutan na svim modelima OpenMV Cam.
Za slučaj kada ploča kamere leži na stolu okrenuta licem prema gore:
X pokazuje udesno od senzora kamere.
Y pokazuje prema dolje ispod senzora kamere (prema dnu ploče).
Z pokazuje u suprotnom smjeru od senzora kamere (u stol).
Primjer uporabe – ispitivanje sirovih vrijednosti akcelerometra, žiroskopa i temperature:
import imu
import time
while True:
ax, ay, az = imu.acceleration_mg()
gx, gy, gz = imu.angular_rate_mdps()
t = imu.temperature_c()
print("accel (mg) : {:8.1f} {:8.1f} {:8.1f}".format(ax, ay, az))
print("gyro (mdps): {:8.1f} {:8.1f} {:8.1f}".format(gx, gy, gz))
print("temp (degC): {:5.1f}".format(t))
time.sleep_ms(200)
Primjer uporabe – otkrivanje u kojem je smjeru kamera nagnuta:
import imu
import time
while True:
r = imu.roll()
if abs(r - 90) < 15:
print("camera rotated left")
elif abs(r - 270) < 15:
print("camera rotated right")
elif abs(r - 180) < 15:
print("camera upside down")
else:
print("camera upright")
time.sleep_ms(100)
Funkcije¶
- imu.acceleration_mg() Tuple[float, float, float]¶
Vraća ubrzanje za
(x, y, z)kao tuple float vrijednosti u mili-g jedinicama.
- imu.angular_rate_mdps() Tuple[float, float, float]¶
Vraća kutnu brzinu za
(x, y, z)kao tuple float vrijednosti u mili-stupnjevima po sekundi.
- imu.roll() float¶
Vraća kut valjanja (roll) modula kamere u stupnjevima.
0 -> Kamera stoji uspravno.
90 -> Kamera je zakrenuta ulijevo.
180 -> Kamera je naopako.
270 -> Kamera je zakrenuta udesno.
- imu.pitch() float¶
Vraća kut poniranja (pitch) modula kamere u stupnjevima.
0 -> Kamera stoji uspravno.
90 -> Kamera je usmjerena prema dolje.
180 -> Kamera je naopako.
270 -> Kamera je usmjerena prema gore.