【Unitree Go2】Mid360を動かしてみる

【Unitree Go2】Mid360を動かしてみる

初めに


本記事では、オプションのMid360版の動作確認方法を案内します。  

環境


環境は、次のようなものを想定しています。
  • 機種: Go2 R&D(Edu), R&D+(Edu+)(AIR/PROではないもの)
  • 付属LiDAR:Mid-360
 

1.mid360のip設定


※追記(24/3/29) 最新のMid360をご購入の場合は、メーカー側で以下のLivox Viewerを用いた設定変更が行われているようです。
  1. $ ping 192.168.123.20
とした場合に、応答があれば、この設定は不要です。   Docking StationのIPは192.168.123.18なので、Livox Viewerを用いてMid360の設定を変更します。
  • LiDAR IP:192.168.123.20
  • 受け取り側のIPを192.168.123.18
詳しくは、【Unitree Go2】Mid360のデフォルトサンプルの使い方(現在作成中です) の2の項を見て、変更してください。 上記の方法が難しい場合は、下記のような方法でNetPlanを変更することでも対応できます。 これを用いると、eth0に192.168.123.18と192.168.1.200という2つの静的IPアドレスを割り振れます。
  1. #!/bin/bash # Check if at least two arguments are provided if [ "$#" -lt 2 ]; then echo "Usage: $0 [secondary-ip-address]" exit 1 fi # Extract arguments INTERFACE=$1 PRIMARY_IP=$2 SECONDARY_IP=${3:-} # Optional third argument # Path to Netplan configuration file NETPLAN_CONFIG="/etc/netplan/01-netcfg.yaml" # Backup current Netplan configuration if [ -f "$NETPLAN_CONFIG" ]; then echo "Backing up current Netplan configuration to ${NETPLAN_CONFIG}.bak" sudo cp $NETPLAN_CONFIG "${NETPLAN_CONFIG}.bak" else echo "No existing Netplan configuration found. Creating a new one." fi # Start generating Netplan configuration echo "network: version: 2 renderer: networkd ethernets: $INTERFACE: dhcp4: no addresses:" | sudo tee $NETPLAN_CONFIG # Add primary IP address with subnet mask echo " - ${PRIMARY_IP}/24" | sudo tee -a $NETPLAN_CONFIG # Add secondary IP address with subnet mask if provided if [ -n "$SECONDARY_IP" ]; then echo " - ${SECONDARY_IP}/24" | sudo tee -a $NETPLAN_CONFIG fi # Apply Netplan configuration sudo netplan apply echo "Netplan configuration applied for $INTERFACE. Primary IP: $PRIMARY_IP${SECONDARY_IP:+, Secondary IP: $SECONDARY_IP}"
このbashファイルを適当な場所で作成します。(ここではconfigureNetPlan.shという名前にします) その後、セットアップします。
  1. $ vi configureNetPlan.sh $ bash configureNetPlan.sh eth0 192.168.123.18 192.168.1.200
これでうまくいっていれば、下記のpingが通るはずです。 なおMid360のIPアドレスのxxはシリアルナンバーの下二桁になります。
  1. $ ping 192.168.1.200 $ ping 192.168.1.1xx # Mid360 IP $ ping 192.168.123.161 # go2 internal pc
 

2.livox_ros_driver2のインストール


Docking Stationをネット接続します。 【Unitree Go2】Docking Station のインターネット接続方法 その後、下記のようにlivox_ros_driver2をダウンロードします。
  1. $ git clone https://github.com/Livox-SDK/livox_ros_driver2.git ws_livox/src/livox_ros_driver2
livox_ros_driver2/config/MID360_config.jsonファイルを、先ほど設定したIPアドレスに修正します。 (画像は、mid360を192.168.123.20にした場合) その後、コンパイル。
  1. $ source /opt/ros/foxy/setup.sh $ ./build.sh ROS2
すると下記のようにWARNINGが出ますが、これで問題ありません。
  1. $ ./build.sh ROS2 Working Path: /home/koji/livox_ws/livox_ros_driver2/src/livox_ros_driver2 ROS version is: ROS2 Starting >>> livox_ros_driver2 [Processing: livox_ros_driver2] --- stderr: livox_ros_driver2 ** WARNING ** io features related to pcap will be disabled ** WARNING ** io features related to png will be disabled ** WARNING ** io features related to libusb-1.0 will be disabled /usr/include/apr-1.0 apr-1 --- Finished <<< livox_ros_driver2 [47.6s] Summary: 1 package finished [51.8s] 1 package had stderr output: livox_ros_driver2
 

3.実行


あとは実行です。 Docking Station上で行う場合、unitree_ros2をsourceしないとうまくいかない場合があるので、それをしてから行います。
  1. $ source /path/to/unitree_ros2/unitree_ros2_setup.sh $ . install/setup.bash $ ros2 launch livox_ros_driver2 rviz_MID360_launch.py
このように点群データを取得できれば、成功です。  

おわりに

本記事ではMid360版のROS2 foxyにおける動作確認方法を見てきました。 この記事が少しでも役に立てたのなら幸いです。

    • Related Articles

    • 【Unitree Go2】XT16を動かしてみる

      初めに 本記事では、オプションのXT16版の動作確認方法を案内します。 環境 環境は、次のようなものを想定しています。 機種: Go2 R&D(Edu), R&D+(Edu+)(AIR/PROではないもの) 付属LiDAR:XT16 ping 192.168.123.20 1.XT16のip設定 メーカー公式資料Payload - Go2 SDK Development Guideの、LiDARの項目を参考に取り付けを行います。 正しく接続されていれば、DockingStationから $ ...
    • 【Unitree Go2】Mid360でSLAMを実行する

      初めに 本記事では、オプションのMid360版を用いたSLAMの方法を案内します。 今回はFAST-LIOというものを使っていきます。 環境 環境は、次のようなものを想定しています。 機種: Go2 R&D+(Edu+)(AIR/PROではないもの) 付属LiDAR:Mid-360 ※FAST-LIOはかなり重いので、Orin NXで行うことを前提とします。 1.mid360のip設定 【Unitree Go2】Mid360を動かしてみる の1の項を見て、接続設定をします。 ...
    • 【Unitree Go2】Mid360のデフォルトサンプルの使い方(現在使用できません)

      初めに 本記事では、オプションのMid360/XT16版を用いたメーカーの用意したSLAMの使い方を案内する予定です。 ただし、メーカーに確認したところ、現状はうまく動作せず、2024年の年末頃に更新予定とのことです。(24/8/5現在) 使用するためにTechShareで用意した使用例(点群取得とSLAM)が下記のようにございます: TechShareで用意したサンプル(点群取得とSLAM) Mid360の場合 【Unitree Go2】Mid360を動かしてみる 【Unitree ...
    • 【Unitree Go2】一問一答FAQ

      初めに 本記事では、Unitree Go2を購入されたお客様からよくあるご質問内容を、一問一答形式でまとめたものになります。 一問一答(すべての機種について) Q: Go2を歩かせると、右方向に行くことがあまりにも多いですがこれは正常ですか? A: 初期姿勢が少しずれていると、右に行きやすくなることは他のGo2でも確認されています。初期姿勢が正しいか今一度確認ください。 ...
    • 【Unitree Go2】XT16 on Go2でD-LIOを使う【SLAM】

      初めに 本記事では、Unitree Go2 XT16版を用いたSLAMの方法を案内します。 SLAMのアルゴリズムにはいろいろな種類がありますが、今回はD-LIOというものを使っていきます。 本記事のゴール(SLAMの様子): ↓詳しくは下記動画 本記事のゴール(XT16のSLAM走行の動画) 環境 環境は、次のようなものを想定しています。 機種: Go2 R&D+(Edu+)(AIR/PROではないもの) 付属LiDAR:XT16 ※D-LIOはかなり重いので、Orin ...