人工知能第一研究室

人工知能第一研究室

 
デモ大会2014

ゲームアプリ「フリックドロイド」

サンプルプログラムを変更し、Androidゲームアプリを作成しました。

変更点は以下のとおりです。

  • アプリ起動後にスタート画面を追加
  • 蜂の種類を増やし、得点をそれぞれ変更(黄色の蜂が1点、緑色の蜂が3点)
  • 爆弾を追加(マイナス5点)
  • 一時停止・リトライ機能を追加
  • ドロイド君の減速
  • ドロイド君などが画面の端で跳ね返る

 

ゲームの内容としては、制限時間30秒以内にドロイド君をフリックして操作し、蜂を消していくゲームです。

蜂を消すとスコアがあがっていきます。蜂は2種類いて黄色の蜂が1点、緑色の蜂が3点です。

爆弾に当たってしまうとマイナス5点となります。

詳しいゲームの様子は以下の動画をご覧ください。

 

開発環境:eclipse

使用デバイス:Android

サンプルプログラムは

「10日でおぼえるAndroidアプリ開発入門教室 第2版」寺園聖文 (著)/ 翔泳社 (出版社)

のプログラムを使用させていただきました。

おさぼり防止ロボット「T.BUSTER」

2014年12月19日に行われた3年生デモ大会での発表内容です。
今回のデモではPCでの作業中において、ユーザの居眠りを防止してくれるシステムを発表しました。

ディスプレイに対面しているユーザをKinectを用いてフェイストラッキングを行い、顔認証が外れた時に「ユーザがサボっている」と認識します。一定時間サボっている場合はMindstormNXTが動作してユーザへの警告を行うようにしました。

使用した環境、機材
・Windows7
・Visual Studio 2010
・MindStormNXT
・Kinect for Windows
・Kinect for Windows SDK v 1.8

詳しい説明や実際の動作は以下の動画でご覧ください。

音声認識APIを用いたアプリ

今回はグーグルが無料で提供している音声認識APIを利用して、以下の動作ができるアプリを作成しました。

・音声録音
・発表の順番抽選
・日にちを教えてくれる
・時刻を教えてくれる

——————————————————————–
開発環境
→ eclipse 4.2
  android 4.2.2

参考文献
→ 「10日でおぼえる Androidアプリ開発入門教室 第2版」
——————————————————————–

詳細は以下の動画をご覧ください。

Android音楽再生アプリ「ふりっくま」

Android端末で音楽を再生するアプリ「ふりっくま」を作成しました。

アプリの簡単な内容は以下の通りです。

  • 8方向のフリックを検知して、それぞれの方向に対応した曲を再生
  • 画面を長押しすると曲が一時停止

 

また、今回はフリー素材の音源を使用させていただいております。

詳細は以下の動画をご覧ください。

 

開発環境:eclipse バージョン4.2

使用デバイス:Android バージョン4.4.2

参考文献: 「10日でおぼえる Androidアプリ開発入門教室 第2版」

雑談対話iOSアプリ「トモちゃん」

2014年12月19日に行われた人工知能第一研究室の3年生デモ大会での発表内容です。

私は今回、雑談対話iOSアプリ「トモちゃん」と題して発表させてもらいました。

このアプリはSiriのようにユーザが発話した内容に対して、チャット画面上で応答してくれる、というアプリです。こちらはdocomoが無料で提供してくれている雑談対話APIを利用しています。また、参考にさせていただいた資料を以下にまとめておきます。

・Docomo Developer support→https://dev.smt.docomo.ne.jp/

・ドコモの「しゃべってコンシェル」やAppleの「Siri」のようなサービスが誰でも作れる!?ドコモが提供する「雑談対話」APIを試してみた!→ http://qiita.com/asakahara/items/3c582d4073fa67ca599a

使用した環境、機材
・OS X
・Xcode6.0.1

実際の動作の様子、発表の内容を動画にしています。ご覧ください。

LeapMotionを用いたEV3のジェスチャー操作

 米LeapMotion社から発売されているLeapMotionで認識できる手の動きやジェスチャーを用いてロボットを操作します。LeapMotionはUSBケーブルで、ロボットはBluetooth通信でそれぞれPCに接続しています。使用しているロボットはレゴ社が発売している教育用ロボット”LegoMindstormEV3”です。

■システム構成

  • 開発言語・・・C#
  • OS    ・・・Windows7
  • アプリケーション開発環境・・・Visual Studio Professional 2013
  • センサ ・・・LeapMotionController
  • ロボット・・・LegoMindstormEV3
  • LeapMotionSDK 2.1.6+23110
  • LEGO MINDSTORMS EV3 API v1.0 (https://legoev3.codeplex.com/)
  •  

    ■システム概要

     LeapMotionから読み取った手の座標を利用してロボットのモータパワーを決定し、ロボットに送信します。システムの流れは図1のようになります。モータパワーの算出方法は図2のようになります。

    LeapMotion_操作図2

    図1 システムの概要図

    LeapMotion_MotorPower

    図2 手の位置からのモータパワーの算出

    <参考文献>

    • LegoMindstormsEV3  (http://www.afrel.co.jp/lineup/mindstorm-ev3)
    • Kinect×教育版LEGOMindstormsEV3 開発ガイドブック (同上)
    • LEGOMINDSTORMS EV3 API (http://legoev3.codeplex.com/)
    • LEAPMOTION  (https://www.leapmotion.com/?lang=jp)
    • LEAPMOTION Developer Portal (https://developer.leapmotion.com/)
    • LeapMotionDeveloperSDKで開発できる環境を整える(WindowsC#編)(http://www.naturalsoftware.jp/blog/8389)
    • LeapMotionで指の先を画面に表示する(https://code.msdn.microsoft.com/windowsdesktop/LeapMotion-c52eb8a8)

     

    音声データを扱ったゲーム

    2014年12月19日に行われた3年生デモ大会での発表内容です。
    今回のデモでは音声データ(今回は.wavと.mp3データやマイク)を読み込みスピーカやマイクを移動させていくゲームを作成した。

     スピーカは音量によって高さが変化するように作り、マイクは声の高さ(周波数)の高さによって操作できるようにゲームを作成していった。
    音符の速度は一定速度で進んでいくように設定していった。

    使用した環境
    ・Windows7
    ・processing-2.2.1-windows64bit

    実際の動作は以下の動画に載せます。

    Q.なぜ音量が大きいときに音符の間隔を狭くしていくように設定したのか
    A.音量が大きいときは、曲が盛り上がっていると判断し、盛り上がっているときは音符の数を増やしていったほうがゲームとして楽しくなると考えたためである。

    Q.なぜ300Hzで一番上の位置近くに行くように設定したのか
    A.300Hzは3オクターブのDとD#の声の間にあり、テノールはC3~C5の範囲の声域を持ち、普段の生活で300Hz以上の声を出す機会がないと考え、今回は300Hz程度で一番上に行くように設定した。

    まとめ
    今回は声を出すということを用いてマイクを操作する方法を採ったが、実際に操作するとなるとマイクの位置が不安定になり、理想的な場所に持っていけないなどの問題があったので、ゲームとして楽しむためにはマイクの操作性について検討していく必要があると感じた。

    補足
    ゲームとして楽しむために点数を出すようにしたり、最後にクリア画面などを出すようにした。

     

    心音の波形表示アプリ

    iPhoneやiPodを胸に当てて心音を録音し、再生しながら心音の波形を表示するアプリを作成しました。

    詳細は以下の動画をご覧ください。

    成功例をまた後日貼り付けます。

    使用パソコン:iMac

    使用媒体:iPad mini

    2013年12月19日デモ大会発表

    Kinectを用いた人の向き感知と録音

    2013年12月19日に3年生のデモ大会が行われました。

    「Kinectを用いた、人の向き感知・録音」を行いました。

    下の動画はその様子です。

    わかりにくいかも知れないので簡単にデモ内容の説明

    ①人を見つけるとその人の向きをFace Trackingにより検出。

    ②正面を向いていると10秒間の録音を開始(わかりやすいよう録音開始時と終了時にビープ音)。

    ③5秒間のインターバル後①に戻る。

    開発環境:visual studio

    使用ツール:Kinect

     

    音の感知による音量調節

    必要環境、機材

    ・PC(MATLAB)

    ・マイク

    プログラムを実行し音楽を流す。手拍子などの大きい音を感知すると音量を下げるようになっており一定の音量を下回るとプログラムが終了する。

    また、1度でも音量が下がっている状態で放置すると少しずつ音量がもとに戻っていくように設定されている。

    家で音楽をスピーカーで流しながら聴いている際に来客があり

    「音楽をとめたいがすぐに手が届かなくて操作がめんどうだ!!」

    という問題を想定し作成。

    映像↓

    http://www-ai1.csis.oita-u.ac.jp/wp-content/uploads/2014/03/sample1.wmv