|
RFIDを使用して、PCの位置情報を認識するためのシステムを開発した。
<設計>
・ネットワーク接続可能なRFIDリーダーを使用
・各RFIDリーダーの情報を統括するサーバソフト
・位置情報を各PCにネットワークを介して伝達するサーバの機能
<実装>
位置認識システムには、RFIDを取り入れることによって、ハードウェアを開発する負担を軽減した。今回、RFIDは株式会社 ラステーム・システムズのLCNV-RFID3を使用した。
(参考web: http://www.rasteme.co.jp/product/network/lcnv-rfid3/lcnv-rfid3.html)
KBSはRFIDリーダーの仕様に合わせ、TCP/IP接続にて各リーダーと接続を保ち監視する。リーダーはIDが読み込まれるとKBSにそのID情報を送る。リーダーはIDの読み込みに関しては反応するが、リーダーからPCが外れたかどうかの検出をすることはタグから検出することはできないが、入出力デバイスの機能を備わっており、焦電センサにてPCがリーダーの上にあるかどうかを検出する機能を付加した。これにより読み込まれたタグと状態を監視することができる。
リーダーは固定IPを指定する必要があり、またそのIPリストをファイル(server.txt)に列挙することで何台のリーダーでも増減することが可能である。
 
図5−4 RFIDリーダー 図5−5 組み込んだ焦電センサ(左:RFIDアンテナ、
右:焦電センサ)
またKBSは各PCに状態を伝達するための機能を実装した。RFIDリーダーとの通信にはTCP/IPを選択したが、各PCとの通信はUDPを使用した。UDPを選択した理由は、KBSとKBPとのやり取りと同時に、KBP同士、映像の同期を得るためにも通信する必要があり、それと仕様を合わせたかからだ。またPCとタグとの対応関係をファイル(card.txt)に列挙することで、対応付けすることができ、またPCの台数の増減を指定することができる。
よって、KBSはRFIDリーダーを統括し、KBPへ情報を配信するハブの役目を果たす。またRFIDリーダーはIPの個数に応じ増減することができ、またKBPの動くPCの増減にも自在に対応することができる。
<評価>
・RFIDを用いたことによって、位置関係の取得が容易になった。
・RFIDリーダーの増減が可能になり、自在に形を作ることができる。
・PCの個数に限定することなく、複数のPCの位置認識に対応できる。
・コンテンツの表現の方法に応じて、インターフェースの位置関係を自由に変更することができる。
「からくりブロック」におけるコンテンツ編集ソフトウェア
<設計>
・映像制作のための素材画像の登録
・ 1画面でのアニメーション
-ディスプレイ(A)を1つ配置したときに再生されるループアニメーション
・ 2画面でのアニメーション
-ディスプレイ(A)(B)を2つ配置したときに再生されるアニメーション
・ 3画面でのアニメーション
-ディスプレイ(A)(B)(C)を3つ配置したときに再生されるアニメーション
・ アニメーションの書き出し
コンテンツの編集後、XML形式のファイルへ保存。
<実装>
アニメーションの素材画像の登録:イメージを任意の場所から読み込み、ステージ上に配置する。素材画像として背景やキャラクタなどの登録が可能である。
アニメーションの作成:
>1つのディスプレイを配置したときのアニメーションは、1つの画面の状態でキャラクタを配置し、フレームを追加し、キャラクタの位置を動かすことで、連続した動きを作る。
アニメーションの保存:
XML形式のファイルに書き出す。アニメーションの記述形式については4.4で述べる。
以下に、KBEの具体的な操作手順を説明する。
@KBEを立ち上げると図5−6の画面になる。

図5−6エディタの初期画面
A素材画像を読み込み、その素材をステージ上に配置し、背景をつくる。

図5−7イメージの登録
B1つのディスプレイ上で再生する場合のアニメーションの作り方(A):
ステージの1画面の状態で背景を制作後、キャラクタを配置しアニメーションを作成。

図5−8 1画面の編集(左)
C1つのディスプレイを配置した場合のアニメーションの作り方(B):
ステージの2つ目の画面を編集する。Bと同様に1画面の状態で背景を配置後、キャラクタを配置しアニメーションを作成。

図5−9 1画面の編集(右)
D2つのディスプレイを配置した場合のアニメーションの作り方(A、B):
ステージの2つの画面を連結した状態で、キャラクタを動かす。

図5−10 2画面の編集
Eアニメーションの保存
編集終了後に保存すると、@〜D以上で編集したアニメーションはXMLの形式でファイルに書き出される。このタグ名をKBPMLとする。(図5―11)
このシステムで使用する主要タグを以下に示す。
[主要タグ]
・<cast>
イメージの登録:キャラクタや背景などステージ上で扱う素材
・<position>
PCの位置:RFIDで取得した位置情報との連携
・<background> 背景の配置:各位置に対して背景を決定
・<action> アクションの記述:キャラクタのアクション
位置関係に応じたアニメーションの定義には以下のタグを指定する。
・<loop> 1つのディスプレイを配置したときのアニメーション
・<left> 2つのディスプレイの位置関係において、左側にディスプレイがある場合
・<right> 2つのディスプレイの位置関係において、右側にディスプレイがある場合
・<lr> 2つ以上のディスプレイを配置し、かつ、両側にディスプレイがある場合
・<top>
2つのディスプレイの位置関係において、上側にディスプレイがある場合
・<bottom>
2つのディスプレイの位置関係において、下側にディスプレイがある場合
・<tb>
2つ以上のディスプレイを配置し、かつ、上下にディスプレイがある場合
・ <pos x=”数値” y=”数値”/> キャラクタの位置:キャラクタの位置座標(x,y)を指定することでキャラクタを動かすことができる。
このようにXML形式でアニメーションの状態を記述すると、次に説明する再生ソフトウェアでkbpml.xmlを読み込むことによって同コンテンツの再生が可能になる。

図5−11 XML形式で書き出されたファイル”kbpml.xml”
3.
コンテンツ再生ソフトウェアの開発(KBP)
「からくりブロック」のコンテンツ再生ソフトウェア
<設計>
・KBEで作成したコンテンツの再生(XMLファイルの読み込みとアニメーションの再生)
・KBSからの位置情報の取得
・各PCと映像の同期のための通信
<実装>
XMLファイルを読み込みタグに応じたアニメーションの再生機能を実装した。KBSと各PC
との連携のためUDPによる通信を実装するため、以下のプロトコルを設計し実装した。
・KBSとのプロトコル
RFIDのカードに反応:
Cxy x=card ID,
y=card Reader (x=0,1,2... y=0,1,2...)
RFIDのカードがいない:
CxR x=card ID
(x=0,1,2...)
・PCの同期プロトコル
アクションを起こす同期:
Sxyz x=card ID,
y=story ID, z=action ID
<評価>
2で編集したアニメーションをPC上で動作を確認することができる。
KBEで作成したXMLファイルをKBPで読み込むと、作成したアニメーションが再生される。
アニメーションは場面ごとに同期し、キャラクタがディスプレイ間を移動しているように見える。
 
 
図5−12 KBPでの動作確認(ひよこと鶏が移動している)
<実行結果>
位置認識システムを使用して、動作させると次のようになる。
例えば、4つのディスプレイを図5−15のように配置すると4つの画面に映る映像が相互につながる。

図5−13 1つのディスプレイを配置した場合

図5−14 2つのディスプレイを配置した場合

図5−15 4つのディスプレイを配置した場合
|