imu — imu senzor¶
Modul imu se používá k načítání IMU senzoru pod senzorem kamery.
Poznámka
IMU senzor (a tento modul) není přítomen na všech modelech OpenMV Cam.
Pro případ, kdy deska kamery leží na stole lícem nahoru:
X ukazuje doprava od senzoru kamery.
Y ukazuje dolů pod senzor kamery (směrem ke spodní části desky).
Z ukazuje v opačném směru než senzor kamery (do stolu).
Příklad použití – dotazování na surové hodnoty akcelerometru, gyroskopu a teploty:
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)
Příklad použití – detekce, jakým směrem je kamera nakloněna:
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)
Funkce¶
- imu.acceleration_mg() Tuple[float, float, float]¶
Vrací zrychlení pro
(x, y, z)jako n-tici float v mili-g.
- imu.angular_rate_mdps() Tuple[float, float, float]¶
Vrací úhlovou rychlost pro
(x, y, z)jako n-tici float v mili-stupních za sekundu.
- imu.roll() float¶
Vrací úhel náklonu (roll) modulu kamery ve stupních.
0 -> Kamera stojí vzpřímeně.
90 -> Kamera je otočena doleva.
180 -> Kamera je vzhůru nohama.
270 -> Kamera je otočena doprava.
- imu.pitch() float¶
Vrací úhel sklonu (pitch) modulu kamery ve stupních.
0 -> Kamera stojí vzpřímeně.
90 -> Kamera míří dolů.
180 -> Kamera je vzhůru nohama.
270 -> Kamera míří nahoru.