WSL (Windows Subsystem for Linux)で授業のROS教材が動かないので、来年には正式にリリースされるLinuxが完全に動くWSL2試してみる。WSLでは動かなった授業のROS教材も問題なく動いた。この記事はそのメモ。なお、現時点(2019-10-25)ではWSL2とVirtualBox、VMwareは共存できないので注意。
Windows 10のPreview版をインストールしないとWSL2は使えないので、今年度の授業には使えないが、来年度にはリリース版でも動くので使えるだろう。
なお、WSL2のインストールはMicrosoftの以下の記事に従い作業した。
まず、ビルド18917以降にするためにWindows Insiderプログラムに参加する。
- 以下のリンクからWindows Insider Programに登録する。
- Windows Insider Programの設定を行う。
- Windows Preview版のインストール
- 仮想マシンプラットフォーム ‘ オプションのコンポーネントを有効にし、WSL を有効にする。
- 管理者権限でPowerShellを開き以下のコマンドを実行する。PowerShellを開くのはスタートメニューからWindowsPowerShellを選び、右マウスボタンをクリックして「管理者として実行する」を選ぶ。
- Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
- Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
- 再起動するかと聞かれので「Y」キーを押して再起動する。
- 管理者権限でPowerShellを開き以下のコマンドを実行する。PowerShellを開くのはスタートメニューからWindowsPowerShellを選び、右マウスボタンをクリックして「管理者として実行する」を選ぶ。
- WSLとUbuntu-18.04のインストール
- WSLとWSL2は共存できて、Ubuntuのインストールとも別なので以下のリンクに従ってWSLとUbuntu-18.04をインストールした。
- WSL2の設定
- ROS Melodicのインストール
- 以下のリンクに従ってROS Melodicをインストールした。
- ROS での動作確認
- Windowsのデスクトップで右マウスボタンをクリックして、NVIDIAコントロールパネルを選択し、「優先するグラフィックスプロセッサ」に「高いパフォーマンスNVIDIAプロセッサ」に設定する。
- VcXsrvを以下の設定で起動する。
- Select display settingsウインドウ
- Select how to start clientsウインドウ
- Extra settingsウインドウ
- Configuration completeウインドウ
- ROSでの動作確認
- Ubuntu18.04LTSアイコンをクリックして端末を開き、.bashrcをgeditなどのエディタで以下の4行をファイルの最後に追加して保存する。特に、DISPLAY環境変数がlocalhostでは動かないので注意。
export TURTLEBOT3_MODEL=burger
export DISPLAY=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):0.0
source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash
- WSLでは動かなかった以下のGazebo上のTurtlebot3をキーボードで動かすサンプルを試す。デスクトップにあるUbuntu18.04LTSアイコンをクリックして端末を開き、以下のリンクを実行して動作を確認した。私の環境ではWSL2では問題なく動作した。めでたし!めでたし!
- Ubuntu18.04LTSアイコンをクリックして端末を開き、.bashrcをgeditなどのエディタで以下の4行をファイルの最後に追加して保存する。特に、DISPLAY環境変数がlocalhostでは動かないので注意。
終わり
コメント