Livox LidarでROSのタイムスタンプを同期する方法

課題

LivoxのLidarを使ってROSで地図生成を行う場合、何も設定しないとタイムスタンプが設定されずtfがエラーになってしまうため、タイムスタンプを同期する必要がある。

解決方法

以下のコマンドを実行し、Precision Time Protocol (PTP) デーモンをインストールする。

sudo apt install ptpd

次に、以下のコマンドを実行し、PTPデーモンを起動し、Livoxが接続されている任意のネットワークアダプタに対してタイムスタンプの同期を行うこと。ここでは、[Livoxが接続されている任意のネットワークアダプタ名(epsXX等)] の部分を実際のアダプタ名に置き換える。

sudo ptpd -M -i [Livoxが接続されている任意のネットワークアダプタ名(epsXX等)] -C

これで、LivoxのLidarからのデータのタイムスタンプが、ROSのタイムスタンプと同期されるようになる。これにより、LiDARデータを用いた様々なROSアプリケーションやアルゴリズムが、正確なタイムスタンプを持つデータを使用することができるようになる。

タイムスタンプの同期が正しく行われているかどうかを確認するために、rostopic echo コマンドを使用して、LivoxのLidarからのデータのタイムスタンプを確認することができる。

rostopic echo /livox/lidar | grep secs