見出し画像

「ロボット開発でUnityを使いたくなる3つの理由」をPreferred Networksの矢島さん・海野さんに聞いた【コモさんの「ロボっていいとも!」】

画像1

こんにちは、コモリでございます。


お友達紹介形式でロボティクス業界のキーパーソンの友達の輪を広げて毎回Unityについて語ってみるという、流浪のインタビューコーナー「ロボっていいとも!」でございます。


前回、ソニーのaibo開発者・川部祐介さんをお招きし、aibo開発現場でのUnityの使われ方やロボティクスとUnityの将来像などを一緒に語りました。

おかげさまで、記事公開から多くの方から反響をいただき、誠にありがたい限りでございます。


本日は川部さんからのご紹介によるゲストをお招きするのですが、これを読まれている方の中にはロボティクス業界でない方も多いかと思います。

そこでゲストをお招きする前に、ロボティクス業界で使われている2つのソフトウェアについて簡単に説明します。本日のトークでも話題に少し上がりますので、把握しておくとよいでしょう。


ひとつは「ROS」と呼ばれるもの。これはRobot Operating Systemというもので、読んで字のごとくロボットのOS的な位置づけのソフトウェアです。実際はロボットアプリケーションを作成支援するライブラリやツール群で、これを組み込んだロボットやパーツ類は共通で開発ツールを使えたりなど、開発効率化を図ることが出来ます。


もうひとつは「Gazebo」と呼ばれるもの。こっちは3D空間でのロボットシミュレーターソフトウェアで、内部で物理エンジンを持って様々な環境をシミュレートし、ロボットの動作検証などをビジュアライズ化するものです。当然、前述のROSと連携することが出来ます。


・・・ん、難しい? 大丈夫です。詳細がわからなくても、今のところは「この2つのソフトウェアはロボット開発で有名なオープンソフトウェア」という理解だけで大丈夫です。これらのソフトウェアとUnityを対比しながらお読みいただけると、理解がちょっと進むかもしれません。



それではゲストをお招きしましょう。本日のゲスト、ソニーの川部さんからのご紹介。Preferred Networksの矢島史さんです!


画像2

矢島 史
株式会社Preferred Networks ソフトウェアエンジニア

矢島:はじめましてー。


ロボットは「歩くスマホ」であり「次のコンピューターの形」


――では、矢島さんの自己紹介をお願いします。

矢島:Preferred Networksの矢島です。Preferred Networksに入社する前はソニーで15年間ほど勤務していました。


――前回の川部さんとはそういうつながりだったんですね。ちなみにソニーさんではどのようなことをやられていたのですか?

矢島:ソニー在籍時は川部さんとは同僚でして、携帯電話のXperiaやaiboの立ち上げに関わっていました。その中で私は画像認識を担当していました。その時にUnityも触れ始めていました。


――ちなみにUnityに触れたきっかけは何だったんですか?

矢島:Xperiaに関わっていたこともあり、最初はスマホアプリ開発でした。ARアプリですね。

話を少し戻すと、携帯電話の開発経験ってロボット開発にも活かせると思うんですよ。どういうことかと言うと、現代のロボットは言い換えると「歩くスマホ」みたいなところがあると思うんです。

そういうことも考えているうちに「もっともっとロボットのことをやりたい」という気持ちになり、ロボットや人工知能に強みを持つこの会社に入社しました。


――御社はロボティクスや機械学習などに強みがありますよね。

矢島:そこで今日は私のほかに、当社の執行役員の海野にも同席してもらい、海野から当社の事業説明などをしてもらおうと思います。



画像3

海野 裕也
株式会社Preferred Networks 執行役員 ロボットソリューションズ担当VP

海野:よろしくお願いしますー。


――ご同席ありがとうございます。それでは海野さんも自己紹介をしてもらってよいですか?

海野:はい、執行役員の海野と申します。私自身の経歴は、ロボットというよりは自然言語処理の分野のほうが長くて、大学の頃からずっと研究・開発をしています。

ロボット開発はここ2~3年間ずっとやっているのですが、主にはCEATEC JAPAN 2018にも出展した「全自動お片付けロボットシステム」などを担当しました。


――このロボットは人間の言葉を理解してお部屋の片付けをしてくれるんですね。

海野:自然言語処理の研究をし続けていたので「いずれは言葉を扱うロボットが来るだろう」という未来予測をしていました。ちなみにスマートスピーカーが登場した時は「先を越された!」とちょっと悔しい気持ちにもなりましたが・・・。で、「次のチャンスは逃さない」という気持ちの中で、まずは「言葉で操れる産業用ロボット」を開発しました。

その成果を論文にまとめて発表したところ、ロボットの国際学会(ICRA 2018)で賞をもらい、それをキッカケにこの「全自動お片付けロボットシステム」を開発し、CEATECに出展しました。



――さて、先ほど矢島さんからもご紹介いただいたとおり、御社・Preferred Networksさんについて詳しくご紹介ください。私も、御社では「ロボティクス」「マニュファクチュアリング」「トランスポーテーション」の事業を手がけていることは知っておりますが・・・。

海野:当社は深層学習などの最先端技術の実用化を目指していて、「すべての人にロボットを」というビジョンをかかげています。言い換えると、コンピューターの歴史がメインフレームからパーソナルコンピューターへ、そしてスマートフォンへと進化していく中で「次のコンピューターの形は?」という問いかけに対して、我々は「それはロボットであろう」と考えているわけです。

つまり、コンピューターはもっと世の中、物理世界に干渉するようになってくると思いますし、そのコンピューターこそがロボットだと思うのです。


――なるほど。だから、物理世界に干渉するためにはロボットが物理世界を認識する必要があるし、御社では機械学習、特にディープラーニングの分野を得意としてこれらの事業を手がけているんですね。

矢島:はい、Preferred Networksは機械学習・ディープラーニングを得意としています。私が手がける画像認識でも活用していますし、社内では音声認識などの研究も進んでいます。

画像4

Preferred Networksさんの社内の様子


――ディープラーニングなどは非常に流行っていますよね。認識精度もすごく上がっていると思いますし。

矢島:一方で、本当に欲しい認識精度までには到達していないと思っています。私もaibo開発のころからずっと画像認識を手がけていますし、現在はディープラーニングが盛んになっていますが、まだまだ難しいところがあります。

どういうレベルの認識精度が欲しいかというと「どんな環境でもロボットが状況を認識し正しく動作する」というもので、まだまだそういうレベルに達していない。でも、当社はそういう分野には強い会社だと自負していますし、私も日々研究開発しています。


――先ほど海野さんは、ご自身が自然言語処理が専門である旨をおっしゃっておりましたが、ロボットがモノを認識する、あるいは人間を理解することへの課題について、どうお考えになっていますか?

海野:やはり人間が持つような認識能力にコンピューターはまだまだ追いついていないと思います。

たとえば目で見たり、音を聞いたり、モノを認識してカテゴライズするなど。先ほど紹介した「全自動お片付けロボットシステム」でも同様のことをやっていますが、「人間がいとも簡単にやれることを、コンピューターはなぜこんなに苦労しないと実現しないのだろう」と思いながら開発していました。

私はよく例える時に「今のコンピューターの認識能力は、人間の1歳児くらいしかない」と言っています。2歳になる自分の息子を見ても思いますが、人間の認識能力とそれを学習する能力は本当にすごいなぁと感じます。


――コンピューターの認識能力のブレイクスルーって到来するのでしょうか? そのあたりの未来予想はありますか?

海野:難しい質問ですね。先ほどお話したとおり、数十年の人工知能研究の結果ようやく1歳児並みの認識能力を手に入れた、という認識なのでブレークスルーというものに対してはかなり懐疑的です。

ただ、実はそのことはあまり興味がなくて、大人のような認識能力を得るよりもはるか前に社会に大きな影響を与える技術ができるんだと思っています。

うちの2歳の子はビールを持っていったり、お風呂掃除をしたり、ちょっとしたお手伝いはできるんですね。そういう、ちょっとしたことなんだけど自動化・機械化できてないことは世の中にたくさんあって、それができるために必要な認識能力を得るのは実はもう近いのかも、と思っています。


Preferred Networksが考える、Unityを使いたい3つの理由


――さて、Preferred NetworksさんがUnityを使い始めたキッカケを伺いたいと思います。

海野:最初はARアプリや簡単なゲームデモを開発する時にUnityを使い始めたと思います。今は社内で20人くらいがUnityを使っています。

三次元の開発環境を探し始めると、Unityの情報が多く出てくるので、必然的にUnityを選択するようになったと思っています。


――Unityを使っての社内の声・感想はどうですか?

海野:実は私も直近ではロボット開発に関連してUnityを結構使っていました。その時にまず思ったのは、ロボット業界の開発環境は右手座標系が多いのですが、左手座標系のUnityを使っていると一瞬混乱することがあるんですよね。先日も外部の開発ツールとUnityを連携させた時にうまく動かなくて、どっちの座標処理でミスしているかを判別するのに苦労しました。

とは言っても、ロボット開発をしている人にとってUnityは有益なツールだと思うんです。そう思う理由が、個人的には3つあるかなと思っています。ここについて、今日はいろいろ伝えたいことがあるので話しても良いですか?


――お、いいですねぇ。ぜひぜひお聞かせください。

海野:Unityをロボット開発で使いたくなる理由の1点目。それは「グラフィック」です。やはり仮想の環境でロボットをシミュレーションする際に綺麗なグラフィックを使いたくなるので、「綺麗なグラフィックと言えばUnityでしょう」という感じでUnityを選択したくなります。

一方でこの綺麗なグラフィックというのは、必ずしもゲーム開発で言われているような綺麗さだけを指しているわけではありません。たとえば埃が舞う状況とか雨がカメラに吹き付ける状況など、現実世界の状況やセンサーと合っていることが重要なんです。こういうところをもっとUnity上で再現・取得できるようになるといいですね。


――この点について、矢島さんもご意見ありますか?

矢島:シミュレーション環境としてはGazeboもありますが、グラフィック面ではUnityのほうが圧倒的に綺麗なので、シミュレーションを動かす時はUnityを使いたくなる場面はあります。あとUnityの場合はAsset Storeがあるのも魅力です。欲しいアセットをすぐ入手できて使える便利さがAsset Storeにはありますね。


――続いて、Unityをロボット開発で使いたくなる理由の2つ目を海野さんに伺います。

海野:2点目は「シミュレーション」。Gazeboなどの3Dの開発環境ツールでもシミュレーションをできますが、だからといって既存のシミュレーションソフトの処理速度の遅さに対する不満もあり、Unityのようなゲームエンジンを使いたくなるのです。

でもここも、処理速度が速ければよいかというとそうでもなく、シミュレーション精度と処理速度のバランスが大事なんです。当社の場合、深層学習技術をロボットに適用して研究開発している関係もあり、ロボットは外部からのセンサー情報を取得して機械学習を使って処理を行うのですが、これが現実の処理速度と乖離しているとシミュレーションとしてあまり意味が無くなってしまう。処理速度が遅くても困るし、速すぎても精度が低いと使えない。このあたりのバランスを簡単に実現できるようになるといいですね。


――現実に即した精度とスピード。御社のロボット開発ならではのニーズですね。

海野:そして3点目は「インターフェイス」。やはり3D空間のインターフェイスを一からコーディングで作るのは大変なので。Unityだとパッと作れる点がありがたいです。



ディープラーニングの学習済みモデルをUnityで使いたい


――そろそろ最後になるのですが、今後ロボティクス業界がUnityのようなリアルタイムエンジンに期待することは何だと思いますか?

矢島:ロボット業界はROSを使っている方が多いので、Unityの中でROSをもっと活用できるようにするとよいと思っています。

あと、ONNXモデルのようなディープラーニングの学習済みモデルをUnityで受け取れるようになるといいですね。


――学習済みモデルをUnityで扱えるようになるという点では、「Unity Barracuda」というパッケージがそれに該当すると思いますので、ぜひお試しいただけると良いかと思います。

矢島:いいですね、あとで見てみます。


お友達紹介


コモ:それではお友達紹介のお時間になりましたので、お友達をご紹介いただけると。

海野:それでは私の方から紹介させてください。ユカイ工学のCEO・青木俊介さんをご紹介します。

コモ:ありがとうございます。青木さんに伝言はありますか?

海野:「新製品の発売おめでとうございます。コンシューマ向けプロダクト開発の面白いお話、期待しています。」とお伝えください。

コモ:はい、今日はありがとうございましたー。


みんなにも読んでほしいですか?

オススメした記事はフォロワーのタイムラインに表示されます!

最後までお読みいただきありがとうございます。ぜひTwitterもフォローしてください。