Hesai PandarQTを買って動かしてみた

なんかHesai Lidarを購入してたので、物理配線を行って起動してみたという話

はじめに

以前VLP-16を買って遊んでたが、

  • Line数がもっと多いLiDARも使ってみたい
  • 室内で使うには視野角が上下方向の視野角が狭い

というモチベーションでeBayをグルグルしたところ、Hesai Pandar QT64が安かったので購入。 諸々込で3万円台だったので、お買い得だったのではないだろうか?

構成

  • LiDAR本体
    • Hesai PandarQT (64Line)
  • InterfaceBox
    • QT64との通信は100BASE-T1という2線式Etherらしく、VLP-16の100BASE-Tと異なる
  • PC
    • ゲーミングノート

PC側設定

  • Ubuntu 22.04
  • ROS2 Humble導入済み
  • CUDA 導入済み
  • ノートPCのIPアドレスをLiDARと同じセグメントとなるよう設定済み。
  • NTP(ntp.nict.jp)設定済み

PTPサーバー構築

LiDAR単体で使う分には時刻同期は必要ない。 が、IMUやカメラなどとセンサフュージョンする際には、LiDARを含めてシステム全体の時刻を正しく設定する必要がある。 QT64は時刻同期にPTPというプロトコルを用いるので、まずはじめにLAN内PTPサーバーを設置する。

本来であればGPSなどをベースクロックとした、グランドマスタークロックを基準として時刻同期するのが良いと思う。 今回は簡単お手軽にノートPCを簡易PTPサーバー化する。

# apt install ptp4l
# ptp4l -i eth3 -m -S

ターミナルを閉じるとptpサーバーも止まるので、必要であればdaemon化すること。 eth3はNICを指定する。 NICによってはハードウェアタイムスタンプが利用できたりするが、今回はこれでよしする。

ptp4lを実行した状態でPCとLiDARを同じにLANへ接続すると、LiDARが自動的にPTPサーバーを探して時刻同期を始める。 LiDARが正しく同期されているかの確認としては、設定画面のPTPステータスで判断できる。 Lockedは正しく同期している状態、Freerunは時刻同期されていない状態、Trackingは同期を試みている状態を指すらしい。

LiDARのドライバー導入

HesaiLidar_ROS_2.0のREADME通りに進める。

sudo apt-get update
sudo apt-get install -y libboost-all-dev libyaml-cpp-dev

mkdir -p ./colcon_ws/src
cd ./HesaiLidar_ROS_2.0/src
git clone --recurse-submodules https://github.com/HesaiTechnology/HesaiLidar_ROS_2.0.git

cd ..

colcon build --symlink-install
. install/local_setup.bash

CUDAを入れていると、自動で判定して有効にしてくれる。 CUDA Found. CUDA Support is turned On.というメッセージが表示される。

PCAPを再生するとき

pcapを再生するときは設定を変更する必要がある。 これもREADMEに記載があるが、config.yamlの中のpcap_path、correction_file_path、firetimes_pathを指定する必要がある。

lidar:
- driver:              
    udp_port: 2368                  
    ptc_port: 9347              
    device_ip_address: 192.168.1.201          
    pcap_path: "<The PCAP file path>"                  
    correction_file_path: "<The correction file path>" 
    firetimes_path: "<Your firetime file path>"      

correction_fileとfiretimesはHesaiLidar_SDK_2.0から持ってくる。 PandarQT (64Line)の場合、次の2ファイルを用意して、config.yamlで指定すると良さそう(間違ってたら教えて下さい)。

参考文献

See Also