This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/AWR1642BOOST:ROS 封装消息数据格式

Guru**** 2618835 points

Other Parts Discussed in Thread: AWR1642

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/675733/linux-awr1642boost-ros-package-msg-data-format

器件型号:AWR1642BOOST
Thread 中讨论的其他器件:AWR1642

工具/软件:Linux

您好!

我正在处理 AWR1642 ROS 封装。 我尝试从发布者处回显数据、并以以下格式接收数据:

标头:
 序列:948
 戳记:
   秒:0
   Ns:        0
 frame_id:"base_radar_link"
高度:1.
宽度:71
字段:
 -
   名称:"x"
   偏移:0
   数据类型:7.
   数量:1.
 -
   姓名:"Y"
   偏移:4.
   数据类型:7.
   数量:1.
 -
   姓名:"Z"
   偏移:8.
   数据类型:7.
   数量:1.
 -
   名称:"强度"
   偏移:16.
   数据类型:7.
   数量:1.
IS _BigEndian:false
point_step:32
ROW_STEP:2272
数据:[0、0、64、60、0、 0、48、61、0、0、 0、0... (此处有大量数据)]

is 密集:true

我想知道数据是如何打包在"数据"列表中的? 此外、是否有方法可以轻松获取物体的位置?

此致。

盖雷

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Gelei、

    您指的是哪条消息和发布者? 我需要对此主题进行一些调查、因此请在下周一(4月2日)之前收到回复

    谢谢
    尼廷
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Nitin、

    我指的是 ROS msg /mmWaveDataHdl/RScan. 我尝试回显此消息、但我不太理解如何读取其中的"数据"。 我可以识别每个帧中有多少个对象以及一些其他信息、但我不知道如何读取数据矢量。

    例如:

    --
    标头:
     序列:66863
     戳记:
       秒:0
       Ns:        0
     frame_id:"base_radar_link"
    高度:1.
    宽度:78
    字段:
     -
       名称:"x"
       偏移:0
       数据类型:7.
       数量:1.
     -
       姓名:"Y"
       偏移:4.
       数据类型:7.
       数量:1.
     -
       姓名:"Z"
       偏移:8.
       数据类型:7.
       数量:1.
     -
       名称:"强度"
       偏移:16.
       数据类型:7.
       数量:1.
    IS _BigEndian:false
    point_step:32
    ROW_STEP:2496
    数据:[0、0、0、61、0、 0、0、61、0、0、 0、0、0、0、128、 63、157、246、5、66、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、0、120、 61、0、0、128、61、 0、0、0、0、0、 0、128、63、182、80、 10、66、0、0、0、 0、0、0、0、0、 0、0、0、0、0、 0、188、61、0、0、 192、61、0、0、0、 0、0、0、128、63、 170、222、1、66、0、 0、0、0、0、0、 0、0、0、0、0、 0、0、0、46、62、 0、0、32、61、0、 0、0、0、0、0、 128、63……]
    is 密集:true
    --
    我知道在该帧中检测到78个物体、但我是否可以知道如何从数据读取每个点的 x、y、z?

    此致、

    盖雷

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Gelei、

    很抱歉耽误你的时间。 ROS 定义了 ROS wiki wiki.ros.org/.../Overview 上给出的 PointCloud2消息

    PointCloud2消息封装了点云库(PCL)中定义的点对象的核心 PointCloud 数据类型。 有关此数据类型的更多信息、请访问:

    pointclouds.org/.../adding_custom_ptype.php。

    PCL 定义了本页中给出的各种预定义点类型,例如 PointXYZ、PointXYZI、PointXYZRGB 等 毫米波 ROS 驱动程序中使用的特定驱动程序是 PointXYZI (X、Y、Z 和 Intensity)

    包含 X、Y、Z 和强度的点信息正在以下文件中的 RSCAN 消息中填充:

    ~/catkin_ws/src/ti_mmwave_rospkg/src/DataHandlerClass.cpp、方法:DataUARTHandler::::sortIncomingData (请查看 case read_obj_struct 下的内容)。

    消息标题中提供了有关字段名称和数据类型的信息、例如:

    名称:"x"
    偏移:0
    数据类型:7.
    数量:1.
    -

    数据类型7代表 Float32、如下所示: docs.ros.org/.../PointField.html。

    因此,数据数组由 XYZI 值的结构组成。

    此致
    尼廷