(57)【要約】【課題】  障害物が存在する環境下で移動する移動ロボットにおいて、リアルタイムにかつ効率的な目的地への移動を実現することができる移動ロボットを提供する。【解決手段】  移動可能なロボット本体部の自己位置を計測し、本体部の移動範囲の地図情報を地図データベースに格納し、自己位置情報と地図情報に基づいて地図情報上に設定されかつ本体部の移動に対して障害物となる障害物情報を検出可能な仮想センサの検出領域において障害物情報を抽出し、抽出された障害物情報に基づいて本体部が移動するための移動経路を算出する。【選択図】図１Ａ
2006107475.tif 000002
【特許請求の範囲】
【請求項１】
移動可能なロボット本体部と、
前記本体部の自己位置を計測する自己位置計測装置と、
前記本体部の移動範囲の地図情報を格納する地図データベースと、
前記自己位置計測装置により計測された自己位置情報と、前記地図データベースに格納された前記地図情報とに基づいて、前記地図情報上に設定されかつ前記本体部の移動に対して障害物となる障害物情報を検出可能な仮想センサの検出領域において前記障害物情報を抽出する障害物情報抽出部と、
前記障害物情報抽出部により抽出された前記障害物情報に基づいて、前記本体部が移動するための移動経路を算出する経路計算装置と、
を備える移動ロボット。
【請求項２】
前記本体部の周囲の検出領域における障害物を検出する障害物検出センサをさらに有し、前記経路計算装置が、前記障害物情報抽出部により抽出された前記障害物情報に加えて、前記障害物検出センサからの検出情報に基づいて前記本体部が移動するための移動経路を算出する請求項１に記載の移動ロボット。
【請求項３】
前記障害物情報抽出部より抽出される前記障害物情報を、前記障害物検出センサが前記検出情報を前記経路計算装置に出力する信号と同じ信号に変換して前記経路計算装置に出力する変換装置をさらに備える請求項２に記載の移動ロボット。
【請求項４】
前記障害物情報抽出部が前記障害物情報を抽出するための抽出条件を設定変更する仮想センサ設定変更装置をさらに備える請求項１〜3のいずれか1つに記載の移動ロボット。
【請求項５】
前記仮想センサ設定変更装置が、前記地図データベースに格納された前記地図情報と、前記自己位置計測装置により計測された前記自己位置情報と、前記障害物情報抽出部により抽出された前記障害物情報と、前記障害物検出センサの検出情報と、前記経路計算装置により算出された移動経路との少なくとも１つに基づいて前記障害物情報抽出部が前記障害物情報を抽出するため抽出条件を変更する請求項４に記載の移動ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動ロボットに関する。
【背景技術】
【０００２】
従来、障害物が存在する環境下における移動ロボットの目的地への移動の方法として、移動ロボットに備えられた複数の障害物検出センサにより障害物の位置などを検出し、移動ロボットの現在の位置情報と障害物検出センサにより検出した障害物の位置情報とに基づいて、移動ロボットが障害物を回避する移動経路を算出し、移動ロボットをその経路に沿って移動させるものがある（例えば、特許文献１参照）。
【０００３】
ここで、特許文献１に記載されている従来例１の移動ロボットの概略を、図７Ａ、図７Ｂ、図７Ｃ、図８Ａ、図８Ｂを用いて説明する。図７Ａ、図７Ｂ、図７Ｃは、特許文献１に記載されている移動ロボットの構成を示す。図８Ａ、図８Ｂは、図７Ａ、図７Ｂ、図７Ｃに示した移動ロボットの移動経路の決定方法を示す。
【０００４】
図７Ａ、図７Ｂ、図７Ｃに示すように、移動ロボット１７１は、ロボットの移動に必要な車輪１７８、補助車輪１７９や、モータなどの駆動装置１７５を具備する移動可能な本体部１７１ａと、本体部１７１ａの周囲に取り付けられて超音波や赤外線などを用いて周囲の任意の検出領域に存在する障害物を検出する障害物検出センサ１７７と、例えば車輪軸に取り付けられたエンコーダ１６１により計測されたエンコーダ値をオドメトリ計算機１６２を用いてロボットの現在位置（以下、自己位置と記す）の計測を行う自己位置計測装置１７２と、障害物検出センサ１７７によって検出した障害物の情報と自己位置計測装置１７２により計測した移動ロボット１７１の自己位置情報から検出した障害物を回避し移動目的地に移動するための経路を算出する経路計算装置１７４を有する。
【０００５】
このような、移動ロボット１７１の移動経路は、例えば、図８Ａのように決定される。詳細には、例えば、図８Ａのように移動ロボット１７１が目的地１８３に向かって移動している途中に、進行方向に障害物検出センサ１７７の検出領域１８２内に進入する障害物がない場合には、移動ロボット１７１は経路計算装置１７４において、自己位置計測装置１７２により計測される自己位置と目的地１８３の位置情報より目的地１８３に向かうように図８Ａ中の実線の矢印にて示す経路１８５を算出し、この経路１８５に従って移動ロボット１７１は移動を行う。
【０００６】
しかし、移動ロボット１７１が移動している途中に、例えば、図８Ｂのように障害物１８４が進行方向にあたる障害物検出センサ１７７の検出領域内１８２に進入した場合には、障害物検出センサ１７７によって移動ロボット１７１から障害物１８４の方向や距離を計測し、経路計算装置１７４では自己位置計測装置１７２により計測される自己位置情報と移動目的地１８３の位置情報に加え、障害物検出センサ１７７により計測された障害物１８４の情報に基づいて経路を算出する。算出される経路は、例えば、移動ロボット１７１と障害物１８４との距離に反比例した大きさで障害物１８４とは逆方向の障害物回避成分１８６と、前記の障害物がない場合の経路１８５を合成した経路１８７とする。このように移動ロボット１７１の周囲の障害物情報によりリアルタイムに算出される経路に従って移動ロボット１７１が移動することで、移動ロボット１７１は障害物１８４を回避し目的地１８３に到達する。
【０００７】
また、図７Ａ、図７Ｂ、図７Ｃ及び図８Ａ、図８Ｂに示した移動ロボット１７１とは異なり、例えば、移動ロボットの移動目的地及び移動ロボットの移動範囲内の障害物情報を地図情報として具備し、その地図情報をそのまま用いて移動ロボットの移動経路を算出するものがある（例えば、特許文献２参照）。
【０００８】
ここで、特許文献２に記載されている従来例２の移動ロボットの概略を、図１０Ａ、図１０Ｂ、図１０Ｃ及び図１１を用いて説明する。図１０Ａ、図１０Ｂ、図１０Ｃは、特許文献２に記載されている移動ロボットの構成を示す。図１１は、図１０Ａ、図１０Ｂ、図１０Ｃに示した移動ロボットにおける移動経路の決定方法を示す。
【０００９】
図１０Ａ、図１０Ｂ、図１０Ｃに示すように、移動ロボット２０１は、ロボット２０１の移動に必要な車輪２０７、補助車輪２０８や、モータなどの駆動装置２０５を具備する移動可能な本体部２０１ａと、例えば車輪軸に取り付けられたエンコーダ２０９により計測されたエンコーダ値をオドメトリ計算機２３０を用いてロボット２０１の現在位置（以下、自己位置と記す）の計測を行う自己位置計測装置２０２と、目的地がどこにあるのかという情報、障害物があらかじめどこに存在しているのかという位置情報、移動ロボット２０１の移動範囲の地図情報などを格納する地図データベース２０３と、自己位置計測装置２０２により計測された移動ロボット２０１の自己位置情報と地図データベース２０３の地図情報から障害物を回避し移動経路を算出する経路計算装置２０４を有する。
【００１０】
この移動ロボット２０１における移動経路は、図１１に示すようにして決定される。地図情報３０１に、自己位置計測装置により計測された自己位置情報を基づいてロボット２０１と目的地３０３を設定する。ここで、例えば必要とする移動精度に従って地図情報３０１のように地図情報をメッシュ状に分割し、拡大図３０７に示すように移動ロボット２０１の存在するブロックから移動目的地３０３の存在するブロックまで障害物３０４のあるブロックに通らないように順次ブロックをたどって行く経路を決定する。ここで、各ブロックは３０８のように複数の移動可能方向が存在するためその移動可能方向をたどった例えば３０９で例示されるような経路が複数存在する。そのため、目的地３０３に到達する経路候補は３０５で示すように複数算出されるため、例えば最短到達経路などの条件によって一意に経路３０６を選定する。
【００１１】
【特許文献１】特開平７−１１０７１１号公報
【特許文献２】特開平６−１３８９４０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、図７Ａ、図７Ｂ、図７Ｃ、図８Ａ及び図８Ｂに示した従来例１の移動ロボット１７１の場合、障害物検出センサ１７７が検出した障害物情報に基づいて経路の算出を行っているが、障害物検出センサ１７７の検出領域１８２の範囲には限界があるため、算出する経路の先を予測することができない。このため、移動ロボットが行き止まりのある通路や障害物の窪みに入り込んでしまうという非効率な移動となってしまう。さらに、最悪の場合にはこの行き止まりの箇所で身動きが取れなくなるといったいわゆるデッドロックの状態に陥るおそれがある。
【００１３】
その詳細を、図９を参照しながら説明する。図９は、従来例１の移動ロボット１７１が非効率な移動や、デッドロック状態に陥る場合を示す。
【００１４】
図９に示すように、例えば、移動ロボット１７１が通過できる程度の開口部１９７を有するとともに行き止まり１９８となっている窪みを有する障害物１９４が目的地１８３の方向に存在する場合、本来なら、移動ロボット１７１が目的地１８３に向かう経路１９５に従って移動してもその先が行き止まりとなるため、この移動ロボット１７１が事前に、障害物１９４全体を回避するような理想的な経路１９６を取りながら目的地１８３に向かうことが望ましい。
【００１５】
しかし、前記のように、移動ロボット１７１の障害物検出センサ１７７の検出領域１８２は移動ロボット１７１における周囲の限られた範囲であるため、移動ロボット１７１は、障害物１９４の窪みの開口部１９７付近においては、移動ロボット１７１の両側に障害物があると検出して、その開口部１９７の幅が移動ロボット１７１の通過可能な幅であるならば、経路１９５に従って開口部１９７よりも奥側に入り込んでしまう。このとき、窪みの行き止まり１９８はまだ検出されていない。そして、移動ロボット１７１が経路１９５に従って進み、行き止まり１９８に到達してやっと通行不可能であることを検出し、窪みを抜け出して異なる経路を選択することができる。しかも、最悪の場合は行き止まりにおいて経路１９５の方向に従って移動しようとする移動成分と、行き止まりを回避しようとする成分とが合成されるなどして身動きが取れなくなり、デッドロック状態に陥ってしまうおそれがある。
【００１６】
一方、図１０Ａ、図１０Ｂ、図１０Ｃ及び図１１に示した従来例２の移動ロボット２０１では、地図データベース２０３に格納されている地図情報に基づいて経路の算出を行っているが、この地図情報を用いた経路計算は移動範囲全体を対象として計算が行われているため、例えば、障害物３０４が多かったり地図情報が広大なものであったりする場合には、経路計算における計算量は莫大なものとなり、小型の移動ロボットに搭載されるプロセッサでリアルタイムに処理を行うことは困難になってしまう。
【００１７】
例えば、前記の例で挙げたように、ある点から移動目的地３０３までの最短経路の算出には、グラフ理論により参照点（参照面積／移動精度）の２乗に比例した計算量が必要であることが知られている。例えば、わずか１ｍ四方を１ｃｍの精度で移動するだけでも１００×１００すなわち１００００点の参照点が必要となり、経路計算に必要な計算量はＫ×１０８（Ｋは比例定数）と膨大な計算量となる。一方、比較として従来例１のロボットの場合の計算量は、センサ数に比例する計算量となっている。
【００１８】
そこで、本発明の目的は、このような問題を解決するもので、障害物が存在する環境下で移動する移動ロボットにおいて、リアルタイムにかつ効率的な目的地への移動を実現することができる移動ロボットを提供することにある。
【課題を解決するための手段】
【００１９】
前記目的を達成するために、本発明は以下のように構成する。
【００２０】
本発明の第１態様によれば、移動可能なロボット本体部と、
前記本体部の自己位置を計測する自己位置計測装置と、
前記本体部の移動範囲の地図情報を格納する地図データベースと、
前記自己位置計測装置により計測された自己位置情報と、前記地図データベースに格納された前記地図情報とに基づいて、前記地図情報上に設定されかつ前記本体部の移動に対して障害物となる障害物情報を検出可能な仮想センサの検出領域において前記障害物情報を抽出する障害物情報抽出部と、
前記障害物情報抽出部により抽出された前記障害物情報に基づいて、前記本体部が移動するための移動経路を算出する経路計算装置と、
を備える移動ロボットを提供する。
【００２１】
本発明の第２態様によれば、前記本体部の周囲の検出領域における障害物を検出する障害物検出センサをさらに有し、前記経路計算装置が、前記障害物情報抽出部により抽出された前記障害物情報に加えて、前記障害物検出センサからの検出情報に基づいて前記本体部が移動するための移動経路を算出する第１の態様に記載の移動ロボットを提供する。
【００２２】
本発明の第３態様によれば、前記障害物情報抽出部より抽出される前記障害物情報を、前記障害物検出センサが前記検出情報を前記経路計算装置に出力する信号と同じ信号に変換して前記経路計算装置に出力する変換装置をさらに備える第２の態様に記載の移動ロボットを提供する。
【００２３】
本発明の第４態様によれば、前記障害物情報抽出部が前記障害物情報を抽出するための抽出条件を設定変更する仮想センサ設定変更装置をさらに備える第１〜3のいずれか1つの態様に記載の移動ロボットを提供する。
【００２４】
本発明の第５態様によれば、前記仮想センサ設定変更装置が、前記地図データベースに格納された前記地図情報と、前記自己位置計測装置により計測された前記自己位置情報と、前記障害物情報抽出部により抽出された前記障害物情報と、前記障害物検出センサの検出情報と、前記経路計算装置により算出された移動経路との少なくとも１つに基づいて前記障害物情報抽出部が前記障害物情報を抽出するための抽出条件を変更する第４の態様に記載の移動ロボットを提供する。
【発明の効果】
【００２５】
このような構成によれば、地図情報より仮想的にセンサ情報を算出するため、「検出できる障害物までの距離や範囲に限界がある」とか「障害物の表面物性によって検出できない」とか「センサ同士が干渉して検出できない」などといった実際の障害物検出センサ特有の物理的制限を受けることがないため、障害物環境に応じた自由な検出領域を設定でき、精度良く障害物を検出することができる。従って、実際の障害物検出センサのみを用いる場合に較べて効率の良い目的地への移動を実現することができる。また、本発明の経路計算に必要な全計算量は、障害物情報抽出部における計算量は、検出領域に障害物があるかないかの計算となるため（センサの検出領域／移動精度）に比例した計算量と、従来例１の経路計算の計算量の和となるため、地図から経路を直接算出する場合に較べて大幅に計算量を削減することができ、小型の移動ロボットに搭載されるようなプロセッサでリアルタイムに処理を行うことも可能となる。
【００２６】
以上のように本発明によると、地図情報から仮想センサの検出領域において障害物情報を抽出することで、実際の障害物センサの物理的制限によって検出できない障害物を検出することができる。さらに、地図情報から直接経路を算出する場合に較べて経路計算時の計算量を大幅に削減していることから、小型の移動ロボットに搭載されるプロセッサであっても、リアルタイムに処理を行うことができる。
【発明を実施するための最良の形態】
【００２７】
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する。
本発明の記述を続ける前に、添付図面において同じ部品については同じ参照符号を付している。
【００２８】
本発明の１つの実施形態の移動ロボットを、図１Ａ〜図１Ｅを参照しながら説明する。
【００２９】
図１Ａは、本実施形態の移動ロボット２０の構成を示す図、図１Ｂは、実際の移動ロボット２０とその障害物検出センサ４の第１の検出領域３を示す図、図１Ｃは、マップ１３上における移動ロボット２０とその仮想センサ（詳細は後述）の第２の検出領域２１を示す図である。また、図１Ｄは、移動ロボット２０が算出する回避経路Ｂを示す図、図１Ｆは、図１Ａに示す移動ロボット２０とは異なる移動ロボット２０Ｂの構成を示す図である。
【００３０】
図１Ａに示すように、移動ロボット２０は、移動可能な直方体形状の本体部２と、複数の（図１Ａでは本体部２の両側の上部に４個ずつ配置された）障害物検出センサ４と、自己位置計測装置５と、地図データベース１１と、障害物認識装置２２と、経路計算装置６と、駆動装置７とを備えている。
【００３１】
前記本体部２は、ロボット２０の移動に必要な４つの車輪２ｗや、モータなどの駆動装置７を具備する移動可能に構成されている。
【００３２】
前記複数の（図１Ａでは本体部２の両側の上部に４個ずつ配置された）障害物検出センサ４は、本体部２の周囲に取り付けられて超音波や赤外線やレーザなどを用いて本体部２の周囲に形成された第１の検出領域３内に存在する障害物を検出する。
【００３３】
前記自己位置計測装置５は、例えば車輪２ｗの車輪軸に取り付けられたエンコーダにより計測されたエンコーダ値をオドメトリ計算機を用いてロボット２０の現在位置（以下、自己位置と記す）の計測を行う。
【００３４】
前記地図データベース１１は、目的地８がどこにあるのかという情報、障害物９、１６があらかじめどこに存在しているのかという位置情報、本体部２の移動範囲の地図情報を有する。
【００３５】
前記障害物認識装置２２は、メモリ領域１２において、地図データベース１１に記録されかつ仮想センサの第２の検出領域２１内に存在する既知の障害物９、１６を検出する。
【００３６】
前記経路計算装置６は、障害物認識装置２２により認識した障害物９、１６についての情報と障害物検出センサ４により検出した本体部２の周囲に存在する未知の障害物２３（図１Ｂ参照）の情報と自己位置計測装置５により計測した移動ロボット２０の自己位置情報とに基づいて移動ロボット２０における回避経路（障害物を回避し移動目的地に移動するための経路）Ｂを算出する。
【００３７】
前記駆動装置７は、算出された回避経路Ｂに基づいて本体部２を移動させる。
【００３８】
障害物認識装置２２は、メモリ領域１２において、地図の図形データとしてのマップ（地図情報）１３を形成し、このマップ１３上に、既知の障害物９、１６、本体部２を形成し、かつ、この本体部２に第１の検出領域３とは別の第２の検出領域２１に存在する既知の障害物９、１６を検出可能な第２の検出領域２１を有する仮想センサを設定することで、マップ１３上において、この仮想センサの第２の検出領域２１内に存在する障害物９、１６を検出している。
【００３９】
前記仮想センサは、実際のセンサではなく、マップ１３上で仮想的にセンサと同等の検出機能を有する第２の検出領域２１を設定することができるものであって、障害物認識装置２２はこの第２の検出領域２１内に存在する既知の障害物９、１６を認識して抽出することができるようにしている。より具体的には、仮想センサの第２の検出領域２１は、移動ロボット２０の前方に、移動ロボット２０が旋回時（障害物などの回避のための旋回時）に必要な回転時に描く円が入るような幅（回転半径の２倍以上の幅）を持ち、マップ１３上に予め既知となっている障害物のうち移動ロボット２０からみて最大の窪みを持つ障害物の窪みの深さより長い距離を持つ三角形又は長方形の領域とするのが好ましい。この領域を最大領域とし、１つの態様としては、仮想センサの第２の検出領域２１を常にこの最大領域に設定するものでもよい。又は、別の態様としては、詳しくは後述するように、障害物を検出していないときは、最大領域より小さく、移動ロボット２０の移動経路に沿って移動しているとき移動ロボット２０に停止指令を出して停止するまでに移動ロボット２０が進む距離（ただし、移動ロボット２０の速度により依存して距離が変わる。）の長さで、移動ロボット２０の旋回時（障害物などの回避のための旋回時）の回転時に描く円が通る幅（回転半径の２倍以上の幅）を持つ領域を最低限の領域として、この最低限の領域を第２の検出領域２１とし、障害物を検出したときなどにおいては、最大領域に変更するようにしてもよい。また、マップ１３上で、仮想センサの第２の検出領域２１を最小領域に設定する領域（例えば、障害物が比較的少ないと想定される領域）と、仮想センサの第２の検出領域２１を最大領域に設定する領域（例えば、障害物が比較的多いと想定される領域）とを予め設定しておくようにしてもよい。
【００４０】
このような仮想センサによれば、実際のセンサとは異なり、物理的な拘束条件にとらわれず、領域や検出精度の設定が自由にできる。例えば、実際のセンサであれば検出できない遠距離の領域や大きな領域や、物体の裏側の領域、複雑で入り組んだ領域などをも、仮想センサであれば検出することができる。さらに、実際のセンサでは不可能なほどの高い精度の情報の取得も仮想センサであれば可能である。また、仮想センサであれば、センサ同士の干渉を気にする必要が無く、また、実際のセンサを使用する際に生じる取付位置や、センサの駆動源や配線や、配管などの問題も仮想センサであれば考える必要が無い。さらに、仮想センサであれば、センサの設定、例えば検出領域や、検出精度などを、仮想センサを設定するプログラムを別のプログラムに切り替えたり、仮想センサを設定するプログラムで使用するパラメータの値を変更するなどすることにより、自由に設定変更することが可能である。従って、仮想センサを使用するとき、通常時は粗い精度での検出の設定にしておき、障害物の発見時には精度を上げた検出の設定に変更することができる。又は、仮想センサを使用するとき、通常では、ロボット２０の狭い前方領域だけの検出の設定で、障害物が多いと予め判っている場所では、検出範囲を広げ、ロボット２０の周囲全般に検出するような設定に変更したりすることができる。このように、必要に応じて、言い換えれば、時と場所などに応じて、仮想センサの検出精度や領域などを設定することが可能である。
【００４１】
このような構成の仮想センサによる障害物の検出は、マップ１３における第２の検出領域２１内のそれぞれの箇所の情報（それぞれの箇所での障害物の存在情報、例えば、第２の検出領域２１内の障害物の有無、第２の検出領域２１内に存在する障害物の形状、ロボット２０から第２の検出領域２１内の障害物までの距離及び方向などの情報）を、地図データベース１１から部分的に取得するようにしていることで可能とされており、したがって、通常の障害物検出センサ４であれば、図１ＡのＸで示すような、移動ロボット２０に対して障害物９の背後となる領域を検出することができないことがあるが、前記のような仮想センサでは第２の検出領域２１内の情報を地図データベース１１から部分的に取得するようにしているので、障害物認識装置２２は、このような移動ロボット２０に対して障害物９の背後となる領域Ｘを検出することができる。すなわち、障害物認識装置２２は、あらかじめ地図データベース１１に登録されている既知の障害物９、１６であれば、第２の検出領域２１内に存在すれば、障害物９、１６の位置関係にかかわらず（言い換えれば、移動ロボット２０から見て、たとえ障害物同士が互いに重なっていたとしても）、全て検出することができる。なお、この仮想センサにおける第２の検出領域２１は、例えば、第１の検出領域３よりも本体部２の進行方向側を検出可能なように、第１の検出領域３よりも本体部２の進行方向側に向けて遠くまで広がる三角形状に設定されている。
【００４２】
また、上述のように、障害物認識装置２２では、この第２の検出領域２１内に存在する障害物のみを認識し、この第２の検出領域２１外に存在する障害物に対しては認識を行わない。これにより、この第２の検出領域２１の範囲内におけるマップ１３の一部分のみを、移動ロボット２０の回避経路の算出時の計算対象とすることができる。
【００４３】
このような構成において、移動ロボット２０が出口の無い障害物１６の内部に入り込まないようにする回避経路Ｂの算出方法を説明する。なお、障害物１６の位置情報は地図データベース１１に登録されているとする。
【００４４】
ここで、図１Ｂに示すように、実際に目的地８に向かって経路Ａを進んでいる移動ロボット２０では、自己位置計測装置５により移動ロボット２０の現在位置が計測されており、得られた自己位置情報と地図データベース１１における地図情報などが障害物認識装置２２に送られている。障害物認識装置２２では、図１Ｃに示すように、メモリ領域１２において、送られた地図情報に基づいてマップ１３が形成されるとともに、地図データベース１１にあらかじめ登録されている目的地８および障害物９、１６がマップ１３上に形成される。また、自己位置計測装置５から送られた自己位置情報に基づいてマップ１３上に移動ロボット２０が形成されるとともにこの移動ロボット２０に仮想センサが設定され、仮想センサの第２の検出領域２１が設定されている。また、実際に移動中の移動ロボット２０の周囲には、地図データベース１１にあらかじめ登録されている既知の障害物９、障害物１６、および地図データベース１１に登録されていない未知の障害物２３が存在しており、障害物１６は、移動ロボット２０が進入可能な開口部１６ａとこの開口部１６ａよりも奥側の行き止まり部１６ｂとを有しており、目的地８は、この障害物１６の背後に存在しているとする。
【００４５】
このような、移動ロボット２０の移動経路は、例えば、移動ロボット２０が目的地８に向かって移動している途中に、進行方向に障害物検出センサ４の第１の検出領域３内に進入する障害物がない場合には、移動ロボット２０は経路計算装置６において、自己位置計測装置５により計測される自己位置と目的地８の位置情報より目的地８に向かうように経路を算出し、この経路に従って移動ロボット２０は移動を行う。
【００４６】
このとき、移動中の移動ロボット２０の障害物検出センサ４が、障害物１６の開口部１６ａ側の一部と障害物２３の一部を検出し、移動ロボット２０における経路計算装置６が、障害物検出センサ４が検出した障害物２３の情報のみに基づいて回避経路を算出する場合であれば、既に従来技術で述べたように、障害物検出センサ４の第１の検出領域３の範囲には限界があるため、算出する経路の先を予測することができず、図１Ｂに示すように、障害物１６の内部に進んでしまうような回避経路、すなわち経路Ａと同方向の回避経路を算出してしまい、移動ロボット２０が障害物１６の内部でデッドロックの状態や永久動作に陥るおそれがある。
【００４７】
しかし、この実施形態の移動ロボット２０においては、図１Ｃに示すように、障害物認識装置２２が、マップ１３上の移動ロボット２０に設定された仮想センサの第２の検出領域２１内に存在する既知の障害物１６を認識しており、この第２の検出領域２１は任意に設定できるため、図１Ｃのように、第１の検出領域３よりも本体部２の進行方向側に向けて遠くまで広がる三角形状に第２の検出領域２１を設定すれば、障害物１６の内部の奥側まで検出することができて、障害物１６の内部の奥側に行き止まり部１６ｂが存在することを検出することができる。
【００４８】
このように、実際の障害物検出センサ４を用いることで、仮想センサでは検出できない、すなわち地図データベース１１に登録されていない未知の障害物２３を検出することができ、かつ、仮想センサを用いることで、既知の障害物１６における、障害物検出センサ４の第１の検出領域３が及ばない箇所を検出することができる。したがって、仮想センサを用いることで、障害物検出センサ４のみを用いる場合に比べて、精度の良い障害物検出を行うことができる。
【００４９】
そして、自己位置計測装置５により計測された自己位置情報と、障害物検出センサ４により得られたあらかじめ地図データベース１１に登録されていない障害物２３の情報と、障害物認識装置２２によって検出された既知の障害物１６の情報とが、経路計算装置６に送られる。
【００５０】
そして、経路計算装置６において、図１Ｄに示すように、移動ロボット２０の自己位置情報、および前記の障害物２３と障害物１６の位置情報とに基づいて、障害物２３と内部の奥側に行き止まり部１６ｂを有する障害物１６とを回避することができる回避経路Ｂを算出する。
【００５１】
このとき、上述したように、障害物認識装置２２では、第２の検出領域２１内に存在する障害物のみを認識し、この第２の検出領域２１外に存在する障害物に対しては認識を行わない。これにより、経路計算装置６は、第２の検出領域２１の範囲内における、マップ１３の一部分のみを、移動ロボット２０の回避経路の算出時の計算対象とすることができ、例えば、マップ１３の全範囲を計算の対象として回避経路の算出を行う場合に比べて、計算量を大幅に削減することができる。
【００５２】
これにより、小型の移動ロボットに搭載されるプロセッサであっても、迅速に回避経路の算出を行うことができる。また、移動中に新たな障害物を検出して、再び回避経路の算出を行う必要が生じても、上述の通り、計算量を大幅に削減していることから、迅速に新たな回避経路の算出を行うことができる。なお、経路計算については、仮想センサの検出情報も実際の障害物検出センサ４の検出情報も同様のセンサ情報として取り扱うことができ、センサ情報を入力とする関数（例えば、従来例１で挙げたように、目的地への移動成分に対して、センサ情報、すなわち障害物の方向や距離に応じて移動成分の補正量を加えていって移動ロボットの経路を算出するような関数）を解くことで経路の算出を行っている。このような関数の一例としては、以下のようなものである。
【００５３】
（数１）
Do（ロボットの経路）  ＝F(［センサ情報］）
例  ：F(［センサ情報］）  ＝
Dt（目的地への移動成分）
＋ G（回避ゲイン）  ＊  L1（障害物1までの距離）＊  D1(障害物1の方向）
＋ G（回避ゲイン）  ＊  L2（障害物2までの距離）＊  D1(障害物2の方向）
＋  ．．．
（障害物の数だけ続く）
なお、Do , Dt , D1, D2 ... はベクトルとする。
【００５４】
なお、図１Ａに示した移動ロボット２０では、マップ１３上において既知の障害物９を認識するデータ処理を障害物認識装置２２により行い、回避経路の算出を行うデータ処理を経路計算装置６により行っているが、これらのデータ処理を一つの計算装置（図示は省略）によって行うようにしてもよい。この場合、仮想センサによる障害物の検出情報の受渡しは、前記装置内のメモリ、または内部通信機能を用いて行うようにする。
【００５５】
また、図１Ｅに示すように、移動ロボット２０Ｂの障害物認識装置２２内に、仮想センサを用いて認識した既知の障害物９の情報を障害物検出センサ４が実際に障害物９を検出したときの出力信号と同じ信号、例えば、同じ種類の信号、に変換する変換装置２４を具備させても良い。この場合、変換装置２４により、仮想センサの出力信号を実際の障害物検出センサ４の出力信号と同様にすることができるため、例えば、仮想センサにおける第２検出領域２１の設定などを変更することで、実際にセンサを追加したり、その設置位置を変更したりすることなく、センサを追加したり、その設置位置を変更したりした場合の効果を検証することができる。また、逆に、実際の障害物検出センサ４の代わりに、仮想センサを用いることも容易にできる。これにより、実験段階や調整中の移動ロボットにおいても、実際にセンサを追加したりその設置位置を変更したりすることなく、センサを追加などをした場合の効果を検証することができる。
【００５６】
前記実施形態によれば、地図データベース１１に基づいて、地図の図形データ（地図情報）を形成し、この図形データ上に、既知の障害物及び本体部２を形成するとともに、この本体部２に、実際のセンサによる第１の検出領域３とは別の第２の検出領域２１に存在する既知の障害物９，１６を検出可能な仮想センサを設定することで、例えば、本体部２に設けられた障害物検出センサ４の第１の検出領域３が及ばない箇所であっても、地図データベース１１に位置情報が格納されている既知の障害物９，１６であれば、この仮想センサにより検出することができ、仮想センサを用いることで、本体部２に設けられている障害物検出センサ４のみを用いる場合に比べて、精度の良い障害物検出を行うことができる。また、仮想センサにおける第２の検出領域２１は、この第２の検出領域２１内に入り込んだ既知の障害物９，１６を検出し、この第２の検出領域２１の外に存在する既知の障害物９，１６については検出しないので、経路計算装置６が回避経路の算出を行う際には、仮想センサにおける第２の検出領域２１内に入り込んだ既知の障害物９，１６の情報と、本体部２における障害物検出センサ４が検出した障害物のうちの未知の障害物の情報とに基づいて、回避経路の算出を行うことができるので、例えば、地図の図形データの全てを、経路計算時の計算対象とする場合に比べて、計算量を大幅に削減することができる。
【００５７】
従って、回避経路の算出を行うに際して仮想センサを設けたことで、経路計算時の計算量を大幅に削減していることから、小型の移動ロボットに搭載されるプロセッサであっても、リアルタイムに回避経路の算出を行うことができる。また、移動中に新たな障害物を検出して、再び回避経路の算出を行う必要が生じても、同様にリアルタイムに新たな回避経路の算出を行うことができる。
【００５８】
次に、本発明の前記実施形態のより具体的な例の移動ロボットを、図１Ｆ〜図６Ｂ参照しながら説明する。
【００５９】
図１Ｆ、図１Ｇ及び、図１Ｈに示すように、本発明の上記実施形態のより具体的な例の移動ロボット５１は、移動可能な直方体形状の本体部５１ａと、前記本体部５１ａの位置を計測する自己位置計測装置５３と、前記本体部５１ａの移動目的地までの移動範囲の地図情報を格納する地図データベース５２と、仮想センサ情報計算装置５４が仮想センサの算出情報を算出するための算出条件を設定変更する仮想センサ設定変更装置５７と、前記自己位置計測装置５３により計測された自己位置情報７３と前記地図データベース５２に格納された前記地図情報に基づいて、地図情報上の任意の検出領域において本体部５１ａの移動に対して障害物となる障害物情報を抽出して前記設定された算出条件の下に仮想センサの算出情報を算出する仮想センサ情報計算装置５４（言い換えれば、前記自己位置計測装置５３により計測された自己位置情報７３と前記地図データベース５２に格納された前記地図情報に基づいて、地図情報上の任意の検出領域において本体部５１ａの移動に対して障害物となる障害物情報を抽出する障害物情報抽出部）と、前記仮想センサ情報計算装置５４により算出された仮想センサの算出情報（言い換えれば、前記障害物情報抽出部５４により抽出された障害物情報）に基づいて、前記本体部５１ａが移動するための移動経路を算出する経路計算装置５５を有する。また、移動ロボット５１には、さらに、地図データベース５２と仮想センサ設定変更装置５７とに障害物に関する障害物情報や仮想センサ設定に関する情報や目的地に関する情報を入力するための入力装置３９と、各種の情報（例えば、地図情報、仮想センサの設定情報、移動経路情報など）を出力する例えばディスプレイのような出力装置３８とを備えている。
【００６０】
ここで、先の図１Ａでの移動ロボット２０の本体部２は、この移動ロボット５１の本体部５１ａに相当し、以下同様に、障害物検出センサ４は障害物検出センサ５６に相当し、自己位置計測装置５は自己位置計測装置５３に相当し、地図データベース１１は地図データベース５２に相当し、障害物認識装置２２は仮想センサ設定変更装置５７と仮想センサ情報計算装置５４に相当し、経路計算装置６は経路計算装置５５に相当し、駆動装置７は駆動装置６１に相当する。
【００６１】
障害物検出センサ５６は、本体部５１ａの周囲の任意の検出領域の障害物を検出し、前記経路計算装置５５は仮想センサの算出情報に加えて障害物検出センサ５６の検出情報に基づいて移動経路の算出を行うこともできるものとする。
【００６２】
また、仮想センサ情報計算装置５４が仮想センサの算出情報を算出するための算出条件を設定変更する前記仮想センサ設定変更装置５７をロボット５１は有しており、この仮想センサ設定変更装置５７によって、前記地図データベース５２に格納された地図情報と、前記自己位置計測装置５３により計測された自己位置情報７３と、前記仮想センサ情報計算装置５４により算出された仮想センサの算出情報と、前記障害物センサ５６の検出情報と、前記経路計算装置５５により算出された移動経路に基づいて仮想センサの算出情報を算出するための算出条件を変更することもできるものとする。
【００６３】
ここで、前記ロボット５１の具体的な仕様例として、図１Ｆ、図１Ｇ、図１Ｈの移動可能な本体部５１ａは、それぞれ独立に駆動可能な左右の２つの駆動車輪５９とキャスター型の補助的な２つの小さな補助車輪６０で構成された移動装置５８で構成されているものとする。左右の駆動車輪５９は左右のモータ６１ａを用いた駆動装置６１により所定の回転速度でそれぞれ制御が可能であり、両駆動車輪５９の回転速度の差によって方向転換や旋回を行うことが可能である。本体部５１ａは前後に縦長の直方体に近似される形状とし、左右の２つの駆動車輪５９と左右の２つの補助車輪６０は４隅に配置され、前方２輪を駆動車輪５９、後方２輪を補助車輪６０とする。これらの２つの駆動車輪５９と２つの補助車輪６０は、図１Ａの４つの車輪２ｗに相当する。
【００６４】
また、自己位置計測装置５３は、２つの駆動車輪５９の回転駆動軸に取り付けられたエンコーダ６２と、エンコーダ６２の値から自己位置を算出するオドメトリ計算装置６３とを備えて構成されるものとし、経路計算装置５５では、２つのエンコーダ６２から得られた２つの駆動車輪５９の回転速度を基にオドメトリ計算を行うことでリアルタイムなロボット５１の自己位置情報７３を算出する。算出される位置計測情報は、具体的にはロボット５１の本体部５１ａの位置と、姿勢（進行方向）である。また、時系列な自己位置情報７３の差分によってロボット５１の速度情報の算出も加えて行うことができる。
【００６５】
また、障害物検出のための障害物検出センサ５６として、複数の光電センサ６４と超音波センサ６５を用いている。
【００６６】
図２で示すように、個々に６４ｓのような大略矩形の検出領域を検出可能な光電センサ６４を、ロボット５１の本体部５１ａの周囲に複数配置して（具体的には、本体部５１ａの前後面の中央部に１個ずつ、左右側面の中央部に２個ずつ配置して）、ロボット５１の本体部５１ａの周囲を取り囲むような近接領域の検出を行っている。また、６５ｓのような細長い検出領域の超音波センサ６５を前方に複数配置して（具体的には、本体部５１ａの前面に２個配置して）、前方の障害物４０を検出する。これら障害物検出センサ５６による検出値としては、光電センサ６４ではロボット５１の進入不可領域４０ａ−６を検出値とするとともに、超音波センサ６５では障害物４０までの距離Ｌを検出値としている。よって、これらの光電センサ６４の検出領域６４ｓと超音波センサ６５の検出領域６５ｓとより、障害物検出センサ５６の第１の検出領域５６ｓ（図１Ａの移動ロボット２０の障害物検出センサ４の第１の検出領域３に相当。）を構成している。
【００６７】
また、地図データベース５２に格納されている地図情報７０として、図４Ａに示すように、障害物４０の位置、大きさ、形状に関する障害物情報７２と、目的地の情報７１が登録されている。仮想センサの算出時には、この地図情報７０の上に自己位置情報７３を基に移動ロボット５１の情報が重ねられる。
【００６８】
また、仮想センサの算出条件の設定（仮想センサの第２の検出領域４１（図１Ａの移動ロボット２０の仮想センサの第２の検出領域２１に相当。）の設定）の仕方についてであるが、図１Ｉに示すように仮想センサ設定変更装置５７が無い移動ロボット５１では、図３Ａで示すように、第２の検出領域４１は、移動ロボット５１の前方に、移動ロボット５１が旋回時（障害物などの回避のための旋回時）に必要な回転時に描く円が入るような幅（回転半径４２の２倍以上の幅）を持ち、地図情報７０に予め既知となっている障害物４０のうち移動ロボット５１からみて最大の窪みを持つ障害物４０Ｇの窪みの深さ４０Ｇ−１より長い距離を持つ長方形の領域としている。なお、ここでは、障害物４０Ｇの窪みの深さ４０Ｇ−１は、前記超音波センサ６５の細長い検出領域６５ｓでは届かないくらい深いものとする。なお、図１Ｉのロボット５１では、入力装置３９から仮想センサの設定情報を仮想センサ情報計算装置５４に入力して、仮想センサの第２検出領域４１を任意に設定することができる。ただし、この例では、ロボット移動中には仮想センサの設定を変更することはできない。
【００６９】
また、移動ロボット５１は、仮想センサ情報計算装置５４が仮想センサの算出情報を算出するための算出条件を設定変更する前記仮想センサ設定変更装置５７を具備しているため、移動ロボット５１の移動開始時に仮想センサの第２検出領域４１を一旦設定すれば、その領域を固定したものとすることもできる他、障害物検知センサ５６から仮想センサ設定変更装置５７に入力された障害物情報などの各種情報により仮想センサの第２検出領域４１の設定を移動ロボット５１の移動途中で仮想センサ設定変更装置５７で変更することもできる。
【００７０】
各種情報、例えば、障害物発見情報により仮想センサの第２検出領域４１の設定を移動ロボット５１の移動途中で仮想センサ設定変更装置５７で変更する例について説明する。
【００７１】
仮想センサの第２検出領域４１としては、例えば、図３Ｂで示すように、移動ロボット５１の通常移動時（障害物発見前）では、ロボット５１がその移動経路に沿って移動しているときロボット５１に停止指令を出してロボット５１が停止するまでに進む距離（ただし、移動ロボット５１の速度により依存して距離が変わる。）の長さ４３で、ロボット５１の旋回時（障害物などの回避のための旋回時）の回転時に描く円が通る幅（回転半径４２の２倍以上の幅）を持つ領域４１ｇとすることができる。
【００７２】
そして、図３Ｂのように、仮想センサの通常時（障害物発見前）の前記第２の検出領域４１ｇに、例えば、障害物４０Ｇが入った場合、その障害物４０Ｇの検出位置より、地図情報７０から検出した障害物４０Ｇの形状や位置などを仮想センサ設定変更装置５７で抽出し、今度は前記の通常時の検出領域４１ｇに加えて、障害物４０の周囲のロボット５１の旋回時（障害物などの回避のための旋回時）の回転時に描く円が通る幅（回転半径４２の２倍以上）の追加領域４１ｈも第２の検出領域４１に変更することができる。
【００７３】
なお、ロボット５１が障害物を回避した後、図３Ｂで示すように、移動ロボット５１の通常移動時（障害物発見前）に戻った場合には、追加領域４１ｈを無くし、通常時の検出領域４１ｇのみとするようにしてもよい。
【００７４】
そして、前記設定された仮想センサの第２の検出領域４１により検出を行いつつ仮想センサ情報計算装置５４により算出される仮想センサの算出情報は、前記自己位置計測装置５３により計測されたロボット５１の自己位置情報７３と、前記地図データベース５２に格納された前記地図情報７０とに基づいて抽出され、前記地図情報７０上に設定された仮想センサの第２の検出領域４１において前記ロボット５１の移動に対して障害物となる情報を意味する。この仮想センサの算出情報の具体的な例としては、障害物の情報を考慮して、障害物を回避可能でかつロボット５１が移動可能な情報であり、移動ロボット５１から障害物４０までの距離と、移動ロボット５１の移動可能な角度範囲とがある。このような、移動ロボット５１から障害物４０までの距離と、移動ロボット５１の移動可能な角度範囲の情報は、以下のように、第２の検出領域４１内での障害物の有無によって、図３Ｃ〜図３Ｆのように算出されたものであり、経路計算装置５５へ入力される。なお、図３Ｃ〜図３Ｆは、仮想センサ設定変更装置５７により仮想センサの第２の検出領域４１を移動途中で変更しない場合として例示しているが、前記したように移動途中で変更する場合でも、同様の算出を行う。
【００７５】
（１）  図３Ｃのように、地図データベース５２に格納されている地図情報７０と自己位置計測装置５３で計測された移動ロボット５１の自己位置情報とに基づき、移動ロボット５１が進む前方に障害物４０が無いと仮想センサ情報計算装置５４で判断できるときには、仮想センサ情報計算装置５４は、障害物距離無限大（∞）で移動可能角度は４１ｃ−３のように移動ロボット５１の前面の全方向とする算出情報を算出する。なお、ここでは、仮想センサの第２の検出領域４１は、移動ロボット５１の前方に伸びる長方形の検出領域４１ｃ−２となっており、以下の（２）〜（４）でも同様な領域となっている。
【００７６】
（２）  図３Ｄのように、地図データベース５２に格納されている地図情報７０と自己位置計測装置５３で計測された移動ロボット５１の自己位置情報とに基づき、移動ロボット５１が進む前方に、２つの対向して配置された障害物４０ｄ−６，４０ｄ−７があると仮想センサ情報計算装置５４で判断できるときであって、かつ、２つの障害物４０ｄ−６，４０ｄ−７間に通行可能な通路４０ｄ−５が形成されていると仮想センサ情報計算装置５４で判断した場合、移動ロボット５１から移動ロボット５１の前面に近い障害物４０ｄ−６までの距離を、移動ロボット５１から障害物４０ｄ−６までの距離４０ｄ−４とし、２つの障害物４０ｄ−６，４０ｄ−７間の通路４０ｄ−５内に入る角度方向と通路４０ｄ−５を回避する角度方向の２つの角度範囲４０ｄ−３を、移動ロボット５１の移動可能角度とする算出情報を、仮想センサ情報計算装置５４は算出する。ここで、２つの障害物４０ｄ−６，４０ｄ−７間にロボット５１が通行可能な通路４０ｄ−５が形成されているか否かの判断は、以下のようにして仮想センサで行うことができる。例えば、アルゴリズム的には、もし、２つの対向して配置された障害物が存在する場合、その２つの障害物の間の距離が、（ロボット５１の全体の幅）に（安全余裕分の寸法）を加えた幅寸法以上であるか否かを仮想センサ情報計算装置５４で判断し、そのような幅寸法以上であると仮想センサ情報計算装置５４で判断するならば、ロボット５１は通行可として図３Ｄの処理を行う一方、そのような幅寸法未満であると仮想センサ情報計算装置５４で判断するならばロボット５１は通行不可として図３Ｆの処理を行う。また、ロボット５１の幅及び長さ、旋回時の回転半径などの情報については、仮想センサを設定するときの情報の中に含まれているものとする。
【００７７】
（３）  図３Ｅのように、地図データベース５２に格納されている地図情報７０と自己位置計測装置５３で計測された移動ロボット５１の自己位置情報とに基づき、移動ロボット５１が進む前方の真正面に、障害物４０ｅ−６があると仮想センサ情報計算装置５４で判断できるときは、移動ロボット５１から移動ロボット５１の前面方向の障害物４０ｅ−６までの距離を、移動ロボット５１から障害物４０ｅ−６までの距離４０ｅ−４とし、移動ロボット５１が障害物４０ｅ−６を回避する角度方向４０ｅ−３を移動可能角度とする算出情報を、仮想センサ情報計算装置５４は算出する。
【００７８】
（４）  図３Ｆのように、地図データベース５２に格納されている地図情報７０と自己位置計測装置５３で計測された移動ロボット５１の自己位置情報とに基づき、移動ロボット５１が進む前方の真正面に、障害物４０ｆ−６があると仮想センサ情報計算装置５４で判断できるときであって、かつ、移動ロボット５１からみて障害物４０ｆ−６の窪みが行き止まり４０ｆ−７もしくは通行不可能な通路状４０ｆ−５になっていると仮想センサ情報計算装置５４で判断できるときには、障害物４０ｆ−６の窪みの開口部が塞がったような障害物４０ｆ−６と考え、移動ロボット５１の前面方向の移動ロボット５１から障害物４０ｆ−６までの距離を、移動ロボット５１から障害物４０ｆ−６までの距離４０ｆ−４とし、移動ロボット５１が障害物４０ｆ−６を回避する角度方向４０ｆ−３を、移動ロボット５１の移動可能角度とする算出情報を、仮想センサ情報計算装置５４は算出する。
【００７９】
次に、経路計算装置５５では、図４Ｂ、図４Ｃのように移動ロボット５１の移動経路を算出する。
【００８０】
まず、地図データベース５２に格納されている地図情報７０と自己位置計測装置５３で計測された移動ロボット５１の自己位置情報とに基づき、ロボット５１の進行方向に障害物の無いと仮想センサ情報計算装置５４で判断されている場合（図３Ｃのような場合）は、図４Ｂで示すように、移動ロボット５１と目的地７１ｂ−２を結ぶ目的地７１ｂ−２への方向７１ｂ−３と、自己位置計測装置５３により計測された現在の移動ロボット５１の進行方向５１ｂ−４の角度差を経路計算装置５５で算出し、その角度差に比例した旋回速度成分５１ｂ−５を、直進速度成分に加えた移動経路５１ｂ−６を経路計算装置５５で算出し、なお、ロボット５１の直進速度成分は障害物や目的地までの距離及び前記旋回速度成分によって設定される。
【００８１】
以上のように、経路計算装置５５において、このような移動速度を算出することによって移動経路５１ｂ−６で移動できる。経路計算装置５５で算出された移動速度は、駆動装置６１に入力されて、移動ロボット５１が移動を行う。なお、障害物等が何も無ければロボット５１の最大速度にて移動が行われる。
【００８２】
ここで、移動ロボット５１と目的地７１ｂ−２を結ぶ目的地７１ｂ−２への方向７１ｂ−３は、仮想センサ情報計算装置５４又は経路計算装置５５で、必要に応じて個別に求めることができる。仮想センサ情報計算装置５４では、仮想センサの検出設定が、目的地７１ｂ−２への方向７１ｂ−３の領域を第２検出領域４１として検出する場合などにおいて、目的地７１ｂ−２への方向７１ｂ−３の算出を行う。この場合、仮想センサに送られた自己位置情報と地図情報の目的地の情報から仮想センサ情報計算装置５４で目的地７１ｂ−２への方向７１ｂ−３を算出することができる。これに対して、経路計算装置５５では、経路算出用として使用するために目的地７１ｂ−２への方向７１ｂ−３も算出する（ここでは、ロボット５１の現在の進行方向と目標（目的地７１ｂ−２）との角度差の算出などにも使用する）。仮想センサ情報計算装置５４の場合と同様に、自己位置情報と地図情報の目的地の情報からも経路計算装置５５で算出することができる。また、自己位置計測装置５３により、現在の移動ロボット５１の進行方向５１ｂ−４を求めるとき、例えばオドメトリと呼ばれる方法で算出することができる。本例の場合は、ロボット５１の両車輪の回転速度を積分することで、ロボット５１の位置及び方向を算出することができる。
【００８３】
また、旋回速度成分５１ｂ−５、及び、直進速度成分は、どちらも、経路計算装置５５で求めることができる。ちなみに、各種ゲインなど設定については、パラメータとすることも可能であるが、ここでは、予め必要数値がアルゴリズムに含まれているものとし、説明を簡略化するため、設定装置等については説明を省略する。旋回速度成分については、本明細書に記載しているように、「現在の進行方向」と「目的地の方向」の差を求め（又は、「進行方向」と「移動可能で進入不可な領域を除き目的地方向に最も近い角度）」の差を求め）、
その差に比例ゲインを掛けた大きさを旋回速度成分とする。そうすることで、目的地の方向にロボット５１が向くように方向の制御が行われる。また、直線速度成分は、以下のように算出することができる。まず、目的地との距離や障害物との距離に応じて進行速度を設定する。ここで、進行速度であるが、ロボットのモータが継続的に出しうる最大の回転速度時の速度を「最大速度」とすると、目的地付近や障害物が近い場合には、減速を始める距離をXdとして、例えば目的地や障害物の距離をxとすると、距離Xdの間に目的地や障害物が何も無ければその100％の速度を進行速度とする。距離Xdの間に目的地や障害物があれば以下の式で与えられるものとする。
【００８４】
（数２）
[進行速度]  =  [最高速度]  ＊（  １  −  [減速ゲイン]  ＊  （Xd  −  x）)
【００８５】
また、直線速度成分であるが、上記の旋回成分が大きい時に大きな直線速度で移動しようとすると、ロボットが遠心力により旋回方向外側に転倒する可能性があるので、以下の式で与えるとする。
【００８６】
（数３）
[直線速度成分]  =  [進行速度]  ＊  （  １  −  [旋回減速ゲイン]  ＊  ｜  旋回速度成分｜  )
【００８７】
また、最大速度は、前記したように、ロボット５１のモータが継続的に出しうる最大の回転速度時の速度を「最大速度」とする。具体的には、本例の場合以下の式で算出することができる。
【００８８】
（数４）
[最大速度]  =  [車輪の半径]  ＊  [モータの継続最大回転数]  ＊  [ギア比]
【００８９】
また、最大速度に関する設定は、前記したように経路計算装置５５のアルゴリズム内に含まれているものとする。
【００９０】
また、図４Ｃで示すように、地図データベース５２に格納されている地図情報７０と自己位置計測装置５３で計測された移動ロボット５１の自己位置情報とに基づき、ロボット５１の進行方向に障害物が存在していると仮想センサ情報計算装置５４で判断されている場合で、かつ、障害物検出センサ５６や仮想センサの算出情報に障害物４０の情報がある場合（図３Ｄ〜図３Ｆのような場合）には、次のような経路を経路計算装置５５で算出する。
【００９１】
図４Ｃで示すように、障害物４０ｃ−９が目的地方向やロボット５１の近辺に存在する場合、仮想センサの算出情報として算出したロボット５１の移動可能角度５１ｃ−７の中で、障害物検出センサ５６が検出した進入不可領域４０ｃ−８を除く角度範囲でかつ、移動ロボット５１と目的地７１ｃ−２を結ぶ目的地の方向７１ｃ−３に最も近い方向に向かうように、旋回速度成分５１ｃ−５を直進速度成分に加えることにより移動経路５１ｃ−６を経路計算装置５５で算出する。また、移動ロボット５１から障害物４０までの距離に応じて減速させた速度を経路計算装置５５で算出する。経路計算装置５５で算出された移動速度は、駆動装置６１に入力されて、移動ロボット５１が駆動される。
【００９２】
なお、旋回速度成分５１ｃ−５、及び、直進速度成分は、前記したのと同様に求められる。ただし、旋回速度成分については、本明細書に記載しているが、「現在の進行方向」と「移動可能で進入不可な領域を除き目的地方向に最も近い角度」の差を求め、その差に比例ゲインを掛けた大きさを旋回速度成分とする。
【００９３】
また、直線速度成分は、以下のように算出する。まず、目的地との距離や障害物との距離に応じて進行速度を設定する。ここで、進行速度であるが、ロボットのモータが継続的に出しうる最大の回転速度時の速度を「最大速度」とすると、目的地付近や障害物が近い場合には、減速を始める距離をXdとして、例えば目的地や障害物の距離をxとすると、距離Xdの間に目的地や障害物が何も無ければその１００パーセントの速度を進行速度とする。距離Xdの間に目的地や障害物があれば、以下の式で与えられるものとする。
【００９４】
（数５）
[進行速度]  =  [最高速度]  ＊（  １  −  [減速ゲイン]  ＊  （Xd−  x  ）  )
【００９５】
また、直線速度成分であるが、上記の旋回成分が大きい時に大きな直線速度で移動しようとすると、ロボット５１が遠心力により旋回方向外側に転倒する可能性があるので、以下の式で与えるとする。
【００９６】
（数６）
[直線速度成分]  = [進行速度]  ＊  （  １  −  [旋回減速ゲイン]  ＊  ｜  旋回速度成分｜  ）
【００９７】
このように、障害物４０が移動ロボット５１の進行方向にある場合は、移動ロボット５１が障害物４０の回避を行うような移動経路をとり、障害物４０を移動ロボット５１が通り過ぎると（言い換えれば、第１、第２の検出領域から障害物が無くなると直ちに）、再び目的地７１ｃ−２に向かう経路をとって（図４Ｂのような算出を行って）目的地７１ｃ−２に向かう。
【００９８】
なお、経路計算装置５５で算出された移動経路に沿って移動ロボット５１が移動するためには、駆動装置６１の左右のモータ６１ａの左右の駆動車輪５９の回転速度を次のように制御することで実現する。すなわち、直進速度成分については左右２つの駆動車輪５９の平均速度で与え、旋回速度成分については左右２つの駆動車輪５９の速度差によって与えるようにすればよい。
【００９９】
また、前記のような構成を持つ移動ロボット５１の基本的な処理フローは、以下のように図６Ａ及び図６Ｂに示すようなものとなる。
【０１００】
仮想センサの第２の検出領域４１の設定を移動途中で変更しない移動ロボット５１では、図６Ａのような基本のフローにより処理を行う。
【０１０１】
ステップＳ１：  まず、入力装置３９によりロボット５１の移動目的地を地図データベース５２に入力する。入力により地図情報７０上の目的地を更新し、目的地到達まで以降のステップを実行する。なお、移動目的地の入力においては、目的地の座標と到達判定の際に用いる到達条件距離を入力するものとする。
【０１０２】
ステップＳ２：  自己位置計測装置５３によりロボット５１の自己位置情報７３を取得する。
【０１０３】
ステップＳ３：  ステップＳ２で取得された自己位置情報７３と地図情報７０に基づいて仮想センサの算出情報を仮想センサ情報計算装置５４により算出する。
【０１０４】
ステップＳ４：  ステップＳ２で取得されたロボット５１の自己位置情報７３と地図情報７０の目的地の情報とを経路計算装置５５により比較して、目的地に到達したか否かを判定する。この時、自己位置（現在位置）の座標と目的地の座標より、移動ロボット５１の自己位置（現在位置）から目的地までの距離を経路計算装置５５により算出し、その距離がステップＳ１にて入力された到達条件距離以内であると経路計算装置５５により判定すれば、ロボット５１は目的地へ到達したものとし、地図情報７０より目的地の情報をクリアして、ロボット５１の移動を駆動装置６１により終了し（ステップＳ７）、新たな目的地入力（ステップＳ１）待ちとなる。
【０１０５】
ステップＳ５：  もし、目的地に到達していなければ、すなわち、ロボット５１の自己位置から目的地までの距離が到達条件距離より大きいと経路計算装置５５により判定する場合には、ステップＳ２，３で算出された情報に基づいてロボット５１の移動経路を経路計算装置５５で算出する。
【０１０６】
ステップＳ６：  ステップＳ４で算出された移動経路に沿ったロボット５１の移動を実現するように、駆動装置６１によりロボット５１の移動を制御する。ステップＳ５を実施後は、再びステップＳ２に戻る。
【０１０７】
さらに、障害物検出センサ５６と仮想センサ設定変更装置５７を用いて、仮想センサの第２の検出領域４１の設定を移動途中で変更するような、移動ロボット５１では、図６Ｂのようなフローにより処理を行う。
【０１０８】
ステップＳ１１：  まず、入力装置３９によりロボット５１の移動目的地を地図データベース５２に入力する。入力により地図情報７０上の目的地を更新し、目的地到達まで以降のステップを実行する。なお、移動目的地の入力においては、目的地の座標と到達判定の際に用いる到達条件距離を入力するものとする。
【０１０９】
ステップＳ１２：  障害物検出センサ５６及び自己位置計測装置５３により各種情報を取得する。具体的には、以下のステップＳ１２−１とステップＳ１２−２を行う。
ステップＳ１２−１：  自己位置計測装置５３によりロボット５１の自己位置情報７３を取得する。
ステップＳ１２−２：  障害物検出センサ５６により障害物の検出情報を取得する。
【０１１０】
ステップＳ１３：  ステップＳ１２で取得された情報を基に仮想センサの算出情報の算出条件を設定し、仮想センサの算出情報を仮想センサ情報計算装置５４により算出する。具体的には、以下のステップＳ１３−１とステップＳ１３−２とステップＳ１３−３を行う。
ステップＳ１３−１：  ステップＳ１２で取得された自己位置情報７３や障害物の検出情報、地図データベース５２に格納された地図情報７０を基に、必要であれば、仮想センサ設定変更装置５７により仮想センサの算出情報の算出条件の設定を変更する。
ステップＳ１３−２：  ステップＳ１２で取得された自己位置情報７３を基に、仮想センサ設定変更装置５７に従った算出条件によって、地図データベース５２に格納された地図情報７０より仮想センサの算出情報を仮想センサ情報計算装置５４により算出する。
ステップＳ１３−３：  ステップＳ１３−２で算出された仮想センサの算出情報を基に、必要であれば、仮想センサ設定変更装置５７により仮想センサの算出情報の算出条件の設定を変更し、変更した仮想センサ設定変更装置５７に従った算出条件によって地図データベース５２に格納された地図情報７０より、再度、仮想センサの算出情報を仮想センサ情報計算装置５４により算出する。
【０１１１】
ステップＳ１４：  ステップＳ１２で取得された自己位置情報７３と地図情報７０の目的地の情報とを経路計算装置５５により比較して、目的地に到達したか否かを判定する。この時、自己位置（現在位置）の座標と目的地の座標より、移動ロボット５１の自己位置（現在位置）から目的地までの距離を経路計算装置５５により算出し、その距離がステップＳ１１にて入力された到達条件距離以内であると経路計算装置５５により判定すれば、ロボット５１は目的地へ到達したものとし、地図情報７０より目的地の情報をクリアして、ロボット５１の移動を駆動装置６１により終了し（ステップＳ１７）、新たな目的地入力（ステップＳ１）待ちとなる。
【０１１２】
ステップＳ１５：  もし、目的地に到達していなければ、すなわち、ロボット５１の自己位置から目的地までの距離が到達条件距離より大きいと経路計算装置５５により判定する場合には、ステップＳ１２，Ｓ１３で取得された情報に基づいてロボット５１の移動経路を経路計算装置５５で算出する。
【０１１３】
ステップＳ１６：  ステップＳ１５で算出された移動経路に沿ったロボット５１の移動を実現するように、駆動装置６１によりロボット５１の移動を制御する。ステップＳ１６を実施後は、再びステップＳ１２に戻る。
【０１１４】
以上のような、移動ロボット５１とすれば、仮想センサの第２の検出領域４１の設定を移動途中で変更しない基本的なフローにおいても、実際の障害物検出センサ５６ではセンサの物理的な特性によって検出できないような、長距離で広範囲な障害物の検出を仮想センサの第２の検出領域４１で行うことができ、例えば、行き止まりの通路を事前に仮想センサの第２の検出領域４１で検出することができるようになり、事前に回避することができるため、誤って行き止まりの通路に入り込み非効率な移動を行ったり、デッドロックに陥ることを防ぐことができる。また、経路算出における計算量においても仮想的センサ算出時の計算量は、（仮想センサの第２の検出領域４１の検出面積の検索計算＝検出面積／精度）に比例となるため、最悪の場合でも、移動範囲全面を検出領域にとっても、（検出面積／精度）の２乗に比例する従来例２に比べて、非常に小さい計算量で算出が可能となる。従って、障害物が存在する環境下にある移動ロボットにおいて、リアルタイムにかつ効率的な目的地への移動を実現することができる。
【０１１５】
本発明では、仮想センサを設定することができるため、特に実際のセンサの物理的な検出特性に縛られることなく自由に特性（例えば検出領域の大きさや方向など）を設定することができるため、例えば、障害物の裏側や離れた個所の検索を行ったり、前記の例で挙げたように地図データベース５２の地図情報７０に基づいて障害物の形状を認識したり、その周囲を検出するなど実際のセンサには検出不可能な情報も取得することができる。さらに、実際のセンサを搭載する際に起こりうる、検出精度と検出領域の問題、センサ数や取付けに関する問題、センサ間の干渉の問題、周囲環境の影響の問題なども考える必要が無くなる。
【０１１６】
また、仮想センサに、実際のセンサである障害物検出センサ５６を組合わせることで、地図データベース５２に登録されていない未知の障害物、及び、移動する障害物を障害物検出センサ５６で検出することができて、これらの未知の障害物、及び、移動する障害物への対応が可能となる。そして、実際の障害物検出センサ５６によって検出された障害物を地図データベース５２の地図情報に地図登録装置６９（図１Ｈ参照）により登録するようにしてもよく、このようにすれば、地図データベース５２を更新することでより正確な仮想センサの算出情報を算出することが可能となる。
【０１１７】
また、仮想センサ設定変更装置５７を搭載することでロボットや周囲の状態に応じた算出設定を変更を行うことができるため、障害物が少ない個所では検出領域を小さく精度を粗く設定することができ、必要な場合だけ検出領域を増やしたり精度を上げることで全体の計算量を抑えながら、高精度の検出を実現することができる。精度や検出領域だけでなく、必要に応じて特性を変える事もが可能となり、例えば、算出設定を切り替えるだけで複数のセンサの機能を兼ねることも可能となる。
【０１１８】
ここで、本発明の最適な仮想センサの設定方法であるが、前記例に挙げたようにロボットの移動特性及び障害物の特性に合わせて、必要最小限の検出領域と精度とするのが良い。検出領域は小さく、検出精度は粗いほど計算量が少なくなり、計算装置などの処理装置への負担が小さくなる。さらに、検出領域だけではなく、検出特性についても必要に応じて最適なものを設定すれば良い。
【０１１９】
ここで、検出特性とは、仮想センサにより、情報として「抽出（検出）できるもの」を意味し、例えば、以下のようなものがある。
【０１２０】
（１）仮想センサの第２の検出領域内の障害物の有無の情報。最も近い障害物の位置や方向の情報。
これは、仮想センサの、実際のセンサ的な使い方を可能とするものである。
【０１２１】
（２）通路の通行の可否判定の情報。
仮想センサにより、袋小路や迷路でロボットが通行できるか否かの判定情報。
（ロボットの移動経路が続く方向に、第２の検出領域を順次伸ばして行き、通路の出口に達するか否かを検出する。）
【０１２２】
（３）障害物の種類（例えば、重さや材質など）の情報。
地図データベース５２に、障害物の位置や形状と同様に、障害物のプロパティとして登録すればよい。
軽い障害物であれば、ロボットにより押しのけるという選択ができる。
また、障害物が脆い材質なら、慎重にロボットがよける判断材料にもなる。
【０１２３】
また、障害物検出センサ５６と仮想センサとが組み合わさった場合は、実際の障害物検出センサ５６と仮想センサのお互いの長所をそれぞれ生かした役割分担を行うことができる。例えば、前記例にあるように実際の障害物検出センサ５６は、最終的な安全確保のためのロボット５１の周辺の検出領域と、未知の障害物に対する事前回避のためにロボット５１の前方へのロングレンジの検出に用い、仮想センサではロボット５１の移動状況に伴ったロボット５１の移動経路上の障害物の検出や障害物検出時に障害物の周辺の詳細な情報収集など実際のセンサでは検出困難な領域を検出するのが良い。
【０１２４】
また、最適な移動経路の算出方法であるが、これは、実際の障害物検出センサ５６の情報に基づく経路計算方法をそのまま用いるのが良い。仮想センサの算出情報自体、実際の障害物検出センサ５６と同じ情報内容となっていて区別する必要性が無いことと、逆に実際の障害物検出センサ５６の代わりに仮想的なセンサを用いて開発していて、目的となる仕様のセンサが市販などにより入手できたときに、仮想的なセンサ（例えば図５の仮想センサ計算装置５４と変換装置５０とより構成される、置換可能な仮想的なセンサ５６ｚ）の実際のセンサへの置き換え（図５の矢印参照）が容易に行うことができるからである。
【０１２５】
その特性を利用して、さらに図５のように仮想センサの算出情報を障害物検出センサ５６が実際に障害物を検出したときの出力信号と同じ信号、例えば、同じ種類の信号、に変換する変換装置５０を具備させても良い。この場合、変換装置５０により、仮想センサの出力信号を実際の障害物検出センサ５６の出力信号と同様にすることができるため、例えば、仮想センサにおける検出領域の設定などを変更することで、実際にセンサを追加したり、その実際のセンサの設置位置を変更したりすることなく、センサを追加したり、その設置位置を変更したりした場合の効果を検証することができる。また、逆に、実際の障害物検出センサ５６の代わりに仮想センサを用いることも容易にできる。これにより、実験段階や調整中の移動ロボットにおいても、実際にセンサを追加したりその設置位置を変更したりすることなく、センサを追加などをした場合の効果を検証することができる。
【０１２６】
ここで、仮想センサとの比較において、実際の障害物検出センサの代表的な例としては、以下のようなものが挙げられる。
【０１２７】
（１）  領域の障害物の有無を判定するセンサ（例：エリアセンサなど）。
（２）  障害物までの距離を検出するセンサ（例：超音波センサ、レーザーセンサなど）。
（３）  ある角度範囲における障害物の有無や距離情報を検出するセンサ（例：光電センサ、レーザースキャナ）。
【０１２８】
図５の本例で挙げられた仮想センサは、前記（３）のバリエーションとして機能するものである。例えば、仮想センサを、障害物が無い角度領域を検出するセンサとして使用するようにすれば、ロボットの移動可能な角度範囲の検出と同義となる。実際のセンサについては、単に物理的に値を検出するだけでなく、その値を、ある程度センサ内で意味ある形に計算して、出力を行うものも、センサとして考えることができる。例えば、前記（３）のスキャニングを行うセンサや、ステレオカメラを使った距離センサなどが、これに該当する。
【０１２９】
すなわち、センサの物理的なデバイスにより検出された情報を基に得られた、検出情報が、センサによる「検出情報」と言うことができる。
【０１３０】
一方、仮想センサの「算出情報」とは、「地図データベースに蓄積されている情報から抽出される情報」である。実際のセンサには、実際のセンサ自体の物理的制限が加わるのに対し、仮想センサであれば、地図データベースに情報さえあれば、何でも抽出することができ、逆に、必要となるデータをデータベースに登録しておけば良いので、検出できる情報に制限が無く、結果的に、仮想センサの「算出情報」は、実際のセンサの「検出情報」の内容を包含するものとなる。
【０１３１】
前述したように、仮想センサ設定変更装置５７によって、前記地図データベース５２に格納された地図情報と、前記自己位置計測装置５３により計測された自己位置情報７３と、前記仮想センサ情報計算装置５４により算出された仮想センサの算出情報と、前記障害物センサ５６の検出情報と、前記経路計算装置５５により算出された移動経路に基づいて仮想センサの算出情報を算出するための算出条件を変更する例について、以下に、より具体的に例示する。
【０１３２】
まず、地図情報に基づいて、仮想センサ設定変更装置５７により算出条件を変更する場合について説明する。図３Ａを通常の第２の検出領域４１であるとするとき、図１２Ａに示されるように、地図データベース５２に蓄積された地図情報中で障害物が多い領域ＩＩＩにロボット５１が進入しかけたとき（ロボット５１のＩの状態）、仮想センサ設定変更装置５７により算出条件を、通常の第２の検出領域４１ｓ−１の設定状態（図１２Ｂ）から、障害物が多い領域用の第２の検出領域４１ｓ−２の設定状態（図１２Ｃ）に変更する。通常の第２の検出領域４１ｓ−１の設定状態は、図１２Ｂに示されるように、ロボット５１の前方の領域のみで障害物の検出を行う。これに対して、障害物が多い領域用の第２の検出領域４１ｓ−２の設定状態は、図１２Ｃに示されるように、ロボット５１の前方の領域のみならず、ロボット５１の周囲言い換えれば全方位に、現在の安全停止可能な距離（速度停止までに進む距離）を設定して、その設定された領域で障害物の検出を行う。一方、地図情報中で障害物が多い領域ＩＩＩからロボット５１が出かけたとき（ロボット５１のＩＩの状態）、仮想センサ設定変更装置５７により算出条件を、障害物が多い領域用の第２の検出領域４１ｓ−２の設定状態（図１２Ｃ）から、通常の第２の検出領域４１ｓ−１の設定状態（図１２Ｂ）に戻すように変更する。
【０１３３】
次に、自己位置情報（例えば速度情報）に基づいて、仮想センサ設定変更装置５７により算出条件を変更する場合について説明する。図３Ａを通常の第２の検出領域４１であるとするとき、ロボット５１の移動速度が閾値以上になったとき、仮想センサ設定変更装置５７により算出条件を、遅い速度用の第２の検出領域４１ｓ−３の設定状態（図１３Ａ）から、速い速度用の第２の検出領域４１ｓ−４の設定状態（図１３Ｂ）に変更する。遅い速度用の第２の検出領域４１ｓ−３の設定状態は、図１２Ｂの通常の第２の検出領域４１ｓ−１の設定状態と同様である。これに対して、速い速度用の第２の検出領域４１ｓ−４の設定状態は、図１３Ｂに示されるように、ロボット５１の前方に、ロボット５１が現在の速度で安全停止可能な距離（速度停止までに進む距離）を設定して、その設定された領域で障害物の検出を行う。一方、ロボット５１の移動速度が閾値未満になったとき、仮想センサ設定変更装置５７により算出条件を、速い速度用の第２の検出領域４１ｓ−４の設定状態（図１３Ｂ）から、遅い速度用の第２の検出領域４１ｓ−３の設定状態（図１３Ａ）に戻すように変更する。
【０１３４】
次に、仮想センサの算出情報に基づいて、仮想センサ設定変更装置５７により算出条件を変更する場合については、既に前述したように、仮想センサが障害物を検出した（第２の検出領域４１に障害物が存在した）とき、仮想センサ設定変更装置５７により算出条件を、通常の第２の検出領域４１ｇの設定状態（図３Ａ）から、追加領域４１ｈを含む、障害物検出後用の第２の検出領域４１の設定状態（図３Ｂ）に変更する。一方、仮想センサが障害物を検出しなくなった（第２の検出領域４１に障害物が無くなった）とき、追加領域４１ｈを含む、障害物検出後用の第２の検出領域４１の設定状態（図３Ｂ）から、通常の第２の検出領域４１ｇの設定状態（図３Ａ）に戻すように変更する。
【０１３５】
次に、移動経路に基づいて、仮想センサ設定変更装置５７により算出条件を変更する場合については、図３Ｂに示されるように、ロボット５１の移動経路に沿って、ロボット５１に移動停止指令を出してロボット５１が停止するまでに進む距離（速度に依存した距離）の長さにより、ロボット５１の旋回時に、通常の第２の検出領域４１ｇの設定状態（図３Ａ）から、ロボット５１が描く円軌道が通る幅（回転半径４２の２倍以上）を含む検出領域に変更する。ロボット５１の旋回動作が終了すると、ロボット５１が描く円軌道が通る幅（回転半径４２の２倍以上）を含む検出領域から、通常の第２の検出領域４１ｇの設定状態（図３Ａ）に戻すように変更する。
【０１３６】
さらに、障害物検出センサ５６の検出情報に基づいて、仮想センサ設定変更装置５７により算出条件を変更する場合について説明する。図１４Ａは通常の設定領域であって、障害物検出センサ５６の第１の検出領域５６ｓと仮想センサの第２の検出領域４１とが設定されている。図１４Ｂに示されるように、障害物検出センサ５６の第１の検出領域５６ｓで障害物４０が検出されたとき、仮想センサ設定変更装置５７により算出条件を、図１４Ａは通常の設定領域から、図１４Ｃに示されるように、ロボット５１の前方の領域のみならず、ロボット５１の周囲言い換えれば全方位に、現在の安全停止可能な距離（速度停止までに進む距離）を仮想センサとして追加設定して、その追加設定された領域と第１の検出領域５６ｓとが合わさった検出領域５６ｔと、第２の検出領域４１とで、障害物の検出を行う。一方、図１４Ｄに示すように、追加設定された領域と第１の検出領域５６ｓとが合わさった検出領域５６ｔで障害物４０が検出されなくなったとき、仮想センサ設定変更装置５７により算出条件を、図１４Ｅに示すように、通常の設定領域に戻すように変更する。
【０１３７】
なお、本実施形態では、補助車輪付きの独立駆動２輪型の移動ロボットを想定したが、その他の移動機構を採用しても良い。例えば、自動車のような舵によって曲がる移動機構でも良いし、車輪を用いない足型の移動機構でも良い、さらに海上を移動する船舶型の移動ロボットにも適応しても良い。その場合は、個々の移動機構の特性に合わせた仮想センサの設定や、移動経路の算出方法を採用すれば良い。また、本実施形態では二次元の平面での移動を想定しているが３次元空間の移動に適応しても良い。この場合も、仮想センサの検出領域は３次元的に設定するだけで容易に適応できる。従って、本発明の技術は、飛行船や飛行機のような飛行体や、マニピュレータの先端部の移動にも適応することができる。
【０１３８】
なお、前記様々な実施形態及びより具体的な例のうちの任意の実施形態及びより具体的な例を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。
【産業上の利用可能性】
【０１３９】
本発明の移動ロボットは、障害物が存在する環境下にある移動ロボットにおいて、リアルタイムにかつ効率的な目的地への移動を実現することができるため、工場や、駅、空港等の公共の場で自立的に作業を行うロボットや、家庭用ロボットなどにも適応することができる。
【０１４０】
本発明は、添付図面を参照しながら好ましい実施形態に関連して充分に記載されているが、この技術の熟練した人々にとっては種々の変形や修正は明白である。そのような変形や修正は、添付した請求の範囲による本発明の範囲から外れない限りにおいて、その中に含まれると理解されるべきである。
【図面の簡単な説明】
【０１４１】
【図１Ａ】図１Ａは、本発明の１つの実施形態の移動ロボットの構成を示す図である。
【図１Ｂ】図１Ｂは、実際の移動ロボットとそのセンサの検出領域を示す図である。
【図１Ｃ】図１Ｃは、マップ上における移動ロボットとその仮想センサの検出領域を示す図である。
【図１Ｄ】図１Ｄは、図１Ａに示す移動ロボットが算出する回避経路を示す図である。
【図１Ｅ】図１Ｅは、図１Ａに示す移動ロボットとは異なる移動ロボットの構成を示す図である。
【図１Ｆ】図１Ｆは、本発明の上記実施形態の移動ロボットの概略を示す斜視図、及び、透視平面図、ブロック図である。
【図１Ｇ】図１Ｇは、本発明の上記実施形態の移動ロボットの概略を示す斜視図、及び、透視平面図、ブロック図である。
【図１Ｈ】図１Ｈは、本発明の上記実施形態の移動ロボットの概略を示す斜視図、及び、透視平面図、ブロック図である。
【図１Ｉ】図１Ｉは、本発明の上記実施形態の変形例であって、仮想センサ設定変更装置が無い移動ロボットの概略を示すブロック図である。
【図２】図２は、障害物検出センサの検出領域とその検出値を示す図である。
【図３Ａ】図３Ａは、１つの形態における移動ロボットにおける仮想センサ（詳細は後述）の検出領域を示す図である。
【図３Ｂ】図３Ｂは、別の形態における移動ロボットにおける仮想センサ（詳細は後述）の検出領域を示す図である。
【図３Ｃ】図３Ｃは、障害物が無い場合の仮想センサの算出情報を示す図である。
【図３Ｄ】図３Ｄは、通路上に障害物が存在する場合の仮想センサの算出情報を示す図である。
【図３Ｅ】図３Ｅは、一般的な障害物が存在する場合の仮想センサの算出情報を示す図である。
【図３Ｆ】図３Ｆは、通り抜けができない障害物が存在する場合の仮想センサの算出情報を示す図である。
【図４Ａ】図４Ａは、地図データベースに格納された地図情報を示す図である。
【図４Ｂ】図４Ｂは、障害物が無い場合の経路算出方法を示す図である。
【図４Ｃ】図４Ｃは、障害物が存在する場合の経路算出方法を示す図である。
【図５】図５は、信号変換装置の効果を示す図である。
【図６Ａ】図６Ａは、基本の移動ロボットの処理フローを示す図である。
【図６Ｂ】図６Ｂは、障害物センサや仮想センサ設定変更装置を用いる場合の移動ロボットの処理フローを示す図である。
【図７Ａ】図７Ａは、従来例１の移動ロボットの概略を示す斜視図、及び、透視平面図、ブロック図である。
【図７Ｂ】図７Ｂは、従来例１の移動ロボットの概略を示す斜視図、及び、透視平面図、ブロック図である。
【図７Ｃ】図７Ｃは、従来例１の移動ロボットの概略を示す斜視図、及び、透視平面図、ブロック図である。
【図８Ａ】図８Ａは、図７Ａ、図７Ｂ、図７Ｃに示した移動ロボットの移動経路の決定方法を示す図である。
【図８Ｂ】図８Ｂは、図７Ａ、図７Ｂ、図７Ｃに示した移動ロボットの移動経路の決定方法を示す図である。
【図９】図９は、従来例１の移動ロボットが非効率な移動や、デッドロック状態に陥る場合を示す図である。
【図１０Ａ】図１０Ａは、従来例２の移動ロボットの概略を示す斜視図、及び、透視平面図、ブロック図である。
【図１０Ｂ】図１０Ｂは、従来例２の移動ロボットの概略を示す斜視図、及び、透視平面図、ブロック図である。
【図１０Ｃ】図１０Ｃは、従来例２の移動ロボットの概略を示す斜視図、及び、透視平面図、ブロック図である。
【図１１】図１１は、図１０Ａ、図１０Ｂ、図１０Ｃに示した移動ロボットにおける移動経路の決定方法を示す図である。
【図１２Ａ】図１２Ａは、地図情報に基づいて、仮想センサ設定変更装置により算出条件を変更する例を説明するための説明図である。
【図１２Ｂ】図１２Ｂは、通常の第２の検出領域の設定状態を説明するための説明図である。
【図１２Ｃ】図１２Ｃは、障害物が多い領域用の第２の検出領域の設定状態を説明するための説明図である。
【図１３Ａ】図１３Ａは、遅い速度用の第２の検出領域の設定状態を説明するための説明図である。
【図１３Ｂ】図１３Ｂは、速い速度用の第２の検出領域４１ｓ−４の設定状態を説明するための説明図である。
【図１４Ａ】図１４Ａは、通常の設定領域であって、障害物検出センサの第１の検出領域と仮想センサの第２の検出領域とが設定されている状態を説明するための説明図である。
【図１４Ｂ】図１４Ｂは、障害物検出センサの第１の検出領域で障害物が検出されたときの状態を説明するための説明図である。
【図１４Ｃ】図１４Ｃは、ロボットの前方の領域のみならず、ロボットの周囲言い換えれば全方位に、現在の安全停止可能な距離（速度停止までに進む距離）を仮想センサとして追加設定して、その追加設定された領域と第１の検出領域とが合わさった検出領域と、第２の検出領域とで、障害物の検出を行う状態を説明するための説明図である。
【図１４Ｄ】図１４Ｄは、追加設定された領域と第１の検出領域とが合わさった検出領域で障害物が検出されなくなったときの状態を説明するための説明図である。
【図１４Ｅ】図１４Ｅは、通常の設定領域に戻した状態を説明するための説明図である。
【符号の説明】
【０１４２】
２，５１ａ…本体部、３，５６ｓ…第１の検出領域、４，５６…障害物検出センサ、５，５３…自己位置計測装置、６，５５…経路計算装置、７，６１…駆動装置、８，７１ｂ−２…目的地、９…障害物、１１，５２…地図データベース、１２…メモリ領域、１３…マップ、１６…障害物、１６ａ…開口部、１６ｂ…行き止まり部、２０，２０Ｂ，５１…移動ロボット、２１，４１ｇ…第２の検出領域、２２…障害物認識装置、２３…障害物、２４…変換装置、３８…出力装置、３９…入力装置、４０ａ−６…進入不可領域、
４０ｄ−４，４０ｅ−４…距離、４０ｄ−５…通行可能な通路、４０ｄ−６，４０ｄ−７，４０ｅ−６，４０ｆ−６…障害物、４０ｅ−３…角度方向、４０ｆ−７…行き止まり、４０ｆ−５…通路状、４１ｓ−１，４１ｓ−２，４１ｓ−３，４１ｓ−４…第２の検出領域、４０Ｇ…障害物、４０Ｇ−１…窪みの深さ、４１ｈ…追加領域、４２…回転半径、５１ｂ−４…進行方向、５１ｂ−５…旋回速度成分、５１ｂ−６…移動経路、５４…仮想センサ情報計算装置、５６ｔ，６４ｓ，６５ｓ…検出領域、５７…仮想センサ設定変更装置、６２…エンコーダ、６３…オドメトリ計算装置、６４…光電センサ、６５…超音波センサ、７０…地図情報、７１ｂ−３…方向、７３…自己位置情報。
【図１Ａ】
2006107475.tif 000003
【図１Ｂ】
2006107475.tif 000004
【図１Ｃ】
2006107475.tif 000005
【図１Ｄ】
2006107475.tif 000006
【図１Ｅ】
2006107475.tif 000007
【図１Ｆ】
2006107475.tif 000008
【図１Ｇ】
2006107475.tif 000009
【図１Ｈ】
2006107475.tif 000010
【図１Ｉ】
2006107475.tif 000011
【図２】
2006107475.tif 000012
【図３Ａ】
2006107475.tif 000013
【図３Ｂ】
2006107475.tif 000014
【図３Ｃ】
2006107475.tif 000015
【図３Ｄ】
2006107475.tif 000016
【図３Ｅ】
2006107475.tif 000017
【図３Ｆ】
2006107475.tif 000018
【図４Ａ】
2006107475.tif 000019
【図４Ｂ】
2006107475.tif 000020
【図４Ｃ】
2006107475.tif 000021
【図５】
2006107475.tif 000022
【図６Ａ】
2006107475.tif 000023
【図６Ｂ】
2006107475.tif 000024
【図７Ａ】
2006107475.tif 000025
【図７Ｂ】
2006107475.tif 000026
【図７Ｃ】
2006107475.tif 000027
【図８Ａ】
2006107475.tif 000028
【図８Ｂ】
2006107475.tif 000029
【図９】
2006107475.tif 000030
【図１０Ａ】
2006107475.tif 000031
【図１０Ｂ】
2006107475.tif 000032
【図１０Ｃ】
2006107475.tif 000033
【図１１】
2006107475.tif 000034
【図１２Ａ】
2006107475.tif 000035
【図１２Ｂ】
2006107475.tif 000036
【図１２Ｃ】
2006107475.tif 000037
【図１３Ａ】
2006107475.tif 000038
【図１３Ｂ】
2006107475.tif 000039
【図１４Ａ】
2006107475.tif 000040
【図１４Ｂ】
2006107475.tif 000041
【図１４Ｃ】
2006107475.tif 000042
【図１４Ｄ】
2006107475.tif 000043
【図１４Ｅ】
2006107475.tif 000044