本文介紹了大陸ARS548毫米波雷達的調試與測試流程,主要包括以下內容:
設備參數:最大檢測距離301m(可調93-1514m),支持gPTP時間同步。
接線調試:
Windows需使用USB-RJ45轉換器 Linux可直接連接網線
上位機測試:
需注意Windows Intel網卡不兼容點云數據顯示。
Wireshark配置:
需加載對應固件版本的Lua插件 當前實驗室使用5.48.4版本
VLAN配置:
提供臨時和永久兩種修改方式 需將VLAN ID設為19以接收組播數據
時間同步:
使用linuxptp工具實現gPTP同步 需配置主從時鐘關系
ROS集成:
需將解析包放入ROS工作空間編譯 運行前需確保網絡配置正確 文末提供了詳細的操作命令和配置示例,并強調測試過程中的注意事項。
1、大陸ARS548手冊
輸出點云數
電源:
最大檢測距離: 301m 93~1514m可調
時間同步:gPTP
2. 接線調試
windows - 需要加一個Hub
Linux - 直接連網線就行
根據測試的實際結果,建議Windows 下測試時 加一個 RJ45 - USB的 hub 修改 hub 上的網卡 , linux 直接連接電腦修改eno1的網卡就行。
注:windows下 intel的網卡不支持點云數據的查看,需要使用綠聯的以太轉USB的hub,接到電腦上,設置相應的 VLAN ID 和 IP,防火墻可以不禁用。
3. 上位機軟件測試
2
4. Wireshark加載lua插件
不同固件版本的雷達,需要加載不同固件對應的 lua 腳本;
幫助 >> 關于wireshark >> 文件夾 >> lua插件文件夾加載 >> 重啟wireshark
實驗室 目前 ARS548的毫米波雷達 需要加載 《5.ARS548_v5.48.4_20221214》 lua
加載后
5. 設備VLAN ID 19 修改
設備:ubuntu系統
(1) 設備 VLAN ID 19修改
由于ARS548雷達本身是組播模式傳輸數據,提供的上位機軟件沒有單播模式可修改。
因此,需要將電腦本身的IP添加到組播組中,修改VLAN ID為19.
提供了兩種修改方式,建議采用第二種方式修改。
方式1 - 臨時修改:
在 Ubuntu 系統下,可以使用 ip 命令來配置以太網卡的 VLAN。以下是配置以太網卡 VLAN ID 為
19 的步驟:
確認網絡接口名稱: 打開終端并運行以下命令,找到你要配置的網絡接口的名稱。
ip link
- 添加 VLAN: 使用以下命令將 VLAN 19 添加到你的以太網接口, 以太網接口名稱為eno1 :
sudo ip link add link eno1 name eno1.19 type vlan id 19
這將創建一個名為 eth0.19 的虛擬接口,并將其與 VLAN 19 關聯。
- 啟用 VLAN 接口: 使用以下命令啟用新創建的 VLAN 接口:
sudo ip link set dev eno1.19 up
up是開啟,down是關閉。
- 驗證配置: 運行以下命令驗證 VLAN 配置:
ip link show
你應該能夠看到 eth0 和 eth0.19 這兩個接口,其中 eth0.19 是 VLAN 19 的子接口。
這樣,以太網卡就配置了 VLAN ID 19。
方式2 - 永久修改:
上述更改在系統重啟后將被重置。如果想要使其永久生效,需要將配置信息添加到網絡配置文件中。
網絡配置文件通常位于: /etc/network/interfaces 或 /etc/netplan/
目錄下,具體取決于你的系統和網絡管理器。如果使 用 Netplan 進行網絡配置,可以編輯 Netplan 配置文件,例如 /etc/netplan/01-netcfg.yaml,
修改前需要備份一下:
并在接口的 vlans 部分添加以下內容:
最后執行:
sudo netplan apply
這樣配置將在系統重啟后保持。
6. 時間同步測試
參考介紹博文:
- https://getiot.tech/zh/linux-command/ Linux命令大全 有 ptp4l + phc2sys的使用介紹
ARS548支持gPTP協議,采用 linuxptp 開源工具進行時間同步,PC機或者域控制器是主時鐘,雷達是從時鐘;
(1)安裝linuxptp工具
linuxptp-4.2.tgz
1
一般直接sudo apt-get install linuxptp就行,但是在使用過程中發現報錯:
unknown option BMCA at line 26 in global section
查資料發現,直接apt-get安裝,不支持BMCA
2
隨后從github上下載 git clone git://git.code.sf.net/p/linuxptp/code linuxptp
執行 sudo make | sudo make install 安裝, 依舊報錯
3
更換了一個安裝包,
https://sourceforge.net/projects/linuxptp/
執行 cd linuxptp | sudo make | sudo make install 安裝
(2) 安裝完成之后,修改auto-Master.cfg 配置文件
將 ptp_dst_mac 修改為 ARS548 雷達的 mac 地址。
然后 開一個終端 執行:
sudo ptp4l -i eno1 -m -H -f automotive_Master.cfg
結果如下:
再開一個終端 執行:
sudo phc2sys -m -s CLOCK_REALTIME -c eno1 -w
結果如下:
然后打開終端執行:
sudo wireshark
ARS548會以20HZ的速度發數據報文,三種類型,detectionlist、sensorstatus、objectlist。
主要查看其中的sensorsStatus : Sync Status 狀態位為1 則表示 時間同步成功,此時同步正常。
注意:
-
測試過程中使用轉接盒的話,ARS548發的包,其MAC 地址 是 轉接盒的 MAC地址;
-
以上兩條核心命令測試執行后,下次還需要再次輸入,因此可以將其以服務的方式啟動,每次系統自啟,作為后臺進程;
7. ROS 點云查看
需要將供應商提供的 parse 包放到ROS 的catkin_ws 的src下面
按照如下步驟,編譯ros node節點
CATKIN_MAKE:
將parse文件夾拷貝至“${ROS_WORKSPACE}/src/”下
切換至WORKSPACE目錄: cd ${ROS_WORKSPACE}
執行命令:catkin_make
若catkin_make忽略了parse項目,執行: catkin_make --only-pkg-with-deps parse
運行DEMO前確認以下步驟:
配置網卡IP與雷達IP在相同網段,配置網卡VLAN ID
parse/script/udp_receiver.py, line 75 配置host_ip與radar_ip
host_ip : 192.168.1.102
radar_ip : 192.168.1.205
添加python腳本執行權限: chmod +x ${ROS_WORKSPACE}/src/parse/script/*
運行DEMO:
roslaunch parse single_radar_viz.launch
**核心有兩種類型的 Topic : ** detection模式: /det_viz_pub | obj_viz_pub
可以選擇顯示某種類型的數據。
8. ROS點云數據采集
類似菜鳥教程的網站:https://getiot.tech/zh/
1. rosbag 使用說明:
https://blog.csdn.net/QLeelq/article/details/123201294
2. rosbag 播放數據, rviz查看數據
https://blog.csdn.net/qq_42585108/article/details/104853192
- 啟動launch文件
roslaunch parse single_radar_viz.launch
- 記錄所有的話題數據 (文件名會自動保存為日期)
rosbag record -a
- 播放bag文件
rosbag play xx.bag
- 打開rviz查看數據
rosrun rviz rviz
- 在rviz中訂閱相關的topic即可查看
附錄
1. VLAN + 組播 (云馳適配問題)
二層交換機和三層交換機的區別: https://zhuanlan.zhihu.com/p/379870366
VLAN介紹: https://zhuanlan.zhihu.com/p/385949949