(57)【要約】【課題】ロボットが、自己推定の精度が悪い状況に陥ることを防ぐことを目的とする。【解決手段】本発明に係るロボットの自己位置推定方法は、ロボットが移動する空間の地図データを取得し、シミュレーションにより、地図データの領域毎にロボットの自己位置推定の容易性を示す自己位置推定容易性パラメータを算出し、自己位置推定容易性パラメータに関する情報をロボットの自律走行の前にユーザに提示する第１の処理と、自己位置推定容易性パラメータに基づいてロボットに自己の位置を推定させる第２の処理のうち少なくとも一方の処理を実行する。【選択図】図２
2012141662.tif 000002
【特許請求の範囲】
【請求項１】
ロボットが移動する空間の地図データを取得し、
シミュレーションにより、前記地図データの領域毎に前記ロボットの自己位置推定の容易性を示す自己位置推定容易性パラメータを算出し、
前記自己位置推定容易性パラメータに関する情報を前記ロボットの自律走行の前にユーザに提示する第１の処理と、前記自己位置推定容易性パラメータに基づいて前記ロボットに自己の位置を推定させる第２の処理のうち少なくとも一方の処理を実行する、ロボットの自己位置推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの自己位置推定方法に関する。
【背景技術】
【０００２】
一般的に、レーザ等の外界センサによって取得した外界情報と、車輪の回転を検出するエンコーダ等から取得した内界情報を用いて、自己位置を推定するロボットが知られている。たとえば、特許文献１には、地図情報を備え、エンコーダから得られた左右の車輪の回転数に基づいて、当該地図情報における現在位置と、目的地までの経路を決定する自律移動型車椅子が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２１１４４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ロボットの移動する空間に顕著な特徴がない場合、自己位置推定の信頼性が低下する。具体的には、ロボットが、パーティクルフィルタ等を使って自己位置推定を行なう場合には、自己位置推定結果の分散値が大きくなり、自己位置推定の信頼性が損なわれる。
【０００５】
たとえば、図１４に示すように、ロボットが移動する空間が広い場合には、レーザが反射できる壁等にレーザが届かず、位置推定の精度が悪くなるため、ロボットがロストしやすい。また、図１５に示すように、ロボットの移動する空間が廊下のように進行方向前後に壁等が存在しない場合には、進行方向の地形に特徴がないため、前後方向の推定精度が悪くなる。
【０００６】
このように、従来のロボットの自己位置推定方法では、ロボットが、位置推定の精度が悪い状況に陥ってしまうという問題がある。
【０００７】
本発明は、このような問題点に対してなされたものであり、ロボットが、位置推定の精度が悪い状況に陥ることを防ぐことを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るロボットの自己位置推定方法は、ロボットが移動する空間の地図データを取得し、シミュレーションにより、前記地図データの領域毎に前記ロボットの自己位置推定の容易性を示す自己位置推定容易性パラメータを算出し、前記自己位置推定容易性パラメータに関する情報を前記ロボットの自律走行の前にユーザに提示する第１の処理と、前記自己位置推定容易性パラメータに基づいて前記ロボットに自己の位置を推定させる第２の処理のうち少なくとも一方の処理を実行する、ことを特徴とする。
【０００９】
このように、ロボットが自己位置推定を行なう前に自己位置推定容易性パラメータを算出し、自己位置推定容易性パラメータに関する情報を前記ロボットの自律走行の前にユーザに提示するか、若しくは、自己位置推定容易性パラメータに基づいてロボットに自己の位置を推定させることにより、ロボットが位置推定の精度が悪い状況に陥ってしまうことを防止することができる。
【発明の効果】
【００１０】
本発明に係るロボットの自己位置推定システムによれば、ロボットが、自己推定の精度が悪い状況に陥ることを防ぐことができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態１に係るロボットの構成を示すブロック図である。
【図２】本発明の実施の形態１に係るロボットの自己位置推定方法を示すフローチャートである。
【図３】本発明の実施の形態１に係るロボットの自己位置推定方法の詳細な処理を説明するための図である。
【図４】本発明の実施の形態１に係るロボットの自己位置推定方法の詳細な処理を説明するための図である。
【図５】本発明の実施の形態１に係るロボットの自己位置推定方法の詳細な処理を説明するための図である。
【図６】本発明の実施の形態１に係るロボットの自己位置推定方法の詳細な処理を説明するための図である。
【図７】本発明の実施の形態２に係るロボットの自己位置推定方法を示すフローチャートである。
【図８】本発明の実施の形態２に係るロボットの自己位置推定方法の詳細な処理を説明するための図である。
【図９】本発明の実施の形態２に係るロボットの自己位置推定方法の詳細な処理を説明するための図である。
【図１０】本発明の実施の形態２に係るロボットの自己位置推定方法の詳細な処理を説明するための図である。
【図１１】本発明の実施の形態２に係るロボットの自己位置推定方法の詳細な処理を説明するための図である。
【図１２】本発明の実施の形態２に係るロボットの自己位置推定方法の詳細な処理を説明するための図である。
【図１３】本発明の実施の形態２に係るロボットの自己位置推定方法の詳細な処理を説明するための図である。
【図１４】従来のロボットの自己位置推定方法の問題点を説明するための図である。
【図１５】従来のロボットの自己位置推定方法の問題点を説明するための図である。
【発明を実施するための形態】
【００１２】
実施の形態１
以下、添付した図面を参照して本発明の実施の形態について説明する。図１は、本発明の実施の形態１に係るロボット若しくは自己位置推定システムの構成を示すブロック図である。このロボット若しくは自己位置推定システムは、外界センサ部１０、内界センサ部１１、地図部１２、自己位置推定容易性パラメータ部１３及び自己位置推定部１４を備えている。なお、地図部１２、自己位置推定容易性パラメータ部１３は、ロボットに設けられていてもよく、外部のコンピュータに設けられていてもよい。
【００１３】
外界センサ部１０は、外界情報を得るためのセンサ部である。外界センサ部１０は、レーザにより実現することができる。
【００１４】
内界センサ部１１は、ロボット自体の状態（内界情報）を得るためのセンサ部である。内界センサ部１１は、エンコーダにより実現することができる。内界センサ部１１から得られる内界情報は、オドメトリ情報として実現することができる。
【００１５】
地図部１２は、ロボットの移動可能な範囲を２次元で現した地図である。なお、地図部１２の地図は、三次元で現されていてもよい。地図部１２の地図は、主に、ロボットが移動可能な部分と、移動不可能な部分から構成される。具体的には、図１の地図において、斜線が付されていない領域がロボットが移動可能な部分であり、斜線で表された領域がロボットが移動不可能な部分である。地図部１２の地図は、図１のように、複数のブロックに分割されている。ロボットは、地図部１２の地図を、自己で作成することもできるし、外部のコンピュータから取得することができる。ロボットは、外界センサ部１０から得られる距離情報と、地図部１２の地図をマッチングさせることで、自己位置を推定することができる。
【００１６】
自己位置推定容易性パラメータ部１３は、ロボットが行う自己位置の推定しやすさを、予め地図データの位置毎に表したものである。ここで、ロボットが行う自己位置の推定しやすさを表すパラメータを、自己位置推定容易性パラメータと呼ぶ。自己位置推定容易性パラメータは、ロボットが、外界センサ部１０によって取得された位置情報に基づいて自己位置を推定する際の、環境や地形に起因する自己位置推定のしやすさ（困難性）を示すパラメータである。
【００１７】
図１の例では、自己位置推定容易性パラメータ部１３の表のそれぞれの成分は、地図部１２の地図のブロックと１対１で対応している。なお、自己位置推定容易性パラメータ部１３の表の各成分と、地図部１２の地図のブロックは、必ずしも１対１で対応させる必要はなく、ロボットが自己位置推定を行なう際に、それぞれの情報を用いることができるように構成されていればよい。
【００１８】
図１では、各ブロックの自己位置推定容易性パラメータは、それぞれの値に応じて、「Ｌ（Ｌｏｗ）」、「Ｍ（Ｍｉｄｄｌｅ）」、「Ｈ（Ｈｉｇｈ）」の３つの分類に分けて表示されている。具体的には、自己位置推定を行なうことが容易であるブロックは「Ｈ」、自己位置推定がそれほど困難でないブロックは「Ｍ」、自己位置推定が困難であるブロックは「Ｌ」が付されている。
【００１９】
自己位置推定部１４は、外界センサ部１０及び内界センサ部１１によって取得された位置情報に基づいて自己位置を推定する。
【００２０】
次に、このように構成されたロボット及びロボットの自己位置推定システムの動作について説明する。図２は、本発明の実施の形態１に係るロボットの自己位置推定方法を示すフローチャートである。
【００２１】
図２に示すように、はじめに、レーザセンサやＣＡＤデータから、ロボットが移動する範囲の地図データを作成する（ステップＳ１）。ステップＳ１によって作成された地図は、地図部１２の地図となる。ステップＳ１の処理は、ロボット自身が行なうことで、地図を作成するよう構成することができる。また、ステップＳ１の処理を、外部のコンピュータにより実行させ、作成した地図をロボットが取得するように構成することもできる。
【００２２】
次に、シミュレーション等により、地図データの各ブロックに対応する自己位置推定容易性パラメータを算出する（ステップＳ２）。この自己位置推定容易性パラメータは、自己位置推定容易性パラメータ部１３の表となる。ステップＳ１と同様に、ステップＳ２の処理は、ロボット自身が行なうように構成することができるし、外部のコンピュータにより実行させることもできる。
【００２３】
ステップＳ２で得られた自己位置推定容易性パラメータ若しくはこれに関する情報は、ロボット又は外部のコンピュータを介して、ユーザに提示される。たとえば、自己位置推定が困難な（自己位置推定容易性パラメータが著しく低い）箇所がある場合、ロボット又は外部のコンピュータは、ユーザに、どの部分で自己位置推定容易性パラメータが低いのかを教示する（ステップＳ３）。これに対し、ユーザは、自己位置推定が容易になるような行為を行なう。例えば、特徴のない廊下等に障害物を設置することで、位置を推定しやすくする。
【００２４】
次に、ロボット又は外部のコンピュータは、ユーザが、地図を修正する等の行為をしたか否か判定する（ステップＳ４）。ここで、ユーザが地図を修正したと判定した場合には（ステップＳ４においてＹｅｓ）、ステップＳ２に戻り、改めて自己位置推定容易性パラメータを算出する。
【００２５】
一方、ステップＳ４において、ユーザが地図を修正していない場合には（ステップＳ４においてＮｏ）、ステップＳ５に進む。ステップＳ５では、ロボットの自己位置推定部１４が、取得された自己位置推定容易性パラメータに応じて、自己位置推定を行なう。
【００２６】
なお、図２の例では、ステップＳ４で、ユーザが地図を修正したと判断した場合（Ｙｅｓ）、ステップＳ２に移るが、ステップＳ１に戻り、地図データを再度作成するようにしてもよい。
【００２７】
次に、図２のフローチャートのうち、特徴的な処理について、更に具体例を用いて説明する。図３は、図２のステップＳ２において、自己位置推定パラメータを算出する処理を示す図である。ステップＳ２では、シミュレーションによって、地図部１２の地図のグリッドの中央にロボットを仮想的に配置し、仮想レーザを当てる。そして、仮想レーザの反射から、周辺の環境の距離情報を取得する。この距離情報を、予めグリッド毎に８方向分求めておく。これにより、自己位置推定容易性パラメータの表が、８方向分作成される。
【００２８】
また、ステップＳ２における自己位置推定容易性パラメータの算出方法は、仮想レーザが壁に当たった点群を、２次元の画像情報として捉えた後、種々画像処理を行えばよい。例えば、コーナー部分を検出したり、Ｈｏｕｇｈ変換等で直線を構成する成分の数・位置・方向等の特徴量を利用することができる。
【００２９】
ここで、自己位置推定容易性パラメータは、地形に変化が乏しいほど、０．０に近くなるものとする。すなわち、自己位置推定が容易であるほど、自己位置推定容易性パラメータの値は０．０に近くなる。逆に、自己位置推定容易性パラメータは、地形に変化があるほど１．０に近づく。すなわち、自己位置推定が容易なほど、自己位置推定容易性パラメータの値が１．０に近づく。
【００３０】
ステップＳ３では、ロボット又は外部のコンピュータが、算出した自己位置推定容易性パラメータに基づいて、ユーザに自己位置推定が困難な位置を教示する。たとえば、図４に示すように、この自己位置推定容易性パラメータの値に応じて、各ブロックにおける自己位置推定の容易性を「Ｌｏｗ」、「Ｍｉｄ」、「Ｈｉｇｈ」で表したものを、モニタ等に表示する。
【００３１】
例えば、図３に示す地図データのうち、左上の部分には＋Ｘ方向及び−Ｘ方向に壁等がなく、外界センサ部１０では、自己位置推定が困難になるため、自己位置推定容易性パラメータの値が低くなる。そのため、図４に示すように、この部分に相当するブロックの自己推定の容易性は、「Ｌｏｗ」と表示される。この情報は、ロボットやロボット外部のコンピュータによって、ユーザに教示される（ステップＳ３）。
【００３２】
これを確認したユーザは、図５に示すように、図４の表の左上に対応する位置に、点線で囲まれた部分に障害物を設置する等を実行することで、自己推定の容易性を向上させる。
【００３３】
この結果、ロボット又は外部のコンピュータは、ユーザが地図を変更する行為をしたと判定し（ステップＳ４においてＹｅｓ）、ステップＳ２に移る。そして再度自己位置推定容易性パラメータを算出し（ステップＳ２）、この結果をユーザに教示する（ステップＳ３）。このとき、ユーザに教示される自己位置推定容易性は、図６に示すような表になる。図６の表では、ユーザが、障害物を設置した位置の容易性が「Ｍｉｄ」に変更されている。
【００３４】
図６の表を確認したユーザは、さらなる作業を行わないため（ステップＳ４においてＮｏ）、ステップＳ５に移る。ステップＳ５では、ロボットが外界情報及び内界情報に基づいて、自己位置の推定を行なう（ステップＳ５）。
【００３５】
このように、本発明の実施の形態１に係るロボット及びロボットの自己位置推定方法によれば、事前に自己位置推定の容易性を取得し、これをユーザに提示することで、ユーザに、自己位置推定の困難な場所の改善を促すことができる。これにより、ロボットに自律走行をさせた場合に、ロボットが、位置推定の精度が悪い状況に陥ってしまうことを回避することができる。この結果、ロボットの自己位置推定の精度を向上させることができる。
【００３６】
実施の形態２．
次に、本発明の実施の形態２に係るロボットの自己位置推定方法について説明する。実施の形態２において、自己位置推定部１４以外のロボットの構成については、実施の形態１と略同一であるので、その説明を省略する。
【００３７】
実施の形態２に係るロボットの自己位置推定部１４は、外界センサ部１０及び内界センサ部１１によって取得された位置情報に重み付けし、重み付けした情報に基づいて自己位置を推定する。自己位置推定部１４は、自己位置推定容易性パラメータ部１３を参照し、外界センサ部１０及び内界センサ部１１によって得られた情報の重み付けの割合を示す係数比率を決定する。そして、自己位置推定部１４は、この係数比率に基づいて重み付けされた外界センサ部１０及び内界センサ部１１によって取得された位置情報に基づいて、パーティクルフィルタで最尤推定自己位置を算出する。
【００３８】
図７は、本発明の実施の形態２に係るロボットの自己位置推定方法を示すフローチャートである。図７において、ステップＳ１、Ｓ２については、実施の形態１と同様である。すなわち、レーザセンサやＣＡＤデータから、ロボットが移動する範囲の地図データを作成する（ステップＳ１）。これによって作成される地図が、地図部１２の地図となる。
【００３９】
次に、シミュレーション等により、地図データの各ブロックに対応する自己位置推定容易性パラメータを算出する（ステップＳ２）。この自己位置推定容易性パラメータは、ロボットの自己位置推定容易性パラメータ部１３に格納される。
【００４０】
次に、ロボットを自律移動させる（ステップＳ１１）。ロボットは、自己の位置に応じて、自己位置推定容易性パラメータ部１３の表の参照をする位置を決定する（ステップＳ１２）。
【００４１】
自己位置推定部１４は、自己位置推定容易性パラメータの値に応じて、外部センサ部１０によって取得される外界情報と、内界センサ部１１によって取得される内界情報をどのように用いるかを決定する（ステップＳ１３）。具体的には、自己位置推定部１４は、ステップＳ１２によって決定された、使用する自己位置推定容易性パラメータに基づいて、外界センサ部１０によって取得される外界情報と、内界センサ部１１によって取得される内界情報の重み付けを決定する。
【００４２】
自己位置推定部１４は、ステップＳ１３により重み付けされた外界情報及び内界情報に基づいて、パーティクルフィルタ等を用い、最尤推定自己位置を求める（ステップＳ１４）。
【００４３】
そして、自己位置推定部１４は、ステップＳ１４で求められた最尤推定自己位置が、目的地であるか否か判定する（ステップＳ１５）。ステップＳ１５において、自己位置推定部１４が、自己のロボットが目的地に到達していると判断した場合には（ステップＳ１５においてＹｅｓ）、自己位置推定シーケンスを終了する。
【００４４】
一方、自己のロボットが目的地に到達していないと判断した場合には（ステップＳ１５においてＮｏ）、ステップＳ１１に戻り、ロボットを更に自律走行させる。これにより、ロボットが目的地に到達するまで、ステップＳ１１〜ステップＳ１４の処理が繰り返される。
【００４５】
次に、図７のフローチャートに示す実施の形態２に係るロボットの自己位置推定方法について、具体例に沿って更に説明を行う。
【００４６】
図８に示すように、ロボットが開始地点Ａから目的地Ｂに自律走行する例を考える。ロボットが開始地点Ａにいるときには、すでに図７のステップＳ１、Ｓ２の処理が終了し、ロボットの自己位置推定容易性パラメータ部１３には、図９に示すような各ブロックにおける自己位置推定容易性を示す情報が格納されている。
【００４７】
ステップＳ１２において、自己位置推定部１４は、現在のロボットの位置を確認し、図９の右下の自己位置推定困難性パラメータを用いることを決定する。次に、ステップＳ１３において、自己位置推定部１４は、移動開始位置Ａの自己位置推定容易性が「Ｍｉｄ」であることに応じて、外界センサ部１０によって得られる外界位置情報と、内界センサ部１１によって得られる内界位置情報の比率を１：１と決定する。そして、ステップＳ１４において、自己位置推定部１４は、当該比率を適用した外界位置情報及び内界位置情報に基づいて、自己位置を推定する。
【００４８】
開始位置Ａは目的地Ｂではないので（ステップＳ１５においてＮｏ）、ステップＳ１１に戻り、ロボットを自律走行させる（ステップＳ１１）。
【００４９】
この結果、ロボットが図１０の位置に移動する。ステップＳ１２において、自己位置推定部１４は、現在のロボットの位置を確認し、図１１に示すように、中央の自己位置推定困難性パラメータを用いることを決定する。次に、ステップＳ１３において、自己位置推定部１４は、現在の位置Ａの自己位置推定容易性が「Ｈｉｇｈ」であることに応じて、外界センサ部１０によって得られる外界位置情報と、内界センサ部１１によって得られる内界位置情報の比率を、外界センサ部１０によって得られる外界情報を重く用いるように設定する。そして、ステップＳ１４において、自己位置推定部１４は、当該比率を適用した外界位置情報及び内界位置情報に基づいて、自己位置を推定する。
【００５０】
図１０、１１のロボットの位置は、目的地Ｂではないので（ステップＳ１５においてＮｏ）、ステップＳ１１に戻り、ロボットを自律走行させる（ステップＳ１１）。
【００５１】
これにより、ロボットが図１２の位置に移動する。ステップＳ１２において、自己位置推定部１４は、現在のロボットの位置を確認し、図１３に示すように、左上の自己位置推定困難性パラメータを用いることを決定する。次に、ステップＳ１３において、自己位置推定部１４は、現在の位置の自己位置推定容易性が「Ｌｏｗ」であることに応じて、外界センサ部１０によって得られる外界位置情報と、内界センサ部１１によって得られる内界位置情報の比率を、内界センサ部１１によって得られる内界情報を重く用いるように設定する。そして、ステップＳ１４において、自己位置推定部１４は、当該比率を適用した外界位置情報及び内界位置情報に基づいて、自己位置を推定する。
【００５２】
図１２、１３のロボットの位置は、目的地Ｂなので（ステップＳ１５においてＹｅｓ）、シーケンスを終了する。
【００５３】
このように実施の形態２に係るロボットの自己位置推定方法によれば、事前に取得した自己位置推定容易性パラメータに基づいて、外界情報と内界情報の重み付けを設定し、この重み付けされた外界情報及び内界情報を用いて自己位置を推定する。これにより、事前に求められた自己位置推定容易性パラメータに基づいて、ロボットがどの位置であっても、最適な条件で外界情報及び内界情報に基づいて、自己位置を推定することができる。これにより、ロボットの自己位置推定の精度を向上させることができる。
【００５４】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。たとえば、実施の形態１と実施の形態２に係る自己位置推定方法を組合せて実現することもできる。また、図２及び図７に示すフローチャートの各処理は、コンピュータによって実行されるプログラムとして実現することができる。このプログラムは、種々の記憶デバイスに格納して提供することができる。
【符号の説明】
【００５５】
１０  外界センサ部
１１  内界センサ部
１２  地図部
１３  自己位置推定容易性パラメータ部
１４  自己位置推定部
【図１】
2012141662.tif 000003
【図２】
2012141662.tif 000004
【図３】
2012141662.tif 000005
【図４】
2012141662.tif 000006
【図５】
2012141662.tif 000007
【図６】
2012141662.tif 000008
【図７】
2012141662.tif 000009
【図８】
2012141662.tif 000010
【図９】
2012141662.tif 000011
【図１０】
2012141662.tif 000012
【図１１】
2012141662.tif 000013
【図１２】
2012141662.tif 000014
【図１３】
2012141662.tif 000015
【図１４】
2012141662.tif 000016
【図１５】
2012141662.tif 000017