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

実装

ドキュメント内 九州大学学術情報リポジトリ (ページ 90-93)

第 5 章 ケーススタディ:複合現実環境による IoT 教育システム教育システム

5.4 実装

5

章 ケーススタディ:複合現実環境による

IoT

教育システム

79

5

章 ケーススタディ:複合現実環境による

IoT

教育システム

80

㻾㼛㼎㼛㼠 㻭㼜㼜㼘㼕㼏㼍㼠㼕㼛㼚

Ͳ ͙ н^ƚĂƌƚƉƉ;Ϳ н^ƚŽƉƉƉ;Ϳ н/ŶŝƚŝĂůŝnjĞƉƉ;Ϳ н&ŝŶĂůŝnjĞƉƉ;Ϳ нDĂŝŶ>ŽŽƉ;Ϳ

㻲㼞㼍㼙㼑㼣㼛㼞㼗

㻾㼛㼎㼛㼠㻭㼜㼜㼘㼕㼏㼍㼠㼕㼛㼚 Ͳ ͙

н/ŶŝƚŝĂůŝnjĞƉƉ;Ϳ н&ŝŶĂůŝnjĞƉƉ;Ϳ

㻾㼛㼎㼛㼠㻯㼛㼚㼠㼞㼛㼘㼘㼑㼞 Ͳ WŽƐy͕WŽƐz

н'Ž&ŽƌǁĂƌĚ;ǀĞůŽĐŝƚLJͿ нdƵƌŶ>ĞĨƚ;ĂŶŐƵůĂƌsĞůŽĐŝƚLJͿ нdƵƌŶZŝŐŚƚ;ĂŶŐƵůĂƌsĞůŽĐŝƚLJͿ н^ƚŽƉ;Ϳ

㻿㼑㼞㼢㼑㼞㻭㼜㼜㼘㼕㼏㼍㼠㼕㼛㼚 Ͳ ͙

н/ŶŝƚŝĂůŝnjĞƉƉ;Ϳ н&ŝŶĂůŝnjĞƉƉ;Ϳ

㻸㼕㼎㼞㼍㼞㼥

㻰㼑㼢㼕㼏㼑 㼀㼕㼙㼑㼞 㻯㼛㼙㼙㼡㼚㼕㼏㼍㼠㼕㼛㼚 㻱㼠㼏㻚 ϭ Ύ

ϭ ϭ

㻯㼘㼑㼍㼚㼑㼞㻾㼛㼎㼛㼠㻯㼛㼚㼠㼞㼛㼘㼘㼑㼞 Ͳ ZŽďŽƚ^ƉĞĐŝĨŝĐ^ĞŶƐŽƌƐ͙

н'Ž&ŽƌǁĂƌĚ;ǀĞůŽĐŝƚLJͿ нdƵƌŶ>ĞĨƚ;ĂŶŐƵůĂƌsĞůŽĐŝƚLJͿ нdƵƌŶZŝŐŚƚ;ĂŶŐƵůĂƌsĞůŽĐŝƚLJͿ н^ƚŽƉ;Ϳ

нZŽďŽƚ^ƉĞĐŝĨŝĐŽŵŵĂŶĚƐ͙

㻯㼛㼙㼙㼡㼚㼕㼏㼍㼠㼕㼛㼚

㻮㼍㼟㼑㻯㼛㼙㼙㼡㼚㼕㼏㼍㼠㼕㼛㼚 Ͳ ͙

нŽŶŶĞĐƚ;Ϳ нŝƐĐŽŶŶĞĐƚ;Ϳ нZĞĂĚ;Ϳ нtƌŝƚĞ;ĚĂƚĂͿ

㻯㼛㼙㼙㼡㼚㼕㼏㼍㼠㼕㼛㼚㻿㼑㼞㼢㼑㼞 Ͳ ͙

н>ŝƐƚĞŶ;Ϳ нůŽƐĞ;Ϳ

Ύ ϭ

ϭ ϭ

ϭ ϭ

㻯㼘㼑㼍㼚㼑㼞㻾㼛㼎㼛㼠㻭㼜㼜㼘㼕㼏㼍㼠㼕㼛㼚 Ͳ ͙

н/ŶŝƚŝĂůŝnjĞƉƉ;Ϳ н&ŝŶĂůŝnjĞƉƉ;Ϳ

ϭ ϭ 䝃䞊䝞䛸䛾㏻ಙ

䜽䝷䜲䜰䞁䝖䛸䛾㏻ಙ

䝷䜲䝤䝷䝸฼⏝

䝻䝪䝑䝖ไᚚ

㼁㼟㼑㼞㻌㻭㼜㼜㼘㼕㼏㼍㼠㼕㼛㼚

㼁㼟㼑㼞㻭㼜㼜㼘㼕㼏㼍㼠㼕㼛㼚㻟 Ͳ ͙

нDĂŝŶ>ŽŽƉ;Ϳ 㼁㼟㼑㼞㻭㼜㼜㼘㼕㼏㼍㼠㼕㼛㼚㻞

Ͳ ͙ нDĂŝŶ>ŽŽƉ;Ϳ 㼁㼟㼑㼞㻭㼜㼜㼘㼕㼏㼍㼠㼕㼛㼚㻝

Ͳ ͙ нDĂŝŶ>ŽŽƉ;Ϳ

㻾㼛㼎㼛㼠㻌㻼㼘㼡㼓

5.6 ユーザアプリケーションとロボットフレームワークの関係

より簡単に扱えるようになる.その他,サーバアプリケーションを開発し

たければ

ServerApplication

クラス,ロボットもサーバも扱わない場合は,

Application

クラスといった選択が可能である.

ユーザはこれらのクラスを継承し,

MainLoop

メソッドや

InitializeApp

メ ソッドなどをオーバライドすることによって,アプリケーションの開発を行 える.講義を行う側の人間は,フレームワーク側の

Application

クラスと,

ユーザが定義する

Application

のサブクラスの間に入るクラスを定義するこ とによって,講義の難易度を調整することが可能である.

5.7

は,本教育システムにおける

COP

の実現方法である.ユーザ側 から見える

COP

機能実現のためのクラスとして,LayerActivater,Layer-dObjectCreater

MethodDispatcher

の三つが存在する.

LayerActivater

は 指定したレイヤのアクティベーションを行うためのクラスであり,この

5

章 ケーススタディ:複合現実環境による

IoT

教育システム

81

㻳㼑㼚㼑㼞㼍㼠㼑㼐 㼁㼟㼑㼞㻌㻭㼜㼜㼘㼕㼏㼍㼠㼕㼛㼚

㼁㼟㼑㼞㻌㻸㼍㼥㼑㼞㼟

㻸㼍㼥㼑㼞㼑㼐㻻㼎㼖㼑㼏㼠㻯㼞㼑㼍㼠㼑㼞 Ͳ ͙

нƌĞĂƚĞKďũĞĐƚ;ƚLJƉĞ͕ĂƌŐƐͿ

㻹㼑㼠㼔㼛㼐㻰㼕㼟㼜㼍㼠㼏㼔㼑㼞 Ͳ ͙

нŝƐƉĂƚĐŚDĞƚŚŽĚ;ŵĞƚŚŽĚ͕ĂƌŐƐͿ нWƌŽĐĞĞĚ;ĂƌŐƐͿ

㻹㼑㼠㼍㻸㼍㼥㼑㼞 Ͳ ŝĚ

Ͳ ŶĂŵĞ Ͳ ƐƚĂƚĞ

н'Ğƚ>ĂLJĞƌĞĚKďũĞĐƚdLJƉĞƐ;Ϳ

㻯㻻㻼㻌㻵㼙㼜㼘㼑㼙㼑㼚㼠㼍㼠㼕㼛㼚

㻸㼍㼥㼑㼞㻭㼏㼠㼕㼢㼍㼠㼑㼞 Ͳ ͙

нĐƚŝǀĂƚĞ;ůĂLJĞƌͿ нĞĂĐƚŝǀĂƚĞ;ůĂLJĞƌͿ

㻿㼍㼙㼜㼘㼑㻼㼞㼛㼓㼞㼍㼙 Ͳ ͙

нDĂŝŶ;ĂƌŐƐͿ

㻸㼍㼥㼑㼞䃑 Ͳ ͙

ϭ

㻸㼍㼥㼑㼞䃐 Ͳ ͙

㻮㼍㼟㼑㻸㼍㼥㼑㼞 Ͳ ͙

㻸㼍㼥㼑㼞㻹㼍㼚㼍㼓㼑㼞 Ͳ ͙

нZĞŐŝƐƚĞƌĂƐĞ>ĂLJĞƌ;ůĂLJĞƌͿ нZĞŐŝƐƚĞƌ>ĂLJĞƌƐ;ůĂLJĞƌƐͿ

Ύ ϭ

㻯㻝 Ͳ ͙ нDϭ;Ϳ нDϮ;Ϳ 䜲䞁䝘䞊䜽䝷䝇

㻸㼍㼥㼑㼞䃑㻦㻌㻯㻝 Ͳ ͙

нDϭ;Ϳ нDϮ;Ϳ

䜲䞁䝘䞊䜽䝷䝇 㻸㼍㼥㼑㼞䃐㻦㻌㻯㻝

Ͳ ͙ нDϭ;Ϳ нDϮ;Ϳ

䜲䞁䝘䞊䜽䝷䝇

ϭ ϭ

ϭ

㻸㼍㼥㼑㼞㼐㻻㼎㼖㼑㼏㼠㻦㻌㻯㻝 Ͳ ͙

нDϭ;Ϳ нDϮ;Ϳ

͙ ͙

ϭ

ϭ ϭ ϭ

ϭ ϭ

ϭ

ϭ

ϭ

㻨㻨㼐㼑㼘㼑㼓㼍㼠㼑㻪㻪 㻹㼑㼠㼔㼛㼐㻰㼑㼘㼑㼓㼍㼠㼑 Ͳ ͙

нĂůů;ŝŶƐƚĂŶĐĞ͕ĂƌŐƐͿ ϭ

ϭ

ϭ

Ύ

Ύ

ϭ

ϭ

ϭ

Ύ ϭ

䝺䜲䝲䜰䜽䝔䜱䝧䞊䝖

䜲䞁䝇䝍䞁䝇໬

䝟䞊䝅䝱䝹䜽䝷䝇 䛾᝟ሗྲྀᚓ

≧ែ᭦᪂

䝺䜲䝲≧ែ䛾☜ㄆ 䜽䝷䝇⏕ᡂ

䝯䝋䝑䝗 䝕䜱䝇䝟䝑䝏

䝯䝋䝑䝗

࿧䜃ฟ䛧

䝯䝋䝑䝗 ᐇ⾜

䝯䝋䝑䝗ᐇ⾜

5.7 COPの実現

クラスによってレイヤの状態を更新する.

LayerdObjectCreater

は,アク ティブなレイヤに応じて振る舞いを変えうるレイヤードなクラスをインス タンス化するためのものである.このクラスは,レイヤードなクラスの型 データを実行時に生成する.生成されたクラスでは,メソッド呼び出しの

際に

MethodDispatcher

を実行するようにプログラムの内容を書き換える.

MethodDispatcher

はレイヤの状態を確認し,現在アクティブなレイヤのメ

ソッドを実行する.また,

MethodDispatcher

では,

COP

Proceed

も実現 しており,この機能はユーザプログラムから利用される.

5

章 ケーススタディ:複合現実環境による

IoT

教育システム

82

ドキュメント内 九州大学学術情報リポジトリ (ページ 90-93)