LoginSignup
10
16

More than 3 years have passed since last update.

ROS講座54 VMWare上でROSを使う

Last updated at Posted at 2018-09-08

環境

この記事は以下の環境で動いています。

項目
CPU Core i5-8250U
Ubuntu 16.04
ROS Kinetic
VMware 14.1.1

インストールについてはROS講座02 インストールを参照してください。
またこの記事のプログラムはgithubにアップロードされています。ROS講座11 gitリポジトリを参照してください。

概要

実は私はほとんどUbuntuをVMの上で動作させています。VMを使っていてもネイティブ環境とほぼ同様にROSを使うことができます。VM上でROSを動かすときの注意点を書いていきます。
adv_vm1.png

VM(ヴァーチャルマシーン)とは

VMとは仮想マシンのことで、別のシステム環境を再現するソフトです。今回の例で言いますと。Windows上で起動しているVMwareでは生のPC環境を再現していて、そこにUbuntuをインストールすることができます。この状態の時にWindowsをホストOS、UbuntuをゲストOSを呼びます。
これに対して普通にPCにUbuntuをインストールしている環境をネイティブ環境と言います。

メリット・デメリット

  • メリット
    • 普段使うWindows PC上でROSが使える。
    • 複数のPCを所持する必要がない
    • 複数のUbuntu環境を使い分けれる・同時に起動できる
  • デメリット
    • 演算やメモリの性能が低くなる、低く制限される。
    • ネットワーク周りが面倒
    • 予期せぬトラブルに会うことがある。

最大のメリットとして普段使っているwindowsPCにソフトをインストールするだけでUbuntuが使えるということです。わざわざUbuntu用に1つ余計にPCを持つ必要がありません。また1つのWindowsPC上で複数のVMを立ち上げることもできるので、通信周りのテストも簡単にできます。また簡単にインストール・アンインストールができるのでOSを破壊しかねないような危険な作業もリスクが低くできます。
デメリットとしてはVMであるが故の不具合がいくらかあることです。基本的には気になるようなものはないのですが、大きいものがあるので下に書いておきます。

VMの使い方

VMのソフトとしてVMwareとVirtualBoxの2つが有名ですが、今回はVMware workstation playerを使います。VMware workstation playerはWindowsとLinuxのみ対応で、Macには対応していません(VMware Fusionが対応しているらしいが、未検証)。

ダウンロード

製品のダウンロード - My VMwareでVMware Workstation Playerを選択します。
adv_vm2.png

その次の画面でWindows版を選択してダウンロードします。
adv_vm3.png

インストール

ダウンロードしたインストーラーの指示通りに行えばインストールされます。

Ubuntuイメージの入手

UbuntuのページISOイメージを使います。
実機と違ってUSBメモリやDVDに焼く必要はありません。

新しいVMの作り方

VMWareを起動して「新規仮想マシンの作成」をクリックします。
adv_vm4.png

次のウィンドウでインストーラーディスクイメージファイルのラジオボタンをONにして「参照」ボタンからUbuntuイメージを選択して、「次へ」を押します。
adv_vm5.png

VMwareには「簡易インストール機能」があり、特定のOSについては通常よりも簡単にインストールをすることができます。以下の画面で情報を入れて「次へ」を押します。

  • フルネームは何でも構いません。ログイン画面で表示される名前です(英数字で入れてください)。
  • ユーザー名はbashのプロンプトの左側の名前です。
  • 簡易インストールを入れるとホスト名(プロンプトの右側)はubuntuに固定になります。
  • パスワードも好きなものを入れてください。 adv_vm6.png

これで30分ほど待つとUbuntuのインストールは完了です。

この後ROSのインストールに入ります。ROSのインストールをした後に再起動するとこけることがあります。その時は参考ののリンクを参照に復旧してください。

VMwareで使うときのTips

low graphic modeの対処

apt upgradeをした後で再起動するとlow graphic modeと表示されることがあります。その場合はCtrl+Alt+F1キーを押してCUI画面を開き、画面の指示に従ってユーザー名とパスワードを入れてCUIログインします。その後以下のコマンドを実行します。

sudo apt purge -y ubuntu-desktop
sudo apt purge -y lightdm
sudo apt install -y tasksel
sudo tasksel install ubuntu-desktop

カメラ

なぜかWebカメラが使えません。Webカメラをつないでも/dev/video0は出現するのですが、uvc_cameraなどで起動しても真っ黒い画像しか出てきません。
対処法として、vmwareの設定でusbの互換性を「USB2.0」から「USB3.0」に変更することでROSとして画像を読み込むことができました。
USBカメラはUSB2.0ですし、この設定をしても一部のGUIアプリケーションだとカメラ画像につながらなかったりするのですが、私の環境ではROSならつながりました。

vmware_usb.png

ネットワーク

VMのネットワークは色々な種類がありますが、ここでは2種類があります。
adv_vm_net.png

NAT

ホストOSとゲストOSの間でネットワークを構成します。ホストOSがインターネットにつながっているならゲストOSからもインターネットを参照することはできますが、ネットワークが分離されているために外部からゲストOSに接続することは基本的にできません。ゲストOSのIPアドレスはVMwareがDHCPしてくれます。

ブリッジ

ホストOSとゲストOSがともに並列の関係でネットワークにつながります。この時にゲストOSのIPはルーターがDHCPする必要があります。
ルーターによっては相性が悪く、ブリッジモードにしてもIPをDHCPしてくれない物もあります。

設定の仕方

まず右上のネットワークのマークのボタンを右クリックして「設定」を選びます。出てくるウィンドウでネットワークの部分を選んで
、そこでNATなりブリッジモードなりを選びます。
adv_vm6.png

gazeboを使う設定

VMwareはどうやらOpenGL3系に対応していないらしくて、VMware上でgazeboを起動しようとすると失敗します。export SVGA_VGPU10=0の環境変数を付けるとOpenGL2系を使うようになり、正常に立ち上がります。bashrcに書いておきましょう。

CPUコア・メモリの割り当て

標準だとプロセッサは1コア、メモリが1GBしか割り当てられていません。gazeboを起動するなら多めに割り当てましょう。

参考

VMwareのネットワーク構成
VMwareでのgazeboの起動
Ubuntuが起動しない

目次ページへのリンク

ROS講座の目次へのリンク

10
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
16