仮想マシンを使わなくてWindows上でLinuxが使えるWindows for Subsystem for Linux (以下、WSLと表記)のインストールとメモ。しかもLinuxのバイナリがそのまま動く。Windows10のバージョンが1803だとROSのシミュレータGazeboでロボットが動作せず、授業では使用できなかった。バージョン1903は動作したという報告があったので試してみる。
- バージョンの確認
- Windows Subsystem for Linuxの有効化
- Ubuntuをストアからインストール
- 下記の画面になるので、Ubutu 16.04LTSを選択しクリックする。下の画面にならない場合は「検索」にUbuntuと入力する。
- 次のウインドウになるので「入手」をクリックする。ダウンロードサイズは約200MB。
- 入手が終わると次の画面になるので「起動」をクリックする。
- 次のウインドウになるので少し待つ。
- ユーザ名とパスワードを聞かれるので入力する。全角は使えないので半角英数字を使うこと。ユーザ名、パスワードは今後も使うので忘れないこと。
- 時間帯の設定。標準では、日本の時間帯ではないので以下のコマンドを端末にコピペする。パスワードを聞かれるので入力する。なお、$はプロンプト(入力できる状態を示す記号)なのでコピペしない。
- ダウンロード先の変更。標準では海外からダウンロードするようになっているので、時短するために以下のコマンドを端末にコピペして実行し、国内に変更する。
- 次のコマンドでアップデートする。
- $
sudo apt update
- $
sudo apt upgrade -y
- $
- X Window システムのインストール。WSLはグラフィカルなインタフェース(GUI)が使えないので、ROSを動かすためにはX Windowシステムを別にインストールしなければならない。調べたらVcXsrvが無償で良さそうなのでインストールしてみる。以下のウェブサイトに行き、下図の赤で囲った「Download]をクリックする。2019年10月2日現在のバージョンは1.20.5.1。
- https://sourceforge.net/projects/vcxsrv/
- ダウンロードしたexeファイルをダブルクリックする。次のウインドウが開くので「Next」をクリックする。
- インストールするフォルダーを聞かれるので、デフォルトのまま「Install」をクリックする。
- セットアップが終わったら「Close」をクリックしてインストールを終了する。
- https://sourceforge.net/projects/vcxsrv/
- X起動
- デスクトップにできたXLaunchアイコンをダブルクリックする。
- Select display settingsのウインドウになるのでデフォルトのまま「次へ(N)」をクリックする。
- Select how to start clientのウインドウになるので、デフオルトのまま「次へ(N)」をクリックする。
- Extra Settingsのウインドウになるので 以下の図のようにClipboard、Primary Selection、Disable access controlにチェックを入れ、Native openglのチェックを外して「次へ」をクリックする。
- Finish configurationウインドウになるので、「Save configuration」をクリックして設定ファイルを保存してから「完了」をクリックする。
- ファイアウォールなどを設定している場合は、次の図のように「Windowsセキュリティの重要な警告」というウインドウが開くので、「アクセスを許可する」をクリックする。
- Ubuntuの設定
- スタートメニュー→Ubuntu 16.04からUbuntuターミナルを起動する。
デスクトップにショートカットを作っておくと便利。 - 起動したターミナルで以下のコマンドを実行し、必要なパッケージをインストールする。なお、$はプロンプトなので入力しない。
- $
sudo apt update
- $
sudo apt upgrade
- $
sudo apt-get install language-pack-ja -y
- $
sudo update-locale LANG=ja_JP.UTF-8
- $
sudo apt-get install git emacs gedit build-essential firefox dbus -y
- $
- 環境変数の設定
- 自分のパソコン画面にLinuxのウインドウアプリケーションが表示されるように以下のコマンドを実行して環境変数を設定する。
- $
echo 'export DISPLAY=localhost:0.0' >> ~/.bashrc
- $
source ~/.bashrc
- $
- 自分のパソコン画面にLinuxのウインドウアプリケーションが表示されるように以下のコマンドを実行して環境変数を設定する。
- スタートメニュー→Ubuntu 16.04からUbuntuターミナルを起動する。
- ROS Kineticのインストール
- 上のリンクに従ってインストール作業をしてから、以下の設定を行う。
- Gazeboを起動すると画面が真っ黒で何も表示されない。モデルが表示されるように以下のコマンドで環境変数を設定する。
- $ echo ‘export GAZEBO_IP=127.0.0.1’ >> ~/.bashrc
- $ source ~/.bashrc
- Gazeboの起動
- rvizでdbus関係のエラーを解決するためにmachine IDを設定する。Ubuntuターミナルを起動し、次のコマンドを実行する。
- $ dbus-uuidgen | sudo tee /etc/machine-id
- rvizの起動
終わり
コメント