【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を用いた設定変更が行われているようです。

$ 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アドレスを割り振れます。

#!/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という名前にします)
その後、セットアップします。

$ vi configureNetPlan.sh
$ bash configureNetPlan.sh eth0 192.168.123.18 192.168.1.200

これでうまくいっていれば、下記のpingが通るはずです。
なおMid360のIPアドレスのxxはシリアルナンバーの下二桁になります。

$ 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をダウンロードします。

$ 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にした場合)

その後、コンパイル。

$ source /opt/ros/foxy/setup.sh
$ ./build.sh ROS2

すると下記のようにWARNINGが出ますが、これで問題ありません。

$ ./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しないとうまくいかない場合があるので、それをしてから行います。

$ source /path/to/unitree_ros2/unitree_ros2_setup.sh
$ . install/setup.bash
$ ros2 launch livox_ros_driver2 rviz_MID360_launch.py


このように点群データを取得できれば、成功です。

 

おわりに

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です