• 検索結果がありません。

平成 24 年度卒業研究中間レポート 高次脳機能障害者支援スマートフォンアプリ FINDmap の開発高次脳機能障害者支援システム 近畿大学工学部情報システム工学科システム開発コース 学籍番号 原悠紀

N/A
N/A
Protected

Academic year: 2021

シェア "平成 24 年度卒業研究中間レポート 高次脳機能障害者支援スマートフォンアプリ FINDmap の開発高次脳機能障害者支援システム 近畿大学工学部情報システム工学科システム開発コース 学籍番号 原悠紀"

Copied!
10
0
0

読み込み中.... (全文を見る)

全文

(1)

平成 24 年度 卒業研究中間レポート

高次脳機能障害者支援スマートフォンアプリ

FINDmap の開発

高次脳機能障害者支援システム

近畿大学工学部 情報システム工学科 システム開発コース

 

学籍番号 0910960060 原 悠紀

(2)

1.研究の背景と目的 1.1 高次脳機能障害とは  一般的に人の脳には体を動かす運動機能,五感を感じる知覚機能,記憶・認知・感情・言語などを 支配する高次脳機能の 3 つの機能があり[3] ,その中の高次脳機能障害とは,外傷性脳損傷,脳炎,低酸 素脳症,などといった後天的な要因により,知覚,言語,記憶,思考といった日常生活に必要な高次 脳機能の使用や統合に関わる障害が発生したものである.この障害は麻痺などの身体的な後遺症を残 さない事例が多く,一見して健康な人との見分けが付かない.  高次脳機能障害は,全体的に能力が低下するわけではなく,認知症と違い部分的に能力が低下・欠 落する事が特徴で,脳のどの部分を損傷したかによって現れる症状が異なる.さらに,障害の程度に よっては,本人すら障害に気づかない事もあり,高次脳機能障害者と周囲の人との理解の差異が日常 生活や社会復帰を困難にし,外出時の事故や対人関係の問題を引き起こしている.[1]   高次脳機能障害をひき起こす代表的な疾患名 ・ 頭部外傷:硬膜外血腫,硬膜下血腫,脳挫傷,脳内出血,漫性軸索損傷 [2] ・ 脳血管障害:脳内出血,脳梗塞,クモ膜下出血,もやもや病 [2] ・ 感染症:脳炎,エイズ脳症 [2] ・自己免疫疾患: 全身性エリテマトーデス,神経ベーチェット病 [2] ・中毒疾患:アルコール中毒,一酸化炭素中毒,薬物中毒 [2] ・その他:多発性硬化症,正常圧水頭症,ビタミン欠乏症,脳腫瘍 [2] 1.2:高次脳機能障害の社会的弊害  高次脳機能障害によって引き起こされる社会的弊害としては,以下のようなものが挙げられる. ・記憶障害[1] ・注意障害[1] ・遂行機能障害[1] ・地誌的記憶障害(見当識障害)[1] ・感情障害[1] ・失語症[1] ・半側空間無視.半側身体失認[1] ・失行症[1] ・社会的行動障害[1] 1.3:リハビリテーションの現状  リハビリテーションの現場では,障害のある人やその家族から,自宅でのリハビリテージョンを望 む声が上がっている.このニーズを実現するためには,各家庭でリハビリテーションを行うための環 境設備が必要になる.  さらに,現場の専門家は障害のある方を診察するための時間を増やしたいと考えているが,臨床現 場は多忙であるために今以上の診療時間の確保は難しいのが原状である.[9] 1.4:高次脳障害者リハビリ支援システム 臨床現場で専門家が行う業務のうちいくつかはコンピューターで代用できる.それらの業務をコンピ ューターで行うことで,専門家は診察業務により多くの時間を割くことが出来る.  本研究は 2008 年から開始され,福山大学認知心理学研究室と共同で実施されており,自宅で行える リハビリテーションは自宅で行い,病院で行う必要のあるものは病院で行うという分業をすることに よって,通院や家族の負担を軽減することを考えている.これにより,各患者の通院頻度が下がり, 通院時の治療時間の増加も見込める.   さらに,支援システムの利用によって,主に通院時にしか行えなかった医療スタッフとのコミュニ ケーションを,時間帯をあまり意識することなく家庭でも行うことが可能となる.[9]  昨年は Web 支援システム「どこでも認知リハ」利便性の向上を行ったが,本年度はスマートフォン

(3)

向けの支援アプリケーションの開発を行う.   1.5 スマートフォン向けアプリの開発の理由と目的 高次脳機能障害の患者の中には自分の友人,知人の顔と名前が覚えられない,またはすぐに忘れてし まう方がいる.福山大学との認知リハミーティングでは,そのような患者のためになにか支援が出来 ないかと要望があった.そこで,持ち運びの便利なスマートフォンやタブレットに対応した支援シス テムを提案した.現在スマートフォンの OS は Android と iOS が主流であるが,今回は Android で支援 アプリ構築することにする.理由として Android は iOS に比べライセンス取得に煩雑な手続きを行う必 要がないことや,開発言語が Java であることから学習に必要な資料も多いことからを選択した.  今回開発するアプリの効果として ・利用者に安心して外出してもらうこと ・利用者のコミュニケーション支援ツールとしての利用 ・利用者家族の負担軽減  などが期待できる.  また、地図機能をもとにしているため,障害者以外の利用の期待できる.   1.6:Android の開発環境  Android アプリケーションの開発は,プログラミング言語として Java を利用している.開発環境は 以下のものを使用している.

・Java Development Kit(JDK)バージョン 6

・Eclipse Java EE IDE for Web Developers バージョン 3.7 ・Android Development Tool(ADT)

・Android SDK rev19

現在 ADT は JDK ver6 に対応しており,最新の JDK ver7 には対応していないため JDK ver6 をしようす る.

1.6.1:Java Development Kit(JDK)バージョン 6 とは

 Java Development Kit(JDK)とは Java アプリケーションを開発する上で必要となる開発キッドであ り,Android SDK および Eclipse の動作に JDK が必要になる.JDK には以下のものが含まれる[7][9][10]. 1.6.2:開発ツール  bin サンプルディレクトリに格納されており,JavaTM プログラミング言語で記述されたプログラムの開発, 実行,デバック,及びドキュメント作成を支援するツールとユーティリティーである[9][10]. 1.6.3: Runtime Environment

 jri サブディレクトリに格納されており,JDK で使用される Java Runtime Environment (JRTTM)実行環境の実装で

ある.JRE には,JavaTM 仮想マシン,クラスライブラリ,及び JavaTM プログラミング言語で記述されたプログラミング の実行をサポートするその他のファイルが含まれる[9][10]. 1.6.4:追加ライブラリー  lib サブディレクトリに格納されている.開発ツールに必要な追加ライブラリーとサポートファイル である[9][10] . 1.6.5:デモアップレットとデモアプリケーション  demo サブディレクトリに格納されており,JavaTM プラットフォーム用のプログラミング例で,ソースコードが 含まれている.Swing やその他の JavaTM

Foundation Classes,及び JavaTM

Platform Debugger Architecture を利用する例も含まれている[9][10]

. 1.6.6:サンプルコード

(4)

ある[9][10]

1.6.7:C ヘッダーファイル

 include サブディレクトリに格納されている.Java Native Interface,JVMTM 

Tool Interface,およびその他の JavaTM

Platform の機能を利用するネイティブコードプログラミングをサポートするヘッダーファイルである[9][10]

. 1.6.8:ソースコード

Src.zip に格納されている.Java コア API を個性する全てのクラスに対する JavaTM

プログラミング言語のソースフ

ァイルである.このソースファイルは情報提供のみを目的としており,開発者がJavaTM

プログラミング言語を理解し

活用するのに役立つようになっている[9][10]

1.6.9:Android Software Development kit(SDK)

SDK とは Android アプリケーションを作成するための開発キッドである.この Android SDK に含まれ るエミュレータを使用して動作の各認をする[9][10]. 1.6.10:Eclipse3.7(総合開発環境)  オープンソースの総合ソフトウェア開発環境(IDE)の 1 つである.Java 開発者を中心に急速に普及し ており,ソフトウェア開発の共通プラットフォームの標準になると予想されている.  IBM 社が 1999 年から進めている開発ツール研究プロジェクトの研究成果をソフトウェアの形にした ものであり,2001 年 11 月にオープンソース化され,誰でも無償で入手・改変・再配布・出来るように なった[9][10] .  Eclipse は単なる開発ツールではなく,開発ツールの「共通プラットフォーム」呼ばれる.これは, 機能をプラグインの形であとから自由に追加できるためであり,UML 関連ツールやテストツール,各種 のプログラミング言語などが用意されており,その数は数百種類に及んでいる.  大手ソフトウェアベンダーの中には,自社の開発ツール製品 Eclipse を組み込み,Eclipse に追加す る形で自社独自の部分を提供する形の製品をリリースするところも現れている[9][10] . 1.6.11:Android Development Tool(ADK)

 ADK とは Eclipse に Android アプリケーションの開発の開発環境を追加するための必須プラグインで

あり,上記の SDK を使用可能にするものである[9][10] . 1.7 技術要素 2.1:Android アプリケーションは以下の 4 つの要素から構成される[9][10] . 1.7.1:Activity(アクティビティ)  Activity は,画面を生成するためのコンポーネントである.Android アプリの画面は,すべてアク ティビティーを使用する.Android アプリで使用する画面に1つにつき,1つのアクティビティーが存 在する[9][10] . 1.7.2:Intent Receiver(インテントレシーバー) Intent Receiver とは,インテント(インテントとは,画面を)を受け取って処理を行う役目を担って いる.Intent Receiver は外部から電話の着信や USB ケーブルの接続などのイベントが発生したときに,

それに応じて画面に存在しない処理を行う[9][10] . 1.7.3:Service(サービス)  Service とは,画面を持たずにバックグラウンドで処理を実行するオブジェクトである[9][10] . 1.7.4:Content Provider(コンテントプロバイダー)  Content Provider は,アプリケーションのデータを他のアプリケーションに提供するための機能で ある(他のアプリが別のアプリが作成したデータを必要とする際に,いったんデータを作成したアプリ に問い合わせて,必要なデータを送信してもらうことになる)[9][10] .

(5)

1.8:Dalvik(ダルビック)仮想マシン

 Dalvik 仮想マシンは,低メモリー環境に対して最適化されており,OS によるプロセス間の分離,メ モリ管理,スレットのサポートを用いて,複数の仮想マシンインスタンスが同時に動作できるように 設計されている[9][10]

 Android では,ソースコードを Dalvik バイトコードと呼ばれる中間言語に変換し,実行時に Dalvik 仮想マシンによって,ベースとなる Linux で実行可能な形式に変換し実行するという方法をとってい る[9][10]

Dalvik 仮想マシンは最小メモリのために最適化された Dalvik 実行マシン(.dex)を実行する.Dalvik 仮想マシンはベースレジストリーであり,Java 言語コンパイラでコンパイルされ,dx ツールによって. dex フォーマットに変換されたクラスを実行する[9][10] . 1.9:Android アーキテクチャ(基本構造)[7]  Android のアーキテクチャは多くのコンポーネントからなっており,コンポーネントには大きく以下 の 5 つのレイヤーに分類される. ・Application ・Application Framework ・Libraries ・Android Runtime ・Linux Kernel

(6)

図.1 Android のアーキテクチャ[11] 2.研究計画 研究計画は下記の予定で進めていく. 2 月 Android,Java についての学習(一年を通じて行う) 3 月 高次脳機能障害についての学習(一年を通じて行う) 4 月 高次脳機能障害支援システムについて学習(必要に応じて随時調べる 5 月 第一回認知リハミーティング,スマートフォン向けの支援アプリの開発を始める.ア

プリ名は「FIND(

Friend Information Navigate Display

)map」

6 月 第二回認知リハミーティング支援アプリの仕様書作成

Google map の利用方法の調査,FINDmap ver1.0 の作成

7 月 アプリの雛形の作成(FINDmap ver2.0) 8 月 中間報告,FINDmap ver3.0(写真画像及び名前の表示機能の完成させる)作成予定 Android 勉強会に参加(予定) 9 月 FINDmap ver4.0(位置情報登録機能及びその登録画面の設計)を作成 10 月 9 月の予定を継続及び完成(予定) 11 月 写真撮影機能を使用した位置情報の取得方法の実装 12 月 11 月の予定を継続及び完成(予定) 1~3 月 アプリの完成および実装テスト(予定).「どこでも認知リハ」のページに無料で配布 できるようにする(余力があれば) 3.研究の現状  現在の研究の進捗状況として,福山大学と合同で行われる認知リハミーティングにおいて上記の患 者に対して外出した際に,友人や知人の方に会う時に顔と名前が確認できる地図アプリの開発行うこ とになった.そのミーティングのときに,ユーザーの友人や知人の方が居そうな場所(自宅,仕事場, その人がよく利用する施設など)をユーザーの現在位置から近い人から順に地図に表示する(表示する 際に顔写真と名前を同時に表示)機能や,もし,道端で友人や知人の方に遭遇した際に,その人の写真 を撮ることで,そこの位置情報とその人の名前,写真を記録し次回からその情報も表示する機能など が挙げられた.  これらの機能を踏まえ,仕様書を作成した.下図が仕様書のサンプルである.  

(7)
(8)

 

仕様書の完成後,アプリの開発に取り組んだ.

 まず Google map を使用するにあたって Google Maps API key の取得をしなければならない.これを 取得することにより,Android で Google map を使うことが出来る.手順としては,証明書のフィンガ

ープリントを取得する.取得方法は下記のサイトを参考にした[4].

    Android Maps API Key を取得する方法 Google Maps を利用する     http://pentan.info/android/app/maps_api_key.html#anc_get   

 取得できたら

Google にログインした状態で下記の URL にアクセスします.

 

https://developers

google

com/android/maps-api-signup?hl=ja

[6]

 そこで先ほど取得した証明書のフィンガープリントを

My certificate's MD5 fingerprint: の欄に記

入すると

API key が取得できる.

 API key が取得できたのでアプリの開発に取り組む.下記のサイトを参考に自分の位置情報を取得し Google Map 上に表示する.

The blog : : Memo & Journal[5]

 

http://d

hatena

ne

jp/sei10sa10/20110727/1311759057

(9)

<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>  これが完成し,次の機能のプログラミングに移る.次は表示した位置情報の場所に写真画像と名前 を表示する機能を追加するのだがコーディングが完了しエミュレータを起動するもエラーが発生. エラーコード

E/AndroidRuntime(302):java

lang

RuntimeException:Unabletostartactivity

ComponentInfo{my.applicationFINDmapvol3/my.applicationFINDmapvol3.FINDmapvol3Ac

tivity}: java.lang.ClassCastException: com.google.android.maps.MapView

 このエラーに対して

・API key の許可が上手く出来ていないか,配置場所がおかしいのではないか

・Layout.main.xml の Map View クラスの表示する行に問題があるのではないか.

・Android Manifest の許可が正しく出来ていないのではないか

などの対応を試みたが,エラーは解消していない.

 これに対して,まだまだ MapView クラスや Android プログラミングの理解が不足してい

るためより学習に力を注ぐ必要がある.

参考文献 川崎医療大学付属病院 HP

高次脳機能障害支援普及事業[1]

http://www.kawasaki-m.ac.jp/hospital/koujinou/index.php ハイリハ東京 高次脳機能障害若者の会[2] ]http://www . geocities . co . jp/HeartLand-Ayame/7001/dainou/koujino-shoujo . html 高次脳機能障害者どのように対処するか[3] 著:橋本 圭司

Android Maps API Key を取得する方法 Google Maps を利用する[4]     http://pentan . info/android/app/maps_api_key . html#anc_get

The blog

: : Memo & Journal

[5]

 http://d . hatena . ne . jp/sei10sa10/20110727/1311759057

Sign Up for the Android Maps API - Android Maps API - Google Code [6]  https://developers . google . com/android/maps-api-signup?hl=ja

はじめての Android プログラミング入門[決定版] [7] 著:五十嵐 貴之

Android SDK 逆引きハンドブック [8] 著:中西 葵. 内村 祐之. 高橋 良司

(10)

スマートにプログラミング Android 入門編 著:堀切 提 [9] 平成 23 年度 卒業論文 [10] 図.1 の画像引用 ウィキペディア [11] http://ja.wikipedia.org/wiki/Android

参照

関連したドキュメント

ているためである。 このことを説明するため、 【図 1-1-8】に一般的なソフトウェア・システム開発プロセス を示した。なお、

研究開発活動  は  ︑企業︵企業に所属する研究所  も  含む︶だけでなく︑各種の専門研究機関や大学  等においても実施 

義 強度行動障害がある者へのチーム 支援に関する講義 強度行動障害と生活の組立てに関 する講義

1、研究の目的 本研究の目的は、開発教育の主体形成の理論的構造を明らかにし、今日の日本における

全小中学校で、自学自習力支援システムを有効活用し、児童・生徒の学習意欲を高め、自学自習力をはぐ

ザー独自の属性情報を登録できる簡易データベース機能を開発した。また、各種報告用に紙図面の作成が必要

は、金沢大学の大滝幸子氏をはじめとする研究グループによって開発され

は、金沢大学の大滝幸子氏をはじめとする研究グループによって開発され