概要
IROS2022のSLAM発表をまとめている中でFAST-LIO2がかなり性能がよさそうなのでサンプルを動かすまでやってみる。
事前準備
- ホストPCのスペック
- Ubuntu20.04
- CPU Ryzen 3600
- GPU RTX 3060
- Memory 32GB
- 巨大なrosbagファイルで動かすと32GBだと足りない可能性がある。64GBあると安心
- ROS melodic以降に対応とのことなので、今回はautoware.aiのDockerコンテナーを使用する。
- ROS1の実行環境を整えるには一番簡単な気がする。
- 導入はhttps://zenn.dev/karaage0703/articles/cbc319a2a76fe1等を参照するとよい。
インストール
- 公式サイトの手順に従う。
- 特に詰まることはないはずだが、念の為インストール手順を以下に記す。
# コンテナーに入る
# コマンド例. docker exec -it コンテナー名 bash
# rosコマンドが通らない場合はsource /tmp/entrypoint.shを打ち込む
# PCL, Eigenはコンテナーにインストール済みのためパス。
# Livox SDKのインストール
cd /tmp
git clone https://github.com/Livox-SDK/Livox-SDK.git
cd Livox-SDK
cd build && cmake ..
make
sudo make install
# livox_ros_driverの導入
# autowareのコンテナーならshared_dirディレクトリを作成しているはずなので、その中で作業する。
cd ~/shared_dir
git clone https://github.com/Livox-SDK/livox_ros_driver.git ws_livox/src
cd ws_livox
catkin_make
source ./devel/setup.sh
#FAST-LIOの導入
git clone https://github.com/hku-mars/FAST_LIO.git
cd FAST_LIO
git submodule update --init
cd ../..
catkin_make
source devel/setup.bash
# 以下のコマンドでエラーなくrvizが立ち上がればインストール完了
roslaunch fast_lio mapping_avia.launch
サンプル実行
- 公式サイトにサンプルRosbagが用意されており、使用方法も記載されている。
- インストールが正常に完了していれば問題なく動作するはず。
- ただ、velodyneのサンプルの中にはトピック名の変更が必要なものがあった。
- その場合、トピック名を
/laserMapping
ノードが要求する形に変更するコードをlaunchファイル
等に記入してやれば動作する。- 追記
- 見逃していたが、公式サイトに
config/velodyne.yaml
の当該トピック名を更新すればいいという記載あり。
- 見逃していたが、公式サイトに
- 追記
<!--lidarとimuのトピックを/laserMappingが要求する名前に変更-->
<!--以下はvelodyneサンプルで遭遇したときに、mapping_velodyne.launchに記入した例-->
<node pkg="topic_tools" name="relay_lidar" type="relay" args="/points_raw /velodyne_points"/>
<node pkg="topic_tools" name="relay_imu" type="relay" args="/imu_raw /imu/data"/>