IMU
IMU
- BNO085(数据手册在此),9 轴传感器,结合了加速度计、陀螺仪和磁力计。它还在(IMU)芯片本身上进行传感器融合。我们已将此驱动程序高效集成到 DepthAI 中。
- BMI270,6 轴传感器,结合了加速度计和陀螺仪。
如何放置它
Python
Python
1pipeline = dai.Pipeline()
2imu = pipeline.create(dai.node.IMU)输入和输出
限制
- 对于 BNO086,由于传感器硬件限制,高于 400Hz 的陀螺仪频率有时可能会产生一些抖动。
请注意,所有 Kickstarter 上的 OAK-D-Lite 相机都没有板载 IMU。
IMU 传感器频率
- 加速度计:15Hz、31Hz、62Hz、125Hz、250Hz 500Hz
- 陀螺仪:25Hz、33Hz、50Hz、100Hz、200Hz、400Hz
- 磁力计:100Hz
| BNO086 传感器 | 最大频率 |
|---|---|
| ACCELEROMETER_RAW | 512 Hz |
| ACCELEROMETER | 512 Hz |
| LINEAR_ACCELERATION | 400 Hz |
| GRAVITY | 400 Hz |
| GYROSCOPE_RAW | 1000 Hz |
| GYROSCOPE_CALIBRATED / GYROSCOPE_UNCALIBRATED | 100 Hz |
| MAGNETOMETER_RAW | 100 Hz |
| MAGNETOMETER_CALIBRATED / MAGNETOMETER_UNCALIBRATED | 100 Hz |
| ROTATION_VECTOR | 400 Hz |
| GAME_ROTATION_VECTOR | 400 Hz |
| GEOMAGNETIC_ROTATION_VECTOR | 100 Hz |
| ARVR_STABILIZED_ROTATION_VECTOR | 100 Hz |
| ARVR_STABILIZED_GAME_ROTATION_VECTOR | 100 Hz |
- 加速度计:25Hz、50Hz、100Hz、200Hz、250Hz
- 陀螺仪:25Hz、50Hz、100Hz、200Hz、250Hz
用法
Python
Python
1pipeline = dai.Pipeline()
2imu = pipeline.create(dai.node.IMU)
3
4# 以 100 Hz 的速率启用 ACCELEROMETER_RAW 和 GYROSCOPE_RAW
5imu.enableIMUSensor([dai.IMUSensor.ACCELEROMETER_RAW, dai.IMUSensor.GYROSCOPE_RAW], 100)
6# 在此阈值之上,数据包将以 X 的批次发送,如果主机未被阻塞且 USB 带宽可用
7imu.setBatchReportThreshold(1)
8# 批次中的最大 IMU 数据包数量,如果达到此数量,设备将阻止发送,直到主机可以接收它
9# 如果小于或等于 batchReportThreshold,则发送始终在设备上阻塞
10# 有助于减少设备的 CPU 负载和丢失的数据包数量,如果设备端由于多个节点导致 CPU 负载很高
11imu.setMaxBatchReports(10)IMU 传感器
imu.enableIMUSensor())时,您可以在以下传感器之间进行选择:ACCELEROMETER_RAWACCELEROMETERLINEAR_ACCELERATIONGRAVITYGYROSCOPE_RAWGYROSCOPE_CALIBRATEDGYROSCOPE_UNCALIBRATEDMAGNETOMETER_RAWMAGNETOMETER_CALIBRATEDMAGNETOMETER_UNCALIBRATEDROTATION_VECTORGAME_ROTATION_VECTORGEOMAGNETIC_ROTATION_VECTORARVR_STABILIZED_ROTATION_VECTORARVR_STABILIZED_GAME_ROTATION_VECTOR
class
depthai.IMUSensor
variable
variable
variable
variable
variable
variable
variable
variable
variable
variable
variable
variable
variable
variable
variable
variable
method
method
method
method
method
method
method
method
method
method
property
property
功能示例
参考
class
depthai.node.IMU(depthai.Node)
method
method
method
getBatchReportThreshold(self) -> int: intAbove this packet threshold data will be sent to host, if queue is not blocked
method
getMaxBatchReports(self) -> int: intMaximum number of IMU packets in a batch report
method
setBatchReportThreshold(self, batchReportThreshold: typing.SupportsInt)Above this packet threshold data will be sent to host, if queue is not blocked
method
setMaxBatchReports(self, maxBatchReports: typing.SupportsInt)Maximum number of IMU packets in a batch report
property
out
Outputs IMUData message that carries IMU packets.
需要帮助?
请前往 Discussion Forum 获取技术支持或提出您可能有的任何其他问题。