【Arduino】スマホを介して遠隔地の実物体に、レーザーポインタ自由に照射できるデバイスを作成した

こんにちは。英語論文を無事提出し、暇になってきたume-boshiです。


皆さんはハッカソンが好きでしょうか。僕は嫌いでした。せっかく開発するのに、時間をかけた計画を行なえず、中途半端なクオリティで終了することは間違いないです。それを、わざわざ苦しい思いを徹夜してまでやる意味が分かりませんでした。

そんな私ですが、先日、人生初のハッカソンに出場しました。それも今のご時世にマッチしたオンラインで開催された学生ハッカソンです(Ruten株式会社様 主催)。 出場した目的は、就活のための実績づくりと、ちょっとした力試しにと考えたためです。


さて、人生初のハッカソンですが、大学の同期で信用できる友人と3人で参加しました。心強い2人の同期に恵まれた結果、おめでたいことに2位を受賞いたしました ;)
入賞のお金がありがてぇ..



今回の記事では製作物の概要と使用技術について、私がわかる範囲で紹介したいと思います。

テーマ:リモートワークの時代に必要になるツール

背景

これを読んでいる皆さんも、リモートワークにおける問題はいくらでもあると感じていると思います。周囲のチームが主に扱っていた問題は「人と会う機会が減る」ことと、「社員の仕事管理ができない」という2点でした。

私のチームはテーマの意味を深読みしすぎたため、「リモートワーク」と「外出自粛」を混同するのは浅はかだと考えていました。そこで私たちが取り上げた問題は、「遠隔地の実体に干渉できない」ということです。 その中でも、遠隔地の実物体に視覚的に干渉することを目的として、何かを「指示」することに焦点を当てました。


デジタルな空間同士では、カーソルによるディスプレイ上の指示は簡単に行えます。例えば、zoomの画面共有を用いると、落書き機能などで画面上の指示は容易に可能です。また、視点が共通になるため、「右上のバツボタンおして!」や「もうちょっと下のPackageをクリックして~」というような方向的な指示が可能です。


しかし、「この回路の抵抗の接続位置がおかしいんじゃない?」や「上の方にある赤いやつ何?」というような指示をしたい場合、複数の抵抗が存在した場合にどの箇所会理解しがたいことや、上という方向が水平面か垂直面のものか判断できない場合があります。特に、後者の方向による指示に関しては、人がカメラと同じ方向を見ていれば問題ないですが、カメラと視線方向が異なっているだけで意味不明になるでしょう。そんな実物体に対する指示問題について、ハッカソンでは解決を図りました。

この問題は大学時代において後輩に基板の使い方を教えるとき、後輩に組込み系の知識がない場合に意思伝達が困難だった問題体験が発想の基になっています。

リアルな空間に対するポイントデバイスはありそうで、意外に無かったものですな。


概要と特徴

製作物の概要は単純で、下記のようなデバイスを作成しました。

現在地にあるPCのブラウザ上から遠隔地の映像を確認
→ 指示したい映像上の場所をクリック
→ 遠隔地にあるレーザーポインタがその場所を指し示す

サービス名はReCILです(Remote Communication and Instruction by Lase pointerの略)。

f:id:ume-boshi:20200528023638p:plain:w400
こんな感じ

f:id:ume-boshi:20200528033809p:plain:w150
メンバーがかっこいいロゴを作ってくれました。おしゃん。



システムを使用する利点は ↓ の感じでしょうか。

  • 遠隔地から位置を指示できる
  • 画面を見なくても指示されている箇所がわかる(HMDやARとの違い)
  • クリックするだけで簡単に使用可能
  • 一応音声通話もできる(教育などにも利用可能)


完成品

まずはデモ動画の紹介から。
youtu.be

試作物につき、デバイスの図体が相当でかいです。このままじゃ日常的には使えないなぁと思いつつ、基板も作ってバッテリーも選定して作ったらジンバルくらいのサイズにはなりそうです。 まだブラッシュアップする元気があるならケース作りぐらいかな。

使用技術

指示する側:ブラウザ

  • HTML,CSS, JS
  • skyway

指示される側:Android + Arduino(とてもわかりにくい)

skywayなどの難しい通信に関しては、メンバーの2人が偉業を成し遂げてくれたため、私は何もわからないです。 僕が担当したマイコン周りは、別の記事にて説明します。

f:id:ume-boshi:20200528030413p:plain:w400
使用技術

ついでに、使用した物品について下記に載せておきます。

可能性

黒板や電子工作などの教育に関する支援や、紙で書いた作品の修正指示、モデルルームでの説明や、地図に載っていない室内などでの道案内から、遠隔猫遊びまで可能性は無限大なんですかね。

f:id:ume-boshi:20200528032837p:plain:w400
遠隔授業におけるリアルタイム質問機能

f:id:ume-boshi:20200528033008p:plain:w400
モデルルームにおける遠隔案内

f:id:ume-boshi:20200528032950p:plain:w400
屋内の道案内(ARのほうがメジャーかな)

おわりに

入賞したのはとてもありがたいことなのですが、やっぱりハッカソンは「人によっては楽しいだろうけど、自分にはやはり向いていない」という印象です。そもそもハッカソン中の作業内容を勘違いしており、当日は基本的に試作を行う場ではありながらも、

  • ハッカソンによっては事前にアイデアを用意できる
  • 前日からの仕込み具合でクオリティは何とでもなる
  • 赤の他人と触れ合うことで、新たな価値に気づく場である
  • ちょっとアイデアが奇抜なだけで賞がとれる(実績が貯めやすい)

と考えるべきでした。 あと、就職活動の場において、ハッカソン経験から1日程度なら無理できることや、(便利なツールを使えば)短期でプロトタイピングできるというようなアピールができるのではないでしょうか。


まあ何にしろ、何か明確な目標を掲げて開発し始めたもののクオリティよりは劣ってしまう印象を感じます。我々のチームは目標ベースで開発したからいいのですが。

開発のためにちょくちょくメンバーと話していたので、自粛期間中の精神的な支えになっていました。緊急事態宣言が明けても鬱にならなかったのは、ありがたいことです。2か月間、一緒に開発してくれてありがとう。





まとまらねぇなあ。

本記事の机上の空論:ハッカソンに出たという実績は積み終わったので、就活準備はばっちりです。