JP5920399B2 - 端末装置及びプログラム - Google Patents

端末装置及びプログラム Download PDF

Info

Publication number
JP5920399B2
JP5920399B2 JP2014096691A JP2014096691A JP5920399B2 JP 5920399 B2 JP5920399 B2 JP 5920399B2 JP 2014096691 A JP2014096691 A JP 2014096691A JP 2014096691 A JP2014096691 A JP 2014096691A JP 5920399 B2 JP5920399 B2 JP 5920399B2
Authority
JP
Japan
Prior art keywords
cpu
terminal device
communication
communication partner
determines
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014096691A
Other languages
English (en)
Other versions
JP2014194798A (ja
Inventor
徹 北川
徹 北川
泰生 岸上
泰生 岸上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2014096691A priority Critical patent/JP5920399B2/ja
Publication of JP2014194798A publication Critical patent/JP2014194798A/ja
Application granted granted Critical
Publication of JP5920399B2 publication Critical patent/JP5920399B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Telephone Function (AREA)

Description

本発明は、端末装置及びプログラムに関する。
従来、商品に取り付けられたRFID(Radio Frequency Identification)タグ等のNFC(Near Field Communication)カードを、NFC技術を用いて読取り、当該NFCカードに書き込まれたデータを取得可能な機能を備えるハンディターミナルなどの端末装置が知られている。当該端末装置は、上記データの読取り機能に加えて、自機と相手機(通信相手)との間で上記NFC技術を用いた通信機能が備えられており、読取ったデータを送受信等することにより商品に関する管理情報を相互に収集可能なことから、商品資産の棚卸しや商品の在庫管理など多様な用途がある。
ところが、端末装置にて上記NFC技術を用いた通信機能を実行するには、通信時において自機と相手機の端末装置を送信モードとするか受信モードとするか、を操作パネルなどを介して事前に設定しておく必要があった。そのため、通信設定に手間や時間がかかるとともに、端末装置の設定操作の習熟が要求されるので、ユーザにとって利便性に欠くという問題があった。
そこで、デジタルカメラにおいて、姿勢検出装置を備え、当該姿勢検出装置にてデジタルカメラの姿勢を検知し、下向きの姿勢にあるデジタルカメラ(送信モードのデジタルカメラ)より上向きの姿勢にあるデジタルカメラ(受信モードのデジタルカメラ)に向けて、自動的に画像データの送信が可能なものが知られている(例えば、特許文献1等参照)。
特開平2009−253511号公報
上記特許文献1に記載のデジタルカメラによると、通信設定における送信モードと受信モードの事前設定が不要になるため、データの送受信が容易になる。
しかしながら、上記特許文献1に記載のデジタルカメラでは、通信内容としてデータの送受信が可能であれば足りると推測されるが、商品の在庫管理などの多様な用途を備える端末装置では、例えば、データの送受信,データの初期化,自機と相手機とのデータの同期処理,などのように通信内容が多岐に亘る場合が考えられる。このような場合、ユーザは操作パネルなどを介して実施すべき通信内容を事前に設定しておく必要があるため、ユーザにとって依然利便性に欠くという問題があった。
そこで、本発明の課題は、ユーザにとっての利便性の高い端末装置及びプログラムを提供する。
請求項1に記載の発明は各種動作処理を行う端末装置であって、当該端末装置本体の姿勢と移動動作を検出する検出手段と、近距離にある相手装置を特定し、その特定された相手装置の姿勢と移動動作を取得する取得手段と、前記検出手段で検出した当該端末装置の移動動作と前記取得手段で取得した前記相手装置の移動動作とを比較する比較手段と、前記比較手段により、当該端末装置と前記相手装置との姿勢に差異があり、且つその双方の装置の動作量に差異がある場合には、その動作量の差異に応じた種類の動作内容を複数種類の動作内容の内から選択して当該端末装置における動作内容として決定する決定手段と、を具備したことを特徴とする。

したがって、本発明は、ユーザにとっての利便性の高い端末装置及びプログラムを提供できる。
本発明に係る端末装置を模式的に例示した外観図である。 図1の端末装置の制御構造を表すブロック図である。 本発明に係る自機と通信相手とが行う通信処理を説明するためのフローチャートである。 本発明に係る自機を通信相手との通信時における送信モードに設定するパターンと受信モードに設定するパターンとがランダムに切換わる状態を説明するための図である。 本発明に係る端末装置1の姿勢変化量を模式的に説明するための図である。 本発明に係る機能識別コードテーブルを説明するための図である。 本発明に係る通信処理テーブルを説明するための図である。 本発明に係る端末装置1の動作パターン1〜6を説明するための図である。 本発明に係る端末装置1の動作パターン7〜11を説明するための図である。 密着状態が成立している場合の自機1aと通信相手1bの位置関係及び姿勢変化量を説明するための図である。 近接状態が成立している場合の自機1aと通信相手1bの位置関係及び姿勢変化量を説明するための図である。 本発明に係る通信状態確立処理を説明するためのフローチャートである。 本発明に係る機能確認処理を説明するためのフローチャートであり、(i)は自機が送信モード且つ通信相手1bが受信モードに一時的に設定されている場合の処理、(ii)は自機が受信モード且つ通信相手1bが送信モードに一時的に設定されている場合の処理、をそれぞれ示す。 本発明に係る機能識別コードが自機と通信相手とで相違する場合に何れの機能識別コードを用いるかを例示した図である。 本発明に係る通信実行処理を説明するためのフローチャートである。 本発明に係る第1動作判断処理を説明するためのフローチャートである。 本発明に係る第1動作判断処理を説明するためのフローチャートである。 本発明に係る送信モード処理を説明するためのフローチャートである。 本発明に係る受信モード処理を説明するためのフローチャートである。 本発明に係る第2動作判断処理を説明するためのフローチャートである。 本発明に係る第2動作判断処理を説明するためのフローチャートである。
以下、本発明について、図面を用いて具体的な態様を説明する。ただし、発明の範囲は図示例に限定されない。なお、以下の説明では、図1における端末装置1の左右方向をX軸方向、前後方向をY軸方向、高さ方向をZ軸方向とする。
本実施形態に係る端末装置1は、ハンディターミナルなどの端末である。そして、端末装置1の筐体2の外部には、図1に示されるように、上面側に設けられ、画像表示を行う表示部50と、表示部50の前方に設けられ、ユーザが各種操作を行うための操作部40と、が備えられる。また、表示部50の周囲には、当該表示部50を取囲むように矩形状に設けられ、NFC技術を用いた通信を行う通信アンテナ20が筐体2内部に内蔵されており、NFCカードの読取り,自機と通信相手(例えば、他の端末装置1)との相互通信を行う。ここで、以下の説明では、自機及び通信相手は、別個に設けられた二台の端末装置1と便宜上定め、自機には符号1aを、通信相手には符号1bを付すものとする。
次に、端末装置1の制御構造について、図2のブロック図を用いて説明する。
端末装置1は、図2に示すように、通信モジュール部10と、通信アンテナ20と、センサ部30と、操作部40と、表示部50と、音声出力部55と、2次記憶部60と、電源部70と、制御部100と、を含んで構成される。
通信モジュール部10は、NFC技術を用いて非接触で通信相手1bとの通信を行うためのNFC規格に準拠したNFCリーダ/ライタである。そして、通信モジュール部10は、RFIDタグやその他の非接触ICカード等のNFCカードとの通信,又はNFCリーダ/ライタを備えた通信相手1bとの相互通信を行う。具体的には、通信モジュール部10は、NFCカードに誘導起電力による電力供給を行うためのキャリア電波の送信、NFCカードや通信相手1bと通信状態を確立するための応答要求信号(検索信号)や応答信号の送受信、通信処理内容に応じた通信処理信号、当該通信処理信号に対する応答処理を表す応答処理信号の送受信、等を通信アンテナ20を介して行う。
また、通信モジュール部10は、制御部100より送信される制御信号に応じて、NFC技術を用いた通信を実行する際に、自機1aを送信モード(送信側)に設定するか受信モード(受信側)に設定するかの切換えを行う。上記切換えにより、自機1aが送信モード(又はイニシエータモード)に設定され、通信相手1bが受信モード(又はターゲットモード)に設定された際の通信処理のフローが図3に例示される。
図3に示すように、送信モードに設定された自機1aは応答要求信号を送信して通信相手1bを検索する。そして、受信モードに設定された通信相手1bが当該応答要求信号を受信し、自機1aが通信相手1bより応答信号を受信できた場合に通信相手1bの検索が成功した(通信状態が確立される)こととなる。そして、当該通信状態が確立された状態で、自機1aが通信処理内容に応じた通信処理信号を通信相手1bに送信し、通信相手1bより応答処理信号を受信できた場合に通信処理が完了する。ここで、通信処理内容としては、自機1aと通信相手1bとの間でのデータの送受信処理,送信モードに設定された自機1a(通信相手1b)の設定値に基づく通信相手1b(自機1a)の初期化処理,自機1aと通信相手1bの双方の端末間でのデータの同期処理、等がある。
通信アンテナ20は、所定のコイル巻数からなるアンテナコイルであり、通信モジュール部10からの要求に応じて、キャリア電波や信号(応答要求信号,応答信号,通信処理信号、応答処理信号など)の送受信を行う。
センサ部30は、加速度センサ31と、角速度検出センサ32と、を含んで構成される。
加速度センサ31は、端末装置1がユーザによってX,Y,Z軸方向に並進移動された際のX,Y,Z軸方向それぞれの加速度を検出するための3軸加速度センサである。
角速度検出センサ32は、例えば、ジャイロセンサ(ジャイロスコープ)であり、ヨー方向,ローリング方向,ピッチング方向,それぞれの角速度を検出する。
そして、加速度センサ31にて検出された加速度及び角速度検出センサ32にて検出された角速度は、AD変換器(図示省略)等を介して制御部100に出力されることで、端末装置1(装置本体)の姿勢及び動作(アクション)が把握されるように構成されている。
操作部40は、端末装置1をユーザが操作するための各種操作キーやボタン等を備えて構成され、ユーザにより操作された際に、当該操作された操作キーやボタンに応じた操作信号を制御部100に出力するように構成されている。
表示部50は、LCD(Liquid Crystal Display)、ELD(Electro Luminescence Display)等により構成され、制御部100から入力される表示制御信号に応じて各種画像の表示処理を行う。なお操作部40は、当該表示部50と一体的にタッチパネルとして構成してもよい。
音声出力部55は、制御部100から入力される音声出力信号に従って、ビープ音やアラーム音を発生させて音声出力を行う。
2次記憶部60は、読み書き可能な不揮発性メモリであるEEPROM(Electrically Erasable Programmable ROM)やフラッシュメモリであり、制御部100からの制御信号に従って、ユーザにより設定されたシステムや各機能に関する設定データ,通信相手1bとの通信時に送受信するデータや同期処理実行時のデータなどの各種データを記憶・更新する。
電源部70は、端末装置1の各部に対して必要な電力供給を行う電源である。具体的には、電源部70は、図示は省略するが、電気エネルギーを生成する蓄電池、当該電気エネルギーを端末装置1の各部で必要とされる適切な電圧に変換するDC/DCコンバータ、等を含んで構成される。
制御部100は、CPU(Central Processing Unit)110と、RAM(Random Access Memory)120と、ROM(Read Only Memory)130と、を含んで構成され、端末装置1の各部を統括制御するコンピュータとして機能する。
CPU110は、端末装置1の各部から入力される入力信号に応じて、ROM130に記憶された各種プログラム(プログラムコード)を実行するとともに、実行に係るプログラムに基づいて各部に出力信号を出力することにより、端末装置1の動作全般を統括制御する。具体的には、CPU110は、通信モジュール部10の駆動制御、操作部40が操作された際の各種操作信号に対する実行制御、表示部50を介した画像の表示制御、音声出力部55を介した音声出力制御などを行う。
RAM120は、CPU110によって実行される処理プログラムなどを展開するためのプログラム格納領域や、入力データや上記処理プログラムが実行される際に生じる処理結果などを一次的に格納するためのデータ格納領域などを備える。具体的には、RAM120は、CPU110が表示部50に表示制御するための文字列、CPU110が処理プログラムを実行する際に使用するフラグの現在値(0:正常値、−1:エラー値、1:通信終了値)、自機1aに現在設定されているモード(送信モード又は受信モード)、加速度センサ31にて検出された加速度及び角速度検出センサ32にて検出された角速度、等を記憶する。
ROM130は、例えば、端末装置1で実行可能なシステムプログラムや、当該システムプログラムで実行可能な各種処理プログラム、上記処理プログラムを実行する際に使用されるデータなどを記憶する。具体的には、ROM130は、表示部50や音声出力部55に出力する各種文字列や音声、通信処理内容に係る初期化処理の実行時の設定値、機能識別コードテーブル131と、動作パターンテーブル132と、端末装置1の属する通信グループを識別するためのグループ識別コードGと、通信相手検索プログラムと、姿勢/動作取得プログラムと、通信処理プログラムと、などを記憶する。
次に、ROM130に記憶された通信相手検索プログラム、姿勢/動作取得プログラムについて説明する。
通信相手検索プログラムは、自機1aを通信相手1bとの通信時における送信側に設定するパターンと受信側に設定するパターンとをランダムな時間間隔で順次切換え、通信相手1bを検索する機能をCPU110に実行させるためのプログラムである。
具体的には、CPU110が通信相手検索プログラムを実行すると、図4に示すように、通信モジュール部10を介して、予めROM130に記憶されたランダム係数に基づくランダムな時間間隔で、送信モードに設定するパターンと受信モードに設定するパターンと、を順次切換える。そして、自機1aが送信モードで且つ通信相手1bが受信モードに設定されているタイミングT1や、自機1aが受信モードで且つ通信相手1bが送信モードに設定されているタイミングT2において、通信モジュール部10による応答要求信号及び応答信号の送受信が可能になるので、通信相手1bの検索が成功する(通信状態が確立される)こととなる。なお、上記ランダムな切換えにより自機1a及び通信相手1bに設定される送信モード/受信モードは、通信状態を確立するための一時設定であり、通信処理実行時において自機1a及び通信相手1bの何れを送信モード/受信モードとするかは、通信処理プログラムの実行時に決定される。
姿勢/動作取得プログラムは、センサ部30より検出される端末装置1の加速度及び角速度に基づいて、端末装置1の姿勢/動作を取得する機能をCPU110に実行させるプログラムである。
具体的には、CPU110は、ユーザにより端末装置1が傾斜された状態で、角速度検出センサ32よりヨー方向,ローリング方向,ピッチング方向,それぞれの角速度を取得する。そして、CPU110は、当該角速度に基づいて、端末装置1の姿勢を姿勢変化量Θx,Θy,Θzとして導出する。この姿勢変化量は、例えば、Θの添え字以外の2軸(例えば、添え字がzの場合、XY軸)が形成する平面からの端末装置1の傾斜角(°)を表し、当該2軸回りそれぞれの傾斜角の平均等により取得する。具体的には、図5に示すように、Θzは、XY軸が形成する平面からの端末装置1の傾斜角であり、時計回りに(端末装置1が底面側から上面側に向かって)傾斜した場合を正方向(0°〜180°)、反時計回りに(端末装置1が上面側から底面側に向かって)傾斜した場合を負方向(0°〜−180°)とする。そのため、CPU110は、|90°|<Θz≦|180°|の範囲にあるときに端末装置1が下向きの姿勢、|0°|≦Θz<|90°|の範囲にあるときに端末装置1が上向きの姿勢、と判断できる。
次に、CPU110は上記特定(導出)した端末装置1の姿勢を基準として、ユーザにより端末装置1がX,Y,Z軸方向へ並進移動された又はヨー方向(Z軸回り)に回転された場合の加速度及び角速度を加速度センサ31及び角速度検出センサ32より取得する。そして、CPU110は、取得した加速度及び角速度に基づいて所定の演算処理を行い、上記特定した端末装置1の姿勢を基準とするX,Y,Z軸方向への並進移動した量を示す並進動作量Mx,My,Mz(m/s)及びヨー方向へ回転移動した量を示す回転動作量Mr(°/s)を端末装置1の動作として導出(取得)する。
次に、ROM130に記憶された機能識別コードテーブル131と、動作パターンテーブル132と、について説明する。
機能識別コードテーブル131は、図6の001〜111で示す複数の機能識別コードKを備えたテーブルである。
上記001〜111のそれぞれの機能識別コードKは、機能識別コードテーブル131の1段目及び2段目に示すように、端末装置1の姿勢に基づいて当該端末装置1を送信モードと受信モードの何れかに設定する処理をCPU110が実行するか否か、及び、端末装置1の動作に基づいて通信処理内容をCPU110が判断するか否か、により分類したコードである。
ここで、図6の2段目において、「自機・通信相手の両方」とは、自機1aと通信相手1bの双方の動作に基づいてCPU110が通信処理内容を判断することを指し、「自機1a・通信相手1bの片方のみ」とは、自機1aと通信相手1bの何れか一方(送信モードに設定された端末装置1)の動作に基づいてCPU110が通信処理内容を判断することを指す。
また、図6の3段目において、許容される動作識別コードAとは、001〜111の各機能識別コードKで許容される端末装置1の動作を識別するためのコードであり、4ビット(0000〜1111)にて表現される。ここで、先頭のビットは端末装置1をヨー方向に回転させる動作(回転動作量Mrに対応するZ軸回りに回転させる動作)、次のビットは端末装置1をZ軸方向に並進移動させる動作(並進動作量Mzに対応するZ軸方向に振る動作)、次のビットは端末装置1をY軸方向に並進移動させる動作(並進動作量Myに対応するY軸方向に振る動作)、末尾のビットは端末装置1をX軸方向に並進移動させる動作(並進動作量Mxに対応するX軸方向に振る動作)、をそれぞれ実行する/しない(ビット値:1/0)を表す。
そして、自機1aが通信相手1bと通信を行う際に、予めユーザが操作部40を介して、当該機能識別コードテーブル131に備わる機能識別コードKより一の機能識別コードKを指定するように構成される。なお、CPU110により、予め特定の機能識別コードKが指定されるように構成しても勿論よい。また、機能識別コードKは複数指定してもよく、全ての機能識別コードKを指定しても、敢えて機能を制限する等のために選択的に幾つか複数指定するとしてもよい。
さらに、機能識別コードKと当該機能識別コードKにて許容される動作識別コードAの組み合わせ(動作パターン)、及び、ユーザによる端末装置1に対する傾斜や動作に基づいて、当該動作パターンが後述の通信処理プログラムの実行により特定された場合に行うCPU110の通信処理の内容と、が図7の動作パターンテーブル132に記載されている。なお、動作パターンテーブル132の動作識別コードAの欄に記載された動作(X,Y,Z,R)は、各々の動作識別コードAに係る動作の種類であり、それぞれ、X,Y,Z軸方向への並進移動動作,ヨー方向への回転移動動作を表す。
次に、当該動作パターンテーブル132の各段に該当する端末装置1の動作パターン1〜11を図8及び図9の(i)〜(xi)に例示する。ここで、図8及び図9の(i)〜(xi)に示す矢印は端末装置1のX,Y,Z軸方向への並進移動,ヨー方向への回転移動を表す。
また、図9(vii)及び(viii)を除く図8及び図9の(i)〜(xi)において、便宜上送信モードに設定された端末装置1を自機1a、受信モードに設定された端末装置1を通信相手1b、としている。つまり、図8(i)〜(vi)の動作パターン1〜6のように、端末装置1の姿勢にて端末装置1を送信モードと受信モードの何れかに設定する処理を行う場合(機能識別コードKが001〜011の場合)、CPU110は、下向きの姿勢にある(上方にある)端末装置1を送信モード,上向きの姿勢にある(下方にある)端末装置1を受信モードと判断する。
一方、CPU110は、端末装置1の姿勢にて端末装置1を送信モードと受信モードの何れかに設定する処理を行わない場合、機能識別コードKが111に係る、図9(ix)〜(xi)の動作パターン9〜11のように、ユーザによる端末装置1の並進移動動作や回転動作が行われる側の端末装置1を送信モード、停止状態にある端末装置1を受信モードと設定する。また、図9(vii)の動作パターン7のように、機能識別コードKが110且つ動作識別コードAが0010において、通信処理内容がデータの同期であり、自機1aと通信相手1bの何れが送信モードでも受信モードでもよい場合、CPU110は、通信相手検索プログラムの実行時に設定した送信モード/受信モードを自機1aと通信相手1bに用いる。加えて、図9(viii)の動作パターン8のように、機能識別コードKが110且つ動作識別コードAが0100の場合、CPU110は、自機1aから見たZ軸方向への並進移動が正(Z(+))である場合、自機1aを送信モード及び通信相手1bを受信モード、自機1aから見たZ軸方向への並進移動が負(Z(−))である場合、自機1aを受信モード及び通信相手1bを送信モード、と判断する。
なお、動作パターンテーブル132の密着/近接の欄は、図8及び図9の(i)〜(xi)に例示されるように、各動作パターン1〜11が、自機1aと通信相手1bとが密着した状態(密着状態)で実現されるか近接した状態(近接状態)で実現されるかを表している。
具体的に、密着状態とは、例えば、自機1aの姿勢変化量Θx,Θy,Θz(Θxa,Θya,Θza)と、通信相手1bの姿勢変化量Θx,Θy,Θz(Θxb,Θyb,Θzb)と、の間で、||Θxa|−90°|=||Θxb|−90°|,||Θya|−90°|=||Θyb|−90°|,||Θza|−90°|=||Θzb|−90°|が成立している場合をいう。当該密着状態が成立している場合の自機1aと通信相手1bの位置関係及び姿勢変化量を、図10の密着形式1〜4に例示する。また、近接状態とは、自機1aの姿勢変化量と通信相手1bの姿勢変化量とが、密着状態における自機1a及び通信相手1b各々の姿勢変化量に予め定めた所定値を増減させた値以下の範囲(許容範囲)内にある状態をいう。一例として、当該所定値を15°とした場合の近接状態における自機1aと通信相手1bの位置関係及び姿勢変化量を、図11の近接形式1〜4に例示する。
次に、ROM130に記憶された通信処理プログラムについて説明する。
通信処理プログラムは、センサ部30により検出される端末装置1の姿勢や動作に基づいて動作パターンを特定し、当該特定した動作パターンに応じた通信処理内容にて通信相手1bと通信させる機能をCPU110に実行させるプログラムである。
具体的には、CPU110は、ユーザにより端末装置1が傾斜され、X,Y,Z軸方向へ並進移動やヨー方向(Z軸回り)へ回転されると、姿勢/動作取得プログラムの実行により、センサ部30より検出される端末装置1の加速度及び角速度に基づいて、姿勢変化量Θx,Θy,Θz、及び動作量(並進動作量Mx,My,Mz,回転動作量Mr)を取得する。
そして、CPU110は、予め指定された動作識別コードKが110又は111の場合、上述のように、取得された並進動作量Mx,My,Mz,回転動作量Mrに基づいて、当該端末装置1を送信モードと受信モードの何れかに設定し、動作識別コードKが001〜011の場合、姿勢変化量Θzに基づいて端末装置1が上向きの姿勢であるか下向きの姿勢であるかを判断することで、当該端末装置1を送信モードと受信モードの何れかに設定する。
さらに、CPU110は、例えば、回転動作量Mrが予め定めた回転動作量Dr(°/s)を上回るか否か(つまり、上記基準とする端末装置1の姿勢より予め定めた時間内に予め定めた量以上の回転を行っているか否か)を判断し、回転動作量Mrが回転動作量Dr以上の場合に、ヨー方向への回転動作がユーザになされたと判断する。加えて、CPU110は、回転動作がユーザになされていないと判断した場合、並進動作量Mx,My,Mzの絶対値の中で最大値をとるものを特定することで、XYZ軸方向の何れかの方向への並進移動動作がユーザになされたと判断する。そして、CPU110は、当該判断結果に基づいて、0000〜1111の中から一の動作識別コードAを特定する。
次に、CPU110は、動作パターンテーブル132を参照し、動作パターン1〜11の中から当該特定した動作識別コードAと予め指定された機能識別コードKとの組み合わせに該当する動作パターンを特定する。そして、CPU110は、特定した動作パターンに該当する通信処理内容を抽出し、通信モジュール部10を介して当該通信処理内容に応じた通信処理信号を送受信することで通信相手1bとの通信を行う。なお、動作パターン2,3,7,8の場合、自機1aが送信モードに設定されると、CPU110は、通信相手1bより当該通信相手1bの動作量を通信モジュール部10を介して取得し、自機1aの動作量及び通信相手1bの動作量の双方に基づいて(つまり、双方の動作量の差異が予め定められた所定値以下である場合に)動作パターンの特定を行う。また、動作パターン4〜6,9〜11の場合、通信相手1bより当該通信相手1bの動作量を通信モジュール部10を介して取得し、通信相手1bの動作量に基づいて当該通信相手1bが停止状態(つまり、並進動作量Mx,My,Mz,回転動作量Mrが全て予め定められた所定値以下である)と判断されると、自機1aの動作量に基づいて動作パターンの特定を行う。
「通信状態確立処理」
次に、本実施形態に係る端末装置1による通信状態確立処理について図12のフローチャートを用いて説明する。
まず、ユーザが操作部40を介して通信開始操作を行うと、CPU110は通信相手検索プログラムを実行し、自機1aを送信モードに設定する(ステップS1)。
次いで、CPU110は、通信モジュール部10を介して応答要求信号を送信し、受信モードに設定された通信相手1bを検索する(ステップS2)。
次いで、CPU110は、受信モードに設定された通信相手1bより応答処理信号を受信したか否かにより通信相手1bの検索に成功したか否かを判断し(ステップS3)、通信相手1bの検索に成功したと判断した場合(ステップS3;Yes)、ステップS9の処理へ移行する。
一方で、CPU110は、ステップS3にて通信相手1bの検索に成功していないと判断した場合(ステップS3;No)、受信モードへの切換えのタイミングか否かを判断し(ステップS4)、切換えのタイミングでないと判断した場合(ステップS4;No)、ステップS3以降の処理を繰り返す。
次いで、CPU110は、ステップS4にて受信モードへの切換えのタイミングであると判断した場合(ステップS4;Yes)、自機1aを受信モードに設定する(ステップS5)。
次いで、CPU110は、通信モジュール部10を介して応答要求信号を受信可能な状態にして、送信モードに設定された通信相手1bを検索する(ステップS6)。
次いで、CPU110は、送信モードに設定された通信相手1bより応答要求信号を受信したか否かにより通信相手1bの検索に成功したか否かを判断し(ステップS7)、通信相手1bの検索に成功したと判断した場合(ステップS7;Yes)、当該通信相手1bへ応答信号を送信し、ステップS9の処理へ移行する。
一方で、CPU110は、ステップS7にて通信相手1bの検索に成功していないと判断した場合(ステップS7;No)、送信モードへの切換えのタイミングか否かを判断し(ステップS8)、切換えのタイミングでないと判断した場合(ステップS8;No)、ステップS7以降の処理を繰り返す。また、CPU110は、ステップS8にて切換えのタイミングであると判断した場合(ステップS8;Yes)、ステップS1以降の処理を繰り返す。
そして、ステップS3又はステップS7にて通信相手1bの検索に成功したと判断した場合(ステップS3;Yes、ステップS7;Yes)、ステップS1にて設定された送信モード又はステップS5にて設定された受信モードを、自機1aの一時的な現在のモードとして決定し(ステップS9)、本処理を終了する。
「機能確認処理」
次に、本実施形態に係る端末装置1による機能確認処理について図13(i)(ii)のフローチャートを用いて説明する。ここで、図13(i)は、通信状態確立処理にて自機1aが送信モード(通信相手1bが受信モード)に一時的に設定されている場合の処理を、図13(ii)は、通信状態確立処理にて自機1aが受信モード(通信相手1bが送信モード)に一時的に設定されている場合の処理を、それぞれ示す。なお、以下の説明で、添え字sが付されたものは送信モード側であることを、添え字rが付されたものは受信モード側であることを、便宜的に示す。
(送信モードの処理)
まず、図13(i)に示すように、ユーザが操作部40を介して、機能識別コードテーブル131の中から一の機能識別コードKsを指定し、動作識別コードAs(当該指定した機能識別コードKsで許容される動作識別コードAsの何れか)を選択すると、CPU110は、ROM130より自機1aのグループ識別コードGsを取得し、機能識別コードKsと動作識別コードAsとグループ識別コードGsとで構成されるコード列KsAsGsの設定を行う(ステップS21)。
なお、機能識別コードKsはユーザが指定/入力する場合に限られず、CPU110が予め指定された機能識別コードKsを機能識別コードテーブル131より抽出する構成であっても勿論よい。
次いで、CPU110は、通信モジュール部10を介してステップS1にて設定したコード列KsAsGsを受信モードの通信相手1bに送信する(ステップS22)。
次いで、CPU110は、後述するステップS50にて受信モードの通信相手1bより送信されるコード列KrArGr(受信モードの通信相手1bに設定されたコード列)が受信できたか否かを判断し(ステップS23)、受信できていないと判断する場合(ステップS23;No)、受信されるまで待機する。
一方で、CPU110は、ステップS23にて受信できたと判断した場合(ステップS23;Yes)、グループ識別コードGsとグループ識別コードGrが一致するか否かを判断する(ステップS24)。
そして、CPU110は、ステップS24にて一致しないと判断した場合(ステップS24;No)、音声出力部55を介してエラー音を出力し(ステップS25)、自機1aと通信相手1bとでグループが相違する旨を表示部50にてエラー画面として表示し(ステップS26)、ステップS30の処理へ移行する。
一方で、CPU110は、ステップS24にて一致すると判断した場合(ステップS24;Yes)、機能識別コードKs及び動作識別コードAsと、機能識別コードKr及び動作識別コードArと、が一致するか否かを判断する(ステップS27)。そして、CPU110は、ステップS27にて一致しないと判断した場合(ステップS27;No)、音声出力部55を介してエラー音を出力し(ステップS28)、自機1aと通信相手1bとで機能又は動作が相違する旨を表示部50にてエラー画面として表示する(ステップS29)。そして、CPU110は、一定時間が経過又はユーザにより操作部40を介してエラー状態の解除の操作が行われた後(ステップS30)、本処理を終了し再び「通信状態確立処理」を実行する。
また、CPU110は、ステップS27にて一致すると判断した場合(ステップS27;Yes)、音声出力部55を介して通信開始のメロディ音を出力し(ステップS31)、通信開始の旨を表示部50にて表示し(ステップS32)、フラグを正常状態を表す0に設定し(ステップS33)、本処理を終了する。
(受信モードの処理)
まず、図13(ii)に示すように、CPU110は、ステップS22にて送信されるコード列KsAsGsを受信出来たか否かを判断し(ステップS41)、受信出来ていないと判断した場合(ステップS41;No)、受信されるまで待機する。
一方で、CPU110は、ステップS41にて受信出来たと判断した場合(ステップS41;Yes)、ROM130より自機1aのグループ識別コードGrを取得し、グループ識別コードGsと一致するか否かを判断する(ステップS42)。
そして、CPU110は、ステップS42にて一致すると判断した場合(ステップS42;Yes)、機能識別コードテーブル131の中から機能識別コードKsに一致する機能識別コードKrが存在するか否かを判断し、且つ、一致する機能識別コードKrが存在する場合に、機能識別コードKrで許容される動作識別コードArに動作識別コードAsと一致するものが存在するか否かを判断することで、KsAsと一致するKrArが存在するか否かを判断する(ステップS43)。
次いで、CPU110は、ステップS43にてKsAsと一致するKrArが存在すると判断する場合(ステップS43;Yes)、ステップS42にて一致すると判断したグループ識別コードGr及びステップS43にて一致すると判断したKrArにより、コード列KrArGrを生成する(ステップS44)。そして、CPU110は、フラグを正常状態を表す0に設定し(ステップS45)、ステップS50の処理へ移行する。
一方で、CPU110は、ステップS43にてKsAsと一致するKrArが存在しないと判断する場合(ステップS43;No)、KrArにエラー値を代入してコード列KrArGr(GrはGsに一致する値)を生成する(ステップS46)。そして、CPU110は、フラグをエラー状態を表す−1に設定し(ステップS47)、ステップS50の処理へ移行する。
次いで、CPU110は、ステップS42にて一致しないと判断した場合(ステップS42;No)、KrArGrにエラー値を代入してコード列KrArGrを生成する(ステップS48)。そして、CPU110は、フラグをエラー状態を表す−1に設定する(ステップS49)。
次いで、CPU110は、ステップS44,S46,S48にて生成したコード列KrArGrを送信モードの通信相手1bに送信する(ステップS50)。次いで、CPU110は、フラグが0であるか否かを判断し(ステップS51)、フラグが0でないと判断した場合(ステップS51;No)、音声出力部55を介してエラー音を出力し(ステップS52)、エラー状態にある旨を一定時間表示部50にてエラー画面として表示する(ステップS53)。そして、一定時間が経過又はユーザにより操作部40を介してエラー状態の解除の操作が行われた後(ステップS54)、本処理を終了し再び「通信状態確立処理」を実行する。一方で、CPU110は、フラグが0であると判断した場合(ステップS51;Yes)、通信開始の旨を表示部50にて表示し(ステップS55)、本処理を終了する。
なお、ステップS27やステップS43では、機能識別コードKsと機能識別コードKrとが完全に一致することを判断条件としているが、図14に示すように、CPU110が、機能識別コードKsと機能識別コードKrとが相違する場合でも、何れか一方の機能識別コードの値に準じて機能識別コードKsと機能識別コードKrとが一致すると判断するような構成としてもよい。
「通信実行処理」
次に、本実施形態に係る端末装置1による通信実行処理について図15のフローチャートを用いて説明する。
まず、CPU110は、現在設定されているフラグが0であるか否かを判断し(ステップS101)、0でない(フラグがエラー状態を示す−1や通信終了状態を示す1である)と判断した場合(ステップS101;No)、本処理を終了する。
一方で、CPU110は、ステップS101にて0であると判断した場合(ステップS101;Yes)、機能識別コードKの1桁目が0であるか否かを判断(つまり、端末装置1の姿勢に基づいて送信モードと受信モードの何れかに設定する処理をCPU110が実行するか否かを判断)する(ステップS102)。
そして、CPU110は、ステップS102にて機能識別コードKの1桁目が0でないと判断した場合(ステップS102;No)、後述する「第2動作判断処理」を実行し(ステップS103)、ステップS101以降の処理を繰り返す。
一方で、CPU110は、ステップS102にて機能識別コードKの1桁目が0であると判断した場合(ステップS102;Yes)、姿勢/動作取得プログラムの実行により自機1aの姿勢変化量Θx,Θy,Θzを取得する(ステップS104)。
次いで、CPU110は、ステップS9にて決定された現在のモードが送信モードか否かを判断する(ステップS105)。
次いで、CPU110は、ステップS105にて現在のモードが送信モードと判断した場合(ステップS105;Yes)、受信モードの通信相手1bより当該通信相手1bの姿勢変化量Θx,Θy,Θzを通信モジュール部10を介して取得する(ステップS106)。
次いで、CPU110は、ステップS104にて取得した自機1aの姿勢変化量Θx,Θy,Θzと、ステップS106にて取得した通信相手1bの姿勢変化量Θx,Θy,Θzと、を比較し(ステップS107)、比較結果の差異が許容範囲内にあるか否かを判断する(ステップS108)。
そして、CPU110は、ステップS108にて許容範囲内に無いと判断した場合(ステップS108;No)、音声出力部55を介してエラー音を出力し(ステップS109)、自機1aと通信相手1bとの姿勢が許容範囲内に無い旨を表示部50にてエラー画面として表示する(ステップS110)。そして、CPU110は、一定時間が経過又はユーザにより操作部40を介してエラー状態の解除の操作が行われた後(ステップS111)、本処理を終了し、再び「通信状態確立処理」を実行する。
一方で、CPU110は、ステップS108にて許容範囲内にあると判断した場合(ステップS108;Yes)、自機1aの姿勢変化量Θzが90°<|Θz|≦180°の範囲(下向きの姿勢)にあり、且つ、通信相手1bの姿勢変化量Θzが0°≦|Θz|<90°の範囲(上向きの姿勢)にあるか否かを判断する(ステップS112)。
そして、CPU110は、ステップS112にて自機1aが下向きの姿勢且つ通信相手1bが上向きの姿勢にあると判断した場合(ステップS112;Yes)、自機1aを送信モードに確定し(ステップS113)、通信相手1bへ受信モードに確定させるための指示信号を送信する(ステップS114)。次いで、CPU110は、後述する「第1動作判断処理」(ステップS115)及び「送信モード処理」(ステップS116)を実行し、ステップS101以降の処理を繰り返す。
一方で、CPU110は、ステップS112にて自機1a及び通信相手1bの姿勢変化量Θzが上記範囲に無いと判断した場合(ステップS112;No)、自機1aの姿勢変化量Θzが0°≦|Θz|<90°の範囲(上向きの姿勢)にあり、且つ、通信相手1bの姿勢変化量Θzが90°≦|Θz|<180°の範囲(下向きの姿勢)にあるか否かを判断する(ステップS117)。
そして、ステップS117にて自機1a及び通信相手1bの姿勢変化量Θzが上記範囲にあると判断した場合(ステップS117;Yes)、通信相手1bへ送信モードに切換えさせるための指示信号を送信し(ステップS118)、自機1aを受信モードに切換える処理を実行する(ステップS119)。次いで、CPU110は、後述する「第1動作判断処理」(ステップS120)及び「受信モード処理」(ステップS121)を実行し、ステップS101以降の処理を繰り返す。
また、ステップS117にて自機1a及び通信相手1bの姿勢変化量Θzが上記範囲に無いと判断した場合(ステップS117;No)、音声出力部55を介してエラー音を出力し(ステップS122)、自機1aと通信相手1bとの姿勢により送信/受信モードが判断できない旨を表示部50にてエラー画面として表示する(ステップS123)。そして、CPU110は、一定時間が経過又はユーザにより操作部40を介してエラー状態の解除の操作が行われた後(ステップS124)、本処理を終了し、再び「通信状態確立処理」を実行する。
次いで、CPU110は、ステップS105にて現在のモードが送信モードでない(受信モードである)と判断した場合(ステップS105;No)、送信モードの通信相手1bへ自機1aの姿勢変化量Θx,Θy,Θzを通信モジュール部10を介して送信する(ステップS125)。
次いで、CPU110は、通信相手1bより受信モードに確定の指示信号を受信したか否かを判断する(ステップS126)。
そして、CPU110は、ステップS126にて指示信号を受信したと判断する場合(ステップS126;Yes)、後述する「第1動作判断処理」(ステップS127)及び「受信モード処理」(ステップS128)を実行し、ステップS101以降の処理を繰り返す。
一方で、CPU110は、ステップS126にて指示信号を受信していないと判断する場合(ステップS126;No)、送信モードに切換えさせるための指示信号の受信を待って、自機1aを送信モードに切換える処理を実行する(ステップS129)。そして、CPU110は、後述する「第1動作判断処理」(ステップS130)及び「送信モード処理」(ステップS131)を実行し、ステップS101以降の処理を繰り返す。
「第1動作判断処理」
次に、本実施形態に係る端末装置1による第1動作判断処理について図16及び図17のフローチャートを用いて説明する。
まず、CPU110は、機能識別コードKが001であるか否かを判断し(ステップS201)、001であると判断した場合(ステップS201;Yes)、自機1aが送信モードであるか否かを判断する(ステップS202)。そして、CPU110は、ステップS202にて送信モードであると判断した場合(ステップS202;Yes)、動作パターン1の通信処理内容で通信処理信号を生成し(ステップS203)、本処理を終了する。また、CPU110は、ステップS202にて送信モードでない(受信モードである)と判断した場合(ステップS202;No)、本処理を終了する。
次いで、CPU110は、ステップS201にて機能識別コードKが001でないと判断した場合(ステップS201;No)、機能識別コードKが010であるか否かを判断し(ステップS204)、010であると判断した場合(ステップS204;Yes)、自機1aの動作量(並進動作量Mx,My,Mz、回転動作量Mr)を取得する(ステップS205)。
次いで、CPU110は、自機1aが送信モードであるか否かを判断する(ステップS206)。そして、CPU110は、ステップS206にて送信モードであると判断した場合(ステップS206;Yes)、通信相手1bより当該通信相手1bの動作量(並進動作量Mx,My,Mz、回転動作量Mr)を取得する(ステップS207)。
次いで、CPU110は、自機1aの動作量と通信相手1bの動作量とを比較し(ステップS208)、比較結果の差異が予め定められた許容範囲以内か否か(自機1aと通信相手1bが同じ動作を行っているか否か)を判断する(ステップS209)。そして、CPU110は、ステップS209にて許容範囲以上と判断した場合(ステップS209;No)、ステップS205以降の処理を繰り返す。一方で、CPU110は、ステップS209にて許容範囲以内と判断した場合(ステップS209;Yes)、回転動作量|Mr|が予め定めた回転動作量Drを上回るか否かを判断する(ステップS210)。
そして、CPU110は、ステップS210にて上回ると判断した場合(ステップS210;Yes)、動作パターン3の通信処理内容で通信処理信号を生成し(ステップS211)、本処理を終了する。
一方で、CPU110は、ステップS210にて下回ると判断した場合(ステップS210;No)、並進動作量|Mx|,|My|,|Mz|中で最大値をとるものが並進動作量|Mx|であるか否かを判断する(ステップS212)。
そして、CPU110は、ステップS212にて並進動作量|Mx|であると判断した場合(ステップS212;Yes)、動作パターン2の通信処理内容で通信処理信号を生成し(ステップS213)、本処理を終了する。
一方で、CPU110は、ステップS212にて並進動作量|Mx|でないと判断した場合(ステップS212;No)、音声出力部55を介してエラー音を出力し(ステップS214)、動作パターンが特定できない旨を表示部50にてエラー画面として表示する(ステップS215)。そして、CPU110は、一定時間が経過又はユーザにより操作部40を介してエラー状態の解除の操作が行われた後(ステップS216)、本処理を終了し、再び「通信状態確立処理」を実行する。
次いで、CPU110は、ステップS206にて自機1aが送信モードでない(受信モードである)と判断した場合(ステップS206;No)、通信相手1bへ自機1aの動作量を送信し(ステップS217)、本処理を終了する。
次いで、CPU110は、ステップS204にて機能識別コードKが010でない(011である)と判断した場合(ステップS204;No)、自機1aの動作量を取得する(ステップS218)。
次いで、CPU110は、自機1aが送信モードであるか否かを判断する(ステップS219)。そして、CPU110は、ステップS219にて送信モードであると判断した場合(ステップS219;Yes)、通信相手1bより当該通信相手1bの動作量を取得し(ステップS220)、通信相手1bの動作量(並進動作量Mx,My,Mz、回転動作量Mr)が全て予め定められた所定値以下であるか否か(つまり、通信相手1bが停止状態にあるか否か)を判断する(ステップS221)。そして、CPU110は、ステップS221にて所定値以下でないと判断した場合(ステップS221;No)、ステップS228以降の処理へ進む。
一方で、CPU110は、ステップS221にて所定値以下であると判断した場合(ステップS221;Yes)、自機1aの回転動作量|Mr|が予め定めた回転動作量Drを上回るか否かを判断する(ステップS222)。
次いで、CPU110は、ステップS222にて上回ると判断した場合(ステップS222;Yes)、動作パターン6の通信処理内容で通信処理信号を生成し(ステップS223)、本処理を終了する。
一方で、CPU110は、ステップS222にて下回ると判断した場合(ステップS222;No)、並進動作量|Mx|,|My|,|Mz|の絶対値の中で最大値をとるものを判断する(ステップS224)。
そして、CPU110は、ステップS224にて並進動作量|Mx|であると判断した場合(ステップS224;1.|Mx|)、動作パターン4の通信処理内容で通信処理信号を生成し(ステップS225)、本処理を終了する。一方、CPU110は、ステップS224にて並進動作量|My|であると判断した場合(ステップS224;2.|My|)、動作パターン5の通信処理内容で通信処理信号を生成し(ステップS226)、本処理を終了する。さらに、CPU110は、ステップS224にて並進動作量|Mz|であると判断した場合(ステップS224;3.|Mz|)、ステップS228以降の処理へ移行する。
次いで、CPU110は、ステップS219にて受信モードであると判断した場合(ステップS219;No)、自機1aの動作量が全て予め定められた所定値以下であるか否か(つまり、自機1aが停止状態にあるか否か)を判断する(ステップS227)。そして、CPU110は、ステップS227にて全て予め定められた所定値以下であると判断した場合(ステップS227;Yes)、自機1aが停止状態であるとして本処理を終了する。一方、CPU110は、ステップS227にて全て予め定められた所定値以下でないと判断した場合(ステップS227;No)、音声出力部55を介してエラー音を出力し(ステップS228)、動作パターンが特定できない旨を表示部50にて表示する(ステップS229)。そして、CPU110は、一定時間が経過又はユーザにより操作部40を介してエラー状態の解除の操作が行われた後(ステップS230)、本処理を終了し、再び「通信状態確立処理」を実行する。
「送信モード処理」
次に、本実施形態に係る端末装置1による送信モード(イニシエータモード)処理について図18のフローチャートを用いて説明する。
まず、CPU110は、受信モードの通信相手1bに対して通信処理信号を送信する(ステップS301)。
次いで、CPU110は、ステップS301にて送信した通信処理信号に対する応答処理信号を通信相手1bより受信したか否かを判断する(ステップS302)。
そして、CPU110は、ステップS302にて受信したと判断した場合(ステップS302;Yes)、フラグを通信終了状態を示す1に設定し(ステップS303)、応答処理信号を解析して通信が成功しているか否かを判断する(ステップS304)。
次いで、CPU110は、ステップS304にて通信が成功したと判断する場合(ステップS304;Yes)、音声出力部55を介して通信正常終了のメロディ音を出力し(ステップS305)、通信正常終了の旨を表示部50にて表示し(ステップS306)、本処理を終了する。一方で、CPU110は、ステップS304にて通信が失敗したと判断する場合(ステップS304;No)、ステップS308以降の処理へ移行する。
一方で、CPU110は、ステップS302にて受信していないと判断した場合(ステップS302;No)、ステップS301に係る通信処理信号の送信の開始より所定時間が経過し、タイムアウト状態であるか否かを判断する(ステップS307)。そして、CPU110は、ステップS307にてタイムアウト状態でないと判断した場合(ステップS307;No)、ステップS302以降の処理を繰り返す。一方で、CPU110は、ステップS307にてタイムアウト状態であると判断した場合(ステップS307;Yes)、音声出力部55を介してエラー音を出力し(ステップS308)、通信エラーが発生した旨を表示部50にてエラー画面として表示する(ステップS309)。そして、CPU110は、一定時間が経過又はユーザにより操作部40を介してエラー状態の解除の操作が行われた後(ステップS310)、本処理を終了し、再び「通信状態確立処理」を実行する。
「受信モード処理」
次に、本実施形態に係る端末装置1による受信モード(ターゲットモード)処理について図19のフローチャートを用いて説明する。
まず、CPU110は、送信モードの通信相手1bより通信処理信号を受信したか否かを判断する(ステップS401)。
そして、CPU110は、ステップS401にて受信したと判断した場合(ステップS401;Yes)、フラグを通信終了状態を示す1に設定し(ステップS402)、通信処理信号を解析して通信が成功しているか否かを判断する(ステップS403)。
次いで、CPU110は、ステップS403にて通信が成功したと判断する場合(ステップS403;Yes)、通信正常終了の応答処理信号を生成して通信相手1bに送信し(ステップS404)、本処理を終了する。一方で、CPU110は、ステップS403にて通信が失敗したと判断する場合(ステップS403;No)、ステップS406以降の処理へ移行する。
一方で、CPU110は、ステップS401にて受信していないと判断した場合(ステップS401;No)、通信処理信号の受信の開始より所定時間が経過し、タイムアウト状態であるか否かを判断する(ステップS405)。そして、CPU110は、ステップS405にてタイムアウト状態でないと判断した場合(ステップS405;No)、ステップS401以降の処理を繰り返す。一方で、CPU110は、ステップS405にてタイムアウト状態であると判断した場合(ステップS405;Yes)、異常終了の応答処理信号を生成して通信相手1bに送信し(ステップS406)、再び「通信状態確立処理」を実行する。
「第2動作判断処理」
次に、本実施形態に係る端末装置1による第2動作判断処理について図20及び図21のフローチャートを用いて説明する。
まず、CPU110は、機能識別コードKが110であるか否かを判断し(ステップS501)、110であると判断した場合(ステップS501;Yes)、自機1aの動作量(並進動作量Mx,My,Mz、回転動作量Mr)を取得する(ステップS502)。
次いで、CPU110は、自機1aが送信モードであるか否かを判断する(ステップS503)。そして、CPU110は、ステップS503にて送信モードであると判断した場合(ステップS503;Yes)、通信相手1bより当該通信相手1bの動作量を取得する(ステップS504)。
次いで、CPU110は、自機1aの動作量と通信相手1bの動作量とを比較し(ステップS505)、比較結果の差異が予め定められた許容範囲以内か否か(自機1aと通信相手1bが同じ動作を行っているか否か)を判断する(ステップS506)。そして、CPU110は、ステップS506にて許容範囲以上と判断した場合(ステップS506;No)、ステップS502以降の処理を繰り返す。一方で、CPU110は、ステップS506にて許容範囲以内と判断した場合(ステップS506;Yes)、自機1aの回転動作量|Mr|が予め定めた回転動作量Drを上回るか否かを判断する(ステップS507)。
そして、CPU110は、ステップS507にて上回ると判断した場合(ステップS507;Yes)、ステップS509以降の処理を実行する。
一方で、CPU110は、ステップS507にて下回ると判断した場合(ステップS507;No)、並進動作量|Mx|,|My|,|Mz|の絶対値の中で最大値をとるものを判断する(ステップS508)。
そして、CPU110は、ステップS508にて並進動作量|Mx|であると判断した場合(ステップS508;1.|Mx|)、音声出力部55を介してエラー音を出力し(ステップS509)、動作パターンが特定できない旨をエラー画面として表示部50にて表示する(ステップS510)。そして、CPU110は、一定時間が経過又はユーザにより操作部40を介してエラー状態の解除の操作が行われた後(ステップS511)、本処理を終了し、再び「通信状態確立処理」を実行する。
一方、CPU110は、ステップS508にて並進動作量|My|であると判断した場合(ステップS508;2.|My|)、動作パターン7の通信処理内容で通信処理信号を生成し(ステップS512)、ステップS515以降の処理を実行する。
また、CPU110は、ステップS508にて並進動作量|Mz|であると判断した場合(ステップS508;3.Mz)、並進動作量Mzが正の値であるか否か(つまり、自機1aが通信相手1b側へ向かう動作を行っているか否か)を判断する(ステップS513)。
そして、CPU110は、ステップS513にて並進動作量Mzが正の値と判断した場合(ステップS513;Yes)、動作パターン8の通信処理内容で通信処理信号を生成し(ステップS514)、「送信モード処理」を実行して(ステップS515)、本処理を終了する。
一方で、CPU110は、ステップS513にて並進動作量Mzが負の値と判断した場合(ステップS513;No)、通信相手1bへ送信モードに切換えさせるための指示信号を送信し(ステップS516)、自機1aを受信モードに切換える処理を実行する(ステップS517)。次いで、CPU110は、「受信モード処理」を実行して(ステップS518)、本処理を終了する。
次いで、CPU110は、ステップS503にて送信モードでない(受信モードである)と判断した場合(ステップS503;No)、通信相手1bへ自機1aの動作量を送信する(ステップS519)。
そして、CPU110は、通信相手1bより送信モードへの切換えの指示信号を受信したか否かを判断し(ステップS520)、受信していないと判断した場合(ステップS520;No)、「受信モード処理」を実行して(ステップS521)、本処理を終了する。
一方で、CPU110は、ステップS520にて受信したと判断した場合(ステップS520;Yes)、自機1aを送信モードに切換える処理を実行する(ステップS522)。
そして、CPU110は、動作パターン8の通信処理内容で通信処理信号を生成し(ステップS523)、「送信モード処理」を実行して(ステップS524)、本処理を終了する。
次いで、CPU110は、機能識別コードKが110でない(111である)と判断した場合(ステップS501;No)、自機1aの動作量(並進動作量Mx,My,Mz、回転動作量Mr)を取得する(ステップS525)。
次いで、CPU110は、自機1aが送信モードであるか否かを判断する(ステップS526)。そして、CPU110は、ステップS526にて送信モードであると判断した場合(ステップS526;Yes)、通信相手1bより当該通信相手1bの動作量を取得する(ステップS527)。
次いで、CPU110は、自機1aの動作量と通信相手1bの動作量とを比較し(ステップS528)、動作量(並進動作量Mx,My,Mz、回転動作量Mr)が全て予め定められた所定値以下であるのが自機1aか通信相手1bかを判断(つまり、自機1aと通信相手1bとで何れが停止状態にあるのか)を判断する(ステップS529)。
そして、CPU110は、ステップS529にて自機1a及び通信相手1bの何れでもないと判断した場合(ステップS529;1.何れでもない)、音声出力部55を介してエラー音を出力し(ステップS530)、動作パターンが特定できない旨を表示部50にてエラー画面として表示する(ステップS531)。そして、CPU110は、一定時間が経過又はユーザにより操作部40を介してエラー状態の解除の操作が行われた後(ステップS532)、本処理を終了し、再び「通信状態確立処理」を実行する。
また、CPU110は、ステップS529にて自機1aであると判断した場合(ステップS529;2.自機)、通信相手1bへ送信モードに切換えさせるための指示信号を送信し(ステップS533)、自機1aを受信モードに切換える処理を実行する(ステップS534)。次いで、CPU110は、「受信モード処理」を実行して(ステップS535)、本処理を終了する。
さらに、CPU110は、ステップS529にて通信相手1bであると判断した場合(ステップS529;3.通信相手)、ステップS539以降の処理に移行する。
次いで、CPU110は、ステップS526にて送信モードでない(受信モードである)と判断した場合(ステップS526;No)、通信相手1bに自機1aの動作量を送信する(ステップS536)。
次いで、CPU110は、通信相手1bより受信モードに切換えの指示信号を受信したか否かを判断する(ステップS537)。そして、CPU110は、ステップS537にて受信したと判断する場合(ステップS537;Yes)、自機1aを送信モードに切換える処理を実行する(ステップS538)。
次いで、CPU110は、自機1aの回転動作量|Mr|が予め定めた回転動作量Drを上回るか否かを判断し(ステップS539)、上回ると判断した場合(ステップS539;Yes)、動作パターン9の通信処理内容で通信処理信号を生成し(ステップS540)、ステップS544の処理へ以降する。
次いで、CPU110は、ステップS539にて下回ると判断した場合(ステップS539;No)、並進動作量|Mx|,|My|,|Mz|の中で最大値をとるものを判断する(ステップS541)。
そして、CPU110は、ステップS541にて並進動作量|Mx|であると判断した場合(ステップS541;1.|Mx|)、動作パターン10の通信処理内容で通信処理信号を生成し(ステップS542)、ステップS544の処理へ以降する。また、CPU110は、ステップS541にて並進動作量|My|であると判断した場合(ステップS541;2.|My|)、動作パターン11の通信処理内容で通信処理信号を生成し(ステップS543)、「送信モード処理」を実行して(ステップS544)、本処理を終了する。
さらに、CPU110は、ステップS541にて並進動作量|Mz|であると判断した場合(ステップS541;3.|Mz|)、音声出力部55を介してエラー音を出力し(ステップS545)、動作パターンが特定できない旨を表示部50にてエラー画面として表示する(ステップS546)。そして、CPU110は、一定時間が経過又はユーザにより操作部40を介してエラー状態の解除の操作が行われた後(ステップS547)、本処理を終了し、再び「通信状態確立処理」を実行する。
また、CPU110は、ステップS537にて受信していないと判断する場合(ステップS537;No)、「受信モード処理」を実行して(ステップS548)、本処理を終了する。
以上により、本実施形態における端末装置1によると、CPU110は、通信相手の検索が成功した場合に、センサ部30により検出される端末装置1の動作に基づいて動作パターンテーブル132より動作パターンを特定し、当該特定した動作パターンに応じた通信処理内容にて通信相手1bと通信させることができるので、ユーザは操作パネルなどを介して実施すべき通信内容を事前に設定しておく必要がない。
したがって、端末装置1及び制御部100が実行するプログラムは、ユーザにとっての利便性の高い端末装置及びプログラムといえる。
また、端末装置1において、CPU110は、通信相手1bを検索する際に、自機1aを通信相手1bとの通信時における送信モードに一時的に設定するパターンと受信モードに一時的に設定するパターンとをランダムな時間間隔で順次切換えることができる。つまり、自機1aと通信相手1bが、同じタイミングで送信モードに設定されるパターンと受信モードに設定されるパターンとを繰り返し切換えることで、通信相手1bを検索することができなくなる(通信状態が確立出来なくなる)事態を回避でき、確実に通信相手1bを検索することが可能となる。
また、端末装置1において、CPU110は、通信相手1bの検索が成功した場合、動作パターン8のように、センサ部30により検出される端末装置1の動作に基づいて、自機1aを送信モード又は受信モードに設定することができる。つまり、端末装置1によると、通信処理の実行とともにモードの設定を行うことができるので、ユーザが通信処理を実行する前にモードの設定を完了させておく手間が省かれ、一層端末装置1の利便性は向上する。
また、端末装置1において、CPU110は、通信相手1bの検索が成功した場合、動作パターン1〜6のように、センサ部30により検出される端末装置1の姿勢に基づいて、自機1aを送信モード又は受信モードに設定することができるため、ユーザはモードの設定操作に手間や時間がかからないので、一層端末装置1の利便性は向上する。
また、端末装置1において、CPU110は、通信相手1bの検索が成功し自機1aを送信モードに設定した際、通信相手1bより動作量を取得し、取得した動作量に基づいて通信相手1bが停止状態にあると判断される場合に、動作パターン4〜6や動作パターン9〜11を特定する。つまり、動作パターン2,3,7,8のように、自機1aと通信相手1bの双方を動作させてはじめて通信処理が実行される場合と比較して、送信モードの端末装置1のみを動作させることで通信処理を実行できるので、ユーザの端末装置1に対する操作の簡便性が向上する。
また、端末装置1において、CPU110は、通信相手1bの検索が成功し自機1aを送信モードに設定した際、通信相手1bより動作量を取得し、自機1aの動作量及び通信相手1bの動作量の双方に基づいて動作パターン2,3,7,8を特定する。つまり、自機1aと通信相手1bの双方を動作させてはじめて通信処理が実行されるように構成されているので、CPU110が実行する通信処理に係る通信処理内容の判別を確実に行うことが可能となる。
なお、以上の実施形態における記述は、本発明に係る好適な端末装置の一例であり、これに限定されるものではない。
また、以上の実施形態における端末装置を構成する各部の細部構成及び細部動作に関して本発明の趣旨を逸脱することのない範囲で適宜変更可能である。
例えば、上記実施形態では、加速度センサ31及び角速度検出センサ32の双方を用いて端末装置1の姿勢変化量や動作量を取得するように構成したが、例えば、動作パターン3,6,11の通信処理を実行する場合のように、並進動作量を必要としない場合は、角速度検出センサ32のみを備える構成としてもよい。
また、例えば、本実施形態では、自機及び通信相手は、別個に設けられた二台の端末装置1としているが、自機を端末装置1、通信相手を当該端末装置1と同一の機能を備えた他の装置(例えば、パーソナルコンピュータなど)としても勿論よい。さらに、動作パターン4〜6,9〜11の通信処理を実行する場合のように、通信相手の動作を把握する必要がない場合、当該通信相手をNFCカードなどとしてもよい。
また、上記実施形態において、フローチャートに記述されている各機能は、コンピュータとしての制御部100(CPU110)が読み取り可能なプログラムコードの形態で記録媒体(ROM130)に格納されており、このプログラムコードに従ったコンピュータ(制御部100)による処理動作が実行される。なお、伝送媒体を介して外部より伝送されてきた上述のプログラムコードに従ってコンピュータ(制御部100)による処理動作を実行することもでき、このような伝送媒体も含めて、本実施の形態では記録媒体と定義する。
1 端末装置
10 通信モジュール部
20 通信アンテナ
30 センサ部
31 加速度センサ
32 角速度検出センサ
40 操作部
50 表示部
55 音声出力部
60 2次記憶部
70 電源部
100 制御部
110 CPU
120 RAM
130 ROM
131 機能識別コードテーブル
132 動作パターンテーブル

Claims (6)

  1. 各種動作処理を行う端末装置であって、
    当該端末装置本体の姿勢と移動動作を検出する検出手段と、
    近距離にある相手装置を特定し、その特定された相手装置の姿勢と移動動作を取得する取得手段と、
    前記検出手段で検出した当該端末装置の移動動作と前記取得手段で取得した前記相手装置の移動動作とを比較する比較手段と、
    前記比較手段により、当該端末装置と前記相手装置との姿勢に差異があり、且つその双方の装置の動作量に差異がある場合には、その動作量の差異に応じた種類の動作内容を複数種類の動作内容の内から選択して当該端末装置における動作内容として決定する決定手段と、
    を具備したことを特徴とする端末装置。
  2. 前記取得手段は、前記相手装置の姿勢または移動動作を、その相手装置が自身の姿勢または移動動作を検出した後における当該相手装置との通信に基づいて取得する、
    ことを特徴とする請求項1記載の端末装置。
  3. 前記決定手段は、前記比較結果に基づいて当該端末装置における動作内容と共に、前記相手装置における相手動作内容をも決定する、
    ことを特徴とする請求項1又は2に記載の端末装置。
  4. 前記決定手段で決定された動作内容に基づいて当該端末装置の処理を実行する動作制御手段と、
    を更に具備したことを特徴とする請求項1〜の何れかに記載の端末装置。
  5. 前記動作制御手段は、前記決定手段で決定された当該端末装置における動作内容に対応する前記相手装置における相手動作内容で前記相手装置が処理するよう制御する、
    ことを特徴とする請求項に記載の端末装置。
  6. 各種動作処理を行う端末装置のコンピュータを制御するためのプログラムであって、
    前記コンピュータを、
    当該端末装置本体の姿勢と移動動作を検出する検出手段、
    近距離にある相手装置を特定し、その特定された相手装置の姿勢と移動動作を取得する取得手段、
    前記検出手段で検出した当該端末装置の移動動作と前記取得手段で取得した前記相手装置の移動動作とを比較する比較手段、
    前記比較手段により、当該端末装置と前記相手装置との姿勢に差異があり、且つその双方の装置の動作量に差異がある場合には、その動作量の差異に応じた種類の動作内容を複数種類の動作内容の内から選択して当該端末装置における動作内容として決定する決定手段、
    として機能させるようにしたプログラム。
JP2014096691A 2014-05-08 2014-05-08 端末装置及びプログラム Active JP5920399B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014096691A JP5920399B2 (ja) 2014-05-08 2014-05-08 端末装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014096691A JP5920399B2 (ja) 2014-05-08 2014-05-08 端末装置及びプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2010071188A Division JP5609202B2 (ja) 2010-03-26 2010-03-26 端末装置及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016013933A Division JP6119884B2 (ja) 2016-01-28 2016-01-28 端末装置、設定方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2014194798A JP2014194798A (ja) 2014-10-09
JP5920399B2 true JP5920399B2 (ja) 2016-05-18

Family

ID=51839934

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014096691A Active JP5920399B2 (ja) 2014-05-08 2014-05-08 端末装置及びプログラム

Country Status (1)

Country Link
JP (1) JP5920399B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008154004A (ja) * 2006-12-18 2008-07-03 Sony Ericsson Mobilecommunications Japan Inc 携帯端末及び情報通信方法
US8482403B2 (en) * 2007-12-12 2013-07-09 Sony Corporation Interacting with devices based on physical device-to-device contact
JP2009188764A (ja) * 2008-02-06 2009-08-20 Pfu Ltd 近距離通信方法、近距離通信システムおよび携帯端末
JP5147115B2 (ja) * 2008-03-27 2013-02-20 シャープ株式会社 システム及び端末装置
JP2010021810A (ja) * 2008-07-10 2010-01-28 Ubiquitous Entertainment Inc 無線通信ネットワークを経由したファイル転送プログラム及びファイル転送方法
KR101637939B1 (ko) * 2010-01-22 2016-07-20 삼성전자주식회사 이동통신 단말기의 동작 인식 장치 및 방법
JP5874930B2 (ja) * 2010-02-26 2016-03-02 日本電気株式会社 通信システム、通信端末、サーバ、通信方法及びプログラム

Also Published As

Publication number Publication date
JP2014194798A (ja) 2014-10-09

Similar Documents

Publication Publication Date Title
JP5609202B2 (ja) 端末装置及びプログラム
US11048399B2 (en) Electronic device and method for recognizing stylus pen
CN110829616B (zh) 用于控制与输入设备的通信连接的电子设备及其控制方法
US10814219B2 (en) Method of displaying graphic object differently according to body portion in contact with controller, and electronic device
US20220147161A1 (en) Electronic device for performing correction for stylus, and operation method therefor
EP3862841B1 (en) Electronic device and method for controlling electronic device
US20200218364A1 (en) Electronic device and method for identifying input
JP5798599B2 (ja) 無線タグ通信装置及び無線タグ通信プログラム
US20200287426A1 (en) Wireless charging alignment
US20200374604A1 (en) Sensor device and electronic device obtaining information from the sensor device
JP6119884B2 (ja) 端末装置、設定方法及びプログラム
JP5920399B2 (ja) 端末装置及びプログラム
US11039005B2 (en) Method, electronic device and storage medium for unlocking electronic device based on location
US11304064B2 (en) Method for expanding wireless communication and electronic device therefor
US20210036558A1 (en) Wireless charging device communicating with electronic device and communication method of wireless charging device
US20230333202A1 (en) Wireless power reception device displaying wireless charging range, and operating method thereof
JP6897564B2 (ja) 情報処理装置及び情報処理方法
EP2163968A2 (en) IC chip, information processing device, information processing system, and programs
EP3819748A1 (en) Method for processing input made with stylus pen and electronic device therefor
JP2010282249A (ja) アクティブ型rfidタグ及び管理システム
US11244081B2 (en) Electronic device and method for controlling connection of external device using the same
US20200269438A1 (en) Touch input processing method and electronic device supporting the same
JP2013025465A (ja) 携帯型無線通信機、及び、携帯型無線通信機と警報機のセット
US20230168793A1 (en) Electronic device including deformable display and operating method thereof
EP4329385A1 (en) Method and device for linking with vehicle by using uwb communication

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150617

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150714

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150909

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20151110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160128

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160204

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160328

R150 Certificate of patent or registration of utility model

Ref document number: 5920399

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150