United Statesからアクセスされていますが、言語設定をEnglishに切り替えますか?
Switch to English site
Skip to main content

多機能勉強支援ロボット

by Sasausagi

1. 開発背景

スマートフォンやタブレットは、学習ツールとして非常に便利な反面、SNSや動画といった誘惑が多い。多くの学生や社会人が「集中して勉強しよう」と決意しても、ついついスマホを触ってしまったり、無意識に机の上でよそ見をしたり、集中が途切れてしまう。精神論だけでの自己管理には限界があるといった課題がある。そこで勉強を支援するシステムを使い、勉強時間を確保することを目的にしたシステムの開発を目指すこととした。

2. システム外観

システムの外観を以下に示す。

顔の口部分にあるカメラでシステムを使うユーザーの顔を検知する。また、左手部分にあるセンサの前で手を振ることで音楽アプリを操作し、楽曲の再生・停止、曲変更を行うことができる。また、胴体部分にラズベリーパイが格納されている。

3. 機能紹介

  • 専用アプリによるラズパイとの接続:端末のipアドレス情報を含んだQRコードが専用アプリ上に表示される。そのQRコードをカメラにかざすことで、端末とラズベリーパイを接続する。

  • カメラによる顔検知と集中判定、通知送信:カメラが顔の向きを検知する。正面、横向き、見切れの3状態を検知する。正面を向いている状態だと何も判定しない。横向き、見切れ状態の場合、集中切れと判定し、ラズパイと接続されたスマホに通知を送る。

 

  • タイマー機能:勉強時間25分、休憩時間5分を切り替え可能。

  • 勉強時間の統計情報を表示:勉強に集中した時間が内部で記録される。日毎にグラフで勉強時間の累計が表示される。

  • ジェスチャーによる楽曲の再生・停止、曲選択:音楽アプリを端末で直接操作することなく、センサーの前で手をかざしたり横に振ることで楽曲の再生・停止、曲選択をすることができる。

  • Discordへの通知送信:勉強に集中していないと判定された時、端末への通知に加えて、Discordへ通知を送信する。

4. 使い方

  1. システムを起動し、ユーザーの顔が映る高さで正面に置く。
  2. 専用アプリを起動し、QRコードをカメラに読み込ませる。読み込みに成功したとき、専用アプリの画面が、タイマー画面へ遷移する。
  3. タイマーをスタートさせ、勉強を開始する。
  4. 顔が横を向いたり、カメラから顔が見切れたとき、スマホへ通知が送信され、勉強を促す。
  5. 音楽再生アプリをバックグラウンドで起動しておく。センサの前で手をかざすと音楽の再生・停止をすることができ、右に振ると次の楽曲へ進み、左へ振ると前の楽曲が選択される。
  6. 勉強が終了したとき、アプリの勉強時間記録画面を確認し、集中時間を確認する。

5. 技術概要

  • Cとpythonによる連携

Cにるコードが二つのPythonコードを呼び出す構成とした。また、CコードはV4L2 APIを利用し、カメラから画像を取得する。一つ目のPythonファイルは顔とその向きを検知、集中を判定するコードである。二つ目のPythonファイルは、ジェスチャーを検知したときに応じて音楽アプリを操作するコードである。

  • 顔検知・集中判定

カメラがQRコードを読み込み、アプリとシステムを接続する機能はpyzbarライブラリを利用して実装した。また、顔検知、向き判定はOpenCVライブラリを利用した。集中切れをスマホの通知へ送信する機能はrequestsライブラリを利用し、実装した。Discordへの通知機能は、外部モジュール(discord_webhook.py)を呼び出す構成とした。

  • 音楽再生

ラズパイのジェスチャーセンサー入力をHTTPでスマホに送信する。センサとラズパイはI2C通信となっている。また、MediaSession APIで音楽再生アプリを操作している。

アプリ構成

アプリは以下の図のような構成とした。

6. まとめ

本記事では私のチームで開発した「多機能勉強支援ロボット」を紹介した。勉強の集中を促す機能やスマホを触ることなく、音楽アプリを操作する機能などを実装した。今後の発展として、Discordへの通知を他のメンバーへ通知する機能の実装を考えている。これにより、お互いの勉強状況を把握し、勉強のやる気アップへつながると考えている。

 

Sasausagi さんはまだ自己紹介を入力されていません...
DesignSpark Logo

DesignSparkアカウントを作成しませんか?

アカウントを作成すると、高機能な基板CADや使いやすい3次元CADが無料で使えるだけでなく、数千万点超の部品のCADライブラリやフットプリントや3Dモデルを検索しダウンロードできます。
アカウントを作成

アカウント作成済みの方はこちらからログイン

コメント