[分享] 【TI毫米波雷达测评】人体位置检测

a736015   2019-12-26 20:32 楼主

IWR1443BOOST开箱测试:https://bbs.eeworld.com.cn/thread-1101610-1-1.html

SDK及例程下载:https://bbs.eeworld.com.cn/thread-1102315-1-1.html

XWR14XX 数据路径:https://bbs.eeworld.com.cn/forum.php?mod=post&action=newthread&fid=154

IWR1443 BOOST 的CLI命令:https://bbs.eeworld.com.cn/thread-1104699-1-1.html

 

一、mmWave检测结果

      out_of_box_demo例程的数据处理放在 void MmwDemo_dataPathTask(UArg arg0, UArg arg1) 函数中。其中包含了1D FFT数据处理、2D FFT数据处理、距离偏差测量、CFAR处理、角度估算、数据通过DAT_port输出等。数据处理完后会存储在MmwDemo_DataPathObj(结构体位置 C:\ti\mmwave_sdk_02_01_00_04\packages\ti\demo\xwr14xx\mmw)结构体中,我们就可以在该结构体当中找到需要的数据进行处理。

二、人体位置信息

新建人体位置信息结构体,用于存储检测范围内人体数量及坐标。

#define MY_MAX_OBJ_OUT 100
/*用于存储检测到的人体的坐标*/
typedef struct my_detectedObj_t
{
    int32_t  x;             /*单位毫米*/
    int32_t  y;             /*单位毫米*/
} my_detectedObj;

typedef struct My_DataPathObj_t
{
    /*检测到的人体数量*/
    uint32_t my_numObjOut;

    /*输出人体位置数组*/
    my_detectedObj objOut[MY_MAX_OBJ_OUT];
} My_DataPathObj;

三、人体位置检测

在main.c文件,加入自定义头文件

image.png

结构体初始化

image.png

 

定义打印信息缓存

image.png

新建信息处理函数

image.png

其中,int32_t My_DataProcess(MmwDemo_DataPathObj *obj)函数用于把SDK中结构体MmwDemo_DataPathObj的数据通过算法得到人体数量及位置信息,这里就不体现源函数了。当检测范围内有检测到人体是,返回 0,否则为其他值。

 

在void MmwDemo_dataPathTask(UArg arg0, UArg arg1)函数中,注释掉原数据发送函数MmwDemo_transmitProcessedOutput(gMmwMCB.loggingUartHandle,dataPathObj);,加入自定义的函数My_transmitProcessedOutput(gCLI.cfg.cliUartHandle,dataPathObj);

image.png

由于原数据发送函数是通过DATA_port串口输出,注释掉后,DATA_port将不会输出数据。新增的数据数据发送函数由CFG_port串口输出。

重新编译工程并烧入程序。通过串口调试助手就可以查看到检测的信息。

image.png

 

至此,就可以通过mmwave来进行人体位置轨迹跟踪,外接的MCU就可以通过串口接收的信息进行相关的处理。

 

  • image.png
  • image.png

回复评论 (9)

毫米波mmwave来进行人体位置轨迹跟踪

谢谢分享

点赞  2019-12-26 20:33

这么神奇人体位置都能检测,如果要是有什么动物靠近呢,不会出错吧。

点赞  2019-12-27 09:00
引用: alan000345 发表于 2019-12-27 09:00
这么神奇人体位置都能检测,如果要是有什么动物靠近呢,不会出错吧。

这个只能靠算法去实现了。有看过ti的一个在线培训,介绍区分人体和植物的。
点赞  2019-12-27 10:22
引用: a736015 发表于 2019-12-27 10:22 这个只能靠算法去实现了。有看过ti的一个在线培训,介绍区分人体和植物的。

这样啊,ti还是比较厉害的。

点赞  2019-12-30 09:10

TI培训发起的评测吗?弱弱问一下怎么参加这个评测??

点赞  2020-2-11 09:44

,我想不用mmwave visualizer发送指令,应该怎么用matlab发指令,用串口助手获取数据。能否提供一个帖子,谢谢

点赞  2020-2-22 21:32

新手,真的不太懂,非常需要帮助,有偿,加Q1142291205

点赞  2020-2-22 21:32

请问,这些函数应该是TI的原始文件里就有的吧?难道要自己编写?还有串口获得的数据是什么数据?获得这些数据有啥用?还有就是这些数据在外面处理后(比如python分类)怎么输出分类的结果?

点赞  2020-7-9 10:50

你好,可以提供一下 My_DataProcess的源函数嘛

点赞  2020-10-9 21:27
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复