Windows 10 Bash on Ubuntu on WindowsでROSを動かす!

Windows 10最強!海外のフォーラムでWindows 10のWSL(Bash on Ubuntu on Windows)上でROSが動作したという情報を見て試したら動いたので、取り急ぎ手順を書いておきます。

Windows Subsystem for Linux(WSL)は、Bash on Ubuntu on Windowsとも呼ばれており、Windowsの上で「ネイティブに」Linuxバイナリを動作させる機能です。この機能とCanonical社(Ubuntuプロジェクトを支援している)の協力のもと、Windows上でUbuntuと同様の実行環境が実現できるようになっています。

以下、Windows 10でROSを動作させる方法を書いていきますが、ある程度WindowsやLinuxの使い方がわかっていることを前提にしています。また、Linux上でROSを使用した経験があるとわかりやすいかもしれません。ROS自体に関する解説はここでは行いません。

手順

とりあえず、手元のSurface Pro 3で試してみます。Windows 10 1709 Fall Creators Update適用済み環境です。1709ではついにWSLからBetaが外され、正式な機能に昇格されました。このため、1709環境を利用するのがおすすめですが、1703でもおそらく実行可能です。

WSL環境を用意

これについては記事がたくさんあるので簡単に書きます。

設定 -> 更新とセキュリティ -> 開発者向け -> 開発者モード

で開発者モードをオンにします。

また、

アプリと機能 -> プログラムと機能(一番下にある) -> Windowsの機能の有効化または無効化 -> Windows Subsystem for Linux

でWSLを有効化します。 再起動を求められたらそれに従います。

さて、Ubuntuのインストールには2つの方式が存在します。Ubuntuをストアアプリとして入れる方法と、そうでない方法です。 今後はどうもストアのほうが主流になりそうですが、Beta版として最初に提供されて情報も多いのは非アプリ版です。 私は非アプリ版で環境を作ってしまっていたのでそちらにしましたが、新しく始める人はアプリ版が良いかもしれません。 アプリ版でもし動かなければ、コメントで教えていただければ幸いです。

非アプリ版のWSLを使用するとき

Windows PowerShellを開き、bashと入力すればUbuntuのインストールが開始されます。

ストアアプリ版のWSLを使用するとき

ストアを開き、「Ubuntu」で検索してインストールします。

Windows版X11をインストールする

さて、WSLのUbuntuを触る前に、GUIの表示に必要なX11をインストールしておきます。LinuxでGUIを使わないのであれば、この項目は飛ばしてかまいません。ROSにおいて、rvizやrqt系の可視化ツールを使用するためにはX11が必要です。

Windows版X11として、オープンソースのXmingというX11サーバーを使用します。以下のサイトからXサーバー本体 Xming-6-9-0-31-setup.exeとフォント Xming-fonts-7-7-0-10-setup.exe (2017/10/19現在)をダウンロードします。

https://sourceforge.net/projects/xming/

本体、フォントの順にインストールしてください。これで、X11のインストールは完了です。

ROSをインストールする

さて、いよいよROSをインストールします!ROSの2017/10/19時点での最新はLunarですが、ここでは安定性重視で長期サポート版のKineticをインストールすることにします。以下のインストールガイドに従います。私はLunarで試していませんが、おそらく同様に動作すると思われます。

http://wiki.ros.org/kinetic/Installation/Ubuntu

それでは、WSL Ubuntuの端末を開いてください。スタートメニューから「Bash on Ubuntu on Windows」(非アプリ版)か「Ubuntu」(アプリ版)を選択し起動してください。

ROSのインストールは、ROSプロジェクトで用意されているaptリポジトリを用いて行います。 まずはaptにリポジトリを登録します。

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://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

パッケージ情報を更新します。

sudo apt update

いよいよROS関連パッケージのダウンロードを行います。使用目的に合わせて、いくつかのセットを選べます。例えばGUIを含まない最低限の構成などです。ここでは、GUIを含めたフルのセットをインストールすることにします。どのセットを選んでも、最初にインストールされるパッケージが違うだけで、後からパッケージの追加や削除は可能です。注意としては、ros-kinetic-desktop-fullを選んでもROSのリポジトリにある全てのパッケージがインストールされるわけではないという点です。

sudo apt-get install ros-kinetic-desktop-full

最後に、rosdepの初期化をして完了です。2行目ではsudoをつけてはいけません。

sudo rosdep init
rosdep update

環境変数の設定

ROSに限らずX11を使用したい場合、環境変数DISPLAYを設定してディスプレイ番号を教える必要があります。 毎回コマンドを実行するのは面倒なため、.bashrcで設定を行います。以下を最下行に追記してください。

export DISPLAY=localhost:0.0

また、ROSの関連ツールを動かすためにはROSの環境変数設定が必要で、そのためのスクリプトを端末ごとに動かす必要があります。これも面倒のため、同様に.bashrcで設定しておくと良いかと思います。以下追記します。

source /opt/ros/kinetic/setup.bash

起動するか試してみる

さて、いよいよ動作のテストを行ってみます。 まず、WSL端末を一つ開き、roscoreを起動します。

roscore

もう一つWSL端末を開き、rvizが起動するか確認します。

rosrun rviz rviz

ファイルマネージャなどをインストールする(Optional)

必要に応じて以下のようなものを入れてみるといいかもしれません。

ファイルマネージャCaja。GUIでファイル操作ができるようになります。

apt install caja

端末mate terminal。Linuxのデスクトップ環境で使っているような高機能な端末。

apt install mate-terminal

GUI関連の設定(Optional)

デフォルトでは日本語フォントやテーマが入っておらず、ものによってはGUIがまともに表示されないため、これらのインストールと設定を行います。

gtk-chthemeはGTKのテーマ設定ツール、light-themesはUbuntuデフォルトのテーマパッケージ、fonts-takaoはUbuntuデフォルトの日本語フォントです。

sudo apt install gtk-chtheme light-themes fonts-takao

インストールできたら、端末でgtk-chthemeを実行し、Ambianceなどを選択します。フォントがデフォルトで小さめなら、13くらいにしておくといいかもしれません。

また、何故かgtk-chthemeではアイコンを設定してくれないため、こちらは手動で設定します。~/.gtkrc.mineというファイルを作り、以下を書き込んでください。

gtk-icon-theme-name = "Humanity"

これでcajaなどを起動すれば、本物のUbuntuと同じように見えるはずです。

参考にしたサイト

http://janbernloehr.de/2017/06/10/ros-windows

Windows 10の使いにくい部分を修正!!

こんにちは!去る7月29日、ついにWindows 10が公開されました!まだまだ行き渡ってはいないかもしれませんが、Windows 7, 8.1を使用している人は無償でアップグレードすることができます。XP/Vistaを使用している方は購入するしかありません・・・。

Windows 10では、タブレット向けを強く意識した8から方針転換し、7以前のようにPCを主眼においたデザインに戻されました。批判が強かったとはいえせっかくやった大転換をまた元に戻したことについては少し残念な気もしていますが、PCで使う以上は使いやすくなったと言えます。と言いますか、PCで使うWindowsとしては過去最高の完成度だと私は思っています。

まず、Windows 10ではOSの中核部分であるカーネルのメジャーアップデートが行われ[https://ja.wikipedia.org/wiki/Microsoft_Windows_10]、体感速度が大きく向上しています。最近のハードウェアを利用している場合は特に、7よりも断然速いです。OSXもそうですが、最近のリリースはハードウェアの要件をあまり上げずに軽量化に主眼をおいていますので、Windows 10はCore 2 Duo世代(Windows Vista世代)くらいのPCでも十分その恩恵を受けることができます。

ですが、残念なことに表面的な部分ではいくつか使いにくいところがあります。それは、スタートメニューと画像ビューアです。実力はあるのに、実にもったいないことです。ここでは、その解決法を提案します。

使いにくいかもしれない点: 新しいスタートメニュー

Windows 10の特徴として、新しくなったスタートメニューがあります。これはこれで悪くはないのですが、XPやそれ以前からWindowsを使ってきた人たちにはやはり馴染みにくいところがあるかもしれません。

new_startmenu_mod

そこで、まずはこれを従来の使い勝手に戻すTipsを紹介します。これには、Classic Shellというフリーウェアを利用します。旧来のスタートメニューを再現する同様のソフトはいくつかあるのですが、あるものは完成度は高いものの有料、またあるものはアドウェア疑惑があるなどで、私の一番のおすすめはこのソフトです。

Classic Shellを利用することで、以下のような旧来のスタートメニューに似たスタートメニューを再現することが可能になります。

classicshell

それでは、インストールを行いましょう。

Classic Shell公式サイト

http://www.classicshell.net/

英語のサイトになりますが、臆することはありません。「Download Now」をクリックし、ダウンロード、インストールしましょう。

インストールが完了すると、細かい見た目や使い勝手を設定するウィンドウが出ますので、適宜設定を行います。わからない場合は、そのままでも大丈夫です。

使いにくい点: 「フォト」アプリ

photo

うーん、、私としては、ここはいまいち理解できません。Windows 10では画像ビューアが「フォト」というModernアプリになってしまいました。Modernアプリは主にタブレットを志向したデザインで、PCでは利用しにくいものです。例えば、右クリックメニュー等は使えません。しかも、現状ではModernアプリは従来のWin32アプリと比較し動作速度が遅く感じられます。これも、従来のようなものに戻しましょう。

画像ビューアのフリーソフトはいくらでもあるのですが、使用感やシステム全体の安定性の観点から、できれば純正のものを使用したほうが良いということがあります。そのため、ここではMicrosoftがWindows 7の時期に提供していた、「Windows Essentials」という追加パッケージに含まれる「フォト ギャラリー」を利用することにします。インストールは問題ありませんでした。

photogallery

以下のサイトから、ソフトウェアをダウンロードし、インストールを開始します。

http://windows.microsoft.com/ja-jp/windows-live/essentials

インストール中、「フォトギャラリーとムービーメーカー」だけをインストールするよう指定します。OneDriveなどはもともとインストールされているソフトと競合する可能性があります。「Windows Live メール」は欲しければインストールしても良いかもしれません。「Windows Live Writer」は使いやすさで定評があるブログクライアントです。というか、この記事もLive Writerで書いています。

インストール時に.Net FrameWorkのインストールが始まった場合は指示に従います。

インストールが完了したら、何か画像を開いてみてください。その際、どのソフトウェアで開くか聞かれると思いますので、「フォト ギャラリー」を指定してください。

これで、旧来のような使いやすい画像ビューアで画像が開かれるようになります。

おつかれさまでした。

Windows 10無料アップグレード予約開始!

Windows 10の無料アップグレードの予約が6月1日から開始されたようです!

http://pc.watch.impress.co.jp/docs/news/20150601_704747.html

このような感じで、アップグレード対象になるPCだと自動的にタスクバーにアイコンが現れてくるようです。このアップグレードアイコンは更新プログラムとして送られてくるので、Windows Updateを自動にしていない場合は手動で行う必要があります。また、ハードウェアの適格性もチェックされているようで、アイコンが現れない場合には要件を満たしていない可能性もあるようです。

P_20150602_024500

アップグレードは(おそらく)おすすめ

このアップグレードはWindows 7、8.1のユーザに1年間の期限付きで無料提供されるものです。私はテクニカル・プレビュー版をデスクトップPCでしばらく使用していましたが、個人的には非常に良い出来だと思いました。Windows 8などはユーザインタフェースが大きく変更され、旧来のユーザが戸惑ってしまったことは記憶に新しいですが、10はより7など以前のWindowsに近くなったところも多く、現状7を使っているユーザにもおすすめできます。

10563028_563397917096271_2389757101075328604_n

10では、OSのかなり内部から改修が行われたらしく、体感の動作は7よりも速くなっています。また、Macのようなデスクトップを複数作って切り替える機能も搭載されるなど、使い勝手や機能も大きく向上しています。もちろん、最初のうちはトラブルなどもあるかもしれませんが、ある程度新しいPCを持っている方であれば、メリットばかりのアップグレードという感じがします。