0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在树莓派5上,如何使用毫米波雷达检测和追踪人类?

上海晶珩电子科技有限公司 2025-07-24 15:32 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在本指南中,我们将学习如何将RD-03D雷达传感器添加到树莓派单板计算机上,以便实时检测和追踪人类。我们将了解该传感器的工作原理及可获取的数据、如何将其连接到树莓派并读取数据,还会用它搭建一些很酷的东西,如雷达可视化界面和一款由人体动作控制的虚拟空气曲棍球游戏。让我们开始吧!


目录:

雷达的工作原理及输出数据

你需要准备的东西

将传感器连接到树莓派

安装树莓派操作系统并启用UART

库与示例代码

雷达可视化与虚拟空气曲棍球游戏


雷达的工作原理及输出数据

RD-03D是一款24 GHz毫米波雷达传感器,对于这样一款价格低廉的设备而言,它能实现诸多功能,这充分证明了当前的技术水平。

该传感器发射频率约为24 GHz的无线电波,并接收反射回来的信号,其原理类似于超声波测距传感器。不过,这款传感器要先进得多。它不仅利用无线电波反射回来的时间(无线电波以光速传播)来测量人与传感器之间的距离,还能通过检测多普勒效应引起的频率变化来测量人的移动速度。就像汽车经过你身边时,声音的音调会发生变化,频率变化越大(由频率偏移引起),汽车的速度就越快。同样的原理也适用于雷达波从人体目标反射回来的情况。这里需要特别注意的是,该传感器只能测量目标朝向或远离传感器的速度。

548cd2a0-6860-11f0-a486-92fbcf53809c.jpg

此外,它还有2个接收天线,用于检测目标的角度。如果发射的无线电波在传感器一侧被人体反射,那么无线电波返回传感器时,会先到达其中一个天线,再到达另一个天线,传感器由此来检测目标的角度。由于无线电波以光速传播,它到达两个不同接收器的时间差小于0.025纳秒。人类最快的眨眼速度是100,000纳秒,而该传感器却能在这个极短的时间内,精确计算出人体相对于传感器的角度。

54a0e556-6860-11f0-a486-92fbcf53809c.jpg

那么,它是如何只检测到人(或许还有其他体型足够大的动物)的呢?这其实是该传感器的神奇之处。当它发射无线电波时,房间内的大多数物体都会反射信号,比如椅子、墙壁、电脑手机等,那它如何分辨出哪些反射信号来自人体呢?简单来说,人体反射的无线电波具有独特的模式。就像可见光(起始频率为400,000 GHz)在不同材料上的反射情况不同一样,我们发射的24 GHz无线电波在人体上的反射情况也与其他物体不同。而且,人类是不断移动的生物,从呼吸到手臂的轻微动作,这些动作在朝向和远离传感器移动时,都会产生微多普勒频移。在雷达看来,人体具有一定的“亮度”,并且充满了微多普勒频移,传感器通过内置的处理功能,利用这些特征来确定人体的位置和身份。

如果把这款传感器带回40 - 50年前,仅其信号处理功能就会让当时的顶尖科学家感到困惑,对于专业的雷达工程师来说,这也会如同魔法一般神奇。

所以,借助这款传感器,你可以使用24 GHz无线电波来检测人体,确定其与传感器的距离(最远可达8米)、相对于传感器的角度,以及其朝向或远离传感器的移动距离。需要注意的是,该传感器必须保持静止,不能移动。我们不确定具体原因,但推测它可能会进行某种房间校准以获取基线读数。如果移动传感器,校准就会失效,导致读数不准确。确保传感器保持静止,我们稍后会详细讨论如何安装该传感器。

现在,你已经了解了它的工作原理和可实现的功能,接下来学习如何使用它吧!


你需要准备的东西

要按照本指南进行操作,你需要准备以下物品:

RD-03D传感器。

连接RD-03D传感器的方法。你可以将导线焊接到传感器的接触焊盘上,也可以购买一个用于板载连接器的跳线适配器。该开发板不附带适配器。

树莓派单板计算机。我们使用的是树莓派5,但经过稍作修改库文件后,也能在树莓派4上使用(稍后会介绍)。

至少16GB的Micro-SD卡并且将其插入计算机的适配器。

电源、鼠标、键盘、显示器和micro-HDMI线——使用树莓派所需的常规物品。


将传感器连接到树莓派

如果你使用的是跳线适配器,请将其连接到RD-03D传感器。不过请注意,我们提供的连接是通用线缆,其颜色可能与开发板的匹配度不高。例如,我使用的线缆中,红色和黑色线是TX和RX引脚,绿色线是5伏引脚,黄色线是接地引脚。在这里,不要过于依赖线缆的颜色,务必以开发板上的引脚标签为准。

54b06922-6860-11f0-a486-92fbcf53809c.jpg

首先,将雷达的5伏引脚连接到树莓派的5伏引脚,并将雷达的接地引脚连接到树莓派的某个接地引脚,为雷达供电。

54c5b4da-6860-11f0-a486-92fbcf53809c.jpg

雷达通过UART输出所有数据,因此我们将雷达的TX引脚连接到树莓派的引脚15(一个RX引脚)。我们还需要向雷达发送命令,所以将雷达的RX引脚连接到树莓派的引脚14(一个TX引脚)。记住,TX引脚用于发送数据,RX引脚用于接收数据,即“RX接TX,TX接RX”。

右侧图片展示的是正确连接线缆的树莓派,请注意,你使用的线缆颜色可能是错误的。


安装树莓派操作系统并启用UART

首先,我们需要将树莓派操作系统安装到Micro-SD卡上。将SD卡插入另一台计算机,下载官方的树莓派烧录工具。选择你使用的树莓派型号,将64位树莓派操作系统作为操作系统,然后选择Micro-SD卡作为安装设备。此安装过程将下载操作系统镜像(约2GB),之后安装只需几分钟。

54d31968-6860-11f0-a486-92fbcf53809c.png

注意:此安装过程将清除SD卡上的所有数据。

安装完成后,将SD卡插入树莓派,连接键盘、鼠标和显示器,完成首次安装过程。这里无需进行特殊操作,按照常规方式设置设备即可。

进入桌面环境后,选择“开始菜单 > 首选项 > 树莓派配置”。在该菜单的“接口”选项卡中启用串口,然后重启树莓派(系统可能会提示你是否重启)。

54e5a560-6860-11f0-a486-92fbcf53809c.jpg

这将使树莓派在其GPIO引脚上启用UART通信


库与示例代码

我们编写了一个基础库,极大地简化了使用该模块的过程,你可以在此处下载其压缩文件,其中还包含我们将使用的所有示例代码:

rd03d-Pi5.zip

将文件下载并解压到桌面等方便的位置。在开始之前,如果你使用的不是树莓派4或其他开发板,让我们看看如何修改脚本。如果你使用的是树莓派5,可以跳过此步骤。

打开名为rd03d.py的Python文件,这是库文件。在大约第23行,你会看到以下代码行:

def__init__(self, uart_port='/dev/ttyAMA0', baudrate=256000, multi_mode=True):

这行代码用于初始化与传感器的UART通信。与之前的树莓派型号相比,树莓派5初始化UART引脚的方法有所不同。你需要将“/dev/ttyAMA0”改为“/dev/ttyS0”。修改后的代码行如下:

def__init__(self, uart_port='/dev/ttyS0', baudrate=256000, multi_mode=True):

现在,我们准备读取传感器数据。打开rd03d_demo_usage.py文件。这是一个非常基础的脚本,演示了如何使用库的所有功能。脚本开头导入了你可能刚刚修改过的库:

fromrd03dimportRD03Dimporttime

如果你想在任何脚本中导入该库,库文件必须与脚本放在同一文件夹中。

之后,我们创建了一个雷达实例,并设置了初始化选项,用于选择使用单目标模式还是多目标模式:

radar = RD03D() # Uses /dev/ttyAMA0 by defaultradar.set_multi_mode(True) # Switch to multi-target mode

多目标模式最多可同时追踪3个目标,但有时效果不太理想,尤其是当人们离传感器较近时。而且,雷达波从墙壁、电视或任何大型平面反射回来时,可能会产生误检,就像墙上有一面镜子,你会看到同一个人两次。单目标模式始终会捕捉最强且最有可能是目标的那个,这会消除很多较弱的反射信号。从可靠性角度来看,单目标模式可能是首选,但不妨尝试一下多目标模式,看看在你的设置中是否可行。

设置好雷达后,我们可以调用radar.update(),该函数会指示库从传感器获取下一个读数并保存。

whileTrue: ifradar.update(): Do what we wantwiththe codeinhere... else: print('No radar data received.')

它会保存该读数,直到我们再次调用update命令。当库执行此操作时,如果获取到有效读数,将返回true;如果出现错误(如获取到损坏的UART读数或线缆松动),则返回false。在示例代码中,我们将此命令放在if语句中,这意味着只有在获取到有效读数时,才会执行嵌套在其中的代码。这是一种简洁且有效的错误处理方法——如果我们获取到不完整的读数并尝试打印,树莓派可能会崩溃。

库中已保存了相关信息,现在我们只需获取这些信息并进行相应处理即可。以下代码演示了如何获取可检测到的3个目标的各自数据。如果你在单目标模式下尝试获取目标3的信息,或者没有检测到第3个人,所有数据点都将为零。

target1= radar.get_target(1)target2= radar.get_target(2)target3= radar.get_target(3)

现在,每个目标变量中都存储了一些信息,这些信息以结构体的形式存在。要获取其中的单个信息,只需使用点号和信息名称即可。以下是一个打印出变量中存储的所有数据点的示例:

print('1 dist:', target1.distance,'mm Angle:', target1.angle," deg Speed:", target1.speed,"cm/s X:", target1.x,"mm Y:", target1.y,"mm")print('2 dist:', target2.distance,'mm Angle:', target2.angle," deg Speed:", target2.speed,"cm/s X:", target2.x,"mm Y:", target2.y,"mm")print('3 dist:', target3.distance,'mm Angle:', target3.angle," deg Speed:", target3.speed,"cm/s X:", target3.x,"mm Y:", target3.y,"mm \n")

运行该代码,你应该会在终端中看到所有这些数据。距离、角度和速度都很容易理解,但X和Y可能有点复杂。X轴是测量一个人离雷达中心线的距离,Y轴是测量一个人离雷达平行线的距离。下图展示了这两个轴。请注意,X轴测量值和角度都有正负值,下图也有所展示。该传感器的最大角度范围为-60度到+60度。

54f8c636-6860-11f0-a486-92fbcf53809c.jpg

以下是在项目中使用该传感器的一些快速提示:

此设置仅用于检测一个人。如果传感器前方有多个人,它将追踪反射信号最强的那个人,通常这是离传感器最近的人。

如果你要将传感器安装在某个地方来检测人员,将其放置在胸部到头部高度之间,以获得最佳效果。

无线电波会从表面反射。在测试时,有时我直接站在传感器后面,但它却检测到几米外的虚假目标。这是因为雷达波从墙壁反射回来,在反射中看到了我,就像镜子一样。如果出现随机读数,那不是幽灵,很可能是检测到了人的反射信号。

如果你使用多个这样的传感器,它们会相互干扰。确保它们之间距离足够远,以免相互接收到对方的信号。


雷达可视化与虚拟空气曲棍球游戏

现在,你已经掌握了在项目中应用该传感器所需的所有知识。不过,在我们结束之前,让我们看看可以用它做的一些很酷的事情。拥有一个能追踪人体位置的雷达传感器,自然希望能将数据以潜艇雷达图像的形式可视化。

打开名为radar_visualisation.py的脚本并运行它。该脚本使用Pygame(一个非常实用的内置工具,用于创建视觉效果和交互式游戏)来获取来自传感器和库的信息,并将其可视化。这是一个非常有趣的可玩项目,也是一个实用的工具,因为它能帮助你排查传感器出现的任何问题,因为我们人类更擅长分析这种视觉形式的数据。

550d35c6-6860-11f0-a486-92fbcf53809c.jpg

在如上所示的二维平面上对被追踪的人进行可视化展示后,不难将其变成一些非常酷的东西。例如,如果你打开radar_airhockey.py文件,你会发现一个脚本,它将被追踪的人的位置映射到虚拟空气曲棍球游戏中。提前说明一下,这个游戏有点卡顿,AI对手的表现时而愚蠢得可笑,时而又像违反了物理定律一样作弊——它肯定还有改进的空间。

5518eec0-6860-11f0-a486-92fbcf53809c.jpg

游戏应该可以开箱即用,但顶部有一堆设置你可以调整,这些设置会改变游戏的运行方式。最重要的是以下几行代码:

self.min_play_distance=1000self.max_play_distance=2500

这些代码通过限定雷达的最近和最远部分来设置游戏区域。

我们不会详细介绍这600行代码的工作原理,因为这不是关于如何使用Pygame的指南,但如果你想要详细介绍,或者你在编写自己的代码时需要帮助,像ChatGPT、Claude和Gemini这样的大型语言模型都能提供帮助。这段代码的很多部分都是在这些模型的协助下编写的。

现在,你已经掌握了在项目中应用该传感器的所有知识。如果你用这个传感器制作了任何很酷的东西,想要分享出来,或者你在本指南中遇到任何问题需要帮助,欢迎在我们的社区论坛上发布!

那么,下次再见啦,祝你制作愉快!

原文地址:

https://core-electronics.com.au/guides/raspberry-pi/using-mmwave-radar-to-detect-and-track-humans-raspberry-pi-guide/

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2573

    文章

    54370

    浏览量

    786071
  • 毫米波雷达
    +关注

    关注

    108

    文章

    1143

    浏览量

    66005
  • 树莓派
    +关注

    关注

    122

    文章

    2069

    浏览量

    109709
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    毫米波雷达方案对比

    角度看,24GHz雷达与77GHz雷达都是处于毫米波的频段,本质并没有形成大的区别。而根据的传播理论,
    发表于 08-04 09:16

    采用毫米波来统计和追踪人员

    的外部处理器。  人数统计样品中(参见图2中的框图),IWR1642管理着所有用来追踪和统计的软件。无需外部处理器, 样品中仅一个PC被用于可视化和配置。   采用毫米波
    发表于 09-25 10:37

    车载毫米波雷达的技术原理与发展

    ;沈阳承泰科技有限公司研发77GHz汽车毫米波雷达关键技术取得突破,预计产品不久将问世。目前,国内毫米波
    发表于 05-10 06:20

    车载毫米波雷达的原理是什么?

    毫米波雷达是测量被测物体相对距离、现对速度、方位的高精度传感器,早期被应用于军事领域,随着雷达技术的发展与进步,毫米波雷达传感器开始应用于汽
    发表于 08-07 08:01

    浅析车载毫米波雷达

    随着汽车的普及率越来越高,以及 AI 的蓬勃发展,汽车的智能化程度不断提高,对于驾驶的安全性和舒适性也不断提高;毫米波雷达因其探测精度高,硬件体积小,不受天气环境的影响等优点被广泛采用。越来越多
    发表于 09-19 09:05

    毫米波雷达(一)

    军事领域,随着雷达技术的发展与进步,毫米波雷达传感器开始应用于汽车电子、无人机、智能交通等多个领域。  目前各个国家对车载毫米波雷达分配的频
    发表于 12-16 11:09

    毫米雷达概述

    和报警指示灯,增加相关系统所需的显示信息,第五,导航设置相关功能的设置软开关。 某国产雷达的布置要求5.毫米波
    发表于 12-16 11:11

    毫米波雷达的特点是什么

    毫米波雷达的特点、优点、缺点;毫米波雷达测距原理,测速原理,角速度测量原理;毫米波雷达系统架构。
    发表于 07-30 08:05

    智能安防领域雷达技术应用,毫米波雷达模组,存在感应雷达发展

    领域能够快速检测并精确入侵目标,及时报警警戒,是安防领域的重要技术设备。随着芯片集成度越来越高,硬件性能强大,毫米波雷达成本低、重量轻、体积小的优势和其他安防传感器对比下显现得比较明
    发表于 08-24 16:47

    雷达传感器模块,智能存在感应方案,毫米波雷达工作原理

    是为了实现盲点监测和定距巡航。毫米波实质就是电磁毫米波的频段比较特殊,其频率高于无线电,低于可见光和红外线。当目标向雷达天线靠近时,反
    发表于 10-28 15:14

    有关毫米波雷达检测和角度测量

    毫米波雷达是什么?毫米波雷达的基本特性有哪些呢?
    发表于 11-10 07:15

    漫谈车载毫米波雷达历史

    成本也非常昂贵,类似于今天的激光雷达,只能应用在少量的高端车型。2000年初,锗硅(SiGe)工艺的发展,大大提高了毫米波雷达芯片的集成度,一个
    发表于 03-09 10:24

    ADAS系统无人驾驶的眼睛毫米波雷达

    普通的PCB基板实现天线的功能,需要在较小的集成空间中保持天线足够的信号强度。3:毫米波雷达基本工作原理1)利用高频电路产生特定调制频率(FMCW)的电磁
    发表于 04-18 11:42

    了解毫米波 -- 之一

    了解毫米波 -- 之一 毫米波技术军用、雷达等领域已经有多年的应用。民用领域,也随着最近的5
    发表于 05-05 11:22

    毫米波雷达(RADAR)

    概述毫米波雷达产品包括前视中距毫米波雷达(MRR)、侧视近距毫米波雷达(SRR)和车内人员
    的头像 发表于 01-25 09:31 3990次阅读
    <b class='flag-5'>毫米波</b><b class='flag-5'>雷达</b>(RADAR)