TI 诚邀您参与论坛问卷调查,帮助我们改善技术支持体验。几分钟便可完成,将随机抽取30名用户送出快充数据线,点击参与

iwr1642 车辆检测demo lab0013_traffic_monitoring_16xx例程远处检测目标横向位置偏移

Other Parts Discussed in Thread: IWR1642BOOST, TIDEP-0092, TIDEP-01021

你好,

我用这个lab0013_traffic_monitoring_16xx例程发现我把设备放在路边,板子正前方右侧是车辆来向,车辆靠近,在远处40-50米可以检测到,但横向距离显示在远处位于板子中线左侧,实际位置是右侧,但随着车辆靠近渐渐回到右侧,10-20米和视觉上对比才是正确的坐标位置。并且,雷达是摆正的,板子正面垂直于道路,也就是中线是和道路是齐平的。请问之前有这种问题码?

如何解决?

谢谢

  • 你好,

    请问你是否看过下面参考设计链接文档里的毫米波板测试的安装信息?
    www.ti.com/.../TIDEP-0090
  • 你好,

    角度参数是设置了对应的,即保证我上面说的板子正对道路,道路和板子平面垂直。我猜想是不是相位补偿的问题。sdk中有关于calibration的内容,对cfg文件中

    compRangeBiasAndRxChanPhase 0.0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0进行修改。不知道是否以往有这样的问题?

    另外,在lab0013_traffic_monitoring_16xx例程中,参数设置场景范围为正前方1m到70m的距离,发现跟踪目标在大约8m以内,跟踪目标快速漂移。比如matlab视图中可以看到目标过了10m范围以内快速向原点收缩。我查看了是在10m或者大致8m范围内,目标无对应点云更新,所以导致跟踪算法(简化认为由观测+预测组成)在近距离主要只依赖预测,所以才会往一个方向漂移。请问有这样的问题吗?

  • 你好,

    可以尝试校准看看。
  • 那么第二个问题呢?近处跟踪目标漂移

  • user5877061 said:

    那么第二个问题呢?近处跟踪目标漂移

    你好,IWR1642BOOST的垂直方向的fov比较小,当你把板子价高后,在近距离处时有一段盲区的。文档里也是有图介绍的。

  • 你好,

    感谢你的回复。我有几点想向你确认一下。我目前使用的cfg是例程初始配置的。

    dfeDataOutputMode 1
    channelCfg 15 3 0
    adcCfg 2 1
    adcbufCfg 0 1 1 1
    profileCfg 0 76 3 5 62.65 0 0  10.622 1 312 5510 0 0 48
    chirpCfg 0 0 0 0 0 0 0 1
    chirpCfg 1 1 0 0 0 0 0 2
    frameCfg 0 1 32 0 50 1 0
    lowPower 0 1
    guiMonitor 1 0 0 0
    cfarCfg 4 60 18 16 8 4 0 63 63 0 1
    doaCfg 1 1 1047 3 600 10 100
    %Calibration Command Default is no calibration
    compRangeBiasAndRxChanPhase 0.0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
    -0.70901 -0.26627 -0.73044 -0.46078
    %TM Demo specific configuration commands
    sceneryParam 1 -2 15 10.0 75.0 0 0 0 0 1 1.25 11.0 20.0 50.0 0 0 0 0
    gatingParam 12 8 4 0
    stateParam 3 10 20 2000 10
    allocationParam 60 60 1.0 3 2.8 2.0
    variationParam 1.15 0.433 1.0
    trackingCfg 1 1 250 20 75 470 50 88
    sensorStart

    1)IWR1642BOOST这块板子在仰角和方向角视场分别可以最宽到22度和100度,这些是我在cfg中可以调整的吗?比如doaCfg

    “The IWR1642EVM has a much wider azimuth field of view of 100° and a somewhat wider elevation field of view of 22°”。

    另外,我可以认为发射出的电磁波是类似放射状(锥形)的吗?

    2)参考您提供的文档中的测试,

    在测试2中,雷达放置在路边有一个10度角的偏转。

    “In this test scenario,the radar sensor is placed at 4.9 m above the ground,approximately 2 m from the edge of the assumed street,approximately at a longitudinal distance of 20 m from the assumed stop bar and with a 10° azimuth offset angle to the street.Two cars move towards the sensor one after the other in the nearest lane.”

    请问雷达是否还是垂直于路面摆放而把cfg参数中trackingCfg 1 1 250 20 75 470 50 88,最后一位参数修改为80?

    3)回到我自己应用的场景,我的应用需求不需要安装在说明文档的高度,向下倾斜(俯视测试场景)而是垂直地面放置在一定高度的,在这样的情况下,近处跟踪目标漂移也就是我此前说的近处没有更新匹配的点云,那么这还仅是因为fov较小导致的吗?fov可以独立调整吗?

    谢谢,

    期待您的回复

  • 你好,

    FOV是天线的特性,天线设计好后就定了,不能通过软件调整。

    如果你想减少近距离的盲区,可以加大下倾角,但可能引入较强的地面反射干扰。
  • 你好,

    1)那么具体fov的角度范围是多少?按实验图像和用matlab跑例程时发现,这个角度大致60度。有明确可查询到的准确数据吗?

    与doaCfg全无关系?

    2)修改cfg参数中trackingCfg 1 1 250 20 75 470 50 88,最后一位参数,是不是板子本身仍然垂直测试道路,只是软件上修改偏向角度?(看图像是这样)

    3)关于您说可以考虑调整向下倾角的方式,其实也就是希望把近距离也囊括在辐射面中。我想问的是,水平正对放置,按理论来说目标就是在这个辐射面中,对应在上面的图中,是在扇形内的,那为什么没有相关点云呢?

    谢谢

    望指教

  • 你好,

    1. IWR1642BOOST板FOV信息:
    dev.ti.com/.../node
    水平FOV:+/-60,垂直FOV:+/-15

    doacfg的配置会影响 angle of arrival function。

    2. 应该是硬件上的设置和配置需要匹配:
    lab0013_traffic_monitoring_16xx\src\mss\task_app.c
    gMmwMssMCB.cfg.applicationCfg.sensorAzimuthTilt = (90-atoi(argv[8]))*3.14f/180;

    3. 你测试时候板子是垂直于地面,不是水平对么?如果是垂直,近处盲区和sensor高度和板子的fov相关。
  • 你好,

    1.可以了解“doacfg的配置会影响 angle of arrival function”具体如何调整吗?

    2.我了解这个参数需要配置,gMmwMssMCB.cfg.applicationCfg.sensorAzimuthTilt = (90-atoi(argv[8]))*3.14f/180;

    不明白的是,开发板实物本身也需要偏转atoi(argv[8])这个角度吗?即板子正对目标,只是增加配置中的偏转角度值(对应fov范围就会相应偏转),而不需要实际改动板子的摆放角度。

    3.板子垂直地面(没有俯仰角偏转),雷达发射面正对测量的场景(雷达发射平面垂直于道路延伸方向,T字形关系)。我尝试改变雷达开发板的架设高度,发现还是有这个问题,进去没有点云信息?

    谢谢

  • 设定测定范围远近参数为1m-70m,大致10m内,就是大致图中10m内小扇形区域没有点云数据,这是由于demo本身设计上做了什么处理吗?

  • 你好,
    想问一下在进行校准时使用的是sdk中的校准方法(在论坛中找到的具体方法):
    在板上烧写mmw demo,在visualizer手动下周mmw\profiles\ profile_calibration.cfg配置文件。
    这个配置文件里X表示是你放角反的位置,默认cfg设置的是1,如果你不修改,请把角反放置在雷达板0度角度,距离1m的地方。
    measureRangeBiasAndRxChanPhase 1 X D
    运行profile_calibration.cfg后,会在console端出错校准的数据。你只要复制其中任意一行,替换掉原来正常运行demo时候的compRangeBiasAndRxChanPhase相关行数据就可以了。
    我已经使用 profile_calibration.cfg测得一组compRangeBiasAndRxChanPhase参数,那么我直接把这组参数修改到demo lab0013_traffic_monitoring_16xx的cfg文件中吗?因为烧录的是两个不同demo, profile_calibration.cfg里一些参数是否需要按照lab0013_traffic_monitoring_16xx例程中的参数做相应修改呢?

    谢谢
  • 你好,
    这边一直还没收到您后续回答
    期待您的回复
    谢谢
  • user5877061 said:
    1.可以了解“doacfg的配置会影响 angle of arrival function”具体如何调整吗?

    和角度估计算法相关,建议你看一下算法实现。

    user5877061 said:

    2.我了解这个参数需要配置,gMmwMssMCB.cfg.applicationCfg.sensorAzimuthTilt = (90-atoi(argv[8]))*3.14f/180;

    不明白的是,开发板实物本身也需要偏转atoi(argv[8])这个角度吗?即板子正对目标,只是增加配置中的偏转角度值(对应fov范围就会相应偏转),而不需要实际改动板子的摆放角度

    软件配置是把硬件的实际安装情况输入给代码。这个配置并不能改变fov。

    user5877061 said:
    3.板子垂直地面(没有俯仰角偏转),雷达发射面正对测量的场景(雷达发射平面垂直于道路延伸方向,T字形关系)。我尝试改变雷达开发板的架设高度,发现还是有这个问题,进去没有点云信息?

    能否再具体一点?板子有多高,在那个位置没有车辆的点云?

  • 你好,

    感谢回复。

    1)板子最初放在1m以下,然后我逐渐提升高度到1m和1.6m,事实查看点云情况,近10m或者更准确一点8m水平线以内没有观察到点云数据,大致如下图绘制橘色部分,或者深蓝线以下。(没有具体丈量,直观观察估计)

    2)可以指路一下角度估计算法算法吗?

  • 你好,
    我看了这篇分析,有几个具体问题,引用原回答:
    1)
    “The range resolution of the MIMO configuration is only 0.25m. In the processing chain, the first few range bins are discarded from detection due to FFT leakage. You can see this effect if you look at the OOB demo and the range profile. For this reason, for short range applications it is better to design a short range, better range resolution chirp configuration.”
    那么为什么舍弃开始的几个range bins?
    2)“In general, if you are interested in short and long range detection I would suggest considering using multiple chirp profiles for each sensing case as this would enable a rich point cloud in the short range while maintaining long range detection.”
    建议使用 multiple chirp profiles具体是指?

    感谢您的回复
  • user5877061 said:
    那么为什么舍弃开始的几个range bins?

    FFT数据在近处会有一个泄露(高峰)。

    user5877061 said:
    建议使用 multiple chirp profiles具体是指?

    使用advanced frame配置。你可以看看汽车的SRR,MRR参考设计文档,里面使用的advance frame的原因是类似的。

  • 你好,

    请问:

    1)FFT数据在近处会有一个泄露(高峰)。是指在底层FFT处理时对应静态物体的反映吗?不知道有没有相关参考资料,其成因是什么?

    2)参考回答中“The range resolution of the MIMO configuration is only 0.25m. In the processing chain, the first few range bins are discarded from detection due to FFT leakage. You can see this effect if you look at the OOB demo and the range profile. For this reason, for short range applications it is better to design a short range, better range resolution chirp configuration.”

    之前在官网上看过类似fft和分辨率计算的文档,这里距离分辨率是0.25m,是因为舍弃了几个range bin。而在相应的回答帖子里提问人说6m以内没有点云,我的是8m,那么取最近的6m,那是不是舍弃了大量的range bin?按照frameCfg 0 1 32 0 50 1 0,总的range bin个数应该是32?

    3)汽车的SRR,MRR参考设计文档,里面使用的advance frame,可以具体指路一下吗?

    非常感谢

  • 1. 建议看看e2e.ti.com/.../724966
    2. range bin的个数和一维fft的点数相关。在TI的TM demo里,前面的几米默认是不检测的,所以把相关数据丢弃也是合理的。
    3. 请到TI官网搜索一下:
    TIDEP-0092 Short-range radar (SRR) reference design
    TIDEP-01021 Beamsteering for Corner Radar Reference Design
  • 你好,

    1.我可以理解为由于计算角度时假定对象与多个TX / RX天线之间的光线平行,但是对于距离很近的物体,这种假设(平行线)无效,并且在使用常规FFT技术进行处理时会引起明显的相位误差,所有有近场校正(near field correction)的需要?我看OOB对应的cfg是有nearFieldCfg,可以选择使用或者禁用,而traffic monitoring的demo对应cfg是没有的,那就是默认使能?

    结合您的前两点回复:

    “ 1. 建议看看e2e.ti.com/.../724966
      2. range bin的个数和一维fft的点数相关。在TI的TM demo里,前面的几米默认是不检测的,所以把相关数据丢弃也是合理的。”

    还是说traffic monitoring demo的做法就是选择把近处的过滤,也不用近场校正了?

    2.另外,目前使用的配置参数profileCfg 0 76 3 5 62.65 0 0  10.622 1 312 5510 0 0 48

    根据官网提供相关计算材料

    range in m = range index * (speed of light(3e8) * (digOutSampleRate * 1e3) / (2 * (freqSlopeConst * (1e6/1e-6)) * numRangeBins)) - range bias  or  range index *range resolution

    以及 "numRangeBins" equals 2^ceil(log2("numAdcSamples")), so "numAdcSamples" is rounded up to the next power of 2 to yield "numRangeBins".(参考

    根据上面的配置参数profileCfg 0 76 3 5 62.65 0 0  10.622 1 312 5510 0 0 48

    numAdcSamples = 312 因此 numRangeBins = 512 ,那么 range index的范围就是0~511

    rangeResolution = (speed of light(3e8) * (digOutSampleRate * 1e3) / (2 * (freqSlopeConst * (1e6/1e-6)) * numRangeBins)) 

                               = (3e8  * 5510  * 1e3) / (2 * 10.622 * 1e12 * 312) = 0.2494m

    在算最小6m范围内接受不到点云 即 6 / 0.2494 = 24大约舍弃了前24个range bin?

    我想确认一下这些都是不可修改的对吗?

    3.我在这两个参考文档里面没有找到multiple chirp profiles和advance frame的相关内容,麻烦能提供详细说明吗?

    谢谢

  • 你好,

    应该是在做CFAR检测的时候,没有去检测近处的目标。你能否尝试修改cfarcfg的第二个参数?
    static int32_t MmwDemo_CLICfarCfg (int32_t argc, char* argv[])
    {
    。。。

    //cliCfg.tableEntry[4].helpString = "<detMode> <discardLeft> <discardRight> <refWinSize1> <refWinSize2> <guardWinSize1> <guardWinSize2> <thre>";
    /* Populate configuration: */
    cfarCfg.cfarMethod = (uint16_t) atoi (argv[1]);
    cfarCfg.cfarDiscardLeft = (uint16_t) atoi (argv[2]);

    e2e.ti.com/.../736167
  • 关于advanced frame:
    www.ti.com.cn/.../swra553a.pdf
     6 Advanced Chirp Configurations
     
    www.ti.com/.../tidud36b.pdf
    2.3.3 Configuration Profile

  • 你好,

    1.在TM的cfarCfg 4 60 18 16 8 4 0 63 63 0 1 中每一位的含义是什么?

    比如您建议修改第二个参数 60 ,其单位或者说物理含义是什么呢?

    2.TM这个demo中是否有默认近场校正?因为在cfg文件中是没有nearFieldCfg参数配置的

    谢谢

  • 你好,

    建议你看看各个参数使用的相关代码,会有更清楚的了解。
    static int32_t MmwDemo_CLICfarCfg (int32_t argc, char* argv[])
    {
    。。。
    //cliCfg.tableEntry[4].helpString = "<detMode> <discardLeft> <discardRight> <refWinSize1> <refWinSize2> <guardWinSize1> <guardWinSize2>