はじめに

今回紹介するのは、右の写真のような、ピコプロジェクターとミニPC、バッテリーを一体化し懐中電灯のように片手で持って壁や床などに投写するタイプのシステム。
以下は、ジョイスティックによるキャラクターの操作や、傾きを検出するセンサによる視点切り替えに対応したゲームコンテンツを動かしている様子。

まず最初に、これまでの懐中電灯型プロジェクターの開発経緯について簡単に紹介して行きたい。懐中電灯型プロジェクターの開発を開始したのは2023年。当初PCは一体化しておらず、映像コンテンツは外部PCからAmazon Fire TV StickやワイヤレスHDMI受信機を使用。
最初に開発した1世代目(白い筐体)は、ゲーミングノートPC上のUnreal Engineで生成した映像コンテンツをFire TV Stickで受信し投写。2世代目(黒い筐体)はFire TV Stickの代わりにワイヤレスHDMI送受信機を使用していた。

特に映像コンテンツの生成はUnreal Engineを使用していたため、外部PCとしてGPU性能が必要なゲーミングノートPCを使用していたこともあり、システム全体としてセットアップの手間やコスト的に複数台を運用するには難しい状況でした。
その後、色々とミニPCを試し、ゲーミングPCと比べると大きく性能は下がるもののある程度動作(720pでキャラクターのみの場合で30fps以上)が可能なことが確認できたため、3世代目はミニPCを一体化した点がこれまでとの大きな違い。
ミニPCの検討については、当初『ミニPCレビュー ~ MINISFORUM EM680』で紹介しているMINISFORUMのMercury Series EM680も検討。性能は高いもののその分消費電力が大きく、より高出力・大容量のバッテリーが必要で、価格も今回使用しているミニPC『ミニPCレビュー ~ GMKtec NucBox G5』で紹介しているGMKtec NucBox G5と比べて3倍以上、また販売も終了してしまったため断念することに。
システム構成
本システムの構成は以下の通り。

本システムの主なパーツは以下の通りで、選定の際に考慮した点は以下の通り。
- モバイルバッテリーでミニPCの負荷が高い状態で1時間程度使用可能なこと
- 物理コントローラーでのキャラクター操作、壁や床に対する投写角度や傾きの検出ができること
- 総重量は800g未満
| 分類 用途 | メーカー名 製品名(型番) | 販売先 価格(2025/3/9時点) | 仕様・説明 |
|---|---|---|---|
| プロジェクター 映像投写用 | Ultimems Inc. HD ピコ レーザー プロジェクター 自作キット for Pi [HD301D1] | KSY 27,500円 x 1 ※在庫なしの状況(販売終了と思われる) ※代替品としては、Ultimems Inc. MEMS スキャニング プロジェクション モジュール [HD309D1-C1] | 解像度: 1280×720 明るさ: 20lm コントラスト: 5,000:1 明るくは無いものの、レーザー走査型のためどこにでもフォーカスが合うのが最大の特徴 重量: 86g |
| ミニPC 映像生成用 | GMKtec NucBox G5 | Amazon 20,380円 x 1 | CPU: Intel N97 メモリ: 12GB SSD: 256GB サイズ: 72x72x44.5mm 重量: 166g |
| 筐体 プロジェクター、ミニPC、モバイルバッテリーほか格納用 | 自作 3Dプリントパーツ、筐体パーツとバッテリー固定用パーツ | PLAフィラメント 2パーツで、300g程度、600円程度 | サイズ: 約180 x 80 x 130mm 重量: 220g |
| モバイルバッテリー 電源 | CIO CIO モバイルバッテリー PD 30W SMARTCOBY Pro 30W2C | Amazon 5,038円 | 10000mAh USB Type C x 1, Type A x 1 サイズ: 約77 x 56 x 26mm 重量: 178g |
| マイコン ジョイスティック、IMUデータの取得と送信 | M5Stack ATOM Matrix | スイッチサイエンス 3,036円 | 重量: 11g |
| ジョイスティック キャラクター操作用 | M5Stack M5Stack用 I2Cジョイスティックユニット | スイッチサイエンス 2,398円 | 重量: 14g |
| 各種ケーブル | HDMI 0.1m x 1 USB Type C-C 0.2 x 1 USB Type A-microB 0.2 x 1 USB Type A-C 0.1 x 1 USB Type A-A 0.2 x 1 | 重量: 約60g |
開発内容
ハードウェア
開発内容は以下の通り。詳細については別途個別の記事で紹介予定。
- 筐体用・バッテリー固定用3Dプリントパーツのモデリング:Autodesk Fusion
筐体は分割せず1つのパーツで設計
バッテリー固定用パーツは筐体内でバッテリーが動かないよう固定するためのパーツ - 3Dプリントパーツのプリント
Anycubic Kobra 2 Proと+Anycubic 高速PLAフィラメント(ホワイト)を使用
ソフトウェア
開発内容は以下の通り。開発環境はWindows 11 Pro上で以下ツールを使用。
- 映像コンテンツ生成:Epic Games Unreal Engine
- ジョイスティック・IMUデータ取得:M5Stack ATOM Matrix
映像コンテンツ生成
まず、映像コンテンツ生成については、Unreal Engine 5を使用、公式のサンプルプロジェクトの Stack O Bot のプロジェクトをカスタマイズ。詳細については別途個別の記事で紹介予定。
各デバイスのプログラム
| 開発対象 デバイス名 | OS/使用ツール/ライブラリ | 開発内容 |
|---|---|---|
| ジョイスティック・IMUデータ取得 M5Stack ATOM Matrix | ツール: Arduino IDE 2.3.2 言語: Arduino | ジョイスティック・IMUデータ取得、OSCでの送信 |
まとめ・今後について
今回、一旦ハードウェアとしては完成したものの、追加のセンサやコンテンツ次第でまだまだ面白いことができそう。以下、今後実現したいことを簡単にまとめてみた。
- 屋内での自己位置推定:そこそこの精度(数cm)で、安価に
これが実現できると、例えば宝探し的なゲームなどより面白いことができそう、現状安価で小型なLiDARでの自己位置推定を試しているものの、まだ実現できていない状況、他の実現方法も含めて色々と試して行きたい - GPSと3D都市モデルを組み合わせたコンテンツ
GPSを搭載し、PLATEAUなどの3Dモデルを組み合わせ、その場でしか体験できないコンテンツなど、現状ではPLATEAUの3DモデルをUnreal Engineに取り込み少し動かしてみるところまで試している状況、引き続きGPSとの連動やコンテンツ制作を進めていきたい - プロジェクターの特徴を活かしたコンテンツの制作
例としては、2世代目で試したToFセンサ、壁からの距離によりキャラクターまでのカメラの距離を同期、壁から離れると全体が見え、近付けると注目する領域の細部が見えるというもの - AI活用
カメラを搭載し、対象物や状態などをAIで推論、推論結果に応じたコンテンツを対象物に投写 - 他の空間演出システムと組み合わせたコンテンツ
天井取付のパンチルト対応や、照明組込型のプロジェクターなどと組み合わせることで、現実と仮想コンテンツを上手く組み合わせたコンテンツができそう、こちらは色々とアイデアを考えつつ試して行きたい
引き続き、上記実現したいことに向けて開発を進めて行きたい。

