学生作品
Flash作品
作品NO.1
作品NO.2
作品NO.3
作品NO.4
卒業研究作品
Android教育アプリの開発
〔発表者〕
箕浦奈央 武田優樹 古川尊美 大石健人 鈴木聖大
〔目 的〕
2011年8月~の1年間でスマートフォンの普及率が20%も増えたのに対し、フィーチャーフォンは20%減少している。このことから、やがてスマートフォンがフィーチャーフォンを上回り、主流となるだろうということが読み取れる。無料で配布されている人気トップ300をカテゴリ別に集計したところ「教育」のアプリは数がものすごく少ない。これらの背景などから教育系アプリに興味を持つようになった。そして「年齢を問わず幅広く、子供も大人も楽しめるアプリ」を目指すことにした。
〔発 表〕
卒業研究において、様々な障壁を乗り越えていく中でグループ作業の難しさや楽しさを実感しました。Androidアプリの作成に当たり開発環境を途中で切り替えたり、HTML5に挑戦したり、問題の出し方は色々と悩み問題制作に時間がかかったりと、途中から声を掛け合ってお互いに教え合うことで作業が無駄なることなく時間も短く済むようになりました。どれだけ情報を共有できるか伝え合えるかということは、卒業後社会に出ても必要となる良い経験ができたと思います。
〔製 作〕
スマートフォンアプリの開発については、当初Titanium Mobile上にてJavaScriptを言語として製作を始めたが独自コードがあることから最終的には、主言語をJavaとして授業でも使っていた開発環境をEclipseとして製作を行った。また、アプリ内部にHTMLを表示する形式とし、HTML5とCSS3を使うことにより問題の追加やデザイン変更などもサーバーモジュールを変更するだけで対応することでメンテナンスし易くするシステム構成としました。
〔完成物〕
メインメニューから、使いたいコンテンツを選択する、スマートフォンのメニューボタンを押すことで、更新・ヘルプ・終了ボタンが表示されます。一覧からひとつのコンテンツを選択したら対応する画面が表示されます。クイズの一覧が表示されます。クイズは難易度ごとに分けられていて、各クイズごとに問題数・合格点・制限時間が異なります。遊びたいタイトルを選択するとクイズの詳細画面が開きます。
画面構成: メインメニュー画面→クイズ選択画面
クイズの詳細画面です。出題数・合格点・制限時間・難易度・説明が表示されます。「クイズを始める」を押すと、クイズが開始されます。
画面構成: 問題画面→正解/不正解画面
クイズ画面には、上に制限時間が表示されています。問題は、シルエットになっているどうぶつが何なのかを当てるというものです。正解だと思った動物の名前を押します。正解なら左の画面のように◎が表示されます。不正解ならaが表示されます。全部解き終わると、結果画面が表示されます。クリアか失敗かが表示され解いた問題の一覧が表示されます。
Androidアプリとマイコン
〔発表者〕
遠藤祐輔 山口 徹 阪口和史 中原 陣 吉村 悠 佐藤 颯斗
〔目 的〕
普段はソフトウェアを中心として学んでいる私たちであるが、ハードウェアを勉強しロボットをについての研究テーマとした。ロボットと言えば人の代わりに何かしらの作業を行う装置、もしくは「人や動物のような」機械、それらは以下のように大別される。1…ある程度自律的に連続して、あるいはランダムで自動作業を行う機械(例 産業用、軍事用、掃除用) 2…人や動物に近い形および機能を持つ機械、いわゆる「人造人間」や「機動兵器」(パワードスーツ・人間増幅器とも云う)
日本ではロボットというと「2」の物を指すことが多かったが、福島第一原発事故後に日本製原発ロボットの投入が遅れたことや、ロボット掃除機等の分野で日本企業が主役から外れていることなどを背景に、実用性の高いロボットの研究開発の重要性が指摘されている。こららの理由により、今後ますます重要性が高まるためにテーマに選んだ。
〔発 表〕
ロボットは主に、組み込まれているマイコンにプログラムが書かれており、そのコードを元に各機器が動作する。本研究では、今までのソフトウェア学習を活かしつつ、自分たちにとって未知なハードウェアと合わせてロボット制御の一端を研究することをテーマとした。大企業が行なっている研究には途方も無い時間と労力が使われていることだろう。しかし自分たちの手作りのハードウェアとそれを制御するソフトウェアの組み合わせで、この様な研究が出来ることを実感できたことは大変有意義であった。
〔製 作〕
研究をする上で制作するものとそれぞれの仕様を、大きくこの3つに分けて作成した。
1.サーボモーターとDCモーターを搭載し操縦者から操ることができるマシン本体
仕様:室内を想定し小回りの効く、かつスペースを取り過ぎないものとする。
2.マシンに組み込むマイコンに書き込むプログラム、配線、電源供給
仕様:信号をどのように読み込み処理するか、最適な方法を考える。
3.AndroidOS上で動作するコントローラーとして機能するアプリ
仕様:使用者に難しくなくシンプルで親しみやすいUIで、且つマシンの全ての制動を操れる。
システム構成図
〔マシン本体の制作〕
私達が制作したマシンは寸法21cm、21cm、9.5cmの上から見て八角形の形をしたマシンである。主に製作に要した材料はアクリル板、操舵に使われているホビーラジコンに取り付けられていたアジャスタブルアーム、その他固定ネジ、ナットなど。加工に要した工具類は、アクリルカッター、ドリル、はんだごて(熱曲げに使用)だ。アクリル板の切断には専用のアクリルカッターと言われる道具を使う。
今回の研究では多数のパーツに切り分ける必要が有るためこの作業はかなりの回数行わなければならない。なので、すこしでも切った際に狂いを出さないために、班員で練習を重ね切断に慣れる訓練を行い切り出し作業に臨んだ。
本体車輪の数は当初、4輪ということで進めていたのだが、実際に車輪を実装してテストした際、前進後退は特に問題がなかったが、左右に向かって移動する際に2輪駆動による回転量の差や地面の状態や角度でいずれかのタイヤが浮いてしまうという問題が生じたため、後ろは1輪とする計3輪車とすることで、常に地面に接し地面へ動力を伝えることができるようになった。
〔マイコンボードと周辺機器、マイコン・プログラム制作〕
マイコンボードは、Arduinoボードの「UNO」モデルを使用した、これは14本のデジタルI/Oピンが利用可能で、そのうち6本は後のサーボモーターおよびDCモーターを制御するのに重要となるパルス幅変調信号を生成することができる。Arduino言語はC/C++をベースにしており、C言語のすべての構造と、いくつかのC++の機能をサポートしている。パソコン上のJavaで書かれたIDE(統合開発環境)でソースコードを作成しコンパイル後、マイコンに転送する。
左からArduino UNOボード、サーボモータ、モーターアンプ
マシン本体の操舵機構を操るためにサーボモーターを使用した、モーターのシャフト回転角度を検出する事ができ、コンピュータで位置を指定することができるモーターである。制御信号には、回転角に応じた一定周期のパルス幅の信号を与える。
DCモーターの制御は、後輪を回転し本体を移動するための動力で使われる。そのため動力に必要な安定電力問題を解決する必要があり。Arduinoを動作させるために5V、モーターアンプを動作させるために7.2Vの2系統の外部バッテリーを用いた。
Bluethoothボード
Androidアプリからのマイコンへの通信に対応するため、BluetoothモジュールをArduinoへ接続した。Bluetoothプロファイルの一つSPP(Serial Port Profile-シリアルポートプロファイル)を使い、仮想シリアルポートを用いた。Arduinoは送られてきた操縦に関わるデータを分解し、適切なサーボモーターとモーターアンプへ値を送る。
〔コントローラーアプリの制作〕
コントローラーは、Androidスマートフォンアプリである。本アプリ開発においてディスプレイサイズに左右されないUIを目指した。製作に使用したAPIレベルはAndroid2.1 Level7である。端末がBluetoothをサポートしているかを確認する。端末のBluetoothの設定がONになっているかを確認し、ONであれば次のActivityへ移る。OFFであればONにするように促すダイアログを表示する。アプリからマイコンへ送る送信コードのフォーマットについて、アルファベット1文字、横軸3文字、縦軸3文字計7文字を送受信している。例「"a090090"(ニュートラル状態)」最初のアルファベットを1文字追加した理由は連続して送られるコードが途中で飛んでしまったり、意図しない部分から数値が読み込まれサーボやモーターに送られるのを防ぐために数字以外の文字をつけたのだ、読み込む際は"a"を基準にそこから6文字読みこめば良いという考えである。
〔コントローラーの操作方法〕
操縦者に操縦する難しさを考えさせないため、最初指をおくと起点として認識され、ニュートラル状態となる。起点から指を前へ動かせば前進、後ろへ動かせば後進、左右へ動かせば前輪の向きが変わる。左前方なら指をおいた位置から左上へスライドすれば前輪が左を向いたまま後輪が駆動するので左折が出来る。この方法で、どのディスプレイサイズ、指の太さでも画面を見ずにマシンを操作できるようにした。
〔完成物〕
操縦者に操縦する難しさを考えさせないため、最初指をおくと起点として認識され、ニュートラル状態となる。起点から指を前へ動かせば前進、後ろへ動かせば後進、左右へ動かせば前輪の向きが変わる。左前方なら指をおいた位置から左上へスライドすれば前輪が左を向いたまま後輪が駆動するので左折が出来る。この方法で、どのディスプレイサイズ、指の太さでも画面を見ずにマシンを操作できるようにした。
マシン本体と、Androidコントローラアプリケーション画面
デモンストレーションの様子
デスクトップマスコットの可能性
〔発表者〕
奥村 優太 永山 和樹 佐藤 正皓 西永 裕希 引地 直也 美馬 知実
〔概 要〕
現在、パソコンを仕事で使う人や趣味で使う人でどれも共通していることは、デスクトップを巧みに利用していことです。しかし、ガジェットなどのディスクトップに登録したアイコンは、どれも既存のものばかりでなぜ自分の便利そうなものを使用しないのだろう?またもっと面白くデスクトップを飾ることができたりしないのだろうか?という疑問から、自分たちでデスクトップマスコットを作ってみようと考えました。
私たちが作ったマスコットはショートカット機能に優れたものです。主な機能は他にもグーグル検索、コマンドプロンプト、最小化などのことができます。マスコットは、25%から200%まで大きさを変更することが可能です。
買い物公園マップの制作
〔発表者〕
小林 陽平 三原 佑太 原子 雄貴 猪股 隼人 平形 卓実 沼舘 敏輝
〔概 要〕
私たちが行った研究テーマは、買物公園を更に多くの人に知ってもらうため、キーワード検索で手軽に買物公園の施設を探すことができるユーザ視点で使いやすい地図の作成です。使い方は、Webブラウザ上で、フォームにキーワードを入力してXMLに登録されている店舗情報を表示します。登録されている店舗は主に本校から4条通りまでの飲食店が登録されています。登録された店舗ごとに詳細情報のリンクを設定し、知りたい店舗の情報を見ることが出来ます。GoogleMapサービスから、GoogleMapAPIを使い取得したXMLデータをJavaScript等を駆使して表示しています。当初地図はFLASデータを作成して行っていたが見た目のクオリティを上げることが出来なかったのでGoogleMapを使うことにしました。
ペイントソフトウェアの制作
〔発表者〕
鍜治澤 雄登 山田 峻大 池田 貴行 千葉 裕二
〔概 要〕
市販のソフトは機能が沢山ありすぎるため却って使いづらいものがたくさんあります。私たちが今回研究テーマに選んだものは、誰にでも簡単に使うことのできるペイントソフトウェアを作ることでユーザフレンドリーなインタフェースとはどのようなものであるか、また内部の作りはどうあるべきかというものでした。
ユーザが使うツールはツールウィンドウに纏められ見ただけで何をするのか一目瞭然になるようにしました。プログラムは各種機能を専用のクラス・モジュールで動作させ、メインプログラムは最低限の命令をするだけで、複雑な動作を分業して行う事を目指しました。そのための手法として、オブジェクト指向設計のポリモーフィズムやカプセル化等を活用して制作することができました。