「こんなのが作りたい!」
「じゃぁ、ルンバを遠隔操作できるようにして、ステレオカメラのっければよくね?」
そのために、まずHiro先生にルンバを動かせるようにしてもらいました。
すばらしいですね。
さて、今日はこれに載せるためステレオカメラを作ります。
今回は PlayStation Eye を2個使います。
なぜ PS Eye かというと、ふつうのWebカムに比べて視野角が広いのです。
人間の目に近いのです。
このカメラ2個の画像を結合するにはここらへんを参考にするなど、先人の知恵をお借りしました。(多謝)
https://developer.oculusvr.com/forums/viewtopic.php?f=29&t=889
このフューチャーガジェットで撮れた映像がこちら。
これらの左右の2つの画像が脳内で結合されて3Dに見えるわけです。
どうもレンズ同士の距離が人間の両目間の距離より離れていて、遠くのものが近く見えてしまうけど、とりあえず差し支えないです。
画角の外に行くにつれて、画像を歪めています。
これはなぜか、もうお気づきですね。
おーきゅーらーすー!((̵́ ̆́˚̩̮ ̆̀)̵̀)
Oculusですよ、オキュラス。
いやー、欲しかったんですよこれ、攻殻機動隊っぽくてかっこいいじゃないですか。
基本的にHDMIを繋げばディスプレイとして認識するOculusですが、一つめんどくさいところは、広視野角を実現するための接眼レンズのディストーションを投影する画像が補完しないとならないところなんですよね。
そのために、画角の外に行くについれて、画像を縮めるように歪めて補正しています。
これでバトーさんごっこはできるようになりました。
でもこのステレオカメラをルンバに乗せて遠隔操作するためには、撮影した3D動画をリアルタイムでリモートのマシンに送らなければいけません。
そういうストリーミングのコードでも書こうと思って調べている途中にひらめいてしまいました。
「Skypeのデスクトップ共有でよくね?リソースに余剰あるし…」
つまり、ルンバに載せてステレオカメラを繋いだPCから、Oclusをつないだ遠隔のPCに向けて撮影>した動画をSkypeの機能を使って送りつければ万事解決です。