Free production at the University

OVERVIEW

大学の自由制作課題において作成したアプリケーションをまとめました。 This is a collection of applications created for a free university project.

目次

  • IOTを利用したフードデリバリーサービスの商品崩れ防止システム
  • AR技術を用いたじゃんけんゲームの作成
  • Android Studioでのブロック崩しゲームの作成
  • 自然言語処理技術を用いたj-popの歌詞の解析
  • Unity,Metasequoiaを用いた簡単な3Dゲームの作成


  • IOT-based system for preventing product collapse in food delivery services
  • Creation of rock-paper-scissors game using AR technology
  • Creating a block-busting game by Android Studio
  • Analysis of j-pop lyrics using natural language processing technology
  • Creation of simple 3D games using Unity and Metasequoia

IOTを利用したフードデリバリーサービスの商品崩れ防止システム(IOT-based system for preventing product collapse in food delivery services)

システム構築の背景

近年、Uber eats や出前館などのデリバリーサービスが普及し、多くの人が利用するように なった。 そんな中で注文した商品が崩れた状態で届いたという報告が数多くされていると 感じた。

商品の崩れの主な原因はドライバーによる”揺れ”である。現状この問題について明確な対策はなく、多くのデリバリーサービスはその業務形態からドライバーの意識に対して対処することが難しい状態である。 そこで、IoTセンサを用い商品の揺れを感知することで運営がドライバーの配達状態を把握することのできるシステムを構築しようと考えた。

システム概要

使用したセンサは”環境センサ 2JCIE-BU01 ”である。ドライバーのかばん等にいセンサを装着し、センサの加速度を測定する項目の PGA を利用し て、PGA が一定値を超えると、運営会社、ドライバー、利用者に通知する。 

運営会社はデータベースにてドライバーの名前と報告回数を管理する。報告回数によって はドライバーにペナルティ等を設定する。 ドライバーにはハンドル付近の LED ランプにて注意、警告する。 利用者にはアプリにて商品が崩れている可能性があることを通知し、商品が崩れていた際 の対処方法を案内する。

PGA の基準値はトラックの荷台の平均加速度である 2500gal 以上で商品が崩れる可能性有 りとみなし、警告する。また、2000gal 以上で注意とする。 

実装

実装した機能について以下に示す


AR技術を用いたじゃんけんゲームの作成

作成のきっかけ

YouTubeにて遊戯王のカードをマーカーに見立て、そのカードに応じたキャラクタ ーを AR で出現させるという動画を視聴したことで、自分も似たようなことをや ってみたいと感じた 。(参考:LE RÊVE DE TOUS LES FANS DE YUGIOH !すべての遊戯王ファンの夢!

今回作成したじゃんけんゲームではじゃんけんの手の形を認識し、それをマーカーに見立て、じゃんけんの手によって別々のオブジェクトを表示させている。

コンテンツの構成要素、原理

コンテンツのプロセスは以下のような形である

①カメラ画像を左側用、右側用に分割 

②じゃんけんの手の識別

③手の重心、標準偏差の、ホモグラフィ変換

④画像の合成

⑤オブジェクトの表示、勝敗判定

今回のコンテンツでは2つの手を識別する必要があったが、一度に2つの識別をすることは非常に難しいためカメラから取得した画像を分割し、それぞれを1つとして手の識別、画像処理を行った。

手の識別には機械学習を用いている。グーチョキパーの手の写真をそれぞれ50枚ずつ学習し、そのモデルを元に識別を行っている。手の識別結果とホモグラフィ変換により、手の位置に手の形に沿ったオブジェクトのマーカーを貼り付けている。マーカーはAR.js Marker Trainingで作成した。

処理を行った2つの画像を1つに合成し、マーカーに沿ったオブジェクトを表示し、じゃんけんの勝敗を画面上部に表示している 。

コンテンツのデモ動画を以下に示す。



Android Studioでのブロック崩しゲームの作成

Android Studioは、Googleが2014年から提供しているAndroidアプリ開発専用のIDEである。本コンテンツはjavaを用いて作成した。

実装した機能は以下の4つである。

  • ブロック崩しのゲームシステム
  • ゲーム内の設定(ブロック数、ボールスピード、ユーザーネーム)を変更できる機能
  • スコアとユーザーネームの保存機能
  • スコアの共有を目的としたTwitterへの移動機能

実際の動作映像を以下に示す。