(57)【特許請求の範囲】
【請求項１】
ロボット制御システムの利用者の識別情報、サービスの識別情報及びロボットが利用者に提供するサービスを開始するイベントを関連付けて記憶する利用者データベースと、
サービスの識別情報、前記サービスの識別情報によって示されるサービスを実行するための具体的なサービスを示す詳細サービスの識別情報及び前記詳細サービスに必要なロボットの保有能力を関連付けて記憶するサービスデータベースと、
ロボットの識別情報、ロボットの保有能力及びロボットの状態を関連付けて記憶するロボットデータベースと、
過去のサービス開始時刻、詳細サービスの識別情報、過去のサービス開始時刻におけるロボットの位置情報及び利用者の位置情報を関連付けて記憶するサービス履歴データベースと、
ロボット制御システムの外部から利用者の識別情報を含み、かつ前記イベントを検出するために必要な情報を含むデータを受信し、この受信したデータに基づいて、前記イベント及び利用者の識別情報を検出する手段と、
前記検出されたイベント及び利用者の識別情報を条件として、前記利用者データベースを検索してサービスの識別情報を得て、この得られたサービスの識別情報を条件として前記サービスデータベースを検索して詳細サービスの識別情報及び詳細サービスに必要なロボットの保有能力を取得し、この取得されたサービスに必要なロボットの保有能力を条件として前記ロボットデータベースを検索してロボットの状態がアイドリング状態にあるロボットの識別情報を取得する手段と、
ロボット制御システムの外部から現在の利用者及びロボットの位置情報を取得する手段と、
前記取得された詳細サービスの識別情報及びロボットの識別情報を条件として、前記サービス履歴データベースを参照して、所定の期間内における前記取得された詳細サービスの識別情報によって示される詳細サービスの有無、前記取得された現在の利用者及びロボットの位置情報と前記サービス履歴データベースに記憶された過去のサービス開始時刻における利用者及びロボットの位置情報との差分及び前記取得された詳細サービスの識別情報によって示される詳細サービスの提供回数を取得し、これら取得された詳細サービスの有無、差分及び提供回数の少なくとも１つに基づいて、利用者に提供する詳細サービスを示す詳細サービスの識別情報を決定する決定手段と、
前記決定された詳細サービスの識別情報によって示される詳細サービスを前記取得されたロボットの識別情報によって示されるロボットに実行させる手段と
を具備することを特徴とするロボット制御システム。
【請求項２】
前記決定手段は、
所定の期間内における前記取得された詳細サービスの識別情報によって示される詳細サービスの有無を示す第１の行列Ａを生成し、
前記取得されたサービス開始時における利用者及びロボットの位置情報と前記サービス履歴データベースに記憶された過去のサービス開始時刻における利用者及びロボットの位置情報との差分を示す第２の行列Ｂを生成し、
前記取得された詳細サービスの識別情報によって示される詳細サービスの提供回数を示す第３の行列Ｃを生成し、
予め設定された重み係数をα，β，γとして、重み係数Ｗ＝αＡ＋βＢ＋γＣを求め、この求められた重み係数Ｗの要素に基づいて、詳細サービスの識別情報を決定することを特徴とする請求項１記載のロボット制御システム。
【請求項３】
ロボット制御システムの利用者の識別情報、サービスの識別情報及びロボットが利用者に提供するサービスを開始するイベントを関連付けて記憶する利用者データベースと、
サービスの識別情報、前記サービスの識別情報によって示されるサービスを実行するための具体的なサービスを示す詳細サービスの識別情報及び前記詳細サービスに必要なロボットの保有能力を関連付けて記憶するサービスデータベースと、
ロボットの識別情報、ロボットの保有能力及びロボットの状態を関連付けて記憶するロボットデータベースと、
過去のサービス開始時刻、詳細サービスの識別情報、過去のサービス開始時刻におけるロボットの位置情報及び利用者の位置情報を関連付けて記憶するサービス履歴データベースとを具備するロボット制御システムにおけるロボット制御方法において、
ロボット制御システムの外部から利用者の識別情報を含み、かつ前記イベントを検出するために必要な情報を含むデータを受信し、この受信したデータに基づいて、前記イベント及び利用者の識別情報を検出するステップと、
前記検出されたイベント及び利用者の識別情報を条件として、前記利用者データベースを検索してサービスの識別情報を得て、この得られたサービスの識別情報を条件として前記サービスデータベースを検索して詳細サービスの識別情報及び詳細サービスに必要なロボットの保有能力を取得し、この取得されたサービスに必要なロボットの保有能力を条件として前記ロボットデータベースを検索してロボットの状態がアイドリング状態にあるロボットの識別情報を取得するステップと、
ロボット制御システムの外部から現在の利用者及びロボットの位置情報を取得するステップと、
前記取得された詳細サービスの識別情報及びロボットの識別情報を条件として、前記サービス履歴データベースを参照して、所定の期間内における前記取得された詳細サービスの識別情報によって示される詳細サービスの有無、前記取得された現在の利用者及びロボットの位置情報と前記サービス履歴データベースに記憶された過去のサービス開始時刻における利用者及びロボットの位置情報との差分及び前記取得された詳細サービスの識別情報によって示される詳細サービスの提供回数を取得し、これら取得された詳細サービスの有無、差分及び提供回数の少なくとも１つに基づいて、利用者に提供する詳細サービスを示す詳細サービスの識別情報を決定するステップと、
前記決定された詳細サービスの識別情報によって示される詳細サービスを前記取得されたロボットの識別情報によって示されるロボットに実行させるステップと
を有することを特徴とするロボット制御方法。
【請求項４】
前記決定ステップは、
所定の期間内における前記取得された詳細サービスの識別情報によって示される詳細サービスの有無を示す第１の行列Ａを生成し、
前記取得されたサービス開始時における利用者及びロボットの位置情報と前記サービス履歴データベースに記憶された過去のサービス開始時刻における利用者及びロボットの位置情報との差分を示す第２の行列Ｂを生成し、
前記取得された詳細サービスの識別情報によって示される詳細サービスの提供回数を示す第３の行列Ｃを生成し、
予め設定された重み係数をα，β，γとして、重み係数Ｗ＝αＡ＋βＢ＋γＣを求め、この求められた重み係数Ｗの要素に基づいて、詳細サービスの識別情報を決定することを特徴とする請求項３記載のロボット制御方法。
【請求項５】
ロボット制御システムの利用者の識別情報、サービスの識別情報及びロボットが利用者に提供するサービスを開始するイベントを関連付けて記憶する利用者データベースと、
サービスの識別情報、前記サービスの識別情報によって示されるサービスを実行するための具体的なサービスを示す詳細サービスの識別情報及び前記詳細サービスに必要なロボットの保有能力を関連付けて記憶するサービスデータベースと、
ロボットの識別情報、ロボットの保有能力及びロボットの状態を関連付けて記憶するロボットデータベースと、
過去のサービス開始時刻、詳細サービスの識別情報、過去のサービス開始時刻におけるロボットの位置情報及び利用者の位置情報を関連付けて記憶するサービス履歴データベースとを具備するロボット制御システムを制御するプログラムにおいて、
前記プログラムは、前記ロボット制御システムに、
ロボット制御システムの外部から利用者の識別情報を含み、かつ前記イベントを検出するために必要な情報を含むデータを受信し、この受信したデータに基づいて、前記サービスを開始するイベント及び利用者の識別情報を検出させ、
前記検出されたイベント及び利用者の識別情報を条件として、前記利用者データベースを検索してサービスの識別情報を得て、この得られたサービスの識別情報を条件として前記サービスデータベースを検索して詳細サービスの識別情報及び詳細サービスに必要なロボットの保有能力を取得し、この取得されたサービスに必要なロボットの保有能力を条件として前記ロボットデータベースを検索してロボットの状態がアイドリング状態にあるロボットの識別情報を取得させ、
ロボット制御システムの外部から現在の利用者及びロボットの位置情報を取得させ、
前記取得された詳細サービスの識別情報及びロボットの識別情報を条件として、前記サービス履歴データベースを参照して、所定の期間内における前記取得された詳細サービスの識別情報によって示される詳細サービスの有無、前記取得された現在の利用者及びロボットの位置情報と前記サービス履歴データベースに記憶された過去のサービス開始時刻における利用者及びロボットの位置情報との差分及び前記取得された詳細サービスの識別情報によって示される詳細サービスの提供回数を取得し、これら取得された詳細サービスの有無、差分及び提供回数の少なくとも１つに基づいて、利用者に提供する詳細サービスを示す詳細サービスの識別情報を決定させ、
前記決定された詳細サービスの識別情報によって示される詳細サービスを前記取得されたロボットの識別情報によって示されるロボットに実行させることを特徴とするプログラム。
【請求項６】
前記詳細サービスの識別情報の決定処理は、前記ロボット制御システムに、
所定の期間内における前記取得された詳細サービスの識別情報によって示される詳細サービスの有無を示す第１の行列Ａを生成させ、
前記取得されたサービス開始時における利用者及びロボットの位置情報と前記サービス履歴データベースに記憶された過去のサービス開始時刻における利用者及びロボットの位置情報との差分を示す第２の行列Ｂを生成させ、
前記取得された詳細サービスの識別情報によって示される詳細サービスの提供回数を示す第３の行列Ｃを生成させ、
予め設定された重み係数をα，β，γとして、重み係数Ｗ＝αＡ＋βＢ＋γＣを求め、この求められた重み係数Ｗの要素に基づいて、詳細サービスの識別情報を決定させることを特徴とする請求項５記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のロボットを制御するロボット制御システムに関する。
【背景技術】
【０００２】
従来、操作者から受けたタスクを、自律性を持つロボット装置だけで実行可能かどうかロボット仕様データベースを参照して判断し、実行可能な場合はその命令を実行し、実行不可能な場合は実行できない部分を補完する他のロボット装置を探し、そのロボット装置と分担して命令を実行するロボット制御システムが開示されている（特許文献1参照）。
【０００３】
【特許文献１】特開2003−291083号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のロボット制御システムにおいては、要求されたサービス可能なロボットが複数存在する場合であっても、その複数のロボットのうち最適なロボットを選択することができず、利用者に対して最適なサービスを提供することができないという問題があった。
【０００５】
また、ロボット以外の従来例として、複数のサービス候補から一つのサービスを選択する手法としては、固定的か、あるいは前回選択されたものを最優先にするのが一般的であった（例えば、ウィンドウズ（登録商標）のプルダウンメニューなど）。しかし、画一的であるため、ユーザのきめ細かな要望に柔軟には応えられなかった。
【０００６】
本発明は、上記実情に鑑みてなされたものであり、最適なサービスを提供することができるロボット制御システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明によれば、ロボット制御システムの利用者の識別情報、サービスの識別情報及びロボットが利用者に提供するサービスを開始するイベントを関連付けて記憶する利用者データベースと、サービスの識別情報、前記サービスの識別情報によって示されるサービスを実行するための具体的なサービスを示す詳細サービスの識別情報及び前記詳細サービスに必要なロボットの保有能力を関連付けて記憶するサービスデータベースと、ロボットの識別情報、ロボットの保有能力及びロボットの状態を関連付けて記憶するロボットデータベースと、過去のサービス開始時刻、詳細サービスの識別情報、過去のサービス開始時刻におけるロボットの位置情報及び利用者の位置情報を関連付けて記憶するサービス履歴データベースと、ロボット制御システムの外部から利用者の識別情報を含み、かつ前記イベントを検出するために必要な情報を含むデータを受信し、この受信したデータに基づいて、前記イベント及び利用者の識別情報を検出する手段と、前記検出されたイベント及び利用者の識別情報を条件として、前記利用者データベースを検索してサービスの識別情報を得て、この得られたサービスの識別情報を条件として前記サービスデータベースを検索して詳細サービスの識別情報及び詳細サービスに必要なロボットの保有能力を取得し、この取得されたサービスに必要なロボットの保有能力を条件として前記ロボットデータベースを検索してロボットの状態がアイドリング状態にあるロボットの識別情報を取得する手段と、ロボット制御システムの外部から現在の利用者及びロボットの位置情報を取得する手段と、前記取得された詳細サービスの識別情報及びロボットの識別情報を条件として、前記サービス履歴データベースを参照して、所定の期間内における前記取得された詳細サービスの識別情報によって示される詳細サービスの有無、前記取得された現在の利用者及びロボットの位置情報と前記サービス履歴データベースに記憶された過去のサービス開始時刻における利用者及びロボットの位置情報との差分及び前記取得された詳細サービスの識別情報によって示される詳細サービスの提供回数を取得し、これら取得された詳細サービスの有無、差分及び提供回数の少なくとも１つに基づいて、利用者に提供する詳細サービスを示す詳細サービスの識別情報を決定する決定手段と、前
記決定された詳細サービスの識別情報によって示される詳細サービスを前記取得されたロボットの識別情報によって示されるロボットに実行させる手段とを具備することを特徴とするロボット制御システム、である。
【発明の効果】
【０００８】
本発明によれば、最適なサービスを提供することができるロボット制御システムを提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して本発明の実施の形態に係るロボット制御システムについて説明する。
図１は、本発明の実施の形態に係るロボット制御システムの全体を示す図である。
同図に示すように、ＬＡＮ、インターネットなどのネットワーク１にはユーザに対してサービスを遂行するロボット２〜４、サービス開始イベントを検知するためのセンサデータを検出するセンサ５〜７などが接続されている。
【００１０】
また、ネットワーク１には、センサ５〜７からのセンサデータに基づいてサービス開始イベントを検知して、サービスを遂行する最適なロボットを選択するプラットフォーム８が接続されている。
図２は、プラットフォームの詳細を示す機能ブロック図である。
【００１１】
なお、図２においては、図１に示したロボットをサービス処理部として示している。さらに、ネットワーク１には、サービス実行確認のための提示部１１及び承諾／拒否を指示するための入力部１２が接続され、これらは、例えば、コンピュータのディスプレイなどの表示デバイス及びキーボードなどの入力デバイスによって実現される。
【００１２】
サービス処理部２〜４は、プラットフォーム８からの指示に基づいて利用者に対してサービスを提供する。
サービス実行確認のための提示部１１は、プラットフォーム８において決定されたサービスの実行の可否を提示する。
承諾／拒否を指示するための入力部１２は、提示部１１により提示されたサービスの実行の可否についての指示を入力する。
【００１３】
プラットフォーム８は、センサ情報収集部２１、サービス開始イベント検出部２２、サービス決定部２３及びデータベース２４を具備している。
センサ情報収集部２１は、各種センサ５〜７からセンサデータを収集する。センサ情報収集部２１が対象とするセンサは、環境に設置されている外界センサだけでなく、ロボットが自ら備えている内界センサを含んでも良い。
【００１４】
サービス開始イベント検出部２２は、それらセンサデータが予め定義されているイベント発出の条件に合致した場合、サービス決定部２３に対してイベントを発出する。
サービス決定部２３は、図３や図４に示す処理フローに基づいてデータベース２４を参照しつつ、提供サービスを決定する。その後、サービス決定部２３は、決定されたサービスを実現できるサービス処理部２〜４を選択し、（必要に応じてサービスを遂行するために必要なセンサ情報を引き渡し、）サービスを開始させる。
【００１５】
データベース２４は、利用者データベース、ロボットデータベース、詳細サービスデータベース及びサービスデータベースを具備している。
利用者データベースは、表１に示すように、利用者ＩＤ（識別情報）、利用者名、サービスＩＤ、（サービスを開始する）イベント及び利用者位置ＸＵ，ＹＵを互いに関連付けて記憶する。ここで、利用者位置は、利用者の現在位置であり、センサ情報収集部２１によって収集された利用者の位置に関するセンサデータが逐次登録される。
【００１６】
【表１】
0004490448.tif 000002
表１においては、利用者ＩＤ「１２３４５６７８」、利用者名「ヤマダタロウ」、サービスＩＤ「１０」、イベント「入室」及び利用者位置ＸＵ，ＹＵ「１００，１００］が記憶されている。
ロボットデータベースは、表２に示すように、ロボットＩＤ、ロボット名、ロボット保有能力、ロボット位置ＸＲ，ＹＲ及びロボット状態を互いに関連付けて記憶する。ここで、ロボット位置は、ロボットの現在位置であり、センサ情報収集部２１によって収集されたロボットの位置に関するセンサデータが逐次登録される。また、ロボット状態はロボットの現在の状態を示しており、センサ情報収集部２１によって収集されたロボットの状態に関するセンサデータが逐次登録される。
【００１７】
【表２】
0004490448.tif 000003
表２においては、ロボットＩＤ「１」、ロボット名「ロボットＡ」、ロボット保有能力「movable/able to speak」、ロボット位置ＸＲ，ＹＲ「２００，２００」及びロボット状態「idling/rotating/moving/speakingなどのうちの１つ」が記憶されている。ここで、「movable」はロボットが移動可能、「able to speak」はロボットが発話可能であることを意味する。また、「idling」は、ロボットが動作可能な状態であることを意味し、「rotating」はロボットが回転している状態、[moving]はロボットが移動している状態、「speaking」はロボットが発話している状態を意味する。
【００１８】
詳細サービスデータベースは、表３に示すように、詳細サービスＩＤ、詳細サービス名、サービスＩＤ、サービスグレード及びサービスに必要なロボット保有能力を互いに関連付けて記憶する。
【００１９】
【表３】
0004490448.tif 000004
表３においては、詳細サービスＩＤ「１１」については、詳細サービス名「近寄り発話」、サービスＩＤ「１０」、サービスグレード「１０」及びサービスに必要なロボット保有能力「movable/able to speak」が記憶され、詳細サービスＩＤ「１２」については、詳細サービス名「近寄り」、サービスＩＤ「１０」、サービスグレード「５」及びサービスに必要なロボット保有能力「movable」が記憶され、詳細サービスＩＤ「１３」については、詳細サービス名「発話」、サービスＩＤ「１０」、サービスグレード「１」及びサービスに必要なロボット保有能力「able to speak」が記憶されている。
【００２０】
サービスデータベースは、表４に示すように、サービスＩＤ及びサービス名が互いに関連付けて記憶する。
【００２１】
【表４】
0004490448.tif 000005
表４においては、サービスＩＤ「１０」及びサービス名「挨拶」が記憶されている。
次に、本発明の実施の形態に係るロボット制御システムの動作について、図３のフローチャートを参照して説明する。
ここでは、ロボットがいる部屋に利用者が入室したとき、ロボットが挨拶をするというサービスを具体例に説明する。この場合、図２の「サービス処理部」は「ロボット」に相当する。
【００２２】
ロボットが行う挨拶サービスは、(1)近寄って声をかける、(2)声をかける、(3)近寄る、という３パターンがあるとし、ロボットは、「利用者に近寄る」機能と「挨拶文を発話する」機能を有するものとする。
利用者はRF(Radio Frequency)タグを携帯し、部屋にはRFタグが発出する利用者IDを検知するRFタグリーダが設置されている。また、部屋には利用者の位置を検出するカメラが設置されているとする。図２の「センサ」は、ここではRFタグリーダとカメラに相当する。
【００２３】
RFタグを携帯した利用者が部屋に入室し、RFタグリーダが利用者ID（例えば、12345678）を検知すると、RFリーダは利用者IDをセンサ情報収集部２１に送信する。
部屋に設置されているカメラが利用者位置（XU、YU）を検知すると、それをセンサ情報収集部２１に送信する。利用者の位置を検出するためには、例えば、カメラを天井に設置して部屋全体を視野内で捉えられるようにし、公知のテンプレートマッチング技術（例えば、特開平9−330402号公報参照。）を用いる。
【００２４】
あるいは、例えば、天井に指向性のある赤外線センサを複数設置し、利用者は赤外線LEDを（天井から見える箇所に）装着する。そして、赤外光を感知した赤外線センサの設置位置から利用者の位置を求めても良い。
センサ情報収集部２１は、利用者位置を利用者DBに登録するとともに、利用者位置と利用者IDをサービス開始イベント検出部２２へ送信する。
【００２５】
サービス開始イベント検出部２２は、利用者IDが検知され、かつ利用者位置が部屋の中の場合、「（利用者ID）が（入室）」したというイベント及び利用者ＩＤをサービス決定部２３に送信する（Ｓ１）。
サービス決定部２３では、図３に示すＳ２以下の処理フローに基づいてサービスを決定する。
【００２６】
サービス開始イベント検出部２２が送出する「利用者ID」「イベント」と合致する「サービスID」を、利用者DBから検索し（Ｓ２）、合致する「サービスID」が存在する場合にはＳ３の処理に移る。一方、存在しない場合には処理を終了する。
「サービスID」が合致する「詳細サービスID」と「サービスに必要なロボット保有能力」を詳細サービスDBから検索し（Ｓ３）、合致する「詳細サービスID」と「サービスに必要なロボット保有能力」が存在する場合にはＳ４の処理に移る。一方、存在しない場合には処理を終了する。
【００２７】
ロボットDBを検索することにより「ロボット状態」がidlingのロボットIDを検索し（Ｓ４）、ロボットIDが存在する場合にはＳ５の処理に移る。一方、存在しない場合には処理を終了する。
検索された「ロボットID」のうち、ロボット保有能力がＳ３で検索された「サービスに必要なロボット保有能力」に合致する「ロボットID」を検索し（Ｓ５）、ロボットIDが存在する場合にはＳ６の処理に移る。一方、存在しない場合には処理を終了する。
【００２８】
その後、Ｓ５において検索された「ロボットID」及びこの「ロボットID」に対応する「詳細サービスＩＤ」の組をメモリ（図示せず）に保存し（Ｓ６）、Ｓ６でで検索されたロボットIDと、それに対応する「詳細サービスID」が２組以上存在するか否かの判断が行なわれ（Ｓ７）、２組以上存在すると判断された場合には、Ｓ６で保存された「詳細サービスＩＤ」のうち、最も「サービスグレード」が高い詳細サービスIDを選択し（Ｓ８）、Ｓ９の処理に移る。
【００２９】
一方、Ｓ７において、Ｓ６でで検索されたロボットIDと、それに対応する「詳細サービスID」が２組以上存在しないと判断された場合にもＳ９の処理に移る。
Ｓ９においては、選択された詳細サービスＩＤに対応するロボットＩＤをメモリから読み出し、Ｓ１０において選択した詳細サービスＩＤ及び読み出したロボットＩＤを、それぞれ実行するサービス詳細及びサービスを実行するロボットとして決定し、当該サービスを利用者に提供する（Ｓ１０）。
【００３０】
したがって、本発明の実施の形態に係るロボット制御システムによれば、サービスを提供することができる複数のロボットが存在する場合であっても、最もグレードの高いサービスを提供することができるロボットが選択されるので、利用者に対して最適なサービスを提供することができる。
＜他の実施の形態＞
上述の実施の形態においては、グレードの最も高いサービスを提供することができるロボットを選択する場合について説明したが、ここでは詳細サービスＩＤを選択する他の方法について説明する。
【００３１】
本実施形態においては、データベース２４には、上述の利用者データベース、ロボットデータベース、詳細サービスデータベース及びサービスデータベースに加えて、表５に示すサービス履歴データベースが記憶されている。
【００３２】
【表５】
0004490448.tif 000006
表５に示すように、サービス履歴データベースにはサービス開始日時、詳細サービスＩＤ、ロボットＩＤ、利用者ＩＤ及びサービス開始状況における利用者位置（ＸＵL，ＹＵL）、ロボット位置（ＸＲL，ＹＲL）が記憶されている。
表５の例においては、サービス開始日時「２００４年１２月７日１２時０分３０秒」、詳細サービスＩＤ「１１」、ロボットＩＤ「１」、利用者ＩＤ「１２３４５６７８」及びサービス開始状況における利用者位置「ＸＵL＝１００，ＹＵL＝１００」、ロボット位置「ＸＲL＝２００，ＹＲL＝２００」が記憶されている。
【００３３】
次に、図３に示したＳ７において詳細サービスＩＤ及びロボットＩＤの組が２組以上あると判断された場合以降の詳細サービスＩＤを選択する他の方法について、図４のフローチャートを参照して説明する。
図３のＳ５において検索されたロボットＩＤに対応する複数の詳細サービスIDのうち、適当な期間（例えば最近１ヶ月間）に提供されたサービスをサービス履歴DBから抽出し、それをもとに選択行列Aを算出する（Ｓ１１）。例えば、図３のＳ５において検索されたロボットＩＤに対応する詳細サービスIDが５個（ここでは、それぞれS1、S2、S3、S4、S5と呼ぶ）あり、そのうちS2、S5が抽出されたとすると、A＝[0,1,0,0,1]とする。
【００３４】
（現在の）サービス開始状況を取得する（Ｓ１２）。例えば、状況を判断する素材として、利用者位置(XU,YU)とロボット位置(XR,YR)を利用する場合は、利用者IDとロボットIDを条件（キー）にして、利用者DBとロボットDBから利用者位置及びロボット位置を抽出する。
【００３５】
詳細サービスIDを条件に、サービス履歴DBからサービス開始状況を抽出する（Ｓ１３）。例えば、Ｓ１２と同様に、利用者位置とロボット位置をサービス開始状況判断に利用する場合は、利用者IDと詳細サービスIDを条件にサービス履歴DBからサービス開始状況（利用者位置(XUL,YUL)とロボット位置(XRL,YRL)を検索する。
【００３６】
次に、Ｓ１２で入手した（現在の）状況と、Ｓ１３で入手した（過去の）サービス開始状況との差分を算出し、差分値が小さいサービスを選択し、それをもとに選択行列Bを算出する（Ｓ１４）。例えば、差分Dを以下のように算出し、
D =  (XU-XUL)2  +（YU-YUL)2  + (XR-XRL)2  +（YR-YRL)2
これが、予め定義された値Ddよりも小さい場合の詳細サービスIDを選択し、それをもとに選択行列Bを算出する。例えば、S3、S4が選択された場合は、B=[0,0,1,1,0]とする。
【００３７】
次に、図３のＳ５において検索されたロボットＩＤに対応する複数の詳細サービスIDが、それぞれ今まで提供されている回数Nを詳細サービス履歴DBから求め、それをもとに選択行列Cを算出する（Ｓ１５）。例えば、過去に提供回数の多い２つの詳細サービスIDを採用するとした場合、S4とS5の提供回数が多かったならば、C=[0,0,0,1,1]とする。
【００３８】
予め設定しておいた重み係数α、β、γを選択行列A、B、Cにそれぞれ乗じて、重み行列Wを算出する（Ｓ１６）。
W = αA＋βB＋γC
上述の例では、
W = [0,α,0,0,α] + [0,0,β,β,0] + [0,0,0,γ,γ] = [0,α,β,(β+γ),(α+γ)] 
となる。
【００３９】
まだ、利用者に確認していない詳細サービスのうち、重み行列Wの要素が最も大きな詳細サービスを実行してよいか利用者に確認する（Ｓ１７）。確認を促す提示手段としては、例えば、ロボットが備えるスピーカから「＊＊を実行しますか」と利用者に発声する。
【００４０】
利用者が承諾したら次のステップへ進み、利用者が拒否した場合、利用者に提示していない詳細サービスが存在するか否かの判断が行なわれ（Ｓ２１）、存在すると判断された場合には、前のステップＳ１７に戻る（Ｓ１８）。また、Ｓ２１において存在しないと判断された場合には、処理を終了する。Ｓ１７では、今回確認した詳細サービスの次に重み行列Wの要素が大きな詳細サービスを提示することになる。承諾／拒否の利用者の入力手段は、例えば、マイクで利用者の発話を収録し、「はい」「いいえ」などの単語を音声認識して判別する。
【００４１】
選択された詳細サービスIDは、サービス処理部（ロボット）に引き渡され、サービス処理部は利用者に対してサービスを提供する（Ｓ１９）。そして、サービス決定部２３は、日時、選択された詳細サービス、サービスを提供するロボットID、提供された利用者ID、サービス開始状況を、サービス履歴DBに保存する（Ｓ２０）。
【００４２】
なお、以上の処理フローにおいて、Ｓ１７のように利用者に選択を促さずに、重み行列Wの要素が最も大きい詳細サービスを自動的に提供してもよい。また、重み行列Wの要素の大きい順に（固定的に）詳細サービスを提供するのではなく、重み行列Wの要素の大きさに基づいた出現確率で、詳細サービス提供してもよい。
【００４３】
本発明の他の実施の形態に係るロボット制御システムによれば、(1)最近の一定期間内に提供されたサービス、（2）履歴DBのセンサデータと現在のセンサデータとの差分が小さいサービス、(3)過去に多く選択されたサービスを抽出し、抽出されたサービスを表す選択行列に、(1)、(2)、(3)を考慮した重み係数を乗じて加算し、計算結果が最も大きくなったサービスを選択する。したがって、最も最適なロボットが選択されるので、利用者に対して最適なサービスを提供することができる。
【００４４】
なお、上記手法に置いて、最も計算結果が大きいサービスを採用するのではなく、計算結果の大きさに基づいてサービスが選択される確率を変更してもよい。
また、本実施の形態においては、ロボットがサービス提供を行なう場合について説明したが、ロボットに限られるものではなく、利用者にサービスを提供することができる装置であればよい。
【００４５】
本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【００４６】
また、実施形態に記載した手法は、計算機（コンピュータ）に実行させることができるプログラム（ソフトウエア手段）として、例えば磁気ディスク（フロッピー（登録商標）ディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ等）、半導体メモリ（ＲＯＭ、ＲＡＭ、フラッシュメモリ等）等の記録媒体に格納し、また通信媒体により伝送して頒布することもできる。なお、媒体側に格納されるプログラムには、計算機に実行させるソフトウエア手段（実行プログラムのみならずテーブルやデータ構造も含む）を計算機内に構成させる設定プログラムをも含む。本装置を実現する計算機は、記録媒体に記録されたプログラムを読み込み、また場合により設定プログラムによりソフトウエア手段を構築し、このソフトウエア手段によって動作が制御されることにより上述した処理を実行する。なお、本明細書でいう記録媒体は、頒布用に限らず、計算機内部あるいはネットワークを介して接続される機器に設けられた磁気ディスクや半導体メモリ等の記憶媒体を含むものである。
【図面の簡単な説明】
【００４７】
【図１】本発明の実施の形態に係るロボット制御システムの全体を示す図である。
【図２】プラットフォームの詳細を示す機能ブロック図である。
【図３】本発明の実施の形態に係るロボット制御システムの動作を説明するためのフローチャートである。
【図４】同他の実施の形態に係るロボット制御システムの動作を説明するためのフローチャートである。
【符号の説明】
【００４８】
１…ネットワーク、２〜４…ロボット、５〜７…センサ、８…プラットフォーム、１１…提示部、１２…入力部、２１…センサ情報収集部、２２サービス開始イベント検出部、２３…サービス決定部、２４…データベース。
【図１】
0004490448.tif 000007
【図２】
0004490448.tif 000008
【図３】
0004490448.tif 000009
【図４】
0004490448.tif 000010