mpu6050 z轴校准_技术科普丨TOF标定校准知多少?

2023-05-16

近年来,手机摄像头很大的一项技术革新是3D技术,而很大部分的3D技术依托于TOF摄像头模组。

关于TOF模组的原理和应用,之前科普文有很多介绍,此处不予赘述。

今天我们来聊聊TOF的校准标定

TOF怎么做出3D图像

传统手机摄像头拍下来是张二维图片,只有X/Y两轴,3D摄像头在其中增加了Z轴,也就是距离轴。

同样在拍摄马路车辆的场景,TOF模组可以产生距离信息。为了更直观地显示不同距离,可以采用不同颜色表示物体距离远近(伪彩图)。距离信息可以还原到三维象限,生成点云图。

将可见光拍摄得到的带颜色信息的二维图像,与TOF生成的深度信息相融合,作为最终的3D应用。

深度的准确性,需要校准标定来保证

当你在河边欣赏美景,睡莲可能与你只相隔咫尺▼

而当你拿出手机拍照,图片可能会是这样▼

你所计算得到的距离,并不是物体的实际距离,甚至还相去甚远,比如物体距离摄像头是50cm,而你测得的甚至可能会是2米以上。

那是为什么呢?

可能是你没有做标定校准!

1

温度标定校准

前面说到过,目前常用的相位式TOF采用相位差来计算深度。

理想中波形是这样的

波形方正没有任何变形,相位差就是绝对的相位差,深度计算也很精准。

横坐标是时间轴

而实际电路中的波形却可能是这样的

TOF芯片和VCSEL驱动芯片的温度,直接影响了波形的表现。

那么问题来了,波形已经变形成这样,相位差测不准,怎么办?可能需要一个温度补偿。

比如统计一大批模组的相位差表现,和TOF芯片温度及驱动芯片温度之间的关系,求出其补偿系数。

2

Lens标定校准

◆光心偏移

当模组对准物体中心拍摄,理论上物体的中心会成像在模组的中心;

然而,由于模组组装等的误差,实际成像并没有在模组的中心,而是会产生一定的偏移,我们定义为光心偏移。

◆畸变

摄像头在拍摄物体时,或多或少会出现一定的形变,比如

投射模组和接收模组之间的位置关系,也会影响最终的计算结果,主要包括旋转和平移等,位置关系也需要做标定校准。

除此之外,Lens校准还包括f焦距部分等,整个Lens校准是以下其他校准的基石。

3

FPPN标定校准

FPPN(Fixed Pattern Pixel Noise),或也有称之为Pixel dependent Offset,简单来说,由于TOF芯片上每个像素点所处的位置不一样,由于快门延迟等原因,导致像素点计算得到的相位差有误差。

这就直接导致了深度结果的误差。

比如你拍摄的是某一距离下的一张大白板,理论上能得到一个平整的深度平面,因为每个像素点拍摄的都是同一距离。

而实际上得到的是个曲面,如下图,右下角的深度误差是最大的。

FPPN便是标定校准了此类误差。

4

Wiggling标定校准

Wiggling标定校准也有称之为Cyclic error calibration,是距离信息相关的循环误差标定校准。

和温度校准一样,由于实际的激光投射脉冲和理想情况有一定差异,导致测量得到的相位差,与理想的相位差之间,呈现一定的变化规律。

理论相位和实测相位之间,理论上是呈现线性变化,见红色斜线,而实测值是有一定偏差的,见蓝色曲线。

而Wiggling即补偿该误差值。

3D TOF产品是个复杂的系统,深度的生成需要软件算法上的环环相扣,而校准参数的应用,是其中不可或缺的一个环节。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mpu6050 z轴校准_技术科普丨TOF标定校准知多少? 的相关文章

  • mpu6050角度滤波

    文章 xff1a https www cnblogs com we1238 articles 7562028 html 输入量 通过mup6050姿态传感器 xff0c 我们可以分别得到X Y Z轴三个方向的加速度和角速度分量 输出量 我们
  • 正点原子mpu6050数据读取失败问题

    如果下载他们官方的程序都读不出来的话 看看你买的是stm32f407的V3版本吗 xff1f 这个版本是只有磁力计的官方代码 你用V3板跑他们的mpu的代码就会读不出来 xff0c 那个mpu6050的代码是已经停产的V2板子的
  • STM32F4无人机6轴运动处理组件MPU6050

    目的 学习MPU6050的原理 MPU6050初始化方法 原理 MPU6050是9轴运动处理传感器 它集成了3轴MEMS陀螺仪 xff0c 3轴MEMS加速度计 xff0c 以及一个可扩展的数字运动处理器DMP xff08 Digital
  • MPU6050介绍及姿态解算

    1 介绍 xff1a MPU6050 是 InvenSense 公司推出的全球首款整合性 6 轴运动处理组件 xff0c 相较于多组件方案 xff0c 免除了组合陀螺仪与加速器时之轴间差的问题 xff0c 减少了安装空间 xff08 1 x
  • MPU6050-扫盲

    文章部分内容转载于 https blog csdn net zmjames2000 article details 88379640 管脚名称说明VCC3 3 5V xff08 内部有稳压芯片 xff09 GND地线SCLMPU6050作为
  • 最简单DIY基于STM32F407探索者开发板的MPU6050陀螺仪姿态控制舵机程序

    STM32库函数开发系列文章目录 第一篇 xff1a STM32F103ZET6单片机双串口互发程序设计与实现 第二篇 xff1a 最简单DIY基于STM32单片机的蓝牙智能小车设计方案 第三篇 xff1a 最简单DIY基于STM32F40
  • MPU6050软件姿态解算

    我是勤劳的搬运工 转自 http blog sina com cn s blog c5a00db10102wd7d html http mini eastday com mobile 180306210610472 html 使用MPU60
  • MPU6050 +STM32F411RCT6

    今天玩了一个MPU6050模块 xff0c 在这里跟大家分享一下 xff0c 希望对大家有所帮助 我用的控制板是我自己画图打板的 xff0c 使用的MCU是STM32F411RCT6 使用的MPU6050如下图 xff0c 在某宝上买的 M
  • 自平衡小车控制(stc12+mpu6050程序)

    自平衡小车控制 xff08 stc12 43 mpu6050程序 xff09 两轮自平衡车最终版控制程序 xff08 6轴MPU6050 43 互补滤波 43 PWM电机 xff09 单片机STC12C5A60S2 晶振 xff1a 20M
  • MPU6050误差分析

    MPU6050模块 xff0c 如图 1所示 该模块集成了一片MPU6050芯片和一片STM8S003F3P6单片机 xff0c 具有串口和I2C接口 MPU6050中的DMP xff08 数字运动处理器 xff09 对姿态进行融合 xff
  • arduino 自平衡小车3\对mpu6050获得的X轴角度和角速度进行卡尔曼滤波

    对mpu6050获得的X轴角度和角速度进行卡尔曼滤波 mpu6050得到的角度值有些值的偏差较大 xff0c 为了使平衡小车更加稳定 xff0c 需要对获得的角度进行优化 xff0c 使用 卡尔曼滤波 xff0c 代码如下 xff1a in
  • ROS读取MPU6050数据

    上一篇讲到使用I2C连接Jetson Nano和MPU6050并使用python读取 xff0c 本次基于roscpp连接读取IMU数据 RTIMULib RTIMULib是本次使用的IMU库 xff0c 支持多种常见的IMU模块 xff0
  • mpu6000、mpu6050陀螺仪加速度计互补滤波数据融合算法原理推导

    时间比较紧 xff0c 就只传照片了
  • MAG02 IMU传感器模块替代MPU6050模块介绍

    MAG02模块内置TDK高精度6轴IMU 惯性测量单元 xff09 传感器芯片 xff0c 通过处理器读取传感器数据 xff0c 并经过内部复杂运算后通过串口输出加速度 xff0c 角速度 xff0c 角度等数据 xff0c 大大减轻了用户
  • MPU6050 - 陀螺仪 - 技术总结

    博主福利 xff1a 100G 43 电子设计学习资源包 xff01 http mp weixin qq com mp homepage biz 61 MzU3OTczMzk5Mg 61 61 amp hid 61 7 amp sn 61
  • MPU6050介绍及姿态解算

    1 介绍 xff1a MPU6050 是 InvenSense 公司推出的全球首款整合性 6 轴运动处理组件 xff0c 相较于多组件方案 xff0c 免除了组合陀螺仪与加速器时之轴间差的问题 xff0c 减少了安装空间 xff08 1 x
  • MPU6050教程(转载)

    如果你想玩四轴 xff0c 想搞什么空中鼠标 xff0c 平衡车等待 xff0c 那么MPU6050真的是太强大了 xff0c 能做很多东西 但是论坛上MPU6050整个教学过程基本上是没有的 xff0c 资源共享 xff0c 不应该只在自
  • stm32 MPU6050 6轴姿态传感器的介绍与DMP的应用

    最近应用到三轴姿态传感器 xff0c 因为之前有MPU6050 xff08 6轴传感器 xff0c 这是6轴的 xff09 xff0c 进行搭配使用 xff0c 通过三轴姿态传感器进行舵机的角度调整 内容来源学习正点原子的教程 xff09
  • Micropython——九轴传感器(MPU6050)的使用及算法(二)

    前言 xff1a 在上篇文章中 xff0c 简单地实现了九轴传感器 xff08 MPU6050 xff09 的获取加速度 角速度以及温度的数值 但是 xff0c 我们知道 xff0c 对于MPU6050来说 xff0c 其提供的数据会夹杂有
  • THWATCH-01 陀螺仪 MPU6050 HAL库 正点原子 STM32驱动 计步

    THWATCH 01 陀螺仪 MPU6050 HAL库 正点原子 STM32驱动 计步 一级目录 二级目录 三级目录 一 cubemx配置 1 使用cubemx配置串口 2 配置IIC1 3 配置时钟和SWDIO下载口 二 修改KEIL工程

随机推荐