# 14 如何可视化点云 ## 14.1 概述 `ag_driver_viewer` 是 `ag_driver` 自带的小工具,可以用于显示点云。 本文说明如何使用这个工具。 ![](./img/14_01_ag_driver_viewer_point_cloud.png) 注:使用该工具,请注意 PCL 和 VTK 的版本是否满足,推荐使用低版本。尤其在 Windows 和 Ubuntu 等系统中。 关于依赖 PCL 库:若在 Ubuntu 中使用,可直接通过以下命令直接安装。(同样需要 `apt-cache policy libpcl-dev` 来注意版本) ```bash sudo apt install libpcl-dev ``` ## 14.2 编译和运行 要编译 `ag_driver_viewer`,需要使能编译选项 COMPILE_TOOLS=ON。 ```bash cmake -DCOMPILE_TOOLS=ON .. ``` 运行 `ag_driver_viewer`。 ```bash ./tool/ag_driver_viewer ``` ### 14.2.1 帮助菜单 - `-h`:输出帮助信息并退出。 - `-type`:雷达类型,默认值是 `A0`。 - `-pcap`:PCAP 文件的全路径。如果设置这个参数,则 ag_driver_viewer 从 PCAP 文件读取 MSOP/DIFOP 包,而不是从 UDP socket。 - `-msop`:接收 MSOP 包的端口号。默认值是 *51180*。 - `-difop`:接收 DIFOP 包的端口号,默认值是 *7788*。 - `-group`:主机要加入的组播组的 IP 地址。 - `-host`:主机地址。 - `-x`:坐标转换参数,默认值为 0(单位:米)。 - `-y`:坐标转换参数,默认值为 0(单位:米)。 - `-z`:坐标转换参数,默认值为 0(单位:米)。 - `-roll`:坐标转换参数,默认值为 0(单位:弧度)。 - `-elevation`:坐标转换参数,默认值为 0(单位:弧度)。 - `-azimuth`:坐标转换参数,默认值为 0(单位:弧度)。 注意:要使用坐标转换功能,需要使能编译选项 `ENABLE_TRANSFORM=ON`。 ## 14.3 使用示例 - 从在线雷达 `A0` 接收 MSOP/DIFOP 包。MSOP 端口是 `51180`, DIFOP 端口是 `8877`。 ```bash ag_driver_viewer -type A0 -msop 51180 -difop 8877 ``` - 从 PCAP 文件解码,雷达类型是 `A0`。 ```bash ag_driver_viewer -type A0 -pcap /home/asensing/helios.pcap ``` - 从在线雷达 `A0` 接收 MSOP/DIFOP 包。坐标转换参数为 x=1.5, y=2, z=0, roll=1.57, elevation=0, azimuth=0。 ```bash ag_driver_viewer -type A0 -x 1.5 -y 2 -roll 1.57 ```