从原理到应用教你了解毫米波雷达

2023-10-26

关注公众号,发现CV技术之美

本文转自西湖大学智能无人系统课题组,作者丁苏生。

毫米波雷达基础知识

简介

毫米波雷达(mmWave Rader)采用毫米波作为电磁波发送信号,捕捉并处理电磁波经过路径障碍物的反射信号后可获取目标物体的 速度、距离、方位角和高度 等信息。

毫米波的波长范围为0-10mm,在电磁频谱中这种波长被视为短波长。采用毫米波作为电磁波信号能够获取高精度的测距信息,同时天线也可以做的更小和紧凑减小设备体积。工作频率为 76–81GHz(对应波长约为 4mm)的毫米波系统将能够检测小至 零点几毫米 的移动。

距离测量

毫米波雷达距离测量的基本原理是,计算发射电磁波与接收反射电磁波之间的时间差,并通过电磁波传播速度 c 估算目标物体距离 d,公式为 d=。如下图1所示为 FMCW (Frequency Modulated Continuous Wave)雷达主射频组件的简化框图。

主要工作流程为:

①通过合成器生成线性调频脉冲;

②将线性调频脉冲通过发射天线发射出去;

③通过接收天线接收反射的电磁波;

④通过混频器将发射信号和接收信号合并到一起,生成中频(IF)信号,并通过IF信号计算时间差。

9ca058a7724aa3aea5fa86aa80a85f50.png
图1  FMCW雷达框图[1]

混频器是一个电子组件能够将两个信号合并在一起并生成新的频率的信号,生成的新频率等于两个输入正弦信号频率差,相位差等于两个输入信号的相位差。图2所示为毫米波雷达经过以上流程后检测单个物体获取的IF信号。当电磁波经过路径有多个障碍物时,接收天线会接收到多个反射信号,生成多个信号频率固定的IF单音信号,通过傅里叶变换即可分离IF信号中不同单音,因此毫米波雷达能够同时检测多个目标物体的距离。

075ff2c62bf547b82dd172d4aead868b.jpeg
图2 毫米波雷达检测单个物体[1]

速度测量

FMCW毫米波雷达会发射两个间隔为的线性调频脉冲用于测速,如下图6所示。每个反射的线性调频脉冲通过FFT处理后,可获取到物体的距离信息(距离FFT)。每个线性调频脉冲的距离FFT会在同一位置出现峰值相同,相位不同。测得相位差对应于速度为物体的移动。当有多个具有不同速度的物体在同一距离时,双线性调频脉冲速度测量方法将不起作用,需要发送N个线性调频脉冲并通过多普勒FFT可以计算出相同距离多个物体的速度。

b1475f58ba1c6afed3f362115ca103a0.png
图3 双线性调频脉冲速度测量[1]

角度检测

FMCW毫米波雷达至少需要两个接收天线才能测出目标物体角度信息。图4为毫米雷达角度检测原理,目标到天线的差分距离很小的变化就会导致距离FFT或多普勒FFT峰值相位的变化,该结果可被用于执行角度估算,进行角度估算至少需要两个天线。

e37fcf73686366c8b4d32ea25699a9ee.png
图4 FMCW毫米波雷达角度估算[2]

相位变化与距离间的数据推导公式为:=,假设接收天线接收的波形为平面波,接收天线之间的距离为,则=。因此到达角可以根据公式=计算出来。如下图5所示,取决于,是一种非线性依赖的关系,仅在的值很小时,才是线性近似。因此当接近0°时角度估算准确度最高,接近90°时角度估算准确度降低。

a5933cc09f846a8c74a93e96e2339da1.png
图5 角度准确度估计[2]

毫米波雷达机器人领域应用场景

毫米波雷达目前常应用于汽车、消费、工业以及医疗等领域。汽车是其最早的商用场景,同时也是其目前最大的应用市场。随着近些年人工智能与机器人技术的发展,毫米波雷达应用于机器人场景的也越来越多, 本文主要介绍毫米波雷达在机器人领域的应用场景。

导航与障碍物规避

采用毫米波雷达作为机器人感知传感器,可实现机器人的导航与障碍物规避,与IMU、里程计、摄像头等传感器融合后可以实现对环境的建图等功能。如下视频1为TI公司工程师在ROS中使用毫米波雷达实现机器人的障碍物避障与导航效果,视频中机器人能够快速的避开障碍物并能够检测到路径中的玻璃挡板。毫米波雷达作为感知模块相较于摄像头和激光雷达等传感器,能够 识别玻璃 并能 穿透浓雾 ,因此在机器人导航与避障时增加毫米波雷达能够增加整个系统的鲁棒性。

视频1 TI公司工程师在ROS中使用毫米波雷达实现机器人的障碍物避障与导航效果[3]

移动平台下的多目标跟踪

多目标跟踪算法能够根据传感器的数据对多个目标进行跟踪和识别,这类传感器可以是摄像头、激光雷达和毫米波雷达等,也可以是几种传感器的组合。毫米波雷达在多目标跟踪算法中可以通过计算到目标的速度、方向和距离等参数,对目标进行分组和检测,并跟踪目标物体的运动。
如下视频2所展示的为TI实验室采用毫米波雷达在移动机器人上进行障碍物跟踪与识别的效果,算法将毫米波雷达获取到的数据处理后输出点云信息和障碍物的位置信息,视频中可以看到毫米波雷达可以很轻松地在 静止移动 的情况下识别并跟踪目标障碍物。

视频2 TI实验室采用毫米波雷达在移动机器人上进行障碍物跟踪与识别的效果[3]

在多目标跟踪算法中毫米波雷达相比摄像头优势在于能够直接获取到检测目标的速度,并能在黑夜和大雾环境下实现检测目标物体的检测与跟踪。下图6所示为毫米波雷达在黑夜环境下对微小无人机的识别效果,红框中的为摄像头检测到的无人机,黄框中为毫米波雷达检测到的无人机点云数据。

f935515da6b1575d3a226ed4e4223289.png
图6  毫米波雷达黑夜环境下的无人机检测

3D感知与建图

毫米波雷达可以发射毫米波信号,并通过测量信号的反射时间和强度来获取目标物体的位置、速度和角度等信息。这使得毫米波雷达能够实现对周围环境的精确三维感知。通过对多个角度和方向的扫描,毫米波雷达可以生成一个准确的三维点云,其中包含了物体的位置、形状以及相对速度等信息。利用毫米波雷达的感知数据,可以创建环境地图,这些地图通常被称为 环境建图感知地图 。这些地图可以显示道路、建筑物、障碍物等环境特征,有助于自动驾驶系统做出决策和规划路径。毫米波雷达的高分辨率使其能够检测到较小的物体,如行人和自行车,从而提供更详细和准确的地图数据。

下图7为四个毫米波雷达分别朝四个方向安装在TurtleBot上,实现机器人3D感知与建图的效果图,3D建图能够提供小于1°的角度分辨率,在建图的同时能够获取到机器人室内实时的定位数据,建图效果如下视频3所示。

deb714268924f0a35c2ad7b26fc268a6.png
图7 turtleBot毫米波雷达安装[3]

视频3 毫米波雷达3D感知与建图效果视频[4]

毫米波雷达未来发展

毫米波雷达具备在机器人、自动驾驶等技术领域引发重大变革的潜力,然而尚未达到成熟阶段。毫米波雷达的未来发展趋势可能主要受以下几个因素影响:

1)点云质量的提升:  毫米波雷达点云在数据格式中最为常见,但其质量相较于其他传感器较低,下图8展示了毫米波雷达与当前常用感知传感器性能的对比。雷达的多径效应等特性严重影响点云数据质量。急需改善信号处理流程中的信息损失,特别是通过采用精心设计的基于学习的方法替代恒虚警率自适应检测(CFAR)。基于学习的方向估计(DOA)方法,而非波束赋形(DBF)方法,也可用于超分辨率角度估计。

b0e1239eb4ead32dc785c3edd7bf566a.png
图8 常用感知传感器性能对比[5]

2)应用算法重新设计:  除了改进毫米波雷达点云,信号处理后的应用算法也至关重要。目前,许多毫米波雷达的应用算法是在相应激光雷达算法的基础上修改而来。毫米波雷达的特殊性,如速度测量能力和在极端环境下的自适应能力,需要未来进一步研究。在感知任务方面,多模态融合无疑是未来的发展方向。然而,在极端天气条件下,雷达与其他传感器的集成是否会降低其稳健性,仍需深入探讨。对于毫米波雷达的定位和地图绘制,与激光雷达和相机的融合仍有巨大的创新空间。

3)充分利用前端数据:  针对毫米波雷达信号处理中的独特数据格式,如原始ADC数据、RD图和4D张量,利用这些数据进行感知、定位和映射是一个有趣且尚未被充分探索的领域。基于学习的模型有望从这些数据中获取丰富信息,同时保持良好的实时性能,这可能会成为未来研究的一个重要方向。

4)扩充数据集:  与其他基于数据驱动的研究领域一样,数据集在毫米波雷达的相关研究中扮演着关键角色。然而,目前可用的毫米波雷达数据集还相对有限,数据格式和场景丰富性有待进一步扩展。为此,我们需要在数据集方面投入更多的努力,以支持毫米波雷达研究的深入发展。

参考链接

[1]https://www.ti.com.cn/cn/lit/wp/zhcy075/zhcy075.pdf?ts=1692074586217&ref_url=https%3A%2F%2Fwww.ti.com.cn%2Fproduct%2Fcn%2FIWR1843
[2]https://blog.csdn.net/qq_39764867/article/details/108883896
[3]https://dev.ti.com/tirex/explore/node?node=A__AADmvwTa5NEerQpNX45UAg__radar_toolbox__1AslXXD__LATEST
[4]https://www.bilibili.com/video/BV1HA411z7S2/?spm_id_from=333.337.search-card.all.click&vd_source=ea0befe86c9aad224259deb98ff3b82e  
[5]https://mp.weixin.qq.com/s?__biz=Mzg2NzUxNTU1OA==&mid=2247541556&idx=1&sn=6d56e33f87fb9f6ec9f2ec2b192a3c80&chksm=ceb80efdf9cf87ebe7b3ff64af3d3dbb0f72b164419665eb6336eac9a489cff281d35dd1b077&token=191443380&lang=zh_CN#rd
[6]https://www.auto-testing.net/news/show-115243.html
[7]https://zhuanlan.zhihu.com/p/621407954
[8]https://zhuanlan.zhihu.com/p/635927756?utm_id=0

872db80bf98c788c6878734de9f2d0ad.jpeg

END

欢迎加入「自动驾驶交流群

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

从原理到应用教你了解毫米波雷达 的相关文章

  • 计算机网络总结篇-我们是怎么访问百度的?

    对于计算机网络的理解 我的理解便是从生活中剥削出的知识体系 但这个不能用生活完全的去理解 毕竟编程思维跟生活区别还是很大的 但是生活中的例子能让我们先理解一个大概 比如我说一个例子 我的同学 谭某 他这个人比较的贱 有很多仇家 有一天仇家a
  • 华为交换机关闭接口命令_华为交换机常用命令及技巧

    如果这篇文章对您有帮助 请关注并点赞 感谢您的支持 如果还有其他问题 请私信给我 前几期讲解了华为交换机的一些配置 今天讲解一些简单的命令和一些技巧 主要是显示华为交换机配置的一些命令 这些命令对于网络管理很有帮助 也是华为交换机的常用命令
  • java无法找到加载主类是什么意思,在Java程序运行时遇到的“Could not find or load main class(无法找到或者加载主类)”是什么意思?...

    其中是命令行选项 以 字符开头 是包含包名称的完整类名 是任意传递到应用程序的命令行参数 1 有一个名为 executable 的JAR文件的并不使用这种语法 稍后我将在底部对其进行描述 包含包名称的完整类名通常写成你在Java源代码中 你
  • [Qt]Qt(C++开发框架)下载安装

    Qt开发环境安装教程 Qt官方下载网址
  • 王者荣耀助手动态服务器维护中,王者荣耀助手动态怎么发不了

    发布时间 2015 11 20 王者荣耀助手礼包怎么领取 助手礼包领取地址是什么 下面来看看王者荣耀助手礼包怎么领取 助手礼包领取地址一览吧 希望能对大家有所帮助 蚕豆网王者荣耀开黑群 439442380 点击加入 亲爱的召唤师 安卓版 l
  • springboot -- 微服务 - 3.Eureka注册中心

    三 Eureka注册中心 3 1 作用 在Eureka架构中 微服务角色有两类 EurekaServer 服务端 注册中心 记录服务信息 心跳监控 EurekaClient 客户端 Provider 服务提供者 例如案例中的user ser
  • docker启动出现Error response from daemon: Cannot restart container的报错

    1 发现问题 突然发现启动 重启 容器的时候报这个错 Error response from daemon Cannot restart container 容器id driver failed programming external c
  • Spark自学之路(十三)——Spark 机器学习库

    Spark 机器学习库MLlib Spark提供了一个基于海量数据的机器学习库 它提供了常用机器学习算法的分布式实现 开发者只需要有 Spark 基础并且了解机器学习算法的原理 以及方法相关参数的含义 就可以轻松的通过调用相应的 API 来
  • LeetCode力扣刷题:27.移除元素

    第一版 还没领悟到双指针的内核 void swap int a int b int temp a a b b temp int removeElement int nums int numsSize int val int len nums
  • php三层架构erp,基于ERP/MES/PCS三层架构的现代集成制造系统模型

    数据集成是实施MES的基础将生产管理层的生产运行 产品质量 原料和产品输送 动力能耗等数据进行汇总和处理 使下层生产过程的实时信息和上层企业资源管理等的各类信息都在MES层中融合 并通过信息集成形成优化控制 优化调度和优化决策等调度或指令
  • 【电路】自用人体感应灯(HC-SR501人体感应模块)

    文章目录 低成本人体感应灯 需求分析 器件清单 参数测量 HC SR501人体感应模块 LED灯板 方案设计 思路简介 原理图 PCB设计 成品 低成本人体感应灯 需求分析 老旧小区地下室没有灯 找钥匙不方便 地理环境因素使用声音传感灯易发
  • 五年后端研发,跳槽薪资30k变成45k,总结的这些面试题,你会哪些

    每年的金三银四都是各大公司招聘程序员的最佳时期 在这段时间内有好多程序员会为了面试而发愁 不知道如何才能收到好的offer 拿到理想的薪资 实现自我的人生价值 我想告诉大家的是 其实都不用愁的 好好准备一下就可以了 每个人都想找一份大厂的
  • linux服务器安装jdk,maven详细步骤

    linux服务器安装jdk maven以及nginx详细步骤 一 安装jdk 使用命令安装 二 安装maven 1 将下载好的maven包放入linux下自定义文件夹 2 配置maven环境 打开profile文件 命令如下 一 安装jdk
  • C语言是用( )符号来标注字符常量,C语言符号常量的常考点

    各位计算机考研的小伙伴们 大家好 很开心以这样的方式和大家分享计算机考研的相关知识 今天给大家带来的内容是考研 C语言程序设计 中符号常量的常见考法 符号常量是用一个标识符来表示一个常量 特点是编译后写在代码区 不可寻址 不可更改 属于指令
  • stm32HAL库 G4 SPI 从机DMA可变长度接受数据乱码问题

    使用一个引脚当作SPI CS 边沿触发 在电平位0时候接受SPI数据20个字节 如果实际主机只发了小于20字节时候 下一个帧就会错乱 去老外找了之后 需要复位SPi RCC时钟才能复位掉SPI 下面的不行 正确的做法
  • 《剑指offer》系列---1

    最近一直在看剑指offer 这上面的题目都是比较考察编程能力的 打算做个记录 把写过的代码保存下来 1 实现一个string类 面试官的考察点应该在以下几点 1 模板类的书写 2 对于赋值函数考察的几点 1 是否返回引用 因为只有返回引用
  • 《面向对象程序设计C++》期末考试试卷

    面向对象程序设计C 期末考试试卷 一 选择题 每小题3分 共48分 01 下列关于C 函数的叙述中 正确的是 C A 每个函数至少要具有一个参数 B 每个函数都必须返回一个值 C 函数在被调用之前必须先声明 D 函数不能自己调用自己 02
  • OpenCV图像翻转:flip()函数的使用

    功能描述 flip 函数翻转一个二维的矩阵 包含垂直翻转 水平翻转 以及垂直水平翻转 函数 cv flip 以以下三种方式之一翻转矩阵 行和列索引从0开始 函数使用示例方案如下 flipCode 0 垂直翻转图像 是源图像的top left
  • 超线程简介

    超线程简介 超线程的技术原理 超线程技术在一个物理核上模拟两个逻辑核 两个逻辑核具有各自独立的寄存器 eax ebx ecx msr等等 和APIC 但会共享使用物理核的执行资源 包括执行引擎 L1 L2缓存 TLB和系统总线等等
  • 2023第十三届MathorCup高校数学建模挑战赛C题解析

    2023第十三届MathorCup高校数学建模挑战赛C题解析 题目 解析 前言 题目一 题目二 题目三 题目四 题目 C 题 电商物流网络包裹应急调运与结构优化问题 电商物流网络由物流场地 接货仓 分拣中心 营业部等 和物流场地之间的运输线

随机推荐

Powered by Hwhale