(57)【要約】【課題】ユーザの利便性を向上させるとともに、模型装置を円滑に遠隔操作することが可能なコントロールシステムを提供する。【解決手段】複数のコントローラと、各コントローラと互いに通信可能に構成された模型装置とを備えるコントロールシステムが提供される。模型装置は、複数の動作ユニットを含む。各動作ユニットは、各コントローラによりそれぞれ操作される。模型装置は、所定の条件に基づいて、第１のコントローラに関連付けられた動作ユニット以外の動作ユニットに第２のコントローラを関連付ける関連付け部と、各動作ユニットの識別情報を各コントローラに送信する送信部とを含む。各コントローラは、動作ユニットの操作画面を表示する表示部と、各動作ユニットに対する操作命令を送信する情報送信部とを含む。模型装置は、当該操作命令に応答して、各動作ユニットの動作を制御する動作制御部を含む。【選択図】図１
2013172885.tif 000002
【特許請求の範囲】
【請求項１】
複数のコントローラと、
各前記コントローラと互いに通信可能に構成された模型装置とを備え、
前記模型装置は、
複数の動作ユニットを含み、
各前記動作ユニットは、各前記コントローラによりそれぞれ操作され、
所定の条件に基づいて、前記複数のコントローラのうちの第１のコントローラに関連付けられた動作ユニット以外の別の動作ユニットに前記複数のコントローラのうちの第２のコントローラを関連付ける関連付け部と、
前記関連付け部により各前記コントローラにそれぞれ関連付けられた各前記動作ユニットを識別するための識別情報を各前記コントローラに送信する送信部とをさらに含み、
各前記コントローラは、
前記識別情報に対応付けられた前記動作ユニットを操作するための操作画面を表示する表示部と、
前記操作画面に基づく各前記動作ユニットに対する操作命令を送信する情報送信部とを含み、
前記模型装置は、
各前記コントローラからの、各前記動作ユニットに対する前記操作命令に応答して、各前記動作ユニットの動作を制御する動作制御部をさらに含む、コントロールシステム。
【請求項２】
前記模型装置は、
前記第１のコントローラから前記複数の動作ユニットのうちの第１の動作ユニットを操作するための操作要求を受信する受信部をさらに備え、
前記関連付け部は、前記受信部が受信した前記操作要求に基づいて、前記第１のコントローラと前記第１の動作ユニットとを関連付け、前記第２のコントローラと前記複数の動作ユニットのうちの第２の動作ユニットとを関連付ける、請求項１に記載のコントロールシステム。
【請求項３】
前記模型装置は、
撮像した画像データを出力する複数の撮像部をさらに備え、
各前記撮像部は、各前記動作ユニットと関連付けられており、
前記送信部は、各前記動作ユニットと関連付けられた各前記撮像部により出力された各画像データを各前記動作ユニットと関連付けられた各前記コントローラにさらに送信する、請求項１または２に記載のコントロールシステム。
【請求項４】
前記送信部は、前記模型装置を操作する優先順位が最も高いコントローラに、当該コントローラが選択可能な前記複数の動作ユニットの候補一覧を表わすリスト情報をさらに送信する、請求項１〜３のいずれか１項に記載のコントロールシステム。
【請求項５】
前記表示部は、前記模型装置から送信された前記リスト情報を表示するように構成されており、
各前記コントローラは、
前記表示部に表示された前記リスト情報の選択の操作を受付ける入力部をさらに含み、
前記情報送信部は、前記入力部により前記リスト情報から選択された動作ユニットを操作するための操作要求を前記模型装置に送信する、請求項４に記載のコントロールシステム。
【請求項６】
前記複数のコントローラは互いに通信可能に構成され、
前記優先順位が最も高いコントローラ以外のコントローラは、当該コントローラと関連付けられている動作ユニットに対する所定の操作命令の実行の許可を示す許可情報を受信したときに、前記所定の操作命令を前記模型装置に送信する、請求項４または５に記載のコントロールシステム。
【請求項７】
前記表示部は、各前記コントローラ自身以外のコントローラの操作状態を表示する表示領域をさらに含む、請求項１〜６のいずれか１項に記載のコントロールシステム。
【請求項８】
各前記コントローラは、外部装置と通信可能に構成され、
前記情報送信部は、前記外部装置からの通信の割り込みの検知に基づいて、当該コントローラが動作ユニットを操作不能であるとことを各前記コントローラ自身以外のコントローラに通知する、請求項１〜７のいずれか１項に記載のコントロールシステム。
【請求項９】
複数のコントローラの各々と互いに通信可能に構成された模型装置であって、
前記模型装置は、
複数の動作ユニットを備え、
各前記動作ユニットは、各前記コントローラによりそれぞれ操作され、
所定の条件に基づいて、前記複数のコントローラのうちの第１のコントローラに関連付けられた動作ユニット以外の動作ユニットに前記複数のコントローラのうちの第２のコントローラを関連付ける関連付け部と、
前記関連付け部により各前記コントローラにそれぞれ関連付けられた各前記動作ユニットを識別するための識別情報を各前記コントローラに送信する送信部と、
各前記コントローラから送信された、前記識別情報に対応付けられた前記動作ユニットを操作するための操作画面に基づく各前記動作ユニットに対する操作命令に応答して、各前記動作ユニットの動作を制御する動作制御部とをさらに備える、模型装置。
【請求項１０】
複数のコントローラの各々と互いに通信可能に構成された模型装置のコンピュータに実行させる制御プログラムであって、
前記模型装置は、複数の動作ユニットを含み、
各前記動作ユニットは、各前記コントローラによりそれぞれ操作され、
前記制御プログラムは、前記コンピュータに、
所定の条件に基づいて、前記複数のコントローラのうちの第１のコントローラに関連付けられた動作ユニット以外の別の動作ユニットに前記複数のコントローラのうちの第２のコントローラを関連付けるステップと、
各前記コントローラにそれぞれ関連付けられた各前記動作ユニットを識別するための識別情報を各前記コントローラに送信するステップと、
各前記コントローラから送信された、前記識別情報と対応付けられた前記動作ユニットを操作するための操作画面に基づく各前記動作ユニットに対する操作命令に応答して、各前記動作ユニットの動作を制御するステップとを実行させる、模型装置の制御プログラム。
【請求項１１】
模型装置と互いに通信可能に構成されたコントローラであって、
前記模型装置は、複数の動作ユニットを含み、
前記コントローラは、前記動作ユニットを操作可能に構成され、
前記コントローラは、
前記コントローラに関連付けられた動作ユニットを識別するための識別情報を前記模型装置から受信する情報受信部と、
前記識別情報に対応付けられた前記動作ユニットを操作するための操作画面を表示する表示部と、
前記操作画面に基づく各前記動作ユニットに対する操作命令を送信する情報送信部とを備える、コントローラ。
【請求項１２】
模型装置と互いに通信可能に構成されたコントローラのコンピュータに実行させる制御プログラムであって、
前記模型装置は、複数の動作ユニットを含み、
前記コントローラは、前記動作ユニットを操作可能に構成され、
前記制御プログラムは、前記コンピュータに、
前記コントローラに関連付けられた動作ユニットを識別するための識別情報を前記模型装置から受信するステップと、
前記識別情報と対応付けられた前記動作ユニットを操作するための操作画面を表示するステップと、
前記操作画面に基づく各前記動作ユニットに対する操作命令を送信するステップとを実行させる、コントローラの制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コントローラにより模型装置の動作を制御するコントロールシステム、模型装置、その制御プログラム、コントローラおよびその制御プログラムに関する。
【背景技術】
【０００２】
従来から、遠隔操作によりスポーツカーやヘリコプターやロボットなどの駆動機器を制御する技術が知られている。当該技術分野においては、駆動機器を円滑に遠隔操作するための様々な方式が提案されている。
【０００３】
例えば、特開２００３−４７０７８号公報（特許文献１）には、遠隔操作システムが開示されている。当該遠隔操作システムにおいて、送信機には送信機毎の識別情報と駆動機器の制御情報とを含んだデータを送信するデータ送信装置と、他の送信機からのデータを受信する受信装置と、受信したデータに含まれる識別情報に基づいて自己のデータの送信タイミングを設定するタイミング設定装置と、設定されたタイミングに従ってデータの送信時期を制御する送信制御装置とを設ける。駆動機器には、各送信機からの送信データを受信する受信装置と、受信したデータに含まれる識別情報を自己の識別情報と比較して自己に対するデータ送信か否か判断し、自己に対して送信されたデータに基づく動作制御を実行する制御装置とを設ける。
【０００４】
例えば、特開２００６−１８７３３８号公報（特許文献２）には、複数対の通信装置を各々異なるチャンネルに割り当てて、各々通信を行なう通信システムのチャンネル設定方法が開示されている。通信システムのチャンネル設定方法において、対をなす通信装置のうち一方の通信装置は、チャンネルをスキャンし、占有コマンドが送出されていない空きチャンネルを検知し、検知された空きチャンネルを通信チャンネルに設定し、占有コマンドを送出する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−４７０７８号公報
【特許文献２】特開２００６−１８７３３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、模型装置の操作が複雑な場合、例えば、初心者が操作する際には、円滑な操作が困難となる。その結果、当該模型装置が損傷したり壊れたりする可能性がある。
【０００７】
本発明は、上記のような問題点を解決するためになされたものであって、ユーザの利便性を向上させるとともに、模型装置を円滑に遠隔操作することが可能なコントロールシステム、模型装置、その制御プログラム、コントローラ、およびその制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明のある局面に従うと、複数のコントローラと、各コントローラと互いに通信可能に構成された模型装置とを備えるコントロールシステムが提供される。模型装置は、複数の動作ユニットを含む。各動作ユニットは、各コントローラによりそれぞれ操作される。模型装置は、所定の条件に基づいて、複数のコントローラのうちの第１のコントローラに関連付けられた動作ユニット以外の別の動作ユニットに複数のコントローラのうちの第２のコントローラを関連付ける関連付け部と、関連付け部により各コントローラにそれぞれ関連付けられた各動作ユニットを識別するための識別情報を各コントローラに送信する送信部とをさらに含む。各コントローラは、識別情報に対応付けられた動作ユニットを操作するための操作画面を表示する表示部と、操作画面に基づく各動作ユニットに対する操作命令を送信する情報送信部とを含む。模型装置は、各コントローラからの、各動作ユニットに対する操作命令に応答して、各動作ユニットの動作を制御する動作制御部をさらに含む。
【０００９】
好ましくは、模型装置は、第１のコントローラから複数の動作ユニットのうちの第１の動作ユニットを操作するための操作要求を受信する受信部をさらに備える。関連付け部は、受信部が受信した操作要求に基づいて、第１のコントローラと第１の動作ユニットとを関連付け、第２のコントローラと複数の動作ユニットのうちの第２の動作ユニットとを関連付ける。
【００１０】
好ましくは、模型装置は、撮像した画像データを出力する複数の撮像部をさらに備える。各撮像部は、各動作ユニットと関連付けられている。送信部は、各動作ユニットと関連付けられた各撮像部により出力された各画像データを各動作ユニットと関連付けられた各コントローラにさらに送信する。
【００１１】
好ましくは、送信部は、模型装置を操作する優先順位が最も高いコントローラに、当該コントローラが選択可能な複数の動作ユニットの候補一覧を表わすリスト情報をさらに送信する。
【００１２】
好ましくは、表示部は、模型装置から送信されたリスト情報を表示するように構成されている。各コントローラは、表示領域に表示されたリスト情報の選択の操作を受付ける入力部をさらに含む。情報送信部は、入力部によりリスト情報から選択された動作ユニットを操作するための操作要求を模型装置に送信する。
【００１３】
好ましくは、複数のコントローラは互いに通信可能に構成される。優先順位が最も高いコントローラ以外のコントローラは、当該コントローラと関連付けられている動作ユニットに対する所定の操作命令の実行の許可を示す許可情報を受信したときに、所定の操作命令を模型装置に送信する。
【００１４】
好ましくは、表示部は、各コントローラ自身以外のコントローラの操作状態を表示する表示領域をさらに含む。
【００１５】
好ましくは、各コントローラは、外部装置と通信可能に構成される。情報送信部は、外部装置からの通信の割り込みの検知に基づいて、当該コントローラが動作ユニットを操作不能であるとことを各コントローラ自身以外のコントローラに通知する。
【００１６】
本発明の他の局面に従うと、複数のコントローラの各々と互いに通信可能に構成された模型装置が提供される。模型装置は、複数の動作ユニットを備える。各動作ユニットは、各コントローラによりそれぞれ操作される。模型装置は、所定の条件に基づいて、複数のコントローラのうちの第１のコントローラに関連付けられた動作ユニット以外の動作ユニットに複数のコントローラのうちの第２のコントローラを関連付ける関連付け部と、関連付け部により各コントローラにそれぞれ関連付けられた各動作ユニットを識別するための識別情報を各コントローラに送信する送信部と、各コントローラから送信された、識別情報に対応付けられた動作ユニットを操作するための操作画面に基づく各動作ユニットに対する操作命令に応答して、各動作ユニットの動作を制御する動作制御部とをさらに備える。
【００１７】
本発明のさらに他の局面に従うと、複数のコントローラの各々と互いに通信可能に構成された模型装置のコンピュータに実行させる制御プログラムが提供される。模型装置は、複数の動作ユニットを含む。各動作ユニットは、各コントローラによりそれぞれ操作される。制御プログラムは、コンピュータに、所定の条件に基づいて、複数のコントローラのうちの第１のコントローラに関連付けられた動作ユニット以外の別の動作ユニットに複数のコントローラのうちの第２のコントローラを関連付けるステップと、各コントローラにそれぞれ関連付けられた各動作ユニットを識別するための識別情報を各コントローラに送信するステップと、各コントローラから送信された、識別情報と対応付けられた動作ユニットを操作するための操作画面に基づく各動作ユニットに対する操作命令に応答して、各動作ユニットの動作を制御するステップとを実行させる。
【００１８】
本発明のさらに他の局面に従うと、模型装置と互いに通信可能に構成されたコントローラが提供される。模型装置は、複数の動作ユニットを含む。コントローラは、動作ユニットを操作可能に構成される。コントローラは、コントローラに関連付けられた動作ユニットを識別するための識別情報を模型装置から受信する情報受信部と、識別情報に対応付けられた動作ユニットを操作するための操作画面を表示する表示部と、操作画面に基づく各動作ユニットに対する操作命令を送信する情報送信部とを備える。
【００１９】
本発明のさらに他の局面に従うと、模型装置と互いに通信可能に構成されたコントローラのコンピュータに実行させる制御プログラムが提供される。模型装置は、複数の動作ユニットを含む。コントローラは、動作ユニットを操作可能に構成される。制御プログラムは、コンピュータに、コントローラに関連付けられた動作ユニットを識別するための識別情報を模型装置から受信するステップと、識別情報と対応付けられた動作ユニットを操作するための操作画面を表示するステップと、操作画面に基づく各動作ユニットに対する操作命令を送信するステップとを実行させる。
【発明の効果】
【００２０】
以上のように、ある局面によれば、ユーザの利便性を向上させるとともに、模型装置を円滑に遠隔操作することが可能となる。
【図面の簡単な説明】
【００２１】
【図１】本実施の形態に係るコントロールシステムの全体構成を示すイメージ図である。
【図２】本実施の形態に従うコントロールシステムにおいて、コントローラとラジコン戦車との接続処理の概要を示すフローチャートである。
【図３】本実施の形態に従うコントローラが提供するユーザインターフェイスの一例を示す図である。
【図４】本実施の形態に従うコントローラが提供するユーザインターフェイスの一例を示す図である。
【図５】本実施の形態に従うコントロールシステムにおいて、コントローラがラジコン戦車を操作する際の操作処理を示すフローチャートである。
【図６】本実施の形態に従うコントローラのハードウェア構成を示すブロック図である。
【図７】本実施の形態に従うラジコン戦車のハードウェア構成を表わすブロック図である。
【図８】本実施の形態に従うコントロールシステムの機能構成を示すブロック図である。
【図９】本実施の形態に従うコントロールシステムにおいて、コントローラとラジコン戦車との接続時の処理の流れを示すシーケンス図である。
【図１０】本実施の形態に従うコントローラが提供するユーザインターフェイスの一例を示す図である。
【図１１】本実施の形態に従うコントローラが提供するユーザインターフェイス画面において、ラジコン戦車を移動させる操作方式を説明するための図である。
【図１２】本実施の形態に従うラジコン戦車がコントローラと接続する際に実行する処理を示すフローチャートである。
【図１３】本実施の形態に従うマスターコントローラがラジコン戦車と接続する際に実行する処理を示すフローチャートである。
【図１４】本実施の形態に従うスレーブコントローラがラジコン戦車と接続する際に実行する処理を示すフローチャートである。
【図１５】実施の形態に従うコントロールシステム１において、ラジコン戦車をコントローラで操作する際の操作の一例を示すシーケンス図である。
【発明を実施するための形態】
【００２２】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００２３】
以下の説明では、ラジオコントロール（通称、「ラジコン」）戦車を「模型装置」の代表例として説明を行う。ただし、「模型装置」は、飛行できるヘリコプターや飛行機でもよいし、歩行できるロボットであってもよい。また、「コントローラ」は、模型装置の制御専用のものであってもよいし、他の機能を有する携帯型電話機、パーソナルコンピュータ、電子ノート、ＰＤＡ（Personal  Digital  Assistant）などのディスプレイと通信インターフェイスを有する通信機器であってもよい。
【００２４】
［用語］
本明細書においては、「マスターコントローラ」とは、模型装置を操作する優先順位が最も高いコントローラのことであり、「スレーブコントローラ」とは、優先順位の低いコントローラのことをいう。「操作する優先順位の高い」マスターコントローラは、操作対象とする、模型装置に含まれる動作ユニットを優先的に選択する権限が与えられていたり、スレーブコントローラからの模型装置に対する所定の命令を制限する権限が与えられていたりする。
［１．コントロールシステムの動作概要］
まず、本実施の形態に係るコントロールシステム１の動作概要について説明する。
【００２５】
図１は、本実施の形態に係るコントロールシステム１の全体構成を示すイメージ図である。
【００２６】
図１を参照して、コントロールシステム１は、コントローラ１００Ａ、１００Ｂ（以下、「コントローラ１００」とも総称する。）とラジコン戦車２００とを含む。ラジコン戦車２００は、コントローラ１００の操作対象となる複数の動作ユニットを含む。各動作ユニットとは、互いに独立して動作する構成単位であり、例えば、ラジコン戦車２００における車体部分、砲台部分である。
【００２７】
ユーザは、ラジコン戦車２００を例えば、公園や庭の地面に置く。コントローラ１００とラジコン戦車２００とは、以下に説明する接続処理により互いに通信可能となり、コントローラ１００がラジコン戦車２００を操作できる状態となる。すなわち、各ユーザは、コントローラ１００Ａ、１００Ｂを介して、各々のコントローラにそれぞれ関連付けられた動作ユニットを操作することができる。
【００２８】
＜１−１．接続処理の概要＞
ここで、コントローラ１００がラジコン戦車２００を操作可能となるまでの処理の概要について説明する。
【００２９】
図２は、本実施の形態に従うコントロールシステムにおいて、コントローラ１００とラジコン戦車２００との接続処理の概要を示すフローチャートである。
図３、４および５は、本実施の形態に従うコントローラ１００が提供するユーザインターフェイスの一例を示す図である。
【００３０】
図２を参照して、ユーザがラジコン戦車２００の電源を入れると、ラジコン戦車２００は、ＷｉＦｉ（wireless fidelity）（登録商標）のアクセスポイントとして機能し、コントローラ１００からの接続の待機状態となる（ステップＳ２）。
【００３１】
ユーザがコントローラ１００を起動すると、コントローラ１００は、ＳＳＩＤ（Service  Set  Identifier）のリスト情報をタッチパネル１３０に表示する（ステップＳ４）。このときタッチパネル１３０に表示されるユーザインターフェイスの一例を図３（Ａ）に示す。このユーザインターフェイス画面７００は、ラジコンのＳＳＩＤの候補一覧を表すリスト情報として、例えば、ＳＳＩＤ「戦車Ａ」、「戦車Ｂ」、「ロボットＡ」と、ＯＫボタン７０２と、キャンセルボタン７０４とを含む。なお、ここでは、ＳＳＩＤ「戦車Ａ」がラジコン戦車２００に対応しているものとする。
【００３２】
再び、図２を参照して、このユーザインターフェイス画面７００に応答して、ユーザは、タッチパネル１３０あるいはボタン１５０によりいずれかのラジコンのＳＳＩＤを選択する（ステップＳ６）。このときタッチパネル１３０に表示されるユーザインターフェイスの一例を図３（Ｂ）に示す。このユーザインターフェイス画面７１０は、ＳＳＩＤ「戦車Ａ」が選択されている状態を示すボックス７１２を含む。
【００３３】
再び、図２を参照して、このユーザインターフェイス画面７１０に応答して、コントローラ１００がユーザからＳＳＩＤ「戦車Ａ」の選択の操作を受け付けると、コントローラ１００とラジコン戦車２００との通信が確立される（ステップＳ８）。
【００３４】
次に、所定の条件に基づいて、マスターコントローラとして割り当てられたコントローラ１００Ａは、ラジコン戦車２００から送信された、動作ユニットのリスト情報をタッチパネル１３０Ａに表示する（ステップＳ１０）。このときタッチパネル１３０Ａに表示されるユーザインターフェイスの一例を図４（Ａ）に示す。このユーザインターフェイス画面７２０は、操作対象となる動作ユニットの候補一覧を表わすリスト情報として、動作ユニット「車体」および「砲台」と、ＯＫボタン７２２とキャンセルボタン７２４とを含む。
【００３５】
再び、図２を参照して、このユーザインターフェイス画面７２０に応答して、ユーザは、タッチパネル１３０Ａ等によりいずれかの動作ユニットを選択する（ステップＳ１２）。このときタッチパネル１３０Ａに表示されるユーザインターフェイスの一例を図４（Ｂ）に示す。このユーザインターフェイス画面７３０は、動作ユニット「車体」が選択されている状態を示すボックス７３２を含む。
【００３６】
再び、図２を参照して、このユーザインターフェイス画面７３０に応答して、コントローラ１００Ａがユーザから動作ユニット「車体」の選択の操作を受け付けると、動作ユニット「車体」がコントローラ１００Ａに関連付けられ、残余の動作ユニット「砲台」はコントローラ１００Ｂに関連付けられる（ステップＳ１４）。すなわち、コントローラ１００Ａは動作ユニット「車体」を操作対象とし、コントローラ１００Ｂは動作ユニット「砲台」を操作対象とする。
【００３７】
次に、コントローラ１００は、関連付けられた動作ユニットに対応する操作画面をタッチパネル１３０に表示する（ステップＳ１６）。詳細は後述するが、例えば、コントローラ１００Ａ、１００Ｂには、図１におけるタッチパネル１３０Ａ、Ｂに表されるような操作画面が表示される。そして、処理は終了する。
【００３８】
＜１−２．操作例の概要＞
次に、コントローラ１００がラジコン戦車２００を操作する際の操作例の概要について説明する。
【００３９】
図５は、本実施の形態に従うコントロールシステムにおいて、コントローラ１００がラジコン戦車２００を操作する際の操作処理を示すフローチャートである。
【００４０】
図５を参照して、コントローラ１００Ａを使用する第１のユーザは、例えば、タッチパネル１３０Ａに表示された、動作ユニット「車体」に対応するカメラ画像を確認しながら、ラジコン戦車２００を移動させる（ステップＳ２２）。また、コントローラ１００Ｂを使用する第２のユーザは、例えば、タッチパネル１３０Ｂに表示された、動作ユニット「砲台」に対応するカメラ画像を確認しながら、ターゲットを探す（ステップＳ２４）。
【００４１】
第２のユーザは、ターゲットを発見すると、コントローラ１００Ｂを介して当該ターゲットに対して砲台を回転させる（ステップＳ２６）。このとき、第２のユーザがターゲットに的を絞りやすいように第１のユーザは、コントローラ１００Ａを介してラジコン戦車２００の移動を止める。そして、第２のユーザは、コントローラ１００Ｂを介してターゲットに対して模擬弾を発射する（ステップＳ２８）。ここで、コントローラ１００Ａが、コントローラ１００Ｂにおけるラジコン戦車２００に対する模擬弾の発射命令を予め制限していてもよい。この場合、コントローラ１００Ｂは、コントローラ１００Ａから許可があった場合に模擬弾の発射が可能となる。
【００４２】
次に、第１のユーザは、模擬弾がターゲットに当たったことを確認すると、コントローラ１００Ａを介してラジコン戦車２００を移動させる（ステップＳ３０）。ユーザはコントローラ１００を介したラジコン戦車２００の操作を終了するか否かを判断する（ステップＳ３２）。ラジコン戦車２００の操作を終了しない場合（ステップＳ３２においてＮＯの場合）には、ステップＳ２４からの処理が繰り返される。
【００４３】
ラジコン戦車２００の操作を終了する場合（ステップＳ３２においてＹＥＳの場合）には、処理は終了する（エンド）。
【００４４】
このように、ラジコン戦車２００における車体移動操作および砲台操作が、それぞれコントローラ１００Ａ、１００Ｂに割り当てられているため、各ユーザは集中して各々の動作ユニットを操作することができる。
【００４５】
以下、このような機能を実現するためのコントロールシステム１の具体的な構成について詳述する。
［２．ハードウェア構成］
＜２−１．コントローラ１００＞
まず、本実施の形態に従うコントローラ１００のハードウェア構成について説明する。
【００４６】
図６は、本実施の形態に従うコントローラ１００のハードウェア構成を示すブロック図である。コントローラ１００Ａとコントローラ１００Ｂとは、基本的な装置構成については実質的に同一であるため、以下では「コントローラ１００」について例示的に説明する。
【００４７】
図６を参照して、コントローラ１００は、主たる構成要素として、ＣＰＵ１１０と、メモリ１２０と、タッチパネル１３０と、スピーカ１４０と、ボタン１５０と、メモリーインターフェイス１６０と、通信インターフェイス１７０とを含む。
【００４８】
ＣＰＵ１１０は、メモリ１２０に記憶されたプログラムを読み出して実行することで、コントローラ１００の各部を制御する。より詳細にはＣＰＵ１１０は、当該プログラムを実行することによって、後述するコントローラ１００の処理（ステップ）の各々を実現する。なお、ＣＰＵ１１０は、マイクロプロセッサ（Microprocessor）、ＦＰＧＡ（Field Programmable Gate Array）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＤＳＰ（Digital Signal Processor）およびその他の演算機能を有する回路のいずれであってもよい。
【００４９】
メモリ１２０は、各種のＲＡＭ（Random  Access  Memory）や、ＲＯＭ（Read-Only  Memory）や、ハードディスクなどによって実現される。メモリ１２０は、ＣＰＵ１１０によって実行されるプログラム、データなどを記憶する。
【００５０】
タッチパネル１３０は、タブレット１３４とタブレット１３４の表面に敷設されるディスプレイ１３２とを含む。
【００５１】
タッチパネル１３０は、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式、静電容量方式などのいずれのタイプであってもよい。タッチパネル１３０は、光センサ液晶を含んでもよい。タッチパネル１３０（タブレット１３４）は、所定時間毎に外部の物体によるタッチパネル１３０へのタッチ操作を検知して、タッチ座標（タッチ位置）をＣＰＵ１１０に入力する。すなわち、ＣＰＵ１１０は、タッチパネル１３０から順次タッチ座標を取得する。
【００５２】
スピーカ１４０は、ＣＰＵ１１０からの命令に基づいて、音声を出力する。たとえば、ＣＰＵ１１０は、音声データに基づいて、スピーカ１４０に音声を出力させる。
【００５３】
ボタン１５０は、コントローラ１００の表面に配置される。方向キー、決定キー、テンキーなどの複数のボタンがコントローラ１００に配置されていてもよい。ボタン１５０は、ユーザからの命令を受け付ける。ボタン１５０は、ユーザからの命令をＣＰＵ１１０に入力する。
【００５４】
メモリーインターフェイス（Ｉ／Ｆ）１６０は、外部の記憶媒体１６２からデータを読み出す。すなわち、ＣＰＵ１１０は、メモリーインターフェイス１６０を介して外部の記憶媒体１６２に格納されているデータを読み出して、当該データをメモリ１２０に格納する。逆に、ＣＰＵ１１０は、メモリ１２０からデータを読み出して、メモリーインターフェイス１６０を介して当該データを外部の記憶媒体１６２に格納する。
【００５５】
なお、記憶媒体１６２としては、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disk）、ＢＤ（Blu-ray  Disc）、ＵＳＢ（Universal  Serial  Bus）メモリ、メモリーカード、ＦＤ（Flexible  Disk）、ハードディスク、磁気テープ、カセットテープ、ＭＯ（Magnetic  Optical  Disc）、ＭＤ（Mini  Disc）、ＩＣ（Integrated  Circuit）カード（メモリーカードを除く）、光カード、ＥＰＲＯＭ、ＥＥＰＲＯＭ（Electronically  Erasable  Programmable  Read-Only  Memory）などの、不揮発的にプログラムを格納する媒体が挙げられる。
【００５６】
通信インターフェイス（Ｉ／Ｆ）１７０は、アンテナやコネクタなどによって実現される。通信インターフェイス１７０は、ラジコン戦車２００や他のコントローラ１００との間でデータを送受信する。ＣＰＵ１１０は、通信インターフェイス１７０を介して、他のコンピュータからプログラム、ラジコン戦車２００を操作するための操作データ、音声データ、テキストデータなどを受信する。ＣＰＵ１１０は、通信インターフェイス１７０を介して、ラジコン戦車２００に操作命令を送信したり、ラジコン戦車２００からカメラ画像や現在の燃料データ、走行距離データなどを受信したりする。ＣＰＵ１１０は、通信インターフェイス１７０を介して、他のコントローラ１００にラジコン戦車２００に対する所定の命令の許可を示す許可情報を送信したり、他のコントローラ１００から当該許可情報を受信したりする。なお、ラジコン戦車２００や他のコントローラとの間の通信方式としては、ＷｉＦｉによる通信、ＢｌｕｅＴｏｏｔｈ（登録商標）規格に基づく通信、赤外線通信など、データ通信が可能であれば有線または無線のいずれであってもよい。また、コントローラ１００は、通信インターフェイス１７０を介して、ラジコン戦車２００や他のコントローラ１００以外の外部装置との間でデータを送受信してもよい。
【００５７】
＜２−２．ラジコン戦車２００＞
次に、本実施の形態に従うラジコン戦車２００のハードウェア構成について説明する。
【００５８】
図７は、本実施の形態に従うラジコン戦車２００のハードウェア構成を示すブロック図である。図７を参照して、ラジコン戦車２００は、主たる構成要素として、ＣＰＵ２１０と、メモリ２２０と、動作ユニット２３０と、メモリーインターフェイス２６０と、通信インターフェイス２７０と、カメラ２８０とを含む。
【００５９】
ＣＰＵ２１０は、メモリ２２０に記憶されたプログラムを読み出して実行することで、ラジコン戦車２００の各部を制御する。より詳細にはＣＰＵ２１０は、当該プログラムを実行することによって、後述するラジコン戦車２００の処理（ステップ）の各々を実現する。
【００６０】
メモリ２２０は、各種のＲＡＭや、ＲＯＭや、ハードディスクなどによって実現される。メモリ２２０は、ＣＰＵ２１０によって実行されるプログラムなどを記憶する。
【００６１】
動作ユニット２３０は、第１の動作ユニット２３２と第２の動作ユニット２３４を含む。すなわち、動作ユニットは複数個であり、本実施の形態では、動作ユニットが２つの場合を想定する。ただし、動作ユニット２３０の数はこれに限らず、３つ以上であってもよい。このとき、コントローラ１００の個数と動作ユニット２３０の個数とを同数にしておくことが好ましい。
【００６２】
また、本実施の形態では、動作ユニット２３０は、ラジコン戦車２００の車体部分や砲台部分であるがこれに限らない。動作ユニット２３０は、模型装置の種類に応じて定められるものであり、例えば、プロペラ、翼、脚部などであってもよい。ＣＰＵ２１０は、コントローラ１００からの操作命令に基づいて、動作ユニット２３０の動作を制御する。
【００６３】
メモリーインターフェイス２６０は、外部の記憶媒体２６２からデータを読み出す。すなわち、ＣＰＵ２１０は、メモリーインターフェイス２６０を介して外部の記憶媒体２６２に格納されているデータを読み出して、当該データをメモリ２２０に格納する。逆に、ＣＰＵ２１０は、メモリ２２０からデータを読み出して、メモリーインターフェイス２６０を介して当該データを外部の記憶媒体２６２に格納する。
【００６４】
なお、記憶媒体２６２は、コントローラ１００の記憶媒体１６２と同様であるため、説明を繰り返さない。
【００６５】
通信インターフェイス２７０は、アンテナやコネクタなどによって実現される。通信インターフェイス２７０は、無線通信によってコントローラ１００との間でデータを送受信する。ＣＰＵ２１０は、例えば、通信インターフェイス２７０を介して、コントローラ１００から操作命令を受信したり、カメラ画像や現在の状態（燃料、走行距離）をコントローラ１００に送信したりする。
【００６６】
カメラ２８０は、ＣＣＤ（Coupled  Charged  Device）やＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）センサなどの撮像デバイスを含む。カメラ２８０は、第１のカメラ２８２と第２のカメラ２８４を有する。すなわち、カメラ２８０は複数個であり、本実施の形態では、カメラ２８０が２つの場合を想定する。ただし、カメラ２８０の数は、これに限らず、３つ以上であってもよい。
【００６７】
また、本実施の形態では、カメラ２８０は、ラジコン戦車２００の車体前部や砲台上部に配置されており、車体前方や砲台前方を撮像する。すなわち、カメラ２８０は、コントローラ１００のタッチパネル１３０に表示されるカメラ画像を提供する。ただし、カメラ２８０の配置場所はこれに限らず、ユーザが動作ユニットを操作する際の利便性を考慮して好ましい場所に配置されていればよい。
【００６８】
［３．機能構成］
本実施の形態に従うコントロールシステム１を構成するコントローラ１００およびラジコン戦車２００の機能構成について説明する。
【００６９】
図８は、本実施の形態に従うコントロールシステム１の機能構成を示すブロック図である。
【００７０】
まず、コントローラ１００の機能構成について説明する。
図８を参照して、コントローラ１００は複数存在することから、それらを互いに区別するため、それぞれを「コントローラ１００Ａ」、「コントローラ１００Ｂ」と示している。しかし、これらの基本的な機能構成については実質的に同一であるため、以下では、コントローラ１００Ａおよび１００Ｂを総称した「コントローラ１００」について例示的に説明する。
【００７１】
コントローラ１００（１００Ａ、１００Ｂ）は、表示制御部１１（１１Ａ，１１Ｂ）と情報送信部１２（１２Ａ，１２Ｂ）と情報受信部１３（１３Ａ，１３Ｂ）と入力部１４（１４Ａ，１４Ｂ）と記憶部１５（１５Ａ，１５Ｂ）とを含む。これらの機能構成は、基本的には、コントローラ１００のＣＰＵ１１０（１１０Ａ、１１０Ｂ）がメモリ１２０（１２０Ａ，１２０Ｂ）に格納されたプログラムを実行し、コントローラ１００の構成要素へ指令を与えることなどによって実現される。すなわち、ＣＰＵ１１０はコントローラ１００の動作全体を制御する制御部としての機能を有する。なお、これらの機能構成の一部または全部はハードウェアで実現されていてもよい。
【００７２】
表示制御部１１は、動作ユニットを識別するための動作ユニット識別情報と対応付けられた動作ユニットの操作画面を表示部１６（ディスプレイ１３２）に表示するように制御する。また、表示制御部１１は、予め記憶部１５に記憶されている当該操作画面のＵＩデータに基づいて動作ユニットの操作画面を表示する。また、表示制御部１１は、ＳＳＩＤのリスト情報、動作ユニットの候補一覧リスト情報などのユーザインターフェイス画面を表示するように表示部１６を制御する。
【００７３】
情報送信部１２は、ラジコン戦車２００や他のコントローラ１００に所定の情報を送信する。情報送信部１２は、例えば、動作ユニットに対する操作命令を送信する。すなわち、情報送信部１２は、操作画面において、入力部１４を介してユーザから動作ユニット２３０に対する操作命令があった場合に、当該操作命令をラジコン戦車２００に送信する。また、情報送信部１２は、動作ユニットのリスト情報において選択された動作ユニットを操作対象とするための操作要求をラジコン戦車２００に送信する。また、情報送信部１２は、ラジコン戦車２００や他のコントローラ１００以外の外部装置（携帯型電話機など）からの通信の割り込みの検知に基づいて、当該コントローラが動作ユニットを操作不能であるとことを示す通知情報を他のコントローラに送信する。情報送信部１２は、主として、ＣＰＵ１１０が通信インターフェイス１７０と連係動作することで実現される機能である。
【００７４】
情報受信部１３は、ラジコン戦車２００や他のコントローラ１００からの所定の情報を受信する。情報受信部１３は、例えば、コントローラ１００に関連付けられた動作ユニット識別情報をラジコン戦車２００から受信する。また、情報受信部１３は、ラジコン戦車２００から送信されたカメラ画像データを受信したり、コントローラ１００が選択可能な複数の動作ユニット２３０の候補一覧を表わすリスト情報を受信したりする。情報受信部１３は、主として、ＣＰＵ１１０が通信インターフェイス１７０と連係動作することで実現される機能である。
【００７５】
入力部１４は、ユーザからの指示を受付ける。入力部１４は、例えば、表示部１６に表示された動作ユニットのリスト情報の選択の操作を受付ける。入力部１４は、主として、タッチパネル１３０（またはボタン１５０）において実現される機能である。
【００７６】
記憶部１５は、各種データを記憶する。例えば、記憶部１５は、コントローラ１００に関連付けられた動作ユニット２３０の動作ユニット識別情報を記憶したり、カメラ２８０によって撮像された画像データを記憶したりする。また、記憶部１５は、ラジコン戦車２００から送信される、動作ユニットを操作するために必要な操作情報（プログラム、操作画面データなど）を記憶しても良い。主としてメモリ１２０において実現される機能である。
【００７７】
次に、ラジコン戦車２００の機能構成について説明する。
ラジコン戦車２００は、関連付け部２１と送信部２２と動作制御部２３と受信部２４と撮像部２５と記憶部２６とを含み、さらに上述した第１の動作ユニット２３２と第２の動作ユニット２３４とを含む。これらの機能構成は、基本的には、ラジコン戦車２００のＣＰＵ２１０がメモリ２２０に格納されたプログラムを実行し、ラジコン戦車２００の構成要素へ指令を与えることなどによって実現される。すなわち、ＣＰＵ２１０はラジコン戦車２００の動作全体を制御する制御部としての機能を有する。なお、これらの機能構成の一部または全部はハードウェアで実現されていてもよい。
【００７８】
関連付け部２１は、所定の条件に基づいて、コントローラ１００とコントローラ１００が操作するための動作ユニットとを関連付ける。関連付け部２１は、例えば、スレーブコントローラにマスターコントローラに関連付けた動作ユニット以外の動作ユニットを関連付ける。また、例えば、マスターコントローラから複数の動作ユニットのうちの第１の動作ユニットを操作するための操作要求を受信部２４により受信した場合、関連付け部２１は、マスターコントローラと第１の動作ユニットとを関連付けるとともに、スレーブコントローラに第２の動作ユニットを関連付ける。
【００７９】
送信部２２は、コントローラ１００に所定の情報を送信する。送信部２２は、例えば、関連付け部２１によりコントローラ１００に関連付けられた動作ユニット２３０の動作ユニット識別情報をコントローラ１００に送信したり、ラジコン戦車２００を操作する優先順位が最も高いマスターコントローラに、当該コントローラが選択可能な複数の動作ユニット２３０の候補一覧を表わすリスト情報を送信したりする。また、送信部２２は、動作ユニット２３０と関連付けられたコントローラ１００に、動作ユニット２３０と関連付けられた撮像部２５により出力された画像データを送信する。送信部２２は、主として、ＣＰＵ２１０が通信インターフェイス２７０と連係動作することで実現される機能である。
【００８０】
動作制御部２３は、コントローラ１００からの、動作ユニット２３０に対する操作命令に応答して、動作ユニット２３０の動作を制御する。例えば、コントローラ１００Ａに動作ユニット「車体」が、コントローラ１００Ｂに動作ユニット「砲台」が関連付けられている場合、コントローラ１００Ａからの操作命令に基づいて、動作ユニット「車体」の動作を制御し、コントローラ１００Ｂからの操作命令に基づいて、動作ユニット「砲台」の動作を制御する。
【００８１】
受信部２４は、コントローラ１００からの所定の情報を受信する。受信部２４は、例えば、コントローラ１００から動作ユニット２３０を操作するための操作要求を受信したり、コントローラ１００から動作ユニット２３０に対する操作命令を受信したりする。受信部２４は、主としてＣＰＵ２１０が通信インターフェイス２７０と連係動作することで実現される機能である。
【００８２】
撮像部２５は、対応する各カメラ２８０によって撮像された画像データを出力する。各撮像部２５は、各動作ユニットと関連付けられている。撮像部２５は、主としてカメラ２８０において実現される機能である。
【００８３】
記憶部２６は、各種データを記憶する。例えば、記憶部２６は、コントローラ１００と動作ユニット２３０との関連付けを示す関連付け情報を記憶したり、カメラ２８０によって撮像された画像データを記憶したりする。また、ラジコン戦車２００と通信するコントローラ１００を特定するためのコントローラ特定情報を記憶してもよい。記憶部２６は、主としてメモリ２２０において実現される機能である。
【００８４】
[４．接続処理の詳細]
＜４−１．接続シーケンス＞
まず、本実施の形態に従うコントロールシステム１において、コントローラ１００とラジコン戦車２００との接続シーケンスの詳細について説明する。すなわち、１−１．接続処理の概要の詳細について説明する。
【００８５】
図９は、本実施の形態に従うコントロールシステム１において、コントローラ１００とラジコン戦車２００との接続時の処理の流れを示すシーケンス図である。ここでは、コントローラ１００とラジコン戦車２００との通信方式としてＷｉＦｉによる通信を想定して説明するが、通信方式は上述の通りこれに限らない。
【００８６】
図９を参照して、まず、ユーザがラジコン戦車２００の電源を入れると、ラジコン戦車２００は、ＷｉＦｉのアクセスポイントとして機能し、ＳＳＩＤ「戦車Ａ」を発信する（ステップＳＱ２）。
【００８７】
次に、各ユーザによって起動されたコントローラ１００Ａおよび１００Ｂは、ＷｉＦｉネットワーク上に存在するＳＳＩＤの発信を検知する（ステップＳＱ４）。各コントローラ１００は、それぞれのタッチパネル１３０Ａ、１３０ＢにＳＳＩＤの候補一覧を示すリスト情報を表示する（ステップＳＱ６）。このとき、各タッチパネル１３０には、図３（Ａ）に示すユーザインターフェイス画面７００が表示される。
【００８８】
次に、各コントローラ１００は、各タッチパネル１３０（あるいは各ボタン１５０）を介してユーザからＳＳＩＤ「戦車Ａ」の選択の操作を受付けると（ステップＳＱ８）、各通信インターフェイス１７０を介してラジコン戦車２００に接続要求を送信する（ステップＳＱ１０）。このとき、各コントローラ１００から各コントローラ１００を特定するためのコントローラ特定情報がラジコン戦車２００に送信される。コントローラ特定情報は、例えば、コントローラ１００のＩＰアドレス情報である。具体的には、図３（Ｂ）に示すユーザインターフェイス画面７１０において、ＳＳＩＤ「戦車Ａ」を選択した状態で、ユーザによりＯＫボタン７０２が押下されると、上記接続要求が送信される。
【００８９】
次に、ラジコン戦車２００は、通信インターフェイス２７０を介して各コントローラ１００から送信された接続要求を受信すると（ステップＳＱ１２）、接続の許可を示す接続許可情報を通信インターフェイス２７０を介して各コントローラ１００に送信する（ステップＳＱ１４）。
【００９０】
ここまでの処理を経ると、コントローラ１００Ａおよび１００Ｂとラジコン戦車２００との通信が確立された状態となる。
【００９１】
次に、ラジコン戦車２００は、所定の条件に基づいて、コントローラ１００Ａおよび１００Ｂに対して、マスターコントローラおよびスレーブコントローラの割り当てを行なう（ステップＳＱ１６）。具体的には、例えば、ラジコン戦車２００は、先に接続要求があったコントローラ１００に対して、マスターコントローラを割り当てる。また、ラジコン戦車２００は、コントローラ１００からの接続要求が、マスターコントローラとしての接続要求か、スレーブコントローラとしての接続要求かを判断することで、マスターコントローラおよびスレーブコントローラの割り当てを行なってもよい。このとき、例えば、コントローラ１００Ａおよび１００Ｂのいずれもがマスターコントローラとしての接続要求であった場合には、先に接続要求があったコントローラ１００をマスターコントローラとして割り当て、他方のコントローラ１００には接続の不許可を示す不許可情報を送信しても良い。また、ラジコン戦車２００は、ランダムに上記割り当てを行なっても良い。ここでは、コントローラ１００Ａにマスターコントローラが割り当てられ、コントローラ１００Ｂにスレーブコントローラが割り当てられる場合について説明するが、当該割り当てが逆であっても良い。
【００９２】
次に、ラジコン戦車２００は、通信インターフェイス２７０を介してマスターコントローラとして割り当てられたコントローラ１００Ａに動作ユニットの候補一覧リスト情報を送信する（ステップＳＱ１７）。
【００９３】
次に、ラジコン戦車２００は、通信インターフェイス２７０を介してスレーブコントローラがどのコントローラ１００であるかを特定するためのコントローラ特定情報をコントローラ１００Ａに送信する（ステップＳＱ１８）。具体的には、ラジコン戦車２００は、コントローラ１００Ｂのコントローラ特定情報をコントローラ１００Ａに送信する。当該特定情報に基づいて、コントローラ１００Ａは、スレーブコントローラがコントローラ１００Ｂであることを特定できる。
【００９４】
次に、コントローラ１００Ａは、通信インターフェイス１７０Ａを介して受信した動作ユニットの候補一覧リスト情報をタッチパネル１３０Ａに表示する（ステップＳＱ２０）。このとき、タッチパネル１３０Ａには、図４（Ａ）に示すユーザインターフェイス画面７２０が表示される。
【００９５】
次に、コントローラ１００Ａは、タッチパネル１３０Ａあるいはボタン１５０Ａを介してユーザから動作ユニット「車体」の選択の操作を受付けると（ステップＳＱ２２）、通信インターフェイス１７０Ａを介してラジコン戦車２００に動作ユニット「車体」を操作するための操作要求を送信する（ステップＳＱ２４）。具体的には、図４（Ｂ）に示すユーザインターフェイス画面７３０において、動作ユニット「車体」を選択した状態で、ユーザによりＯＫボタン７２２が押下されると、上記操作要求が送信される。ここでは、コントローラ１００Ａが操作対象として動作ユニット「車体」を選択する場合について説明するが、コントローラ１００Ａは操作対象として動作ユニット「砲台」を選択してもよい。
【００９６】
次に、ラジコン戦車２００は、コントローラ１００Ａから送信された操作要求に応答して、マスターコントローラとして機能するコントローラ１００Ａと動作ユニット「車体」とを関連付け、スレーブコントローラとして機能するコントローラ１００Ｂと動作ユニット「砲台」とを関連付ける（ステップＳＱ２６）。すなわち、スレーブコントローラと関連付けられる動作ユニット２３０は、マスターコントローラにおいて選択されなかった動作ユニット２３０となる。
【００９７】
次に、ラジコン戦車２００は、コントローラ１００に関連付けられた動作ユニット２３０の動作ユニット識別情報をコントローラ１００に送信する（ステップＳＱ２８）。換言すれば、コントローラ１００Ａには、動作ユニット「車体」を示す動作ユニット識別情報を送信し、コントローラ１００Ｂには、動作ユニット「砲台」を示す動作ユニット識別情報を送信する。これにより、各コントローラ１００は、それぞれが操作対象とする動作ユニットを把握できる。
【００９８】
次に、ラジコン戦車２００は、通信インターフェイス２７０を介してマスターコントローラのコントローラ特定情報を送信する（ステップＳＱ３０）。具体的には、ラジコン戦車２００は、コントローラ１００Ａのコントローラ特定情報をコントローラ１００Ｂに送信する。当該特定情報に基づいて、コントローラ１００Ｂは、マスターコントローラがコントローラ１００Ａであることを特定できる。
【００９９】
次に、各コントローラ１００は、それぞれに関連付けられた動作ユニットを操作するための各ユーザインターフェイス画面を各タッチパネル１３０に表示する（ステップＳＱ３２）。
【０１００】
図１０は、本実施の形態に従うコントローラ１００が提供するユーザインターフェイスの一例を示す図である。図１０（Ａ）は、動作ユニット「車体」側のユーザインターフェイス画面７４０を示す図であり、図１０（Ｂ）は、動作ユニット「砲台」側のユーザインターフェイス画面７５０を示す図である。なお、ここでは、動作ユニット「車体」側と「砲台」側のユーザインターフェイス画面はほぼ同様であり、各々の操作ボタンや操作バーに与えられた機能が異なる場合について説明するが、これに限られない。例えば、各動作ユニットごとに全く異なるユーザインターフェイス画面であっても良い。
【０１０１】
図１０（Ａ）を参照して、動作ユニット「車体」側のユーザインターフェイス画面７４０は、カメラ画像領域１００２とパートナー情報領域１００４と共有情報領域１００６とボタン１００８と左アナログバー１０１０と右アナログバー１０１２とを含む。
【０１０２】
カメラ画像領域１００２には、車体前部に搭載されたカメラ２８０によるカメラ画像が表示される。パートナー情報領域１００４には、例えば、パートナー側であるコントローラ１００Ｂの操作状態が表示される。なお、当該パートナー情報領域１００４では、アナログバーの状態を示す画像を表示しているがテキストデータのような文字情報が表示されてもよい。共有情報領域１００６には、ラジコン戦車２００の燃料情報、模擬弾の弾数情報、走行距離情報などが表示される。
【０１０３】
ボタン１００８は、模擬弾発射許可ボタンとして機能する。これは、コントローラ１００Ａが動作ユニット「車体」を操作するマスターコントローラとして機能しているためである。例えば、模擬弾の発射をロックしている状態ではボタン１００８が赤色であり、スレーブコントローラから模擬弾発射の許可依頼を受信するとボタン１００８が黄色になる。そして、ボタン１００８が黄色の状態でボタン１００８が押下されると、模擬弾発射が許可され（ロック状態が解除）、ボタン１００８が緑色になる。ただし、コントローラ１００が、例えば、動作ユニット「車体」を操作するスレーブコントローラとして機能している場合には、ボタン１００８を模擬弾発射許可ボタンとして機能させなくとも良い。これは、マスターコントローラとして機能する他のコントローラが動作ユニット「砲台」を操作していることから、マスターコントローラ側で模擬弾発射を判断すればよいためである。
【０１０４】
左アナログバー１０１０、右アナログバー１０１２は、それぞれ左キャタピラ、右キャタピラを操作するためのアナログバーである。具体的な操作方式について以下に説明する。
【０１０５】
図１１は、本実施の形態に従うコントローラ１００が提供するユーザインターフェイス画面７４０において、ラジコン戦車２００を移動させるための操作方式を説明するための図である。
【０１０６】
図１１（Ａ）は、ラジコン戦車２００を前進させるときの操作を示す図である。すなわち、左右のアナログバーを前方向にスライドさせるとラジコン戦車２００は前進する。
【０１０７】
図１１（Ｂ）は、ラジコン戦車２００を右旋回させるときの操作を示す図である。すなわち、左アナログバーを前方向、右アナログバーを後方向にスライドさせるとラジコン戦車２００は右旋回する。逆に、左アナログバーを後方向、右アナログバーを前方向にスライドさせるとラジコン戦車２００は左旋回する。
【０１０８】
図１１（Ｃ）は、ラジコン戦車２００を後退させるときの操作を示す図である。すなわち、左右のアナログバーを後方向にスライドさせるとラジコン戦車２００は後退する。
【０１０９】
次に、図１０（Ｂ）を参照して、動作ユニット「砲台」側のユーザインターフェイス画面７５０は、カメラ画像領域１１０２とパートナー情報領域１１０４と共有情報領域１１０６とボタン１１０８と左アナログバー１１１０と右アナログバー１１１２とを含む。
【０１１０】
カメラ画像領域１１０２には、砲台上部に搭載されたカメラ２８０によるカメラ画像が表示される。パートナー情報領域１１０４には、コントローラ１００Ａの操作状態が表示される。共有情報領域１１０６には、共有情報領域１００８と同様の情報が表示される。
【０１１１】
ボタン１１０８は、模擬弾発射ボタンとして機能する。ここで、コントローラ１００Ｂは動作ユニット「砲台」を操作するスレーブコントローラとして機能している。このとき、例えば、模擬弾発射ロック状態ではボタン１１０８が赤色であり、マスターコントローラに模擬弾発射の許可依頼を送信するためにボタン１１０８を押下すると、ボタン１１０８は黄色になる。そして、マスターコントローラにより模擬弾発射が許可（ロック状態が解除）されると、ボタン１１０８は緑色になる。
【０１１２】
左アナログバー１１１０、右アナログバー１１１２は、それぞれ砲台本体、砲台上部（カメラ２８０が搭載）を操作するためのアナログバーである。ユーザが左アナログバー１１１０を上下にスライドすると、例えば、砲台本体は左旋回、右旋回する。これにより、ユーザは模擬弾を発射する向きを調整する。同様に、ユーザが右アナログバー１１１２を上下にスライドすると、例えば、砲台上部は左旋回、右旋回する。これにより、ユーザはカメラ２８０で撮像する向きを調整する。
【０１１３】
＜４−２．各装置のフローチャート＞
次に、本実施の形態に従うコントローラ１００およびラジコン戦車２００が実行する処理の詳細について説明する。
【０１１４】
（４−２−１．ラジコン戦車２００）
まず、本実施の形態に従うラジコン戦車２００が実行する処理の詳細について説明する。
【０１１５】
図１２は、本実施の形態に従うラジコン戦車２００がコントローラ１００と接続する際に実行する処理を示すフローチャートである。
【０１１６】
図１２を参照して、まず、ラジコン戦車２００のＣＰＵ２１０は、通信インターフェイス２７０を介して、自身のＳＳＩＤを発信する（ステップＳ１０２）。このとき、ラジコン戦車２００は待機状態となる。
【０１１７】
次に、ＣＰＵ２１０（受信部２４）は、コントローラ１００からの接続要求を受信したか否かを判断する（ステップＳ１０４）。コントローラ１００からの接続要求を受信していない場合（ステップＳ１０４においてＮＯの場合）には、処理は、ステップＳ１０４を繰り返す。
【０１１８】
これに対して、コントローラ１００からの接続要求を受信した場合（ステップＳ１０４においてＹＥＳの場合）には、ＣＰＵ２１０は、当該接続要求を許可するか否かを判断する（ステップＳ１０６）。例えば、ＣＰＵ２１０は、予め定められたコントローラ１００にのみ接続を許可する場合には、接続要求とともにコントローラ１００の認証情報を受信したときに、接続を許可しても良い。また、ＣＰＵ２１０は、複数のコントローラからマスターコントローラとしての接続要求を受信している場合には、先に接続要求があったコントローラにのみ当該接続を許可し、他方のコントローラからの接続要求は許可しないと判断してもよい。これは、スレーブコントローラについても同様である。
【０１１９】
当該接続要求を許可しない場合（ステップＳ１０６においてＮＯの場合）には、ＣＰＵ２１０（送信部２２）は、接続の不許可を示す接続不許可情報をコントローラ１００に送信して（ステップＳ１０７）、処理は終了する。これに対して、当該接続要求を許可する場合（ステップＳ１０６においてＹＥＳの場合）には、ＣＰＵ２１０（送信部２２）は、接続の許可を示す接続許可情報をコントローラ１００に送信する。
【０１２０】
次に、ＣＰＵ２１０は、接続が許可された各コントローラ１００にマスターコントローラおよびスレーブコントローラの割り当てを行なう（ステップＳ１１０）。上述したように、例えば、ＣＰＵ２１０は、先に接続要求があったコントローラ１００に対して、マスターコントローラを割り当てる。ＣＰＵ２１０（送信部２２）は、マスターコントローラに動作ユニット２３０の候補一覧リスト情報およびスレーブコントローラの特定情報を送信する（ステップＳ１１２）。なお、スレーブコントローラの特定情報の送信の処理は、ステップＳ１１２〜Ｓ１２０の間のいずれであってもよい。
【０１２１】
次に、ＣＰＵ２１０（受信部２４）は、マスターコントローラが操作しようとする動作ユニットの操作要求をマスターコントローラから受信する（ステップＳ１１４）。ＣＰＵ２１０(関連付け部２１）は、当該操作要求を許可して、マスターコントローラと当該動作ユニットとを関連付け、当該動作ユニット以外の残余の動作ユニットをスレーブコントローラに関連付ける（ステップＳ１１６）。すなわち、ＣＰＵ２１０（関連付け部２１）は、マスターコントローラに当該操作要求のあった動作ユニットを優先的に関連付ける。
【０１２２】
次に、ＣＰＵ２１０（送信部２２）は、マスターコントローラおよびスレーブコントローラが、それぞれ関連付けられた各動作ユニットを識別するために必要な動作ユニット識別情報を上記各コントローラに送信する（ステップＳ１１８）。さらに、ＣＰＵ２１０（送信部２２）は、スレーブコントローラにマスターコントローラの特定情報を送信すると（ステップＳ１２０）、処理は終了する。なお、ステップＳ１２０の処理は、ステップＳ１１２〜ステップＳ１１８のいずれでもよい。
【０１２３】
なお、上記ではステップＳ１１８において、ＣＰＵ２１０（送信部２２）は、各コントローラと関連付けられた各動作ユニット識別情報を送信する例について説明した。しかし、コントローラ１００が動作ユニット２３０を操作するために必要な操作情報（プログラム、データなど）を保持していない場合等には、動作ユニット識別情報とともに当該操作情報をコントローラに送信しても良い。
【０１２４】
（４−２−２．コントローラ１００）
次に、本実施の形態に従うコントローラ１００が実行する処理の詳細について説明する。ここでは、マスターコントローラが実行する処理と、スレーブコントローラが実行する処理とを分けて説明する。
【０１２５】
まず、マスターコントローラが実行する処理について説明する。
図１３は、本実施の形態に従うマスターコントローラがラジコン戦車２００と接続する際に実行する処理を示すフローチャートである。
【０１２６】
マスターコントローラのＣＰＵ１１０（情報受信部１３）は、ラジコン戦車２００から発信されるＳＳＩＤを検知する（ステップＳ２０２）。ここで、ＣＰＵ１１０（情報受信部１３）は、メモリ１２０（記憶部１５）に検知したＳＳＩＤ情報を記憶しても良い。ＣＰＵ１１０（表示制御部１１）は、検知したＳＳＩＤをディスプレイ１３２（表示部１６）に候補一覧リスト情報として表示するように制御する。ここで、ＣＰＵ１１０は、メモリ１２０（記憶部１５）に候補一覧リスト情報を記憶しても良い。
【０１２７】
次に、ＣＰＵ１１０（情報送信部１２）は、タッチパネル１３０（入力部１４）を介して、接続するＳＳＩＤの選択の操作を受付けると、ラジコン戦車２００に対してマスターコントローラのコントローラ特定情報を含む接続要求を送信する（ステップＳ２０６）。ＣＰＵ１１０（情報受信部１３）は、ラジコン戦車２００から接続完了通知を受信したか否かを判断する（ステップＳ２０８）。ラジコン戦車２００から接続完了通知を受信していない場合（ステップＳ２０８においてＮＯの場合）には、処理はステップＳ２０８を繰り返す。これに対して、ラジコン戦車２００から接続完了通知を受信した場合（ステップＳ２０８においてＹＥＳの場合）には、処理はステップＳ２１０に進む。
【０１２８】
次に、ＣＰＵ１１０（情報受信部１３）は、ラジコン戦車２００から動作ユニットのリスト情報及びスレーブコントローラのコントローラ特定情報を受信する（ステップＳ２１０）。ＣＰＵ１１０（表示制御部１１）は、動作ユニットのリスト情報をディスプレイ１３２に表示するように制御する。
【０１２９】
次に、ＣＰＵ１１０（情報送信部１２）は、タッチパネル１３０を介して、操作する動作ユニットの選択の操作を受付けると、当該動作ユニットの操作要求をラジコン戦車２００に送信する（ステップＳ２１４）。ＣＰＵ１１０（情報受信部１３）は、ラジコン戦車２００から動作ユニット識別情報を受信する（ステップＳ２１６）。そして、ＣＰＵ１１０（表示制御部１１）は、メモリ１２０から操作画面データを取得し、動作ユニットに対応する操作画面（ユーザインターフェイス）を表示して（ステップＳ２１８）、処理は終了する。なお、ラジコン戦車２００から動作ユニットを操作するための操作情報（プログラム、データ）が送信されている場合には、ＣＰＵ１１０（表示制御部１１）は、当該操作情報に基づいて、操作画面を表示しても良い。
【０１３０】
次に、スレーブコントローラが実行する処理について説明する。
図１４は、本実施の形態に従うスレーブコントローラがラジコン戦車２００と接続する際に実行する処理を示すフローチャートである。
【０１３１】
ここで、ステップＳ３０２〜Ｓ３０８は、図１３で示したステップＳ２０２〜Ｓ２０８において、マスターコントローラをスレーブコントローラに置き換えたものに相当し、スレーブコントローラは、マスターコントローラと実質的に同一の処理を行なう。したがって、その詳細な説明は繰り返さない。
【０１３２】
ステップＳ３１０において、ＣＰＵ１１０（情報受信部１３）は、スレーブコントローラに関連付けられた動作ユニット識別情報とマスターコントローラのコントローラ特定情報とを受信する。ＣＰＵ１１０は、ユーザから当該動作ユニット識別情報に対応する動作ユニットの操作を了承する指示を受付けたか否かを判断する（ステップＳ３１２）。具体的には、例えば、ＣＰＵ１１０は、タッチパネル１３０を介して、タッチパネル１３０に表示された了承ボタンが押下されたか否かによって判断する。ＣＰＵ１１０が、当該動作ユニットの操作を了承する指示を受付けていない場合（ステップＳ３１２においてＮＯの場合）には、処理は終了する。
【０１３３】
これに対して、ＣＰＵ１１０が、当該動作ユニットの操作を了承する指示を受付けている場合（ステップＳ３１２においてＹＥＳの場合）には、ＣＰＵ１１０（情報送信部１２）は、ラジコン戦車２００に了承を通知する（ステップＳ３１４）。そして、ＣＰＵ１１０（表示制御部１１）は、メモリ１２０から操作画面データを取得し、動作ユニットに対応する操作画面を表示して（ステップＳ３１６）、処理は終了する。
【０１３４】
[５．操作例の詳細]
次に、本実施の形態に従うコントロールシステム１において、ラジコン戦車２００をコントローラ１００で操作する際の操作例の詳細について説明する。
【０１３５】
図１５は、実施の形態に従うコントロールシステム１において、ラジコン戦車２００をコントローラ１００で操作する際の操作の一例を示すシーケンス図である。
【０１３６】
なお、コントローラ１００Ａは、動作ユニット「車体」を操作するマスターコントローラであり、コントローラ１００Ｂは、動作ユニット「砲台」を操作するスレーブコントローラであるとする。なお、コントローラ１００の操作画面や操作方式については、図１０、１１で説明した通りである。
【０１３７】
また、以下の処理は、主に、ＣＰＵ２１０（受信部２４）が受信したコントローラ１００からの操作命令に基づいて、ＣＰＵ２１０（動作制御部２３）が第１の動作ユニットおよび第２の動作ユニットを制御することによって実現される。また、ＣＰＵ２１０（撮像部２５）は、撮像した画像データを出力し、ＣＰＵ２１０（送信部２２）が、当該画像データを常時各コントローラ１００に送信する。
【０１３８】
図１５を参照して、まず、ラジコン戦車２００は、コントローラ１００Ａおよびコントローラ１００Ｂに共有情報を送信する（ステップＳＱ５０）。ラジコン戦車２００は、カメラ画像を常時送信し続ける（ステップＳＱ５２）。
【０１３９】
次に、コントローラ１００Ａが、車体前部カメラを確認しているユーザから受付けた操作命令（前進）をラジコン戦車２００に送信すると（ステップＳＱ５４）、ラジコン戦車２００は、前進する（ステップＳ５６）。
【０１４０】
次に、コントローラ１００Ｂが、砲台上部カメラを確認しながらターゲットを捜索中のユーザから受付けた操作命令（砲台上部：右旋回）をラジコン戦車２００に送信すると（ステップＳＱ５８）、ラジコン戦車２００は砲台上部を右旋回する。これにより、当該ユーザは右周辺を確認することができる。
【０１４１】
次に、コントローラ１００Ａが、障害物を避けるために方向転換したいユーザから受付けた操作命令（右旋回）をラジコン戦車２００に送信すると（ステップＳＱ６２）、ラジコン戦車２００は車体を右旋回する（ステップＳＱ６４）。そして、コントローラ１００Ａが、当該ユーザから受付けた操作命令（前進）をラジコン戦車２００に送信すると（ステップＳＱ６６）、ラジコン戦車２００は前進する（ステップＳ６８）。
【０１４２】
次に、コントローラ１００Ｂが、ターゲットを左側で確認したユーザから受付けた操作命令（砲台左旋回）をラジコン戦車２００に送信すると（ステップＳＱ７０）、ラジコン戦車２００は、砲台を左旋回する（ステップＳＱ７２）。
【０１４３】
次に、コントローラ１００Ｂが、模擬弾を発射したいユーザから受付けた操作命令（模擬弾発射の許可依頼）を受付けると（ステップＳＱ７４）、コントローラ１００Ａ、１００Ｂのボタンが赤から黄色になる。そして、コントローラ１００Ａが、ユーザから受付けた模擬弾発射を許可する操作命令（ロック解除）をラジコン戦車２００に送信すると（ステップＳＱ７６）、ラジコン戦車２００は、模擬弾発射のロックを解除して（ステップＳ７８）、コントローラ１００Ｂに当該解除通知を送信する（ステップＳＱ８０）。このとき、コントローラ１００Ｂのボタンは黄色から緑になり、コントローラ１００Ｂが模擬弾を発射する操作命令をラジコン戦車２００に送信することが可能となる。ここで、コントローラ１００Ａが当該ロック解除通知をコントローラ１００Ｂに送信することで、コントローラ１００Ｂが当該通知を受信する場合であってもよい。すなわち、優先順位が最も高いマスターコントローラ以外のスレーブコントローラは、当該コントローラと関連付けられている動作ユニットに対する所定の操作命令の実行の許可を示す許可情報を受信したときに、所定の操作命令を模型装置に送信することが可能となる。
【０１４４】
次に、コントローラ１００Ｂが、ユーザから受付けた操作命令（模擬弾発射）をラジコン戦車２００に送信すると（ステップＳＱ８２）、ラジコン戦車２００は、模擬弾を発射する（ステップＳＱ８４）。このとき、ユーザはターゲットの破壊を確認する。
【０１４５】
次に、ラジコン戦車２００は、コントローラ１００Ａ、１００Ｂに共有情報の更新通知を行なう（ステップＳＱ８６）。コントローラ１００Ａが、他のターゲットを捜索するために、進行を開始しようとするユーザから受付けた操作命令（前進）をラジコン戦車２００に送信すると（ステップＳＱ８８）、ラジコン戦車２００は、前進する（ステップＳＱ９０）。
【０１４６】
なお、コントローラ１００Ａおよび１００Ｂのユーザは連携してラジコン戦車２００を操作するために、通信インターフェイス１７０を介して互いに通信（通話など）しながら上記操作を行なってもよい。
【０１４７】
また、コントローラ１００のＣＰＵ１１０（情報受信部１３）が、ラジコン戦車２００およびコントローラ１００以外の外部装置からの通信の割り込みを検知し、コントローラ１００によるラジコン戦車２００の操作が中断される場合には、ＣＰＵ１１０（情報送信部１２）は、模型装置（動作ユニット）を操作不能であることを他のコントローラに通知しても良い。
【０１４８】
[６．その他の実施の形態]
上記では、コントローラが２つの場合について説明したが、これに限らず、コントローラが３つ以上の場合であってもよい。この場合には、動作ユニットの数とコントローラの数とを対応付けて、模型装置を操作することが好ましい。
【０１４９】
なお、各ユーザは、マスターコントローラの操作対象となる動作ユニットとスレーブコントローラの操作対象となる動作ユニットとの関連付けを入れ替えて操作を続行してもよい。これは、例えば、マスターコントローラがラジコン戦車にアクセスして、ラジコン戦車に動作ユニットの関連付けを変更させることで実現することができる。これにより、長時間の操作が必要な場合に、負担の大きい動作ユニットの操作を互いに交代して行なうことで、模型装置を連続して動作させることができる。
【０１５０】
各々の装置におけるコンピュータを機能させて、上述のフローで説明したような制御を実行させるプログラムを提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、ＣＤ−ＲＯＭ（Compact  Disk-Read  Only Memory）、ＲＯＭ、ＲＡＭおよびメモリーカードなどの一時的でないコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
【０１５１】
なお、プログラムは、コンピュータのオペレーティングシステム（ＯＳ）の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずＯＳと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
【０１５２】
また、本発明にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。
【０１５３】
[７．利点]
本実施の形態とすることで、模型装置に含まれる複数の動作ユニットを分担して操作することで、複雑な操作が必要な場合であっても各々が集中して操作することができる。
【０１５４】
また、複数のコントローラを使用することで、上級者が初心者に指示をしながら、模型装置を操作することもできる。
【０１５５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１５６】
１  コントロールシステム、１１  表示制御部、１２  情報送信部、１３  情報受信部、１４  入力部、１５，２６  記憶部、１６  表示部、２１  表示制御部、２２  送信部、２３  動作制御部、２４  受信部、２５  撮像部、１００  コントローラ、１１０，２１０  ＣＰＵ、１２０，２２０  メモリ、１３０  タッチパネル、１３２  ディスプレイ、１３４  タブレット、１４０  スピーカ、１５０  ボタン、１６０，２６０  メモリーインターフェイス、１６２，２６２  記憶媒体、１７０，２７０  通信インターフェイス、２００  ラジコン戦車、２３０  動作ユニット、２３２  第１の動作ユニット、２３４  第２の動作ユニット、２８０  カメラ、２８２  第１のカメラ、２８４  第２のカメラ。
【図１】
2013172885.tif 000003
【図２】
2013172885.tif 000004
【図３】
2013172885.tif 000005
【図４】
2013172885.tif 000006
【図５】
2013172885.tif 000007
【図６】
2013172885.tif 000008
【図７】
2013172885.tif 000009
【図８】
2013172885.tif 000010
【図９】
2013172885.tif 000011
【図１０】
2013172885.tif 000012
【図１１】
2013172885.tif 000013
【図１２】
2013172885.tif 000014
【図１３】
2013172885.tif 000015
【図１４】
2013172885.tif 000016
【図１５】
2013172885.tif 000017