(57)【要約】【課題】  始点と終点の間に巡回点があっても、計算時間を短縮するとともに、メモリの消費量を抑えて、さらに用途に合わせて、巡回点を通るような最適な経路を生成できるようにする。【解決手段】  経路計画部６は、地図情報および巡回点の情報を受け取る入力受付部１１と、情報から巡回点の巡回順序を決定する巡回順序決定部１２と、巡回点間の経路探索を行って全経路を生成する巡回点間経路計画部１３と、巡回点間経路計画部１３から得られた経路について、同一巡回点を複数回通過するかチェックし、同一巡回点を複数回通過する場合には巡回順序を修正して巡回点間経路計画部１３にて経路探索を再実行させ、修正前後の経路のうち短い方を最終的な全経路として出力する経路修正部１４と、全経路に沿って移動ロボットを動作させる命令を生成するコマンド生成部１５からなる。【選択図】図２
2007280251.tif 000002
【特許請求の範囲】
【請求項１】
地図情報および巡回点の情報から経路計画を行う経路計画部と、前記経路計画部の出力に基づいて移動指令を生成する動作制御部からなる制御装置を備えた移動ロボットにおいて、
前記経路計画部は、前記地図情報および巡回点の情報を受け取る入力受付部と、
前記情報から前記巡回点の巡回順序を決定する巡回順序決定部と、
前記巡回点間の経路探索を行って全経路を生成する巡回点間経路計画部と、
前記巡回点間経路計画部から得られた経路について、同一巡回点を複数回通過するかチェックし、同一巡回点を複数回通過する場合には前記巡回順序を修正して前記巡回点間経路計画部にて経路探索を再実行させ、修正前後の経路のうち短い方を最終的な全経路として出力する経路修正部と、
前記全経路に沿って前記移動ロボットを動作させる命令を生成するコマンド生成部を備えることを特徴とする移動ロボット。
【請求項２】
前記巡回順序決定部は、前記巡回順序を自動決定するモードと指定順に決定するモードとを備え、モード指定により前記２モードのいずれかにより前記巡回順序を決定することを特徴とする請求項１に記載の移動ロボット。
【請求項３】
前記巡回順序決定部は、前記自動決定モードが指定された場合に、前記経路の始点および終点を除いた巡回点について、重み最小のハミルトン閉路を生成して巡回閉路を生成するステップと、前記巡回閉路上の巡回点のうち、前記始点に最も近い巡回点と前記始点とを接続するステップと、前記始点と接続された巡回点に隣接する巡回点のうち、前記終点との距離が短い巡回点を前記終点と接続するステップと、前記始点に接続された巡回点と前記終点に接続された巡回点との間を開放するステップによって、前記始点から前記終点までの巡回順序を決定することを特徴とする請求項２に記載の移動ロボット。
【請求項４】
前記巡回点間経路計画部は、巡回点間の経路をＡ＊探索にて探索することを特徴とする請求項１に記載の移動ロボット。
【請求項５】
前記経路計画部は、前記地図情報を複数の領域に分割した分割地図毎に、前記分割地図上に予め設けられた接続点を始点または終点とする経路を生成し、前記分割地図毎に生成された前記経路を前記接続点にて繋げることにより全経路を生成することを特徴とする請求項１に記載の移動ロボット。
【請求項６】
前記巡回順序決定部は、前記分割地図の巡回順序を自動決定するモードと指定順に決定するモードとを備え、モード指定により前記２モードのいずれかにより前記分割地図の巡回順序を決定することを特徴とする請求項５に記載の移動ロボット。
【請求項７】
前記入力受付部は、電子タグに記録された前記巡回点の情報を受け取ることを特徴とする請求項１に記載の移動ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、本発明は、オフィス、工場等の施設内において、地図に基づいて経路を計画して自律的に移動する移動ロボットに関する。  
【背景技術】
【０００２】
従来の移動ロボット等の経路計画方法では、予め与えられた地図上を始点から終点まで移動する際に、Ａ＊探索等を用いて距離、時間等を評価して最適な経路を生成している。例えば、経路探索時に経路選択の評価を、移動に要する時間に基づいて決定しているもの（特許文献１参照）や、複数の目的地点が指定された場合でもＡ＊探索および遺伝的アルゴリズムを段階的に適用して最適な経路を生成しているもの（例えば、特許文献２、非特許文献１参照）がある。
図８は、特許文献２における経路計画システムのサーバ装置のブロック構成図である。図８において、１０１は入力受付部であり、図示しない携帯端末から通信部１０５を介して目的地点等のデータを受け付ける。１０２は２地点経路探索部であり、ユーザによって入力された複数の目的地点の任意の２地点間の最短経路を、地図データを用いてＡ＊探索により探索する。
１０３は遺伝的アルゴリズム実行部であり、遺伝的アルゴリズムを用いて目的地点の訪問順序を決定する。このとき、ユーザが訪問を希望する程度も考慮される。１０４は出力部であり、２地点経路探索部１０２、遺伝的アルゴリズム実行部１０３により求められた経路を通信部１０５へ出力する。１０５は通信部であり、携帯端末と通信を行い、データ送受信を行う。
【０００３】
また、図９は、特許文献２における経路計画システムのサーバ装置の動作を示すフローチャートである。図９において、ステップ１０１では目的地点等のデータが受信され、入力受付部１０１にてデータが設定される。ステップ１０２では、２地点経路探索部１０２にて、入力された複数の目的地点のうち組み合わせることができる２地点の全パターンのそれぞれに対し、Ａ＊探索を用いて最短経路を探索する。ただし、２地点とも観光地として記憶されている場合は、予め記憶された経路情報を参照する。ステップ１０３では、遺伝的アルゴリズム実行部１０３にて、訪問希望程度も評価に入れつつ遺伝的アルゴリズムを用いて目的地点の訪問順序を決定し、２地点経路探索部１０２の結果をつなげて最終的な経路を生成する。その後ステップ１０４で、出力部１０４が生成された経路を通信部１０５へ出力し、携帯端末へデータ送信する。
【０００４】
このように、従来の移動ロボット等の経路計画方法では、複数の目的地点が指定された場合には、入力された複数の目的地点のうち組み合わせることができる２地点の全パターンのそれぞれに対し、Ａ＊探索を用いて最短経路を探索し、遺伝的アルゴリズムを用いて目的地点の訪問順序を決定して経路を生成する、という手順がとられていた。
【０００５】
【特許文献１】特開平５−１０１０３６号公報（第３−４頁、図１）
【特許文献２】特開２００５−１６４３８４号公報（第１１−２１頁、図３、４）
【非特許文献１】マルチメディア、分散、協調とモバイル（ＤＩＣＯＭＯ２００３シンポジウム、２００３年６月、ｐｐ．４６９−４７２）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の経路計画方法では、経路探索時に、移動に要する時間に基づいて経路選択の評価を決定しているので、始点と終点の間に通らなければならない巡回点があってもこの巡回点を通ることができないという問題があった。
また、特許文献２および非特許文献１のような場合は、まず前段において巡回点から２地点を組み合わせてその全パターンに対し最短経路を探索するか、あるいは記憶された巡回点に対しては予め記憶された経路情報を参照するかして２地点間の最短経路を生成し、後段において遺伝的アルゴリズムを用いて巡回点の訪問順序を決定して経路を生成するという手順をとっているので、巡回点が増えてくるにつれて、前段部分で全パターンのそれぞれに対し経路探索を行うことにより計算時間が増大したり、記憶する巡回点間経路情報が記憶巡回点の全パターン分に増えることでメモリの消費量が増大したりするという問題もあった。
また、訪問希望程度も評価に入れつつ目的地点の訪問順序を決定しているので、訪問順序を指定したい場合、指定した訪問順序にならない可能性がある。また、地図上の部分領域毎に訪問順序を指定したり自動決定したり細かな設定ができないために、用途に合った経路を生成することができないという問題もあった。
本発明はこのような問題点に鑑みてなされたものであり、始点と終点の間に巡回点があっても、計算時間を短縮するとともに、メモリの消費量を抑え、さらに用途に合わせて巡回点を通るような最適な経路を生成できる移動ロボットを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記問題を解決するため、本発明は、次のようにしたのである。
請求項１に記載の発明は、地図情報および巡回点の情報から経路計画を行う経路計画部と、前記経路計画部の出力に基づいて移動指令を生成する動作制御部からなる制御装置を備えた移動ロボットにおいて、前記経路計画部は、前記地図情報および巡回点の情報を受け取る入力受付部と、前記情報から前記巡回点の巡回順序を決定する巡回順序決定部と、前記巡回点間の経路探索を行って全経路を生成する巡回点間経路計画部と、前記巡回点間経路計画部から得られた経路について、同一巡回点を複数回通過するかチェックし、同一巡回点を複数回通過する場合には前記巡回順序を修正して前記巡回点間経路計画部にて経路探索を再実行させ、修正前後の経路のうち短い方を最終的な全経路として出力する経路修正部と、前記全経路に沿って前記移動ロボットを動作させる命令を生成するコマンド生成部を備えることを特徴とする。
【０００８】
請求項２に記載の発明は、前記巡回順序決定部は、前記巡回順序を自動決定するモードと指定順に決定するモードとを備え、モード指定により前記２モードのいずれかにより前記巡回順序を決定することを特徴とする。
【０００９】
請求項３に記載の発明は、前記巡回順序決定部は、前記自動決定モードが指定された場合に、前記経路の始点および終点を除いた巡回点について、重み最小のハミルトン閉路を生成して巡回閉路を生成するステップと、前記巡回閉路上の巡回点のうち、前記始点に最も近い巡回点と前記始点とを接続するステップと、前記始点と接続された巡回点に隣接する巡回点のうち、前記終点との距離が短い巡回点を前記終点と接続するステップと、前記始点に接続された巡回点と前記終点に接続された巡回点との間を開放するステップによって、前記始点から前記終点までの巡回順序を決定することを特徴とする。
【００１０】
請求項４に記載の発明は、前記巡回点間経路計画部は、巡回点間の経路をＡ＊探索にて探索することを特徴とする。
【００１１】
請求項５に記載の発明は、前記経路計画部は、前記地図情報を複数の領域に分割した分割地図毎に、前記分割地図上に予め設けられた接続点を始点または終点とする経路を生成し、前記分割地図毎に生成された前記経路を前記接続点にて繋げることにより全経路を生成することを特徴とする。
【００１２】
請求項６に記載の発明は、前記巡回順序決定部は、前記分割地図の巡回順序を自動決定するモードと指定順に決定するモードとを備え、モード指定により前記２モードのいずれかにより前記分割地図の巡回順序を決定することを特徴とする。
【００１３】
請求項７に記載の発明は、前記入力受付部は、電子タグに記録された前記巡回点の情報を受け取ることを特徴とする。
【発明の効果】
【００１４】
請求項１、３、４、７に記載の発明によると、始点と終点の間に巡回点があっても、計算時間を短縮するとともに、メモリの消費量を抑えて、巡回点を通るような最適な経路を生成することができる。
また、請求項２、５、６に記載の発明によると、作業エリア毎に巡回点順序を指定したり自動決定したりするように設定できるとともに、作業エリアの巡回順序も指定したり自動決定したりするように設定できるので、さらに用途に合った経路を生成することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の方法の具体的実施例について、図に基づいて説明する。
【実施例１】
【００１６】
図１は、本発明の移動ロボットの構成を示す構成図である。図において１は入力装置であり、与えられた巡回点や地図の情報を持ち、移動ロボット制御装置２に転送する。なお、地図情報は、ノードおよびノードを結ぶアークやエッジからなるグラフ表現によって表される。２は移動ロボット制御装置であり、マイクロプロセッサ等の計算機ベースで制御を行い、ＣＰＵやメモリを搭載している。
移動ロボット制御装置２では、入力装置１の情報からの巡回点および地図情報に基づいて移動経路を生成し、移動経路を元に駆動機構５を制御するための移動指令、例えば速度指令や位置指令を生成する。移動ロボット制御装置２は、経路計画部６および動作制御部７から構成され、経路計画部６では、巡回点および地図の入力情報から移動経路を生成して移動ロボットを動作させる命令に変換して動作制御部７に出力する。動作制御部７では、経路計画部６で生成された命令を解析し、解析された命令毎に補間処理を施して制御周期当たりの速度または位置指令を生成して出力する。
３はアンプであり、動作制御部７から出力された速度または位置指令およびモータ／エンコーダ４から入力されるエンコーダ応答よりモータを駆動するための電流指令を生成し出力する。４は、モータ／エンコーダであり、アンプ３からの電流指令に基づきモータを回転運動させて駆動機構５を駆動する。エンコーダは、モータの回転量を検出し、アンプ３にフィードバックする。
５は駆動機構であり、モータ／エンコーダ４の出力軸に接続された車輪あるいは操舵軸を複数組有する移動機構から構成され、移動ロボット制御装置２からの指令に基づき駆動される。
【００１７】
図２は、移動ロボット制御装置２の構成図である。経路計画部６の詳細構成について図２を用いて説明する。１１は入力受付部であり、入力装置１からの巡回点および地図情報を読み込んで経路計画部６で使用する形式の情報に変換する。
また、入力装置１からの情報には、巡回順序を自動決定するか、指定順に巡回するかを指定するモード情報と、指定順に巡回する場合にはその順序も含まれている。
１２は巡回順序決定部であり、入力受付部１１で生成された巡回点および地図情報から、指定されたモードに応じて地図内の巡回点を巡回する順序を決定する。
巡回順序は、重み最小のハミルトン閉路を生成して巡回閉路を生成し、巡回閉路に始点および終点を距離が最短になるように接続して決定する。
１３は巡回点間経路計画部であり、巡回順序決定部１２で決定された巡回順序の順に、今回巡回点と次巡回点との間の巡回点間経路をＡ＊探索にて探索する。１４は経路修正部であり、巡回点間経路計画部１３から得られた経路について、同一の巡回点を２度通るか否かをチェックする。２度通る巡回点がある場合には巡回順序の修正が必要であると判断し、巡回順序の修正を施して経路探索を再実行させ、修正前後の経路のうち、短い方の経路を選択して最終的な全経路として出力する。
１５はコマンド生成部であり、経路修正部１４から出力された全経路情報から、動作制御部７に与える命令の形式に変換する処理を行う。例えば、ある地点間の直線移動命令をMOVELとし、全経路情報が原点（始点）→点Ａ→点Ｂ（終点）のように示されているとするとMOVEL posA、MOVEL posBの順に命令を生成する。（posAは点Ａの位置情報、posBは点Ｂの位置情報を表す。）このように、移動ロボット制御装置２において経路計画を行うようにする。
本発明は、巡回順序決定部１２、巡回点間経路計画部１３、経路修正部１４およびコマンド生成部１５を備えたことに特長がある。
【００１８】
図３は経路計画部６において経路計画する処理手順を示すフローチャートである。この図を用いて本発明における処理を順を追って説明する。
はじめにステップ1で、入力受付部１１にて入力装置１からの巡回点および地図情報を読み込んで巡回点のリスト情報および地図のリスト情報を作成する。
次にステップ２で巡回順序決定部１２にて、図４のように始点および終点を除いた巡回点から重み最小のハミルトン閉路を生成して巡回閉路を生成する。すると最短距離で巡回点間を結ぶように巡回順序を決定するので最適なサブゴールが生成される。
ステップ３で、ステップ２で生成された巡回閉路に始点および終点を接続する。図４に示すように、まず始点と一番近い巡回点を検索して接続する。さらに、始点に接続された巡回点に隣接した巡回点のうち、終点との距離が短い方を終点と接続する。そして始点に接続された巡回点と終点に接続された巡回点との間を開放する。その結果、始点から接続している巡回点を辿ることにより、始点および終点を含んだ全巡回点の巡回順序が決定し、巡回点間経路探索のサブゴール列となって出力される。
【００１９】
ステップ４にて、ステップ３で決定された巡回順序の順、すなわちステップ３で生成されたサブゴール列の順に、図４のように今回巡回点と次巡回点との間の巡回点間経路をＡ＊探索にて探索する。同時に全経路の移動距離を計算して全経路情報とともに保存しておく。この結果、巡回点を通る始点から終点までの全経路情報が生成される。
ステップ５で、ステップ４で生成された全経路情報が修正済みか否か判定する。修正済みの場合はステップ８へ進み、修正済みでない場合はステップ６へ進む。
ステップ６では、ステップ４で生成された全経路情報から、巡回点間の経路の中に別の巡回点があるかを検出し、巡回点を２度通るかチェックする。巡回点を２度通らない場合はステップ９へ進み、巡回点を２度通る場合はステップ７へ進む。
【００２０】
ステップ７では、巡回点を２度通る場合の修正を行う。例えば、図５(ａ)に示すように、巡回点Ａ、Ｂ、Ｃ、Ｄの順序で巡回する場合において、巡回点ＡＢ間の経路に巡回点Ｃが現れた場合、巡回点ＢとＣの順序を入れ替えて修正する。また、図５(ｂ)に示すように、巡回点ＡＢ間の経路にＣ、Ｄの順に巡回点が複数現れた場合は、巡回点ＢとＣの順序を入れ替えた後、巡回点ＢとＤの順序を入れ替えて修正する。
もし、巡回点ＡＢ間の経路にＤ、Ｃの順に現れた場合は、図５（ｂ）の（３）で巡回点ＢとＤの順序を入れ替えた後、さらに巡回点ＣとＤの順序を入れ替える。このように巡回順序を修正した後、ステップ４に戻り巡回点間経路探索を再実行し、移動距離を計算する。
ステップ８では、修正前後の移動距離を比較し、移動距離が短い方の全経路情報を最終的な経路として選択し出力する。なお、ステップ５〜８の処理は、経路修正部１４にて実行される。
【００２１】
ステップ９では、生成された全経路情報から、コマンド生成部１５にて動作制御部７に与える命令の形式に変換する処理を行う。
このように、巡回順序の決定をしてから巡回点間の経路探索をするので、計算時間を短縮し、計算に要するメモリの消費量を抑えつつ、巡回点を通るような最適な経路を生成することができるのである。
【実施例２】
【００２２】
図６は本発明の移動ロボットの第２実施例を説明する図である。図６では、複数階からなる建物（ビル）内の地図情報を各階毎およびエレベータに分割した分割地図を用い、  複数階（図６の例では、３階と４階）をまたいだ経路を生成する。
そのために、まず分割地図毎に、実施例１のようにして経路情報を生成する。ただし、図６に示すフロア始点、フロア終点のように、分割地図上に予め設けられた接続点を各分割地図経路の始点または終点として用いる。エレベータに関しては、図６の場合にはノードがエレベータノード１つのみなので、このエレベータノード自体が分割地図上の接続点かつ始点かつ終点である。そして各分割地図経路をフロア始点、フロア終点、エレベータノードにて繋げることで全経路情報を生成する。
実施例１における巡回順序決定部１２、巡回点間経路計画部１３および経路修正部１４の処理を分割地図毎に実行し、最後に分割地図毎の経路情報をつなげて全経路情報を生成するという手順で処理を行う。このとき、巡回点の巡回順序は、入力情報に含まれるモードデータにより、指定順に巡回するか、巡回順序を自動決定するかが指定される。指定順の場合は、巡回点間経路計画部１３の処理のみが実行される。
図６において、３階が巡回点を自動決定するように指定され、実施例１と同様な手順で始点からフロア終点までの経路が生成されている。一方、４階の場合は、巡回点１から巡回点２へと巡回点を指定順で巡回するように指定されている。このときの経路は、フロア始点、巡回点１、巡回点２、終点の順に巡回点を通るように決められ、後は巡回点間の経路探索を行うことで４階の経路情報が求められる。
また、巡回点だけでなく、各階の巡回順序についても、各階巡回順序モード指定の情報により指定順か自動決定かを指定できる。例えば、３階から４階へと指定順通りに巡回するよう指定した場合は、始点から３階、４階、終点へと巡回するよう経路が計画される。自動決定の場合は、例えば下の階から巡回するようにしてもよいし、巡回点の巡回順序を決定したのと同様に、各階の位置（高さ）情報から巡回閉路を生成し、始点・終点の階をつなげるように決定してもよい。
【００２３】
このように、作業エリア毎に巡回点順序を指定するか自動決定するかを設定することができるとともに、作業エリアの巡回順序も指定するか自動決定するかを設定することができるので、用途に合った経路を生成することができる。
【実施例３】
【００２４】
図７は第３の方法を実施する移動ロボットの構成を示す構成図である。第1の方法に環境認識部８およびビジョンセンサ９を付加する。また、入力装置１には、電子タグに書き込まれた情報を読み取る装置が含まれている（図示せず）。電子タグには巡回点の情報が書き込まれており、この電子タグの情報を読み取るようにする。これにより、例えば荷物搬送作業の場合、電子タグのついた荷物をどこに運べばよいか分かるようになっている。
環境認識部８およびビジョンセンサ９は電子タグを認識するのに使用され、電子タグを認識したら電子タグ読み取り装置の読み取り可能範囲まで移動ロボットが近づいていき、電子タグの情報を読み取る。その後、環境認識部８から、読み込んだ電子タグの情報すなわち巡回点の情報を経路計画部６へ送る。各荷物に付けられた電子タグの情報を読み取ることで、移動ロボットが自ら荷物の搬送先、すなわち巡回点の情報を得ることができ、この巡回点の情報を用いて経路を生成する。
【００２５】
このように、巡回点の情報を電子タグから読み取ることができるので、人間が指示しなくても環境の情報から移動ロボットが自ら判断して動作しつつ、巡回点を通るような最適な経路を生成することができるのである。
【産業上の利用可能性】
【００２６】
本発明は移動ロボットのみならず、移動体一般の経路生成にも広く適用可能である。
【図面の簡単な説明】
【００２７】
【図１】本発明の移動ロボットの構成を示すブロック図
【図２】本発明の移動ロボット制御装置の構成を示すブロック図
【図３】本発明の移動ロボットにおける処理手順を示すフローチャート
【図４】図３のフローチャートのステップ２〜４の処理を説明する図
【図５】経路修正部における巡回順序修正の処理を説明する図
【図６】本発明の第２実施例を説明する図
【図７】本発明の第３実施例の移動ロボットの構成を示すブロック図
【図８】従来の方法を適用したサーバ装置の構成を示すブロック図
【図９】従来の方法の処理手順を示すフローチャート
【符号の説明】
【００２８】
１  入力装置
２  移動ロボット制御装置
３  アンプ
４  モータ／エンコーダ
５  駆動機構
６  経路計画部
７  動作制御部
８  環境認識部
９  ビジョンセンサ
１１  入力受付部
１２  巡回順序決定部
１３  巡回点間経路計画部
１４  経路修正部
１５  コマンド生成部
１０１  入力受付部
１０２  ２地点経路探索部
１０３  遺伝的アルゴリズム実行部
１０４  出力部
１０５  通信部
【図１】
2007280251.tif 000003
【図２】
2007280251.tif 000004
【図３】
2007280251.tif 000005
【図４】
2007280251.tif 000006
【図５】
2007280251.tif 000007
【図６】
2007280251.tif 000008
【図７】
2007280251.tif 000009
【図８】
2007280251.tif 000010
【図９】
2007280251.tif 000011