(57)【特許請求の範囲】
【請求項１】
所定経路に沿って移動する移動体であって、
前記移動体を動かす駆動装置と、
前記移動体の進行方向にある障害物を検出する障害物検出装置と、
前記移動体の位置を検出する位置検出装置と、
前記移動体が前記所定経路に沿って移動するように、前記位置検出装置が検出した前記移動体の位置に基づいて、前記駆動装置を制御する制御装置と、を備え、
前記制御装置は、
前記所定経路を含む、セルで区切られたグリッドマップを記憶し、前記セルに沿って前記移動体が移動するように前記駆動装置を制御し、
前記障害物検出装置が障害物を検出したときに、前記移動体が前記障害物に沿って移動するように前記駆動装置を制御し、
前記所定経路上の位置に暫定目標位置を設定し、
前記位置検出装置が検出する前記移動体の位置と前記暫定目標位置とが一致した場合に、前記所定経路に沿った移動を再開させ、
前記暫定目標位置は、前記障害物の位置に対応するセルに隣接するセルに設定される、
移動体。
【請求項２】
所定経路に沿って移動する移動体であって、
前記移動体を動かす駆動装置と、
前記移動体の進行方向にある障害物を検出する障害物検出装置と、
前記移動体の位置を検出する位置検出装置と、
前記移動体が前記所定経路に沿って移動するように、前記位置検出装置が検出した前記移動体の位置に基づいて、前記駆動装置を制御する制御装置と、を備え、
前記制御装置は、
前記障害物検出装置が障害物を検出したときに、前記移動体が前記障害物に沿って移動するように前記駆動装置を制御し、
前記位置検出装置が検出する前記移動体の位置と、前記制御装置が記憶する所定位置とが一致した場合、前記移動体が前記所定経路から逸れた後の経過時間が所定時間に達した場合、或いは、前記移動体が前記所定経路から逸れた後の移動距離が所定距離に達した場合に、前記移動体が前記障害物に沿って逆方向に移動するように前記駆動装置を制御し、
前記位置検出装置が検出する前記移動体の位置が前記所定経路上の位置に復帰した場合に、前記所定経路に沿った移動を再開させる、
移動体。
【請求項３】
前記制御装置は、前記障害物検出装置が障害物を検出したときに、前記移動体が前記障害物に沿って移動するように前記駆動装置を制御し、且つ、前記所定経路上の位置に暫定目標位置を設定し、前記位置検出装置が検出する前記移動体の位置と前記暫定目標位置とが一致した場合に、前記所定経路に沿った移動を再開させる、
請求項２に記載の移動体。
【請求項４】
前記暫定目標位置は、複数設定される、
請求項３に記載の移動体。
【請求項５】
前記制御装置は、前記所定経路を含む、セルで区切られたグリッドマップを記憶し、前記セルに沿って前記移動体が移動するように前記駆動装置を制御する、
請求項４に記載の移動体。
【請求項６】
前記暫定目標位置は、前記障害物の位置に対応するセルに隣接するセルに設定される、
請求項５に記載の移動体。
【請求項７】
前記制御装置は、前記移動体と前記障害物との間の距離を一定に保ちながら前記移動体が前記障害物に沿って移動するように前記駆動装置を制御する、
請求項２乃至４の何れか一項に記載の移動体。
【請求項８】
所定経路に沿って移動する移動体であって、
前記移動体を動かす駆動装置と、
前記移動体の進行方向にある障害物を検出する障害物検出装置と、
前記移動体の位置を検出する位置検出装置と、
前記移動体が前記所定経路に沿って移動するように、前記位置検出装置が検出した前記移動体の位置に基づいて、前記駆動装置を制御する制御装置と、を備え、
前記制御装置は、
前記障害物検出装置が障害物を検出したときに、前記移動体が前記所定経路から逸れて前記障害物に沿って移動するように前記駆動装置を制御し、
前記位置検出装置が検出する前記移動体の位置と、前記制御装置が記憶する所定位置とが一致した場合、前記移動体が前記所定経路から逸れた後の経過時間が所定時間に達した場合、或いは、前記移動体が前記所定経路から逸れた後の移動距離が所定距離に達した場合に、前記移動体が前記障害物に沿って逆方向に移動するように前記駆動装置を制御し、且つ、
前記位置検出装置が検出する前記移動体の位置が前記所定経路上の位置に復帰した場合に、前記所定経路に沿った移動を再開させる、
移動体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予め定められた経路に沿って移動する移動体に関する。
【背景技術】
【０００２】
従来、予定走行軌跡上に障害物を検出した場合に、その予定走行軌跡から局所的に逸れて障害物を回避するロボットが知られている（例えば、非特許文献１参照。）。
【０００３】
このロボットは、局所的回避が必要と判断した場合に、障害物を超えたところに設定される局所的な目的地と局所的な経路地図とに基づいて最短経路を算出することにより局所的に障害物を回避する経路を算出する。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】石田卓也、外４名、「再利用性を考慮した移動ロボット用ソフトウェアモジュールの開発−目的地までの指定経路走行に適した障害物回避手法−」、第２７回日本ロボット学会学術講演会、２００９年９月１５日、RSJ2009AC2Q2-01
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、非特許文献１のロボットは、予定走行軌跡上に障害物を検出する度にその障害物を回避するための最短経路の算出を実行するため演算負荷が大きく、障害物を検出してから走行を再開させるまでに時間がかかるという問題がある。
【０００６】
上述の点に鑑み、本発明は、障害物を回避するための動きをより早期に実行可能な移動体を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述の目的を達成するために、本発明の実施例に係る移動体は、所定経路に沿って移動する移動体であって、前記移動体を動かす駆動装置と、前記移動体の進行方向にある障害物を検出する障害物検出装置と、前記移動体の位置を検出する位置検出装置と、前記移動体が前記所定経路に沿って移動するように、前記位置検出装置が検出した前記移動体の位置に基づいて、前記駆動装置を制御する制御装置と、を備え、前記制御装置は、前記障害物検出装置が障害物を検出したときに、前記移動体が前記障害物に沿って移動するように前記駆動装置を制御し、前記位置検出装置が検出する前記移動体の位置が前記所定経路上の位置に復帰した場合に、前記所定経路に沿った移動を再開させる。
【発明の効果】
【０００８】
上述の手段により、本発明は、障害物を回避するための動きをより早期に実行可能な移動体を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施例に係る移動体の構成例を示す概略図である。
【図２】移動体の現在位置と地図データとの関係を示す図である。
【図３】障害物回避処理の流れを示すフローチャートである。
【図４】所定経路を辿る移動体が所定経路から逸脱し、障害物を迂回し、所定経路に復帰するまでの推移を示す図（その１）である。
【図５】所定経路を辿る移動体が所定経路から逸脱し、障害物を迂回し、所定経路に復帰するまでの推移を示す図（その２）である。
【図６】所定経路を辿る移動体が所定経路から逸脱し、障害物の迂回を試みた後、迂回できないと判定して停止するまでの推移を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しつつ、本発明を実施するための最良の形態の説明を行う。
【００１１】
図１は、本発明の実施例に係る移動体１００の構成例を示す概略図である。本実施例では、移動体１００は、主に、制御装置１、障害物検出装置２、位置検出装置３、記憶装置４、駆動装置５、及び出力装置６を含む。
【００１２】
移動体１００は、予め設定された所定経路を辿るように移動する装置であり、例えば、掃除ロボット、ＡＧＶ(Automated  Guided  Vehicle)等である。
【００１３】
具体的には、移動体１００は、位置検出装置３が検出する自己位置と、記憶装置４に予め記憶された所定経路の周囲の地図データとに基づいて、所定経路と自己位置との間の相対位置関係を把握しながら、所定経路を辿る。
【００１４】
また、移動体１００は、移動体１００の進行方向において地図データに登録されていない障害物を障害物検出装置２が検出した場合に、その障害物を迂回するように、所定経路を逸れてその障害物に沿って移動する。この場合、移動体１００は、ダイクストラ法、Ａ＊法等を用いて最短経路を算出することなく、その障害物を上面視で時計回り又は反時計回りに迂回するための移動を開始する。なお、時計回り又は反時計回りの何れの方向に移動するかは、予め決定されていてもよく、各種情報に基づいてその都度決定されてもよい。
【００１５】
移動体１００は、例えば、障害物を迂回する際に、右手又は左手をその障害物に当てながら障害物に沿って移動する。すなわち、移動体１００は、移動体１００の右側面及び左側面のうちの一方を常に障害物に向けるようにして移動する。なお、右側面及び左側面の何れを障害物に向けるかは、本実施例では、予め決定されている。但し、移動体１００は、障害物を検出した場合に、例えば現在の自己位置に基づいて何れの側面を障害物に向けるかを決定してもよい。なお、移動体１００は、ホロノミックな移動が可能であれば、移動体１００の特定の面（例えば前面である。）を常に障害物に向けながら、上面視で時計回り又は反時計回りに障害物を迂回するようにしてもよい。
【００１６】
次に、移動体１００の構成要素の詳細について説明する。
【００１７】
制御装置１は、移動体１００の動作を制御するための装置であり、例えば、ＣＰＵ（Central  Processing  Unit）、ＲＡＭ(Random  Access  Memory)、ＲＯＭ（Read  Only  Memory）等を備えたコンピュータである。
【００１８】
本実施例では、制御装置１は、走行制御部１０及び障害物回避走行制御部１１のそれぞれの機能要素に対応するプログラムをＲＯＭから読み出してＲＡＭに展開し、各機能要素に対応する処理をＣＰＵに実行させる。
【００１９】
障害物検出装置２は、移動体１００が通過できない穴、壁、段差等の地物を障害物として検出するための装置であり、例えば、カメラ等の画像センサ、レーザレンジファインダ等の距離センサ、静電容量型近接センサ等である。
【００２０】
本実施例では、障害物検出装置２は、移動体１００の前部に取り付けられ、移動体１００の進行方向における障害物を検出するレーザレンジファインダである。検出対象の障害物は、例えば、段ボール箱（例えば、幅５０ｃｍ、奥行き３５ｃｍの直方体である。）、ポール（例えば、直径２ｃｍ）等である。障害物検出装置２は、所定経路に沿って走行する移動体１００の進行方向にある障害物と移動体１００との間の距離を検出し、その検出結果を制御装置１に対して出力する。なお、障害物検出装置２は、移動体１００の前方の所定範囲（例えば５０ｃｍである。）に障害物が存在するか否かを検出するものであってもよい。
【００２１】
位置検出装置３は、移動体１００の位置を検出するための装置であり、例えば、ＧＰＳ(Global  Positioning  System)信号に基づいて移動体１００の位置（緯度、経度、高度）を測定するＧＰＳ受信機である。また、位置検出装置３は、移動体１００が車輪を用いて移動する場合には、オドメトリ法により移動体１００の位置を検出してもよい。具体的には、位置検出装置３は、車輪に取り付けられるエンコーダの出力に基づいて既知の所定位置に対する移動距離及び移動方向を認識することによって移動体１００の位置を検出してもよい。また、位置検出装置３は、ランドマーク法により、壁や床に描かれたマークをカメラで認識することによって移動体１００の位置を検出してもよい。
【００２２】
記憶装置４は、各種情報を記憶するための装置であり、例えば、ハードディスク、半導体メモリ、光学記憶媒体等の不揮発性記憶媒体である。
【００２３】
本実施例では、記憶装置４は、移動体１００が辿る所定経路の周囲の地図データを記憶する。地図データは、所定経路に関する情報、障害物の位置に関する情報等を含む。
【００２４】
駆動装置５は、移動体１００を動かすための装置であり、例えば、車輪、無限軌道等を駆動して移動体１００を移動させる。また、駆動装置５による移動体１００の移動は、ホロノミックであってもよく、非ホロノミックであってもよい。
【００２５】
出力装置６は、各種情報を出力するための装置であり、例えば、液晶ディスプレイ、ＬＥＤ、スピーカ、ブザー等である。本実施例では、出力装置６は、移動体１００に搭載され、制御装置１からの制御信号に応じて各種情報を表示したり、音声出力したりする。なお、出力装置６は、移動体１００とは独立して設置される装置であってもよい。その場合、出力装置６は、無線通信を通じて制御装置１が出力する制御信号を受信してもよい。
【００２６】
次に、制御装置１が有する各種機能要素について説明する。
【００２７】
走行制御部１０は、所定経路に沿った移動体１００の走行（以下、「通常走行」とする。）を制御するための機能要素である。
【００２８】
本実施例では、走行制御部１０は、位置検出装置３の出力と記憶装置４に記憶された地図データとに基づいて、所定経路と移動体１００の位置との相対位置関係を把握する。そして、走行制御部１０は、所定経路と移動体１００の位置との相対位置関係に応じた制御信号を駆動装置５に対して出力し、所定経路に沿って移動体１００が走行するように駆動装置５を制御する。
【００２９】
図２は、位置検出装置３が検出した移動体１００の現在位置と記憶装置４が記憶する地図データとの関係を示す図である。図２に示すように、地図データは、例えば、点線で示す所定経路ＬＣの周囲の領域を所定の大きさのグリッド（セル）で区切るグリッドマップである。また、地図データは、移動体１００が通過できない障害物、穴、壁、段差等の既知の地物に関する情報をセル単位に記憶する。セル単位の記憶は、１つのセルに対応する領域の一部に地物が存在する場合であってもそのセルに対応する領域の全体に地物が存在するものとして扱うことを意味する。なお、図２の斜線ハッチング領域Ｗは、移動体１００が通過できない壁を表す。また、図２の破線で囲まれる領域ＯＢは、移動体１００が通過できない障害物、穴、壁、段差等の、地図データに未だ記憶されていない地物であり、障害物検出装置２によって未だ検出されていない地物を表す。また、図２の五角形の指標ＭＶは、所定経路ＬＣを辿りながらセルに沿って図の上方に移動する移動体１００の現在値を表す。なお、セルに沿った移動は、例えば、グリッドの経線又は緯線に沿った移動を意味する。
【００３０】
障害物回避走行制御部１１は、障害物を回避するための移動体１００の走行（以下、「障害物回避走行」とする。）を制御するための機能要素である。
【００３１】
本実施例では、障害物回避走行制御部１１は、下位の機能要素として、暫定目標位置設定部１１０、経路復帰判定部１１１、及び到達可否判定部１１２を有する。
【００３２】
暫定目標位置設定部１１０は、移動体１００が所定経路ＬＣから逸脱して障害物回避走行を実行する際に、暫定的な目標位置を設定するための機能要素である。
【００３３】
具体的には、暫定目標位置設定部１１０は、障害物検出装置２によって障害物が検出された場合に、所定経路ＬＣから逸脱する移動体１００が向かう暫定目標位置を設定する。
【００３４】
「暫定目標位置」とは、障害物回避走行を終了して通常走行を再開させるための判定に用いられる位置である。
【００３５】
例えば、暫定目標位置設定部１１０は、障害物検出装置２によって検出された障害物が位置するセルを超えたところにある、所定経路ＬＣ上のセルを暫定目標位置として設定する。すなわち、障害物が位置するセルの先にあるそのセルに隣接する所定経路ＬＣ上のセルを暫定目標位置として設定する。なお、暫定目標位置設定部１１０は、複数の暫定目標位置を所定経路ＬＣ上に設定してもよい。
【００３６】
また、移動体１００は、暫定目標位置の設定を省略してもよい。この場合、障害物回避走行を実行する移動体１００は、所定経路ＬＣ上の何れかのセルに到達したときに、障害物回避走行を終了して通常走行を再開させる。
【００３７】
経路復帰判定部１１１は、所定経路ＬＣから逸脱し障害物に沿って走行する移動体１００が、所定経路ＬＣに復帰したか否かを判定するための機能要素である。
【００３８】
経路復帰判定部１１１は、例えば、位置検出装置３の出力と記憶装置４に記憶された地図データとに基づいて、障害物回避走行を実行する移動体１００が所定経路ＬＣ上の暫定目標位置に到達したか否かを判定する。
【００３９】
また、経路復帰判定部１１１は、暫定目標位置が設定されていない場合には、障害物回避走行を実行する移動体１００が所定経路ＬＣ上の何れかのセルに到達したか否かを判定する。
【００４０】
障害物回避走行制御部１１は、経路復帰判定部１１１により移動体１００が暫定目標位置に到達した、或いは、所定経路ＬＣ上の何れかのセルに到達したと判定されると、障害物回避走行を終了して通常走行を再開させる。
【００４１】
到達可否判定部１１２は、所定経路ＬＣから逸脱し障害物に沿って走行する移動体１００が、所定経路ＬＣに復帰できるか否かを判定するための機能要素である。
【００４２】
到達可否判定部１１２は、例えば、障害物回避走行を実行する移動体１００が地図データ上の所定領域に到達したと判断した場合に、現在の障害物回避走行を継続したとしても所定経路ＬＣに復帰できない、或いは、現在の障害物回避走行が適切でないと判定する。
【００４３】
所定領域は、例えば、地図データに予め登録されている領域であり、移動体１００が通過できない障害物、穴、壁、段差等の地物に隣接する領域である。本実施例では、所定領域は、図２の壁Ｗに隣接するセルＰＣの位置を含む。
【００４４】
或いは、所定領域は、暫定目標位置設定部１１０により設定された暫定目標位置よりも所定経路ＬＣの終点に近い領域として設定されてもよい。
【００４５】
また、到達可否判定部１１２は、移動体１００が所定経路ＬＣから逸脱した後の経過時間が所定時間に達した場合に、所定経路ＬＣに復帰できない、或いは、現在の障害物回避走行が適切でないと判定してもよい。
【００４６】
また、到達可否判定部１１２は、移動体１００が所定経路ＬＣから逸脱した後の移動距離が所定距離に達した場合に、所定経路ＬＣに復帰できない、或いは、現在の障害物回避走行が適切でないと判定してもよい。
【００４７】
また、到達可否判定部１１２は、暫定目標位置からの距離が所定距離を超えた場合に、所定経路ＬＣに復帰できない、或いは、現在の障害物回避走行が適切でないと判定してもよい。
【００４８】
障害物回避走行制御部１１は、到達可否判定部１１２により、所定経路ＬＣに復帰できない、或いは、現在の障害物回避走行が適切でないと判定された場合、迂回方向を反転させる。具体的には、障害物回避走行制御部１１は、例えば、移動体１００が右側面を障害物に向けて走行していた場合には、移動体１００が左側面を障害物に向けて走行するよう、駆動装置５に対して制御信号を出力する。なお、経路復帰判定部１１１は、迂回方向を判定させた後で移動体１００が所定経路ＬＣを逸脱した位置に戻ったとしても、移動体１００が所定経路ＬＣに戻ったと判定することはない。障害物が回避できていない状況に変わりがないためである。
【００４９】
或いは、障害物回避走行制御部１１は、到達可否判定部１１２により、所定経路ＬＣに復帰できない、或いは、現在の障害物回避走行が適切でないと判定された場合、暫定目標位置を変更してもよい。具体的には、障害物回避走行制御部１１は、例えば、移動体１００が暫定目標位置よりも所定経路ＬＣの終点に近い領域に到達した場合に、移動体１００の現在位置よりも所定経路ＬＣの終点に近い所定経路ＬＣ上の位置に暫定目標位置を変更してもよい。
【００５０】
或いは、障害物回避走行制御部１１は、所定経路ＬＣに復帰できない、或いは、現在の障害物回避走行が適切でないと判定された場合に、移動体１００の走行を停止させた上で、その旨を周囲に報知してもよい。具体的には、障害物回避走行制御部１１は、例えば、出力装置６に対して制御信号を出力し、ランプを点灯させたり、ブザーを吹鳴させたりする。
【００５１】
なお、障害物回避走行制御部１１は、左右の迂回方向の双方で障害物回避走行を実行した上でそれでもなお所定経路ＬＣに復帰できないと判定された場合に、暫定目標位置を変更したり、その旨を周囲に報知したりしてもよい。
【００５２】
次に、図３を参照しながら、制御装置１が移動体１００の障害物回避走行を制御する処理（以下、「障害物回避処理」とする。）について説明する。なお、図３は、障害物回避処理の流れを示すフローチャートであり、制御装置１は、所定周期で繰り返しこの障害物回避処理を実行する。
【００５３】
最初に、制御装置１の障害物回避走行制御部１１は、障害物検出装置２の出力に基づいて、所定経路ＬＣを辿る移動体１００の進行方向に障害物が存在するか否かを判断する（ステップＳ１）。
【００５４】
障害物が存在しないと判断した場合（ステップＳ１のＮＯ）、障害物回避走行制御部１１は、今回の障害物回避処理を終了させる。
【００５５】
一方、障害物が存在すると判断した場合（ステップＳ１のＹＥＳ）、障害物回避走行制御部１１は、暫定目標位置設定部１１０により、所定経路ＬＣ上のセルの１つを暫定目標位置として設定する（ステップＳ２）。本実施例では、障害物回避走行制御部１１は、その障害物を挟んだ向かい側にあるセルを暫定目標位置として設定する。
【００５６】
また、障害物回避走行制御部１１は、２つの迂回方向の何れに移動体１００を移動させるかを決定する（ステップＳ３）。具体的には、障害物回避走行制御部１１は、移動体１００の右側面を障害物に向けながら時計回りに障害物を迂回する方向、又は、移動体１００の左側面を障害物に向けながら反時計回りに障害物を迂回する方向の何れかを決定する。なお、迂回方向は予め決定されていてもよく、移動体１００の現在位置に基づいてリアルタイムに決定されてもよい。例えば、迂回方向は、最も近くにある壁から遠ざかる方向となるように決定されてもよい。
【００５７】
その後、障害物回避走行制御部１１は、記憶装置４の地図データを参照し、駆動装置５に制御信号を出力し、セルに沿って移動体１００を走行させることで、移動体１００が障害物を迂回できるようにする（ステップＳ４）。
【００５８】
その後、障害物回避走行制御部１１は、経路復帰判定部１１１により、所定経路ＬＣから逸脱した移動体１００が所定経路ＬＣに復帰したか否かを判定する（ステップＳ５）。具体的には、経路復帰判定部１１１は、位置検出装置３の出力に基づいて、移動体１００が暫定目標位置に到達したか否かを判定する。
【００５９】
移動体１００が暫定目標位置に到達したと判定した場合（ステップＳ５のＹＥＳ）、障害物回避走行制御部１１は、障害物回避走行を終了させ、通常走行を再開させる（ステップＳ６）。
【００６０】
一方、移動体１００が暫定目標位置に未だ到達していないと判定した場合（ステップＳ５のＮＯ）、障害物回避走行制御部１１は、到達可否判定部１１２により、移動体１００が所定領域に到達したか否かを判定する（ステップＳ７）。到達可否判定部１１２は、例えば、地図データに予め登録されている壁に隣接する領域に移動体１００が隣接したか否かを判定する。
【００６１】
移動体１００が所定領域に到達したと判定した場合（ステップＳ７のＹＥＳ）、障害物回避走行制御部１１は、時計回りの迂回方向と反時計回りの迂回方向との双方の障害物回避走行を既に実行したか否かを判定する（ステップＳ８）。
【００６２】
双方の障害物回避走行を既に実行したと判定した場合（ステップＳ８のＹＥＳ）、障害物回避走行制御部１１は、移動体１００が暫定目標位置に到達できないと判断する。そして、障害物回避走行制御部１１は、駆動装置５に対して制御信号を出力することによって移動体１００を停止させ、出力装置６に対して制御信号を出力することによってその旨を外部に報知する（ステップＳ９）。
【００６３】
一方、移動体１００が所定領域に到達していないと判定した場合（ステップＳ７のＮＯ）、障害物回避走行制御部１１は、現在の迂回方向の障害物回避走行を継続させるべく、処理をステップＳ４に戻す。
【００６４】
また、双方の障害物回避走行を未だ実行していないと判定した場合（ステップＳ８のＮＯ）、障害物回避走行制御部１１は、迂回方向を反転させる（ステップＳ１０）。その上で、障害物回避走行制御部１１は、反転後の迂回方向の障害物回避走行を実行すべく、処理をステップＳ４に戻す。
【００６５】
このように、障害物回避走行制御部１１は、障害物を検出した場合には、通常走行を再開させるか、或いは、到達不能を報知するまで、所定経路ＬＣの外部での移動体１００のセルに沿った走行を制御する。
【００６６】
これにより、障害物回避走行制御部１１は、障害物を検出した場合、その障害物を回避するための最短経路を算出することなく、障害物回避走行を実行することができる。その結果、移動体１００は、障害物を検出した場合にもその動きを長時間にわたって止めることなく走行を継続することができ、障害物を回避するための動きをより早期に実行することができる。
【００６７】
次に、図４を参照しながら、障害物を検出した移動体１００の動きについて説明する。なお、図４は、図２に対応する図であり、所定経路ＬＣを辿る移動体１００が所定経路ＬＣから逸脱し、障害物を迂回し、所定経路ＬＣに復帰するまでの推移を示す。また、図４では、最初に採るべき迂回方向が予め反時計回りに設定されている。
【００６８】
図４（Ａ）に示すように、指標ＭＶでその現在位置が表される移動体１００は、左右の壁Ｗに挟まれる通路を所定経路ＬＣに沿って移動している。
【００６９】
その後、図４（Ｂ）に示すように、移動体１００は、セルＣ１の位置に到達したときに、障害物検出装置２により進行方向のセルＣ２の位置で障害物ＯＢの一部を検出する。
【００７０】
このとき、移動体１００は、暫定目標位置設定部１１０により、検出した障害物ＯＢの一部が位置するセルＣ２に隣接する、所定経路ＬＣ上のセルＣ３の位置に星印で示す暫定目標位置ＰＤ１を設定する。なお、障害物ＯＢは、実際にはセルＣ３の位置にも存在するが、この時点では、移動体１００によって検出されていない。そのため、移動体１００は、セルＣ２以外のセルのうち最も移動体１００に近い位置にあるセルＣ３の位置に暫定目標位置ＰＤ１を設定する。
【００７１】
障害物ＯＢの一部を検出した後、図４（Ｃ）に示すように、移動体１００は、障害物ＯＢを反時計回りに迂回するように右折して所定経路ＬＣから逸脱し、セルに沿った障害物回避走行を開始する。
【００７２】
その後、移動体１００は、図４（Ｄ）に示すように、セルＣ２を反時計回りに迂回するための左折を試みたときに、セルＣ４の位置で障害物ＯＢの別の一部を検出する。
【００７３】
そのため、移動体１００は、図の右方向へのセルに沿った走行を継続させ、図４（Ｅ）に示すように、セルＣ４を反時計回りに迂回するための左折を試みる。
【００７４】
この段階では、移動体１００は、障害物ＯＢの一部を検出しないため、左折を実行した後、図４（Ｆ）に示すように、図の上方向へのセルに沿った走行を継続させる。
【００７５】
その後、移動体１００は、図４（Ｇ）に示すように、セルＣ４を反時計回りに迂回するための左折を試みたときに、セルＣ５の位置で障害物ＯＢのさらに別の一部を検出する。
【００７６】
そのため、移動体１００は、図の上方向へのセルに沿った走行を継続させる。このとき、移動体１００は、セルＣ３の位置に設定していた暫定目標位置ＰＤ１をセルＣ６の位置に変更して暫定目標位置ＰＤ２を設定する。セルＣ５の位置にある障害物ＯＢの一部の存在により、到達可否判定部１１２は、移動体１００がセルＣ５の位置を通って暫定目標位置ＰＤ１に到達することができないと判断するためである。
【００７７】
その後、移動体１００は、図４（Ｈ）に示すように、セルＣ５を反時計回りに迂回するための左折を試みる。
【００７８】
このとき、移動体１００は、セルＣ７の位置で障害物ＯＢのさらに別の一部を検出する。
【００７９】
そのため、移動体１００は、図の上方向へのセルに沿った走行をさらに継続させる。このとき、移動体１００は、セルＣ６の位置に設定していた暫定目標位置ＰＤ２をセルＣ８の位置に変更して暫定目標位置ＰＤ３を設定する。セルＣ７の位置にある障害物ＯＢの一部の存在により、到達可否判定部１１２は、移動体１００がセルＣ７の位置を通って暫定目標位置ＰＤ２に到達することができないと判断するためである。
【００８０】
その後、移動体１００は、図４（Ｉ）に示すように、セルＣ７を反時計回りに迂回するための左折を試みる。
【００８１】
この段階では、移動体１００は、障害物ＯＢの一部を検出しないため、左折を実行した後、図４（Ｊ）に示すように、図の左方向へのセルに沿った走行を継続させ、セルＣ８の位置に設定された暫定目標位置ＰＤ３に到達する。
【００８２】
経路復帰判定部１１１により移動体１００が暫定目標位置ＰＤ３に到達したと判定されると、移動体１００は、障害物回避走行を中止して走行制御部１０による通常走行を再開させる。
【００８３】
次に、図５を参照しながら、障害物を検出した移動体１００の別の動きについて説明する。なお、図５は、図２及び図４に対応する図であり、所定経路ＬＣを辿る移動体１００が所定経路ＬＣから逸脱し、障害物を迂回し、所定経路ＬＣに復帰するまでの推移を示す。また、図５では、最初に採るべき迂回方向が時計回りに設定されている。
【００８４】
図５（Ａ）に示すように、指標ＭＶでその現在位置が表される移動体１００は、左右の壁Ｗに挟まれる通路を所定経路ＬＣに沿って移動している。
【００８５】
その後、図５（Ｂ）に示すように、移動体１００は、セルＣ１の位置に到達したときに、障害物検出装置２により進行方向のセルＣ２の位置で障害物ＯＢの一部を検出する。
【００８６】
このとき、移動体１００は、暫定目標位置設定部１１０により、検出した障害物ＯＢの一部が位置するセルＣ２に隣接する、所定経路ＬＣ上のセルＣ３の位置に星印で示す暫定目標位置ＰＤ１を設定する。
【００８７】
障害物ＯＢの一部を検出した後、図５（Ｃ）に示すように、移動体１００は、障害物ＯＢを時計回りに迂回するように左折して所定経路ＬＣから逸脱し、セルに沿った障害物回避走行を開始する。
【００８８】
その後、移動体１００は、図５（Ｄ）に示すように、セルＣ２を時計回りに迂回するための右折を試みたときに、セルＣ９の位置で障害物ＯＢの別の一部を検出する。
【００８９】
そのため、移動体１００は、図の左方向へのセルに沿った走行を継続させ、図５（Ｅ）に示すように、セルＣ９を時計回りに迂回するための右折を試みる。
【００９０】
このとき、移動体１００は、セルＣ１０の位置で障害物ＯＢのさらに別の一部を検出する。
【００９１】
そのため、移動体１００は、図の左方向へのセルに沿った走行をさらに継続させる。
【００９２】
そして、移動体１００は、到達可否判定部１１２により、移動体１００が所定領域の一部であるセルＰＣの位置に到達したと判断すると、現在の迂回方向では暫定目標位置ＰＤ１に到達できないと判定する。
【００９３】
そして、移動体１００は、図５（Ｆ）に示すように、障害物回避走行制御部１１により、迂回方向を反転させ、図の右方向への走行を開始させる。このとき、移動体１００は、セルＣ１０及びセルＣ９を反時計回りに迂回するための左折を試みることなく、セルＣ２を反時計回りに迂回できる位置まで、図の右方向へのセルに沿った走行を継続させる。既に走行した部分のためである。
【００９４】
その後、図５（Ｇ）に示すように、セルＣ２を反時計回りに迂回するための左折を試みる。
【００９５】
このとき、移動体１００は、セルＣ４の位置で障害物ＯＢのさらに別の一部を検出する。
【００９６】
そのため、移動体１００は、図の右方向へのセルに沿った走行を継続させ、図５（Ｈ）に示すように、セルＣ４を反時計回りに迂回するための左折を試みる。
【００９７】
この段階では、移動体１００は、障害物ＯＢの一部を検出しないため、左折を実行した後、図５（Ｉ）に示すように、図の上方向へのセルに沿った走行を継続させる。
【００９８】
その後、移動体１００は、図４（Ｇ）〜図４（Ｊ）と同様の推移を辿り、セルＣ８の位置に設定された暫定目標位置ＰＤ３に到達する。
【００９９】
経路復帰判定部１１１により移動体１００が暫定目標位置ＰＤ３に到達したと判定されると、移動体１００は、障害物回避走行を中止して走行制御部１０による通常走行を再開させる。
【０１００】
次に、図６を参照しながら、障害物を検出した移動体１００のさらに別の動きについて説明する。なお、図６は、図２、図４、及び図５に対応する図であり、所定経路ＬＣを辿る移動体１００が所定経路ＬＣから逸脱し、障害物の迂回を試みた後、迂回できないと判定して停止するまでの推移を示す。また、図６では、障害物ＯＢ１が左右の壁Ｗの間の通路を完全に塞いでいる。また、図６では、最初に採るべき迂回方向が反時計回りに設定されている。
【０１０１】
図６（Ａ）に示すように、指標ＭＶでその現在位置が表される移動体１００は、左右の壁Ｗに挟まれる通路を所定経路ＬＣに沿って移動している。
【０１０２】
その後、図６（Ｂ）に示すように、移動体１００は、セルＣ１の位置に到達したときに、障害物検出装置２により進行方向のセルＣ２の位置で障害物ＯＢ１の一部を検出する。
【０１０３】
このとき、移動体１００は、暫定目標位置設定部１１０により、検出した障害物ＯＢ１の一部が位置するセルＣ２に隣接する、所定経路ＬＣ上のセルＣ３の位置に星印で示す暫定目標位置ＰＤ１を設定する。
【０１０４】
障害物ＯＢ１の一部を検出した後、図６（Ｃ）に示すように、移動体１００は、障害物ＯＢを時計回りに迂回するように左折して所定経路ＬＣから逸脱し、セルに沿った障害物回避走行を開始する。
【０１０５】
その後、移動体１００は、図６（Ｄ）に示すように、セルＣ２を時計回りに迂回するための右折を試みたときに、セルＣ９の位置で障害物ＯＢ１の別の一部を検出する。
【０１０６】
そのため、移動体１００は、図の左方向へのセルに沿った走行を継続させ、図６（Ｅ）に示すように、セルＣ９を時計回りに迂回するための右折を試みる。
【０１０７】
このとき、移動体１００は、セルＣ１０の位置で障害物ＯＢ１のさらに別の一部を検出する。そのため、移動体１００は、図の左方向へのセルに沿った走行をさらに継続させる。
【０１０８】
そして、移動体１００は、到達可否判定部１１２により、移動体１００が所定領域の一部であるセルＰＣの位置に到達したと判断すると、現在の迂回方向では暫定目標位置ＰＤ１に到達できないと判定する。
【０１０９】
そして、移動体１００は、図６（Ｆ）に示すように、障害物回避走行制御部１１により、迂回方向を反転させ、図の右方向への走行を開始させる。このとき、移動体１００は、セルＣ１０及びセルＣ９を反時計回りに迂回するための左折を試みることなく、セルＣ２を反時計回りに迂回できる位置まで、図の右方向へのセルに沿った走行を継続させる。既に走行した部分のためである。
【０１１０】
その後、図６（Ｇ）に示すように、セルＣ２を反時計回りに迂回するための左折を試みる。このとき、移動体１００は、セルＣ４の位置で障害物ＯＢ１のさらに別の一部を検出する。
【０１１１】
そのため、移動体１００は、図の右方向へのセルに沿った走行をさらに継続させ、図６（Ｈ）に示すように、セルＣ４を反時計回りに迂回するための左折を試みる。このときも、移動体１００は、セルＣ１１の位置で障害物ＯＢ１のさらに別の一部を検出する。
【０１１２】
そのため、移動体１００は、図の右方向へのセルに沿った走行をさらに継続させ、図６（Ｉ）に示すように、セルＣ１１を反時計回りに迂回するための左折を試みる。このときも、移動体１００は、セルＣ１２の位置で障害物ＯＢ１のさらに別の一部を検出する。
【０１１３】
その結果、移動体１００は、所定領域の一部であるセルＰＣ１に到達する。到達可否判定部１１２は、移動体１００が所定領域の一部であるセルＰＣの位置に到達したと判断すると、何れの迂回方向においても移動体１００が暫定目標位置ＰＤ１に到達できないと判定する。そして、障害物回避走行制御部１１は、移動体１００の走行を停止させ、出力装置６から警報を出力させる。
【０１１４】
以上の構成により、移動体１００は、最短経路を算出することなく障害物回避走行を開始するので、障害物を回避するための動きをより早期に実行することができる。
【０１１５】
また、移動体１００は、地図データ上の所定領域に到達したと判断した場合に、現在の障害物回避走行を継続したとしても所定経路に復帰できない、或いは、現在の障害物回避走行が適切でないと判定する。また、移動体１００は、移動体１００が所定経路ＬＣから逸脱した後の経過時間が所定時間に達した場合、逸脱後の移動距離が所定距離に達した場合、或いは、暫定目標位置からの距離が所定距離を超えた場合に、同様の判定を行ってもよい。このようにして、移動体１００は、現在の障害物回避走行を継続したとしても所定経路に復帰できない、或いは、現在の障害物回避走行が適切でないことを容易に判定することができる。
【０１１６】
また、移動体１００は、現在の障害物回避走行を継続したとしても所定経路に復帰できない、或いは、現在の障害物回避走行が適切でないと判定した場合に迂回方向を反転させる。また、移動体１００は、同様の判定を行った場合に、暫定目標位置を変更してもよく、その判定内容を周囲に報知してもよい。このようにして、移動体１００は、現在の障害物回避走行を継続したとしても所定経路に復帰できない、或いは、現在の障害物回避走行が適切でないと判定した場合に、次の行動を即座に実行することができる。
【０１１７】
また、移動体１００は、障害物回避走行を実行する際にグリッドマップ上のセルに沿って移動するため、移動方向側方に障害物検出装置２を取り付けることなく、障害物を迂回することができる。すなわち、移動体１００は、前方の狭い範囲を監視可能な障害物検出装置２を搭載するだけで、障害物を迂回することができる。
【０１１８】
以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなしに上述した実施例に種々の変形及び置換を加えることができる。
【０１１９】
例えば、上述の実施例では、移動体１００は、グリッドマップ上のセルに沿って移動するが、本発明はこれに限定されるものではない。移動体１００は、例えば、距離センサで障害物と移動体１００との間の距離を測定し、その距離を一定に保ちながら障害物の輪郭に沿って移動してもよい。
【符号の説明】
【０１２０】
１・・・制御装置  ２・・・障害物検出装置  ３・・・位置検出装置  ４・・・記憶装置  ５・・・駆動装置  ６・・・出力装置  １０・・・走行制御部  １１・・・障害物回避走行制御部  １１０・・・暫定目標位置設定部  １１１・・・経路復帰判定部  １１２・・・到達可否判定部
【図１】
0005868788.tif 000002
【図２】
0005868788.tif 000003
【図３】
0005868788.tif 000004
【図４】
0005868788.tif 000005
【図５】
0005868788.tif 000006
【図６】
0005868788.tif 000007