以下に、本願に開示する制御装置、制御システム、制御方法及びコンピュータプログラムを、各実施形態を示す図面に基づいて詳述する。
(実施形態1)
以下に、実施形態1に係る制御システムについて説明する。図1は実施形態1の制御システムの構成を示す模式図である。本実施形態1の制御システムは、本願に開示する制御装置である制御機1、制御機1を介して操作される被制御機(被制御装置)2,2a,2b,2c等を備える。
制御機1と、被制御機2,2a,2b,2cのそれぞれとは、数メートル程度の短距離間の無線通信を行なうように構成されている。具体的には、制御機1と、被制御機2,2a,2b,2cとは、Bluetooth(登録商標)、NFC(Near Field Communication)、ZigBee(登録商標)等の短距離無線通信規格に従った無線通信が可能に構成されている。また、制御機1と、被制御機2,2a,2b,2cとを、WLAN(Wireless Local Area Network)、赤外線を利用したIrDA(Infrared Data Association)等の無線通信規格に従った無線通信が可能に構成してもよい。
制御機1は、被制御機2,2a,2b,2cを操作するための遠隔操作機として利用されるので小型軽量化されることが望ましく、例えば名刺大のカード形状に構成されることが好ましい。また、更なる小型化が可能であれば、制御機1をペンダントトップとしたペンダントとして構成してもよく、腕時計又は指輪に取り付けられる形状に構成してもよい。
制御機1は、自身を中心として数メートルの範囲内に存在する被制御機2,2a,2b,2cのいずれかとの間で無線通信を行なう。従って、ユーザは、操作したい被制御機2(又は2a,2b,2c)の近くで制御機1を操作することにより、所望の被制御機2(又は2a,2b,2c)の遠隔操作機として制御機1を使用することができる。
以下では、被制御機2としてプリンタの動作を制御機1を用いて制御する構成を例に本実施形態1の制御システムを説明する。なお、制御機1を用いて制御される被制御機2としては、プリンタに限られず、例えば、コピー機、複合機、テレビジョン装置2a、映像及び/又は音声の録画再生装置2b、空調装置2c等がある。
録画再生装置2bとしては、例えば、ビデオテープレコーダ、DVD(Digital Versatile Disk)レコーダ、ハードディスクレコーダ、BD(Blu-ray Disc)レコーダ、ボイスレコーダ(digital voice recorder)等がある。空調装置2cとしては、例えば、エア・コンディショナー、加湿器、除湿機、空気清浄機等がある。これらの装置のほかに、例えば、照明器具及びカーナビゲーション装置等のように、遠隔操作機と共に販売されている電気機器も被制御機2に適用することができる。
以下に、本実施形態1の制御機1及び被制御機2の構成について詳述する。図2は実施形態1の制御機1及び被制御機2の構成を示すブロック図である。本実施形態1の制御機1は、制御部10、メモリ部13、各種センサ14、表示部15、短距離無線通信部16等を備える。これらのハードウェア各部はバス1aを介して相互に接続されている。
本実施形態1の制御機1は、本願に開示するコンピュータプログラムをメモリ部13に格納しておき、制御部10によってコンピュータプログラムが実行されることによって本願に開示する制御装置の動作を実現する。本願に開示するコンピュータプログラムは、予めメモリ部13に格納されている構成に限られない。例えば、制御機1が外部メモリへのアクセスが可能に構成されている場合には、制御機1が、外部メモリに記憶されたコンピュータプログラムを読み出してメモリ部13に格納してもよい。また、制御機1が、外部装置からコンピュータプログラムをダウンロードしてメモリ部13に格納してもよい。
制御部10は、CPU(Central Processing Unit )又はMPU(Micro Processor Unit)等であり、絶対時刻(年月日、時、分、秒)を刻時する時計を有している。制御部10は、所定のタイミングに従って、メモリ部13に予め格納してある制御プログラムを適宜実行する。また制御部10は、上述したハードウェア各部の動作を制御する。
メモリ部13は、例えばフラッシュメモリである。メモリ部13は、制御機1を本願に開示する制御装置として動作させるために必要な種々の制御プログラムを予め格納している。また、メモリ部13は、図3に示すようなアクションテーブル13aを格納している。アクションテーブル13aの詳細については後述する。
各種センサ14は、例えば、ジャイロセンサ及び加速度センサ等を含む3次元のモーションセンサである。各種センサ14は、ユーザが制御機1に対して行なったアクション(操作)を検出する。具体的には、各種センサ14は、ユーザが制御機1をどの方向に振ったか、どのように回したか等、制御機1の動きを検出する。
各種センサ14は、モーションセンサを用いる構成に限られない。例えば、レーザ、赤外線、超音波等を用いる各種のセンサを利用してもよい。具体的には、近接センサ、圧力センサ、温度センサ、照度センサ、心拍、脈拍、脳波、指紋、静脈、声紋等を検出するセンサ、静電容量センサ、変位センサ、画像センサ、角度センサ、角速度センサ、地磁気センサ、磁気センサ、傾斜センサ、方位、姿勢等を検出する姿勢方位基準装置、位置評定装置、GPS(Global Positioning System)、等のいずれかを組み合わせて用いればよい。また、バーコード、QRコード等のコード、RFID(Radio Frequency Identification)タグ、ICカード等に対する読み書きが可能なリーダライタ、タッチセンサ(タッチパネル)、マイク等を用いてもよい。なお、これらのセンサ以外のものを用いてもよいことは勿論である。
表示部15は、例えば液晶ディスプレイであり、制御部10からの指示に従って、制御機1の動作状態、ユーザに対して通知すべき情報等を表示する。
短距離無線通信部16は、数メートル程度の短距離間の無線通信を行なうためのインタフェースである。短距離無線通信部16は、制御機1を中心として数メートル程度の所定範囲内に存在する被制御機2との間で通信を行なう。
本実施形態1の制御機1は、専用の装置として説明する。しかし、制御機1は、例えば、モーションセンサ(各種センサ14)及び短距離通信機能(短距離無線通信部16)を備える携帯電話機、PHS、PDA等の携帯端末に対して制御プログラム及びアクションテーブル13aを追加することによっても実現できる。
本実施形態1の被制御機2は、制御部20、メモリ部23、各種処理部24、短距離無線通信部25等を備える。これらのハードウェア各部はバス2aを介して相互に接続されている。
制御部20は、CPU又はMPU等である。制御部20は、所定のタイミングに従ってメモリ部23に予め格納してある制御プログラムを適宜実行する。また制御部20は、上述したハードウェア各部の動作を制御する。
メモリ部23は、例えばフラッシュメモリである。メモリ部23は、被制御機2として動作するために必要な種々の制御プログラムを予め格納している。また、メモリ部23は、図4に示すようなプロファイルテーブル23aを格納している。プロファイルテーブル23aの詳細については後述する。
各種処理部24は、制御部20からの指示に従って各種処理を実行する。本実施形態1の被制御機2はプリンタであるので、各種処理部24は、例えば、外部装置から画像データを受信する受信処理、受信した画像データに基づく画像を出力する画像出力処理等の処理を行なう。
短距離無線通信部25は、数メートル程度の短距離間の無線通信を行なうためのインタフェースである。短距離無線通信部25は、被制御機2を中心として数メートル程度の所定範囲内に制御機1が進入した場合に制御機1との間で通信を行なう。
被制御機2は、例えばタッチパネル(図示せず)を備えており、タッチパネルを介して、ユーザによる操作の受け付け、ユーザへの各種情報の通知等を行なうことができる。
図3はアクションテーブル13aの格納内容を示す模式図である。図3に示すように、アクションテーブル(操作情報記憶部)13aには、制御機1が受付可能なアクション(操作)毎に、アクション情報、推奨制御情報及び操作回数(検知回数)等が対応付けて格納されている。なお、制御機1が受付可能なアクションとは、各種センサ14によって検知が可能なアクションのことである。
アクション情報は、制御機1の各種センサ14によって検知可能なアクション(操作)を示す情報(操作情報)である。具体的には、「ファイルを開いた状態で前面方向に2回振る」、「左方向に2回振る」等である。
本実施形態1では、表示部15が設けられている面を制御機1の前面とする。従って、「ファイルを開いた状態で前面方向に2回振る」というアクションは、所望のファイルを表示部15に表示させた状態で、表示部15が設けられている面の方向に制御機1を2回振る動作である。また、本実施形態1では、図1に示す状態の制御機1をユーザが見た状態で表示部15の左側を制御機1の左側とし、表示部15の右側を制御機1の右側とする。従って、「左方向に2回振る」というアクションは、図1に示す状態の制御機1を左側に2回振る動作である。
推奨制御情報は、それぞれのアクションに対して予め設定されている情報である。推奨制御情報は、被制御機2となり得る電気機器が有する各機能において、それぞれのアクションから直感的に推測できる機能を被制御機2に実行させるための情報である。ここでは、例えば、「ファイルの指定」を指示するための「Set File」、「次のページへの移動」を指示するための「Send Page」、「前のページへ戻る」を指示するための「Return Page」、「全ての端末(ユーザ)への一斉送信」を指示するための「Send to All」、「数値の設定」を指示するための「Num」、「処理の終了」を指示するための「Bye」、「処理の取り消し」を指示するための「Cancel」等が用いられている。
操作回数は、ユーザがそれぞれのアクションを行なった回数である。具体的には、ユーザがそれぞれのアクションを行なったことを各種センサ14によって検知した回数である。
アクションテーブル13aには、アクション情報及び推奨制御情報が予め格納されている。アクションテーブル13aの操作回数は、各種センサ14がそれぞれのアクションの実行を検知する都度、制御部10によって更新される。
図4はプロファイルテーブル23aの格納内容を示す模式図である。プロファイルテーブル23aには、被制御機2の動作を制御するための制御情報が格納されている。具体的には、図4に示すように、プロファイルテーブル(制御情報記憶部)23aには、被制御機2が有する機能毎に、項目名、制御情報及び引数等を含む機能情報が予め格納されている。プロファイルテーブル23aは、被制御機2の製造段階で作成される。項目名は、各機能を識別するための情報である。制御情報は、各機能に対応して予め設定されている情報である。被制御機2は、いずれかの制御情報を受信した場合に、対応する機能を実行する。引数は、被制御機2が各機能を実行する際に必要な情報である。なお、全ての機能情報に引数の情報が必要ではない。
プロファイルテーブル23aの1番目の機能情報としては、項目名の欄に「機器プロファイル」が格納され、制御情報の欄に「Printer」が格納されている。これは、被制御機2の機種がプリンタであることを示している。また、2番目の機能情報としては、項目名の欄に「機器名」が格納され、制御情報の欄に「Pri-AAA」が格納されている。これは、被制御機2を識別するための識別情報が「Pri-AAA」であることを示している。「機器名」に対する制御情報「Pri-AAA」は、同じ型番の機器であってもそれぞれの機器毎に異なる情報が割り当てられるので、各機器を識別することができる。機器プロファイル及び機器名の各情報は、通信機能を備えた全ての電気機器に通常付与されている情報である。
また、図4に示したプロファイルテーブル23aにおいては、イベント1の情報はファイル指定処理(Set File)に関する機能情報であり、イベント2の情報は印刷部数の設定(Copy Num)に関する機能情報である。イベント3の情報は各種処理のキャンセル(Cancel)に関する機能情報であり、イベント4の情報は白黒印刷(Black and White)に関する機能情報である。イベント5の情報はカラー印刷(Color)に関する機能情報であり、イベント6の情報は拡大処理(Expansion)に関する機能情報である。
以下に、上述した構成の制御システムにおいて、制御機1の制御部10が、メモリ部13に格納されている制御プログラムを実行することによって実現する機能について説明する。図5は実施形態1の制御機1の機能構成を示す機能ブロック図である。
本実施形態1の制御機1において、制御部10は、メモリ部13に格納されている制御プログラムを実行することによって、通信状況検知部10a、プロファイルテーブル取得部10b、マップ生成部10c、対応関係通知部10d、アクション検知部10e、制御情報判定部10f、制御情報確認部10g、制御情報送信部10h等の機能を実現する。
通信状況検知部10aは、短距離無線通信部16を介した被制御機2との通信状況を検知する。具体的には、通信状況検知部10aは、制御機1と被制御機2との距離が所定距離よりも近付くことによって、被制御機2との通信が開始されたか否かを検知する。通信状況検知部10aは、被制御機2との通信が開始されたことを検知した場合、その旨をプロファイルテーブル取得部10bに通知する。通信状況検知部10aは、制御機1が被制御機2との通信を行なっている場合、制御機1と被制御機2との距離が所定距離以上離れることによって、被制御機2との通信が遮断されたか否かも検知する。
プロファイルテーブル取得部(要求部)10bは、制御機1と被制御機2との通信が開始された場合、被制御機2にプロファイルテーブル23aを要求する。被制御機2の制御部20は、短距離無線通信部25を介して制御機1との通信が開始された後、制御機1からプロファイルテーブル23aを要求された場合、プロファイルテーブル23aをメモリ部23から読み出す。制御部20は、メモリ部23から読み出したプロファイルテーブル23aを短距離無線通信部(送出部)25を介して制御機1へ送信する。
プロファイルテーブル取得部(制御情報取得部)10bは、被制御機2から送信されたプロファイルテーブル23aを取得し、メモリ部13に格納させる。プロファイルテーブル取得部10bは、プロファイルテーブル23aを取得した旨をマップ生成部10cに通知する。
マップ生成部10cは、メモリ部13に格納されたアクションテーブル13a及びプロファイルテーブル23aに基づいて、図6(a),(b)に示すような対応付けマップ(対応テーブル)13bを生成してメモリ部13に格納する。図6は対応付けマップ13bの格納内容を示す模式図である。図6(a)は生成途中の対応付けマップ13bを示し、図6(b)は完成した対応付けマップ13bを示している。
対応付けマップ13bは、ユーザが制御機1に対して行なうアクションを示すアクション情報(操作情報)と、被制御機2が有する各機能を制御するための制御情報とを対応付けて記憶するマップである。具体的には、図6(a),(b)に示すように、対応付けマップ13bには、アクションテーブル13aに格納されている各アクション情報に、プロファイルテーブル23aに格納されている各制御情報が対応付けて記憶されている。
マップ生成部(類似検出部)10cは、まず、アクションテーブル13aに格納されている推奨制御情報と、プロファイルテーブル23aに格納されている制御情報とを比較し、いずれかの推奨制御情報に類似する制御情報があるか否かを判断する。図3に示すアクションテーブル13aと、図4に示すプロファイルテーブル23aとでは、マップ生成部10cは、プロファイルテーブル23aの制御情報「Set File」、「Copy Num」、「Cancel」のそれぞれが、アクションテーブル13aの推奨制御情報「Set File」、「Num」、「Cancel」のそれぞれに類似していると判断する。
マップ生成部10cは、いずれかの推奨制御情報に類似する制御情報があると判断した場合、この推奨制御情報に対応するアクション情報をアクションテーブル13aから読み出す。マップ生成部10cは、読み出したアクション情報に、この推奨制御情報に類似すると判断された制御情報を対応付けて対応付けマップ13bに格納する。図6(a)には、このようにしてアクション情報及び制御情報が格納された状態の対応付けマップ13bを示す。
具体的には、図6(a)に示した対応付けマップ13bには、推奨制御情報「Set File」に対応するアクション情報「ファイルを開いた状態で前面方向に2回振る」と、この推奨制御情報に類似すると判断された制御情報「Set File」とが対応付けて格納される。同様に、図6(a)に示した対応付けマップ13bには、推奨制御情報「Num」に対応するアクション情報「大きくまわす」と、制御情報「Copy Num」とが対応付けて格納され、推奨制御情報「Cancel」に対応するアクション情報「左方向に1回振った後、右方向に1回振る」と、制御情報「Cancel」とが対応付けて格納される。
ここで、アクションテーブル13aには、それぞれのアクションのアクション情報と、それぞれのアクションから直感的に結びつく推奨制御情報とが対応付けて格納されている。このようなアクションテーブル13aを用いて対応付けマップ13bを生成するので、制御機1に対して行なわれる各アクションと、各アクションから直感的に結びつく被制御機2の動作とを対応付けることができる。よって、被制御機2の各処理に、各処理から直感的に推測されるアクションを対応付けることができる。
次にマップ生成部10cは、アクションテーブル13aのアクション情報のうちで、上述した処理によっては制御情報を割り当てられなかったアクション情報があるか否かを判断する。制御情報を割り当てられなかったアクション情報があると判断した場合、マップ生成部10cは、制御情報を割り当てられなかったアクション情報を、操作回数が多い順にアクションテーブル13aから読み出す。またマップ生成部10cは、プロファイルテーブル23aの制御情報のうちで、上述した処理によってはアクション情報を割り当てられなかった制御情報をプロファイルテーブル23aの先頭から順に読み出す。マップ生成部10cは、それぞれ読み出した順にアクション情報及び制御情報を対応付けて対応付けマップ13bに格納する。
図6(b)には、このようにしてアクション情報及び制御情報が格納された状態の対応付けマップ13bを示す。ここでは、アクションテーブル13aからはアクション情報「右方向に2回振る」及び「左方向に2回振る」がこの順に読み出され、プロファイルテーブル23aからは制御情報「Black and White」及び「Color」がこの順に読み出される。よって、アクション情報「右方向に2回振る」及び制御情報「Black and White」が対応付けて対応付けマップ13bに格納され、アクション情報「左方向に2回振る」及び制御情報「Color」が対応付けて対応付けマップ13bに格納される。
マップ生成部10cは、アクションテーブル13aに格納されている全てのアクション情報に対して、プロファイルテーブル23aに格納されているいずれかの制御情報をそれぞれ対応付けて対応付けマップ13bに格納するまで上述した処理を行なう。マップ生成部10cは、全てのアクション情報のそれぞれに対して制御情報を対応付けて対応付けマップ13bに格納した場合、対応付けマップ13bが完成した旨を対応関係通知部10dに通知する。
対応関係通知部(報知部)10dは、マップ生成部10cによって生成された対応付けマップ13bに格納されたアクション情報及び制御情報の対応関係を通知する。具体的には、対応関係通知部10dは、対応付けマップ13bに格納されたアクション情報を読み出すと共に、対応付けマップ13bに格納された制御情報に対応する処理内容を、被制御機2から取得したプロファイルテーブル23aから読み出す。対応関係通知部10dは、それぞれ読み出したアクション情報及び処理内容を対応付けて表示する通知画面を生成し、表示部15に表示させる。
図7は通知画面の構成例を示す模式図である。図7に示す通知画面は、対応付けマップ13bに格納されたアクション情報のそれぞれが示すアクションと、各アクションに対応する被制御機2の機能とを対応付けて表示する。
これにより、制御機1のユーザは、被制御機2に各処理(機能)を実行させるために、制御機1に対して行なうべきアクション(操作)を把握することができる。よって、制御機1に対してユーザが行なうアクションと、被制御機2が行なう処理とを予め把握しておく必要がなく、ユーザの負担を軽減できる。
ユーザは、図7に示された通知画面によって、アクション及び機能の対応関係を確認した後、制御機1を背面方向に1回振ることによってOKボタンを操作する。なお、制御機1の背面方向とは、制御機1の表示部15が設けられている面の裏面である。制御機1の制御部10は、図7に示した通知画面においてOKボタンが操作された場合、通知画面の表示を終了し、対応付けマップ13bの生成処理を終了する。
対応付けマップ13bに格納されたアクション情報が示すアクションと、制御情報が示す被制御機2の機能との対応関係は、図7に示すような通知画面を表示部15に表示させて通知する構成に限られない。例えば、表示部15の表示領域が小さく、1行分の表示領域しかない場合、対応関係を示す文字列を一定方向に流して通知するようにしてもよい。また、制御機1がスピーカを備える場合、音声によって対応関係を通知するようにしてもよい。また、この対応関係をユーザに通知するタイミングは、対応付けマップ13bの生成後だけでなく、制御機1が被制御機2との通信を行なっている間であれば、ユーザからの要求に応じて適宜通知してもよい。
上述したように対応付けマップ13bを生成した制御機1において、アクション検知部10eは、各種センサ14からの出力信号に基づいて、ユーザが制御機1に対して行なったアクション(操作)を検出する。具体的には、アクション検知部(操作検知部)10eは、アクションテーブル13aに格納されているアクション情報のそれぞれが示すアクションのいずれかが行なわれたか否かを検知する。
アクション検知部10eは、いずれかのアクションが行なわれたことを検知した場合、このアクションの操作回数を更新する。具体的には、アクション検知部(検知回数更新部)10eは、検知したアクションのアクション情報に対応してアクションテーブル13aに格納してある操作回数(検知回数)に1を加算する。このように、各アクションの操作回数を計数することによって、ユーザが制御機1に対して行なう各アクションの頻度を把握できる。
アクション検知部10eは、いずれかのアクションが行なわれたことを検知した場合、検知したアクションを示すアクション情報をアクションテーブル13aから読み出し、制御情報判定部10fへ通知する。制御情報判定部10fは、アクション検知部10eから通知されたアクション情報に対応する制御情報を対応付けマップ13bから特定する。
具体的には、制御情報判定部10fは、対応付けマップ13bを検索し、アクション検知部10eから通知されたアクション情報が対応付けマップ13bに格納されているか否かを判断する。アクション情報が対応付けマップ13bに格納されていると判断した場合、制御情報判定部(特定部)10fは、アクション情報に対応して対応付けマップ13bに格納されている制御情報を対応付けマップ13bから読み出す。
制御情報判定部10fは、アクション検知部10eから通知されたアクション情報及び対応付けマップ13bから読み出した制御情報を制御情報確認部10gへ通知する。制御情報確認部10gは、通知された情報に基づいて、ユーザが制御機1に対して行なったアクションと、このアクションに対して被制御機2が行なう処理とを通知し、このアクション及び処理が適切であるか否かを確認する。
具体的には、制御情報確認部10gは、通知された制御情報に対応する処理内容を、被制御機2から取得したプロファイルテーブル23aから読み出す。制御情報確認部(検知結果通知部)10gは、通知されたアクション情報が示すアクションと、プロファイルテーブル23aから読み出した処理内容とを表示する確認画面を生成し、表示部15に表示させる。
図8は確認画面の構成例を示す模式図である。図8に示す通知画面は、制御機1が検知したアクションとして「大きく3回まわす」と、このアクションに対応する被制御機2の機能として「3部印刷」とを対応付けて表示する。
これにより、制御機1のユーザは、制御機1に対して自身が行なったアクションと、このアクションに対応して被制御機2が行なう処理(機能)とを確認することができる。
制御機1のユーザは、図8に示した確認画面を確認し、自身が行なったアクションが「大きく3回まわす」であり、自身が被制御機2に実行させようとした処理が「3部印刷」の設定であるか否かを判断する。ユーザは、図8に示されたアクション及び実行機能が適切であると判断した場合、制御機1を背面方向に1回振ることによってOKボタンを操作する。図8に示す確認画面においてOKボタンが操作された場合、制御情報確認部(受付部)10gは、確認画面によって通知したアクション及び機能が適切であることを受け付ける。そして、制御情報確認部10gは、制御情報判定部10fから通知されていた制御情報を制御情報送信部10hへ通知する。
一方、ユーザは、図8に示されたアクション及び/又は実行機能が適切でないと判断した場合、制御機1を左方向に1回振った後、右方向に1回振ることによってキャンセルボタンを操作する。なお、制御機1の左方向とは、図1に示した状態の制御機1をユーザが見た状態で表示部15の左側を制御機1の左側とする。図8に示す確認画面においてキャンセルボタンが操作された場合、制御情報確認部(受付部)10gは、確認画面によって通知したアクション及び/又は機能が適切でないことを受け付ける。この場合、制御情報確認部10gは、何も行なわずに処理を終了する。
制御情報送信部(制御部)10hは、制御情報確認部10gから制御情報を通知された場合、通知された制御情報を短距離無線通信部16を介して被制御機2へ送信する。これにより、制御情報送信部10hは、制御情報に従った動作(処理)の実行を被制御機2に指示する。被制御機2の制御部20は、短距離無線通信部25を介して制御機1から制御情報を取得した場合、取得した制御情報に対応する処理を実行する。これにより、制御機1は、ユーザによって行なわれたアクションに対応する制御情報に従って被制御機2の動作を制御することができる。よって、制御機1を被制御機2の遠隔操作機として使用することができる。
また、制御機1がアクションを検知した場合に、検知したアクション及びこのアクションに対応して被制御機2が実行する機能をユーザに通知することにより、このアクション及び機能の適否をユーザが判断することができる。よって、ユーザが、被制御機2に実行させたい機能に対応するアクションとは異なるアクションを行なった場合、又は制御機1によってアクションが誤認識された場合に、アクションを再度やり直すことができる。
なお、本実施形態1では、制御情報判定部10fは、アクション検知部10eからアクション情報を通知される都度、通知されたアクション情報及び対応付けマップ13bから読み出した制御情報を制御情報確認部10gへ通知する。しかし、このような構成に限られない。例えば、制御情報確認部10gが、アクション毎に、確認画面を介してユーザが確認した結果に基づいてOK率を算出してアクションテーブル13aに格納させておく。そして、制御情報判定部10fが、OK率が所定値(例えば90%)以上であるアクションについては、アクション情報及び制御情報を制御情報確認部10gへ通知せずに、制御情報送信部10hに通知させてもよい。これにより、ユーザがアクションを行なう都度、確認画面によってアクションが正しいか否かを確認する手間を省くことができる。
以下に、本実施形態1の制御システムにおいて、制御機1が被制御機2の動作を制御するために対応付けマップ13bを生成する処理についてフローチャートに基づいて説明する。図9及び図10は対応付けマップ13bの生成処理の手順を示すフローチャートである。以下の処理は、制御機1のメモリ部13に記憶してある制御プログラムに従って制御部10によって実行されると共に、被制御機2のメモリ部23に格納してある制御プログラムに従って制御部20によって実行される。また、図9では、破線で区切った2つの領域において、左側の領域に制御機1の制御部10による処理を、右側の領域に被制御機2の制御部20による処理をそれぞれ示している。
制御機1の制御部10は、被制御機2との通信が開始されたか否かを判断し(S1)、開始されていないと判断した場合(S1:NO)、開始されるまで待機する。被制御機2との通信が開始されたと判断した場合(S1:YES)、制御部10は、被制御機2にプロファイルテーブル23aを要求する(S2)。被制御機2の制御部20は、制御機1との通信が開始された後、制御機1からプロファイルテーブル23aを要求された場合、メモリ部23に格納してあるプロファイルテーブル23aを読み出し、制御機1へ送信する(S3)。
制御機1の制御部10は、被制御機2からプロファイルテーブル23aを取得した場合(S4)、取得したプロファイルテーブル23aをメモリ部13に格納させる(S5)。制御部10は、メモリ部13に格納してあるアクションテーブル13a及びプロファイルテーブル23aに基づいて対応付けマップ13bを生成する。具体的には、制御部10は、プロファイルテーブル23aに格納してある制御情報において、アクションテーブル13aに格納してある推奨制御情報のいずれかに類似する制御情報が有るか否かを判断する(S6)。推奨制御情報のいずれかに類似する制御情報が有ると判断した場合(S6:YES)、制御部10は、この推奨制御情報に対応するアクション情報と、この推奨制御情報に類似すると判断された制御情報とを対応付けて対応付けマップ13bに格納する(S7)。
制御部10は、ステップS6へ処理を戻し、アクションテーブル13aに格納してある推奨制御情報のいずれかに類似する、ほかの制御情報が有るか否かを判断する(S6)。制御部10は、推奨制御情報のいずれかに類似する制御情報が無いと判断するまで、ステップS6,S7の処理を繰り返す。制御部10は、推奨制御情報のいずれかに類似する制御情報が無いと判断した場合(S6:NO)、アクションテーブル13aに格納してあるアクション情報において、上述した処理によっては制御情報を割り当てられなかった(未割当の)アクション情報が有るか否かを判断する(S8)。
制御部10は、制御情報を割り当てられなかったアクション情報が有ると判断した場合(S8:YES)、未割当のアクション情報のうちで、操作回数が最も多いアクション情報をアクションテーブル13aから読み出す(S9)。制御部10は、プロファイルテーブル23aに格納してある制御情報において、上述した処理によってはアクション情報を割り当てられなかった制御情報のうちで、プロファイルテーブル23aの先頭に最も近い領域に格納されている制御情報をプロファイルテーブル23aから読み出す(S10)。
制御部10は、ステップS9で読み出したアクション情報と、ステップS10で読み出した制御情報とを対応付けて対応付けマップ13bに格納する(S11)。制御部10は、ステップS8へ処理を戻し、アクションテーブル13aに格納してあるアクション情報において、制御情報をまだ割り当てられていないアクション情報が有るか否かを判断する(S8)。制御部10は、アクションテーブル13aに格納してある全てのアクション情報のそれぞれに制御情報を割り当てるまで、ステップS8〜S11の処理を繰り返す。
制御部10は、制御情報をまだ割り当てられていないアクション情報が無いと判断した場合(S8:NO)、図7に示すような通知画面を生成する(S12)。制御部10は、生成した通知画面を表示部15に表示させ(S13)、対応付けマップ13bに格納されたアクション情報及び制御情報の対応関係を通知する。そして、制御部10は、上述した対応付けマップ13bの生成処理を終了する。
次に、上述した処理によって制御機1が対応付けマップ13bを生成した制御システムにおいて、制御機1が被制御機2の遠隔操作機として動作する際の処理についてフローチャートに基づいて説明する。図11は制御機1が被制御機2の動作を制御する際の処理の手順を示すフローチャートである。以下の処理は、制御機1のメモリ部13に記憶してある制御プログラムに従って制御部10によって実行されると共に、被制御機2のメモリ部23に格納してある制御プログラムに従って制御部20によって実行される。また、図11では、破線で区切った2つの領域において、左側の領域に制御機1の制御部10による処理を、右側の領域に被制御機2の制御部20による処理をそれぞれ示している。
制御機1の制御部10は、各種センサ14からの出力信号に基づいて、ユーザが制御機1に対して、アクションテーブル13aに格納されているアクション情報のそれぞれが示すアクションのいずれかを行なったか否かを判断する(S21)。いずれのアクションも行なわれていないと判断した場合(S21:NO)、制御部10は、待機する。いずれかのアクションが行なわれたと判断した場合(S21:YES)、制御部10は、実行を検知したアクションを示すアクション情報をアクションテーブル13aから読み出し、読み出したアクション情報に対応する制御情報を対応付けマップ13bから特定する(S22)。
制御部10は、ステップS21で実行を検知したアクションと、ステップS22で特定した制御情報が示す被制御機2の処理とが適切であるか否かを確認するための確認画面を生成し、表示部15に表示する(S23)。制御部10は、確認画面を介してOKボタンが操作されたか否かを判断し(S24)、OKボタンが操作されていないと判断した場合(S24:NO)、即ち、キャンセルボタンが操作された場合、ステップS21へ処理を戻す。
制御部10は、確認画面を介してOKボタンが操作されたと判断した場合(S24:YES)、アクションテーブル13aを更新する(S25)。具体的には、制御部10は、実行を検知したアクションのアクション情報に対応してアクションテーブル13aに格納してある操作回数に1を加算する。
制御部10は、ステップS22で特定した制御情報を被制御機2へ送信する(S26)。
被制御機2の制御部20は、制御機1から制御情報を取得した場合、取得した制御情報に対応する処理を実行する(S27)。これにより、制御機1が被制御機2の遠隔操作機として動作する際の処理は終了する。
上述したように、本実施形態1では、ユーザが制御機1に対して行なうアクションと、被制御機2が有する各機能とを対応付けた対応付けマップ13bを動的に生成する。これにより、対応付けマップ13bを予め用意しておく必要がない。従って、メーカー側は被制御機2となる電気機器毎に、それぞれの制御機1に対する対応付けマップ13bを生成しておく必要がなく、制御機1のユーザは、対応付けマップ13bを予め制御機1に登録しておく必要がない。また、対応付けマップ13bが動的に生成されるので、どのアクションに対してどの機能が対応付けられているかを予め把握しておく必要がないので、ユーザの負担を軽減できる。
上述した実施形態1では、被制御機2としてプリンタの動作を制御機1によって制御する構成を例に説明した。従って、プロファイルテーブル23aに格納されている機能情報としては、印刷処理(Set File)、印刷部数の設定(Copy Num)、キャンセル(Cancel)等に関する情報を用いていた。しかし、これらの情報に限られないことは勿論である。例えば、被制御機2としてテレビジョン装置の動作を制御機1によって制御することを想定した場合、プロファイルテーブル23aには、例えば、「チャンネル番号を1大きい値に設定」、「音量を所定値大きい値に設定」等に関する機能情報が格納される。
従って、アクションテーブル13aの推奨制御情報としても、「Set File」、「Send Page」、「Return Page」等の情報だけでなく、「チャンネル番号に1を加算」、「音量に所定値を加算」等の処理に対応する情報を格納しておけばよい。例えば、アクションテーブル13aに格納してあるアクション情報「左方向に2回振る」に対応する推奨制御情報として、「チャンネル番号を1小さい値に設定」する処理を示す情報を格納しておけばよい。
上述したように、制御機1は、生成した対応付けマップ13bをメモリ部13に格納しておき、ユーザによるアクションを検知した場合に、対応付けマップ13bに基づいて被制御機2の動作を制御する構成であった。制御機1と被制御機2とは短距離間の無線通信が可能に構成されているので、制御機1が被制御機2から所定の距離よりも離れた場合、制御機1と被制御機2との間の通信は終了する。このとき、制御機1の制御部10は、メモリ部13に格納してある対応付けマップ13bを削除してもよい。
また、制御機1の制御部10は、被制御機2との通信が終了した場合、被制御機2から取得したプロファイルテーブル23aに格納されていた機器プロファイル及び機器名の情報に対応付けて対応付けマップ13bをメモリ部13に格納してもよい。この場合、制御機1を同一の被制御機2の遠隔操作機として再度使用する際に、既に生成してある対応付けマップ13bを用いることができるので、処理の簡略化が図れる。
(実施形態2)
以下に、実施形態2に係る制御システムについて説明する。なお、本実施形態2の制御システムは、上述した実施形態1の制御システムと同様の構成によって実現することができるので、同様の構成については同一の符号を付して説明を省略する。
上述した実施形態1では、アクションテーブル13aに格納してあるアクション情報のそれぞれに、プロファイルテーブル23aに格納してある制御情報のいずれかを対応付けて対応付けマップ13bを生成する構成であった。また、本実施形態1では、アクションテーブル13aには予め設定された各情報が格納されている構成であった。これに対して、本実施形態2では、アクションテーブル13aに格納されている推奨制御情報、即ち、アクション情報に対応する推奨制御情報をユーザが任意に設定できる構成とする。
本実施形態2の制御機1において、制御部10は、ユーザがアクションテーブル13aの設定処理を行なうために所定の操作を行なった場合、図12に示すような設定画面を生成して表示部15に表示させる。図12は設定画面の構成例を示す模式図である。図12に示す設定画面は、アクションテーブル13aに格納してあるアクション情報のそれぞれに、アクションテーブル13aに格納すべき推奨制御情報のいずれかを割り当てるための画面である。
図12に示す設定画面では、アクション情報のそれぞれに対応して、いずれかの推奨制御情報を選択するためのプルダウンメニューが表示されている。ユーザは、プルダウンメニューを用いて、アクション情報のそれぞれに対して推奨制御情報のいずれかを割り当てる。なお、異なるアクション情報に同一の推奨制御情報を重複して割り当てることを防止するために、既にいずれかのアクション情報に対して割り当てられた推奨制御情報を選択できないように表示してもよい。
ユーザは、図12に示す設定画面において、各アクション情報に対して推奨制御情報を割り当てた後、この対応関係をアクションテーブル13aに登録したい場合、制御機1を背面方向に1回振ることによってOKボタンを操作する。図12に示す設定画面においてOKボタンが操作された場合、制御機1の制御部(推奨制御情報受付部)10は、設定画面を介してアクション情報及び推奨制御情報を受け付ける。制御部(記憶制御部)10は、受け付けたアクション情報及び推奨制御情報を対応付けてアクションテーブル13aに格納する。
図13はアクションテーブル13aの格納内容を示す模式図である。図13に示すように、本実施形態2のアクションテーブル13aには、各アクション情報に対してユーザが設定した推奨制御情報が格納される。よって、実施形態1のアクションテーブル13aでは、図3に示すように、アクション情報「大きくまわす」に対して2つの推奨制御情報「Send to All」、「Num」が格納されていたが、本実施形態2のアクションテーブル13aでは、アクション情報「大きくまわす」に対して1つの推奨制御情報「Num」が格納されることになる。
一方、ユーザは、図12に示す設定画面において、各アクション情報に対して推奨制御情報を割り当てる処理を中断したい場合、制御機1を左方向に1回振った後、右方向に1回振ることによってキャンセルボタンを操作する。図12に示す設定画面においてキャンセルボタンが操作された場合、制御機1の制御部10は、設定画面を介したアクションテーブル13aの設定処理を終了させる。
上述したように、本実施形態2では、アクションテーブル13aに格納されているアクション情報及び推奨制御情報の対応関係をユーザが任意に変更できる。これにより、ユーザは、制御機1に対して行ない易いアクション、制御機1に対してあまり行なわないアクション、各アクションから直感的に推測し易い情報等に応じて、それぞれ推奨制御情報を割り当てることができる。また、ユーザが被制御機2に対して実行指示を行なう可能性の高い処理の制御情報に類似する推奨制御情報を、ユーザがより操作し易いアクションに対応付けることにより、被制御機2の遠隔操作機として制御機1を操作する際の操作性をより向上させることができる。
上述したようにユーザによって任意に推奨制御情報が設定されたアクションテーブル13aを用いて対応付けマップ13bを生成する処理は、上述の実施形態1で説明した処理と同一であるので、説明を省略する。また、生成された対応付けマップ13bを用いて制御機1を被制御機2の遠隔操作機として使用する際の処理も、上述の実施形態1で説明した処理と同一であるので、説明を省略する。
(実施形態3)
以下に、実施形態3に係る制御システムについて説明する。なお、本実施形態3の制御システムは、上述した実施形態1の制御システムと同様の構成によって実現することができるので、同様の構成については同一の符号を付して説明を省略する。
上述した実施形態1では、アクションテーブル13aに格納してある推奨制御情報に類似する制御情報がある場合に、この推奨制御情報に対応するアクション情報と、類似する制御情報とを対応付けて対応付けマップ13bを生成する構成であった。また、上述した実施形態1では、このような処理によっては制御情報を割り当てられなかったアクション情報を操作回数が多い順に読み出すと共に、アクション情報を割り当てられなかった制御情報をプロファイルテーブル23aの先頭から順に読み出し、それぞれを対応付けて対応付けマップ13bを生成する構成であった。
これに対して、本実施形態3では、アクションテーブル13aに格納されているアクション情報に対してユーザが任意に優先度(処理順序)を設定しておき、操作回数が多い順にアクションテーブル13aからアクション情報を読み出す際に、同一の操作回数のアクション情報を複数読み出した場合に、優先度を考慮する構成とする。即ち、本実施形態3の制御機1は、類似する制御情報がなかった推奨制御情報に対応するアクション情報を操作回数が多い順に読み出した際に、同一の操作回数のアクション情報が複数ある場合、優先度が高いアクション情報から順に、プロファイルテーブル23aから読み出された制御情報を対応付けて対応付けマップ13bを生成する。
本実施形態3の制御機1において、制御部10は、ユーザがアクションテーブル13aに格納されている各アクション情報に優先度の割当を行なうために所定の操作を行なった場合、図14に示すような設定画面を生成して表示部15に表示させる。図14は設定画面の構成例を示す模式図である。図14に示す設定画面は、アクションテーブル13aに格納してあるアクション情報のそれぞれに、1,2,3…の優先度(処理順序)を付与するための画面である。
図14に示す設定画面では、アクション情報のそれぞれに対応して、1,2,3…の優先度を入力するための入力欄が表示されている。ユーザは、所定の操作を行なうことによって、アクション情報のそれぞれに対して優先度を付与する。
ユーザは、図14に示す設定画面において、各アクション情報に対して優先度を付与した後、この対応関係をアクションテーブル13aに登録したい場合、制御機1を背面方向に1回振ることによってOKボタンを操作する。図14に示す設定画面においてOKボタンが操作された場合、制御機1の制御部(処理順序受付部)10は、設定画面を介して優先度及びアクション情報を受け付ける。制御部(処理順序記憶制御部)10は、受け付けた優先度を、受け付けたアクション情報に対応付けてアクションテーブル13aに格納する。
図15はアクションテーブル13aの格納内容を示す模式図である。図15に示すように、本実施形態3のアクションテーブル13aには、予め設定されたアクション情報及び推奨制御情報に対応してユーザが設定した優先度と、逐次更新される操作回数とが格納される。
一方、ユーザは、図14に示す設定画面において、各アクション情報に対して優先度を付与する処理を中断したい場合、制御機1を左方向に1回振った後、右方向に1回振ることによってキャンセルボタンを操作する。図14に示す設定画面においてキャンセルボタンが操作された場合、制御機1の制御部10は、設定画面を介した優先度の設定処理を終了させる。
以下に、本実施形態3の制御機1において、制御部10がメモリ部13に格納されている制御プログラムを実行することによって実現する機能について説明する。本実施形態3の制御機1においても、制御部10は、図5に示した各機能を実現する。
本実施形態3のマップ生成部10cは、上述した実施形態1のマップ生成部10cと同様に、メモリ部13に格納してあるアクションテーブル13aと、被制御機2から取得してメモリ部13に格納したプロファイルテーブル23aとに基づいて、対応付けマップ13bを生成する。
本実施形態3のマップ生成部10cも、まず、アクションテーブル13aに格納された推奨制御情報と、プロファイルテーブル23aに格納された制御情報とを比較し、いずれかの推奨制御情報に類似する制御情報があるか否かを判断する。図15に示すアクションテーブル13aと、図4に示すプロファイルテーブル23aとにおいても、マップ生成部10cは、プロファイルテーブル23aの制御情報「Set File」、「Copy Num」、「Cancel」のそれぞれが、アクションテーブル13aの推奨制御情報「Set File」、「Num」、「Cancel」のそれぞれに類似していると判断する。
マップ生成部10cは、いずれかの推奨制御情報に類似する制御情報があると判断した場合、この推奨制御情報に対応するアクション情報をアクションテーブル13aから読み出す。マップ生成部10cは、読み出したアクション情報に、この推奨制御情報に類似すると判断された制御情報を対応付けて対応付けマップ13bに格納する。
次にマップ生成部10cは、アクションテーブル13aのアクション情報のうちで、上述した処理によっては制御情報を割り当てられなかったアクション情報があるか否かを判断する。制御情報を割り当てられなかったアクション情報があると判断した場合、マップ生成部10cは、制御情報を割り当てられなかったアクション情報を、操作回数が多い順にアクションテーブル13aから読み出す。ここでは、操作回数「6」のアクション情報「左方向に2回振る」及び「右方向に2回振る」が読み出される。
マップ生成部10cは、読み出したアクション情報が複数あるか否かを判断する。即ち、マップ生成部10cは、同一の操作回数のアクション情報が複数あるか否かを判断する。ここでは、2つのアクション情報「左方向に2回振る」及び「右方向に2回振る」が読み出されるので、マップ生成部10cは、読み出したアクション情報が複数あると判断する。
読み出したアクション情報が複数あると判断した場合、マップ生成部10cは、読み出したアクション情報のうちで優先度が高いアクション情報を特定する。一方、マップ生成部10cは、プロファイルテーブル23aの制御情報のうちで、上述した処理によってはアクション情報を割り当てられなかった制御情報をプロファイルテーブル23aの先頭から順に読み出す。そして、マップ生成部10cは、優先度が高いアクション情報と、プロファイルテーブル23aから読み出した制御情報とを対応付けて対応付けマップ13bに格納する。
また、マップ生成部10cは、同一の操作回数のアクション情報を複数読み出した場合に、次に優先度が高いアクション情報を特定し、特定したアクション情報と、次にプロファイルテーブル23aから読み出した制御情報とを対応付けて対応付けマップ13bに格納する。マップ生成部10cは、同一の操作回数のアクション情報の全てに対して制御情報の割り当てを行なう。
ここでは、アクション情報「左方向に2回振る」の優先度が、アクション情報「右方向に2回振る」の優先度よりも高いので、まず、アクション情報「左方向に2回振る」と、制御情報「Black and White」とが対応付けマップ13bに格納される。そして、アクション情報「右方向に2回振る」と、制御情報「Color」とが対応付けマップ13bに格納される。
図16は実施形態3の対応付けマップ13bの格納内容を示す模式図である。上述した処理によって、本実施形態3の制御機1は、図16に示すような対応付けマップ13bを生成する。マップ生成部10cは、アクションテーブル13aに格納されている全てのアクション情報に対して、プロファイルテーブル23aに格納されているいずれかの制御情報をそれぞれ対応付けて対応付けマップ13bに格納するまで上述した処理を行なう。
上述したように、本実施形態3では、アクションテーブル13aに格納されているアクション情報のそれぞれに優先度を付与しておく。よって、対応付けマップ13bを生成する際に、アクションテーブル13aに格納してある各アクション情報の操作回数が同一である場合には優先度を考慮することによって、操作回数が同一のアクション情報に対しても適切な順序で制御情報を割り当てることができる。
本実施形態3の制御機1において、マップ生成部10c以外の各部は、上述した実施形態1の各部と同様の処理を行なうので、説明を省略する。
以下に、本実施形態3の制御システムにおいて、制御機1が被制御機2の動作を制御するために対応付けマップ13bを生成する処理についてフローチャートに基づいて説明する。図17乃至図19は対応付けマップ13bの生成処理の手順を示すフローチャートである。以下の処理は、制御機1のメモリ部13に記憶してある制御プログラムに従って制御部10によって実行されると共に、被制御機2のメモリ部23に格納してある制御プログラムに従って制御部20によって実行される。また、図17では、破線で区切った2つの領域において、左側の領域に制御機1の制御部10による処理を、右側の領域に被制御機2の制御部20による処理をそれぞれ示している。
制御機1の制御部10は、被制御機2との通信が開始されたか否かを判断し(S31)、開始されていないと判断した場合(S31:NO)、開始されるまで待機する。被制御機2との通信が開始されたと判断した場合(S31:YES)、制御部10は、被制御機2にプロファイルテーブル23aを要求する(S32)。被制御機2の制御部20は、制御機1との通信が開始された後、制御機1からプロファイルテーブル23aを要求された場合、メモリ部23に格納してあるプロファイルテーブル23aを読み出し、制御機1へ送信する(S33)。
制御機1の制御部10は、被制御機2からプロファイルテーブル23aを取得した場合(S34)、取得したプロファイルテーブル23aをメモリ部13に格納させる(S35)。制御部10は、メモリ部13に格納してあるアクションテーブル13a及びプロファイルテーブル23aに基づいて対応付けマップ13bを生成する。
具体的には、制御部10は、プロファイルテーブル23aに格納してある制御情報において、アクションテーブル13aに格納してある推奨制御情報のいずれかに類似する制御情報が有るか否かを判断する(S36)。推奨制御情報のいずれかに類似する制御情報が有ると判断した場合(S36:YES)、制御部10は、この推奨制御情報に対応するアクション情報と、この推奨制御情報に類似すると判断された制御情報とを対応付けて対応付けマップ13bに格納する(S37)。
制御部10は、ステップS36へ処理を戻し、アクションテーブル13aに格納してある推奨制御情報のいずれかに類似する、ほかの制御情報が有るか否かを判断する(S36)。制御部10は、推奨制御情報のいずれかに類似する制御情報が無いと判断するまで、ステップS36,S37の処理を繰り返す。制御部10は、推奨制御情報のいずれかに類似する制御情報が無いと判断した場合(S36:NO)、アクションテーブル13aに格納してあるアクション情報において、上述した処理によっては制御情報を割り当てられなかった(未割当の)アクション情報が有るか否かを判断する(S38)。
制御部10は、制御情報を割り当てられなかったアクション情報が有ると判断した場合(S38:YES)、未割当のアクション情報のうちで、操作回数が最も多いアクション情報をアクションテーブル13aから読み出す(S39)。制御部10は、読み出したアクション情報が複数有るか否かを判断し(S40)、複数有ると判断した場合(S40:YES)、アクションテーブル13aに格納してある優先度が高い方のアクション情報を特定する(S41)。
制御部10は、プロファイルテーブル23aに格納してある制御情報において、上述した処理によってはアクション情報を割り当てられなかった制御情報のうちで、プロファイルテーブル23aの先頭に最も近い領域に格納されている制御情報をプロファイルテーブル23aから読み出す(S42)。制御部10は、ステップS41で特定したアクション情報と、ステップS42で読み出した制御情報とを対応付けて対応付けマップ13bに格納する(S43)。
制御部10は、ステップS39で読み出したアクション情報のうちで、制御情報をまだ割り当てられていない(未割当の)アクション情報が有るか否かを判断する(S44)。制御情報をまだ割り当てられていないアクション情報が有ると判断した場合(S44:YES)、制御部10は、ステップS39で読み出した複数のアクション情報のうちで、次に優先度が高いアクション情報を特定する(S45)。
制御部10は、プロファイルテーブル23aに格納してある制御情報において、まだアクション情報を割り当てられていない制御情報のうちで、プロファイルテーブル23aの先頭に最も近い領域に格納されている制御情報を読み出す(S46)。制御部10は、ステップS45で特定したアクション情報と、ステップS46で読み出した制御情報とを対応付けて対応付けマップ13bに格納する(S47)。
ステップS40で、読み出したアクション情報が複数無いと判断した場合(S40:NO)、制御部10は、ステップS46へ処理を移行し、まだアクション情報を割り当てられていない制御情報のうちで、プロファイルテーブル23aの先頭に最も近い領域に格納されている制御情報を読み出す(S46)。制御部10は、ステップS39で読み出したアクション情報と、ステップS46で読み出した制御情報とを対応付けて対応付けマップ13bに格納する(S47)。
制御部10は、ステップS44へ処理を戻し、ステップS39で読み出したアクション情報のうちで、制御情報をまだ割り当てられていないアクション情報が有るか否かを判断する(S44)。制御部10は、ステップS39で読み出した全てのアクション情報のそれぞれに制御情報を割り当てるまで、ステップS44〜S47の処理を繰り返す。制御部10は、ステップS39で読み出したアクション情報のうちで、制御情報をまだ割り当てられていないアクション情報が無いと判断した場合(S44:NO)、ステップS38へ処理を戻す。
制御部10は、アクションテーブル13aに格納してあるアクション情報において、制御情報をまだ割り当てられていないアクション情報が有るか否かを判断する(S38)。制御部10は、アクションテーブル13aに格納してある全てのアクション情報のそれぞれに制御情報を割り当てるまで、ステップS38〜S47の処理を繰り返す。制御部10は、制御情報をまだ割り当てられていないアクション情報が無いと判断した場合(S38:NO)、図7に示すような通知画面を生成する(S48)。
制御部10は、生成した通知画面を表示部15に表示させ(S49)、対応付けマップ13bに格納されたアクション情報及び制御情報の対応関係を通知する。そして、制御部10は、上述した対応付けマップ13bの生成処理を終了する。
上述したように、本実施形態3では、対応付けマップ13bを生成する際に、アクションテーブル13aに格納してある各アクション情報の操作回数が同一である場合には優先度を考慮する。よって、操作回数が同一のアクション情報に対しても適切な順序で制御情報を割り当てることができる。
上述した処理によって制御機1が対応付けマップ13bを生成した制御システムにおいて、制御機1が被制御機2の遠隔操作機として動作する際の処理は、上述の実施形態1で説明した処理と同一であるので説明を省略する。
上述した実施形態3では、操作回数が同一のアクション情報をアクションテーブル13aから複数読み出した場合に、優先度の高いアクション情報から順に制御情報を割り当てる構成であった。このような構成に限られず、操作回数は考慮せずに、単に優先度の高いアクション情報から順に制御情報を割り当てる構成としてもよい。具体的には、例えば、アクションテーブル13aに格納してある推奨制御情報に類似する制御情報と、この推奨制御情報に対応するアクション情報とを対応付けて対応付けマップ13bに格納した後に、優先度の高い順にアクションテーブル13aから読み出したアクション情報と、プロファイルテーブル23aの先頭から順に読み出した制御情報とを対応付けて対応付けマップ13bに格納するように構成してもよい。
(実施形態4)
以下に、実施形態4に係る制御システムについて説明する。なお、本実施形態4の制御システムは、上述した実施形態1の制御システムと同様の構成によって実現することができるので、同様の構成については同一の符号を付して説明を省略する。
上述した実施形態1では、アクションテーブル13aに格納してある推奨制御情報に対応するアクション情報と、この推奨制御情報に類似する制御情報とを対応付けて対応付けマップ13bを生成する構成であった。また、上述した実施形態1は、この処理によっては制御情報を割り当てられなかったアクション情報に対しては、操作回数が多い順に制御情報を対応付けて対応付けマップ13bを生成する構成であった。
これに対して、本実施形態4では、生成した対応付けマップ13bに対して、実際にユーザが制御機1を操作することによって被制御機2を動作させた回数(制御回数)を蓄積する構成とする。そして、実行回数が所定数以上であるアクション情報及び制御情報を、次に対応付けマップ13bを生成する際にそのまま使用する構成とする。
本実施形態4の制御機1は、図2に示した実施形態1の制御機1と同様の構成のほかに、図20(b)に示すような累積情報テーブル13cをメモリ部13に格納している。また、本実施形態4の制御機1が生成する対応付けマップ13bは、図20(a)に示すようなマップである。
図20は実施形態4の対応付けマップ13b及び累積情報テーブル13cの格納内容を示す模式図である。本実施形態4の対応付けマップ13bは、図20(a)に示すように、ユーザが制御機1に対して行なうアクションを示すアクション情報と、被制御機2が有する各機能を制御するための制御情報と、このアクション情報によって対応する機能を被制御機2に実行させた実行回数(制御回数)とをそれぞれ対応付けて格納する。
即ち、本実施形態4の対応付けマップ13bは、図6に示した実施形態1の対応付けマップ13bに実行回数の欄を追加した構成である。本実施形態4の対応付けマップ13bは、制御部10(マップ生成部10c)によって生成され、いずれかのアクション情報が示すアクションによって対応する機能を被制御機2に実行させた場合に、制御部10によって実行回数が更新される。
累積情報テーブル(制御回数記憶部)13cは、図20(b)に示すように、ユーザが制御機1に対して行なうアクションを示すアクション情報と、被制御機2が有する各機能を制御するための制御情報と、このアクション情報によって対応する機能を被制御機2に実行させた実行回数の累積を示す累積実行回数とをそれぞれ対応付けて格納する。即ち、累積情報テーブル13cは、対応付けマップ13bと同様の構成を有しており、対応付けマップ13bの実行回数の代わりに、累積実行回数の欄を有している。累積情報テーブル13cの格納内容は、制御機1と被制御機2との通信が遮断される都度、制御部10によって更新される。
以下に、本実施形態4の制御機1において、制御部10がメモリ部13に格納されている制御プログラムを実行することによって実現する機能について説明する。図21は実施形態4の制御機1の機能構成を示す機能ブロック図である。
本実施形態4の制御機1において、制御部10は、図5に示した各機能のほかに、累積情報更新部10iの機能を実現する。なお、図21においては、プロファイルテーブル取得部10b、マップ生成部10c及び対応関係通知部10dの図示を省略している。
本実施形態4のマップ生成部10cは、被制御機2から取得したプロファイルテーブル23aと、メモリ部13に格納してあるアクションテーブル13a及び累積情報テーブル13cとに基づいて、対応付けマップ13bを生成する。
本実施形態4のマップ生成部10cは、まず、累積情報テーブル13cに格納されている累積実行回数が所定数(例えば3回)以上であるアクション情報及び制御情報の組みがあるか否かを判断する。累積実行回数が所定数以上の組みがあると判断した場合、マップ生成部10cは、この組みのアクション情報がアクションテーブル13aに格納されているか否か、この組みの制御情報がプロファイルテーブル23aに格納されているか否かを判断する。この組みのアクション情報がアクションテーブル13aに格納されており、この組みの制御情報がプロファイルテーブル23aに格納されていると判断した場合、マップ生成部10cは、この組みのアクション情報及び制御情報を対応付けマップ13bに格納する。このときマップ生成部10cは、この組みに対応する実行回数に0を格納する。なお、この組みのアクション情報がアクションテーブル13aに格納されていない場合、及び/又は、この組みの制御情報がプロファイルテーブル23aに格納されていない場合、マップ生成部10cは、対応付けマップ13bへの格納は行なわない。
マップ生成部10cは、累積情報テーブル13cに格納されている累積実行回数が所定数以上である全てのアクション情報及び制御情報に対して上述した処理を行なって対応付けマップ13bに格納する。次に、マップ生成部10cは、アクションテーブル13aに格納されているアクション情報のうちで、上述した処理によっては制御情報を割り当てられなかったアクション情報と、プロファイルテーブル23aに格納されている制御情報のうちで、上述した処理によってはアクション情報を割り当てられなかった制御情報との対応付けを行なう。
マップ生成部10cは、制御情報を割り当てられていないアクション情報に対応する推奨制御情報と、アクション情報を割り当てられていない制御情報とを比較し、いずれかの推奨制御情報に類似する制御情報があるか否かを判断する。マップ生成部10cは、いずれかの推奨制御情報に類似する制御情報があると判断した場合、この推奨制御情報に対応するアクション情報をアクションテーブル13aから読み出す。マップ生成部10cは、読み出したアクション情報に、この推奨制御情報に類似すると判断された制御情報を対応付けて対応付けマップ13bに格納する。このときマップ生成部10cは、この組みに対応する実行回数に0を格納する。
次に、マップ生成部10cは、アクションテーブル13aに格納されているアクション情報のうちで、上述した2つの処理によっては制御情報を割り当てられなかったアクション情報と、プロファイルテーブル23aに格納されている制御情報のうちで、上述した2つの処理によってはアクション情報を割り当てられなかった制御情報との対応付けを行なう。
マップ生成部10cは、制御情報を割り当てられていないアクション情報を、操作回数が多い順にアクションテーブル13aから読み出し、アクション情報を割り当てられていない制御情報をプロファイルテーブル23aの先頭から順に読み出す。マップ生成部10cは、それぞれ読み出した順にアクション情報及び制御情報を対応付けて対応付けマップ13bに格納する。このときマップ生成部10cは、この組みに対応する実行回数に0を格納する。
上述した処理を行なうことにより、マップ生成部10cは、アクションテーブル13aに格納されている全てのアクション情報に対して、プロファイルテーブル23aに格納されているいずれかの制御情報をそれぞれ対応付けて対応付けマップ13bに格納する。このような処理により、マップ生成部10cは、図20(a)に示すような対応付けマップ13bを生成する。
上述したように、本実施形態4では、既に実行回数が所定数以上のアクション情報及び制御情報の各組みを対応付けマップ13bに格納することにより、既にユーザが所定数以上実行したことのある操作を再度利用することができる。よって、ユーザの操作性をより向上させることができる。
本実施形態4の制御情報確認部10gは、上述した実施形態1の制御情報確認部10gと同様の処理を行ない、制御情報判定部10fから通知された情報に基づいて、ユーザが制御機1に対して行なったアクションと、このアクションに対して被制御機2が行なう処理とが適切であるか否かをユーザに確認する。
本実施形態4の制御情報確認部10gは、ユーザに通知したアクション及び機能が適切である旨を受け付けた場合、通知したアクションを示すアクション情報と、通知した機能を示す制御情報とに対応する実行回数を更新する。具体的には、制御情報確認部10gは、通知したアクションを示すアクション情報と、通知した機能を示す制御情報とに対応して対応付けマップ13bに格納してある実行回数に1を加算する。そして、制御情報確認部10gは、制御情報判定部10fから通知された制御情報を制御情報送信部10hへ通知する。なお、本実施形態4の制御情報確認部10gも、ユーザに通知したアクション及び機能が適切でない旨を受け付けた場合、何も行なわずに処理を終了する。
本実施形態4の通信状況検知部10aは、制御機1と被制御機2との距離が所定距離よりも近付くことによって、被制御機2との通信が開始されたか否かを検知すると共に、制御機1と被制御機2との距離が所定距離よりも遠ざかることによって、被制御機2との通信が遮断されたか否かを検知する。通信状況検知部10aは、被制御機2との通信が遮断されたことを検知した場合、その旨を累積情報更新部10iに通知する。
累積情報更新部(制御回数更新部)10iは、被制御機2との通信が遮断されたことを通信状況検知部10aから通知された場合、対応付けマップ13bの格納内容に基づいて累積情報テーブル13cを更新する。具体的には、累積情報更新部10iは、対応付けマップ13bに格納してあるアクション情報、制御情報及び実行回数の各組みで、実行回数が0ではない組みの情報を読み出し、読み出したアクション情報及び制御情報と同一の情報が累積情報テーブル13cに格納されているか否かを判断する。
同一の情報が累積情報テーブル13cに格納されていると判断した場合、累積情報更新部10iは、同一の情報に対応付けて累積情報テーブル13cに格納されている累積実行回数に、対応付けマップ13bから読み出した実行回数を加算し、累積実行回数を更新する。一方、同一の情報が累積情報テーブル13cに格納されていないと判断した場合、累積情報更新部10iは、対応付けマップ13bから読み出したアクション情報、制御情報及び実行回数をそれぞれ、累積情報テーブル13cのアクション情報、制御情報及び累積実行回数の欄に格納し、累積情報テーブル13cを更新する。
図22は累積情報テーブル13cの格納内容を示す模式図である。図22に示す累積情報テーブル13cは、図20(a)に示した対応付けマップ13bの格納内容に基づいて、図20(b)に示した累積情報テーブル13cの格納内容を更新した場合の累積情報テーブル13cである。本実施形態4では、このように、被制御機2との通信が遮断された後に逐次更新される累積情報テーブル13cを用いて対応付けマップ13bを生成する。これにより、制御機1のユーザが実際に被制御機2を動作させるために制御機1に対して行なったアクションを対応付けマップ13bに登録することができる。
本実施形態4の制御機1において、通信状況検知部10a、プロファイルテーブル取得部10b、対応関係通知部10d、アクション検知部10e、制御情報判定部10f、制御情報送信部10hは、上述した実施形態1の各部と同様の処理を行なうので説明を省略する。
以下に、本実施形態4の制御システムにおいて、制御機1が被制御機2の動作を制御するために対応付けマップ13bを生成する処理についてフローチャートに基づいて説明する。図23及び図24は対応付けマップ13bの生成処理の手順を示すフローチャートである。
以下の処理は、制御機1のメモリ部13に記憶してある制御プログラムに従って制御部10によって実行されると共に、被制御機2のメモリ部23に格納してある制御プログラムに従って制御部20によって実行される。また、図23では、破線で区切った2つの領域において、左側の領域に制御機1の制御部10による処理を、右側の領域に被制御機2の制御部20による処理をそれぞれ示している。
制御機1の制御部10は、被制御機2との通信が開始されたか否かを判断し(S51)、開始されていないと判断した場合(S51:NO)、開始されるまで待機する。被制御機2との通信が開始されたと判断した場合(S51:YES)、制御部10は、被制御機2にプロファイルテーブル23aを要求する(S52)。被制御機2の制御部20は、制御機1との通信が開始された後、制御機1からプロファイルテーブル23aを要求された場合、メモリ部23に格納してあるプロファイルテーブル23aを読み出し、制御機1へ送信する(S53)。
制御機1の制御部10は、被制御機2からプロファイルテーブル23aを取得した場合(S54)、取得したプロファイルテーブル23aをメモリ部13に格納させる(S55)。制御部10は、メモリ部13に格納してあるアクションテーブル13a、累積情報テーブル13c及びプロファイルテーブル23aに基づいて対応付けマップ13bを生成する。具体的には、制御部10は、累積情報テーブル13cに格納されている累積実行回数が所定数以上であるアクション情報及び制御情報の組みが有るか否かを判断する(S56)。累積実行回数が所定数以上の組みが有ると判断した場合(S56:YES)、制御部10は、この組みのアクション情報がアクションテーブル13aに格納されており、この組みの制御情報がプロファイルテーブル23aに格納されているか否かを判断する(S57)。
この組みのアクション情報がアクションテーブル13aに格納されておらず、又はこの組みの制御情報がプロファイルテーブル23aに格納されていないと判断した場合(S57:NO)、制御部10は、ステップS56へ処理を戻す。この組みのアクション情報がアクションテーブル13aに格納されており、この組みの制御情報がプロファイルテーブル23aに格納されていると判断した場合(S57:YES)、制御部10は、この組みのアクション情報及び制御情報を対応付けマップ13bに格納する(S58)。なお、制御部10は、この組みに対応する実行回数として0を対応付けマップ13bに格納する。
制御部10は、ステップS56へ処理を戻し、累積実行回数が所定数以上であるほかの組みが有るか否かを判断する(S56)。制御部10は、累積実行回数が所定数以上である組みが無いと判断するまで、ステップS56〜S58の処理を繰り返す。制御部10は、累積実行回数が所定数以上であるほかの組みが無いと判断した場合(S56:NO)、まだアクション情報が割り当てられていない制御情報において、まだ制御情報を割り当てられていないアクション情報に対応する推奨制御情報のいずれかに類似する制御情報が有るか否かを判断する(S59)。
推奨制御情報のいずれかに類似する制御情報が有ると判断した場合(S59:YES)、制御部10は、この推奨制御情報に対応するアクション情報と、この推奨制御情報に類似すると判断された制御情報とを対応付けて対応付けマップ13bに格納する(S60)。なお、制御部10は、この組みに対応する実行回数として0を対応付けマップ13bに格納する。制御部10は、ステップS59へ処理を戻し、まだ制御情報を割り当てられていないアクション情報に対応する推奨制御情報のいずれかに類似する、ほかの制御情報が有るか否かを判断する(S59)。
制御部10は、推奨制御情報のいずれかに類似する制御情報が無いと判断するまで、ステップS59,S60の処理を繰り返す。制御部10は、推奨制御情報のいずれかに類似する制御情報が無いと判断した場合(S59:NO)、まだ制御情報を割り当てられていないアクション情報が有るか否かを判断する(S61)。
制御部10は、まだ制御情報を割り当てられていないアクション情報が有ると判断した場合(S61:YES)、未割当のアクション情報のうちで、操作回数が最も多いアクション情報をアクションテーブル13aから読み出す(S62)。制御部10は、まだアクション情報を割り当てられていない制御情報のうちで、プロファイルテーブル23aの先頭に最も近い領域に格納されている制御情報をプロファイルテーブル23aから読み出す(S63)。
制御部10は、ステップS62で読み出したアクション情報と、ステップS63で読み出した制御情報とを対応付けて対応付けマップ13bに格納する(S64)。なお、制御部10は、この組みに対応する実行回数として0を対応付けマップ13bに格納する。制御部10は、ステップS61へ処理を戻し、まだ制御情報を割り当てられていないアクション情報が有るか否かを判断する(S61)。制御部10は、アクションテーブル13aに格納してある全てのアクション情報のそれぞれに制御情報を割り当てるまで、ステップS61〜S64の処理を繰り返す。
制御部10は、まだ制御情報を割り当てられていないアクション情報が無いと判断した場合(S61:NO)、図7に示すような通知画面を生成する(S65)。制御部10は、生成した通知画面を表示部15に表示させ(S66)、対応付けマップ13bに格納されたアクション情報及び制御情報の対応関係を通知する。そして、制御部10は、上述した対応付けマップ13bの生成処理を終了する。
次に、本実施形態4の制御システムにおいて、制御機1が被制御機2の遠隔操作機として動作する際の処理についてフローチャートに基づいて説明する。図25は制御機1が被制御機2の動作を制御する際の処理の手順を示すフローチャートである。
以下の処理は、制御機1のメモリ部13に記憶してある制御プログラムに従って制御部10によって実行されると共に、被制御機2のメモリ部23に格納してある制御プログラムに従って制御部20によって実行される。また、図25では、破線で区切った2つの領域において、左側の領域に制御機1の制御部10による処理を、右側の領域に被制御機2の制御部20による処理をそれぞれ示している。
制御機1の制御部10は、各種センサ14からの出力信号に基づいて、ユーザが制御機1に対して、アクションテーブル13aに格納されているアクション情報のそれぞれが示すアクションのいずれかを行なったか否かを判断する(S71)。いずれのアクションも行なわれていないと判断した場合(S71:NO)、制御部10は、待機する。いずれかのアクションが行なわれたと判断した場合(S71:YES)、制御部10は、実行を検知したアクションを示すアクション情報をアクションテーブル13aから読み出し、読み出したアクション情報に対応する制御情報を対応付けマップ13bから特定する(S72)。
制御部10は、ステップS71で実行を検知したアクションと、ステップS72で特定した制御情報が示す被制御機2の処理とが適切であるか否かを確認するための確認画面を生成し、表示部15に表示する(S73)。制御部10は、確認画面を介してOKボタンが操作されたか否かを判断し(S74)、OKボタンが操作されていないと判断した場合(S74:NO)、即ち、キャンセルボタンが操作された場合、ステップS71へ処理を戻す。
制御部10は、確認画面を介してOKボタンが操作されたと判断した場合(S74:YES)、アクションテーブル13aを更新する(S75)。具体的には、制御部10は、実行を検知したアクションのアクション情報に対応してアクションテーブル13aに格納してある操作回数に1を加算する。そして、制御部10は、対応付けマップ13bを更新する(S76)。具体的には、制御部10は、ステップS71で実行を検知したアクションを示すアクション情報と、ステップS72で特定した制御情報とに対応する実行回数に1を加算する。
制御部10は、ステップS72で特定した制御情報を被制御機2へ送信する(S77)。被制御機2の制御部20は、制御機1から制御情報を取得した場合、取得した制御情報に対応する処理を実行する(S78)。これにより、制御機1が被制御機2の遠隔操作機として動作する際の処理は終了する。
次に、本実施形態4の制御システムにおいて、制御機1が被制御機2から所定の距離以上離れた場合に制御機1が行なう累積情報テーブル13cの更新処理についてフローチャートに基づいて説明する。図26は制御機1による累積情報テーブル13cの更新処理の手順を示すフローチャートである。以下の処理は、制御機1のメモリ部13に記憶してある制御プログラムに従って制御部10によって実行される。
制御機1の制御部10は、被制御機2との通信が遮断されたか否かを判断し(S81)、遮断されていないと判断した場合(S81:NO)、その他の処理を行なって待機する。被制御機2との通信が遮断されたと判断した場合(S81:YES)、制御部10は、対応付けマップ13bに格納されているアクション情報、制御情報及び実行回数の各組みで、実行回数が0ではない組みの情報を読み出す(S82)。制御部10は、読み出したアクション情報及び制御情報と同一の情報が累積情報テーブル13cに格納されているか否かを判断する(S83)。
同一の情報が累積情報テーブル13cに格納されていると判断した場合(S83:YES)、制御部10は、同一の情報に対応付けて累積情報テーブル13cに格納されている累積実行回数に、対応付けマップ13bから読み出した実行回数を加算し、累積実行回数を更新する(S84)。同一の情報が累積情報テーブル13cに格納されていないと判断した場合(S83:NO)、制御部10は、対応付けマップ13bから読み出したアクション情報、制御情報及び実行回数を対応付けて累積情報テーブル13cに格納する(S85)。
制御部10は、対応付けマップ13bに格納されているアクション情報、制御情報及び実行回数の各組みで、実行回数が0ではない組みの情報を全て読み出したか否かを判断する(S86)。全ての情報を読み出していないと判断した場合(S86:NO)、制御部10は、ステップS82へ処理を戻し、実行回数が0ではないほかの組みの情報を対応付けマップ13bから読み出す(S82)。制御部10は、実行回数が0ではない組みの情報を全て読み出すまで、ステップS82〜S86の処理を繰り返す。
制御部10は、実行回数が0ではない組みの情報を全て読み出したと判断した場合(S86:YES)、対応付けマップ13bをメモリ部13から削除し(S87)、上述した累積情報テーブル13cの更新処理を終了する。なお、制御機1が生成した対応付けマップ13bを、制御機1が被制御機2から取得した機器プロファイル及び機器名の情報に対応付けてメモリ部13に格納するように制御機1を構成することもできる。機器プロファイルに対応付けて対応付けマップ13bをメモリ部13に格納する制御機1では、制御部10は、対応付けマップ13bをメモリ部13から削除する処理の代わりに、対応付けマップ13bに格納された実行回数を全て1に初期化する処理を行なえばよい。また、機器名に対応付けて対応付けマップ13bをメモリ部13に格納する制御機1では、制御部10は、対応付けマップ13bをメモリ部13から削除する処理の代わりに、対応付けマップ13bに格納された実行回数を全て0に初期化する処理を行なえばよい。
上述したように、本実施形態4では、ユーザが被制御機2を操作するために制御機1に対して所定回以上実行したことのあるアクションを示すアクション情報と、被制御機2の処理を示す制御情報とを、新たに生成する対応付けマップ13bにも登録しておく。これにより、ユーザが操作し慣れているアクションによって被制御機2の動作を制御できるので、ユーザの操作性をより向上させることができる。
本実施形態4では、プリンタである被制御機2に対して累積情報テーブル13cを生成する処理について説明した。従って、累積情報テーブル13cは、被制御機2の機器プロファイル毎に生成され、機器プロファイル毎にメモリ部13に格納される。しかし、例えば、累積情報テーブル13cに機器プロファイルの情報を格納させる欄を設けることにより、複数の被制御機2に対して生成された累積情報テーブル13cの内容を1つの累積情報テーブル13cに格納させてもよい。
本実施形態4は、上述した実施形態1の変形例として説明したが、本実施形態4の構成は上述した実施形態2,3にも適用することができる。
(実施形態5)
以下に、実施形態5に係る制御システムについて説明する。なお、本実施形態5の制御システムは、上述した実施形態4の制御システムと同様の構成によって実現することができるので、同様の構成については同一の符号を付して説明を省略する。
上述した実施形態4では、対応付けマップ13bにおいて、実際にユーザが制御機1を操作することによって被制御機2を動作させた回数(実行回数)を蓄積する構成であった。また、実施形態4では、実行回数が所定数以上であるアクション情報及び制御情報の対応付けを、次に対応付けマップ13bを生成する際にそのまま使用する構成であった。
これに対して、本実施形態5では、対応付けマップ13bにおいて、実際にユーザが制御機1を操作することによって被制御機2を動作させた回数(実行回数)を実行時間帯毎に蓄積する構成とする。そして、対応付けマップ13bを生成する際の時間帯での実行回数が所定数以上であるアクション情報及び制御情報の対応付けを、次に対応付けマップ13bを生成する際にそのまま使用する構成とする。
本実施形態5の制御機1において、メモリ部13に格納されている累積情報テーブル13cは、図27(b)に示すようなテーブルである。また、本実施形態5の制御機1が生成する対応付けマップ13bは、図27(a)に示すようなマップである。
図27は実施形態5の対応付けマップ13b及び累積情報テーブル13cの格納内容を示す模式図である。
本実施形態5の対応付けマップ13bは、図27(a)に示すように、ユーザが制御機1に対して行なうアクションを示すアクション情報と、被制御機2が有する各機能を制御するための制御情報と、このアクション情報によって対応する機能を実行させた実行時間帯と、この実行時間帯に実行させた実行回数とをそれぞれ対応付けて格納する。本実施形態5の対応付けマップ13bは、制御部10(マップ生成部10c)によって生成され、いずれかのアクション情報が示すアクションによって対応する機能を被制御機2に実行させた場合に、制御部10によって実行時間帯及び実行回数が更新される。
本実施形態5の累積情報テーブル13cは、図27(b)に示すように、ユーザが制御機1に対して行なうアクションを示すアクション情報と、被制御機2が有する各機能を制御するための制御情報と、このアクション情報によって対応する機能を実行させた実行時間帯と、この実行時間帯に実行させた実行回数の累積を示す累積実行回数とをそれぞれ対応付けて格納する。対応付けマップ13b及び累積情報テーブル13cに格納される実行時間帯は、例えば、午前中の時間帯(AM)、正午から午後5時までの時間帯(PM1)、午後5時以降の時間帯(PM2)等の時間帯を示す。しかし、実行時間帯はこのような時間帯に限られず、1時間単位の時間帯でも、数時間単位の時間帯でもよい。
以下に、本実施形態5の制御機1において、制御部10がメモリ部13に格納されている制御プログラムを実行することによって実現する機能について説明する。本実施形態5の制御機1において、制御部10は、図5及び図21に示した実施形態4の制御機1と同様の機能を実現する。
本実施形態5のマップ生成部10cは、被制御機2から取得したプロファイルテーブル23aと、メモリ部13に格納してあるアクションテーブル13a及び累積情報テーブル13cとに基づいて、対応付けマップ13bを生成する。
本実施形態5のマップ生成部(生成時間帯判定部)10cは、まず、時計が示す現在時刻に基づいて、現在時刻を含む時間帯を、AM,PM1,PM2のうちから判定する。マップ生成部10cは、判定した時間帯と同一の実行時間帯に対応して累積情報テーブル13cに格納されている累積実行回数が所定数(例えば3回)以上であるアクション情報及び制御情報の組みがあるか否かを判断する。累積実行回数が所定数以上の組みがあると判断した場合、マップ生成部10cは、この組みのアクション情報がアクションテーブル13aに格納されているか否か、この組みの制御情報がプロファイルテーブル23aに格納されているか否かを判断する。
この組みのアクション情報がアクションテーブル13aに格納されており、この組みの制御情報がプロファイルテーブル23aに格納されていると判断した場合、マップ生成部10cは、この組みのアクション情報及び制御情報を対応付けマップ13bに格納する。このときマップ生成部10cは、この組みに対応する実行回数に0を格納し、実行時間帯には何も格納しない。この組みのアクション情報がアクションテーブル13aに格納されていない場合、及び/又は、この組みの制御情報がプロファイルテーブル23aに格納されていない場合は、マップ生成部10cは、対応付けマップ13bへの格納を行なわない。
マップ生成部10cは、判定した時間帯と同一の実行時間帯に対応して累積情報テーブル13cに格納されている累積実行回数が所定数以上である全てのアクション情報及び制御情報に対して上述した処理を行なって対応付けマップ13bに格納する。次に、マップ生成部10cは、アクションテーブル13aに格納されているアクション情報のうちで、上述した処理によっては制御情報を割り当てられなかったアクション情報と、プロファイルテーブル23aに格納されている制御情報のうちで、上述した処理によってはアクション情報を割り当てられなかった制御情報との対応付けを行なう。
マップ生成部10cは、制御情報を割り当てられていないアクション情報に対応する推奨制御情報と、アクション情報を割り当てられていない制御情報とを比較し、いずれかの推奨制御情報に類似する制御情報があるか否かを判断する。マップ生成部10cは、いずれかの推奨制御情報に類似する制御情報があると判断した場合、この推奨制御情報に対応するアクション情報をアクションテーブル13aから読み出す。マップ生成部10cは、読み出したアクション情報に、この推奨制御情報に類似すると判断された制御情報を対応付けて対応付けマップ13bに格納する。このときマップ生成部10cは、このアクション情報及び制御情報に対応する実行回数に0を格納し、実行時間帯には何も格納しない。
次に、マップ生成部10cは、アクションテーブル13aに格納されているアクション情報のうちで、上述した2つの処理によっては制御情報を割り当てられなかったアクション情報と、プロファイルテーブル23aに格納されている制御情報のうちで、上述した2つの処理によってはアクション情報を割り当てられなかった制御情報との対応付けを行なう。
マップ生成部10cは、制御情報を割り当てられていないアクション情報を、操作回数が多い順にアクションテーブル13aから読み出し、アクション情報を割り当てられていない制御情報をプロファイルテーブル23aの先頭から順に読み出す。マップ生成部10cは、それぞれ読み出した順にアクション情報及び制御情報を対応付けて対応付けマップ13bに格納する。このときマップ生成部10cは、このアクション情報及び制御情報に対応する実行回数に0を格納し、実行時間帯には何も格納しない。
上述した処理を行なうことにより、マップ生成部10cは、アクションテーブル13aに格納されている全てのアクション情報に対して、プロファイルテーブル23aに格納されているいずれかの制御情報をそれぞれ対応付けて対応付けマップ13bに格納する。このような処理により、マップ生成部10cは、図27(a)に示すような対応付けマップ13bを生成する。
上述したように、本実施形態5では、対応付けマップ13bを生成する際の時間帯と同一時間帯において既に所定回以上の実行実績があるアクション情報及び制御情報を対応付けて対応付けマップ13bに格納する。これにより、制御機1を用いて被制御機2を操作する時間帯毎に、ユーザが操作し易いアクションによる被制御機2の制御が可能となる。ユーザが時間帯毎に異なるアクションによって被制御機2の各機能を実行させる傾向にある場合には、時間帯毎のユーザの操作性をより向上させることができる。
本実施形態5の制御情報確認部10gは、上述した実施形態1の制御情報確認部10gと同様の処理を行ない、制御情報判定部10fから通知された情報に基づいて、ユーザが制御機1に対して行なったアクションと、このアクションに対して被制御機2が行なう処理とが適切であるか否かをユーザに確認する。
本実施形態5の制御情報確認部10gは、ユーザに通知したアクション及び機能が適切である旨を受け付けた場合、対応付けマップ13bを更新する。具体的には、制御情報確認部(制御時間帯判定部)10gは、この時点で時計が示す現在時刻に基づいて、現在時刻を含む時間帯を判定する。制御情報確認部10gは、通知したアクションを示すアクション情報と、通知した機能を示す制御情報とに対応して対応付けマップ13bに格納してある実行時間帯が、判定した時間帯であるか否かを判断する。
対応する実行時間帯が判定した時間帯であれば、制御情報確認部10gは、対応する実行回数に1を加算する。また、対応する実行時間帯が判定した時間帯でなければ、制御情報確認部10gは、通知したアクションを示すアクション情報と、通知した機能を示す制御情報とに対応する実行時間帯として、判定した時間帯を対応付けマップ13bに格納し、対応する実行回数として1を対応付けマップ13bに格納する。
制御情報確認部10gは、制御情報判定部10fから通知された制御情報を制御情報送信部10hへ通知する。なお、本実施形態5の制御情報確認部10gも、ユーザに通知したアクション及び機能が適切でない旨を受け付けた場合、何も行なわずに処理を終了する。
また、本実施形態5の累積情報更新部10iは、被制御機2との通信が遮断されたことを通信状況検知部10aから通知された場合、対応付けマップ13bの格納内容に基づいて累積情報テーブル13cを更新する。具体的には、累積情報更新部10iは、対応付けマップ13bに格納してあるアクション情報、制御情報、実行時間帯及び実行回数の各組みで、実行回数が0ではない組みの情報を読み出す。累積情報更新部10iは、読み出したアクション情報、制御情報及び実行時間帯と同一の情報が累積情報テーブル13cに格納されていれば、同一の情報に対応付けて累積情報テーブル13cに格納されている累積実行回数に、対応付けマップ13bから読み出した実行回数を加算し、累積実行回数を更新する。
一方、同一の情報が累積情報テーブル13cに格納されていないと判断した場合、累積情報更新部10iは、対応付けマップ13bから読み出したアクション情報、制御情報、実行時間帯及び実行回数をそれぞれ、累積情報テーブル13cのアクション情報、制御情報、実行時間帯及び累積実行回数の欄に格納し、累積情報テーブル13cを更新する。
本実施形態5の制御機1において、通信状況検知部10a、プロファイルテーブル取得部10b、対応関係通知部10d、アクション検知部10e、制御情報判定部10f、制御情報送信部10hは、上述した実施形態1,4の各部と同様の処理を行なうので説明を省略する。
以下に、本実施形態5の制御システムにおいて、制御機1が被制御機2の動作を制御するために対応付けマップ13bを生成する処理についてフローチャートに基づいて説明する。図28及び図29は対応付けマップ13bの生成処理の手順を示すフローチャートである。
以下の処理は、制御機1のメモリ部13に記憶してある制御プログラムに従って制御部10によって実行されると共に、被制御機2のメモリ部23に格納してある制御プログラムに従って制御部20によって実行される。また、図28では、破線で区切った2つの領域において、左側の領域に制御機1の制御部10による処理を、右側の領域に被制御機2の制御部20による処理をそれぞれ示している。
制御機1の制御部10は、被制御機2との通信が開始されたか否かを判断し(S91)、開始されていないと判断した場合(S91:NO)、開始されるまで待機する。被制御機2との通信が開始されたと判断した場合(S91:YES)、制御部10は、被制御機2にプロファイルテーブル23aを要求する(S92)。被制御機2の制御部20は、制御機1との通信が開始された後、制御機1からプロファイルテーブル23aを要求された場合、メモリ部23に格納してあるプロファイルテーブル23aを読み出し、制御機1へ送信する(S93)。
制御機1の制御部10は、被制御機2からプロファイルテーブル23aを取得した場合(S94)、取得したプロファイルテーブル23aをメモリ部13に格納させる(S95)。制御部10は、メモリ部13に格納してあるアクションテーブル13a、累積情報テーブル13c及びプロファイルテーブル23aに基づいて対応付けマップ13bを生成する。制御部10は、時計が示す現在時刻に基づいて現在の時間帯を判定する(S96)。制御部10は、判定した時間帯と同一の実行時間帯に対応して累積情報テーブル13cに格納されている累積実行回数が所定数以上であるアクション情報、制御情報及び実行時間帯の組みが有るか否かを判断する(S97)。
累積実行回数が所定数以上の組みが有ると判断した場合(S97:YES)、制御部10は、この組みのアクション情報がアクションテーブル13aに格納されており、この組みの制御情報がプロファイルテーブル23aに格納されているか否かを判断する(S98)。この組みのアクション情報がアクションテーブル13aに格納されていないと判断した場合、及び/又はこの組みの制御情報がプロファイルテーブル23aに格納されていないと判断した場合(S98:NO)、制御部10は、ステップS97へ処理を戻す。
この組みのアクション情報がアクションテーブル13aに格納されており、この組みの制御情報がプロファイルテーブル23aに格納されていると判断した場合(S98:YES)、制御部10は、この組みのアクション情報及び制御情報を対応付けマップ13bに格納する(S99)。なお、制御部10は、この組みに対応する実行回数として0を対応付けマップ13bに格納し、対応する実行時間帯には何も格納しない。制御部10は、ステップS97へ処理を戻し、累積実行回数が所定数以上であるほかの組みが有るか否かを判断する(S97)。制御部10は、累積実行回数が所定数以上である組みが無いと判断するまで、ステップS97〜S99の処理を繰り返す。制御部10は、累積実行回数が所定数以上であるほかの組みが無いと判断した場合(S97:NO)、まだアクション情報が割り当てられていない制御情報において、まだ制御情報を割り当てられていないアクション情報に対応する推奨制御情報のいずれかに類似する制御情報が有るか否かを判断する(S100)。
推奨制御情報のいずれかに類似する制御情報が有ると判断した場合(S100:YES)、制御部10は、この推奨制御情報に対応するアクション情報と、この推奨制御情報に類似すると判断された制御情報とを対応付けて対応付けマップ13bに格納する(S101)。なお、制御部10は、この組みに対応する実行回数として0を対応付けマップ13bに格納し、対応する実行時間帯には何も格納しない。制御部10は、ステップS100へ処理を戻し、まだ制御情報を割り当てられていないアクション情報に対応する推奨制御情報のいずれかに類似する、ほかの制御情報が有るか否かを判断する(S100)。
制御部10は、推奨制御情報のいずれかに類似する制御情報が無いと判断するまで、ステップS100,S101の処理を繰り返す。制御部10は、推奨制御情報のいずれかに類似する制御情報が無いと判断した場合(S100:NO)、まだ制御情報を割り当てられていないアクション情報が有るか否かを判断する(S102)。
制御部10は、まだ制御情報を割り当てられていないアクション情報が有ると判断した場合(S102:YES)、未割当のアクション情報のうちで、操作回数が最も多いアクション情報をアクションテーブル13aから読み出す(S103)。制御部10は、まだアクション情報を割り当てられていない制御情報のうちで、プロファイルテーブル23aの先頭に最も近い領域に格納されている制御情報をプロファイルテーブル23aから読み出す(S104)。
制御部10は、ステップS103で読み出したアクション情報と、ステップS104で読み出した制御情報とを対応付けて対応付けマップ13bに格納する(S105)。なお、制御部10は、この組みに対応する実行回数として0を対応付けマップ13bに格納し、対応する実行時間帯には何も格納しない。制御部10は、ステップS102へ処理を戻し、まだ制御情報を割り当てられていないアクション情報が有るか否かを判断する(S102)。制御部10は、アクションテーブル13aに格納してある全てのアクション情報のそれぞれに制御情報を割り当てるまで、ステップS102〜S105の処理を繰り返す。
制御部10は、まだ制御情報を割り当てられていないアクション情報が無いと判断した場合(S102:NO)、図7に示すような通知画面を生成する(S106)。制御部10は、生成した通知画面を表示部15に表示させ(S107)、対応付けマップ13bに格納されたアクション情報及び制御情報の対応関係を通知する。そして、制御部10は、上述した対応付けマップ13bの生成処理を終了する。
次に、本実施形態5の制御システムにおいて、制御機1が被制御機2の遠隔操作機として動作する際の処理についてフローチャートに基づいて説明する。図30は制御機1が被制御機2の動作を制御する際の処理の手順を示すフローチャートである。
以下の処理は、制御機1のメモリ部13に記憶してある制御プログラムに従って制御部10によって実行されると共に、被制御機2のメモリ部23に格納してある制御プログラムに従って制御部20によって実行される。また、図30では、破線で区切った2つの領域において、左側の領域に制御機1の制御部10による処理を、右側の領域に被制御機2の制御部20による処理をそれぞれ示している。
制御機1の制御部10は、各種センサ14からの出力信号に基づいて、ユーザが制御機1に対して、アクションテーブル13aに格納されているアクション情報のそれぞれが示すアクションのいずれかを行なったか否かを判断する(S111)。いずれのアクションも行なわれていないと判断した場合(S111:NO)、制御部10は、待機する。いずれかのアクションが行なわれたと判断した場合(S111:YES)、制御部10は、実行を検知したアクションを示すアクション情報をアクションテーブル13aから読み出し、読み出したアクション情報に対応する制御情報を対応付けマップ13bから特定する(S112)。
制御部10は、ステップS111で実行を検知したアクションと、ステップS112で特定した制御情報が示す被制御機2の処理とが適切であるか否かを確認するための確認画面を生成し、表示部15に表示する(S113)。制御部10は、確認画面を介してOKボタンが操作されたか否かを判断し(S114)、OKボタンが操作されていないと判断した場合(S114:NO)、即ち、キャンセルボタンが操作された場合、ステップS111へ処理を戻す。
制御部10は、確認画面を介してOKボタンが操作されたと判断した場合(S114:YES)、実行を検知したアクションのアクション情報に対応してアクションテーブル13aに格納してある操作回数に1を加算し、アクションテーブル13aを更新する(S115)。制御部10は、時計が示す現在時刻に基づいて現在の時間帯を判定する(S116)。制御部10は、ステップS111で実行を検知したアクションを示すアクション情報と、ステップS112で特定した制御情報と、ステップS116で判定した時間帯と同一の実行時間帯とに対応する実行回数に1を加算し、対応付けマップ13bを更新する(S117)。
なお、ステップS111で実行を検知したアクションを示すアクション情報と、ステップS112で特定した制御情報とに対応して、ステップS116で判定した時間帯と同一の実行時間帯が対応付けマップ13bに格納されていない場合、制御部10は、このアクション情報及び制御情報に対応する実行時間帯に、ステップS116で判定した時間帯を格納し、対応する実行回数に1を格納する。
制御部10は、ステップS112で特定した制御情報を被制御機2へ送信する(S118)。被制御機2の制御部20は、制御機1から制御情報を取得した場合、取得した制御情報に対応する処理を実行する(S119)。これにより、制御機1が被制御機2の遠隔操作機として動作する際の処理は終了する。
次に、制御機1が被制御機2から所定の距離以上離れた場合に制御機1が行なう累積情報テーブル13cの更新処理についてフローチャートに基づいて説明する。図31は制御機1による累積情報テーブル13cの更新処理の手順を示すフローチャートである。以下の処理は、制御機1のメモリ部13に記憶してある制御プログラムに従って制御部10によって実行される。
制御機1の制御部10は、被制御機2との通信が遮断されたか否かを判断し(S121)、遮断されていないと判断した場合(S121:NO)、その他の処理を行なって待機する。被制御機2との通信が遮断されたと判断した場合(S121:YES)、制御部10は、対応付けマップ13bに格納されているアクション情報、制御情報、実行時間帯及び実行回数の各組みで、実行回数が0ではない組みの情報を読み出す(S122)。制御部10は、読み出したアクション情報、制御情報及び実行時間帯と同一の情報が累積情報テーブル13cに格納されているか否かを判断する(S123)。
同一の情報が累積情報テーブル13cに格納されていると判断した場合(S123:YES)、制御部10は、同一の情報に対応付けて累積情報テーブル13cに格納されている累積実行回数に、対応付けマップ13bから読み出した実行回数を加算し、累積実行回数を更新する(S124)。同一の情報が累積情報テーブル13cに格納されていないと判断した場合(S123:NO)、制御部10は、対応付けマップ13bから読み出したアクション情報、制御情報、実行時間帯及び実行回数を対応付けて累積情報テーブル13cに格納する(S125)。
制御部10は、対応付けマップ13bに格納されているアクション情報、制御情報、実行時間帯及び実行回数の各組みで、実行回数が0ではない組みの情報を全て読み出したか否かを判断する(S126)。全ての情報を読み出していないと判断した場合(S126:NO)、制御部10は、ステップS122へ処理を戻し、実行回数が0ではないほかの組みの情報を対応付けマップ13bから読み出す(S122)。制御部10は、実行回数が0ではない組みの情報を全て読み出すまで、ステップS122〜S126の処理を繰り返す。
制御部10は、実行回数が0ではない組みの情報を全て読み出したと判断した場合(S126:YES)、対応付けマップ13bをメモリ部13から削除し(S127)、上述した累積情報テーブル13cの更新処理を終了する。
上述したように、本実施形態5では、各時間帯においてユーザが被制御機2を制御するために制御機1に対して所定回以上操作したことのあるアクションを示すアクション情報と、被制御機2の処理を示す制御情報とを、新たに生成する対応付けマップ13bにも登録しておく。これにより、時間帯毎にユーザが制御機1を用いて被制御機2を操作する頻度に応じた対応付けマップ13bを生成することができる。よって、時間帯毎の実行頻度が多いアクションによって被制御機2の動作を制御できるので、ユーザの操作性をより向上させることができる。
(実施形態6)
以下に、実施形態6に係る制御システムについて説明する。なお、本実施形態6の制御システムは、上述した実施形態5の制御システムと同様の構成によって実現することができるので、同様の構成については同一の符号を付して説明を省略する。
上述した実施形態5では、実際にユーザが制御機1を操作することによって被制御機2を動作させた回数(実行回数)を実行時間帯毎に蓄積する構成であった。これに対して、本実施形態6は、実際にユーザが制御機1を操作することによって被制御機2を動作させた回数(実行回数)を実行場所毎に蓄積する構成とする。
本実施形態6の制御機1は、現在位置を検出するための位置検出部(図示せず)を備えている。位置検出部は、例えば、GPS(Global Positioning System)を利用し、複数のGPS衛星から送られてくる電波(GPS信号)に基づいて、制御機1の現在位置を検出する。なお、検出した現在位置は、緯度、経度及び標高についてのデータを含む位置情報として取得される。
本実施形態6の制御機1において、メモリ部13には、ユーザが制御機1を使用する可能性のある場所(自宅、職場等)を示す情報と、それぞれの場所を特定する位置情報とが対応付けて格納されている。従って、制御機1の制御部10は、位置検出部が現在位置を検出した場合、取得した位置情報に基づいて、メモリ部13に格納してあるいずれの場所であるかを判定することができる。
本実施形態6の制御機1において、メモリ部13に格納されている累積情報テーブル13cは、図32(b)に示すようなテーブルである。また、本実施形態6の制御機1が生成する対応付けマップ13bは、図32(a)に示すようなマップである。
図32は実施形態6の対応付けマップ13b及び累積情報テーブル13cの格納内容を示す模式図である。
本実施形態6の対応付けマップ13bは、図32(a)に示すように、ユーザが制御機1に対して行なうアクションを示すアクション情報と、被制御機2が有する各機能を制御するための制御情報と、このアクション情報によって対応する機能を実行させた実行場所と、この実行場所で実行させた実行回数とをそれぞれ対応付けて格納する。本実施形態6の対応付けマップ13bは、制御部10(マップ生成部10c)によって生成され、いずれかのアクション情報が示すアクションによって対応する機能を被制御機2に実行させた場合に、制御部10によって実行場所及び実行回数が更新される。
本実施形態6の累積情報テーブル13cは、図32(b)に示すように、ユーザが制御機1に対して行なうアクションを示すアクション情報と、被制御機2が有する各機能を制御するための制御情報と、このアクション情報によって対応する機能を実行させた実行場所(制御位置)と、この実行場所での実行回数の累積を示す累積実行回数とをそれぞれ対応付けて格納する。
対応付けマップ13b及び累積情報テーブル13cに格納される実行場所は、制御機1の位置検出部が検出した位置に対応して予めメモリ部13に格納してある場所のいずれかを示す情報である。しかし、実行場所はこのような情報に限られず、例えば、位置検出部が取得した位置情報をそのまま用いてもよい。
本実施形態6の制御システムにおいて、制御機1が被制御機2の動作を制御するために対応付けマップ13bを生成する処理、制御機1が被制御機2の遠隔操作機として動作する際の処理、制御機1が行なう累積情報テーブル13cの更新処理等は、上述した実施形態1〜5で説明した処理と同様であるので説明を省略する。なお、本実施形態6の制御機1は、上述した実施形態5の制御機1が扱う実行時間帯の情報の代わりに実行場所の情報を用いる。
本実施形態6は、上述した実施形態5の変形例として説明したが、上述した実施形態5と組み合わせた構成とすることもできる。この場合、制御機1は、実際にユーザが制御機1を操作することによって被制御機2を動作させた実行回数を、実行時間帯及び実行場所毎に管理する。そして、制御機1は、対応付けマップ13bを生成する際の時間帯及び場所に基づいて、対応付けマップ13bを生成することができるので、ユーザが被制御機2を操作する際の時間帯及び実行場所を考慮した対応付けマップ13bを生成することができる。
(実施形態7)
以下に、実施形態7に係る制御システムについて説明する。なお、本実施形態7の制御システムは、上述した実施形態1の制御システムと同様の構成を有するので、同様の構成については同一の符号を付して説明を省略する。
上述した実施形態1では、制御機1は、自身のメモリ部13に格納してあるアクションテーブル13aと、被制御機2から取得したプロファイルテーブル23aとに基づいて対応付けマップ13bを生成する構成であった。
これに対して、本実施形態7では、被制御機2のプロファイルテーブルを管理する管理サーバを設け、制御機1は、自身のメモリ部13に格納してあるアクションテーブル13aと、管理サーバから取得したプロファイルテーブルとに基づいて対応付けマップ13bを生成する構成とする。
図33は実施形態7の制御システムの構成を示す模式図である。本実施形態7の制御システムは、制御機1及び被制御機2のほかに、管理サーバ(管理装置)3を備える。本実施形態7の制御機1及び被制御機2は、上述した実施形態1の制御機1及び被制御機2とほぼ同様の構成を有する。
本実施形態7の制御機1は、被制御機2との間で短距離無線通信を行なうほか、インターネット等のネットワークを介した無線通信を行なうように構成されている。制御機1は、ネットワークを介して管理サーバ3との間で無線通信を行なう。
以下に、本実施形態7の制御システムにおける制御機1、被制御機2及び管理サーバ3の構成について詳述する。図34は実施形態7の制御機1及び被制御機2の構成を示すブロック図、図35は管理サーバ3の構成を示すブロック図である。
本実施形態7の制御機1は、図2に示した構成のほかに、無線通信部17を備える。無線通信部17は、ネットワークNを介して他の装置との間で無線通信を行なうためのインタフェースである。無線通信部17は、制御部10からの指示に従って、ネットワークに設けられた最寄りの無線アクセスポイントN1との接続を確立し、最寄りの無線アクセスポイントN1を介してネットワークに接続する。本実施形態7の制御機1は、無線通信部17を介して管理サーバ3との間で通信を行なう。
本実施形態7の被制御機2は、図2に示した構成において、プロファイルテーブル23aの代わりにプロファイルデータ23bをメモリ部(識別情報記憶部)23に格納している。プロファイルデータ23bは、被制御機2の機種を示す機器プロファイルと、被制御機2を識別するための機器名とを含む。即ち、プロファイルデータ23bは、図4に示したプロファイルテーブル23aの1つ目の機能情報と2つ目の機能情報である。
本実施形態7の管理サーバ3は、例えば公知のサーバコンピュータである。管理サーバ3は、制御部30、ハードディスクドライブ(以下、HDDという)33、通信部34等を備える。これらのハードウェア各部はバス3aを介して相互に接続されている。
制御部30は、CPU又はMPU等である。制御部30は、所定のタイミングに従って、HDD33に予め格納してある制御プログラムを適宜実行する。また制御部30は、上述したハードウェア各部の動作を制御する。
HDD33は、大容量の記憶装置である。HDD33は、管理サーバ3として動作するために必要な種々の制御プログラムを予め格納している。また、HDD33は、複数のプロファイルテーブル(制御情報記憶部)33aを格納している。プロファイルテーブル33aは、被制御機2の機器プロファイル及び機器名の情報毎にHDD33に格納されている。なお、本実施形態7のプロファイルテーブル33aのそれぞれは、図4に示したプロファイルテーブル23aとほぼ同一の構成を有する。
通信部34は、ネットワークNに接続するためのインタフェースである。通信部34は、ネットワークNを介して他の装置との間で通信を行なう。本実施形態7の管理サーバ3は、無線通信部17を介して制御機1との間で通信を行なう。
上述した構成の制御システムにおいて、制御機1の制御部10がメモリ部13に格納されている制御プログラムを実行することによって実現する機能は、図5に示した各機能と同様である。ただし、実施形態1のプロファイルテーブル取得部10bが、被制御機2からプロファイルテーブル23aを取得する構成であったのに対して、本実施形態7のプロファイルテーブル取得部10bは、管理サーバ3からプロファイルテーブル33aを取得する。
具体的には、本実施形態7のプロファイルテーブル取得部(識別情報要求部)10bは、制御機1と被制御機2との通信が開始された場合、被制御機2にプロファイルデータ(識別情報)23bを要求する。被制御機2の制御部20は、短距離無線通信部25を介して制御機1との通信が開始された後、制御機1からプロファイルデータ23bを要求された場合、プロファイルデータ23bをメモリ部23から読み出して制御機1へ送信する。
プロファイルテーブル取得部(識別情報取得部)10bは、被制御機2から送信されたプロファイルデータ23bを取得し、取得したプロファイルデータ23bを管理サーバ3へ送信する。これにより、プロファイルテーブル取得部(要求部)10bは、プロファイルデータ23bに対応するプロファイルテーブル33aを管理サーバ3に要求する。管理サーバ3の制御部30は、制御機1からプロファイルテーブル33aを要求された場合、要求されたプロファイルテーブル33aをHDD33から読み出して制御機1へ送信する。
具体的には、管理サーバ3の制御部30は、制御機1から受信したプロファイルデータ23bに関連するプロファイルテーブル33aをHDD33から検索し、検索できた場合にプロファイルテーブル33aを制御機1へ送信する。制御機1のプロファイルテーブル取得部10bは、管理サーバ3から送信されたプロファイルテーブル33aを取得し、メモリ部13に格納させる。
本実施形態7のマップ生成部10cは、プロファイルテーブル取得部10bが管理サーバ3から取得したプロファイルテーブル33aと、メモリ部13に格納してあるアクションテーブル13aとに基づいて、図6に示すような対応付けマップ13bを生成する。なお、マップ生成部10cが対応付けマップ13bを生成する処理は、上述した実施形態1で説明した処理と同様であるので説明を省略する。
以下に、本実施形態7の制御システムにおいて、制御機1が被制御機2の動作を制御するために対応付けマップ13bを生成する処理についてフローチャートに基づいて説明する。なお、制御機1の制御部10が対応付けマップ13bを生成する処理は、上述した実施形態1の図9及び図10で示した処理と同様であり、同一処理については説明を省略する。図36は実施形態7の対応付けマップ13bの生成処理の手順を示すフローチャートである。
以下の処理は、制御機1のメモリ部13に記憶してある制御プログラムに従って制御部10によって実行され、被制御機2のメモリ部23に格納してある制御プログラムに従って制御部20によって実行されると共に、管理サーバ3のHDD33に格納してある制御プログラムに従って制御部30によって実行される。
また、図36では、破線で区切った3つの領域において、左側の領域に管理サーバ3の制御部30による処理を、中央の領域に制御機1の制御部10による処理を、右側の領域に被制御機2の制御部20による処理をそれぞれ示している。なお、図36に示す処理は、図9に示した処理中のステップS1〜S4の代わりとなる処理である。
制御機1の制御部10は、被制御機2との通信が開始されたか否かを判断し(S131)、開始されていないと判断した場合(S131:NO)、開始されるまで待機する。被制御機2との通信が開始されたと判断した場合(S131:YES)、制御部10は、被制御機2にプロファイルデータ23bを要求する(S132)。被制御機2の制御部20は、制御機1との通信が開始された後、制御機1からプロファイルデータ23bを要求された場合、メモリ部23に格納してあるプロファイルデータ23bを読み出し、制御機1へ送信する(S133)。
制御機1の制御部10は、被制御機2からプロファイルデータ23bを取得した場合(S134)、取得したプロファイルデータ23bに対応するプロファイルテーブル33aを管理サーバ3に要求する(S135)。管理サーバ3の制御部30は、制御機1からプロファイルテーブル33aを要求された場合、要求されたプロファイルテーブル33aをHDD33から読み出し、読み出したプロファイルテーブル33aを制御機1へ送信する(S136)。
制御機1の制御部10は、管理サーバ3からプロファイルテーブル33aを取得した場合(S137)、図9中のステップS5に処理を以降し、ステップS5以降の処理を続ける。なお、以降の処理の説明は省略する。
上述したように、本実施形態7では、被制御機2のそれぞれに対応した対応付けマップ13bを生成するために必要なプロファイルテーブル33aを管理サーバ3が管理する。そして制御機1は、対応付けマップ13bを生成する際に所望のプロファイルテーブル33aを管理サーバ3から取得する。これにより、機器プロファイル及び機器名の情報であるプロファイルデータ23bのみを格納する従来の電気機器も、本願に開示する制御システムにおける被制御機2として利用することができる。
本実施形態7の制御システムにおいて、制御機1が被制御機2の遠隔操作機として動作する際の処理は、上述した実施形態1で説明した処理と同様であるので説明を省略する。
本実施形態7は、上述した実施形態1の変形例として説明したが、本実施形態7の構成は上述した実施形態2〜6にも適用することができる。
(実施形態8)
以下に、実施形態8に係る制御システムについて説明する。なお、本実施形態8の制御システムは、上述した実施形態7の制御システムと同様の構成によって実現することができるので、同様の構成については同一の符号を付して説明を省略する。
上述した実施形態7では、制御機1は、自身のメモリ部13に格納してあるアクションテーブル13aと、管理サーバ3から取得したプロファイルテーブル33aとに基づいて対応付けマップ13bを生成する構成であった。
本実施形態8では、上述した実施形態7の構成に加えて、上述した実施形態4のように、実際にユーザが制御機1を操作することによって被制御機2を動作させた回数(実行回数)を考慮した対応付けマップ13bを生成する構成を備える。具体的には、制御機1が複数存在することを考慮し、制御機1のそれぞれにおいて実際にユーザが制御機1を操作することによって被制御機2を動作させた回数を管理サーバ3が管理する。そして、実行回数が所定数以上であるアクション情報及び制御情報は、ユーザが操作し易いアクションであるとし、次に対応付けマップ13bを生成する際の推奨情報として使用する構成とする。
本実施形態8の制御機1は、図34に示した構成と同様の構成を有するが、制御機1が生成する対応付けマップ(送出回数記憶部)13bは図20(a)に示したようなマップである。
本実施形態8の被制御機2は、図34に示した構成と同一の構成を有する。
本実施形態8の管理サーバ3は、図35に示した構成のほかに、HDD33に図37(a)に示すような累積情報テーブル33bと、図37(b)に示すような推奨情報テーブル33cとを格納している。なお、累積情報テーブル33b及び推奨情報テーブル33cは、被制御機2の機器プロファイル及び/又は機器名に対応してHDD33に格納されている。図37は実施形態8の累積情報テーブル33b及び推奨情報テーブル33cの格納内容を示す模式図である。
本実施形態8の累積情報テーブル33bは、図20(b)に示した累積情報テーブル13cと同様の構成を有する。本実施形態8の累積情報テーブル33bは、図37(a)に示すように、複数の制御機1のそれぞれのユーザが被制御機2を動作させるために制御機1に対して行なうアクションを示すアクション情報と、被制御機2が有する各機能を制御するための制御情報と、各ユーザがこのアクション情報によって対応する機能を被制御機2に実行させた実行回数の累積(総数)を示す累積実行回数とをそれぞれ対応付けて格納する。累積情報テーブル33bの格納内容は、制御機1が被制御機2との通信を終了し、対応付けマップ13bに格納された情報を管理サーバ3へ送出する都度、制御部30によって更新される。
推奨情報テーブル33cは、累積情報テーブル33bの格納内容に基づいて、制御部30によって生成される。推奨情報テーブル(推奨情報記憶部)33cは、図37(b)に示すように、制御機1に対して行なうアクションを示すアクション情報と、このアクションによって被制御機2が行なう機能を推奨する推奨情報とが対応付けて格納されている。
以下に、本実施形態8の制御機1において、制御部10がメモリ部13に格納されている制御プログラムを実行することによって実現する機能について説明する。本実施形態8の制御機1において、制御部10は、図5及び図21に示した各機能と同様の機能を実現する。ただし、本実施形態8の制御部10は、累積情報更新部10iの代わりに実行情報送信部(図示せず)の機能を実現する。
実行情報送信部(送信回数送出部)は、被制御機2との通信が遮断されたことを通信状況検知部10aから通知された場合、対応付けマップ13bの格納内容を管理サーバ3へ送信する。具体的には、実行情報送信部は、対応付けマップ13bに格納してあるアクション情報、制御情報及び実行回数の各組みで、実行回数が0ではない組みの情報を読み出す。実行情報送信部は、読み出したアクション情報、制御情報及び実行回数を、被制御機2の機器プロファイル及び/又は機器名と共に管理サーバ3へ送信する。
本実施形態8の管理サーバ3において、制御部(合計算出部)30は、制御機1からアクション情報、制御情報及び実行回数を受信した場合、受信した機器プロファイル及び/又は機器名に対応する累積情報テーブル33bを更新する。具体的には、制御部30は、受信した機器プロファイル及び機器名に対応する累積情報テーブル33bに、受信したアクション情報及び制御情報と同一の情報が格納されているか否かを判断する。同一の情報が累積情報テーブル33bに格納されていると判断した場合、制御部30は、同一の情報に対応付けて累積情報テーブル33bに格納されている累積実行回数に、制御機1から受信した実行回数を加算し、累積実行回数を更新する。
一方、同一の情報が累積情報テーブル33bに格納されていないと判断した場合、制御部30は、制御機1から受信したアクション情報、制御情報及び実行回数をそれぞれ、累積情報テーブル33bのアクション情報、制御情報及び累積実行回数の欄に格納し、累積情報テーブル33bを更新する。図37(a)は、このようにして更新された累積情報テーブル33bを示している。
管理サーバ3の制御部30は、累積情報テーブル33bを更新した後、累積情報テーブル33bの格納内容に基づいて推奨情報テーブル33cを更新する。具体的には、制御部30は、累積情報テーブル33bに格納された累積実行回数が所定数(例えば、5回)以上のアクション情報及び制御情報があるか否かを判断する。累積実行回数が所定数以上のアクション情報及び制御情報があると判断した場合、制御部30は、この制御情報を推奨情報として、アクション情報と共に推奨情報テーブル33cに格納する。なお、累積実行回数が所定数以上のアクション情報及び制御情報がないと判断した場合、制御部30は何も行なわない。
これにより、制御機1の各ユーザが実際に被制御機2を動作させるために制御機1に対して行なったアクションの実行回数が所定数以上となった場合に、このアクションに対して、このアクションによって被制御機2が実行する処理の制御情報を推奨情報とすることができる。よって、このような推奨情報テーブル33cを用いて対応付けマップ13bを生成した場合には、複数のユーザが被制御機2を動作させる際に制御機1に対して行なうアクションを対応付けマップ13bに登録することができる。
一方、本実施形態8の管理サーバ3において、制御部30は、制御機1からプロファイルテーブル33aを要求された場合、制御機1から受信したプロファイルデータ23bに対応する推奨情報テーブル33cも制御機1へ送信する。具体的には、管理サーバ3の制御部30は、制御機1からプロファイルデータ23bを受信した場合、受信したプロファイルデータ23bに関連するプロファイルテーブル33aと、プロファイルデータ23bに対応してHDD33に格納してある推奨情報テーブル33cとをHDD33から検索する。
制御部30は、検索できた場合にプロファイルテーブル33a及び推奨情報テーブル33cを制御機1へ送信する。なお、プロファイルデータ23bに対応する推奨情報テーブル33cがHDD33に格納されていない場合、制御部30は、プロファイルテーブル33aのみを制御機1へ送信する。
本実施形態8の制御機1において、プロファイルテーブル取得部10bは、管理サーバ3から送信されたプロファイルテーブル33a及び推奨情報テーブル33cを取得し、メモリ部13に格納させる。
本実施形態8のマップ生成部10cは、プロファイルテーブル取得部10bが管理サーバ3から取得したプロファイルテーブル33a及び推奨情報テーブル33cと、メモリ部13に格納してあるアクションテーブル13aとに基づいて、図6に示すような対応付けマップ13bを生成する。なお、プロファイルテーブル取得部10bが管理サーバ3から推奨情報テーブル33cを受信しなかった場合、マップ生成部10cは、プロファイルテーブル33a及びアクションテーブル13aに基づいて対応付けマップ13bを生成する。
本実施形態8のマップ生成部10cは、まず、メモリ部13に推奨情報テーブル33cが格納されているか否かを判断する。推奨情報テーブル33cがメモリ部13に格納されていれば、マップ生成部10cは、推奨情報テーブル33cに格納されているアクション情報及び推奨情報を順次読み出す。マップ生成部10cは、推奨情報テーブル33cから読み出したアクション情報がアクションテーブル13aに格納されているか否か、推奨情報テーブル33cから読み出した推奨情報がプロファイルテーブル33aの制御情報の欄に格納されているか否かを判断する。
読み出したアクション情報がアクションテーブル13aに格納されており、読み出した推奨情報がプロファイルテーブル33aの制御情報の欄に格納されている場合、マップ生成部10cは、対応付けて対応付けマップ13bに格納する。このときマップ生成部10cは、推奨情報を制御情報として格納し、このアクション情報及び制御情報に対応する実行回数に0を格納する。読み出したアクション情報がアクションテーブル13aに格納されていない場合、及び/又は、読み出した制御情報がプロファイルテーブル33aに格納されていない場合、マップ生成部10cは、対応付けマップ13bへの格納を行なわない。
次に、マップ生成部10cは、アクションテーブル13aに格納されているアクション情報のうちで、上述した処理によっては制御情報を割り当てられなかったアクション情報と、プロファイルテーブル23aに格納されている制御情報のうちで、上述した処理によってはアクション情報を割り当てられなかった制御情報との対応付けを行なう。マップ生成部10cは、制御情報を割り当てられていないアクション情報に対応する推奨制御情報と、アクション情報を割り当てられていない制御情報とを比較し、いずれかの推奨制御情報に類似する制御情報があるか否かを判断する。マップ生成部10cは、いずれかの推奨制御情報に類似する制御情報があると判断した場合、この推奨制御情報に対応するアクション情報をアクションテーブル13aから読み出す。マップ生成部10cは、読み出したアクション情報に、この推奨制御情報に類似すると判断された制御情報を対応付けて対応付けマップ13bに格納する。このときマップ生成部10cは、このアクション情報及び制御情報に対応する実行回数に0を格納する。
次に、マップ生成部10cは、アクションテーブル13aに格納されているアクション情報のうちで、上述した2つの処理によっては制御情報を割り当てられなかったアクション情報と、プロファイルテーブル23aに格納されている制御情報のうちで、上述した2つの処理によってはアクション情報を割り当てられなかった制御情報との対応付けを行なう。
マップ生成部10cは、制御情報を割り当てられていないアクション情報を、操作回数が多い順にアクションテーブル13aから読み出し、アクション情報を割り当てられていない制御情報をプロファイルテーブル23aの先頭から順に読み出す。マップ生成部10cは、それぞれ読み出した順にアクション情報及び制御情報を対応付けて対応付けマップ13bに格納する。このときマップ生成部10cは、このアクション情報及び制御情報に対応する実行回数に0を格納する。
上述した処理を行なうことにより、マップ生成部10cは、アクションテーブル13aに格納されている全てのアクション情報に対して、プロファイルテーブル23aに格納されているいずれかの制御情報をそれぞれ対応付けて対応付けマップ13bに格納する。
上述したように、本実施形態8では、管理サーバ3において推奨情報として推奨情報テーブル33cに登録されたアクション情報及び制御情報の各組みを対応付けマップ13bに格納する。これにより、既に複数のユーザにおいてある程度の実行実績がある操作を対応付けマップ13bに格納することができる。
本実施形態8の制御機1において、上述した構成以外の構成は、上述した実施形態4,7で説明した構成と同様の処理を行なうので説明を省略する。
以下に、本実施形態8の制御システムにおいて、制御機1が被制御機2の動作を制御するために対応付けマップ13bを生成する処理についてフローチャートに基づいて説明する。図38乃至図40は対応付けマップ13bの生成処理の手順を示すフローチャートである。
以下の処理は、制御機1のメモリ部13に記憶してある制御プログラムに従って制御部10によって実行され、被制御機2のメモリ部23に格納してある制御プログラムに従って制御部20によって実行されると共に、管理サーバ3のHDD33に格納してある制御プログラムに従って制御部30によって実行される。また、図38では、破線で区切った3つの領域において、左側の領域に管理サーバ3の制御部30による処理を、中央の領域に制御機1の制御部10による処理を、右側の領域に被制御機2の制御部20による処理をそれぞれ示している。
制御機1の制御部10は、被制御機2との通信が開始されたか否かを判断し(S141)、開始されていないと判断した場合(S141:NO)、開始されるまで待機する。被制御機2との通信が開始されたと判断した場合(S141:YES)、制御部10は、被制御機2にプロファイルデータ23bを要求する(S142)。被制御機2の制御部20は、制御機1との通信が開始された後、制御機1からプロファイルデータ23bを要求された場合、メモリ部23に格納してあるプロファイルデータ23bを読み出し、制御機1へ送信する(S143)。
制御機1の制御部10は、被制御機2からプロファイルデータ23bを取得した場合(S144)、取得したプロファイルデータ23bを管理サーバ3へ送信し、プロファイルデータ23bに対応するプロファイルテーブル33aを管理サーバ3に要求する(S145)。管理サーバ3の制御部30は、制御機1からプロファイルテーブル33aを要求された場合、要求されたプロファイルテーブル33a及び推奨情報テーブル33cをHDD33から読み出し、読み出したプロファイルテーブル33a及び推奨情報テーブル33cを制御機1へ送信する(S146)。
具体的には、制御部30は、受信したプロファイルデータ23bに関連するプロファイルテーブル33aと、プロファイルデータ23bに対応する推奨情報テーブル33cとを制御機1へ送信する。なお、プロファイルデータ23bに対応する推奨情報テーブル33cがHDD33に格納されていない場合は、制御部30は、プロファイルテーブル33aのみを制御機1へ送信する。
制御機1の制御部10は、管理サーバ3からプロファイルテーブル33a及び推奨情報テーブル33cを取得した場合(S147)、取得したプロファイルテーブル33a及び推奨情報テーブル33cをメモリ部13に格納させる。制御部10は、メモリ部13に格納してあるアクションテーブル13a、プロファイルテーブル33a及び推奨情報テーブル33cに基づいて対応付けマップ13bを生成する。具体的には、制御部10は、推奨情報テーブル33cが有るか否かを判断し(S148)、推奨情報テーブル33cが有ると判断した場合(S148:YES)、推奨情報テーブル33cに格納されているアクション情報及び推奨情報を順次読み出す。
制御部10は、読み出したアクション情報がアクションテーブル13aに格納されており、読み出した推奨情報がプロファイルテーブル33aの制御情報の欄に格納されているか否かを判断する(S149)。読み出したアクション情報がアクションテーブル13aに格納されていないと判断した場合、及び/又は読み出した推奨情報がプロファイルテーブル33aの制御情報の欄に格納されていないと判断した場合、制御部10は、ステップS148へ処理を戻す。読み出したアクション情報がアクションテーブル13aに格納されており、読み出した推奨情報がプロファイルテーブル33aの制御情報の欄に格納されていると判断した場合、(S149:YES)、制御部10は、それぞれを対応付けて対応付けマップ13bに格納する(S150)。なお、制御部10は、推奨情報を制御情報として対応付けマップ13bに格納し、格納したアクション情報及び制御情報に対応する実行回数として0を対応付けマップ13bに格納する。
制御部10は、推奨情報テーブル33cが無いと判断した場合(S148:NO)、ステップS151へ処理を移行する。制御部10は、まだアクション情報が割り当てられていない制御情報において、まだ制御情報を割り当てられていないアクション情報に対応する推奨制御情報のいずれかに類似する制御情報が有るか否かを判断する(S151)。
推奨制御情報のいずれかに類似する制御情報が有ると判断した場合(S151:YES)、制御部10は、この推奨制御情報に対応するアクション情報と、この推奨制御情報に類似すると判断された制御情報とを対応付けて対応付けマップ13bに格納する(S152)。なお、制御部10は、格納したアクション情報及び制御情報に対応する実行回数として0を対応付けマップ13bに格納する。制御部10は、ステップS151へ処理を戻し、まだ制御情報を割り当てられていないアクション情報に対応する推奨制御情報のいずれかに類似する、ほかの制御情報が有るか否かを判断する(S151)。
制御部10は、推奨制御情報のいずれかに類似する制御情報が無いと判断するまで、ステップS151,S152の処理を繰り返す。制御部10は、推奨制御情報のいずれかに類似する制御情報が無いと判断した場合(S151:NO)、まだ制御情報を割り当てられていないアクション情報が有るか否かを判断する(S153)。
制御部10は、まだ制御情報を割り当てられていないアクション情報が有ると判断した場合(S153:YES)、未割当のアクション情報のうちで、操作回数が最も多いアクション情報をアクションテーブル13aから読み出す(S154)。制御部10は、まだアクション情報を割り当てられていない制御情報のうちで、プロファイルテーブル23aの先頭に最も近い領域に格納されている制御情報をプロファイルテーブル23aから読み出す(S155)。
制御部10は、ステップS154で読み出したアクション情報と、ステップS155で読み出した制御情報とを対応付けて対応付けマップ13bに格納する(S156)。なお、制御部10は、格納したアクション情報及び制御情報に対応する実行回数として0を対応付けマップ13bに格納する。制御部10は、ステップS153へ処理を戻し、まだ制御情報を割り当てられていないアクション情報が有るか否かを判断する(S153)。制御部10は、アクションテーブル13aに格納してある全てのアクション情報のそれぞれに制御情報を割り当てるまで、ステップS153〜S156の処理を繰り返す。
制御部10は、まだ制御情報を割り当てられていないアクション情報が無いと判断した場合(S153:NO)、図7に示すような通知画面を生成する(S157)。制御部10は、生成した通知画面を表示部15に表示させ(S158)、対応付けマップ13bに格納されたアクション情報及び制御情報の対応関係を通知する。そして、制御部10は、上述した対応付けマップ13bの生成処理を終了する。
本実施形態8の制御システムにおいて、制御機1が被制御機2の遠隔操作機として動作する際の処理は、上述した実施形態1で説明した処理と同様であるので説明を省略する。
以下に、本実施形態8の制御システムにおいて、制御機1が被制御機2から所定の距離以上離れた場合に制御機1及び管理サーバ3が行なう処理についてフローチャートに基づいて説明する。図41及び図42は推奨情報テーブル33cの更新処理の手順を示すフローチャートである。
以下の処理は、制御機1のメモリ部13に記憶してある制御プログラムに従って制御部10によって実行されると共に、管理サーバ3のHDD33に格納してある制御プログラムに従って制御部30によって実行される。また、図41では、破線で区切った2つの領域において、左側の領域に制御機1の制御部10による処理を、右側の領域に管理サーバ3の制御部30による処理をそれぞれ示している。
制御機1の制御部10は、被制御機2との通信が遮断されたか否かを判断し(S161)、遮断されていないと判断した場合(S161:NO)、その他の処理を行なって待機する。被制御機2との通信が遮断されたと判断した場合(S161:YES)、制御部10は、対応付けマップ13bに格納されているアクション情報、制御情報及び実行回数の各組みで、実行回数が0ではない組みの情報を読み出す(S162)。制御部10は、読み出した情報を、対応付けマップ13bを生成する際に用いたプロファイルテーブル33aに格納してある機器プロファイル及び/又は機器名と共に管理サーバ3へ送信する(S163)。
管理サーバ3の制御部30は、制御機1から送信されたアクション情報、制御情報及び実行回数を、機器プロファイル及び/又は機器名と共に受信する(S164)。制御部30は、受信した機器プロファイル及び/又は機器名に対応する累積情報テーブル33bに、受信したアクション情報及び制御情報と同一の情報が格納されているか否かを判断する(S165)。同一の情報が累積情報テーブル33bに格納されていると判断した場合(S165:YES)、制御部30は、同一の情報に対応付けて累積情報テーブル33bに格納されている累積実行回数に、制御機1から受信した実行回数を加算し、累積実行回数を更新する(S166)。
同一の情報が累積情報テーブル33bに格納されていないと判断した場合(S165:NO)、制御部30は、制御機1から受信したアクション情報、制御情報及び実行回数を対応付けて累積情報テーブル33bに格納する(S167)。制御部30は、制御機1から受信した全ての情報を累積情報テーブル33bに格納したか否かを判断する(S168)。全ての情報を格納していないと判断した場合(S168:NO)、制御部30は、ステップS165へ処理を戻し、受信したアクション情報及び制御情報と同一の情報が累積情報テーブル33bに格納されているか否かを判断する(S165)。
制御部30は、制御機1から受信した全ての情報を累積情報テーブル33bに格納したと判断するまで、ステップS165〜S168の処理を繰り返す。制御部30は、全ての情報を格納したと判断した場合(S168:YES)、累積情報テーブル33bに、所定数以上の累積実行回数が格納されているか否かを判断する(S169)。所定数以上の累積実行回数が格納されていると判断した場合(S169:YES)、制御部30は、この累積実行回数に対応するアクション情報及び制御情報を累積情報テーブル33bから読み出す。
制御部30は、累積情報テーブル33bから読み出したアクション情報及び制御情報の組みが推奨情報テーブル33cに既に格納されているか否かを判断する(S170)。読み出した組みが推奨情報テーブル33cにまだ格納されていないと判断した場合(S170:NO)、制御部30は、読み出した制御情報を推奨情報とし、読み出したアクション情報に対応付けて推奨情報テーブル33cに格納する(S171)。
読み出した組みが推奨情報テーブル33cに既に格納されていると判断した場合(S170:YES)、制御部30は、ステップS171の処理をスキップする。制御部30は、ステップS169に処理を戻し、累積情報テーブル33bに、所定数以上の累積実行回数がほかに格納されているか否かを判断する(S169)。制御部30は、累積情報テーブル33bに、所定数以上の累積実行回数がほかに格納されていないと判断するまで、ステップS169〜S171の処理を繰り返す。制御部30は、所定数以上の累積実行回数がほかに格納されていないと判断した場合(S169:NO)、上述した推奨情報テーブル33cの更新処理を終了する。
上述したように、本実施形態8では、制御機1の各ユーザによって実行回数が所定数以上となったアクション情報及び制御情報の各組みを対応付けマップ13bに格納する。よって、複数のユーザにおいて所定回以上の実行実績のある操作を推奨情報として、次回に対応付けマップ13bを生成する際に利用することができるので、一般的に操作し易いアクションによって被制御機2の動作を制御することができる。
本実施形態8の制御機1は、対応付けマップ13bを生成する際に、まず、管理サーバ3から推奨情報テーブル33cを取得していれば、推奨情報テーブル33cに格納されているアクション情報及び推奨情報の各組みを対応付けマップ13bに格納する構成であった。制御機1の構成はこのような構成に限られない。例えば、制御機1自身も、図20(b)に示した累積情報テーブル13cを管理する構成である場合を考えられる。この場合、まず、累積情報テーブル13cに格納してある累積実行回数が所定数以上であるアクション情報及び制御情報の各組みを対応付けマップ13bに格納し、その後、管理サーバ3から取得した推奨情報テーブル33cに格納されているアクション情報及び推奨情報の各組みを対応付けマップ13bに格納するようにしてもよい。
本実施形態8の管理サーバ3は、制御機1からアクション情報、制御情報及び実行回数を受信した場合に、受信したアクション情報及び制御情報に対応して累積情報テーブル33bに格納されている実行回数に、制御機1から受信した実行回数を加算して累積情報テーブル33bを更新していた。このような構成のほかに、例えば、同一アクション情報に対して異なる制御情報及び実行回数が累積情報テーブル33bに格納されていた場合に、実行回数の多い制御情報及び実行回数のみを累積情報テーブル33bに格納してもよい。この場合、同一のアクション情報に対して異なる制御情報が累積情報テーブル33bに格納されることを防止できる。
本実施形態8は、上述した実施形態1,4の変形例として説明したが、上述した実施形態5,6のような構成にも適用することができる。
(実施形態9)
以下に、実施形態9に係る制御システムについて説明する。図43は実施形態9の制御機の構成を示すブロック図である。本実施形態9の制御機1は、図2に示したハードウェア各部のほかに、外部記憶装置18を備える。外部記憶装置18は、例えば、メモリカードドライブ又はUSB(Universal Serial Bus)ドライブ等であり、メモリカード又はUSBメモリ等である記録媒体18aから、記録媒体18aに格納されたデータを読み出す。
記録媒体18aは、上述の各実施形態で説明した制御機1として動作するために必要な制御プログラムを記録している。外部記憶装置18は、記録媒体18aから制御プログラムを読み出してメモリ部13に格納させる。制御部10は、メモリ部13に格納された制御プログラムを順次実行し、これにより、本実施形態9の制御機1は、上述の各実施形態で説明した制御機1と同様の動作を行なう。
記録媒体18aとしては、メモリカード又はUSBメモリのほかに、CD−ROM、DVD−ROM、フレキシブルディスク等、各種の記録媒体を用いることができる。
なお、制御機1は、インターネット又はLAN(Local Area Network)等のネットワークに接続するための通信部を有してもよい。この場合、制御機1は、上述の各実施形態で説明した制御機1として動作するために必要な制御プログラムを、ネットワークを介してダウンロードしてメモリ部13に格納させればよい。