説明

移動ロボット、移動ロボット用の学習システムおよび移動ロボットの行動学習方法

【構成】 移動ロボット10は、周囲反応情報データベース88を備え、イベント会場や街中などの人と共存する様々な環境に配置され、案内および荷物運搬などの様々なサービスを提供する。そして、サービスを提供する際には、複数種類の移動の仕方によるサービスの提供を試み、自身の行動に対する周囲の人の反応状況から適切な行動を学習して、その後のサービスの提供に生かす。
【効果】 周囲の人の反応状況から適切な行動を学習するので、人と共存する環境において効果的にサービスを提供できる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、移動ロボット、移動ロボット用の学習システムおよび移動ロボットの行動学習方法に関し、特にたとえば、人と共存する環境に配置されてサービスを提供する、移動ロボット、移動ロボット用の学習システムおよび移動ロボットの行動学習方法に関する。
【背景技術】
【0002】
近年、人と共存する環境に配置されて、案内や客引き、荷物搬送などの多様なサービスを提供する移動ロボットが開発されつつある。たとえば、非特許文献1には、広域で安定したセンシングが可能な環境設置のユビキタスセンサと、直感的な情報提供が可能な人間型の移動ロボットとを組み合わせた、ネットワークロボットに関する技術が開示されている。非特許文献1の技術では、蓄積した人々の移動軌跡情報から、空間の利用状況や人々の行動パターンを分析する。そして、その分析結果を用いて人々の行動を予測することによって、移動ロボットが適切な相手を自動的に選んで近づき、サービスを提供するようにしている。
【0003】
一方、特許文献1には、学習機能を備える移動ロボットが開示されている。特許文献1の移動ロボットは、走行路の環境情報が格納された環境マップと、予め走行ルールが学習された自己組織化マップ(Self‐Organizing Map)を有する学習手段とを備える。環境マップには、センサ類によって検出された走行路の状況から認識された自己位置および障害物の情報が入力され、学習手段は、環境情報を入力値とする自己組織化マップの走行ルールに応じて、操舵情報を出力する。
【非特許文献1】神田崇行,Dylan F. Glas,塩見昌裕,荻田紀博,「移動する人にサービス提供するロボットのための環境情報構造化」,(日本ロボット学会誌 27(4), 449-459, 2009-05-15)
【特許文献1】特開2007−316799号公報 [G05D 1/02]
【発明の概要】
【発明が解決しようとする課題】
【0004】
人と共存する環境において移動ロボットが移動すると、周囲の人は少なからず影響を受ける。たとえば、客引きサービスを行う移動ロボットが、客引き対象として選択した相手に近づくときには、選択した相手以外の人が移動ロボットの周囲に集まってくる場合がある。移動ロボットの周囲に人が集まるこのような現象は、客引きサービスを行う移動ロボットにとっては有利に作用するが、たとえば荷物搬送サービスを行う移動ロボットにとっては不利に作用する。また、周囲の人がどの程度の反応を示すかは、移動ロボットの移動の仕方(移動態様)や移動ロボットが配置された環境などによって変わると考えられる。したがって、より効果的にサービスを提供するためには、移動ロボットが周囲の人の反応状況を考慮して移動できればよいと考えられる。
【0005】
しかしながら、非特許文献1の技術では、移動ロボットが存在しない状態で人々の移動軌跡情報を蓄積しており、移動ロボットの移動態様を決定するに際し、移動ロボットの移動に対する周囲の人の反応状況までは考慮していない。
【0006】
また、特許文献1の技術は、移動途中に存在する障害物との衝突を避けて、安全かつ確実に目的地まで到達するための技術であり、障害物の回避行動を学習するにとどまる技術である。
【0007】
それゆえに、この発明の主たる目的は、新規な、移動ロボット、移動ロボット用の学習システムおよび移動ロボットの行動学習方法を提供することである。
【0008】
この発明の他の目的は、人と共存する環境においてサービスを効果的に提供できる、移動ロボット、移動ロボット用の学習システムおよび移動ロボットの行動学習方法を提供することである。
【課題を解決するための手段】
【0009】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明などは、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【0010】
第1の発明は、人と共存する環境に配置されて移動を伴うサービスを提供する移動ロボットであって、配置環境において複数種類の移動の仕方によって移動を試みる第1実行手段、第1実行手段によって移動を試みたときの、周囲の人の集まり具合および流れ具合の少なくとも一方に関する情報を含む周囲反応情報を検出する検出手段、検出手段によって検出された周囲反応情報を移動の仕方のそれぞれと対応付けて記憶する記憶手段、記憶手段に記憶された周囲反応情報を評価関数として、提供するサービスに応じた移動の仕方を選択する選択手段、および選択手段によって選択された移動の仕方によってサービスを実行する第2実行手段を備える、移動ロボットである。
【0011】
第1の発明では、移動ロボット(10)は、イベント会場や街中などの人と共存する様々な環境に配置され、案内および荷物運搬などの様々なサービスを提供する。そして、サービスを提供する際には、自身の行動に対する周囲の人の反応状況から適切な行動を学習し、その後のサービスの提供に生かす。具体的には、第1実行手段(26,62,66,68,S3)は、たとえば移動ロボットが最初にその環境に配置されたときに、「中央をまっすぐ進む」および「端をまっすぐ進む」等の複数種類の移動の仕方による移動を試みる。検出手段(30,34,60,62,66,70,84,86,S5)は、移動ロボット自身が搭載したセンサや環境に設置されたセンサ等を利用して、第1実行手段によって移動を試みたときの周囲反応情報を検出する。ここで、周囲反応情報は、移動ロボットが移動(サービス)を行う際の周囲の人の反応状況を示す情報であり、人の集まり具合および人の流れ具合の少なくとも一方に関する情報を含む。たとえば、人の集まり具合に関する情報としては、移動ロボットの所定範囲内に滞在している人数を用いることができ、人の流れ具合を示す情報としては、移動エリア内への流入人数から流出人数をひいた値(流入人数−流出人数)を用いることができる。記憶手段(62,66,88,S5)は、検出手段によって検出された周囲反応情報を移動の仕方のそれぞれと対応付けて記憶する。選択手段(62,66,S15)は、記憶手段に記憶された周囲反応情報を評価関数とし、提供するサービスに応じて当該評価関数が最小または最大となる移動の仕方を選択する。たとえば、移動ロボットの周囲に人を集めたいサービス(客引きサービス等)を提供するときには、人の集まり具合が最大となる移動の仕方を選択する。そして、第2実行手段(26,62,66,68,S17)は、選択手段によって選択された移動の仕方によってサービスを実行する。
【0012】
第1の発明によれば、自身の行動に対する周囲の人の反応状況から、配置される環境および提供するサービスに合った適切な行動を学習できるので、人と共存する環境において効果的にサービスを提供できる。
【0013】
第2の発明は、第1の発明に従属し、移動の仕方を分類するファクタは、移動経路を含む。
【0014】
第2の発明では、移動の仕方を分類するファクタとして、移動経路を含む。つまり、「中央をまっすぐ進む」および「できるだけ人を避けて進む」等の移動経路の違いによって移動の仕方を分類する。
【0015】
第2の発明によれば、配置される環境および提供するサービスに合った適切な移動経路を学習でき、人と共存する環境において効果的にサービスを提供できる。
【0016】
第3の発明は、第1または第2の発明に従属し、音声を出力する発話手段をさらに備え、移動の仕方を分類するファクタは、発話手段による発話を含む。
【0017】
第3の発明では、音声を出力する発話手段(62,66,54,72)をさらに備える。そして、移動の仕方を分類するファクタとして、発話を含む。発話を加えた移動の仕方としては、たとえば、「大きな声で話しかけながら、前からゆっくり近づく」および「後ろからこっそり近づく」等の話しかけ方がある。
【0018】
第3の発明によれば、配置される環境および提供するサービスに合った適切な発話を伴う移動の仕方を学習でき、人と共存する環境において効果的にサービスを提供できる。
【0019】
第4の発明は、人と共存する環境に配置されて移動を伴うサービスを提供する移動ロボット用の学習システムであって、移動ロボットに対して、配置環境において複数種類の移動の仕方によって移動を試みさせる制御手段、移動ロボットが制御手段による移動を試みたときの、周囲の人の集まり具合および流れ具合の少なくとも一方に関する情報を含む周囲反応情報を検出する検出手段、および検出手段によって検出された周囲反応情報を移動の仕方のそれぞれと対応付けて記憶してデータベースを構築するデータベース構築手段を備える、移動ロボット用の学習システムである。
【0020】
第4の発明では、移動ロボット用の学習システム(100)は、たとえば移動ロボット(10)および位置検出システム(12)を含み、移動ロボットがサービスを提供する際には、移動ロボットの行動に対する周囲の人の反応状況から適切な行動を学習し、その後のサービスの提供に生かす。具体的には、制御手段(62,66,S3)は、「中央をまっすぐ進む」および「端をまっすぐ進む」等の複数種類の移動の仕方による移動を移動ロボットに試みさせる。検出手段(12,30,34,60,62,66,70,84,86,S5)は、制御手段によって移動ロボットが移動を試みたときの周囲の人の反応状況を示す周囲反応情報を検出する。そして、データベース構築手段(62,66,88,S5)は、検出手段によって検出された周囲反応情報を移動の仕方のそれぞれと対応付けて記憶してデータベースを構築する。構築したデータベースは、配置される環境および提供するサービスに合った適切な行動を移動ロボットに実行させるために用いられる。
【0021】
第4の発明によれば、移動ロボットの行動に対する周囲の人の反応状況に関する情報を蓄積するので、データベースの構築後は、配置される環境および提供するサービスに合った適切な行動を移動ロボットに実行させることができる。したがって、人と共存する環境において効果的にサービスを提供する移動ロボットを実現できる。
【0022】
第5の発明は、人と共存する環境に配置されて移動を伴うサービスを提供する移動ロボットの行動学習方法であって、(a)配置環境において複数種類の移動の仕方によって移動を試み、(b)ステップ(a)で移動を試みたときの、周囲の人の集まり具合および流れ具合の少なくとも一方に関する情報を含む周囲反応情報を検出し、そして(c)ステップ(b)で検出した周囲反応情報を移動の仕方のそれぞれと対応付けて記憶してデータベースを構築する、移動ロボットの行動学習方法である。
【0023】
第5の発明では、移動ロボット(10)は、自身の行動に対する周囲の人の反応状況から適切な行動を学習し、その後のサービスの提供に生かす。先ず、ステップ(a)では、配置された環境において、「中央をまっすぐ進む」および「端をまっすぐ進む」等の複数種類の移動の仕方によって移動(サービス)を試みる(S3)。ステップ(b)では、移動ロボット自身が搭載したセンサや環境に設置されたセンサ等を利用して、ステップ(a)で移動を試みたときの周囲反応情報、すなわち周囲の人の集まり具合および流れ具合の少なくとも一方に関する情報を検出する(S5)。そして、ステップ(c)では、ステップ(b)で検出した周囲反応情報を移動の仕方のそれぞれと対応付けて記憶してデータベース(88)を構築する(S5)。構築したデータベースは、配置される環境および提供するサービスに合った適切な行動を移動ロボットに実行させるために用いられる。
【0024】
第5の発明によれば、移動ロボットの行動に対する周囲の人の反応状況に関する情報を蓄積するので、第4の発明と同様の作用効果を奏し、人と共存する環境において効果的にサービスを提供する移動ロボットを実現できる。
【発明の効果】
【0025】
この発明によれば、自身の行動に対する周囲の人の反応状況から、配置される環境および提供するサービスに合った適切な行動を学習するので、人と共存する環境において効果的にサービスを提供できる。
【0026】
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う後述の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0027】
【図1】この発明の一実施例の移動ロボットシステムの構成を示すブロック図である。
【図2】図1の移動ロボットが人と共存する環境を移動する様子を示す図解図である。
【図3】図1の移動ロボットの外観を正面から見た様子を示す図解図である。
【図4】図1の移動ロボットの電気的構成を示すブロック図である。
【図5】周囲反応情報データベースに記憶されるテーブルの一例を示す図解図である。
【図6】図1の移動ロボットが備えるCPUが実行する学習時の処理の一例を示すフロー図である。
【図7】図1の移動ロボット10が備えるCPUが実行する学習後の処理の一例を示すフロー図である。
【図8】周囲反応情報データベースに記憶されるテーブルの他の一例を示す図解図である。
【発明を実施するための形態】
【0028】
図1および2を参照して、この発明の一実施例である移動ロボットシステム(移動ロボット用の学習システム)100は、通信可能に接続される移動ロボット10と位置検出システム12とを含む。移動ロボットシステム100において、移動ロボット10は、イベント会場や街中などの人と共存する様々な環境(場所)に配置され、その環境内を自律的に移動して、案内、荷物運搬、客引き、エンタテインメント、掃除および巡回監視などの様々なサービスを提供する(タスクを実行する)。そして、サービスを提供する際には、位置検出システム12や自身が搭載したセンサ等によって計測した、自身の行動に対する周囲の人の反応状況(周囲反応情報)から適切な行動を学習し、つまりどのように移動すると効果的かを学習し、その後のサービスの提供に生かす。
【0029】
図3は、移動ロボット10の外観を示す正面図である。この図3を参照して、移動ロボット10のハードウェアの構成について説明する。なお、この実施例では、身体動作や発話を用いて人との間でコミュニケーション行動を実行する相互作用指向のロボットを移動ロボット10の一例として挙げて説明するが、この発明でいうロボットとは、目的の動作や作業などをコンピュータの制御で自動的に行う機械や装置をいい、人の姿に似るものに限定されない。また、移動ロボットとは、移動機構を備えるロボットをいう。
【0030】
移動ロボット10は、台車20を含み、この台車20の下面には、移動ロボット10を自律移動させる2つの車輪22および1つの従輪24が設けられる。2つの車輪22は車輪モータ26(図4参照)によってそれぞれ独立に駆動され、移動ロボット10を前後左右任意の方向に動かすことができる。また、従輪24は車輪22を補助する補助輪である。このように、移動ロボット10は、配置された環境内を自由に移動可能なものである。ただし、移動ロボット10の移動機構は、車輪タイプに限定されず、公知の移動機構を適宜採用でき、たとえば2足歩行タイプの移動機構を採用することもできる。
【0031】
台車20の上には、円柱形のセンサ取付パネル28が設けられ、このセンサ取付パネル28には、赤外線距離センサ30が取り付けられる。この赤外線距離センサ30は、移動ロボット10と周囲の物体(人や障害物など)との距離を計測するものである。
【0032】
また、センサ取付パネル28の上には、胴体32が直立するように設けられる。胴体32の前方中央上部(胸に相当する位置)には、上述した赤外線距離センサ30がさらに設けられる。これは、移動ロボット10の前方の主として人との距離を計測する。また、胴体32には、1つの全方位カメラ34が設けられる。全方位カメラ34は、たとえば背面側上端部のほぼ中央から延びる支柱36上に設けられる。全方位カメラ34は、移動ロボット10の周囲を撮影するものであり、後述する眼カメラ60とは区別される。この全方位カメラ34としては、たとえばCCDやCMOSのような固体撮像素子を用いるカメラを採用することができる。なお、これら赤外線距離センサ30および全方位カメラ34の設置位置は当該部位に限られず適宜変更され得る。
【0033】
胴体32の両側面上端部(肩に相当する位置)のそれぞれには、肩関節38Rおよび38Lによって、上腕40Rおよび40Lが設けられる。図示は省略するが、肩関節38Rおよび38Lのそれぞれは、直交する3軸の自由度を有する。すなわち、肩関節38Rは、直交する3軸のそれぞれの軸廻りにおいて上腕40Rの角度を制御できる。肩関節38Rの或る軸(ヨー軸)は、上腕40Rの長手方向に平行な軸であり、他の2軸(ピッチ軸、ロール軸)は、それにそれぞれ異なる方向から直交する軸である。同様に、肩関節38Lは、直交する3軸のそれぞれの軸廻りにおいて上腕40Lの角度を制御できる。肩関節38Lの或る軸(ヨー軸)は、上腕40Lの長手方向に平行な軸であり、他の2軸(ピッチ軸、ロール軸)は、それにそれぞれ異なる方向から直交する軸である。
【0034】
また、上腕40Rおよび40Lのそれぞれの先端には、肘関節42Rおよび42Lを介して、前腕44Rおよび44Lが設けられる。図示は省略するが、肘関節42Rおよび42Lは、それぞれ1軸の自由度を有し、この軸(ピッチ軸)の軸廻りにおいて前腕44Rおよび44Lの角度を制御できる。
【0035】
前腕44Rおよび44Lのそれぞれの先端には、手に相当する球体46Rおよび46Lがそれぞれ固定的に設けられる。ただし、指や掌の機能が必要な場合には、人の手の形をした「手」を用いることも可能である。
【0036】
また、図示は省略するが、台車20の前面、肩関節38R,38Lを含む肩に相当する部位、上腕40R,40L、前腕44R,44Lおよび球体46R,46Lには、それぞれ、接触センサ(図4で接触センサ48として包括的に示す。)が設けられている。台車20の前面の接触センサ48は、台車20への人や他の障害物の接触を検知する。したがって、移動ロボット10の移動中に障害物との接触があると、それを検知し、直ちに車輪22の駆動を停止して移動ロボット10の移動を急停止させることができる。また、その他の接触センサ48は、主に、人が移動ロボット10の当該各部位に触れたかどうかを検知する。なお、接触センサ48の設置位置はこれらに限定されず、適宜な位置(胸、腹、脇、背中、腰など)に設けられてよい。
【0037】
胴体32の中央上部(首に相当する位置)には首関節50が設けられ、さらにその上には頭部52が設けられる。図示は省略するが、首関節50は、3軸の自由度を有し、3軸の各軸廻りに角度制御可能である。或る軸(ヨー軸)は移動ロボット10の真上(鉛直上向き)に向かう軸であり、他の2軸(ピッチ軸、ロール軸)は、それぞれ、それと異なる方向で直交する軸である。
【0038】
頭部52には、口に相当する位置に、スピーカ54が設けられる。スピーカ54は、移動ロボット10が、それの周辺の人に対して音声ないし音によってコミュニケーションを取るために用いられる。また、耳に相当する位置には、マイク56Rおよび56Lが設けられる。以下、右耳に相当するマイク56Rと左耳に相当するマイク56Lとをまとめて「マイク56」ということがある。マイク56は、周囲の音、とりわけコミュニケーションを実行する対象である人の声を取り込む。さらに、目に相当する位置には、眼球部58Rおよび58Lが設けられる。眼球部58Rおよび58Lは、それぞれ眼カメラ60Rおよび60Lを含む。以下、右の眼球部58Rと左の眼球部58Lとをまとめて「眼球部58」ということがあり、また、右の眼カメラ60Rと左の眼カメラ60Lとをまとめて「眼カメラ60」ということがある。
【0039】
眼カメラ60は、移動ロボット10に接近した人の顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。眼カメラ60としては、上述した全方位カメラ34と同様のカメラを用いることができる。たとえば、眼カメラ60は眼球部58内に固定され、眼球部58は眼球支持部(図示せず)を介して頭部52内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、2軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この2軸の一方は、頭部52の上へ向かう方向の軸(ヨー軸)であり、他方は、一方の軸に直交しかつ頭部52の正面側(顔)が向く方向に直交する方向の軸(ピッチ軸)である。眼球支持部がこの2軸の各軸廻りに回転されることによって、眼球部58ないし眼カメラ60の先端(正面)側が変位され、カメラ軸すなわち視線方向が移動される。なお、上述のスピーカ54、マイク56および眼カメラ60の設置位置は、これらに限定されず、適宜な位置に設けてられてよい。
【0040】
図4は、移動ロボット10の電気的な構成を示すブロック図である。図4に示すように、移動ロボット10は、全体を制御するCPU62を含む。CPU62は、マイクロコンピュータ或いはプロセサとも呼ばれ、バス64を介して、メモリ66、モータ制御ボード68、センサ入力/出力ボード70および音声入力/出力ボード72等に接続される。
【0041】
メモリ66は、図示は省略するが、ROMやHDDおよびRAMを含む。ROMやHDDには、移動ロボット10の制御プログラムが予め記憶される。たとえば、人との間でコミュニケーション行動を実行するための行動制御プログラム、設定された移動の仕方で周囲に人が共存する環境内を移動するための移動制御プログラム、および外部コンピュータとの間で必要な情報を送受信するための通信プログラム等である。また、ROMやHDDには、コミュニケーション行動を実行する際にスピーカ54から発生すべき音声または声の音声データ(音声合成データ)、環境の地図データ、および試みる移動の仕方の種類に関するデータなどが適宜記憶される。また、RAMは、ワークメモリやバッファメモリとして用いられる。
【0042】
モータ制御ボード68は、たとえばDSPで構成され、各腕や首関節50および眼球部58などの各軸モータの駆動を制御する。すなわち、モータ制御ボード68は、CPU62からの制御データを受け、右眼球部58Rの2軸のそれぞれの角度を制御する2つのモータ(図4では、まとめて「右眼球モータ」と示す。)74の回転角度を制御する。同様に、モータ制御ボード68は、CPU62からの制御データを受け、左眼球部58Lの2軸のそれぞれの角度を制御する2つのモータ(図4では、まとめて「左眼球モータ」と示す。)76の回転角度を制御する。
【0043】
また、モータ制御ボード68は、CPU62からの制御データを受け、右肩関節38Rの直交する3軸のそれぞれの角度を制御する3つのモータと右肘関節42Rの角度を制御する1つのモータとの計4つのモータ(図4では、まとめて「右腕モータ」と示す。)78の回転角度を調節する。同様に、モータ制御ボード68は、CPU62からの制御データを受け、左肩関節38Lの直交する3軸のそれぞれの角度を制御する3つのモータと左肘関節42Lの角度を制御する1つのモータとの計4つのモータ(図4では、まとめて「左腕モータ」と示す。)80の回転角度を調節する。
【0044】
さらに、モータ制御ボード68は、CPU62からの制御データを受け、首関節50の直交する3軸のそれぞれの角度を制御する3つのモータ(図4では、まとめて「頭部モータ」と示す。)82の回転角度を制御する。さらにまた、モータ制御ボード68は、CPU62からの制御データを受け、車輪22を駆動する2つのモータ(図4では、まとめて「車輪モータ」と示す。)26の回転角度を制御する。
【0045】
なお、この実施例では、車輪モータ26を除くモータは、制御を簡素化するために、ステッピングモータ或いはパルスモータを用いるようにしてある。ただし、車輪モータ26と同様に、直流モータを用いるようにしてもよい。
【0046】
センサ入力/出力ボード70もまた、同様に、DSPで構成され、各センサからの信号を取り込んでCPU62に与える。すなわち、赤外線距離センサ30のそれぞれからの反射時間に関するデータが、センサ入力/出力ボード70を通してCPU62に入力される。また、全方位カメラ34からの映像信号が、必要に応じてセンサ入力/出力ボード70で所定の処理を施された後、CPU62に入力される。眼カメラ60からの映像信号も、同様にして、CPU62に入力される。また、上述した複数の接触センサ48からの信号がセンサ入力/出力ボード70を介してCPU62に与えられる。
【0047】
音声入力/出力ボード72もまた、同様に、DSPで構成され、CPU62から与えられる音声合成データに従った音声または声がスピーカ54から出力される。また、マイク56からの音声入力が、音声入力/出力ボード56を介してCPU62に取り込まれる。
【0048】
また、CPU62は、バス64を介して通信LANボード84に接続される。通信LANボード84は、DSPで構成され、CPU62から送られる送信データを無線通信装置86に与え、無線通信装置86から送信データを、たとえば、無線LANのようなネットワークを介して外部コンピュータに送信する。また、通信LANボード84は、無線通信装置86を介してデータを受信し、受信したデータをCPU62に与える。つまり、この通信LANボード84および無線通信装置86によって、移動ロボット10は外部コンピュータ(位置検出システム12)などと無線通信を行うことができる。
【0049】
さらに、CPU62は、バス64を介して周囲反応情報データベース(DB)88に接続される。周囲反応情報DB88は、詳細は後述するように、位置検出システム12等によって計測される、移動ロボット10の行動に対する周囲の人の反応状況に関する情報を蓄積したデータベースであり、提供するサービスおよび配置される環境などに適した行動(移動の仕方)を選択するためのテーブルを記憶する。
【0050】
図1および2に戻って、位置検出システム12は、汎用のコンピュータ14と、計測区域が重なるように環境に設置される複数のLRF16とを含み、LRF16を利用して人をセンシングすることで、環境内に存在する人の位置を検出する。以下、位置検出システム12について説明するが、LRFを用いた移動物体の位置検出については、この発明者らが先に出願した特開2009−168578号公報に詳細が開示されているので、参照されたい。
【0051】
LRF16は、レーザを照射し、物体に反射して戻ってくるまでの時間から当該物体までの距離を計測するセンサであり、たとえば、トランスミッタから照射したレーザを回転ミラーで反射させて、前方を扇状に一定角度ずつスキャンする。LRF16としては、SICK社製のLRF(型式 LMS 200)や、HOKUYO社製のLRF(型式 UTM‐30LX)等を用いることができる。
【0052】
位置検出システム12では、コンピュータ14がLRF16からの出力(距離データ)に基づいて、パーティクルフィルタを用いて、人の現在位置の変化を推定する。たとえば、LRF16によってスキャンされると、人が存在しない可視区域、人が存在する陰区域および人のエッジが検出される。また、実空間に対応する仮想空間に対してパーティクルを均等にばら撒き、LRF16毎に尤度を求める。さらに、LRF16毎の尤度を統合することで、各パーティクルが更新される。そして、更新された各パーティクルによって人の現在位置の変化が推定される。なお、尤度は、可視区域では一定値とし、陰区域では一定値とエッジの尤度との和となる。このようにして推定された現在位置の変化に基づいて人の位置を求め、その位置の平面座標を示す数値(位置データ)を、時刻データと対応付けて、位置履歴データ(移動軌跡データ)として人ごとに分けて蓄積していく。また、たとえば、各人の移動軌跡における一定時間ごとの変化量を時間で微分することによって、各人の移動速度を算出する。
【0053】
なお、上述の位置検出システム12では、LRF16を用いて人の位置を検出するようにしたが、超音波距離センサ、ミリ波レーダ、無線IDタグリーダ、床センサおよび天井カメラ等を適宜用いて人の位置を検出することもできる。
【0054】
このような構成の移動ロボットシステム100では、移動ロボット10は、上述のように、人と共存する環境に配置され、環境内を自律的に移動して様々なサービスを提供する。そして、サービスを提供する際には、自身の行動に対する周囲の人の反応状況から適切な行動を学習する。なお、移動ロボット10は、移動する際には、メモリ66に記憶された地図データ、および内蔵或いは環境に設置されたセンサの情報を参照して、自身の現在地(現在座標)を把握しながら移動する。
【0055】
具体的には、移動ロボットシステム100では、たとえば移動ロボット10が最初にその環境に配置されたとき、つまり移動ロボット10によるサービスの提供開始後の初期段階において、移動ロボット10の行動に対する周囲の人の反応状況に関する情報を収集する学習動作を実行する。
【0056】
この学習時には、移動ロボット10は、複数種類の移動の仕方(移動態様)によってサービス(移動)を試みる。たとえば、ショッピングセンタ等の通路エリアにおいて、一方の端から他端側にある店舗まで移動する場合(これは、店舗まで客を誘導する客引きサービスや店舗に商品を配達する荷物搬送サービスを提供する場合、或いはエンタテインメントサービスを提供するためにコミュニケーション相手を探してブラブラと店舗まで移動する場合などに想定される状況である。)には、「中央をまっすぐ進む」、「端をまっすぐ進む」、「できるだけ人を避けて進む」、「人の後ろをついていく」等の移動の仕方のそれぞれによってサービスを試みる。なお、試みる移動の仕方の種類は、提供するサービスに応じて予め設定されており、各サービスと対応付けてメモリ66等に適宜記憶される。また、試みる移動の仕方の種類数は、2種類以上の任意の数である。
【0057】
そして、移動ロボット10が複数種類の移動の仕方によってサービスを試みた際には、位置検出システム12および移動ロボット10が搭載する各種センサ30,34,60等を利用して、移動ロボット10の周囲に存在する人の反応状況、すなわち周囲反応情報を計測する。この周囲反応情報には、移動ロボット10周囲の人の集まり具合を示す情報、および移動ロボット10周囲の人の流れ具合を示す情報などが含まれる。
【0058】
人の集まり具合を示す情報としては、たとえば、移動ロボット10が目的地に到達したときに、移動ロボット10を中心とした所定距離(たとえば半径2m)の範囲内に何人の人が滞在しているかを計測した値を用いることができる。
【0059】
人の流れ具合を示す情報としては、たとえば、移動ロボット10が移動を開始してから目的地に到達するまでの時間の間に、通路エリア(移動エリア)に入った人の総数から出た人の総数をひいた値(流入人数−流出人数;つまり滞留した人数)を用いることができる。また、たとえば、移動ロボット10が移動しているときに、移動ロボット10を中心とした所定距離(たとえば半径3m)の範囲内での平均移動速度が、その範囲外(たとえば半径3mから5mの間の範囲内)での平均移動速度と比較して、所定値(たとえば0.2m/s)以上遅くなった人の総数を人の流れ具合を示す情報として用いることもできる。さらに、たとえば、移動エリア内の人々の平均移動速度(全体の平均値)または人々が移動エリアを通過するのにかかった時間の平均値(平均通過時間)を、移動ロボット10を配置しない状態で予め測定しておき、移動ロボット10が移動しているときに測定したこれらの値との差を人の流れ具合を示す情報として用いることもできる。
【0060】
このような複数種類の移動の仕方によるサービスの試みは、移動の仕方ごとに数回(2−3回程度)実行される。そして、移動ロボット10がサービスを試みる度に計測した周囲反応情報は、移動の仕方のそれぞれと対応付けて記憶され、上述の周囲反応情報DB88が構築される。
【0061】
図5には、周囲反応情報DB88に記憶されるテーブルの一例を示す。図5に示す例では、移動の仕方と対応付けて、実行回数、累積集まりおよび累積滞留の情報を記憶している。ここで、実行回数は、その移動の仕方によってサービスを実行した回数を示す。また、累積集まりは、人の集まり具合を示す情報の一例であり、その移動の仕方によって目的地に到達したときに移動ロボット10の所定範囲内に滞在した人数の実行回数分の総和を示す。さらに、累積滞留は、人の流れ具合を示す情報の一例であり、その移動の仕方によって移動している間に移動エリア内に入った人の総数から出た人の総数をひいた値(つまり滞留した人数)の実行回数分の総和を示す。
【0062】
図5を参照すると、たとえば、「中央をまっすぐ進む」という移動の仕方によるサービスの提供は3回実行され、3回実行分の累積集まりは100人であり、累積滞留は80人であるという情報が収集されていることが分かる。つまり、「中央をまっすぐ進む」という移動の仕方によってサービスの提供を行うと、1回当り約33人の人が移動ロボット10の周囲に集まり、1回当り約27人の人が移動ロボット10の周囲で滞留したことが分かる。また、たとえば、「端をまっすぐ進む」という移動の仕方によるサービスの提供は2回実行され、2回実行分の累積集まりは20人であり、累積滞留は0人であるという情報が収集されていることが分かる。つまり、「端をまっすぐ進む」という移動の仕方によってサービスの提供を行うと、1回当り約10人の人が移動ロボット10の周囲に集まり、移動ロボット10の周囲では人の滞留がほぼ発生しないことが分かる。その他、「できるだけ人を避けて進む」および「人の後ろをついていく」についても同様である。
【0063】
なお、移動ロボット10がその環境で他のサービスを行うときには、改めて、複数種類の移動の仕方によってそのサービスを試み、移動ロボット10の周囲に存在する人の反応状況を計測して、移動の仕方のそれぞれと対応付けて記憶するとよい。たとえば、客引きサービス、荷物搬送サービス、およびエンタテインメントサービス等に場合分けして周囲反応情報を収集し、図5に示すようなテーブルを各サービスについて作成するとよい。また、複数の移動行程を含んでいたり、移動距離が長かったりするサービスの場合には、一連の1つのサービスを複数の行程(状況)に分割し、行程ごとに場合分けして周囲反応情報を収集して、図5に示すようなテーブルを各工程について作成することもできる。
【0064】
周囲反応情報DB88を構築した後、すなわち周囲反応情報を収集(学習)した後は、移動ロボット10は、人の集まり具合や流れ具合に関する情報を評価関数とし、その評価関数が最小または最大となる移動の仕方を選択することによって、効果的なサービスの提供を行う。なお、どの情報を評価関数として用いるかについては、提供するサービス毎に予め設定されており、各サービスと対応付けてメモリ66等に適宜記憶される。
【0065】
たとえば、移動ロボット10の周囲に人を集めたいサービス(客引きサービス等)を提供するときには、「累積集まり/実行回数」の値が最大となる移動の仕方が選択される。つまり、図5に示す例では、学習後に客引きサービス等を行うときには、「中央をまっすぐに進む」という移動の仕方が選択されるようになる。
【0066】
また、たとえば、周囲の人の流れを邪魔せずに移動したいサービス(荷物搬送サービス等)や周囲の人の流れを促したいサービスを提供するときには、「累積滞留/実行回数」の値が最小(マイナスの値となる場合もある)となる移動の仕方が選択される。つまり、図5に示す例では、学習後に荷物搬送サービス等を行うときには、「端をまっすぐに進む」という移動の仕方が選択されるようになる。なお、人の流れ具合を示す情報として、移動ロボット10の近くで平均移動速度が落ちた人の数を計測している場合には、実行回数1回当たりのその数が最小となる移動の仕方が選択される。また、人の流れ具合を示す情報として、移動エリアにおける平均移動速度または平均通過時間の移動ロボット10の有無による差を計測している場合には、実行回数1回当たりのその差が最小となる移動の仕方が選択される。さらに、周囲の人の流れを邪魔せずに移動したいサービスを提供するときには、「累積集まり/実行回数」の値が最小となる移動の仕方が選択されるようにしてもよい。移動ロボット10周囲の人の集まりが少なければ、周囲の人の流れを阻害する恐れが小さくなるからである。
【0067】
続いて、フロー図を用いて移動ロボットシステム100(移動ロボット10)の動作を説明する。図6は、移動ロボット10のCPU62が実行する学習時の処理の一例を示し、図7は、移動ロボット10のCPU62が実行する学習後の処理の一例を示す。
【0068】
図6を参照して、CPU62は、たとえば移動ロボット10が或る環境に配置されてサービス(タスク)を提供する初期段階において、この学習時の処理を実行する。先ず、ステップS1では、提供するサービスを設定する。たとえば、提供するサービスを或る店舗まで客を誘導する客引きサービスに設定する。この際には、メモリ66に記憶された地図データ、および内蔵センサや位置検出システム12から送信される情報を参照して、自身の現在地および移動先(目的地)の座標を取得する。
【0069】
次のステップS3では、移動の仕方を選択してサービスを開始する。すなわち、提供するサービスに応じて予め設定されている複数種類の移動の仕方の中から、ランダム或いは順番に、1つの移動の仕方を選択する。そして、車輪モータ26の回転角度を制御する制御データをモータ制御ボード68に対して送信し、選択した移動の仕方となるように移動ロボット10の動作を制御してサービスの提供を試みる。
【0070】
たとえば、「中央をまっすぐ進む」という移動の仕方が選択された場合には、移動エリアの中央を通って目的地まで移動するように車輪モータ26を制御し、「端をまっすぐ進む」という移動の仕方が選択された場合には、移動エリアの端を通って目的地まで移動するように車輪モータ26を制御する。また、「できるだけ人を避けて進む」という移動の仕方が選択された場合には、無線通信装置86および通信LANボード84を介して、位置検出システム12によって検出される周囲の人の位置情報を逐次受信し、移動ロボット10と人との距離が最も大きくなるような経路を通って目的地まで移動するように車輪モータ26を制御する。また、「人の後ろをついていく」という移動の仕方が選択された場合には、たとえば位置検出システム12によって検出される人の移動履歴に基づいて移動ロボット10近傍に存在する人の進行方向を推測し、目的地方向に移動すると推測された人の後ろをついていくように車輪モータ26を制御する。ただし、「人の後ろをついていく」という移動の仕方では、目的地に到着できない恐れがあるので、目的地が決まっているサービスに関しては、「人の後ろをついていく」という移動の仕方は省略してもよい。「人の後ろをついていく」という移動の仕方は、主に、目的地がなくブラブラしている状態を含むサービス(たとえばエンタテインメントサービスの実行時には、コミュニケーション相手を探してブラブラと移動する状況がある)に設定され、この場合には、近傍に存在する人をランダムに選択して、その人の後ろをついていくように制御される。
【0071】
次のステップS5では、ステップS3においてサービスを実行したときの周囲の人の集まり具合および流れ具合に関する情報を記録する。たとえば、周囲の人の集まり具合に関する情報として、移動ロボット10が目的地に到着したときに、移動ロボット10周囲の所定範囲内に何人の人が滞在しているかを計測し、その計測値を移動の仕方と対応付けて周囲反応情報DB88に記憶する。また、たとえば、周囲の人の流れ具合に関する情報として、移動ロボット10が移動を開始してから目的地に到達するまでの時間の間に、移動エリア内に入った人の総数から出た人の総数をひいた値(流入人数−流出人数)を計測し、その計測値を移動の仕方と対応付けて周囲反応情報DB88に記憶する。なお、このような周囲反応情報は、位置検出システム12によって検出されて、無線通信装置86および通信LANボード84等を介してCPU62に与えられたり、移動ロボット10自身が搭載した各センサ30,34,60によって検出されて、センサ入力/出力ボード70等を介してCPU62に与えられたりする。
【0072】
そして、ステップS7では、データ量は十分か否かを判断する。すなわち、提供するサービスに応じて予め設定されている複数種類の移動の仕方によるサービスの試みが、移動の仕方のそれぞれについて所定回数だけ実行されたかどうかを判断する。ステップS7で“NO”の場合、すなわち収集したデータ量が不十分の場合には、ステップS3に戻り、所定回数実行されていない移動の仕方の中から1つの移動の仕方を選択し、同様の処理を繰り返す。一方、ステップS7で“YES”の場合、すなわち収集したデータ量が十分である場合には、そのサービスに関する学習処理を終了する。なお、移動ロボット10がその環境で他のサービスを行うときには、他のサービスについても図6に示す学習処理を実行し、収集した情報を各サービスと対応付けて周囲反応情報DB88に記憶するとよい。
【0073】
図7を参照して、学習後、つまり周囲反応情報DB88を構築した後の処理について説明する。ステップS11では、この全体処理を終了するか否かを判断する。たとえば、オペレータによる停止命令を検出したか否かを判断する。ステップS11で“YES”の場合、すなわちオペレータによる停止命令を検出した場合などには、全体処理を終了する。一方、ステップS11で“NO”の場合には、処理はステップS13に進む。
【0074】
ステップS13では、提供するサービスを設定する。すなわち、周囲反応情報を収集済みのサービスの中から1つのサービスを設定する。この際には、メモリ66に記憶された地図データ、および内蔵センサや位置検出システム12から送信される情報を参照して、自身の現在地および移動先(目的地)の座標を取得する。
【0075】
次のステップS15では、周囲反応情報DB88を参照して、ステップS13で設定したサービスに応じた移動の仕方を選択する。たとえば、移動ロボット10の周囲に人を集めたい客引きサービス等を提供するときには、「累積集まり/実行回数」の値が最大となる移動の仕方を選択する。また、たとえば、周囲の人の流れを邪魔せずに移動したい荷物搬送サービスや周囲の人の流れを促進したいサービス等を提供するときには、「累積滞留/実行回数」の値が最小となる移動の仕方を選択する。
【0076】
そして、ステップS17では、ステップS15で選択した移動の仕方によってサービスを実行する。すなわち、車輪モータ26の回転角度を制御する制御データをモータ制御ボード68に対して送信し、選択した移動の仕方となるように移動ロボット10の動作を制御してサービスを提供する。
【0077】
この実施例によれば、移動ロボット10の行動に対する周囲の人の反応状況から、配置される環境および提供するサービスに合った適切な行動を学習するので、人と共存する環境において効果的にサービスを提供できる。
【0078】
なお、上述の実施例では、移動ロボット10が実際にサービスを提供しているときに周囲反応情報を収集するようにしたが、これに限定されない。たとえば、移動ロボット10が複数種類の移動の仕方によって模擬的な移動(つまりサービスの提供を行わない状態での移動)を試みるようにし、この移動を試みた際の周囲反応情報を計測して周囲反応情報DB88を構築する。そして、サービスを実際に提供するときに、構築した周囲反応情報DB88に記憶された周囲反応情報を参照して、各種サービスに適した移動の仕方を選択することもできる。ただし、提供するサービスの種類によって周囲の人の反応状況は異なる場合があるので、実際にサービスを提供しているときに周囲反応情報を収集し、サービス毎に場合分けして記憶しておくことが好ましい。
【0079】
また、或る移動ロボット10が学習した内容(つまり構築した周囲反応情報DB88)を利用して、他の移動ロボットが適切な移動の仕方を選択するようにすることもできる。ただし、移動ロボット10の種類が異なる場合、たとえば人とのコミュニケーションを目的として製作されたコミュニケーションロボットと荷物の搬送を目的として製作されたカート型ロボットとでは、移動時の周囲の人の反応は異なるので、その移動ロボット自身が学習して、その後のサービスの提供に生かすことが好ましい。
【0080】
また、上述の実施例で示した「中央をまっすぐ進む」等の移動の仕方(移動態様)は単なる例示であり、移動ロボット10は他の移動の仕方を試みることもできる。さらに、上述の実施例では、移動の仕方の分類は、主に移動経路の違いによるものであった、つまり移動の仕方を分類するファクタとして、主として移動経路を用いたが、これに限定されない。たとえば、移動の仕方を分類するファクタとしては、移動経路の代わりに或いは移動経路と共に、移動速度を用いることもできる。また、右手を上に挙げる等の身体動作をファクタとして加えることもできるし、「○○でセールをやっているよ」等の発話をファクタとして加えることもできる。
【0081】
身体動作や発話などを加えた移動の仕方の典型例としては、移動ロボット10が少し離れた場所にいる人に話しかける場合の話しかけ方がある。図8には、人に対する話しかけを含むサービス(たとえばエンタテインメントサービス)を移動ロボット10が提供する場合に、周囲反応情報DB88に記憶されるテーブルの一例を示す。図8に示すように、移動ロボット10は、人に対する話しかけを含むサービスを提供する場合には、「“おーい、そこのあなた”等と大きな声で話しかけながら、前からゆっくり近づく」、「前からまっすぐ、すばやく近づく」、「周りの人を避けながら近づく」および「後ろからこっそり近づく」等の複数種類の話しかけ方(移動の仕方)によるサービスの提供を学習時に試みる。そして、そのときの周囲反応情報を位置検出システム12等によって検出し、移動の仕方と対応付けて記憶する。図8に示す例では、話しかけ方と対応付けて、実行回数、累積成功、累積集まりおよび累積滞留の情報を記憶している。ここで、累積成功は、話しかけに成功した回数を示す。
【0082】
図8に示すような周囲反応情報DB88を構築した後は、移動ロボット10は、話しかけの成功率、人の集まり具合および流れ具合に関する情報を評価関数とし、その評価関数が最小または最大となる話しかけ方を選択することによって、効果的なサービスの提供を行う。具体的には、移動ロボット10の周囲に人を集めたいサービスを提供するときには、話しかけの成功率(累積成功/実行回数)が最大であって、かつ「累積集まり/実行回数」の値が最大となる話しかけ方が選択される。たとえば客引きサービスを行うときには、客引き対象として選択して声をかけた相手以外の人も誘導することができるので、より効果的にサービスを提供できる。また、たとえばエンタテインメントサービスを行うときには、周囲に人が集まっていれば、次の相手をすぐに見つけることができるので、より効果的にサービスを提供できる。一方、周囲の人の流れを邪魔せずに移動したいサービスを提供するときには、話しかけの成功率が最大であって、かつ「累積滞留/実行回数」の値が最小となる話しかけ方を選択するとよい。
【0083】
なお、上で挙げた所定距離などの具体的数値は、いずれも単なる一例であり、必要に応じて適宜変更可能である。
【符号の説明】
【0084】
10 …移動ロボット
12 …位置検出システム
14 …コンピュータ
16 …レーザレンジファインダ
22 …車輪
26 …車輪モータ
62 …CPU
66 …メモリ
88 …周囲反応情報データベース
100 …移動ロボットシステム(移動ロボット用の学習システム)

【特許請求の範囲】
【請求項1】
人と共存する環境に配置されて移動を伴うサービスを提供する移動ロボットであって、
配置環境において複数種類の移動の仕方によって移動を試みる第1実行手段、
前記第1実行手段によって前記移動を試みたときの、周囲の人の集まり具合および流れ具合の少なくとも一方に関する情報を含む周囲反応情報を検出する検出手段、
前記検出手段によって検出された前記周囲反応情報を前記移動の仕方のそれぞれと対応付けて記憶する記憶手段、
前記記憶手段に記憶された前記周囲反応情報を評価関数として、提供するサービスに応じた前記移動の仕方を選択する選択手段、および
前記選択手段によって選択された前記移動の仕方によって当該サービスを実行する第2実行手段を備える、移動ロボット。
【請求項2】
前記移動の仕方を分類するファクタは、移動経路を含む、請求項1記載の移動ロボット。
【請求項3】
音声を出力する発話手段をさらに備え、
前記移動の仕方を分類するファクタは、前記発話手段による発話を含む、請求項1または2記載の移動ロボット。
【請求項4】
人と共存する環境に配置されて移動を伴うサービスを提供する移動ロボット用の学習システムであって、
前記移動ロボットに対して、配置環境において複数種類の移動の仕方によって移動を試みさせる制御手段、
前記移動ロボットが前記制御手段による移動を試みたときの、周囲の人の集まり具合および流れ具合の少なくとも一方に関する情報を含む周囲反応情報を検出する検出手段、および
前記検出手段によって検出された前記周囲反応情報を前記移動の仕方のそれぞれと対応付けて記憶してデータベースを構築するデータベース構築手段を備える、移動ロボット用の学習システム。
【請求項5】
人と共存する環境に配置されて移動を伴うサービスを提供する移動ロボットの行動学習方法であって、
(a)配置環境において複数種類の移動の仕方によって移動を試み、
(b)前記ステップ(a)で移動を試みたときの、周囲の人の集まり具合および流れ具合の少なくとも一方に関する情報を含む周囲反応情報を検出し、そして
(c)前記ステップ(b)で検出した前記周囲反応情報を前記移動の仕方のそれぞれと対応付けて記憶してデータベースを構築する、移動ロボットの行動学習方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−139798(P2012−139798A)
【公開日】平成24年7月26日(2012.7.26)
【国際特許分類】
【出願番号】特願2011−489(P2011−489)
【出願日】平成23年1月5日(2011.1.5)
【国等の委託研究の成果に係る記載事項】(出願人による申告)JST戦略的創造研究推進事業/チーム型研究(CREST)、研究領域「共生社会に向けた人間調和型情報技術の構築」、研究課題名「ロボットによる街角の情報環境の構築」、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(393031586)株式会社国際電気通信基礎技術研究所 (905)
【Fターム(参考)】