Oculus VR内視鏡
Oculus DK2のヘッドマウントディスプレイを装着し、頭位に合わせて内視鏡が自動的に稼働、
さらに、その映像がリアルタイムでヘッドマウントディスプレイに投影されるマシンです。
Oculus DK2を手に入れた時期に、ちょうど医療用の内視鏡のジャンク(オリンパスCV-140)が手に入ったため、勢いで自作しました。
「まるで内視鏡の先に小さくなった自分がいるかの様な体験が出来るのではないのか」、という仮説のもとワクワクしながら作成しました。
システム紹介
システムは大きくOculus DK2、PC、内視鏡本体に分かれ、また制御系と画像系は独立したフローになっています。
制御系
- Oculus Rift DK2のヘッドトラッキング情報をJSONで配信 ( WebSocket Bridge )
- JSONを解釈するSocketクライアントを作成、受け取った結果から位置を解析し、Windows共有メモリに書き込み (自作アプリ1)
- Windows共有メモリの情報を拾って、内視鏡の姿勢を計算し、USB経由でArduinoの仮想シリアルポートに垂れ流す (自作アプリ2)
- Arduinoは、PCからの情報を受け取って、サーボモーターを指示角度に制御
画像系
- 内視鏡の画像プロセッサのS端子信号をキャプチャボードでPCに入力
- 入力された画像をProcessingで展開、領域指定された画像部分を複製(左右の画像分)し、それを1920×1080のサイズにリサイズして表示画像を生成
- Oculus DK2の拡張ディスプレイにProcessingの処理後の画像を投影
メカ部分
アルミの板金加工で製作しました。
医療用内視鏡(上部消化管用)は操作用のノブが2連になっており、それぞれが先端の可動部とワイヤーで繋がっており、パン・チルトと絶妙に動作します。(どんな体勢でも操作画面を見て上下・左右に動くよう絶妙に調整されています)
そのノブを乗っ取り、リンクでサーボモーターの角度とリニアに動くよう設計しました。
ただ、ノブの可動範囲が180度以上あることに製作途中で気づき、もし2号機を作る器械があれば、ベルトドライブが歯車か、リンクじゃない方法にしようと思っています(^^;A
Make:JAPANに掲載されました
なんと、youtubeの動画を見つけて、Make:JAPANが取り上げてくれました。
内視鏡ハック! Oculus Riftと組み合わせてHMD化 – Make:JAPAN
見つけていただいて、ありがとうございます。
展示
バーチャルリアリティ・セミナー (2015/10/1)
まさにOculusをテーマとしたVRのイベントに出展させていただきました。
フリーで展示していたのですが、途中からみんな「自分に食べられる」という体験を楽しんでいました。 (当時のブログ記事)
神戸医療イノベーションフォーラム (2015/2/8)
まじめな医療の展示ブースで異色を放っていました。
製品の参考展示ですらないので、みなさんから「何に使うの」という答えを用意していない質問をいただいてアタフタ(^^;A
とあるスーパードクターに興味を持っていただいて意見をいただいたり、貴重な体験でした。 (当時のブログ記事)
発展
将来的には内視鏡の画像に情報やVRをオーバーレイするなど、VR/ARのツールとしてまだまだ発展性があるのではないかと思っています。
新しいネタを思いついたら進化させていきたいと思います。