何の記事?
WSL2(Windows Subsystem for Linux)上でcartographer_rosのデモプログラムを実行するまでの手順をメモしたものです。
何が出来たの?
cartographer_rosのページにある「Deutsches Museum」のデータ(2D, 3D)を使ったデモを実行しました。
気になったのがPCへの負荷だったので、タスクマネージャーのパフォーマンスも併せて確認しました。
通常時:
デモ(2Dデータ):メモリは1G増、GPUは17%くらい
デモ(3Dデータ):メモリは2G増、GPUは20%くらい
RVIZをグリグリすると少しメモリ喰われました。(+2GB)
GPUよりもメモリが大事そう?
実行環境
- OS: Windows 10 Home 64bit
- Linux: Ubuntu 18.04 LTS
- プロセッサ: AMD Ryzen 7 3700X 8-Core 3.6GHz
- RAM: 16GB
- GPU: GeForce RTX 2070 SUPER
何をしたの?
- WSLのインストールとWSL2の有効化、Linux(Ubuntu)のインストール
- WSL2でROSのインストール
- cartographer_rosのインストール
- デモプログラムの実行
基本的にはWebで公開されている記事を参考に手順を踏むだけ。
ただ3でちょっと躓いた。
WSLのインストールとWSL2の有効化
参考先:Windows 10 用 Windows Subsystem for Linux のインストール ガイド
手順1~7まで順番に実行する。
手順3の後、しれっと再起動を要求されてるので忘れずに再起動する。
LinuxディストリビューションはUbuntu 18.04 LTSを選択する。
※追加でWSL2のGUI化
参考先:WSL2+ubuntu20.04: GUI化して使う方
cartographer_rosのデモプログラムはRVIZで可視化されるので、CUIなWSL2だと厳しい。
なので、簡単にGUI化するためにを参考にリモートデスクトップを採用した。
WSL2でROSのインストール
参考先:ロボットプログラミングⅡ:ROS Melodicのインストール
WSL2+ROSということで身構えていたけど、通常のLinuxでインストールするような感覚で問題なかった。
なお、上記参考サイトはWSL2でGazeboを動かすための手順の中の1Step。
cartographer_rosのインストール
参考先:Compiling Cartographer ROS
ここも手順に従ってコマンドを実行していく。個人的に間違い、見落としやすいポイントは次の通り。
- Ubuntu 18.04のROSはMelodicなので、最初にインストールするTool類はpython2系になる。
- 最後のBuildでcatkin_make_isolatedをするときは、rosのsetup.bashを実行してから行う。
- Build時にCeresとLuaが見つからずにエラーが発生するため、事前にaptでインストールする。
CeresとLuaはStandAloneなCartographerの要件に含まれているが、ROS統合版での手順では見逃されている模様?
なお、Lua >= 5.2と言われたのでLua5.3をインストールしたところ、LuaのBinaryはあるけど実行できない状態になった。
大人しくLua5.2をインストールしたら解消した。
LuaはCartographerのビルドに使うので、devもインストールしておく。
デモプログラムの実行
引き続き手順に従ってデモ用のデータのダウンロードと実行。
結果は上記の通り。
まとめ
WSL2のLinux(Ubuntu18.04LTS)でcartographer_rosを動かしてみました。
実はWSLも初めて触ったけど、かなり簡単にLinuxを動かせることに驚きです。