Maker Faire Tokyo 2022でARと仮想障害物を用いた自走式球体型ロボットの制御補助システム展示をしてきた
2022年9月3日から4日までMaker Faire Tokyo 2022に展示側で参加してきたので振り返りを書きます。
展示物
球体型ロボット omicroとARと仮想障害物を用いた自走式球体型ロボットの制御補助システムを展示してきました。これまで行ってきた球体型ロボットをメインにした展示方法を封印して、制御補助システムに絞って展示しました。
展示物のシステム構成は以下の通り。
- 床に開発した球型ロボットを複数設置する。床や壁が反射しやすい場合はLEDの2値化に失敗するので、黒色のシートを床に貼って反射しにくくしその上に置く。LEDと同色の光を放つプロダクトの近くも避ける。
- 球型ロボットの電源をいれて、iPhoneアプリケーションとBLEで接続する。複数の球型ロボットと接続する場合は、iPhoneアプリを複数接続モードに切り替える。
- 球型ロボットで電子コンパスのキャリブレーションを行う。キャリブレーションはiOSアプリから行う。
- iPad Proをカメラ用三脚とiPad用ホルダーで固定する。球型ロボットはiPadのカメラの画角に入るように設置する。
- iPad ProでUnityアプリケーションを起動する。メッシュモードをオンにして床やオブジェクトをメッシュ化する。必要に応じて移動可能エリアを指定する仮想障害物を空間に設置する。
- UnityアプリケーションでOpenCVモードをオンにして、球体型ロボットの中心点を取得。動作環境が明るすぎたり暗すぎる場合は、必要に応じてOpenCVモードの2値化の色範囲を変更して、AR空間上に球型ロボットのデジタルコピーを出現させる。デジタルコピーには物理空間上の球体型ロボット omicroと同じ質量を設定する。
- 球型ロボットをiOSやwatchOSアプリケーションで動かす。球型ロボットのデジタルコピーがAR空間上で衝突した場合は、ハードウェアの球型ロボットに状態をフィードバックする。衝突したことを視覚的にわかりやすくするため、衝突時に青色からオレンジ色に色を変更する。音も出す。
前日設営
展示物のシステム構成6: OpenCVの調整に時間がかかりそうだったので、前日設営しました。この日のうちに2値化の色範囲パラメータを試せたので、当日は環境光が時間帯で変化しても慌てずに展示をすることができました。
Maker Faire当日
展示説明は以下の手順で行いました。
- ブースを訪れた来場者に球体型ロボット omicroとARと仮想障害物を用いた自走式球体型ロボットの制御補助システムの展示ブースであることを説明。今回のメイン展示は制御補助システムの方であることを説明する。
- 球体型ロボットの内部構造の説明を簡単に行う。
- これまで行ってきた球体型ロボットのデモ実施時の問題点を挙げて、それを解決するため制御補助システムを作ったことを説明。
- 制御エリアを固定するため仮想障害物を作ったことを説明。
- 物理の障害物と仮想の障害物の違いを説明。
- 仮想障害物と物理の球体型ロボットを衝突させて、AR空間上に存在する球体型ロボットのデジタルコピーが青からオレンジ色に切り替わる様子を見せるデモを行い、それと同時にどうやってそれらの衝突判定をOpenCVやiPad ProのLiDARセンサでどのように発生させてるか説明。
- 物理空間上の球体型ロボットがAR空間に影響を与えられることを証明するため、AR空間上に椅子とコーンを設置する。物理の球体型ロボットとAR上のオブジェクトがぶつかった時に、AR側のオブジェクトが物理演算で衝突アクションを起こす。
- 最後に、物理からデジタルへ干渉した際の物理の球体型ロボットへのフィードバックが実現してないことを説明。
まだ原因はわかってませんが、ARアプリで6の手順を行った際にアプリが永続クラッシュする現象が発生することがあり、その時は球体型ロボット omicroを使った旧来の展示方法を一時的に行い、その裏でTestFlightにアップロードしたARアプリを再インストールするということを行ってました。
展示振り返り
展示説明の手順1は、大人にのみ集中して聞いてもらえました。子供は制御補助システムを操作可能なゲームであると考えて、説明を聞かずに画面を連打するケースが多かったです。人によってxRの知識にばらつきがあったので、ARとバーチャルに関しては状況を見てデジタルという言葉に置き換えて説明しました。
手順6では、黒のシートを床に貼ったことで球体型ロボットの認識精度を高めることができましたが、それでも周囲の環境光が変化してOpenCVが物理の球体型ロボットの位置を正しく検出できないケースが度々発生しました。その度に、2値化の設定を調整して対処しました。あと、衝突時のフィードバックが発生しないことについて聞いてくる方が多く、衝突の瞬間にのみ点で物理のハードウエアを停止させる今のシステムでは、不十分という意見をいただきました。
手順7は、来場者の反応が1番よく、ここまで説明することで本システムの可能性を感じていただき、用途についても多くのアドバイスをもらうことができました。ARで作ったデジタル空間情報をVR化して別のディスプレイに映すとデジタル世界上で何かが起きてることの説明が分かりやすくなるというアドバイスもらったので、別ディスプレイでそれを映すのは検討します。
最後に
球体型ロボット omicroとARと仮想障害物を用いた自走式球体型ロボットの制御補助システムを展示しました。前回NT金沢2022で展示した時は30分でiPadアプリがクラッシュするパフォーマンスの問題がありましたが、今回は2日間大きなトラブルもなく展示とデモを行うことができました。球体型ロボット側も今年から3Dプリンタで部品を一新しましたが、破損なく動かすことができました。
今後は、物理の球体型ロボットが仮想障害物に衝突した際のフィードバック機能を実現させて、Ogaki Mini Maker Faire 2022で展示を行いそれの有用性を検証したいと考えてます。
あと、AR制御補助システムを入れたことで、以前の展示と違って順番に機説明しないと意味がわからないものになってしまってたので、海外で展示する場面に備えて人間が喋らないでも視覚的に分かるものを作りたいと考えてます。例えば AI詰んだアバターをAR空間に出現させて、アバターが機能説明を説明しながら、人間に代わって物理ハードを操作する展示を試したいです。