ふまじめロボット倶楽部

ふまじめにてきとうにロボットとかやってもいいじゃない。電子工作警察嫌い。#ROS#Robotics #Programing #Python #Ubuntu #DeepLearning

ROSをWindows上の仮想環境で快適に使う方法あるの?

ROSを仮想環境のUbuntuにインストールしても重たくてまともにGAZEBOとか使えないとのことだったので、いろいろ試してみました。 ROS用にUbuntuマシンを用意できない人向けの、仮想環境でもなるべく快適にROSやGAZEBOを動かす方法のまとめです。

いろいろやった現状の最適解まとめ 2018/01/08

  • VMware(R) Workstation 14 Player (14.1.0)
    • 3Dグラフィックスのアクセラレーション 有効
    • $ export SVGA_VGPU10=0
  • Ubuntu 16.04.3
  • ROS kinetic

感想

正直少し無理してでもネイティブな環境を作るほうがおすすめです。 ツールの組み合わせとかバージョン、設定によって、GAZEBOのフレームレートめちゃめちゃ変わったりします。 UbuntuMate を気まぐれでインストールしたら再起動しようとするとXが立ち上がらないなどよくわからない不具合もあったので、 手元で試したときの情報やバージョンアップでの変化など、ぜひ教えてください。

ためした環境

  • ホストOS Windows 10 Pro 64-bit
  • GPU GTX960
  • CPU Intel(R) Core(TM) i5-6500

ゲストOS

Ubuntu16.04.3

14.04使ってる人もいますが、もういいかなとおもったので16.04だけやってます。

仮想環境

Windwsで使用できる無料の仮想環境は現状

の二択だと思います。 VMwareの無料版は商用利用不可って書いてあるので注意。

両方最新版で試しました。

Virtualbox 5.1.30

ROSインストール → できる

GAZEBO → 動く、が遅い初期画面 8fps くらい

VMware(R) Workstation 14 Player (14.1.0)

ROSインストール → できる

GAZEBO → 動く、が遅い初期画面 8fps くらい

調べるとどうやらグラフィックアクセラレーション系のオプションを使うと、OpenGLが使えたりするみたい。 OSインストール後にvirtualbox Guest Additions,VMware Toolsをインストールする必要あり。

試してみた

Virtualbox 5.1.30 3Dアクセラレーションあり

GAZEBO動くがfpsは変わらず。。。

VMware(R) Workstation 14 Player (14.1.0) 3Dアクセラレーションあり

GAZEBOが立ち上がらない。。。 調べるとOpenGLの使用するバージョンが関係する様子

Virtual Machine not launching Gazebo - Gazebo: Q&A Forum

↓のおまじないで解決するらしい

$ export SVGA_VGPU10=0

治った。

60fpsを記録!!! タートルボットもサクサク動いた

ライセンスは微妙だがROSを使うなら、virtualboxよりVMwareのほうが良さそうです。 しかし、なにかのバージョンの変更で動かなくなったりしそうなので、OSをクリーンインストールしたほうが変な不具合に時間取られなくておすすめです。 何かの事情でWindwsマシンしか用意できない場合もあると思うのでその場合は参考にしてみてください

もっとROSを学びたい人にはこの本がおすすめ

プログラミングROS ―Pythonによるロボットアプリケーション開発 (オライリー・ジャパン)

プログラミングROS ―Pythonによるロボットアプリケーション開発 (オライリー・ジャパン)

でもその前にまずLINUX用のPCを買いましょう。