2018年8月19日日曜日

UWSimで遊ぶ日々 動作環境の準備とか

***CAUTION!!!***
新しく水中ロボットのシミュレーションを始める方には、UUV Simulatorをお勧めします。
UWSimはロボットのモデルを1つの剛体として登録するので、後々アームを使ったり合体分離をしたいときに対応できません。
***CAUTION!!!***


みなさんはUWSimという水中ロボットのシミュレータをご存知でしょうか?

 公式HPはこちら

 UWSimはスペインのJaume I Universityで作成された、ROSとLinux環境で動作するフリーの水中ロボットシミュレータです。
 日本語で解説している記事が見つかりませんでしたので、ここで紹介を進めて行きたいと思います。

 まずは動作環境を用意するところからです。
公式HPでは次の条件で動かしているとあります。

 ・プロセッサ MacBook Pro 2.26 Ghz Intel Core 2 Duo
 ・メモリ   4 GB DDR3
 ・グラフィック NVIDIA GeForce 9400M
 ・OS    Ubuntu 11.04

私の動作環境は次のとおりです。
インストール直後のデモ画面でちゃんと60FPS出ます。

 ・プロセッサ Intel® Core™ i5 CPU 650 @ 3.20GHz × 4
 ・メモリ   4 GB DDR3
 ・グラフィック  GeForce GT 1030
 ・OS    Ubuntu 16.04
 ・ROS     Kinetic Kame

上記環境で動作中のリソースモニターです。

動かした感じですが、プロセッサはこれより低くても動きそうです。
今後ROSのノードがたくさん動くことを考えると、メモリはあまりここから削らないほうが良いでしょう。
グラフィックも念の為程々のものを入れましたが、外付けの一番安いのでも行けそうな気がします。



これにたどり着くまでにWindows環境で動かすことや、古いノートPCで動作しないかなどを試行錯誤してます。
 3Dのモデルを描画する必要があるので、主にグラフィックに依存し、プロセッサやメモリはあまり影響が出ないという結果でした。

古いノートPCを使う場合、マザーボードにGPU機能が組み込まれているかが使用できるかどうかの境目になるようです。
はじめは10年くらい前のFMV Core 2 DuoにUbuntu16.04とROSのKineticを入れて使おうと思いましたが、グラフィック性能が足りないのか最大3FPS程度しか出ませんでした。
現在新品で購入できるノートPCならオンボードグラフィックが充実していますので、問題なく動作すると思います。

また、Windows環境でOracle VM VirtualBoxを使って動かす方法では、5年位前のデスクトップゲーミングPCを使いましたがグラフィック性能不足でした。

 グラフィックボードの能力をVirtualBoxに反映することができれば動作すると思いますが、私はその方法が分かりませんでした。


最後は機材の購入です。
合計2万円を目指して機材の準備をしました。
下の構成だと、多少足が出てしまっています。

PCは楽天の中古PCショップで購入しました。ナベキンさんで買いましたが、どこの中古PCショップでも 価格とPCのグレードはほとんど一緒です。
本体がだいたい1万円前後、3000円でモニターオプションがつけられました。
 私が買った時は、Linuxを入れるのでWindowsなしとお願いしたら、多少の割引をしてもらえました。
 最近のグラフィックボードはD-sub15ピンのアナログ端子がないため、モニター費用をケチるとHDMI→アナログ端子かDVI→アナログ端子の変換コネクターが必要になります。

 グラフィックボードと変換コネクターはAmazonで購入しました。
GeForce GT 1030搭載のグラフィックボードとしては玄人志向の製品が最も安かったです。
ロープロファイルのPCを購入したため、ロープロファイルに対応しているのが決め手になりました。
5000円台のグラフィックボードでも十分に動作すると思います。

変換ケーブルはDVI→アナログ端子よりもHDMI→アナログ端子のほうが安い製品が見つかります。
上記の玄人志向の製品はHDMIとDVIの出力が1つずつあるので、手持ちのモニターを確認して繋げられる方法を見つければ良いと思います。

キーボード、マウスは手持ちのものを使用します。
バッファロー製の、無線接続でUSBポート1箇所でキーボードとマウスの両方が使えるものが便利でおすすめです。

今回はここまで。