【M5Stack】XREAL x 小型カメラ で第三の目を追加
【AR/XR上に現実のセンサー情報を自由に重ね合わせたい】
空間を自由にデザインしたいという思いから始まり、QuestやXREALを購入しましたが、やりたいことは「現実空間と、どう重ね合わせるのか?」を常に考えていました(スタックチャン普及活動は並列活動w)
この作品:第三の目(The Digital 3rd EYE)は、基本的にM5Stack社のESP32マイコンを使って構成しており、詳細を下記に投稿済ですが、改めてThe Digital 3rd EYEの形にたどり着くいた軌跡を振り返ります。
【UnitCamS3(EOL)→AtomS3RCamと機種を乗り換えながら再構成】
XREALの画面に表示出来てから、カメラ画像を表示するまでの模索
既に出来ていたこと
今年1月の時点で「Atom DisplayからXREAL Airへ画像を表示できることは確認済」でした。ただ「これをどう身に着け、どんな情報表示するのか?」は決めかねていました。
ESPNowCamとの出会いと、UnitCamS3のEOL
カメラの機能を学び始めたのは、UnitCamS3モジュールから。使い方を模索していた際に、たまたま出会えた「ESPNowCam」でM5Stackとカメラを無線でつないで高いFPSで表示できることを知りました。しかしこの機能はPSRAMが必要で、Atomを接続して使用する「Atom Display(HDMI)経由でXREALへの表示」は実現できません。さらにこの後、UnitCamS3がまさかのEOLでカメラプログラムも頓挫※。一旦、こちらは停止し、AI スタックチャン ミニマルの開発に注力することに。
※壊れたらもう購入できない機種になったため
9月にPSRAMが搭載されたAtomS3Rがやっと登場
Atomシリーズに、念願のPSRAMが搭載されたAtomS3Rが登場!M5Stack Core2用の受信側プログラムをAtomS3Rで動作するように変更し※、UnitCamS3のカメラ画像をESPNowCam経由で受信/画像表示することが出来ました。
※M5Unifiedモジュールのおかげで、ほぼ無修正!すごい!
AtomS3RCamへUnitCamS3カメラ機能を移植
AtomS3Rと同時に発売されたAtomS3RCamはUnitCamS3より小型だったため、こちらに移植して「Atomシリーズだけで画像撮影/表示ができること」を確認しました。
カメラ撮影とHDMI表示機能を1つのAtomに集約
新たに発売されたAtomS3RにM5Unifiedを対応するため、らびやんさんがUpdateしたタイミングに合わせて、2つのAtomに分かれていたプログラムを1Atomに集約し、無事に「1個のAtomでカメラ撮影/HDMI表示が可能」になりました。
The Digital 3rd EYE としてしての作り込み
1AtomでXREALに表示できる状態は、あくまで動作確認ができた初期プロトタイプなので、ヒーローズリーグに投稿するために、コンセプトと改善を始めました
リチウムイオン電池の選定
M5Stack製品には、16340リチウムイオン電池が付属してくる製品もありますが、昨今リチウムイオン電池の廃棄について日本国内で厳しくなって来たため、回収を行っている大手家電量販店で扱っている電池を探して採用しました
小型化/軽量化と発熱対応
小型/軽量化するために、ケースを外す(元に戻せます)しました。スリムになった裏に DP Alt Mode 製品を重ねるように配置。発熱しても触れられるよう、冷却用にSSDのサーマルパッドをシールとして使用し、さらにヒートシンクを追加しました。(上:ケース付き 下:ケース無し)
軽量化したモジュールをヘッドバンドに入れ込む
子供に着けてもらって、第三の目を試してもらいました。「通常の視覚に加えて後ろが見える状態」は不思議だったそうです。
【これからの予定】
「ようやく身に着ける形」まで来ました。ここからが本当の始まりで、実際に使うシチュエーションに合わせて「着け心地の改善」「起動方法やメニュー」、「長時間でも使用できる改善」を進めていく段階にあると考えています。ただ、私の勧め方が煩悩に従って多方面に進めているため、ノロノロと進めそうです。来年のコンテスト申し込み時期には、何か改善されているはず!
【最後に】
Atom DisplayのXREAL対応は ふが(@ciniml)さんに、 M5Unifiedはらびやんさん(@lovyan03)によって支えられています。この場を借りて、お礼申し上げます!
Discussion