初めに
本記事では、オプションの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における動作確認方法を見てきました。
この記事が少しでも役に立てたのなら幸いです。