天天看点

Ubuntu16.04 + ROS kinetic 环境下Ti毫米波雷达数据的可视化、导出并在MATLAB中处理前言1 数据可视化2 数据导出3 MATLAB处理中pcd文件

Ubuntu16.04 + ROS kinetic 环境下Ti毫米波雷达数据的可视化、导出并在MATLAB中处理

  • 前言
  • 1 数据可视化
  • 2 数据导出
    • 1)数据在终端上打印
    • 2)数据录制为bag文件
    • 3) bag文件转为txt文件
    • 4)数据录制为pcd文件
  • 3 MATLAB处理中pcd文件

前言

本文采用的雷达型号为AWR1443BOOST,假定你是在Ubuntu16.04 + ROS kinetic环境下,并且已经安装配置好毫米波雷达

1 数据可视化

毫米波雷达通电并与电脑连接后,在终端中运行:

roslaunch ti_mmwave_rospkg rviz_1443_3d.launch
           
Ubuntu16.04 + ROS kinetic 环境下Ti毫米波雷达数据的可视化、导出并在MATLAB中处理前言1 数据可视化2 数据导出3 MATLAB处理中pcd文件

就可以在弹出的RViz中可视化雷达数据

Ubuntu16.04 + ROS kinetic 环境下Ti毫米波雷达数据的可视化、导出并在MATLAB中处理前言1 数据可视化2 数据导出3 MATLAB处理中pcd文件

2 数据导出

1)数据在终端上打印

rostopic echo /mmWaveDataHdl/RScan
           
Ubuntu16.04 + ROS kinetic 环境下Ti毫米波雷达数据的可视化、导出并在MATLAB中处理前言1 数据可视化2 数据导出3 MATLAB处理中pcd文件

随后终端连续打印出雷达数据

Ubuntu16.04 + ROS kinetic 环境下Ti毫米波雷达数据的可视化、导出并在MATLAB中处理前言1 数据可视化2 数据导出3 MATLAB处理中pcd文件

2)数据录制为bag文件

打开一个终端,进入想要存放数据的目录下:

mkdir ~/bagfiles
cd ~/bagfiles
           

录制bag文件命令:

rosbag record -a
           
Ubuntu16.04 + ROS kinetic 环境下Ti毫米波雷达数据的可视化、导出并在MATLAB中处理前言1 数据可视化2 数据导出3 MATLAB处理中pcd文件

3) bag文件转为txt文件

file_name.bag

文件中的

topic_name

话题消息转到为

txt_name.txt

文件:

rostopic echo -b file_name.bag -p /topic_name > txt_name.tx
           

在本文中话题消息名为

/mmWaveDataHdl/RScan

,上述命令进一步为:

rostopic echo -b file_name.bag -p /mmWaveDataHdl/RScan > txt_name.txt
           
Ubuntu16.04 + ROS kinetic 环境下Ti毫米波雷达数据的可视化、导出并在MATLAB中处理前言1 数据可视化2 数据导出3 MATLAB处理中pcd文件

4)数据录制为pcd文件

topic_name

话题消息录制为pcd文件:

rosrun pcl_ros pointcloud_to_pcd input:=/topci_name
           

在本文中话题消息名为

/mmWaveDataHdl/RScan

,上述命令进一步为:

rosrun pcl_ros pointcloud_to_pcd input:=/mmWaveDataHdl/RScan
           
Ubuntu16.04 + ROS kinetic 环境下Ti毫米波雷达数据的可视化、导出并在MATLAB中处理前言1 数据可视化2 数据导出3 MATLAB处理中pcd文件

雷达数据连续录制为pcd文件

Ubuntu16.04 + ROS kinetic 环境下Ti毫米波雷达数据的可视化、导出并在MATLAB中处理前言1 数据可视化2 数据导出3 MATLAB处理中pcd文件

3 MATLAB处理中pcd文件

在MATLAB中读取名为

pcd_name

的pcd文件:

ptCloud = pcread('pcd_name.pcd')
           

提取xyz三维位置数据:

xyz = ptCloud.Location
           

提取强度数据:

intensity = ptCloud.Intensity