雑食エンジニアの気まぐれレシピ

日ごろ身に着けた技術や見知った知識などの備忘録的なまとめ.主にRaspberry Piやマイコンを使った電子工作について綴っていく予定.機械学習についても書けるといいな.

【MakerFaireTokyo2022】牽引力錯覚を使った新感覚のイライラ棒を作ってみた

お久しぶりです.
いやー,今年も大盛況でしたね.MakerFaireTokyo.
昨年リアル開催できなかった反動か,相当数の来客があったように思います.

さて,私は今年も出展側として参加させて頂いたわけですが,今年の作品はコチラ.

妨害イライラ棒!!!!

イライラ棒というとステージにギミックが仕込まれているのが一般的ですが,今回は棒の方に細工をして,牽引力錯覚というものを盛り込んでみました.
牽引力錯覚については過去に一度書きましたが,特殊な振動を加えることで引き起こされる「特定の方向に引っ張られているかのような錯覚」です.
shikky-lab.hatenablog.com

プレイヤーはこの引っ張られるような力に翻弄されながらゴールを目指す,というコンセプトになっています.

また牽引力はコントローラで制御できるようになっており,プレイする人も邪魔する人も,それを見る人も楽しめるという構成でした.

この錯覚という不思議な体験のおかげか,常に誰かしらが遊んでくれているという大盛況っぷりでした.こんなのハジメテ.
足を運んでいただいた皆様,本当にありがとうございました.

今回はこの作品の裏側について書いていきたいと思います.

作品の構成

実は今回は友人との合作で,主に私がハード周り,友人がソフト周りを担当しました.
ハードとしては「ステージ」,「棒」,「コントローラ」の3つから構成されています.

ステージ
センサー棒とコントローラ

ステージの壁とセンサー棒にはそれぞれ金属がついており,前者は配線を介してRaspberryPiの(プルアップした)入力ピンに,後者はGNDに繋がっています.これにより接触を検知しています.

制御はRaspberryPi3で行っており,これが大体すべてをこなしています.メインロジックから牽引力信号の生成,接触検知,画面表示などなど.
コントローラにもマイコンとしてM5Atomが乗っていますが,これはコントローラの情報をRaspberryPiに送っているだけで,ほとんど仕事はしていません.
システム構成はこんな感じです.

システム構成図

言語はPythonで開発したのですが,この図における「Pythonアプリ」内の各要素はそれぞれ別のプロセスとして動作しており,必要な状態変数を適宜やり取りする形で動作しています.
この辺りはいずれコード整理して公開するかと思うので,その際に改めて紹介したいと思います.

ステージ

ステージ
ステージはMDFをレーザーカットしてコースを作り,そこにΦ2の銅線を這わせる形で作成しました.要所要所で金属ネジで固定しており,その金属ネジから線を伸ばしてRaspberryPiに入力しています.金属ネジで強引に導通をとっている形ですね.
ゴールはまた別の金属線になっており,コースへの接触とゴールへの接触を見分けられるようになっています.

金属棒と振動モジュールが取り付けてあるだけのシンプルな構成です.
ただ金属棒(Φ4真鍮パイプ)の固定部分は個人的に結構こだわっていて,下図のように配線をはんだ付けしたワッシャーを金属ナットと金属ネジで挟み込むような構造となっています.

金属棒固定部分

これにより導通を確保しつつ,すっきりとした見た目にすることができました.

コントローラ

コントローラはシンプルで,スライド抵抗から読み取ったアナログ値をM5Atomでシリアル信号に変換して送っているだけです.

コントローラの中身

スライド抵抗はコチラ.
https://akizukidenshi.com/catalog/g/gP-16266/
3Dプリンタでガワとツマミを作るだけで一気にソレっぽくなるのでいいですね.

UIとか

一応コントローラに使ったM5Atomにボタンがついていたので,それを使ってゲームを進行できる形にしていました.ボタンを押すとゲームがスタートして,金属棒がゴールに0.5秒以上触れるとゴール判定.またゲーム中にボタンを1秒以上長押しすると中断してタイトル画面に戻る,といった塩梅ですね.
ただ実際にはデバッグ用に接続していたキーボードから結構操作していました.

また壁に触れると接触判定となるのですが,連続接触しないように0.5秒の無敵時間を入れていました.なので無敵時間を活用して強引に進めるとめちゃくちゃな高スコアが出たりします(スコアは接触回数が少なく,早い時間でクリアするほど高くなる).
何人かの子供はこの仕様に気づいて好スコアを連発してましたね・・・.まぁこの辺りは紳士協定ということで.

おわりに

内部的な紹介はこんなところです.結構シンプルにできたんじゃないかと思います.耐久試験との呼び声も高い2日間のMFTに耐えきれたのも,このシンプルな構成によるところが大きかったんじゃないかなと思います.

ここ半年ほど牽引力錯覚という面白現象をうまくコンテンツに落とし込む方法を模索していましたが,良い感じに形にできました.
多くの人に楽しんでもらえて,SNSに取り上げてくれる方もいたりで,作者冥利に尽きる大変充実したイベントになりました.
ものづくりモチベも爆上がりしたので,また色々作っていきたいと思います.

それでは.