2023年9月11日月曜日

LIVOX MID360にubuntuからUSB有線LANドングル経由でpingを通す


背景

MID360とは、横360度、縦52 ~ -7度の点群を取れるLidar(レーザー距離測定装置)です。
ドローンで有名なDJIの Open innovation program を通して出来たLivoxという会社が作っています。
このMID-360は情報のやりとりにLANケーブルを使います。
自分のネットワーク設定に関する経験が少なくてpingを通すのに一苦労だったので、備忘録を兼ねて設定方法を記事に残します。

この後ros2でpoint cloudを表示しました。
良ければこちらの記事もご覧ください。
LIVOX MIX360のpoint cloudをros2で表示

使ったもの

  • Ubuntu22.04をインストールしたノートPC
  • MID360
  • Livox 3線式航空コネクタ
    何とケーブルが別売りです
  • USB 有線LANアダプタ
    amazonで買いました
  • 12V DC電源
    電源です。
    MID360は9から27Vの入力で動くので、24Vでも良いです。
  • DCジャックスクリュー端子台
    はんだ付けせず、ねじ留めでDCジャック対応ケーブルにできる変換装置です
  • ワイヤストリッパー(ニッパーやハサミでも可)とねじ回し
    ケーブルの被覆を向いて端子台を固定します。

接続

MID360にケーブルを繋ぎ、12V電源と通信相手を接続します。


12Vを繋いでも動かないことがありますが、その場合は一度12Vを外して繋ぎ直すと動きます。
電源の出力を上回る突入電流を要求し、不足したら起動が失敗することがあるのだと思います。

確認するping

MID360は「192,168.1.1xx」でxxはシリアル番号下4桁の固定IPで動きます。
今回利用するMID360の番号下2桁は68なので、この記事では「192.168.1.168」のpingで動作を確認します。
ping 192.168.1.168

なお、電源を入れてUSB有線LANドングルを通してPCに接続しただけでは、自分の環境ではpingは通りませんでした。

netplanでUSB有線LANの自身のIPを固定

USB有線LANにはDHCP(ipを割り振ってくれるサーバー)が居ないため、自身のIPが割り当てられずアクセスできない状態です。
そのため、netplanの設定を作りipを割り当てます。

まず、接続するUSB有線LANのifnameを調べます。
ip a

長めのログが出てきます。
USB有線LANドングルを抜き差しして、接続時に増えるの該当の装置の情報です。

この記事では上記の操作で把握したイーサネット装置「enx68e1dc12f726」に対して固定IPを割り当てます。

netplanの設定ファイルを/etc/netplanに作成します。
この記事では「99-fix-ip-for-livox.yaml」を作成します。
sudo gedit /etc/netplan/99-fix-ip-for-livox.yaml

ipアドレスは「192.168.1.*」のlivoxと被らないipなら何でも良いので、この記事では「192.168.1.5」としました。
MID360の説明書にはホストを192.168.1.50にするように記述がありますが、これはプログラムの設定次第で接続先を変えられるので必須ではありません。)
/etc/netplan/99-fix-ip-for-livox.yaml
network:
version: 2
ethernets:
enx68e1dc12f726:
addresses: [192.168.1.5/24]

上記のファイルを作ったらnetplanに適用します。
sudo netplan apply

「ip a」コマンドで確認すると、ipが割り当てられています。

IP固定後pingで動作確認

pingで接続を確認します。
ping 192.168.1.168

pingが通りました。

未解決: 既存のWiFiが192.168.1.*系の場合、そのLANの装置に繋げなくなる

MID360のipが192.168.1.1xxで固定なため、それを繋ぐネットワークは192.168.1.*であることが必須です。
そのため、wifiが192.168.1.*を使っている場合、MID360を繋ぐ有線LANを有効にするとwifiよりイーサネットが優先されるため、wifiのローカルipの機器に繋がらなくなります。(インターネットには繋がります。)

netplanのbridgeやbondで何とかなるかと試行錯誤したものの、自分が試した範囲では192.168.1.*のWiFiとMID360を繋ぐUSB有線LANのローカルIPの装置を共存は出来ませんでした。

なお、192.168.1.*系のWiFiを作っているルーターにMID360を繋いだら、幸い192.168.1.168(今回使うMID360のIP)の機器が他に居なかったので共存できましたが、ノートPCではなくルーターに繋ぐので移動できず、これでは想定する用途に使えません。

どなたか192.168.1.*のWiFiとUSB有線LANを共存させられる設定をご存知でしたら、コメントなどで教えていただけると嬉しいです。

おわり

USB有線LANを介してノートPCに繋いだMID360に対してpingで通信確認できました。
この後livox_ros_driver2でros2のpoint cloud表示サンプルプログラムの動作を試みたところ、ところどころ詰まりどころがあったものの成功しました。
今回は慣れないネットワーク設定で想定以上の時間を取られたのでnetplanの設定共有を1つの記事とします。

時間がかかったもののpingを通せて良かったです。

この後ros2でpoint cloudを表示しました。
良ければこちらの記事もご覧ください。
LIVOX MIX360のpoint cloudをros2で表示

参考

MID360
MID360 quick start guide (pdf)
Livox Lidar で点群データを保存できるようになるまで
[Netplan] Wi-Fi接続と固定IPの設定をする [Ubuntu 22.04 LTS]

変更履歴

2023.09.15
背景のMID360の説明に角度情報を追加しました。
2023.09.15
point cloudを表示した記事「LIVOX MIX360のpoint cloudをros2で表示」を背景とおわりで紹介しました。

0 件のコメント :