【WindowsでROSを使おう!】WSLにROSをインストールする話
こんにちは!べれすくです。
前々回ではWSL(Windows Subsystem for Linux)のインストール方法を説明しました。
↓前々回
前回はVcXsrvを使って、WSLでGUIアプリケーションを起動するまでを説明しました。
↓前回
前回と前々回に引き続き、今回もWSLを扱っていきます。
今回はWSLにROSを導入しようという話です!
もくじ
OSのバージョンを確認しよう!
ROSはOSのバージョンによって扱うものがちがうので、まずはOSのバージョンを確認します。
以下のコマンドを実行してください。
cat /etc/os-release
私のバージョンはUbuntu 18.04.4 LTSですね。
18.04だと、対応するROSはMelodicですね。
「バージョン名 ROS」と検索すると対応しているROSの入れ方が出てくると思います。
今回はROS Melodicをインストールしていきます。
ROSを導入しよう
ROSの導入方法は基本的に公式サイトを参考にしています。
英語が得意な方はそちらを見たほうがわかりやすいかもしれませんね。
リポジトリを登録しよう
リポジトリを登録しましょう。
以下のコマンドを入力しましょう。(コピペでいいです。)
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
ついでにキーも登録します。
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
登録できたら一覧を取得します。
sudo apt update
ROSをインストールしよう
それではROSをインストールします!
いろいろ選んでインストールできるようですが、面倒なんで全部インストールしちゃいましょう!
全部入れてもそんなに容量とらないので安心です。
sudo apt install ros-melodic-desktop-full
rosdepをインストールしよう
rosdepを初期化してアップデートしましょう。
sudo rosdep init rosdep update
環境変数を入力しよう
本当であれば、Linuxを起動するたびに”source /opt/ros/melodic/setup.bash”を実行しなければなりません。
しかし、面倒なので(こればかりですね笑)Linuxが起動した時に自動的に実行してもらいましょう。
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc
これで毎回コマンドを入れなくて済みますね。
rosinstallの設定をしよう
ROSのパッケージをインストールするためのパッケージをインストールしましょう。
以下のコマンドを実行します。
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
ワークスペースを設定しよう
これは公式サイトには載ってないのですが、ROSではワークスペースを手動で確保し指定します。よくある名前がcatkinなのでそれに合わせます。(なんでなのかは知らないんですけどね)
mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace cd ~/catkin_ws catkin_make echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc source ~/.bashrc
これでROSの導入は完了です。
ためしに起動してみましょう。
roscore
うまくいきました!
VcXsrv(X Server)を起動しよう
前回の記事で説明した、GUIソフトを起動するためにアプリケーションを起動します。設定ファイルを保存しているひとはその保存ファイルを開くだけで、起動します。
詳しくは前回の記事を見てくださいね。
Rvizを起動してみよう
それではROSでよく使うソフトの一つでもあるRvizを起動してみましょう。
まずはROSを起動します。
roscore
この画面になったら一度Ctrl+Zで戻ります。(WSLでターミナルを2つ起動する方法を誰か教えてください)
追記:Ctrlキーを押しながらコンソールを開けば、もう一つコンソールを開けるそうです!戻ってもいいですが、もう一つ開くほうがスムーズかと思います。
Rvizを起動しましょう。
rosrun rviz rviz
起動しました!
やったぜ!
エラーが出るときは?
こんな感じのエラーが出たらVcXsrvの設定ミスですね。
前回の記事を参考にVcXsrvを設定しなおしてください。
特定のソフトだから出るエラーだとか、Nvidiaのグラボを積んでると出るとかいろいろ理由があるといわれています。少なくとも自分の環境ではグラフィックボードを積んでいなくても出たエラーなので、ROSを使う上では必須かと思われます。
[ INFO] [1582622312.248770200]: rviz version 1.13.7 [ INFO] [1582622312.249490100]: compiled against Qt version 5.9.5 [ INFO] [1582622312.249915900]: compiled against OGRE version 1.9.0 (Ghadamon) [ INFO] [1582622312.265487500]: Forcing OpenGl version 0. libGL error: No matching fbConfigs or visuals found libGL error: failed to load driver: swrast libGL error: No matching fbConfigs or visuals found libGL error: failed to load driver: swrast Segmentation fault (core dumped)
まとめ
今回は3ページ構成でWindows10でROSを起動する方法を説明しました。
エミュレータを使ってROSを使っている人もいらっしゃいますが、WSLはWindows純正の機能なので安心感がありますね。
今のところ、この環境での問題は確認していませんが確認次第、報告と解決策を書きたいと思います。
今回はこのくらいで。それでは!