図1を参照して、本発明の実施形態に係る情報処理システムとしての機器システムについて説明する。図1には、本実施形態に係る機器システムの一例が示されている。
本実施形態に係る機器システムは、例えば、ロボット装置10と、1又は複数の機器12と、端末装置14と、を含む。ロボット装置10、機器12及び端末装置14は、例えば、ネットワーク等の通信経路Nを介して他の装置と通信してもよいし、それぞれ異なる通信経路を介して他の装置と通信してもよい。もちろん、図1に示されている構成は一例に過ぎず、ロボット装置10、機器12及び端末装置14は、他の装置と通信しなくてもよい。
図1に示す例では、1つの機器12が機器システムに含まれているが、複数の機器12が機器システムに含まれていてもよい。この場合、同一の機能を有する複数の機器12が機器システムに含まれていてもよいし、互いに異なる機能を有する複数の機器12が機器システムに含まれていてもよい。また、1つの端末装置14が機器システムに含まれているが、複数の端末装置14が機器システムに含まれていてもよい。サーバ等の他の装置が機器システムに含まれていてもよい。
ロボット装置10は、ロボット装置10の周囲の状況を検知し、発生した問題を検知する機能を有する装置である。ロボット装置10は、移動しながら周囲の状況を検知してもよいし、停止した状態で周囲の状況を検知してもよい。問題が検知された場合、ロボット装置10は、ロボット装置10自身によって問題を解決できるか否かを判断し、その判断結果に応じた処理を行う。ロボット装置10によって問題を解決できる場合、ロボット装置10は問題を解決するための解決手段を実行することで、その問題を解決する。ロボット装置10によって問題を解決できない場合、ロボット装置10は、ロボット装置10以外の要素を利用する解決手段を実行するための制御を行う。要素は、例えば、人、ロボット装置10以外の機器、ロボット装置10以外のロボット装置、等である。もちろん、要素に、ロボット装置10自身が含まれてもよい。例えば、ロボット装置10は、他の機器に問題を解決させてもよいし、人に協力を依頼してもよいし、他の機器と人に問題を解決させてもよいし、他の機器や人と共同して問題を解決してもよい。
ロボット装置10によって検知された問題は、例えば、ロボット装置10のみによって解決できる問題、ロボット装置10以外の他の機器のみによって解決できる問題、人のみによって解決できる問題、他の機器と人との共同作業によって解決できる問題、ロボット装置10と人との共同作業によって解決できる問題、他の機器とロボット装置10との共同作業によって解決できる問題、他の機器と他のロボット装置とロボット装置10との共同作業によって解決できる問題、他の機器と人とロボット装置10との共同作業によって解決できる問題、等である。つまり、解決手段は、例えば、ロボット装置10のみによって実現される手段、他の機器のみによって実現される手段、人のみによって実現される手段、他の機器と人との共同作業によって実現される手段、ロボット装置10と人との共同作業によって実現される手段、他の機器とロボット装置10との共同作業によって実現される手段、他の機器と他のロボット装置とロボット装置10との共同作業によって実現される手段、他の機器と人とロボット装置10との共同作業によって実現される手段、等である。
機器12は、特定の機能を有する装置であり、例えば、画像形成機能を備えた画像形成装置、パーソナルコンピュータ(PC)、液晶ディスプレイやプロジェクタ等の表示装置、香りを発生するアロマ器、電話機、時計、カメラ、監視カメラ、自動販売機、空調機(エアコン、クーラー等)、扇風機、加湿器、等の装置である。もちろん、これら以外の機器が機器システムに含まれていてもよい。なお、機器が有する機能によっては、機器もロボット装置の範疇に含まれ得る。
端末装置14は、例えば、パーソナルコンピュータ(PC)、タブレットPC、スマートフォン、携帯電話、等の装置である。端末装置14は、例えば、問題を解決するための解決手段の実行時等にユーザによって利用される。
本実施形態では、ロボット装置10によって周囲の状況が検知され、その状況の問題に応じて、その問題を解決するための解決手段を実行するための制御が行われる。
以下、本実施形態に係る機器システムに含まれる各装置について詳しく説明する。
図2には、ロボット装置10の外観が示されている。ロボット装置10は、例えば、人型のロボットである。もちろん、ロボット装置10は、人型以外のタイプのロボットであってもよい。図2に示す例では、ロボット装置10は、胴体部16と、胴体部16上に設けられた頭部18と、胴体部16の下部に設けられた脚部20と、胴体部16の両側部にそれぞれ設けられた腕部22と、各腕部22の先端に設けられた指部24と、を含む。
ロボット装置10は、例えば、視覚センサー、聴覚センサー、触覚センサー、味覚センサー及び嗅覚センサー等の各種センサーを有し、人の五感に相当する視覚、聴覚、触覚、味覚及び嗅覚に関する能力を有する。ロボット装置10は、例えば、触覚に関して、表在感覚(触覚、痛角、温度覚等)、深部覚(圧覚、位置覚、振動覚等)、皮質性感覚(二点識別覚、立体識別能力等)を分別して理解する能力を有する。また、ロボット装置10は、平衡感覚を有している。例えば、頭部18にカメラ26等のセンサーが設けられており、視覚は、カメラ26等によって得られた画像を用いた画像認識によって実現される。また、ロボット装置10にマイク等の集音手段が設けられており、聴覚は、マイク等によって得られた音を用いた音声認識によって実現される。
ロボット装置10は、人の脳波を検知する手段(例えば、人に脳波検知デバイスが設けられており、脳波検知デバイスから発信される情報を受信する手段)を備えていてもよい。
脚部20は移動手段の一例に相当し、例えば、モータ等の駆動源からの駆動力によって駆動するようになっている。ロボット装置10は、脚部20によって移動できる。脚部20は、人の足のような形状を有していてもよいし、ローラやタイヤ等であってもよいし、別の形状を有していてもよい。脚部20は移動手段の一例に過ぎず、ロボット装置10は、脚部20以外の移動手段として、例えば、飛行するための構成(例えばプロペラ、羽、飛行用のエンジン等)を備えていてもよいし、水中を移動するための構成(例えば水中移動用のエンジン等)を備えていてもよい。つまり、ロボット装置10は、移動手段として、陸上を移動するための手段、飛行するための手段、及び、水中を移動するための手段の中の少なくとも1つの手段を備えていればよい。もちろん、ロボット装置10は、移動手段を備えていなくてもよい。
ロボット装置10は、腕部22や指部24によって、物体を掴んだり操作したりする能力を備えていてもよい。ロボット装置10は、物体を掴んだり抱えたりしながら移動する能力を備えていてもよい。
ロボット装置10は、音声を発する機能を備えていてもよい。ロボット装置10は、通信機能を備えて、他の装置との間でデータを送受信してもよい。ロボット装置10は、音を出したり、通信メッセージを送ることで、人や他の装置や他のロボット装置とコミュニケーションを取る能力を備えていてもよい。
ロボット装置10は、例えば、人工知能(AI)による機械学習によって、人に近い判断を行う能力を備えていてもよい。また、ニューラルネットワーク型のディープラーニングが利用されてもよいし、部分的に学習分野を強化する強化学習等が利用されてもよい。
ロボット装置10は、例えばインターネット等を利用して情報(例えば問題を解決するための解決手段等)を検索する機能を備えていてもよい。
ロボット装置10は、通信機能によって他の機器と通信し、他の機器の動作を制御してもよいし、リモコン等を利用して他の機器を操作してもよいし、リモコン等を利用せずに他の機器を直接操作してもよい。直接操作においては、例えば、他の機器に設けられている操作部(例えばボタンやパネル等)がロボット装置10によって操作される。例えば、通信によって他の機器の動作を制御できない場合、ロボット装置10は、リモコン等を利用して他の機器を操作してもよいし、他の機器を直接操作してもよい。例えば、ロボット装置10は、視覚センサーによって得られた画像を解析することで、他の機器の操作部やリモコン等を識別して、他の機器やリモコンを操作する。
また、ロボット装置10は、表示部28を備えていてもよい。表示部28には、発生した問題に関する情報、解決手段に関する情報、各種のメッセージ、等が表示される。
以下、図3を参照して、ロボット装置10の構成について詳しく説明する。図3は、ロボット装置10の構成を示すブロック図である。
通信部30は通信インターフェースであり、他の装置にデータを送信する機能、及び、他の装置からデータを受信する機能を備えている。通信部30は、無線通信機能を備えた通信インターフェースであってもよいし、有線通信機能を備えた通信インターフェースであってもよい。通信部30は、例えば、1又は複数の種類の通信方式に対応しており、通信相手に適した通信方式(つまり、通信相手が対応している通信方式)に従って通信相手と通信する。通信方式は、例えば、赤外線通信、可視光通信、Wi−Fi(登録商標)通信、近距離無線通信(例えばBluetooth(ブルートゥース)(登録商標)、RFID(Radio Frequency Identifier)等)、等である。通信部30は、例えば、通信相手に応じて通信方式を切り替えたり、周囲の環境(例えば、ロボット装置10と通信相手との間の距離や、ロボット装置10と通信相手との間の障害物の有無等)に応じて通信方式を切り替えたりする。また、通信の周波数帯として、例えば、800MHz〜920MHz(LPWA(Low Power Wide Area)等)といった短波長帯、2.4GHz、5GHz(MuLTEfire)といった長波長、等が利用されてもよい。通信部30は、例えば、通信相手に応じて周波数帯を切り替えたり、周囲の環境に応じて通信方式を切り替えたりする。
記憶部32はハードディスクやメモリ(例えばSSD等)等の記憶装置である。記憶部32には、例えば、所有機能管理情報34、非所有機能管理情報36、解決手段管理情報38、デバイス機能管理情報40、連携機能管理情報42、その他、各種のデータ、各種のプログラム、等が記憶されている。また、他の機器のアドレスを示すデバイスアドレス情報が記憶部32に記憶されていてもよい。上記の情報は、それぞれ別々の記憶装置に記憶されてもよいし、同じ記憶装置に記憶されてもよい。
所有機能管理情報34は、ロボット装置10が有する機能を示す情報である。所有機能管理情報34においては、例えば、ロボット装置10が有する機能を示す情報と、その機能によって実行可能なこと(動作、処理、操作等)を示す情報と、が対応付けられている。所有機能管理情報34を参照することで、ロボット装置10によって実行可能なことが特定(識別)される。所有機能管理情報34に示されていない機能は、ロボット装置10が有していない機能であるため、所有機能管理情報34を参照することで、ロボット装置10によって実行不可能なことが特定(識別)されてもよい。
非所有機能管理情報36は、ロボット装置10が有していない機能を示す情報である。非所有機能管理情報36においては、例えば、ロボット装置10が有していない機能を示す情報と、ロボット装置10がその機能を有していないことで実行不可能なことを示す情報と、が対応付けられている。非所有機能管理情報36を参照することで、ロボット装置10によって実行不可能なことが特定(識別)される。非所有機能管理情報36に示されていない機能は、ロボット装置10が有している機能である場合があるため、非所有機能管理情報36を参照することで、ロボット装置10によって実行可能なことが特定(識別)されてもよい。
記憶部32には、所有機能管理情報34と非所有機能管理情報36の両方の情報が記憶されて、これらの情報に基づいて、ロボット装置10によって実行可能又は実行不可能なことが特定されてもよいし、いずれか一方の情報が記憶されて、その情報に基づいて、ロボット装置10によって実行可能又は実行不可能なことが特定されてもよい。
解決手段管理情報38は、発生した問題を解決するための解決手段(解決方法、解決行動)を示す情報である。解決手段管理情報38においては、例えば、発生すると想定される問題を示す情報と、その問題の解決手段を示す情報と、が対応付けられている。
デバイス機能管理情報40は、ロボット装置10以外の機器が有する機能を管理するための情報であり、例えば、機器を識別するためのデバイス識別情報(機器識別情報)と、当該機器が有する機能を示す機能情報と、の対応付けを示す情報である。デバイス識別情報は、例えば、機器ID、機器名称、機器の種類を示す情報、機器の型番号、機器が設置されている位置を示す情報(機器の位置情報)、機器の外観を表わす外観画像、等である。機能情報は、例えば、機能IDや機能名称等である。例えば、機器としての画像形成装置が、スキャン機能、コピー機能及びスキャン転送機能を有する場合、当該画像形成装置のデバイス識別情報には、スキャン機能を示す機能情報、コピー機能を示す機能情報、及び、スキャン転送機能を示す機能情報が対応付けられている。デバイス機能管理情報40を参照することにより、各機器が有する機能が特定(識別)される。
デバイス機能管理情報40によって管理されている機器は、例えば機器システムに含まれる機器(例えば機器12)である。もちろん、機器システムに含まれない機器がデバイス機能管理情報40によって管理されてもよい。例えば、ロボット装置10は、機器システムに含まれていない新たな機器に関する情報(デバイス識別情報と機能情報とを含む情報)を取得し、デバイス機能管理情報40に新たに登録してもよい。機器に関する情報は、例えば、インターネット等を利用することで取得されてもよいし、管理者等によって入力されてもよい。また、ロボット装置10は、任意のタイミング、定期的、又は、管理者等によって指定されたタイミング等で、デバイス機能管理情報40を更新してもよい。これにより、更新前には機器が有していなかったが更新後には機器が有することになった機能を示す機能情報が、デバイス機能管理情報40に登録される場合がある。同様に、更新前には機器が有していたが更新後には機器が有していない機能を示す機能情報が、デバイス機能管理情報40から削除され、又は、使用不可な情報として登録される場合がある。更新用の情報は、例えば、インターネット等を利用することで取得されてもよいし、管理者等によって入力されてもよい。
連携機能管理情報42は、複数の機能を連携させることによって実行される連携機能を管理するための情報である。複数の機能を連携させることによって、1又は複数の連携機能が実行される。連携機能は、例えば、1つの機器が有する複数の機能を連携させることによって実行されてもよいし、複数の機器が有する複数の機能を連携させることによって実行されてもよい。また、操作指示を出している装置(例えば端末装置14)も識別対象の機器に含め、端末装置が有する機能を連携機能の一部として利用してもよいし、ロボット装置10が有する機能を連携機能の一部として利用してもよい。
連携機能は、ハードウェアとしての機器を利用せずに実行される機能であってもよい。例えば、連携機能は、複数のソフトウェアを連携させることによって実行される機能であってもよい。もちろん、連携機能は、ハードウェアとしての機器が有する機能と、ソフトウェアによって実現される機能と、を連携させることによって実行される機能であってもよい。
連携機能管理情報42は、例えば、連携機能に利用される各機能を示す機能情報の組み合わせと、当該連携機能を示す連携機能情報と、の対応付けを示す情報である。連携機能情報は、例えば、連携機能IDや連携機能名称等である。単独の機能が更新された場合、その更新に伴って連携機能管理情報42も更新される。これにより、更新前には互いに連携不可能であった複数の機能による連携機能が更新後には利用可能になったり、それとは逆に、更新前には利用可能な連携機能が更新後には利用不可能になったりする場合がある。更新後に利用可能になった連携機能を示す連携機能情報が、連携機能管理情報42に登録され、更新後に利用不可能になった連携機能を示す連携機能情報が、連携機能管理情報42から削除され、又は、使用不可な情報として登録される。
複数の機器を連携させる場合、連携機能管理情報42は、複数の機器が有する複数の機能を利用する連携機能を管理するための情報であり、連携機能に利用される各機器を識別するためのデバイス識別情報の組み合わせと、連携機能情報と、の対応付けを示す情報である。上記のように、デバイス機能管理情報40が更新された場合、その更新に伴って、連携機能管理情報42も更新される。これにより、更新前には互いに連携不可能であった複数の機器による連携機能が更新後には利用可能になったり、それとは逆に、更新前には利用可能な連携機能が更新後には利用不可能になったりする場合がある。
連携機能は、互いに異なる複数の機能を連携させることによって実行される機能であってもよいし、同一の機能を連携させることによって実行される機能であってもよい。連携機能は、連携前には利用できなかった機能であってもよい。連携前には利用できなかった機能は、連携対象の機器が有する機能のうち、同じ機能を利用することによって利用できる機能であってもよいし、互いに異なる機能を組み合わせることによって利用できる機能であってもよい。例えば、プリント機能を有する機器(プリンタ)とスキャン機能を有する機器(スキャナ)を連携させることにより、連携機能としてのコピー機能が実現される。すなわち、プリント機能とスキャン機能を連携させることにより、コピー機能が実現される。この場合、連携機能としてのコピー機能と、プリント機能及びスキャン機能の組み合わせと、が対応付けられている。連携機能管理情報42においては、例えば、連携機能としてのコピー機能を示す連携機能情報と、プリント機能を有する機器を識別するためのデバイス識別情報及びスキャン機能を有する機器を識別するためのデバイス識別情報の組み合わせと、が対応付けられる。
なお、記憶部32には、利用可能機能管理情報が記憶されていてもよい。利用可能機能管理情報は、各ユーザが利用可能な機能を管理するための情報であり、例えば、ユーザを識別するためのユーザ識別情報と、当該ユーザが利用可能な機能を示す機能情報(連携機能情報を含んでいてもよい)と、の対応付けを示す情報である。ユーザが利用可能な機能は、例えば、ユーザに無償で提供された機能や、ユーザが購入した機能、等であり、単体の機能であってもよいし、連携機能であってもよい。ユーザ識別情報は、例えば、ユーザIDや氏名等のユーザアカウント情報である。利用可能機能管理情報を参照することにより、各ユーザが利用可能な機能が識別(特定)される。利用可能機能管理情報は、例えば、ユーザに機能が提供される度に(例えば、ユーザに無償又は有償で機能が提供される度に)更新される。
所有機能管理情報34、非所有機能管理情報36、解決手段管理情報38、デバイス機能管理情報40、連携機能管理情報42及び利用可能機能管理情報の中の少なくとも1つの情報は、ロボット装置10以外の装置(例えば、図示しないサーバ、機器12、端末装置14等)に記憶されていてもよい。この場合、その少なくとも1つの情報は、ロボット装置10の記憶部32に記憶されていなくてもよい。
状況収集部44は、各種センサーによって、ロボット装置10の周囲の状況に関する情報(以下、「状況情報」と称することとする)を収集する機能を備えている。センサーとして、上述した、視覚センサー、聴覚センサー、触覚センサー、味覚センサー、嗅覚センサー、等が用いられる。視覚センサーによって、ロボット装置10の周囲の画像(例えば動画像や静止画像)が取得され、画像認識が行われる。聴覚センサーによって、ロボット装置10の周囲の音(例えば人の会話や物音等)が収集され、音声認識が行われる。その他、ロボット装置10の周囲の温度、湿度、匂い、等が検知される。もちろん、これら以外のセンサーが用いられて、ロボット装置10の周囲の状況に関する情報が収集されてもよい。状況収集部44は、ロボット装置10以外の装置やセンサー等から状況情報を取得してもよい。
移動部46は、陸上を移動するための手段、飛行するための手段、及び、水中を移動するための手段の中の少なくとも1つの手段によって、ロボット装置10を移動させる機能を備えている。移動部46は、例えば、図2に示されている脚部20によって構成される。
作業部48は、ロボット装置10以外の機器を操作したり、物体を持ち上げたり移動させたりする機能を備えている。作業部48は、例えば、図2に示されている脚部20、腕部22及び指部24によって構成される。
UI部50はユーザインターフェース部であり、表示部(例えば図1に示されている表示部28)と操作部を含む。表示部は、例えば液晶ディスプレイ等の表示装置である。操作部は、例えばタッチパネルやキーボード等の入力装置である。もちろん、表示部と操作部を兼ねたユーザインターフェース(例えば、タッチ式のディスプレイや、ディスプレイ上に電子的にキーボード等を表示する装置等を含む)であってもよい。なお、ロボット装置10は、UI部50を備えていなくてもよいし、表示部を備えずに、ハードウェアキー(例えば、各種のボタン)を備えていてもよい。ハードウェアキーとしてのボタンは、例えば、数字入力に特化したボタン(例えばテンキー)、方向の指示に特化したボタン(例えば方向指示キー)、等である。
スピーカ52は、音を出力する機能を備えている。例えば、解決手段に関する音声(例えば、人に協力を依頼するためのメッセージ)等が、スピーカ52から発せられる。
制御部54は、ロボット装置10の各部の動作を制御する。また、制御部54は、検知部56、解決手段特定部58、判断部60、検索部62及び識別部64を含む。
検知部56は、状況収集部44によって収集された状況情報(例えば各種センサーの値)に基づいて、ロボット装置10の周囲の状況を検知し、ロボット装置10の周囲にて問題が発生しているか否かを判断し、発生した問題を検知する機能を備えている。検知部56は、例えば、ロボット装置10の周囲に存在する人に関する情報や、人以外の情報を、状況として検知する。人に関する情報は、例えば、視覚センサーによって得られた人の画像(例えば、人の顔の画像、全身の画像、その他、人の動作を表す画像等)や、聴覚センサーによって収集された人の音声等である。人以外の情報は、例えば、温度センサーによって得られた温度情報や湿度センサーによって得られた湿度情報等である。具体的には、検知部56は、視覚センサーによって得られた画像、聴覚センサーによって収集された音、触覚センサーによって得られた触覚に関する情報、味覚センサーによって得られた味覚に関する情報、嗅覚センサーによって得られた匂いに関する情報、等を組み合わせて、周囲の状況を検知し、発生した問題を検知する。なお、検知部56は、ロボット装置10が備えていないセンサーによって収集された情報を利用してもよい。例えば、検知部56は、外部に設置されたセンサー(例えば、部屋に設置されたセンサーや他の装置が備えるセンサー等)から、そのセンサーによって収集された情報を取得し、その情報を用いて問題を検知してもよい。
検知部56は、例えば、センサーによって得られた値(例えば温度センサーによって検知された温度)が閾値以上となる場合、問題が発生したと判断してもよい。その閾値は、ロボット装置10が備える各種センサーによって検知された人の年齢や性別に応じて変更されてもよい。人の年齢や性別に応じて閾値を変えることで、人の個性に応じて問題を検知することができる。つまり、年齢や性別によって、問題の感じ方が異なる場合があるため、年齢や性別に応じて閾値を変えることで、年齢や性別に応じた問題を検知することができる。
解決手段特定部58は、解決手段管理情報38を参照して、検知部56によって検知された問題を解決するための解決手段を特定(識別)する機能を備えている。
人に関する情報(例えば人の画像や音声等)に基づく検知結果(第1の検知結果に相当する)と、人以外の情報に基づく検知結果(第2の検知結果に相当する)と、に基づく状況の問題が異なる場合、解決手段特定部58は、予め定めた第1の検知結果又は第2の検知結果の優先順位に基づき、発生した問題を解決するための解決手段を選択してもよい。この場合において、例えば、第1の検知結果に基づき解決手段を選択することで、実際に人に発生していると想定される問題を解決するための解決手段が選択される。
判断部60は、ロボット装置10によって、検知部56によって検知された問題を解決することが可能か否かを判断する機能を備えている。ロボット装置10によって解決できない問題は、例えば、ロボット装置10の機能だけでは解決できない問題、ロボット装置10の機能だけでは解決に要する時間が予め設定された時間以上となる場合、ロボット装置10の機能による作業の結果の質が予め設定された質以下となる問題、等である。解決手段特定部58によって特定された解決手段が、ロボット装置10が有する機能群内に含まれている場合、判断部60は、ロボット装置10のみによって問題を解決することが可能であると判断する。つまり、ロボット装置10が、解決手段の実行に必要なすべての機能を備えている場合、判断部60は、ロボット装置10のみによって問題を解決することが可能であると判断する。一方、解決手段特定部58によって特定された解決手段が、ロボット装置10が有する機能群内に含まれていない場合、判断部60は、ロボット装置10のみによって、問題を解決することが不可能であると判断する。つまり、ロボット装置10が、解決手段の実行に必要な全機能又は一部の機能を有していない場合、判断部60は、ロボット装置10のみによって問題を解決することが不可能であると判断する。判断部60は、例えば、所有機能管理情報34を参照することで、ロボット装置10が有している機能を特定(又は、ロボット装置10が有していない機能)を特定してもよいし、非所有機能管理情報36を参照することで、ロボット装置10が有していない機能(又は、ロボット装置10が有している機能)を特定してもよい。
判断部60が、ロボット装置10によって問題を解決することが可能であると判断した場合、ロボット装置10は、制御部54の制御の下、解決手段特定部58によって特定された解決手段を実行する。一方、判断部60が、ロボット装置10によって問題を解決することが不可能であると判断した場合、制御部54は、ロボット装置10以外の要素(他の機器や人)を利用する解決手段を実行するための制御を行う。例えば、制御部54は、ロボット装置10以外の機器に解決手段を実行させてもよいし、人に協力を依頼してもよい。もちろん、ロボット装置10と他の要素(例えば人や他の機器)とが共同して解決手段を実行してもよい。
検索部62は、検知部56によって検知された問題を解決するための解決手段であって、解決手段管理情報38に登録されていない解決手段を検索する機能を備えている。検索部62は、例えば、インターネット等を利用することで、その解決手段を検索する。
識別部64は、ロボット装置10以外の機器を識別し、その機器が有する機能を識別(特定)する機能を備えている。識別部64は、例えば、視覚センサーによって機器を撮影することで得られた画像(例えば機器の外観を表わす画像)に基づいて機器を識別してもよいし、視覚センサーによって機器を撮影することで、機器に設けられたデバイス識別情報を取得して機器を識別してもよいし、機器が設置されている位置を示す位置情報を取得して機器を識別してもよい。識別部64は、更に、機器が有する機能を識別する。例えば、識別部64は、記憶部32に記憶されているデバイス機能管理情報40において、識別した機器のデバイス識別情報に対応付けられている機能を示す機能情報を特定する。これにより、当該機器が有する機能が識別(特定)される。
また、識別部64は、連携対象の複数の機器を識別し、記憶部32に記憶されている連携機能管理情報42において、当該複数の機器のデバイス識別情報の組み合わせに対応付けられている連携機能を示す連携機能情報を特定してもよい。これにより、連携対象の各機器が有する機能を連携させることによって実行される連携機能が識別(特定)される。
なお、ユーザが利用可能な機能が管理されている場合、識別部64は、ユーザを識別するためのユーザ識別情報を受け、記憶部32に記憶されている利用可能機能管理情報において当該ユーザ識別情報に対応付けられている各機能を示す機能情報を特定してもよい。これにより、当該ユーザが利用可能な機能群が識別(特定)される。例えば、端末装置14からロボット装置10にユーザ識別情報が送信され、識別部64によって、当該ユーザ識別情報に対応付けられている各機能を示す機能情報が特定される。例えば、識別部64は、デバイス識別情報とユーザ識別情報を受け、デバイス機能管理情報40において当該デバイス識別情報に対応付けられている機能を示す機能情報を特定し、また、利用可能機能管理情報において当該ユーザ識別情報に対応付けられている機能を示す機能情報を特定する。これにより、当該デバイス識別情報によって特定される機器が有する機能であって、当該ユーザ識別情報によって特定されるユーザが利用可能な機能が特定される。
制御部54は、機能の購入処理を実行し、その購入の履歴を管理してもよい。例えば、有料の機能がユーザによって購入された場合、制御部54は、当該ユーザに対して課金処理を適用してもよい。
制御部54は、知能部としての人工知能(AI)を有しており、制御部54の各部の機能は、その人工知能によって実現される。
なお、検知部56、解決手段特定部58、判断部60、検索部62及び識別部64の中の少なくとも1つは、ロボット装置10以外の装置(例えば、図示しないサーバ、機器12、端末装置14等)に設けられていてもよい。この場合。その少なくとも1つの部は、ロボット装置10の制御部54に含まれていなくてもよい。
以下、図4を参照して、端末装置14の構成について詳しく説明する。図4には、端末装置14の構成が示されている。
通信部66は通信インターフェースであり、他の装置にデータを送信する機能、及び、他の装置からデータを受信する機能を有する。通信部66は、無線通信機能を備えた通信インターフェースであってもよいし、有線通信機能を備えた通信インターフェースであってもよい。
撮影手段としてのカメラ68は、撮影対象を撮影することにより画像データ(例えば静止画像データや動画像データ)を生成する。また、端末装置14のカメラを利用するだけではなく、ネットワーク等の通信経路に繋がった外部のカメラで撮影された画像データを通信部66で受け取り、UI部72で画像データを表示し、ユーザが画像データを操作できるようにしてもよい。なお、端末装置14は、カメラ68を備えていなくてもよい。
記憶部70はハードディスクやメモリ(例えばSSD等)等の記憶装置であり、各種のプログラム、各種のデータ、等を記憶する。記憶部70には、ロボット装置10のアドレス情報、各機器(例えば機器12)のアドレス情報、識別された機器に関する情報、識別された連携対象の機器に関する情報、識別された機器が有する機能に関する情報、連携機能に関する情報、等が記憶されてもよい。これらの情報は、それぞれ別々の記憶装置に記憶されてもよいし、同じ記憶装置に記憶されてもよい。
UI部72はユーザインターフェース部であり、表示部と操作部を含む。表示部は、例えば液晶ディスプレイ等の表示装置である。操作部は、例えば、タッチパネル、キーボード、マウス、等の入力装置である。もちろん、表示部と操作部を兼ねたユーザインターフェース(例えばタッチ式のディスプレイや、ディスプレイ上に電子的にキーボード等を表示するものを含む)であってもよい。
制御部74は、端末装置14の各部の動作を制御する。制御部74は、例えば表示制御手段(制御手段)として機能し、各種の情報をUI部72の表示部に表示させる。
UI部72の表示部には、例えば、ロボット装置10による撮影によって得られた画像、カメラ68によって撮影された画像、利用対象の機器(例えば、単独で利用される機器や連携対象の機器)として識別された機器に紐付く画像、機能に紐付く画像、等が表示される。機器に紐付く画像は、例えば、ロボット装置10によって撮影された当該機器を表わす画像(例えば静止画像や動画像)であってもよいし、当該機器を模式的に表す画像(例えばアイコン)であってもよいし、カメラ68によって撮影された当該機器を表わす画像(例えば静止画像や動画像)であってもよい。模式的に表す画像データは、例えば、ロボット装置10に記憶されてロボット装置10から端末装置14に提供されてもよいし、端末装置14に予め記憶されていてもよいし、別の装置に記憶されて当該別の装置から端末装置14に提供されてもよい。機能に紐付く画像は、例えば、その機能を表わすアイコン等の画像である。
以下、図5,6を参照して、各無線通信技術について説明する。図5には、各無線通信技術の特性(メリット、デメリット)として周波数毎の特性が示されており、図6には、通信方式毎の特性が示されている。
図5に示すように、周波数が900MHzの無線通信技術の主要な規格は、例えばRFIDである。そのメリットとして、障害物に強い、干渉周波数帯が少ない、といったことが挙げられ、デメリットとして、アンテナが大きい、通信可能な距離が短い、といったことが挙げられる。
周波数が2.4GHzの無線通信技術の主要な規格は、例えばZigBee(登録商標)やBluetooth等である。そのメリットとして、省電力、通信速度が速い、アンテナが小さい、といったことが挙げられ、デメリットとして、干渉することが多い、ことが挙げられる。
周波数が5GHzの無線通信技術の主要な規格は、例えばIEEE802.11aやMuLTEfire等である。そのメリットとして、干渉周波数帯が少ない、通信速度が速い、といったことが挙げられ、デメリットとして、障害物に弱い、ことが挙げられる。
図6に示すように、赤外線通信のメリットとして、低消費電力、小型化が容易、といったことが挙げられ、デメリットとして、赤外線が目に見えない、ことが挙げられる。
可視光通信のメリットとして、可視光を目で見て通信経路が分かる、ことが挙げられ、デメリットとして、指向性が強い、ことが挙げられる。
近接無線通信(NFC)のメリットとして、複数の機器の間におけるペアリングが容易、といったことが挙げられ、デメリットとして、近距離でないと使えない、ことが挙げられる。
無線通信技術によって通信相手と通信する場合、ロボット装置10の通信部30は、周囲の環境や通信相手に適した特性を有する無線通信技術によって、通信相手と通信を行う。より詳しく説明すると、通信部30は、例えば、通信相手との間の距離、ロボット装置10と通信相手との間の障害物の有無、通信相手が対応している通信方式、等に応じて無線通信技術を変えて通信相手と通信を行う。
以下、図7,8を参照して、ロボット装置10が有する機能について詳しく説明する。図7には、所有機能管理情報34としての所有機能管理テーブルの一例が示されており、図8には、非所有機能管理情報36としての非所有機能管理テーブルの一例が示されている。
所有機能管理テーブルにおいては、一例として、管理番号と、ロボット装置10が有する機能を示す情報と、その機能によってロボット装置10が実行可能なこと(動作、処理、操作等)を示す情報と、が互いに対応付けられている。例えば、ロボット装置10は、腕部22で物体を持ち上げる機能を備えており、その機能によって、例えば、重さが30kgまでの物体を持ち上げて移動できる。また、ロボット装置10は、移動する機能を備えており、その機能によって、時速10km以内で速度を可変させて移動できる。所有機能管理テーブルを参照することで、ロボット装置10が有する機能と、その機能によってロボット装置10が実行可能なことが特定(識別)される。また、所有機能管理テーブルに登録されていない機能や実行可能なことは、ロボット装置10が有していない機能や実行不可能なことであるため、所有機能管理テーブルを参照することで、ロボット装置10が有していない機能や実行不可能なことが特定(識別)される。
非所有機能管理テーブルにおいては、一例として、管理番号と、ロボット装置10が有していない機能を示す情報と、ロボット装置10がその機能を有していないことで実行不可能なこと(動作、処理、操作等)を示す情報と、が互いに対応付けられている。例えば、ロボット装置10は、外部の冷却機能(例えばロボット装置10の周囲を冷却する機能)を備えておらず、そのため、ロボット装置10は、部屋の中を冷やすことができない。また、ロボット装置10は、印刷機能(プリント機能)を備えておらず、そのため、ロボット装置10が聞き取った音声や見た書類を印刷できない。非所有機能管理テーブルを参照することで、ロボット装置10が有していない機能と、ロボット装置10が実行不可能なことが特定(識別)される。また、非所有機能管理テーブルに登録されていない機能や実行不可能なことは、ロボット装置10が有している機能や実行可能なことである場合があるため、非所有機能管理テーブルを参照することで、ロボット装置10が有している機能や実行可能なことが特定(識別)されてもよい。
記憶部32には、所有機能管理テーブルと非所有機能管理テーブルの両方のデータが記憶されて、これらのデータに基づいて、ロボット装置10によって実行可能又は実行不可能なことが特定されてもよいし、いずれか一方のデータが記憶されて、そのデータに基づいて、ロボット装置10によって実行可能又は実行不可能なことが特定されてもよい。
以下、図9を参照して、解決手段管理情報38の具体例について説明する。図9には、解決手段管理情報38としての解決手段管理テーブルの一例が示されている。解決手段管理テーブルにおいては、一例として、管理番号と、状況(問題)を示す情報と、その状況(問題)に対する解決手段(その問題を解決するための手段)を示す情報と、が互いに対応付けられている。状況(問題)は、検知部56によって検知される。解決手段特定部58は、解決手段管理テーブルにおいて、検知部56によって検知された問題に対応する解決手段を特定する。
例えば、状況(1)「部屋の温度が温度閾値以上(例えば30℃以上)」が検知された場合、その状況を解決するための手段は、部屋の温度を下げる手段であり、具体的には、「(1)クーラーで冷やす。」、「(2)窓を開ける。」である。部屋の温度は、例えば、ロボット装置10が備えている各種センサー(例えば温度センサー)によって検知される。温度閾値は、ロボット装置10の周囲にいる人の年齢や性別によって変更されてもよい。例えば、ロボット装置10の検知部56は、各種センサー(例えば視覚センサーや聴覚センサー等)によって得られた情報(例えば画像や音声情報等)に基づいて周囲の人を検知するとともに、検知された人の年齢や性別等を推定する。例えば、年齢の高い人(年齢が年齢閾値以上となる人)が検知された場合と、年齢の低い人(年齢が年齢閾値未満となる人)が検知された場合と、で異なる温度閾値が用いられてもよい。例えば、年齢の高い人が検知された場合、年齢の低い人が検知された場合と比べて、より小さい温度閾値が用いられてもよい。これにより、年齢に適した解決手段が実行される。もちろん、性別毎に閾値を変えてもよい。これにより、性別に適した解決手段が実行される。
別の例として、状況(3)「部屋にいる人が寒そうな動作をしている」が検知された場合、その状況を解決するための手段は、部屋の温度を上げる手段であり、具体的には、「(1)ストーブをつける。」、「(2)扉を閉める。」である。ロボット装置10の検知部56は、各種センサーによって周囲の人の動作を検知することで、状況(3)を検知する。具体的には、検知部56は、人の顔や身体の動作等を表す画像に基づいて、人の表情、汗の有無、腕や足の動き等を検知したり、人の音声を検知することで、状況(3)を検知する。
互いに矛盾する複数の状況が検知された場合、検知部56は、複数の状況の中から1つの状況を優先的な状況として選択し、解決手段特定部58は、その優先的な状況を解決するための解決手段を特定してもよい。例えば、状況(1)「部屋の温度が30℃以上」が検知され、更に、状況(3)「部屋にいる人が寒そうな動作をしている」が検知された場合、状況(3)が状況(1)に優先して選択され、状況(3)を解決するための解決手段が選択される。この優先順位は予め設定されている。例えば、人に関する情報に基づいて検知された状況が、人以外の情報に基づいて検知された状況よりも優先して選択される。状況(3)は、人に関する情報に基づいて検知された状況(例えば、人の画像や音声を解析することで検知された状況)であり、状況(1)は、人以外の情報に基づいて検知された状況である。状況(3)を状況(1)よりも優先して選択することで、周囲の人に実際に発生していると想定される問題の解決手段が優先して選択されることになり、より確実に問題を解決することができる。
以下、図10を参照して、デバイス機能管理情報40について詳しく説明する。図10には、デバイス機能管理情報40としてのデバイス機能管理テーブルの一例が示されている。デバイス機能管理テーブルにおいては、一例として、機器IDと、機器名(例えば機器の種類)を示す情報と、機器が有する機能を示す情報(機能情報)と、画像IDと、が互いに対応付けられている。機器IDと機器名はデバイス識別情報の一例に相当する。画像IDは、機器を表わす画像(例えば、機器の外観を表わす画像や、機器を模式的に表す画像(例えばアイコン)等)を識別するための画像識別情報の一例である。なお、デバイス機能管理テーブルには、画像IDは含まれていなくてもよい。例えば、機器IDが「B」の機器は、複合機(複数の画像形成機能を有する画像形成装置)であり、プリント機能やスキャン機能等の機能を有している。その機器には、その機器を表わす画像を識別するための画像IDが対応付けられている。機器を表わす画像のデータは、例えば、ロボット装置10の記憶部32や他の装置に記憶されている。
例えば、ロボット装置10が有する各種センサーによって、ロボット装置10の周囲に存在する機器を識別するための機器IDが取得され、ロボット装置10の識別部64は、デバイス機能管理テーブルを参照することにより、その機器IDに対応付けられている機器名、機能及び画像IDを特定する。これにより、ロボット装置10の周囲に存在する機器が識別される。例えば、機器名を示す情報、及び、機器を表わす画像のデータが、ロボット装置10から端末装置14に送信され、それらが端末装置14に表示されてもよい。機器を表わす画像は、当該機器に紐付く画像として表示される。機器に紐付く画像は、カメラ等によって撮影することで生成された画像であってもよいし、機器を模式的に表す画像(例えばアイコン等)であってもよい。また、端末装置14において、機器に紐付く画像がユーザによって指定されると、その機器が有する機能に関する情報(例えば、機能情報や機能の説明情報等)が、ロボット装置10から端末装置14に送信されて端末装置14に表示されてもよい。
以下、図11を参照して、連携機能管理情報42について詳しく説明する。図11には、連携機能管理情報42としての連携機能管理テーブルの一例が示されている。連携機能管理テーブルにおいては、一例として、機器IDの組み合わせと、連携対象の機器名(例えば各機器の種類)を示す情報と、連携機能を示す情報(連携機能情報)と、が互いに対応付けられている。例えば、機器IDが「A」の機器はPC(パーソナルコンピュータ)であり、機器IDが「B」の機器は複合機である。PC(A)と複合機(B)を連携させることにより、連携機能として、例えば「スキャン転送機能」や「プリント機能」が実現される。「スキャン転送機能」は、複合機(B)によるスキャンによって生成された画像データをPC(A)に転送する機能である。「プリント機能」は、PC(A)に保存されているデータ(例えば画像データや文書データ)を複合機(B)に送信して複合機(B)にて印刷する機能である。
以下、図12を参照して、状況確認処理の概略について説明する。図12は、その処理を示すフローチャートである。
まず、状況収集部44は、各種センサーによって、ロボット装置10の周囲の状況に関する状況情報(各種センサーの値)を収集し、検知部56は、その状況情報に基づいて、ロボット装置10の周囲の状況を検知し、ロボット装置10の周囲にて問題が発生しているか否かを判断し、発生した問題を検知する(S01)。
判断部60は、ロボット装置10によって、検知部56によって検知された問題を解決することが可能か否かを判断する(S02)。上述したように、ロボット装置10によって解決できない問題は、例えば、ロボット装置10の機能だけでは解決できない問題、ロボット装置10の機能だけでは解決に要する時間が予め定められた時間以上となる問題、ロボット装置10の機能による作業の結果の質が予め定められた質以下となる問題、等である。
検知部56によって検知された問題が、ロボット装置10によって解決できない問題に該当しない場合(S02,No)、ロボット装置10は、その問題を解決するための解決手段を実行する(S03)。その解決手段は、解決手段特定部58によって特定される。この場合、ロボット装置10は、ロボット装置10以外の機器を利用せずに、また、人から援助を受けずに、自身の有する機能によって解決手段を実行する。ロボット装置10は、例えば、問題を示す情報や解決手段を示す情報をロボット装置10のUI部50や端末装置14のUI部72に表示させ、解決手段の実行指示がユーザによって与えられた場合、解決手段を実行してもよい。
一方、検知部56によって検知された問題が、ロボット装置10によって解決できない問題に該当する場合(S02,Yes)、解決手段の探索処理が実行される。ロボット装置10のみによって解決手段を探す場合(S04,Yes)、ロボット装置10は、自律判断モードを実行する(S05)。一方、ロボット装置10のみによって解決手段を探さない場合(S04,No)、ロボット装置10は、ユーザ判断モードを実行する(S06)。自律判断モード又はユーザ判断モードの何れかを実行するのかは、予め設定されている。つまり、ロボット装置10は、検知部56によって検知された問題が、ロボット装置10によって解決できない問題に該当する場合、自律判断モード及びユーザ判断モードの中で予め設定されたモードを実行する。実行されるモードは、ユーザによって指定されてもよい。
以下、図13を参照して、状況確認処理について詳しく説明する。図13は、その処理を示すフローチャートである。
まず、状況収集部44は、各種センサーによって、ロボット装置10の周囲の状況に関する状況情報(各種センサーの値)を収集し(S10)、検知部56は、各種センサーの値を組み合わせることで、生じる問題を想定する(S11)。検知部56は、例えば、周囲を撮影することで得られた画像を解析することで得られた情報と、画像以外のセンサーの値と、を組み合わせることで、生じる問題を想定する。もちろん、人の音声を収集し、その音声の解析結果も組み合わせて問題を検知してもよい。例えば、検知された温度が温度閾値以上(例えば30℃以上)であって、周囲を表わす画像に汗をかいている人が表されている場合、検知部56は、クーラーや扇風機等を利用することで周囲の温度を下げる必要があることを検知する。1つのセンサーのみを使用して状況を判断する場合、その判断は誤る可能性があるが、周囲を表わす画像等と組み合わせることで、より複雑な状況をより精度高く検知できる。例えば、周囲を表わす画像とセンサーの値とを組み合わせることで、一様な判断だけでなく、個別的な判断まで可能になる。もちろん、センサーを用いることで、人の目や嗅覚等によって検知できない状況までも検知することが可能となる利点がある。
次に、解決手段特定部58は、各種センサーの値を正常値に戻すための解決手段を想定する(S12)。例えば、解決手段特定部58は、図9に示されている解決手段管理テーブルにおいて、検知部56によって検知された問題に対応する解決手段を特定する。ここで特定された解決手段に関する情報は、後述するユーザ問い合わせ時に提示されたり、ロボット装置10以外の機器や人を利用して問題を解決するときに、指示(コントロール)依頼として提示されたりしてもよい。
次に、判断部60は、ロボット装置10によって、検知部56によって検知された問題を解決することが可能か否かを判断する。そのために、判断部60は、ロボット装置10が有する機能と、解決手段特定部58によって特定された解決手段と、を比較する(S13)。
ロボット装置10が有する機能内に、解決手段特定部58によって特定された解決手段が含まれている場合、つまり、ロボット装置10が、その解決手段を実行するための機能を備えている場合(S14,Yes)、処理は、図12に示されているステップS03に移行する。この場合、ロボット装置10は、ロボット装置10以外の機器を利用せずに、また、人から援助を受けずに、自身の有する機能によって解決手段を実行する。ロボット装置10は、ユーザによって実行指示が与えられた場合に、解決手段を実行してもよい。
ロボット装置10が有する機能内に、解決手段特定部58によって特定された解決手段が含まれていない場合、つまり、ロボット装置10が、その解決手段を実行するための機能を備えていない場合(S14,No)、ロボット装置10は、自律判断モード又はユーザ判断モードを実行する(S15)。
以下、図14を参照して、ユーザ判断モードにおける処理について詳しく説明する。図14は、その処理を示すフローチャートである。
まず、ロボット装置10の通信部30は、制御部54の制御の下、状況収集部44によって収集された状況情報(各種センサーの値)を、端末装置14に送信する(S20)。このとき、通信部30は、障害物の有無や、ロボット装置10と端末装置14との間の距離等に応じて通信方式を切り替えてもよい。通信部30は、例えば、送信先として予め登録された端末装置14に状況情報を送信してもよいし、ロボット装置10によって識別された端末装置14に状況情報を送信してもよいし、ロボット装置10に対して通信を要求してきた端末装置14に状況情報を送信してもよい。例えば、ロボット装置10の識別部64は、視覚センサーによって端末装置14を撮影することで得られた画像から端末装置14のデバイス識別情報を取得し、そのデバイス識別情報に基づいて端末装置14を識別してもよい。別の例として、通信部30は、ロボット装置10の位置を基準にして予め設定された範囲内に存在する端末装置14(例えば、近距離無線通信によって通信が可能な範囲に存在する端末装置14)に対して、状況情報を送信してもよい。更に別の例として、ロボット装置10の識別部64は、問題が発生していると想定されるユーザを識別し、そのユーザが所持する端末装置14に状況情報を送信してもよい。
ロボット装置10は、端末装置14のユーザの要求に応じて、状況情報を更に収集して端末装置14に送信してもよい(S21)。例えば、ロボット装置10は、移動しながらカメラ等の視覚センサーによって周囲を追加で撮影し、その撮影で得られた画像(動画像や静止画像)を、端末装置14に送信したり、ユーザが指示した事項(例えば温度)のデータを収集し直して端末装置14に再送信する。
次に、ロボット装置10は、検知部56によって検知された問題を解決するための1又は複数の解決手段(解決手段特定部58によって特定された1又は複数の解決手段)をユーザに提示する(S22)。例えば、ロボット装置10の通信部30は、制御部54の制御の下、解決手段を示す情報を端末装置14に送信する。この場合、解決手段を示す情報は、端末装置14のUI部72に表示される。別の例として、ロボット装置10の制御部54は、解決手段を示す情報を、ロボット装置10自身のUI部50に表示させてもよい。
ユーザに対して提示された1又は複数の解決手段の中からユーザによって実行対象の解決手段が選択された場合、ロボット装置10の制御部54は、ユーザによって選択された解決手段が、ロボット装置10以外の機器(例えば機器12)を利用する解決手段か否かを判断する(S23)。例えば、ユーザが端末装置14を使用して解決手段を選択した場合、その解決手段を示す情報が、端末装置14からロボット装置10に送信され、ロボット装置10の制御部54は、その情報に基づき、ユーザによって選択された解決手段が、ロボット装置10以外の機器を利用する解決手段か否かを判断する。解決手段を示す情報がロボット装置10のUI部50に表示され、ユーザがUI部50を利用して解決手段を選択した場合、制御部54は、その選択に従って判断する。
ユーザによって選択された解決手段が、ロボット装置10以外の機器を利用する解決手段に該当する場合(S23,Yes)、ロボット装置10の通信部30は、制御部54の制御の下、その解決手段を実現可能な機器に関する情報を、端末装置14に送信する(S24)。例えば、制御部54は、デバイス機能管理テーブルや連携機能管理テーブルを参照することで、ユーザによって選択された解決手段を実現可能な機能を有する1又は複数の機器を特定する。例えば、解決手段として「プリント」が選択された場合、プリント機能を有する複合機が、解決手段を実現する機器として特定される。機器に関する情報には、例えば、機器の外観を表わす外観画像、機器に接続するための機器のアドレス情報、機器のスペックを示す情報、等が含まれてもよい。別の例として、ロボット装置10の制御部54は、その機器に関する情報を、ロボット装置10のUI部50に表示させてもよい。この場合、端末装置14に機器に関する情報が送信されなくてもよい。
次に、ユーザの操作によって解決手段が実行される(S25)。つまり、その解決手段を実現するための機器が有する機能が実行される。解決手段を実現するための機能として、単体の機器が有する機能が実行されてもよいし、複数の機器が有する機能を利用する連携機能が実行されてもよい。もちろん、解決手段を実現するための機能として、ロボット装置10が有する機能が利用されてもよい。機器に対する機能の実行指示は、ロボット装置10から与えられてもよいし、端末装置14から与えられてもよい。機能を実行するための操作等については、後で詳しく説明する。
一方、ユーザによって選択された解決手段が、ロボット装置10以外の機器を利用する解決手段に該当しない場合(S23,No)、ロボット装置10は、解決手段を実行するために、周囲の人に協力を依頼する(S24)。このとき、ロボット装置10は、解決手段を実行するための手順(ユーザが行うべき作業の手順)をユーザに伝える(S25)。例えば、ロボット装置10の制御部54は、その手順を音声としてスピーカに発生させたり、ロボット装置10のUI部50に手順を表示させたり、人のいる場所まで移動して人に触ったりする。手順が人に伝わり難い場合、音声を大きくしてもよい。ロボット装置10の通信部30は、その手順を示す情報を端末装置14に送信してもよい。この場合、端末装置14のUI部72に、その手順を示す情報が表示される。
なお、機器と人の両方によって実現される解決手段がユーザによって選択された場合、上記のステップS24からステップS27が実行される。この場合においても、ロボット装置10の機能が解決手段の一部として利用されてもよい。
以下、図15を参照して、自律判断モードにおける処理について詳しく説明する。図15は、その処理を示すフローチャートである。
まず、ロボット装置10の制御部54は、必要に応じて、解決手段特定部58によって特定された解決手段を実現するために必要な追加機能や応援依頼(ユーザの応援の依頼)を特定する(S30)。
ロボット装置10の制御部54は、解決手段特定部58によって特定された解決手段が、ロボット装置10以外の機器(例えば機器12)を利用する解決手段か否かを判断する(S31)。
解決手段特定部58によって特定された解決手段が、ロボット装置10以外の機器を利用する解決手段に該当する場合(S31,Yes)、ロボット装置10の制御部54は、周囲において、その解決手段を実行可能な機器を探索する(S32)。制御部54は、例えば、視覚センサーによって得られた画像、各機器の位置情報、無線通信状況等に基づいて、機器を探索する。例えば、制御部54は、デバイス機能管理テーブルや連携機能管理テーブルを参照することで、解決手段を実現可能な機能を有する1又は複数の機器を特定する。例えば、解決手段が「プリント」の場合、ロボット装置10の制御部54は、プリント機能を有する複合機を探索する。
解決手段を実行可能な機器が周囲に存在する場合(S33,Yes)、ロボット装置10の通信部30は、制御部54の制御の下、解決手段の実行指示(解決手段を実現するための機能の実行指示)を示す情報を、当該機器に送信する(S34)。実行指示を示す情報を受けた機器は、その指示に従って解決手段を実行する。
ロボット装置10の制御部54は、解決手段を実行可能な機器のコントロール権を取得できるか否かを確認してもよい。すなわち、制御部54は、当該機器のアドレス情報やコントロール可能なドライバがロボット装置10に記憶されているか否かを確認する。ネットワーク等を利用してドライバ等を取得できる場合、制御部54は、ドライバ等のダウンロードを実行する。なお、ロボット装置10は、機器の操作パネルを直接操作することで当該機器に実行指示を与えてもよいし、当該機器のリモコンを操作することで、当該機器に実行指示を与えてもよい。
解決手段が無事終了したか否かは、機器による機能の実行後に、問題が解決したか否かによって判断される。検知部56によって問題が検知されない場合、制御部54は、その問題が解決されたと判断する。問題が解決していない場合、ロボット装置10の制御部54は、解決手段の実行指示を機器に再度与えたり、別の解決手段を探索する。
解決手段を実行可能な機器が周囲に存在しない場合(S33,No)、ロボット装置10の制御部54は、別の解決手段を探索する(S35)。このとき、制御部54は、モードをユーザ判断モードに切り替えてもよい。
解決手段特定部58によって特定された解決手段が、ロボット装置10以外の機器を利用する解決手段に該当しない場合(S31,No)、ロボット装置10は、解決手段を実行するために、周囲の人に協力を依頼する(S36)。このとき、ロボット装置10は、協力依頼内容(例えば解決手段を実行するための手順等)をユーザに伝える(S37)。例えば、ロボット装置10の制御部54は、協力依頼内容を音声としてスピーカに発生させたり、ロボット装置10のUI部50に協力依頼内容を表示させたり、人のいる場所まで移動して人に触ったりする。ロボット装置10の通信部30は、協力依頼内容を示す情報を端末装置14に送信してもよい。この場合、端末装置14のUI部72に、その協力依頼内容を示す情報が表示される。
協力に応じてもらえる場合(S38,Yes)、処理は終了する。この場合、ユーザが解決手段を実行する。協力に応じてもらえない場合(S38,No)、ロボット装置10の制御部54は、別の解決手段を探索する(S35)。制御部54は、モードをユーザ判断モードに切り替えてもよい。制御部54は、例えば、音声認識によって、ユーザの返事を認識することで、協力に応じてもらえたか否かを判断してもよい。例えば、協力に応じる旨の返事が音声認識された場合、制御部54は、協力に応じてもられたと判断する。別の例として、解決手段を実現するためにユーザによって行われると想定される動作が、予め設定された時間内に実行されて、各種センサー(例えば視覚センサー)によってその動作が検知された場合、制御部54は、協力に応じてもらえたと判断してもよい。
なお、時間が経過するにつれて、周囲の状況も変化するため、発生する問題も変化する場合がある。この場合、ロボット装置10は、刻々と変化する状況(問題)を検知し、その検知結果に応じた解決手段を特定する。
また、ロボット装置10が解決できる問題は、ロボット装置10が有する機能の更新に応じて変更される。その機能の更新は、例えば、ロボット装置10が有するハードウェア及びソフトウェアの中の少なくとも1つを変更することで行われる。
なお、解決手段特定部58は、人によって実行される解決手段よりも、人によって実行されずに機器を利用して実行される解決手段(人の協力が不要な解決手段)を優先的に特定してもよい。人によって実行される解決手段は、必ずしも人によって実行されるとは限らない。それ故、人の協力が不要な解決手段を優先的に特定することで、より確実に実行され得る解決手段が特定される。また、人が検知されない場合、解決手段特定部58は、人の協力が必要な解決手段を探索せずに、人の協力が不要な解決手段を特定してもよい。これにより、解決手段の探索に要する負荷が軽減される。
以下、図16を参照して、解決手段の実行制御について詳しく説明する。図16は、その制御を示すフローチャートである。以下では、ロボット装置10によって問題を解決できないものとする。
まず、ロボット装置10の制御部54は、上記のユーザ判断モードにおいてユーザによって選択された解決手段、又は、上記の自律判断モードにおいてロボット装置10によって特定された解決手段に、機器の制御が含まれているか否かを判断する(S40)。つまり、制御部54は、上記の解決手段が、機器を利用する解決手段に該当するか否かを判断する。更に換言すると、制御部54は、上記の解決手段が、機器を利用せずに人のみによって実現される解決手段か否かを判断する。
上記の解決手段に機器の制御が含まれていない場合(S40,No)、つまり、解決手段が機器を利用せずに人のみによって実現される解決手段に該当する場合、ロボット装置10は、解決手段を実行するために、周囲の人に協力を依頼する(S41)。例えば、ロボット装置10の通信部30は、協力依頼内容(例えば解決手段を実行するための手順等)を示す情報を端末装置14に送信する。この場合、端末装置14のUI部72に、その協力依頼内容を示す情報が表示される。このとき、ロボット装置10の通信部30は、周囲の環境に応じた通信方式を利用して、協力依頼内容を示す情報を端末装置14に送信する(S42)。周囲の環境は、例えば、ロボット装置10と端末装置14との間の距離や、ロボット装置10と端末装置14との間の障害物の有無等である。ロボット装置10の制御部54は、協力依頼内容を音声としてスピーカに発生させたり、ロボット装置10のUI部50に協力依頼内容を表示させたり、人のいる場所まで移動して人に触ったりしてもよい。ロボット装置10の制御部54は、解決手段を実現するためにユーザによって行われると想定される動作が、予め設定された時間内に実行されるか否かを観察する(S43)。制御部54は、その観察に基づいて、問題が解消したか否かを判断する(S44)。その想定される動作が予め設定された時間内に実行されて、各種センサー(例えば視覚センサー)によってその動作が検知された場合、ロボット装置10の制御部54は、問題が解消したと判断する(S44,Yes)。この場合、処理は終了する。一方、想定される動作が予め設定された時間内に実行されず、各種センサーによってその動作が検知されない場合、ロボット装置10の制御部54は、問題が解消していないと判断する(S44,No)。この場合、ロボット装置10は、別の解決手段を探索してもよいし、同じ協力依頼内容をユーザに通知してもよい(S45)。
上記の解決手段に機器の制御が含まれている場合(S40,Yes)、つまり、解決手段が機器を利用する解決手段に該当する場合、ロボット装置10の制御部54は、解決手段に利用される機器が無料で利用可能な機器に該当するか否かを判断する(S46)。具体的には、ロボット装置10の制御部54は、周囲において、その解決手段を実行可能な機器を探索(識別)し、その機器が無料で利用可能な機器に該当する否かを判断する。無料又は有料を示す情報は、機器毎に管理されている。例えば、デバイス機能管理テーブルにおいて、各機器が無料又は有料で使用可能なことが管理されていてもよい。別の例として、制御部54は、識別した機器から、当該危機が無料又は有料で使用可能な機器かを示す情報を取得してもよい。
解決手段に利用される機器が無料で利用可能な機器に該当しない場合(S46,No)、つまり、その機器が有料で使用可能な機器に該当する場合、ロボット装置10の制御部54は、当該ロボット装置10が、当該機器に対応する支払手段を有しているか否かを判断する(S47)。支払手段は、例えば、電子マネー(電子通貨)、仮想通貨、現金、クレジットカード等である。もちろん、これら以外の手段によって支払いが行われてもよい。ロボット装置10が、支払手段を有していない場合(S47,No)、ロボット装置10の制御部54は、別の解決手段を探索する(S48)。ロボット装置10が、支払手段を有している場合(S47,Yes)、処理はステップS49に移行する。この場合、ロボット装置10の制御部54は、有料で利用可能な機器を使用するための支払い動作を制御する。つまり、ロボット装置10は、機器の利用の際に、支払手段によって支払する。なお、ロボット装置10が支払手段を有していない場合、ロボット装置10は、ロボット装置10以外の機器及び人の中の少なくとも1つから支払い援助を受けて(例えば、人や機器から金銭を借りたり譲り受けたりして)支払い動作を行ってもよい。
次に、ロボット装置10の制御部54は、解決手段に利用される機器が通信機能を介して制御可能な機器に該当するか否かを判断する(S49)。通信機能を介して制御可能か否かを示す情報は、機器毎に管理されている。例えば、デバイス機能管理テーブルにおいて、各機器が通信機能を介して制御可能か否かが管理されていてもよい。
解決手段に利用される機器が通信機能を介して制御可能な機器に該当する場合(S49,Yes)、ロボット装置10の制御部54は、その機器との間で通信可能な通信方式(その機器が対応している通信方式)を選択する(S50)。各機器が対応している通信方式は、機器毎に管理されている。例えば、デバイス機能管理テーブルにおいて、各機器が対応している通信方式が管理されていてもよい。なお、機器が対応している通信方式に従って当該機器と通信を行っても通信エラーが生じる場合、ステップS57以降の処理が実行されてもよい。また、当該機器が複数の通信方式に対応している場合、ロボット装置10は、当該複数の通信方式のそれぞれを用いて当該機器との間で通信を試みてもよい。この場合、ロボット装置10は、複数の通信方式の中で最適な通信方式(例えば、通信速度が最も速い通信方式や、ノイズが最も少ない通信方式等)を用いて機器と通信してもよい。
また、ロボット装置10の制御部54は、解決手段に利用される機器のアドレス情報やアクセスパスワード等を取得する(S51)。ロボット装置10の制御部54は、例えば、アドレス情報等を記憶するサーバ等の装置からアドレス情報等を取得してもよいし、インターネット経由等でアドレス情報等を取得してもよい。別の例として、アドレス情報等はロボット装置10に記憶されていてもよい。また、ロボット装置10の制御部54は、解決手段に利用される機器を制御するために当該機器のドライバが必要な場合、そのドライバを取得してロボット装置10にインストールする(S52)。ロボット装置10の制御部54は、例えば、ドライバを記憶するサーバ等の装置からドライバを取得してもよいし、インターネット経由等でドライバを取得してもよい。
次に、ロボット装置10の通信部30は、解決手段の実行指示(解決手段を実行するための機能の実行指示)を示す情報を、解決手段に利用される機器に送信する(S53)。実行指示を示す情報を受けた機器は、その指示に従って解決手段を実行する。
ロボット装置10の制御部54は、機器が問題を解決しているか否かを観察し(S54)、その観察に基づいて、問題が解消したか否かを判断する(S55)。例えば、解決手段を実現するために機器によって行われると想定される動作が、予め設定された時間内に当該機器によって実行されて、各種センサー(例えば視覚センサー)によってその動作が検知された場合、ロボット装置10の制御部54は、機器が問題を解決していると判断する(S55,Yes)。この場合、処理は終了する。一方、想定される動作が予め設定された時間内に実行されず、各種センサーによってその動作が検知されない場合、ロボット装置10の制御部54は、問題が解消していないと判断する(S55,No)。この場合、ロボット装置10は、別の解決手段を探索してもよいし、同じ実行指示を機器に送信してもよい(S56)。なお、ロボット装置10の制御部54は、別の新たな解決手段の実行が可能か否かを判断してもよい。例えば、部屋の温度が高い場合において、クーラー以外の機器として扇風機が部屋内に新たに設置された場合、制御部54は、その扇風機を用いた新たな解決手段を探索してもよい。また、検索部62は、インターネット等を利用することで、新たな解決手段を検索してもよい。
解決手段に利用される機器が通信機能を介して制御可能な機器に該当しない場合(S49,No)、ロボット装置10は、当該機器を操作するためのリモコンを探索する(S57)。ロボット装置10は、例えば、視覚センサーによって得られた画像を解析することでリモコンを識別する。
リモコンが見つからない場合(S58,No)、ロボット装置10は、別の解決手段を探す(S59)。
リモコンが見つかった場合(S58,Yes)、ロボット装置10は、リモコンを操作することで、解決手段の実行するための指示を入力する(S59)。その指示を受けた機器は、その指示に従って解決手段を実行する。
ロボット装置10の制御部54は、機器が問題を解決しているか否かを観察し、その観察に基づいて、問題が解消したか否かを判断する(S61)。例えば、解決手段を実現するために機器によって行われると想定される動作が、予め設定された時間内に当該機器によって実行されて、各種センサー(例えば視覚センサー)によってその動作が検知された場合、ロボット装置10の制御部54は、機器が問題を解決していると判断する(S61,Yes)。この場合、処理は終了する。一方、想定される動作が予め設定された時間内に実行されず、各種センサーによってその動作が検知されない場合、ロボット装置10の制御部54は、問題が解消していないと判断する(S61,No)。この場合、ロボット装置10は、別の解決手段を探索してもよいし、リモコンを用いて同じ実行指示を機器に送信してもよい(S62)。
以下、本実施形態に係るロボット装置10の適用場面について詳しく説明する。
(適用場面1)
図17を参照して、適用場面1について説明する。図17には、人やロボット装置10等が示されている。例えば、人76(3人)によって会議が行われており、その場にロボット装置10が同席しているものとする。
ロボット装置10の状況収集部44は、各種センサーによって周囲の状況情報を収集する。状況収集部44は、例えば、周囲の人76の会話を示す音声や、人76を表わす画像(例えば人76の顔を表わす画像や全身を表わす画像等)、温度、湿度、等を状況情報として収集する。ロボット装置10の検知部56は、その状況情報(例えば、人76の様子(会話、表情、態度等)や温度等)に基づいて、周囲の状況を検知する。例えば、人76が「今の発言をメモにして紙でほしい」と発言した場合、ロボット装置10の状況収集部44は、その会話の音声情報を状況情報として収集し、ロボット装置10の検知部56は、その会話に基づいて、問題が発生しているか否かを判断する。上記の発言では、「発言の内容を紙に印刷してほしい」という問題が検知される。
解決手段特定部58は、解決手段管理情報38を参照して、その問題を解決するための解決手段を特定する。この問題は、例えば、「発言を音声情報として収集し、その発言内容を文字列に変換する機能」と、「プリント機能」と、を組み合わせることによって、解決できる問題である。すなわち、この問題に対する解決手段は、「発言を音声情報として収集し、その発言内容を文字列に変換する機能」と「プリント機能」との組み合わせによって構成される。
ここで、ロボット装置10が、「発言を音声情報として収集し、その発言内容を文字列に変換する機能」を備えており、「プリント機能」を備えていないものとする。この場合、ロボット装置10のみによっては、上記の問題を解決することができない。これに対処するために、ロボット装置10は、プリント機能を有する機器を探索する。例えば、ロボット装置10は、視覚センサー(例えばカメラ)によって周囲の機器を撮影し、ロボット装置10の識別部64は、その撮影で得られた画像を解析することで、撮影された機器を識別する。例えば、複合機78がロボット装置10の周囲に設置されており、プリント機能を備えているものとする。ロボット装置10の識別部64は、複合機78を識別し、その複合機78が有する機能(例えばプリント機能)を識別する。この場合、ロボット装置10と複合機78とによって、解決手段が実行される。この解決手段は、ロボット装置10と複合機78とを利用する連携機能によって実現される解決手段、つまり、ロボット装置10と複合機78とが連携することで実現される解決手段である。例えば、ロボット装置10は、自動的に解決手段を実行してもよいし、ユーザからの実行指示を受けて解決手段を実行してもよい。解決手段を実行する場合、ロボット装置10は、複合機78と通信し、人76の発言内容を示す情報を複合機78に送信するとともに、その情報の印刷指示を複合機78に与える。これにより、人76の発言内容が用紙に印刷される。
ロボット装置10は、複合機78まで移動し、発言内容が印刷された用紙を取得してユーザに渡してもよい。また、ロボット装置10は、音声等によって、解決手段が実行されたことをユーザに報知してもよい。
図17に示す例では、ロボット装置10が解決手段に利用されているが、ロボット装置10が利用されずに、ロボット装置10以外の機器を利用する解決手段が実行されてもよい。この場合、ロボット装置10は、ロボット装置10以外の機器に、解決手段の実行指示を与える。
ロボット装置10は、複合機78を直接操作してもよい。例えば、「用紙をコピーしてほしい」といった問題がロボット装置10の検知部56によって検知された場合、ロボット装置10の解決手段特定部58は、「コピー機能」を解決手段として特定する。この場合、ロボット装置10は、コピー機能を有する機器(例えば複合機78)を探索し、複合機78に用紙のコピーを実行させる。例えば、ロボット装置10は、ユーザから用紙を受け取って複合機78にセットし、複合機78の操作パネルを直接操作することで、複合機78にコピー指示を与える。ロボット装置10は、例えば視覚センサーによって取得された画像を解析することで、操作パネル等を識別して、コピー指示を与える。
以上のように、ロボット装置10のみによって解決できない問題が検知された場合であても、他の機器を利用してその問題を解決することが可能となる。これにより、ロボット装置10が状況に応じて連携して解決できる問題の範囲を広げることが可能となる。
(適用場面2)
図18を参照して、適用場面2について説明する。図18には、ユーザやロボット装置10等が示されている。例えば、人80が倒れているものとする。ロボット装置10の状況収集部44は、倒れている人80の画像を状況情報として収集し、ロボット装置10の検知部56は、その画像に基づいて、問題が発生しているか否かを判断する。図18に示す例では、「人が倒れている」という問題が検知される。
解決手段特定部58は、解決手段管理情報38を参照して、その問題を解決するための解決手段を特定する。この問題は、例えば、「倒れている人を救護するために人に助けを求める」ことで解決できる問題である。すなわち、この問題に対する解決手段には、「人に助けを求めること」が含まれている。この場合、ロボット装置10は、倒れている人80以外の人82に助けを求める。そのために、ロボット装置10は、音声を発生してもよいし、人82まで移動して人82に接触してもよい。このとき、ロボット装置10の制御部54は、救護するための手順を示す情報を、ロボット装置10のUI部50に表示させてもよいし、人82が所持する端末装置14に表示させてもよい。例えば、ロボット装置10は、各種センサーによって人82が所持する端末装置14を識別し、識別した端末装置14に、救助するための手順を示す情報を送信してもよい。
なお、解決手段特定部58によって、「倒れている人を安全な場所まで運ぶ」という解決手段が特定された場合において、ロボット装置10が、物体を運ぶ機能を備えている場合、ロボット装置10は、ロボット装置10のみによって人80を運んでもよいし、他の人と共同で人80を運んでもよいし、他の機器と共同で人80を運んでもよいし、他の人と他の機器と共同して人80を運んでもよい。他の機器は、ロボット装置10によって識別された機器である。ロボット装置10が、物体を運ぶ機能を備えていない場合、ロボット装置10は、倒れている人80を安全な場所まで運ぶよう、人82に指示を与えてもよい。その指示を示す情報は、ロボット装置10のUI部50に表示されてもよいし、人82が有する端末装置に送信されて端末装置に表示されてもよい。
以上のように、ロボット装置10のみによって解決できない問題が検知された場合であって、人に協力を依頼してその問題を解決することが可能となる。
(適用場面3)
図19を参照して、適用場面3について説明する。図19には、ユーザやロボット装置10等が示されている。例えば、人84が「喉が渇いた」と発言した場合、ロボット装置10の状況収集部44は、その発言の音声情報を状況情報として収集し、ロボット装置10の検知部56は、その発言に基づいて、問題が発生しているか否かを判断する。上記の発言では、「喉が渇いた」という問題が検知される。
解決手段特定部58は、解決手段管理情報38を参照して、その問題を解決するための解決手段を特定する。この問題は、例えば、「飲み物を購入する」ことによって解決できる問題である。すなわち、この問題に対する解決手段は、「飲み物を提供する機能」によって構成される。
ここで、ロボット装置10は、「飲み物を提供する機能」を備えていないものとする。この場合、ロボット装置10にのみによっては、上記の問題を解決することができない。これに対処するために、ロボット装置10は、飲み物を提供する機器を探索する。例えば、ロボット装置10は、視覚センサーによって周囲の機器を撮影し、ロボット装置10の識別部64は、その撮影で得られた画像を解析することで、撮影された機器を識別する。例えば、飲料水の自動販売機86(機器の一例)がロボット装置10の周囲に設置されているものとする。ロボット装置10の識別部64は、自動販売機86を識別し、その自動販売機86が有する機能(例えば有料で飲み物を提供する機能)を識別する。ロボット装置10の識別部64は、視覚センサーによって得られた画像に基づいて、自動販売機86が対応している支払方法(例えば電子マネーや貨幣)を識別してもよいし、自動販売機86と通信して、自動販売機86が対応している支払方法を識別してもよい。ロボット装置10の制御部54は、自動販売機86が対応している支払方法を準備する。
ロボット装置10が、自動販売機86に対応している支払手段(例えば、電子マネー、貨幣、クレジットカード等)を有している場合、ロボット装置10の制御部54は、支払い動作を制御する。これにより、ロボット装置10は、自動販売機86において、その支払手段によって支払を行うことで、飲み物を購入する。例えば、ロボット装置10は、自動販売機86まで移動して自動販売機86を直接操作することで、飲み物を購入する。ロボット装置10は、例えば視覚センサーによって取得された画像を解析することで、自動販売機86の購入ボタン等を識別して、飲み物を購入する。ロボット装置10は、その飲み物を人84に届けてもよい。なお、ロボット装置10は、ユーザの指示に応じて、飲み物を購入してもよいし、ユーザの指示を受けずに、飲み物を購入してもよい。ユーザの指示に応じて購入処理を行う場合、ロボット装置10の制御部54は、解決手段を示す情報(例えば、飲み物を購入することを示す情報)をロボット装置10のUI部50に表示させる。ユーザがUI部50を用いて購入指示を与えた場合、ロボット装置10は、支払手段によって支払を行って飲み物を購入する。解決手段を示す情報は、ユーザの端末装置14に送信されて端末装置14に表示されてもよい。ユーザが端末装置14を用いて購入指示を与えると、その購入指示を示す情報が端末装置14からロボット装置10に送信され、ロボット装置10は、その購入指示に従って、飲み物を購入する。
ロボット装置10が、自動販売機86に対応している支払手段を有していない場合、人84及び他の機器の中の少なくとも1つから支払いの援助を受けて、支払い動作を行ってもよい。例えば、ロボット装置10は、問題を解決するための行動に関与し得る人から支払用の金銭を受け取り、その金銭によって飲み物を購入してもよいし、支払手段を有する他の機器からその支払手段を借りて支払い動作を行ってもよい。問題を解決するための行動に関与し得る人は、例えば、「喉が渇いた」と発言した人84であり、この人84は、ロボット装置10の各種センサーによって識別される。
(ユーザ判断モード1)
以下、ユーザ判断モードの一例(ユーザ判断モード1)について詳しく説明する。図20には、人やロボット装置10等が示されている。例えば、人87(3人)が会話をしており、ロボット装置10の周囲には、複数の機器(例えば、複合機78、プロジェクタ88、カメラ90、ディスプレイ92、アロマ器94)が設置されている。
ロボット装置10の状況収集部44は、各種センサーによって周囲の状況情報を収集し、検知部56は、その状況情報に基づいて周囲の状況を検知する。また、識別部64は、周囲に存在する機器を識別する。例えば、検知部56によって、「3人が会議しており、何やら揉めている」という状況(問題)が検知されたものとする。また、図20に示す例では、識別部64によって、複合機78、プロジェクタ88、カメラ90、ディスプレイ92及びアロマ器94が識別される。識別部64は、人(例えば問題が生じている人87)が所持している端末装置14を識別してもよい。
ロボット装置10の判断部60が、検知部56によって検知された問題をロボット装置10によって解決できないと判断した場合、ロボット装置10の通信部30は、制御部54の制御の下、ロボット装置10に予め登録された端末装置14や、識別部64によって識別された端末装置14(例えば問題が生じている人87が所持している端末装置14)に、状況情報を送信する。その状況情報には、検知部56によって検知された状況(問題)を示す情報、識別部64によって識別された機器を示す情報、等が含まれる。
端末装置14のUI部72には、状況を説明する画面が表示される。図21には、その画面の一例が示されている。端末装置14のUI部72には、状況説明画面96が表示される。状況説明画面96には、検知部56によって検知された状況(問題)を示す情報、識別部64によって識別された機器を示す情報、等が表示される。図21に示す例では、状況(問題)として「3人が会議して、何か揉めている」ことを示す文字列が表示され、「周囲に、複合機、プロジェクタ、カメラ、ディスプレイ及びアロマ器が存在する」ことを示す文字列が表示される。
また、ユーザが端末装置14を使用して追加情報を要求した場合、その要求を示す情報が、端末装置14からロボット装置10に送信される。ロボット装置10の通信部30は、その要求に応じて、追加情報を端末装置14に送信する。例えば、追加情報として、周囲の状況を表わす画像がユーザによって要求された場合、ロボット装置10の通信部30は、周囲の状況を表わす画像データを端末装置14に送信する。
ロボット装置10の通信部30は、例えば、問題が生じていると想定される人87に紐付く画像データ、識別部64によって識別された機器に紐付く画像データ、等を、周囲の状況を表わす画像データとして、端末装置14に送信する。人87に紐付く画像データは、視覚センサーによる撮影によって生成された画像データであってもよいし、人を模式的に表す画像データであってもよい。機器に紐付く画像データは、識別部64が機器を識別するときに視覚センサー(カメラ)による撮影で得られた画像データであってもよいし、識別された機器を模式的に表す画像データ(例えばアイコン)であってもよい。模式的に表す画像データは、例えば、ロボット装置10に予め記憶されていてもよいし、サーバ等の装置に予め記憶されて、ロボット装置10に送信されてもよい。
ロボット装置10の通信部30は、追加情報としての画像データ(例えば人87に紐付く画像データと機器に紐付く画像データ)を端末装置14に送信する。端末装置14のUI部72には、その画像が表示される。図22には、その画像の一例が示されている。端末装置14のUI部72には、状況説明画面98が表示される。状況説明画面96には、追加情報としての画像群が表示される。例えば、人87に紐付く画像100、複合機78に紐付く機器画像102、プロジェクタ88に紐付く機器画像104、カメラ90に紐付く機器画像106、ディスプレイ92に紐付く機器画像108、及び、アロマ器94に紐付く機器画像110が表示される。
ユーザが状況説明画面98上において、機器画像を指定し、その機器画像に紐付く機器を利用する解決手段の実行指示を与えると、その実行指示を示す情報が、その機器に送信される。その機器は、実行指示に従って、検知部56によって検知された問題を解決するための解決手段を実行する。実行指示を示す情報は、端末装置14から機器に送信されてもよいし、ロボット装置10から機器に送信されてもよい。
例えば、ユーザによって機器画像108,110が指定されたものとする。この場合、解決手段特定部58は、解決手段管理情報38を参照することで、検知部56によって検知された問題「3人が会議して、何か揉めている」を解決するための解決手段であって、機器画像108に紐付くディスプレイ92と機器画像110に紐付くアロマ器94とを利用する解決手段を特定する。つまり、解決手段特定部58は、解決手段管理情報38を参照することで、検知部56によって検知された問題「3人が会議して、何か揉めている」を解決するための解決手段を特定し、デバイス機能管理情報40と連携機能管理情報42を参照することで、特定された各解決手段に用いられる機器群(各解決手段を実行するために利用される機能を有する機器群)を特定する。ユーザによってディスプレイ92とアロマ器94が指定されると、解決手段特定部58は、それらを利用する解決手段を選択する。
ユーザによってディスプレイ92とアロマ器94が指定されると、例えば図23に示すように、端末装置14のUI部72に、実行指示画面112が表示される。その実行指示画面112には、ユーザによって指定された機器画像(例えば機器画像108,110)が表示され、ユーザによって指定された機器を利用して実行可能な機能(解決手段)を示す情報が表示される。例えば、ディスプレイ92とアロマ器94を利用することで実行可能な解決手段は、「癒し画像をディスプレイ92に表示し、癒しの香りをアロマ器94から発声させる」ことである。この解決手段は、ディスプレイ92とアロマ器94とを連携させることで実行可能な連携機能であり、この連携機能は、連携機能管理情報42に登録されている。ユーザが端末装置14を使用して解決手段の実行指示を与えると、その実行指示を示す情報が、端末装置14からディスプレイ92とアロマ器94に送信される。もちろん、実行指示を示す情報は、ロボット装置10を介してディスプレイ92とアロマ器94に送信されてもよい。実行指示を示す情報を受けたディスプレイ92は、癒し画像を表示し、実行指示を示す情報を受けたアロマ器94は、癒しの香りを発声させる。なお、癒し画像のデータは、ロボット装置10に予め記憶されており、ロボット装置10からディスプレイ92に送信されてもよいし、サーバ等の装置に記憶されて、サーバ等の装置からディスプレイ92に送信されてもよい。
なお、図21から図23に示されている画面は、ロボット装置10のUI部50に表示されてもよい。この場合、各画面は、端末装置14のUI部72に表示されなくてもよい。また、画面に表示される情報は、音声情報として出力されてもよい。
なお、解決手段を実行する機器の選択操作について後で詳しく説明する。
(ユーザ判断モード2)
以下、ユーザ判断モードの別の例(ユーザ判断モード2)について詳しく説明する。
ロボット装置10の判断部60が、検知部56によって検知された問題をロボット装置10によって解決できないと判断した場合、ロボット装置10の通信部30は、制御部54の制御の下、端末装置14に状況情報を送信する。
例えば図24に示すように、端末装置14のUI部72には通知画面114が表示される。通知画面114には、ロボット装置10によっては解決できない問題(事態)が発生した旨のメッセージが表示される。
通知画面114においてユーザが「はい」ボタンを押すと、画面は次の画面に遷移する。例えば図25に示すように、端末装置14のUI部72には状況説明画面116が表示される。状況説明画面116には、ロボット装置10によって検知された状況(問題)の説明文が表示される。
状況説明画面116には、ユーザに状況を理解できたか否かを問うメッセージが表示される。ユーザが「いいえ」ボタンを押すと、ロボット装置10に対して問い合わせを行うこと、つまり、追加情報を要求することが可能となる。この場合、図26に示されているように、端末装置14のUI部72には、問い合わせ画面118が表示される。問い合わせ画面118においては、ユーザは端末装置14を使用して、問い合わせ内容(例えば、ユーザが追加で知りたい事項等)を入力することが可能となっている。図26に示す例では、「○○のデータが欲しい。」、「△△の映像が見たい。」等といった問い合わせ内容がユーザによって入力されている。この問い合わせ内容を示す情報は、端末装置14からロボット装置10に送信される。ロボット装置10の状況収集部44は、その問い合わせに応じた情報(例えば画像や音声データ等)を収集し、ロボット装置10の通信部30は、状況収集部44によって収集された情報を端末装置14に送信する。端末装置14のUI部72の状況説明画面116には、追加で取得された情報が表示される。
状況説明画面116において、ユーザが「はい」ボタンを押すと、図27に示されているように、端末装置14のUI部72には、解決手段表示画面120が表示される。解決手段表示画面120には、ロボット装置10の解決手段特定部58によって特定された解決手段を示す情報(解決手段の説明文や名称等)が表示される。例えば、上述したように、「3人が会議して、何やら揉めている」という問題が検知された場合、解決手段特定部58は、解決手段管理情報38を参照することで、その問題を解決するための解決手段を特定する。特定された解決手段を示す情報は、ロボット装置10から端末装置14に送信され、端末装置14のUI部72に表示される。図27に示す例では、(1)から(4)までの4つの解決手段案が、上記の問題を解決するための推奨解決手段として特定されて、それらを示す情報が表示されている。各解決手段案は、ランダムの順番で表示されてもよいし、問題を解決する上でより高い効果が得られると想定される順番で表示されてもよいし、実行容易性で決定される順番で表示されてもよい。例えば、端末装置14又はロボット装置10からより近い位置に存在する機器を利用する解決手段ほど、実行容易性が高く、その解決手段はより上位に表示される。ロボット装置10、端末装置14及び各機器の位置情報は、例えばGPS(Global Positioning System)を利用することで得られる。ロボット装置10の制御部54は、GPSを利用することで得られた位置情報を用いて、端末装置14又はロボット装置10と各機器との間の距離を演算する。その演算結果に基づいて、上記の順位が決定される。
解決手段表示画面120が端末装置14のUI部72に表示されている状態で、ユーザが画面遷移を指示した場合や、予め設定された時間が経過した場合、図28に示されているように、端末装置14のUI部72に画面122が表示される。その画面122には、「解決手段の選択してください。」といったメッセージ(例えば、解決手段の選択を促すメッセージ)が表示される。また、提示された解決手段案(図27参照)の中に適切な解決手段(例えば、ユーザが実行を希望する解決手段)が含まれていない場合、ユーザは、別の指示を与えることができるようになっている。
例えば、提示された解決手段案(図27参照)の中に適切な解決手段が含まれており、ユーザが端末装置14を使用してその適切な解決手段を選択した場合、図29に示されているように、端末装置14のUI部72に確認画面124が表示される。その確認画面124には、ユーザによって選択された解決手段を示す情報等が表示される。図29に示す例では、解決手段(2)「ディスプレイで癒し画像を表示する。」と(3)「アロマ器で柑橘系の香りを出す。」がユーザによって選択されている。確認画面124においてユーザが「はい」ボタンを押すと、解決手段(2),(3)の実行指示を示す情報が、端末装置14又はロボット装置10から、解決手段(2),(3)の実行に用いられる機器(例えばディスプレイ92とアロマ器94)に送信される。これにより、ディスプレイ92によって解決手段(2)が実行され、アロマ器94によって解決手段(3)が実行される。
確認画面124においてユーザが「いいえ」ボタンを押すと、画面は前の画面122(図28参照)に戻る。
提示された解決手段案(図27参照)の中に適切な解決手段が含まれていない場合、ユーザは、提示された解決手段案以外の解決手段を指定してもよい。ユーザが端末装置14を使用して、解決手段を指定するための入力画面の表示指示を与えると、例えば図30に示されているように、端末装置14のUI部72にユーザ入力画面126が表示される。そのユーザ入力画面126において、ユーザは、解決手段に用いられる機器と、その機器を用いた解決手段を指示する。図30に示す例では、解決手段に用いられる機器として複合機が指定されており、その複合機を用いた解決手段として「XX」処理が指定されている。なお、ユーザは、機器の名称を文字で入力することで、解決手段に用いられる機器を指定してもよいし、機器に紐付く機器画像を指定することで、解決手段に用いられる機器を指定してもよい。例えば、端末装置14のUI部72には、ロボット装置10によって識別された1又は複数の機器に紐付く1又は複数の機器画像が表示され、ユーザは、1又は複数の機器画像の中から、解決手段に用いられる機器に紐付く機器画像を選択する。このように機器画像によって機器を指定することで、機器の詳細な名称等が分からなくても、解決手段に用いられる機器を指定することができる。また、解決手段に用いられる機器がユーザによって指定されると、その機器が有する機能の一覧が端末装置14のUI部72に表示される。機器が有する機能は、例えば、デバイス機能管理情報40を参照することで特定される。ユーザは、機能の一覧の中から、解決手段に用いられる機能を選択する。そして、ユーザが端末装置14を使用して解決手段の実行指示を与えると、その実行指示を示す情報が、ユーザによって指定された機器に送信され、当該機器は解決手段を実行する。
なお、図24から図30に示されている画面は、ロボット装置10のUI部50に表示されてもよい。この場合、各画面は、端末装置14のUI部72に表示されなくてもよい。また、画面に表示される情報は、音声情報として出力されてもよい。
上記のユーザ判断モード1,2において、端末装置14のUI部72に表示される情報は、例えば、ロボット装置10から端末装置14に送信される。もちろん、その情報は、ロボット装置10の制御の下、サーバ等の装置から端末装置14に送信されてもよい。
(機器の識別処理)
以下、機器の識別処理について説明する。一例として、AR(Augmented Reality)技術(拡張現実技術)を適用することにより、デバイス識別情報が取得されて機器が識別される。例えば、AR技術を適用することにより、単独で使用される機器のデバイス識別情報が取得されて当該機器が識別され、また、連携対象の機器のデバイス識別情報が取得されて連携対象の機器が識別される。AR技術として公知のAR技術が用いられる。例えば、2次元バーコード等のマーカを用いるマーカ型AR技術、画像認識技術を用いるマーカレス型AR技術、位置情報を用いる位置情報AR技術、等が用いられる。もちろん、AR技術を適用せずにデバイス識別情報が取得されて機器が識別されてもよい。例えば、ネットワークに繋がっている機器であれば、IPアドレスに基づいて機器を識別してもよいし、機器IDを読み出して機器を識別してもよい。更に、赤外線通信、可視光通信、Wi−Fi、ブルートゥースといった各種無線通信機能を備えた機器、端末装置であれば、それら無線通信機能を利用して連携する機器の機器IDを取得することで機器を識別し、連携機能を実行してもよい。
以下、図31を参照して、デバイス識別情報の取得処理について詳しく説明する。一例として、ロボット装置10の周囲に複合機78が設置されており、ロボット装置10が複合機78のデバイス識別情報を取得する場合について説明する。図31には、複合機78の外観が模式的に示されている。ここでは、マーカ型AR技術を適用してデバイス識別情報を取得するための処理について説明する。複合機78の筐体には、2次元バーコード等のマーカ128が設けられている。マーカ128は、複合機78のデバイス識別情報がコード化された情報である。ロボット装置10は、視覚センサーによってマーカ128を撮影する。これにより、マーカ128を表す画像データが生成される。ロボット装置10においては、制御部54が、当該画像データに表されたマーカ画像に対してデコード処理を適用することにより、デバイス識別情報を抽出する。これにより、複合機78が識別される。ロボット装置10の識別部64は、デバイス機能管理情報40において、抽出されたデバイス識別情報に対応付けられている機能を示す機能情報を特定する。これにより、複合機78が有する機能が特定(識別)される。
マーカ128は、複合機78が有する機能を示す機能情報がコード化されて含まれていてもよい。この場合、マーカ128を表す画像データにデコード処理を適用することにより、当該複合機78のデバイス識別情報が抽出されるとともに、当該複合機78が有する機能を示す機能情報も抽出される。これにより、複合機78が特定(識別)されるとともに、当該複合機78が有する機能が特定(識別)される。
マーカレス型AR技術を適用してデバイス識別情報を取得する場合、例えば、ロボット装置10は、視覚センサーによって機器(例えば複合機78)の外観の全部又は一部を撮影する。もちろん、機器の名称(例えば商品名)や型番号といった機器を特定するための情報を外観から撮影して得ることは役に立つ。撮影により、機器の外観の全部又は一部を表す外観画像データが生成される。ロボット装置10においては、制御部54が、当該外観画像データに基づいて利用対象の機器を識別する。例えば、ロボット装置10の記憶部32には、機器毎に、機器の外観の全部又は一部を表す外観画像データと、当該機器のデバイス識別情報と、の対応付けを示す外観画像対応付け情報が記憶されている。制御部54は、例えば、撮影で得られた外観画像データと外観画像対応付け情報に含まれる各外観画像データとを比較し、その比較結果に基づいて、利用対象の機器のデバイス識別情報を特定する。例えば、制御部54は、撮影で得られた外観画像データから機器の外観の特徴を抽出し、外観画像対応付け情報に含まれる外観画像データ群において、その外観の特徴と同一又は類似の特徴を表す外観画像データを特定し、その外観画像データに対応付けられているデバイス識別情報を特定する。これにより、機器(例えば複合機78)が識別される。別の例として、機器の名称(例えば商品名)や型番号が撮影され、名称や型番号を表す外観画像データが生成されている場合、その外観画像データに表された名称や型番号に基づいて、機器を識別してもよい。ロボット装置10の識別部64は、デバイス機能管理情報40において、特定されたデバイス識別情報に対応付けられている各機能を示す機能情報を特定する。これにより、機器(例えば複合機78)が有する機能が特定される。
位置情報AR技術を適用してデバイス識別情報を取得する場合、例えば、GPS機能を利用することにより、機器(例えば複合機78)が設置されている位置を示す位置情報が取得される。例えば、各機器がGPS機能を備えており、機器自身の位置を示すデバイス位置情報を取得する。ロボット装置10は、機器に対してデバイス位置情報の取得要求を示す情報を出力し、その取得要求に対する応答として、当該機器から当該機器のデバイス位置情報を受信する。ロボット装置10においては、制御部54が、当該デバイス位置情報に基づいて機器を識別する。例えば、ロボット装置10の記憶部32には、機器毎に、機器が設置されている位置を示すデバイス位置情報と、当該機器のデバイス識別情報と、の対応付けを示す位置対応付け情報が記憶されている。制御部54は、その位置対応付け情報において、デバイス位置情報に対応付けられているデバイス識別情報を特定する。これにより、機器が特定(識別)される。ロボット装置10の識別部64は、デバイス機能管理情報40において、特定されたデバイス識別情報に対応付けられている各機能を示す機能情報を特定する。これにより、機器(例えば複合機78)が有する機能が特定(識別)される。
例えば、複合機78がロボット装置10によって識別された場合、上記のユーザ判断モード1においては、その複合機78に紐づく機器画像が、状況情報として端末装置14に表示される。例えば図32に示すように、端末装置14のUI部72に、複合機78に紐づく機器画像102が表示される。機器画像102は、例えば、ロボット装置10の視覚センサーによる撮影によって生成された画像であってもよいし、複合機78を模式的に表す画像であってもよい。
また、機器が識別されると、その機器の名称を示す情報がロボット装置10から端末装置14に送信され、端末装置14のUI部72に機器の名称が表示されてもよい。図32に示す例では、名称「複合機(B)」が表示されている。
例えば、ユーザが端末装置14を使用して機器画像102を指定すると、例えば図33に示すように、端末装置14のUI部72には、機器画像102に紐づく複合機78を利用する解決手段を示す情報(例えば、解決手段の実行を指示するためのボタン画像)が表示される。複合機(B)は、例えば、プリント機能、スキャン機能、コピー機能、及び、ファクシミリ機能を備えており、これらの機能が解決手段として利用される場合、これらの機能を実行するためのボタン画像が端末装置14のUI部72に表示される。例えば、ユーザが端末装置14を使用してプリント機能を表わすボタン画像を指定し、プリント機能の実行を指示すると、プリント機能の実行指示を示す実行指示情報が、端末装置14又はロボット装置10から複合機78に送信される。その実行指示情報には、プリント機能を実行するための制御データや、プリント機能が適用される画像データ等のデータ、等が含まれる。複合機78は実行指示情報を受けると、その実行指示情報に従ってプリントを実行する。
複数の機器(例えば複合機78とプロジェクタ88)がロボット装置10によって識別された場合、上記のユーザ判断モード1においては、複合機78に紐づく機器画像とプロジェクタ88に紐づく機器画像が、状況情報として端末装置14に表示される。例えば図34に示すように、端末装置14のUI部72に、複合機78に紐づく機器画像102とプロジェクタ88に紐づく機器画像104が表示される。機器画像102,104は、例えば、ロボット装置10の視覚センサーによる撮影によって生成された画像であってもよいし、複合機78、プロジェクタ88を模式的に表す画像であってもよい。
また、機器が識別されると、その機器の名称を示す情報がロボット装置10から端末装置14に送信され、端末装置14のUI部72に表示されてもよい。図34に示す例では、複合機78の名称「複合機(B)」と、プロジェクタ88の名称「プロジェクタ(C)」が表示されている。
例えば、ユーザが端末装置14を使用して機器画像102,104を指定すると、例えば図35に示すように、端末装置14のUI部72には、機器画像102に紐づく複合機78と機器画像104に紐づくプロジェクタ88を利用する解決手段を示す情報(例えば、解決手段の実行を指示するためのボタン画像)が表示される。その解決手段は、複合機78とプロジェクタ88を利用する連携機能によって実現される手段である。複合機78とプロジェクタ88を連携させることで、例えば、複合機78によるスキャンによって生成された画像をプロジェクタ88によって投影する連携機能や、プロジェクタ88によって投影されている画像を複合機78によってプリントする連携機能が実行可能となる。これらの連携機能の実行を指示するためのボタン画像が端末装置14のUI部72に表示される。例えば、ユーザが端末装置14を使用してボタン画像を指定し、解決手段(連携機能)の実行を指示すると、その解決手段の実行指示を示す実行指示情報が、端末装置14又はロボット装置10から複合機78とプロジェクタ88に送信される。複合機78とプロジェクタ88は、実行指示情報を受けると、ユーザによって指定された連携機能を実行する。
ユーザが機器画像102をタッチして機器画像104までの間を指等で操作する(例えば指等でなぞる)ことにより、機器画像102,104が指定され、複合機78とプロジェクタ88が連携対象の機器として指定されてもよい。機器画像102,104を触れる順番やなぞる方向は、上記の例と逆であってもよい。もちろん、画面をなぞるためのペンといった指以外の画面接触手段が用いられてもよい。ユーザが機器画像102と機器画像104を繋げることにより、機器画像102、104が指定され、複合機78とプロジェクタ88が連携対象の機器として指定されてもよい。ユーザが機器画像102と機器画像104を重ねることにより、機器画像102,104が指定され、複合機78とプロジェクタ88が連携対象の機器として指定されてもよい。丸を付けるような描画操作によって連携対象の機器を指定してもよいし、連携したい機器に紐付く機器画像を予め設定された時間内に指定することで、連携対象の機器を指定してもよい。連携を解除する場合、ユーザが画面上で解除対象の機器を指定してもよいし、連携解除ボタンを押してもよい。バツ印等を付けるような予め設定された操作によって、解除対象の機器を指定してもよい。
別の例として、連携対象の機器が基本連携機器として予め設定されていてもよい。例えば、複合機78が基本連携機器として予め設定されているものとする。基本連携機器のデバイス識別情報は、ロボット装置10やサーバ等の装置に予め記憶されていてもよい。ユーザが端末装置14を利用して基本連携機器を指定してもよい。基本連携機器が設定されている場合、ユーザは、基本連携機器以外の機器に紐づく機器画像を指定することで、その基本連携機器と連携する機器を指定する。
なお、上記の例では、単体の機能及び連携機能は、ハードウェアとしての機器を利用する機能であるが、単体の機能及び連携機能は、ソフトウェア(アプリケーション)によって実現される機能であってもよい。例えば、機器画像の替わりに、ソフトウェアによって実現される機能に紐付く機能画像(例えばアイコン等の画像)が端末装置14のUI部72に表示され、1又は複数の機能画像がユーザによって指定されることで、機能画像に紐づく機能や、複数の機能画像に紐付く複数の機能を利用する連携機能が指定されてもよい。もちろん、ハードウェアとしての機器に紐付く機器画像と、ソフトウェアによって実現される機能に紐付く機能画像と、が端末装置14のUI部72に表示され、機器画像と機能画像がユーザによって指定された場合、その機器画像に紐付く機器とその機能画像に紐付く機能とを利用する連携機能が指定されてもよい。
以下、機器が有する機能を実行するときの処理について説明する。一例として、連携機能を実行するときの処理について説明する。この場合、端末装置14から連携対象の機器に対して接続要求が送信され、端末装置14と連携対象の機器とが接続される。もちろん、ロボット装置10から連携対象の機器に対して接続要求が送信され、ロボット装置10と連携対象の機器とが接続されてもよい。以下、図36を参照して、この接続処理について説明する。図36は、その処理を示すシーケンス図である。
端末装置14において、ユーザによって実行対象の連携機能が指定されると(S70)、端末装置14は、その連携機能を実行する連携対象の機器(例えば複合機78とプロジェクタ88)に接続要求を示す情報を送信する(S71)。例えば、連携対象の機器のアドレスを示すアドレス情報が、ロボット装置10に記憶されている場合、端末装置14は、連携対象の機器のアドレス情報をロボット装置10から取得する。別の例として、端末装置14に、連携対象の機器のアドレス情報が記憶されていてもよい。もちろん、端末装置14は、別の手法によって連携対象の機器のアドレス情報を取得してもよい。端末装置14は、連携対象の機器(例えば複合機78とプロジェクタ88)のアドレス情報を用いて、連携対象の機器(例えば複合機78とプロジェクタ88)に接続要求を示す情報を送信する。
接続要求を示す情報を受けた複合機78とプロジェクタ88は、端末装置14との接続を許可する、又は、許可しない(S72)。例えば、複合機78とプロジェクタ88が、接続が許可されていない機器に該当する場合や、接続を要求している装置の数が上限を超えている機器に該当する場合、接続は許可されない。なお、端末装置14からの接続が許可された場合、複合機78とプロジェクタ88の固有の設定情報が端末装置14から変更されないように、その変更操作を禁止してもよい。例えば、複合機78の色彩のパラメータや、節電に移行する際の設定時間等の変更が禁止されてもよい。これにより、連携対象の機器に対するセキュリティが向上する。別の例として、機器を連携させる場合、当該機器を連携させずに単独で利用する場合と比べて、設定情報の変更が制限されてもよい。例えば、機器を単独で利用する場合と比べて、より少ない設定項目の変更が許可されてもよい。また、稼働履歴のような他のユーザの個人情報の閲覧を禁止してもよい。これにより、ユーザの個人情報に対するセキュリティが向上する。
接続の許可又は不許可を示す結果情報が、複合機78とプロジェクタ88から端末装置14に送信される(S73)。複合機78とプロジェクタ88への接続が許可された場合、端末装置14と、複合機78及びプロジェクタ88と、の間で通信が確立される。
次に、ユーザは端末装置14を利用して連携機能の実行を指示する(S74)。この指示に応じて、連携機能の実行指示を示す実行指示情報が、端末装置14から複合機78とプロジェクタ88に送信される(S75)。複合機78に送信される実行指示情報には、複合機78にて実行される処理を示す情報(例えばジョブ情報)が含まれ、プロジェクタ88に送信される実行指示情報には、プロジェクタ88にて実行される処理を示す情報(例えばジョブ情報)が含まれる。
実行指示情報を受けた複合機78とプロジェクタ88は、実行指示情報に従って機能を実行する(S76)。例えば、複合機78(複合機(B))からプロジェクタ88(PC(A))へスキャンデータを転送してプロジェクタ88によってデータを投影する機能のように、連携機能に、複合機78とプロジェクタ88との間でデータの送受信が行われる処理が含まれている場合、複合機78とプロジェクタ88との間で通信が確立される。この場合、例えば、複合機78に送信される実行指示情報にはプロジェクタ88のアドレス情報が含まれ、プロジェクタ88に送信される実行指示情報には複合機78のアドレス情報が含まれ、それらのアドレス情報を用いて複合機78とプロジェクタ88との間で通信が確立される。
連携機能の実行が終了すると、連携機能の実行完了を示す情報が、複合機78とプロジェクタ88から端末装置14に送信される(S77)。端末装置14のUI部72には、連携機能の実行が完了したことを示す情報が表示される(S78)。なお、実行指示を与えた時点から予め設定された時間が経過しても実行完了を示す情報が表示されない場合、端末装置14は、エラーを示す情報をUI部72に表示させ、再度、実行指示情報、又は、接続要求を示す情報を、複合機78とプロジェクタ88に送信してもよい。
次に、ユーザは、複合機78とプロジェクタ88の連携状態を解除するか否かを確認し(S79)、解除の有無に応じた処理が実行される(S80)。連携状態を解除する場合、ユーザは、端末装置14を利用して解除の指示を与える。これにより、端末装置14と、複合機78及びプロジェクタ88と、の間の通信が解除される。同様に、複合機78とプロジェクタ88との間の通信も解除される。連携状態を解除しない場合、継続して実行指示を与えてもよい。
なお、単独機能が実行される場合、その単独機能の実行指示を示す情報が、端末装置14から単独機能を実行する機器に送信される。当該機器は、その実行指示に従って単独機能を実行する。
上記の実行指示情報は、ロボット装置10から各機器に送信されてもよい。
以下、解決手段に用いられる機器の指定操作に関する処理について説明する。
(連携機能に関する情報の表示の切り替え処理)
本実施形態において、機器に紐付く機器画像同士を繋げる順番に応じて、連携機能に関する情報の表示が切り替えられてもよい。以下、図37から図39を参照して、この処理について詳しく説明する。
図37には、連携機能管理情報42の別の例としての連携機能管理テーブルが示されている。この連携機能管理テーブルにおいては、一例として、機器IDの組み合わせを示す情報と、連携対象の機器名(例えば各機器の種類)を示す情報と、連携機能を示す情報(連携機能情報)と、接続順番を示す情報と、優先順位を示す情報と、が対応付けられている。接続順番は、機器に紐付く機器画像を繋ぐ順番に対応している。優先順位は、連携機能に関する情報の表示の優先順位である。例えば、機器IDが「A」の機器はPC(パーソナルコンピュータ)であり、機器IDが「B」の機器は複合機である。PC(A)と複合機(B)を連携させることにより、連携機能として、例えば「スキャン転送機能」と「印刷機能」が実現される。「スキャン転送機能」は、複合機(B)によるスキャンによって生成された画像データをPC(A)に転送する機能である。「印刷機能」は、PC(A)に保存されているデータ(例えば画像データや文書データ)を複合機(B)に送信して複合機(B)にて印刷する機能である。例えば、複合機(B)からPC(A)に機器が接続された場合、つまり、複合機(B)に紐付く機器画像からPC(A)に紐付く機器画像へ機器画像が繋がれた場合、「スキャン転送機能」の優先順位が「1位」となり、「印刷機能」の優先順位は「2位」となる。この場合、「スキャン転送機能」に関する情報が「印刷機能」に関する情報よりも優先的に表示される。これとは逆に、PC(A)から複合機(B)に機器が接続された場合、つまり、PC(A)に紐付く機器画像から複合機(B)に紐付く機器画像へ画像が繋がれた場合、「印刷機能」の優先順位が「1位」となり、「スキャン転送機能」の優先順位が「2位」となる。この場合、「印刷機能」に関する情報が「スキャン転送機能」に関する情報よりも優先的に表示される。
図38及び図39には、端末装置14のUI部72に表示される画面の一例が示されている。例えば、複合機(B)とPC(A)が識別されているものとする。上記のユーザ判断モード1においては、図38(a)に示すように、端末装置14のUI部72には、複合機(B)に紐付く機器画像102とPC(A)に紐付く機器画像130が、状況情報として表示される。この状態で、ユーザは指示子(例えばユーザの指、ペン、スタイラス等)を用いて連携対象の機器を表わす機器画像同士を繋ぐ。端末装置14の制御部74は、画面への指示子の接触を検知し、画面上での指示子の移動を検知する。例えば、矢印132で示すように、ユーザが操作子を用いて画面上で機器画像102をタッチして機器画像130まで操作する(例えば、画面上で操作子をなぞる)ことにより、機器画像102と機器画像130を繋ぐ。これにより、機器画像102に紐付く複合機(B)と機器画像130に紐付くPC(A)が、連携対象の機器として指定されるとともに、接続の順番が指定される。機器画像を繋ぐ順番が接続の順番に相当する。なお、複合機(B)が第1機器に該当し、PC(A)が第2機器に該当する。図38(a)に示す例では、機器画像102から機器画像130へ画像を繋げているため、複合機(B)からPC(A)へ機器が接続されている。機器の接続順番を示す情報は、端末装置14からロボット装置10に送信される。なお、端末装置14の制御部74は、ユーザがなぞった軌跡を表わす画像を画面に表示させてもよいし、機器同士が接続された後は、その軌跡を予め設定された直線等に置き換えて画面に表示させてもよい。
上記のように、連携対象の機器(例えば複合機(B)とPC(A))が指定されると、ロボット装置10の識別部64は、図37に示されている連携機能管理テーブルにおいて、PC(A)と複合機(B)の組み合わせに対応付けられている連携機能を特定する。これにより、PC(A)と複合機(B)を連携させることによって実行される連携機能が特定される。また、ユーザによって機器の接続順番が指定されると、識別部64は、連携機能管理テーブルにおいて、その接続順番に対応付けられている優先順位を特定する。図37を参照して具体例を挙げて説明すると、PC(A)と複合機(B)が連携対象の機器として指定されているため、それらによって実行される連携機能は「スキャン転送機能」と「印刷機能」である。また、複合機(B)からPC(A)へ機器が接続されているため(B→A)、「スキャン転送機能」の優先順位は「1位」であり、「印刷機能」の優先順位は「2位」である。
上記のようにして特定された連携機能に関する情報と優先順位を示す情報は、ロボット装置10から端末装置14に送信される。端末装置14の制御部74は、その優先順位に従って、連携機能に関する情報をUI部72に表示させる。
例えば図38(b)に示すように、端末装置14の制御部74は、UI部72に連携機能候補に関する情報を表示させる。「スキャン転送機能」の優先順位が「1位」であり、「印刷機能」の優先順位が「2位」であるため、「スキャン転送機能」に関する情報が「印刷機能」に関する情報よりも優先的に(例えば上位に)表示されている。例えば、「スキャン転送機能」に関する情報として、「複合機(B)でスキャンしたデータをPC(A)に転送する。」という「スキャン転送機能」の説明文が表示される。また、「印刷機能」に関する情報として、「PC(A)にあるデータを印刷する。」という「印刷機能」の説明文が表示される。
連携機能がユーザによって指定されて実行指示が与えられると、指定された連携機能が実行される。例えば、「YES」ボタンがユーザによって押されると、その「YES」ボタンに紐付く連携機能が実行される。
なお、連携機能の特定処理及び優先順位の特定処理は、端末装置14にて行われてもよい。
機器画像の間を操作子でなぞる以外の操作として、丸印を付けるような描画操作によって連携対象の機器を指定するとともに、接続順番を指定してもよい。例えば、描画操作の順番が接続順番に相当する。別の例として、ユーザの音声指示に従って連携対象の機器や接続順番が指定されてもよい。
図39には別の操作の例が示されている。例えば図39(a)に示すように、ユーザが操作子を用いて、機器画像130をタッチし、矢印134で示す方向に機器画像102まで操作することにより、機器画像130と機器画像102を繋ぐ。これにより、機器画像130に紐付くPC(A)と機器画像102に紐付く複合機(B)が、連携対象の機器として指定されるとともに、接続の順番が指定される。この例では、機器画像130から機器画像102へ画像を繋げているため、PC(A)から複合機(B)へ機器が接続されている。図37に示されている連携機能管理テーブルを参照すると、「印刷機能」の優先順位が「1位」であり、「スキャン転送機能」の優先順位は「2位」である。この場合、図39(b)に示すように、端末装置14のUI部72には、「印刷機能」に関する情報が「スキャン転送機能」に関する情報よりも優先的に(例えば上位に)表示される。
以上のように、機器に紐付く機器画像同士を繋ぐことにより、機器が有する機能を利用する連携機能が特定される。また、画像を繋ぐ順番、つまり、機器を接続する順番に応じて、連携機能に関する情報の表示順位が変更される。機器の接続順番は、各機器で利用される機能の順番や、連携する機器間を移動するデータの移動順番を兼ねており、機器を接続する操作(つまり画像を繋ぐ操作)は、機能の順番やデータの移動順番を指定する操作を兼ねることになる。それ故、接続順番に応じて連携機能に関する情報の表示順位を変えることにより、ユーザが利用するであろうと予測される連携機能に関する情報が優先的に表示される。つまり、ユーザが利用する可能性の高い連携機能に関する情報が優先的に表示される。例えば、複合機(B)からPC(A)へ画像が繋がれた場合、「PC(A)よりも先に複合機(B)の機能を利用し、複合機(B)からPC(A)へデータを転送する」という連携機能がユーザによって利用されると予測される。また、PC(A)から複合機(B)へ画像が繋がれた場合、「複合機(B)よりも先にPC(A)の機能を利用し、PC(A)から複合機(B)へデータを転送する」という連携機能がユーザによって利用されると予測される。それ故、画像を繋ぐ順番に応じて連携機能に関する情報の表示順位を変えることにより、ユーザが利用する可能性の高い連携機能に関する情報が優先的に表示される。また、機器画像同士を繋ぐ操作以外の操作を行わずに、利用する機能の順番やデータの移動順番が指定され、ユーザが利用するであろうと予測される連携機能に関する情報が表示される。
上記の表示切替処理は、機能に紐付く機能画像が用いられる場合に適用されてもよい。例えば、第1機能に紐付く機器画像と第2機能に紐付く機器画像の指定の順番に応じて、連携機能に関する情報の表示が切り替えられる。
(部分画像を用いた連携処理)
機器に紐付く機器画像内の位置に応じて、連携機能に割り当てられる機器が有する機能が異なっていてもよい。機器画像内において特定の位置がユーザによって指定されると、その特定の位置に対応する機能を利用する連携機能に関する情報が優先的に表示される。以下、この処理について詳しく説明する。
図40には、デバイス機能管理テーブルの一例が示されている。このデバイス機能管理テーブルのデータは、デバイス機能管理情報40としてロボット装置10に記憶されている。このデバイス機能管理テーブルにおいては、一例として、機器IDと、機器名(例えば機器の種類)を示す情報と、機器画像内位置を示す情報と、その機器画像内位置に対応する機能を示す情報(機能情報)と、画像IDと、が対応付けられている。機器画像内位置は、機器に紐付く機器画像内の特定の位置(特定の部位)であり、例えば、機器を模式的に表す機器画像内の特定の位置や、カメラによって撮影された機器画像内の特定の位置である。機器画像内の特定の位置毎に、異なる機能が対応付けられている。
図41には、端末装置14のUI部72に表示される画面の一例が示されている。例えば、複合機(B)とPC(A)が識別されているものとする。上記のユーザ判断モード1においては、図41(a)に示すように、端末装置14のUI部72には機器画像102,130が、状況情報として表示される。例えば、機器画像102において複合機(B)の本体部分に対応する特定の位置(部分画像102a)には、「プリント機能」が割り当てられている。機器画像102において複合機(B)の原稿カバーや原稿ガラスや自動原稿給紙装置に対応する特定の位置(部分画像102b)には、「スキャン機能」が割り当てられている。機器画像102において後処理装置に対応する特定の位置(部分画像102c)には、「ステープラ止め機能」が割り当てられている。「ステープラ止め機能」は、出力された用紙をステープラによって止める機能である。また、機器画像130においてPC(A)の本体部分に対応する特定の位置(部分画像130a)には、「データ保存機能」が割り当てられている。機器画像130においてPC(A)の表示部に対応する特定の位置(部分画像130b)には、「画面表示機能」が割り当てられている。「データ保存機能」は、他の装置から送られてきたデータをPC(A)にて保存する機能である。「画面表示機能」は、他の装置から送られてきたデータをPC(A)にて表示する機能である。
なお、端末装置14の制御部74は、機器画像内の特定の位置に割り当てられている機能の名称(例えば印刷やスキャン等)をUI部72に表示させてもよい。これにより、特定の位置にどのような機能が対応しているのかが分かり易い情報がユーザに提供される。もちろん、機能の名称は表示されなくてもよい。
機器画像において機能が割り当てられている位置がユーザによって指定されると、その指定された位置に割り当てられている機能が連携対象の機能として指定される。ユーザは指示子を用いて、連携対象の機器を表わす機器画像において機能が割り当てられている特定の位置(部分画像)を繋ぐ。例えば、矢印136で示すように、ユーザが操作子を用いて、部分画像102bをタッチして部分画像130bまで操作することにより、部分画像102bと部分画像130bを繋ぐ。これにより、部分画像102bを含む機器画像102に紐付く複合機(B)と部分画像130bを含む機器画像130に紐付くPC(A)が、連携対象の機器として指定されるとともに、部分画像102bに割り当てられている「スキャン機能」と部分画像130bに割り当てられている「画面表示機能」が指定される。また、この繋ぐ操作によって、接続の順番が指定されてもよい。この場合、部分画像を繋ぐ順番が接続の順番に相当する。図41(a)に示す例では、部分画像102bから部分画像130bへ画像を繋げているため、複合機(B)からPC(A)へ機器が接続されている。また、連携機能に利用する機能として「スキャン機能」と「画面表示機能」が指定されている。機器の接続順番を示す情報と、機器画像内においてユーザによって指定された特定の位置を示す情報が、端末装置14からロボット装置10に送信される。
連携対象の機器(例えばPC(A)と複合機(B))が識別されると、ロボット装置10の識別部64は、例えば図11に示されている連携機能管理テーブルにおいて、PC(A)と複合機(B)を連携させることによって実現される連携機能を特定する。また、識別部64は、図40に示されているデバイス機能管理テーブルを参照することにより、機器画像内においてユーザによって指定された特定に位置に割り当てられている機能を特定する。そして、識別部64は、PC(A)と複合機(B)とを連携させることによって実現される連携機能群の中で、ユーザによって指定された位置に割り当てられている機能を利用する連携機能の優先順位を上げて、その機能を利用しない連携機能の優先順位を下げる。
上記のようにして特定された連携機能に関する情報と優先順位を示す情報は、ロボット装置10から端末装置14に送信される。端末装置14の制御部74は、その優先順位に従って、連携機能に関する情報を連携機能候補に関する情報としてUI部72に表示させる。
例えば図41(b)に示すように、端末装置14の制御部74は、UI部72に連携機能候補に関する情報を表示させる。「スキャン機能」と「画面表示機能」がその順番でユーザによって指定されているため、「スキャン機能」と「画像表示機能」を連携させることによって実行される連携機能「スキャン転送表示機能」に関する情報が、他の連携機能に関する情報よりも優先的に(例えば上位に)表示される。例えば、「スキャン機能」と「データ保存機能」を連携させることによって実行される連携機能「スキャン転送保存機能」に関する情報よりも、「スキャン転送表示機能」に関する情報が優先的に表示される。なお、スキャン転送表示機能は、複合機(B)によるスキャンによって生成されたデータをPC(A)に転送してPC(A)の画面に表示する機能である。スキャン転送保存機能は、複合機(B)によるスキャンによって生成されたデータをPC(A)に転送してPC(A)に保存する機能である。図41(b)に示す例では、各連携機能に関する情報として、各連携機能の説明文が表示されている。
部分画像を用いた連携処理によると、連携対象の機器が複数の機能を有している場合に、機能が個別的に指定され、その指定された機能を利用する連携機能に関する情報が優先的に表示される。これにより、ユーザが利用するであろうと予測される連携機能が優先的に表示される。
なお、連携機能は、機器の部分同士の組み合わせを利用する機能であってもよいし、機器の全体と機器の部分との組み合わせを利用する機能であってもよいし、機器の全体同士の組み合わせを利用する機能であってもよい。
部分画像を用いた連携処理は、機能に紐付く機能画像が用いられる場合に適用されてもよい。例えば、機能画像内の位置に応じて異なる機能が割り当てられており、ユーザによって指定された位置に割り当てられている機能を利用する連携機能が特定される。
(部分画像を用いた連携処理の別の例)
以下、図42及び図43を参照して、部分画像を用いた連携処理の別の例について説明する。
図42には、デバイス機能管理テーブルの一例が示されている。このデバイス機能管理テーブルのデータは、デバイス機能管理情報40としてロボット装置10に記憶されている。デバイス機能管理テーブルにおいては、一例として、機器IDと、機器名(例えば機器の種類)を示す情報と、機器の部分の名称(例えば部分の種類)を示す情報と、その部分を識別するための部分識別情報としての部分IDと、その部分に割り当てられている機能(その部分が有する機能)を示す情報と、その部分に紐付く部分画像を識別するための部分画像IDと、が互いに対応付けられている。部分画像は、カメラによる撮影によって得られた機器の部分の外観を表わす画像である。もちろん、機器の部分を模式的に表す部分画像が、当該部分に対応付けられていてもよい。例えば、機器の部分毎に異なる機能が割り当てられている。
具体例を挙げて説明すると、PC(A)の表示部には画面表示機能が割り当てられており、その表示部に紐付く部分画像の部分画像IDには、画面表示機能を示す情報が対応付けられている。画面表示機能は、情報をPC(A)にて表示する機能である。PC(A)の本体部にはデータ保存機能が割り当てられており、その本体部に紐付く部分画像の部分画像IDには、データ保存機能を示す情報が対応付けられている。データ保存機能は、データをPC(A)に保存する機能である。
また、複合機(B)の本体部にはプリント機能が割り当てられており、その本体部に紐付く部分画像の部分画像IDには、プリント機能を示す情報が対応付けられている。複合機(B)の読取部(例えば、複合機(B)の原稿カバーや原稿ガラスや自動原稿給紙装置に対応する部分)にはスキャン機能が割り当てられており、その読取部に紐付く部分画像の部分画像IDには、スキャン機能を示す情報が対応付けられている。複合機(B)の後処理装置にはステープル止め機能が割り当てられており、その後処理装置に紐付く部分画像の部分画像IDには、ステープル止め機能を示す情報が対応付けられている。ステープル止め機能は、出力された用紙をステープルによって綴じる機能である。
機器の部分に割り当てられている機能は、例えば、マーカレス型AR技術を用いることによって特定(識別)される。例えば、機器の部分がカメラ(例えばロボット装置10の視覚センサー)によって撮影された場合、ロボット装置10の識別部64は、デバイス機能管理テーブルにおいて、その外観画像データに対応付けられている機能を特定(識別)する。これにより、撮影された部分に割り当てられている機能が特定(識別)される。例えば、複合機(B)の本体部が視覚センサーによって撮影された場合、ロボット装置10の識別部64は、デバイス機能管理テーブルにおいて、その外観画像データに対応付けられているプリント機能を特定する。これにより、複合機(B)の本体部に割り当てられている機能がプリント機能であることが特定される。
もちろん、機器の部分に割り当てられている機能は、マーカ型AR技術を用いることによって特定(識別)されてもよい。例えば、機器の各部分に、部分を識別するための部分識別情報(例えば部分ID)がコード化された2次元バーコード等のマーカが設けられている。部分に設けられているマーカが視覚センサーによって撮影されてマーカ型AR技術が適用されると、その部分の部分識別情報(例えば部分ID)が取得される。このように部分識別情報が取得されると、ロボット装置10の識別部64は、デバイス機能管理テーブルにおいて、その部分識別情報(例えば部分ID)に対応付けられている機能を特定(識別)する。
図43には、連携機能管理テーブルの一例が示されている。この連携機能管理テーブルのデータは、連携機能管理情報42としてロボット装置10に記憶されている。この連携機能管理テーブルは、複数の部分が有する機能を利用する連携機能を示す情報であり、その連携機能管理テーブルにおいては、一例として、機器の部分の組み合わせを示す情報と、部分IDの組み合わせを示す情報と、その組み合わせに含まれる複数の部分が有する機能を利用する連携機能を示す情報と、が互いに対応付けられている。もちろん、連携機能管理テーブルにおいては、機器の部分と機器の全体との組み合わせを示す情報と、その機器の部分が有する機能と機器の全体が有する機能とを利用する連携機能を示す情報と、が対応付けられていてもよい。
具体例を挙げて説明すると、PC(A)の表示部と複合機(B)の本体部との組み合わせには、連携機能としてのプリント機能が割り当てられており、PC(A)の表示部の部分IDと複合機(B)の本体部の部分IDとの組み合わせを示す情報には、連携機能としてのプリント機能を示す情報が対応付けられている。連携機能としてのプリント機能は、例えば、PC(A)に保存されているデータを複合機(B)に送信して、そのデータを複合機(B)によって印刷する機能である。
また、複合機(B)の本体部とプロジェクタ(C)の本体部との組み合わせには、連携機能としてのプリント機能が割り当てられており、複合機(B)の本体部の部分IDとプロジェクタ(C)の本体部の部分IDとの組み合わせを示す情報には、連携機能としてのプリント機能を示す情報が対応付けられている。連携機能としてのプリント機能は、例えば、プロジェクタ(C)によって投影されているデータを複合機(B)に送信して、そのデータを複合機(B)によって印刷する機能である。
また、複合機(B)の読取部とプロジェクタ(C)の本体部との組み合わせには、連携機能としてのスキャン投影機能が割り当てられており、複合機(B)の読取部の部分IDとプロジェクタ(C)の本体部の部分IDとの組み合わせを示す情報には、連携機能としてのスキャン投影機能を示す情報が対応付けられている。連携機能としてのスキャン投影機能は、例えば、複合機(B)によるスキャンによって生成されたデータをプロジェクタ(C)に送信して、そのデータをプロジェクタ(C)によって投影する機能である。
なお、連携機能は、同一の機器に含まれる複数の部分が有する機能を利用する機能であってもよいし、互いに異なる複数の機器の部分が有する機能を利用する機能であってもよい。また、連携機能は、3つ以上の部分が有する機能を利用する機能であってもよい。
例えば、マーカ型AR技術又はマーカレス型AR技術を利用して、機器の複数の部分(例えば、互いに異なる複数の機器の複数の部分や、同一機器の複数の部分)が特定(識別)されると、ロボット装置10の識別部64は、連携機能管理テーブルにおいて、識別された複数の部分の組み合わせに対応付けられている連携機能を特定(識別)する。これにより、識別(例えば撮影)された複数の部分が有する機能を利用する連携機能が特定(識別)される。例えば、複合機(B)の本体部とプロジェクタ(C)の本体部が識別された場合、ロボット装置10は、連携機能管理テーブルにおいて、複合機(B)の本体部とプロジェクタ(C)の本体部の組み合わせに対応付けられている連携機能としてのプリント機能等を特定する。
(機器画像の重ね合わせによる連携対象の機器の指定)
複数の機器画像を重ね合わせることによって、連携対象の機器群が指定されてもよい。以下、図44及び図45を参照して、この処理について説明する。図44及び図45には、端末装置14のUI部72に表示される画面の一例が示されている。
例えば、複合機(B)とPC(A)が識別されているものとする。上記のユーザ判断モード1においては、図44(a)に示すように、端末装置14のUI部72には、識別された機器に紐付く機器画像102,130が、状況情報として表示される。この状態で、ユーザが指示子(例えばユーザの指、ペン、スタイラス等)を用いて第1機器に紐付く機器画像を、連携先の機器(第2機器)に紐付く機器画像に重ね合わせる。例えば、図44(b)に示すように、ユーザが操作子を用いて機器画像102を指定し、矢印138で示すように、その機器画像102を機器画像130に重ね合わせる。例えば、ドラッグ&ドロップ操作によって機器画像同士を重ね合わせる。つまり、ユーザは機器画像102をドラッグ操作し、機器画像130に重なる位置で機器画像102をドロップ操作する。このドラッグ&ドロップ操作自体は、例えば公知の技術である。なお、ユーザの音声指示に従って、重ね合わせる機器画像が指定されてもよい。例えば、ユーザの音声指示に従って、機器画像102,130が重ね合わせ対象の機器画像として指定され、それらが重ねられてもよい。
機器画像102,130を互いに重ね合わせることにより、機器画像102に紐付く複合機(B)と機器画像130に紐付くPC(A)が、連携対象の機器として指定される。
なお、端末装置14の制御部74は、ドラッグ操作中の機器画像を識別可能な表示態様でUI部72に表示させてもよい。例えば、ドラッグ操作中の機器画像を半透明に表示したり、特定の色で表示したりしてもよい。
機器画像102が機器画像130に重ねられた場合において、PC(A)が複合機(B)と共に連携機能を実行することが可能な場合、図44(c)に示すように、端末装置14のUI部72に確認画面140が表示される。確認画面140は、連携対象の機器として指定された機器群を連携させるか否かを確認するための画面である。確認画面140において、連携指示がユーザによって与えられると(例えば「YES」ボタンがユーザによって押されると)、連携機能に関する情報が端末装置14のUI部72に表示される。
例えば図45(a)に示すように、端末装置14の制御部74は、UI部72に連携機能候補に関する情報を表示させる。PC(A)と複合機(B)を連携させることにより、例えば、「スキャン転送機能」と「印刷機能」が実現されるため、UI部72には、「スキャン転送機能」に関する情報と「印刷機能」に関する情報が表示される。
連携機能がユーザによって指定されて実行指示が与えられると、端末装置14から連携対象の機器に対して接続要求が行われる。図45(b)に示すように、その接続要求の間、端末装置14のUI部72には待機画面が表示される。端末装置14と連携対象の機器との接続が成功すると、指定された連携機能が実行される。
以上のように、機器に紐付いた機器画像同士を重ね合わせることにより、機器が有する機能を利用する連携機能が特定される。それ故、画像操作以外の操作を行わずに、機能を連携させることが可能となり、簡易な操作で機能が連携される。
部分画像を機器画像又は部分画像に重ね合わせることで、連携機能が特定されてもよい。図46を参照して、この処理について説明する。図46には、端末装置14のUI部72に表示される画面の一例が示されている。
上述した部分画像を用いた連携処理と同様に、機器に紐付く機器画像内の位置に応じて、機器が有する機能が異なっている。機器画像内の部分画像を、同一又は異なる機器画像内の部分画像に重ね合わせることにより、両部分画像に紐付く機能を利用する連携機能が特定される。以下、この処理について詳しく説明する。
例えば、複合機(B)とPC(A)が識別されているものとする。上記のユーザ判断モード1においては、図46(a)に示すように、端末装置14のUI部72には、機器画像102,130が、状況情報として表示される。例えば、部分画像102a,102b,102c,130a,130bは他の部分画像から分離して個別的に移動可能な画像として表示されている。
部分画像がユーザによって指定されて、その部分画像が他の部分画像に重ねられると、それら両部分画像に紐付く機能を利用する連携機能が特定され、その連携機能に関する情報が端末装置14のUI部72に表示される。
例えば、図46(b)中の矢印142で示すように、ユーザが操作子を用いて、部分画像102bをドラッグ操作して部分画像130bに重ねてドロップ操作を行った場合、部分画像102bを含む機器画像102に紐付く複合機(B)と部分画像130bを含む機器画像130に紐付くPC(A)が、連携対象の機器として指定されるとともに、部分画像102bに割り当てられている「スキャン機能」と部分画像130bに割り当てられている「画面表示機能」が連携対象の機能として指定される。
ロボット装置10においては、部分画像に割り当てられている機能が管理されている。例えば、部分画像を識別するための識別情報と、部分画像に対応付けられている機能を示す機能情報と、機能を連携させることによって実行される連携機能を示す連携機能情報と、が対応付けられてロボット装置10に記憶されている。部分画像が選択されて他の部分画像に重ねられると、それらの部分画像を示す識別情報が、端末装置14からロボット装置10に送信される。図46(b)に示す例では、部分画像102b,130bをそれぞれ示す識別情報が端末装置14からロボット装置10に送信される。ロボット装置10の識別部64は、その識別情報に基づいて、重ねられた部分画像102b,130bのそれぞれに割り当てられている機能を特定し、その機能を利用する連携機能を特定する。その連携機能に関する情報は、ロボット装置10から端末装置14に送信されて表示される。
以上の処理によると、連携対象の機器が複数の機能を有している場合に、機能が個別的に指定され、この指定された機能を利用する連携機能に関する情報が優先的に表示される。これにより、ユーザが利用するであろうと予測される連携機能が優先的に表示される。
また、部分画像を重ね合わせる順番に応じて、連携機能の表示の優先順位が変更されてもよい。この場合、重ねられた部分画像に紐付く機能を利用する連携機能に関する情報が優先的に表示される。
上記のロボット装置10及び端末装置14のそれぞれは、一例としてハードウェアとソフトウェアとの協働により実現される。具体的には、ロボット装置10及び端末装置14のそれぞれは、図示しないCPU等の1又は複数のプロセッサを備えている。当該1又は複数のプロセッサが、図示しない記憶装置に記憶されたプログラムを読み出して実行することにより、ロボット装置10及び端末装置14の各部の機能が実現される。上記プログラムは、CDやDVD等の記録媒体を経由して、又は、ネットワーク等の通信経路を経由して、記憶装置に記憶される。別の例として、ロボット装置10及び端末装置14のそれぞれの各部は、例えばプロセッサや電子回路やASIC(Application Specific Integrated Circuit)等のハードウェア資源により実現されてもよい。その実現においてメモリ等のデバイスが利用されてもよい。更に別の例として、ロボット装置10及び端末装置14のそれぞれの各部は、DSP(Digital Signal Processor)やFPGA(Field Programmable Gate Array)等によって実現されてもよい。