2017年7月15日土曜日

世界は究めて地味に攻殻機動隊の世界を造ろうとしている

いつも通り。タイトルは煽りです。
VR界隈(主にTangoやHololens等のMR)、産業用IoT、次世代のロボット用OSの目指してる部分を見ていると既視感のある世界が見えてきます。一言で言うと攻殻機動隊(主にS.A.C)を作ろうとしていると感じざるをえません。
Project Realize等では当然目に見える部分が先行しますが、上の技術はどちらかというとインフラなので「企業のネットが星が覆う世界」を作ろうとしている。その覆い方の一つとして、リアルタイム・分散システムをキーワードにしているように感じています。

VR系でのブレークスルー

ここ最近Oculusを始め、Hololens等様々なVR製品が話題に上がりました。技術的には20年以上前から知られていたものですが、何故今なのでしょうか?大きな時間で見ると、コンピュータやセンサーの性能が人間が体験するにあたって十分にリアルタイムになった。つまりシステムの高速化がブーレークスルーのきっかけであると言われています。
人間にとってリアルタイム」重要な事なので二度言いました。

Oculus :引用https://www.oculus.com/

ロボットは鉄腕アトムからタチコマへ

研究用に使われるロボット用のOS(ミドルウェア)として有名なものにROSというものがあります。現在実用に耐えるようにROS2という次期バージョンが開発されています。
ROSが行う作業は人間に例えると「器官」どうしの「通信」システムです。
下の図のように「アクチュエータ」であろうが「情報処理」であろうが「センサー」であろうが、それぞれの情報をお互いに垂れ流す(publish/subscribe型の)分散システムとして出来ています。情報処理ですらノードの一つでしかないという統一されたインターフェイスでできたフラットな分散システムしかもリアルタイムという特性は押さえ置くべき点です。
例えば足が痺れた時の事を思い出してみてください。足が駄目になったからといって、他の情報処理には影響が有りません。このように人間の体は、各器官が足と手は関係ないといったように各部が独立して動いて、通信によって統合されているモデル化できます。その繋がりは脚気の検査で足を叩くと動いちゃう事からわかるように、全てが中央の脳に直結してるわけではありません。さらに言うなら、脳自体も言語野が損傷しても言語が不自由になるだけというふうに、情報処理についても細かい器官(ノード)に別れているとモデル化できます。
(説明のために人間に例えましたが、普通はロボットに適した情報処理はロボット専用のほうがいいです。たまたま一緒なだけ。)
ROSのイメージ図
コレが「一つのロボット」の中にはいっているのが鉄腕アトム的なロボットです。システムが一つのロボットで閉じているので、どこにどのノードがあるの?という管理や、通信相手のノードが偽物じゃないか?といったセキュリティの問題はありません。
ここで、世界がタチコマを作ろうとしていると仮定します。
タチコマ:引用 http://www.ntv.co.jp/kokaku-s/ 
 タチコマはお互いに同期したり、連携したりして動きます。アニメでは声で話すことが多いですが、ちゃんと直接通信もできます。ここにROSを適用する場合、現在のROSでは暗号化や認証の機能がないためセキュリティ上の問題があります。
そこらへんをROS2では産業用IoTと呼ばれる分野で使われているDDS(データ分散サービス)に頼ろうとしています。

DDS(データ分散サービス)って?

DDSは風力発電所等に使われて居ます。風力発電では風の変化という設置場所毎に異なる状況と、電力需要変動というシステム全体に起きる変動の両方を見ながら、リアルタイムに風車の角度調整を行う必要があります。さらに、広範囲に拡がっているのでソレをすべて専用線で結ぶのはなかなかのコストです。そこで、「リアルタム」でセキュアな分散システムとしてDDSが採用されています。
はい、本日2度目の「リアルタイム」です。そうVRだけでなくロボットや産業用IoTでも応用用途によって程度の差はあれ、リアルタイムが重要なのです。

 攻殻での産業用IoT

さて、攻殻機動隊に立ち返って産業用IoTを使っている人を探してみましょう。すぐに見つかりますね。狙撃に「鷹の目」を使っているサイトーさんです。もちろん衛星直結を否定はできませんが、企業のネットが星を覆う時代にはネット経由が妥当に見えます。
サイトー:引用 http://sss.ph9.jp/characters/

VRとロボット(産業用IoT)の融合の可能性

もしも貴方がサイトーさんなら、むしろスナイピングにはタチコマの目を使いたくありませんか?普通使いますよね?作中には出てこないですが、許認可の問題をのぞけばできるんでしょう。「許認可」は大事、大事なことなので2度(略)。
 そして、もう一つロボットの「アクチュエータ・情報処理・センサー」が分散システムのノードとして独立な事を感じさせる逸話があります。そう「笑い男事件」です。
 義眼として、脳に直結なら義体化度合いの異なるみんなの視覚野をHackするのは骨が折れる作業です。でももしROSのようにカメラと画像処理(情報処理)を分離して、かつそれをネットごしに外注していたらどうでしょう?うまく均一にhackするポイントが出てくる可能性があるかもしれません。
そう、元々リアルタイムだったロボットが個体を飛び出してネットに直結する事、元々ネット直結だったIoTデバイスがリアルタイム化するという事は、両者が一つのフレームワークに収まる事を意味していて、「人間にとってリアルタイムに接続できる」デバイスはVRに取り込まれるのです。
ロボット・IoT・VRというバズワード御三家が繋がりました。

そして縁の下の力持ち「通信」

ここで再度「笑い男事件」の仮説を思い出して欲しいです。人間の生活に支障のないレベルに、リアルタイムに画像をネット越しに送って、加工して受信するだと?通信舐めてるのか?という話になります。もちろん攻殻機動隊の通信速度やディレイは「なめとんのか?」レベルです。
でもケータイは年々早くなっています。4G(LTE)でyotube快適にみれるし十分だと思ってたら5Gが出てきます。さすがにテレビでも「何に使うの?」っていう疑問を解説してる番組があるようですね。

https://www.houdoukyoku.jp/posts/14978

もう一つの共通要素「空間の紐付け」

以上でだいたいの話は終わるのですが、この文書は私が思いついた順とは逆順に書かれています。最初のきっかけは、RTAB Mapのマルチセッション機能
RTABMAP マルチセッション: 引用https://github.com/introlab/rtabmap/wiki/Multi-session
もう少しメジャーなサービスで説明するとGoogleのVPS機能のです。VPSについてはgigazineさんの記事あたりからリンク先を漁って下さい。
世界をセンチメートル単位しかも3D地図にして、その上でスマホ1台あれば何処にいて、どこを見ているかが解ります。センチメートル単位なので部屋の模様替えをしたら、それに追従して地図も更新されます。地図を共有するシステムしかも、ネットにも繋がる。それだけだと「何のこっちゃ」ですが…。
お掃除ロボットルンバ程度の脳みそのマシンにスマホを繋ぐだけで、ショッピングモール全体を巡回警備するロボットができちゃう。しかも、ネットに繋がったアプリなので複数台同時に運用するのも自然にできる。これって、すごくない?という所から調べて、ROS2やDDSの話にぶちあたりました。

・リアルの3次元地図の共有
・ロボットOSのように通信インフラの共有
・IoTのように複数ユーザによる装置(アクチュエータ・情報処理・センサー)の共有

この辺が見えてきた時に、自然に思い出したのが攻殻機動隊でした。

 企業のネットが星を覆うまでに

もうできる素材はあるんだから、あとは世界をつくるだけだ!と言いたいところですが。ちょっと考えるだけでも、まだ足りないピースが有ります。例えば分散システムを共有した場合の課金です。衛星一つがサイトーさん専用って事も無いでしょう。何らかの許可をGETして使っているはずです。しかしその課金のためにリアルタイム性が犠牲になってはかないません。細かく検討すると、深みにはまれます。
今までニュースでよく見た(リアルタイムではない)IoTはWebAPIなどの使い込まれた技術資産がつかえました。その部分がリアルタイム化のために使えなくなるのです。電話会社は電話会社で閉じる事でうまい事設計できてました。しかし産業用IoTの世界では家の軒先にぶら下げた気圧計のデータを気象庁とウェザーニュース社と米軍と、という風に複数に売るという事が普通にありえて、電話のような閉じたシステムもなかなか採用しづらいと予想されます。そのへんは今のところデファクトスタンダードな方法はなさそうです。(私の調べがあさいだけ?)

それ以外にもやらなきゃいけない事はてんこ盛り

課金の例は考えてみればすぐ解る課題ですが、応用を考えて初めて出てくる課題もあります。
例えばリアルタイムに通信しているシステムが、一時的に数100ms程度止まったとしたらどうでしょう?運転支援のVRシステム等では問題になりえます。例えば死角にある車を可視化するシステムの場合。「カクっ」と変な動きがある車があると、不要に注意を引いてしまします。
物理予測から適当に予測補完するというのも手ですが、通信が回復してから、認知的に直前の過去を操作する事も考えられます。過去の改ざんは難しそうですが、錯覚にも近い認知の研究の分野で「あったものを無かった事にする」「無かったものをあった事にする」研究も進められています。(とつい最近、VRの大御所のM先生に伺った)
この例でも言えるように、一見トリビアルだけど大事な技術がまだミッシングピースとして地雷の様に埋まってることは予想できます。がんばれVR屋さん。

 なんでこんな文書を書いたの?

こんな攻殻機動隊みたいなシステムは昔から夢想してたけど、勤め先ではそれに関わるチャンスはなかった。でも、最近偶然そんなチャンスがあったのよ。当然いきなり攻殻の世界を作れるとは思ってはないけど、調べてみたら世界は着実に進んでるじゃないの。
とりあえず公知の情報である世界の部分を解説して、一緒に(各々の勤め先の金で)攻殻の世界を作ろうぜ!なのです。