embeddedなブログ

組み込みシステムに関することや趣味に関することをダラダラと書いていきます(^^)

ROSをWindows(WSL2)上で使用する(その2)

2021-10-24 08:44:33 | Windows Embedded Standard

前回は単純にRvizを起動するのみでしたが、今回はもっと具体的なROS動作をGUIも含めてWSL上で実現してみたいと思います。

今回は試しに3D LiDARを使ったSLAMのひとつであるLIO-SAMというSLAMを動かしてみます。

前回ROSを構築したWSLのUbuntu-18.04ディストリビューションを起動します。以下はそのUbuntu端末上での操作です。

まずROS系のモジュールをインストールします。

sudo apt-get install -y ros-melodic-navigation
sudo apt-get install -y ros-melodic-robot-localization
sudo apt-get install -y ros-melodic-robot-state-publisher

これらのモジュールをインストールすると、前回は無事にGUIが起動していたRvizが起動しなくなったので、下記のおまじないで回避しました。

echo 'export LIBGL_ALWAYS_INDIRECT=' >> ~/.bashrc

gtsamのビルドとインストールを実行します。

mkdir ~/Downloads
wget -O ~/Downloads/gtsam.zip https://github.com/borglab/gtsam/archive/4.0.2.zip
cd ~/Downloads/ && unzip gtsam.zip -d ~/Downloads/
cd ~/Downloads/gtsam-4.0.2/
mkdir build && cd build
cmake -DGTSAM_BUILD_WITH_MARCH_NATIVE=OFF ..
sudo make install -j8
echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

次にLIO-SAMのビルドです。

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
git clone https://github.com/TixiaoShan/LIO-SAM.git
cd ..
catkin_make

以上でビルド類は完了です。次にLIO-SAMの動作確認用提供されているサンプルデータセットを取得します。LIO-SAMのGitHubページにあるSample Datasetsのセクションに何種類からのデータセットへのリンクがあります。ここでは"Walking dataset"のファイル walking_dataset-001.bag を ~/catkin_ws/datasets にダウンロードしました。

以上で、準備は完了です。ここから実際に動作させてみます。GUIを表示するため、前回インストールしたVcXsrv(スタートメニュー上ではXLaunch)をあらかじめ起動しておきます。

では、実際の動作に入ります。まず、LIO-SAMを起動します。下記の実行でRvizの画面も起動されます。

cd ~/catkin_ws
source devel/setup.bash
roscore & roslaunch lio_sam run.launch

Rvizが無事に起動されたら、次に、これまで使っていたのとは別の端末操作になります。WSLのUbuntu-18.04ディストリビューションをもうひとつ起動します。そして、その端末上で下記を実行して、あらかじめダウンロードしたサンプルデータセットのBagファイルをLIO-SAMに食わせます。

cd ~/catkin_ws
source devel/setup.bash
rosbag play ~/catkin_ws/datasets/walking_dataset-001.bag -r 3

うまくLIO-SAMが動作すると下図のようにRviz上に軌跡が表示されます。結構、派手なので感動しました。

以上でした。


最新の画像もっと見る