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# 启用 ACCELEROMETER_RAW 和 GYROSCOPE_RAW,频率 100 Hz
5imu.enableIMUSensor([dai.IMUSensor.ACCELEROMETER_RAW, dai.IMUSensor.GYROSCOPE_RAW], 100)
6# 超过此阈值时,如果主机不阻塞且 USB 带宽可用,数据包将以 X 为一批发送
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.
需要帮助?
请前往 OAKChina 官网 获取技术支持或解答您的任何疑问。