(57)【要約】【課題】ドア通過などの作業を情報に含んだ自律移動経路を自動的に生成して経路移動を実行することができ、また、大規模なエリアの経路計画を高速に求めることができるようにすること。                                                                    【解決手段】情報を入力する入力手段３、４と、情報を格納する格納手段５と、ロボットの経路を生成する処理手段１とを備え、前記格納手段５に、ロボットの経路となる廊下や部屋等を適当な単位に分割し、該分割した各単位の情報であるノード要素とロボットが移動できる隣接する前記ノード要素間を接続する情報であるコネクタとを備える地図データを格納し、前記入力手段３、４より前記ロボットの移動開始地点と移動目標地点が与えられた時、前記処理手段１は、前記格納手段５の前記ノード要素と前記コネクタの探索から、前記ロボットの通過するコネクタのリストを生成する。【選択図】        図１
2006259963.tif 000002
【特許請求の範囲】
【請求項１】
情報を入力する入力手段と、
情報を格納する格納手段と、
ロボットの経路を生成する処理手段とを備え、
前記格納手段に、ロボットの経路となる廊下や部屋等を適当な単位に分割し、該分割した各単位の情報であるノード要素とロボットが移動できる隣接する前記ノード要素間を接続する情報であるコネクタとを備える地図データを格納し、
前記入力手段より前記ロボットの移動開始地点と移動目標地点が与えられた時、前記処理手段は、前記格納手段の前記ノード要素と前記コネクタの探索から、前記ロボットの通過するコネクタのリストを生成することを特徴とした移動ロボットの経路生成装置。
【請求項２】
前記ノード要素には、隣接するノード要素と接続するコネクタのＩＤと内部の障害物の配置情報を含むことを特徴とした請求項１記載の移動ロボットの経路生成装置。
【請求項３】
前記コネクタには、自身が連結するノード要素のＩＤと連結するノード要素との境界を通過する際に必要な情報を含むことを特徴とした請求項１又は２記載の移動ロボットの経路生成装置。
【請求項４】
前記地図データに建屋と階の要素を設け、
前記建屋と階の要素の中に、前記各ノード要素を保持することを特徴とした請求項１〜３のいずれかに記載の移動ロボットの経路生成装置。
【請求項５】
前記建屋を連結する建屋間コネクタと前記階を連結する階間コネクタとを前記格納手段に保持することを特徴とした請求項４記載の移動ロボットの経路生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、間取り図などの地図データ情報により経路計画をたて、建物などの内部を移動する移動ロボットの経路生成装置に関する。
【背景技術】
【０００２】
移動ロボットの地図情報による経路計画について、従来知られた方法として、ロードマップ法、セル分解法、ポテンシャルフィールド法などがある。
【０００３】
従来公知のロボットの大域動作経路計画方法とその制御装置（特許文献１参照）には、大まかに格子点を持つ空間内で経路を探索し、その各点をサブゴールとして、サブゴール毎に細かい格子点で探索を行う２段階の経路探索方法が述べられている。また、従来公知の自律走行ロボット用経路生成装置および経路生成方法およびそのためのプログラムを格納した記録媒体（特許文献２参照）では、部屋や交差点をブロック分割し個別のローカル座標系で内部の障害物情報を保持する環境地図データと、それを用いて交差点をノードとするノード探索による経路生成方法について述べられているものがあった。
【特許文献１】特開２０００−１８１５３９号公報
【特許文献２】特開平１１−８５２７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
前記従来のものは次のような課題があった。
【０００５】
従来知られた方法では、いずれも地図情報は平面的であり、デパートや大規模オフィスなど、複数の建屋や複数の階を持つ建物内を移動する場合に、建屋や階間の移動やさまざまなドアの通過を含む経路の生成に対応していない。また、大規模なエリア内を長い距離自律移動する場合に、これらの従来法では検索に時間がかかるものであった。
【０００６】
従来公知の特許文献では大規模なエリア内の経路探索の高速化を図る効果を持つものであるが、経路探索のノードには座標情報しか持たず、階や建屋、ドアなどをまたいでの移動には対応していないものであった。
【０００７】
本発明は、エレベータ搭乗やドア通過などの作業を情報に含んだ自律移動経路を自動的に生成し経路移動を実行することを可能とし、また、地図情報を要素に分割してコネクタにより連結された要素から経路を探索することにより、大規模なエリアの経路計画が高速に求められるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
図１は本発明のロボットの構成図である。図１中、１はＣＰＵ（処理手段）、２は表示部（表示手段）、３は入力部（入力手段）、４は通信部（入力手段）、５は記憶部（格納手段）、６は駆動部制御ボード、７は画像処理ボード、８はステレオカメラ、９は走行部、１０はアームである。
【０００９】
本発明は、上記の課題を解決するため次のように構成した。
【００１０】
（１）：情報を入力する入力手段３、４と、情報を格納する格納手段５と、ロボットの経路を生成する処理手段１とを備え、前記格納手段５に、ロボットの経路となる廊下や部屋等を適当な単位に分割し、該分割した各単位の情報であるノード要素とロボットが移動できる隣接する前記ノード要素間を接続する情報であるコネクタとを備える地図データを格納し、前記入力手段３、４より前記ロボットの移動開始地点と移動目標地点が与えられた時、前記処理手段１は、前記格納手段５の前記ノード要素と前記コネクタの探索から、前記ロボットの通過するコネクタのリストを生成する。このため、ドア通過などの作業を情報に含んだ自律移動経路を自動的に生成して経路移動を実行することができ、また、経路を要素に分割してコネクタにより連結された要素から経路を探索することにより、大規模なエリアの経路計画が高速に求めることができる。
【００１１】
（２）：前記（１）の移動ロボットの経路生成装置において、前記ノード要素には、隣接するノード要素と接続するコネクタのＩＤと内部の障害物の配置情報を含む。このため、ノード要素内の情報により障害物回避を行い目標地点へと移動することができる。
【００１２】
（３）：前記（１）又は（２）の移動ロボットの経路生成装置において、前記コネクタには、自身が連結するノード要素のＩＤと連結するノード要素との境界を通過する際に必要な情報を含む。このため、ドア通過などの作業の情報を含んだ自律移動経路を自動的に生成して経路移動を実行することができる。
【００１３】
（４）：前記（１）〜（３）の移動ロボットの経路生成装置において、前記地図データに建屋と階の要素を設け、前記建屋と階の要素の中に、前記各ノード要素を保持する。このため、経路生成の必要な地図データのみを容易に取り出すことができる。
【００１４】
（５）：前記（４）の移動ロボットの経路生成装置において、前記建屋を連結する建屋間コネクタと前記階を連結する階間コネクタとを前記格納手段５に保持する。このため、エレベータ搭乗や建屋の移動などの自律移動経路を自動的に生成し経路移動を実行することができる。
【発明の効果】
【００１５】
本発明によれば次のような効果がある。
【００１６】
（１）：入力手段よりロボットの移動開始地点と移動目標地点が与えられた時、処理手段で、格納手段のノード要素とコネクタの探索から、前記ロボットの通過するコネクタのリストを生成するため、ドア通過などの作業を情報に含んだ自律移動経路を自動的に生成して経路移動を実行することができ、また、経路を要素に分割してコネクタにより連結された要素から経路を探索することにより、大規模なエリアの経路計画が高速に求めることができる。
【００１７】
（２）：ノード要素には、隣接するノード要素と接続するコネクタのＩＤと内部の障害物の配置情報を含むため、ノード要素内の情報により障害物回避を行い目標地点へと移動することができる。
【００１８】
（３）：コネクタには、自身が連結するノード要素のＩＤと連結するノード要素との境界を通過する際に必要な情報を含むため、ドア通過などの作業の情報を含んだ自律移動経路を自動的に生成して経路移動を実行することができる。
【００１９】
（４）：地図データに建屋と階の要素を設け、前記建屋と階の要素の中に、各ノード要素を保持するため、経路生成の必要な地図データのみを容易に取り出すことができる。
【００２０】
（５）：建屋を連結する建屋間コネクタと階を連結する階間コネクタとを格納手段に保持するため、エレベータ搭乗や建屋の移動などの自律移動経路を自動的に生成し経路移動を実行することができる。
【発明を実施するための最良の形態】
【００２１】
本発明は、ロボットが建屋内で指示された場所へ移動を行うものである。この移動は、地図情報を元に自動的に経路を探し出して行うもので、階が違っても建屋が違っていても移動ができるようにするものである。
【００２２】
（１）：ロボットの構成の説明
図１はロボットの構成図である。図１において、移動ロボットには、ＣＰＵ１、表示部２、入力部３、通信部４、記憶部５、駆動部制御ボード６、画像処理ボード７、ステレオカメラ８、走行部９、アーム１０が設けてある。
【００２３】
ＣＰＵ１は、経路生成の実行、経路移動中に実行する作業の指示、ロボット全体の制御処理等を行う処理手段である。なお、経路の生成（検索）はロボット外のサーバ等で行い通信手段で情報を得ることもできる。表示部２は、ロボットの状態等の表示を行う表示手段である。入力部３は、目的地等のユーザからの指示を受け付ける入力手段である。通信部４は、目的地等のユーザからの指示を外部のサーバ等から無線等の通信で受け付ける通信手段（入力手段）である。記憶部５は、地図データ等の情報を保持（格納）する記憶（格納）手段である。駆動部制御ボード６は、走行部９やアーム１０等の駆動制御を行う駆動制御手段である。画像処理ボード７は、ステレオカメラ８からの立体画像処理を行う画像処理手段である。ステレオカメラ８は、立体的に画像を撮影する撮影手段である。走行部９は、走行車輪等のロボットの移動手段である。アーム１０は、エレベータボタンを押す等の作業を行うものである。
【００２４】
（２）：視覚的な要素の説明
図２は視覚的な要素の説明図である。図２において、あるフロアの地図（地図情報）を示している。この地図のフロアをある適当な単位で区切ってエレベータルーム、階段、廊下、部屋等をノード要素とする。そして、これらのノード要素間のロボットが移動できる接続関係をコネクタと呼ぶリンク要素で連結するものである。
【００２５】
ノード要素には、隣接するノード要素との接続情報を表すコネクタのＩＤ、ノード要素の形状（座標）とその内部の障害物の配置情報、エレベータや廊下などを表す属性、要素が属する建屋や階のＩＤと共に、その内部を通過する際に必要な操作情報（ボタン操作情報として、ボタン位置、ボタン形状データなど）を含める。また、コネクタには、自身が連結するノード要素のＩＤ、連結するノード要素との境界を通過する際に必要な、通過点や、ドアなどの属性情報、操作情報を含める。
【００２６】
例えば、ノード要素である廊下P1（Passage:1 ）の場合、エレベータルームEVR1につながるコネクタp2e と部屋R1につながるコネクタp2p と部屋R2につながるコネクタp2p と階段につながるコネクタp2s （廊下−階段間コネクタ）の4 つのコネクタが設けられている。
【００２７】
（３）：階の接続の説明
図３は階の接続の説明図である。図３において、１階と２階にはそれぞれ廊下等につながる一部にルートを探索するための仮の部屋であるエレベータ部屋（ルーム）１５、２５が設けてある。このエレベータ部屋１５とエレベータ部屋２５とをつなぐコネクタ（f2fConnector）が設けられる。エレベータ部屋１５、２５には、エレベータを表す属性、エレベータ部屋要素が属する建屋や階のＩＤと共に、エレベータの内部を通過する際に必要な操作情報（ボタン操作情報として、ボタン位置、ボタン形状データ（テンプレート）など）が含まれている。
【００２８】
なお、これらのエレベータルーム要素を用いずエレベータ前の廊下要素がエレベータ要素と連結されてもよい。この場合はエレベータ前の廊下とエレベータとを連結するコネクタ（f2fConnector）に、エレベータ搭乗のためのボタン等の情報を追加する。
【００２９】
（４）：データ構成の説明
図４はデータ構成の説明図である。図４において、データ構成の視覚的な概要（一例）を示している。図４のデータ構成には、建屋１（Building:1）と建屋２（Building:2）の要素がエリア（Area:Labo ）の要素にあり、建屋１には１階（Floor:1 ）と２階（Floor:2 ）の要素があり、建屋２にも１階（Floor:1 ）と２階（Floor:2 ）の要素がある。
【００３０】
建屋１の１階（Floor:1 ）には、エレベータルーム１（EvRoom:1）、廊下２（Passage:2 ）、廊下３（Passage:3 ）、廊下４（Passage:4 ）、ロビー（lobby ）の要素がある。建屋１の２階（Floor:2 ）には、要素として、エレベータルーム１（EvRoom:1）、廊下１（Passage:1 ）の要素がある。
【００３１】
建屋２の１階（Floor:1 ）には、エレベータルーム１（EvRoom:1）、廊下２（Passage:2 ）の要素がある。建屋２の２階（Floor:2 ）には、部屋１（Room:1）、廊下１（Passage:1 ）、廊下２（Passage:2 ）、廊下３（Passage:3 ）、廊下４（Passage:4 ）、廊下５（Passage:5 ）、エレベータルーム１（EvRoom:1）の要素がある。
【００３２】
これらの各要素には、隣接する要素との接続情報を表すコネクタのＩＤ、要素の形状（座標）とその内部の障害物の配置情報、エレベータや廊下などを表す属性、要素が属する建屋や階のＩＤと共に、その内部を通過する際に必要な操作情報（ボタン操作情報として、ボタン位置、ボタン形状データなど）が含まれている。
【００３３】
各要素間をロボットが移動できる接続関係をコネクタと呼ぶリンク要素で連結する。以下、このコネクタの説明をする。
【００３４】
建屋１の２階（Floor:2 ）のエレベータルーム１（EvRoom:1）と廊下１（Passage:1 ）とは、エレベータコネクタである p2eコネクタで連結されている。建屋１の２階（Floor:2 ）のエレベータルーム１（EvRoom:1）と建屋１の１階（Floor:1 ）のエレベータルーム１（EvRoom:1）とは、階間コネクタである f2fコネクタで連結されている。
【００３５】
建屋１の１階（Floor:1 ）のエレベータルーム１（EvRoom:1）と廊下２（Passage:2 ）とは、エレベータコネクタである e2pコネクタで連結されている。建屋１の１階（Floor:1 ）の廊下２（Passage:2 ）と廊下３（Passage:3 ）、廊下３（Passage:3 ）と廊下４（Passage:4 ）、廊下４（Passage:4 ）とロビー（lobby ）は、それぞれ通常のコネクタである p2pコネクタで連結されている。建屋１の１階（Floor:1 ）の廊下４（Passage:4 ）と建屋２の１階（Floor:1 ）の廊下２（Passage:2 ）とは、建屋間コネクタである b2bコネクタで連結されている。
【００３６】
建屋２の１階（Floor:1 ）の廊下２（Passage:2 ）とエレベータルーム１（EvRoom:1）とは、エレベータコネクタである p2eコネクタで連結されている。建屋２の１階（Floor:1 ）のエレベータルーム１（EvRoom:1）と建屋２の２階（Floor:2 ）のエレベータルーム１（EvRoom:1）とは、階間コネクタである f2fコネクタで連結されている。
【００３７】
建屋２の２階（Floor:2 ）のエレベータルーム１（EvRoom:1）と建屋２の２階（Floor:1 ）の廊下５（Passage:5 ）とは、エレベータコネクタである e2pコネクタで連結されている。建屋２の２階（Floor:2 ）の廊下５（Passage:5 ）と廊下４（Passage:4 ）、廊下４（Passage:4 ）と廊下３（Passage:3 ）、廊下３（Passage:3 ）と廊下２（Passage:2 ）、廊下２（Passage:4 ）と廊下１（Passage:1 ）、廊下１（Passage:1 ）と部屋１（Room:1）は、それぞれ通常のコネクタである p2pコネクタで連結されている。
【００３８】
これらのコネクタ（リンク要素）には、自身が連結するノード要素のＩＤ、連結するノード要素との境界を通過する際に必要な、通過点や、ドアなどの属性情報、操作情報が含まれている。
【００３９】
（５）：データ構造の説明
図５はデータ構造の説明図である。図５において、データ保存の仕方を示しておりツリー構造をしている。エリア（Area）の要素は、建屋の内部情報を保持する建屋１（Building:1）と建屋２（Building:2）と建屋間の連結情報を保持する建屋間コネクタ（ b2bConnector ）の要素に分岐している。建屋１（Building:1）は、階の内部情報を保持する１階（Floor:1 ）と２階（Floor:1 ）とエレベータの内部の情報を保持するエレベータ１（Elevator:1）と階間の連結情報を保持する階間コネクタ（ f2fConnector ）の要素に分岐している。建屋間コネクタ（ b2bConnector ）は、コネクタ３（Connector:3 ）の要素に分岐している。２階（Floor:1 ）は、この階のノード要素を保持する部屋（Rooms ）と廊下（Passages）とフロア内の要素を連結するコネクタの全てであるコネクタ（Connectors）の要素に分岐している。この部屋（Rooms ）は部屋１（Rooms:1 ）に分岐し、廊下（Passages）は廊下１（Passage:1 ）に分岐し、コネクタ（Connectors）はコネクタ１（Connector:1 ）に分岐している。
【００４０】
また、部屋１（Rooms:1 ）は、部屋の要素内形状を保持する形状（Shape ）、要素内の障害物を保持する障害物（Obstacles ）、接続関係を保持するコネクション（Connections ）、エレベータ本体のＩＤ（識別子）を保持するエレベータＩＤ（ElevatorID）に分岐している。障害物（Obstacles ）は障害物（Obstacle）に分岐し、コネクション（Connections ）はそれぞれ要素が連結されているコネクタのＩＤを保持するコネクション１（Connection:1）とコネクション２（Connection:2）に分岐している。
【００４１】
図６はコネクタのデータ構造の説明図である。図６において、コネクタは、通過する地点である通過点１（PassPinnt:1 ）と通過点２（PassPinnt:2 ）と連結する要素である連結要素ＩＤ１（ComponentID1）と連結要素ＩＤ２（ComponentID2）に分岐している。
【００４２】
このように、地図データ構造では、建屋や階の要素の中に各ノード要素を分類保持し、また、建屋や階を連結する建屋間コネクタや階間コネクタを分類保持するものである。
【００４３】
（６）：経路の探索処理の説明
経路探索には、開始地点と目標地点が与えられる。この２地点の情報には、グローバル座標（ｘ，ｙ）、建屋ＩＤ、階ＩＤが付属する。探索の手順は以下の通りである。
【００４４】
先ず、開始地点と目標地点の２地点の属する要素を検索する。そして、建屋と階の情報から、その中に属する要素を検索し、地点が所属する要素を取得する。
【００４５】
次に、取得した２要素を開始ノード・終了ノードとしてノードの保持するコネクタを辿り、ノード探索を行う。ノード探索には、経路探索のアルゴリズムである「Ａ＊」などの一般的な手法を用いてよい。ノード探索のコストとして、以下のような方法をとることができる。
【００４６】
・コネクタで連結された２要素（要素１、２とする）の中心間の距離にコネクタに設定された重みを掛けた値と、目標地点と要素２の中心との３次元（ｘ，ｙ，階）距離の合算によりその２要素を通過するコストを求める。
【００４７】
・２要素（要素１、２とする）を連結するコネクタの保持する２点の通過点情報の中心を求め、その中心と前のコネクタの２点通過点情報の中心との距離にコネクタに設定された重みを掛けた値と、目標地点と要素２の中心との３次元（ｘ，ｙ，階）距離の合算によりその２要素を通過するコストを求める。例えば、同じ階を移動するときに階段のコネクタとエレベータのコネクタとにより異なる重みを設ける。
【００４８】
図７は経路の探索処理フローの説明図である。以下、ロボットの処理手段（ＣＰＵ）が行う場合の経路の探索処理フロー（アルゴリズム）を図７の処理Ｓ１〜Ｓ８に従って説明する。
【００４９】
Ｓ１：ロボットの処理手段（ＣＰＵ）は、格納手段から地図データをロードし、開始地点（現在位置）と終了地点（目的地点）が与えられると処理Ｓ２に移る。
【００５０】
Ｓ２：ロボットの処理手段は、開始地点と終了地点が属する要素検索をし、開始地点の要素を現在の要素にセットし、処理Ｓ３に移る。
【００５１】
Ｓ３：ロボットの処理手段は、現在の要素のコネクタを取得し処理Ｓ５に移り、取得するコネクタがない場合は処理４に移る。
【００５２】
Ｓ４：ロボットの処理手段は、現在の要素のコネクタに探索済みフラグを立て、一つ前の要素を現在の要素に設定し、処理Ｓ３に戻る。
【００５３】
Ｓ５：ロボットの処理手段は、各コネクタ選択時のコスト（移動距離等）を算出し、処理Ｓ６に移る。
【００５４】
Ｓ６：ロボットの処理手段は、最小コストのコネクタを選択し、処理Ｓ７に移る。
【００５５】
Ｓ７：ロボットの処理手段は、次の要素を現在の要素に設定し、処理Ｓ８に移る。
【００５６】
Ｓ８：ロボットの処理手段は、現在の要素が終了地点の要素かどうか判断する。この判断で現在の要素が終了地点の要素の場合はこの探索処理を終了し、終了地点の要素でない場合は処理Ｓ３に戻る。
【００５７】
また、地図データで、建屋や階間をまたぐ開始地点と目標地点が指定された場合に、まず建屋間コネクタや階間コネクタを検索し、開始地点が含まれるノード要素・検索されたコネクタが連結するノード要素・目標地点が含まれるノード要素に分割して経路探索を行うことにより、探索処理を高速に行うことができる。
【００５８】
（７）：移動経路と移動動作の説明
ここではエレベータをボタン押しにより操作して、階を移動する例について示す。階段、エレベータ、エレベータルーム（エレベータ要素の各階における代理要素でエレベータ搭乗のための情報を保持する）、などの各要素を定義しており、これらをコネクタで連結している。エレベータルーム要素には、エレベータ搭乗に必要な情報と、エレベータ要素のＩＤが保持されている。エレベータ搭乗に必要な情報とは、エレベータボタンをロボットがアームで押して搭乗する場合、エレベータボタンのパターンやテンプレートなどの情報、右腕／左腕使用、エレベータボタンの位置やボタンにアプローチする位置などである。エレベータ内部の情報（エレベータ内部のボタン情報など）は、エレベータ要素が保持している。
【００５９】
図８は経路の説明図である。図８において、ロボットがエレベータをボタン押しにより操作して、階を移動する例について矢印(1) 〜(13)にしたがって説明する。なお、コネクタの黒丸は通過点を示す。
【００６０】
(1) ロボットが廊下１（Passage:1 ）の現在地点からエレベータの外ボタン位置まで移動する。(2)  p2eコネクタの通過点１に移動する。(3)  p2eコネクタの通過点１から通過点２（エレベータルーム１；エレベータ１、この図上ではエレベータルームとエレベータは同じ位置にあり重なっている）に移動する。(4) エレベータ１(EV1) の内ボタン位置に移動して５階のボタンを押す。(5) エレベータ１(EV1) からエレベータルーム２（EVR2）の e2pコネクタの通過点１まで移動する。 (6) e2pコネクタの通過点１から通過点２（廊下２）に移動する。 (7)廊下２（Passage:2 ）の e2pコネクタの通過点２から p2pコネクタの通過点１に移動する。(8) 廊下２（Passage:2 ）の p2pコネクタの通過点１から通過点２（廊下３）に移動する。(9) 廊下３（Passage:3 ）の p2pコネクタの通過点２から廊下４とのコネクタである p2pコネクタの通過点１に移動する。(10)廊下３（Passage:3 ）の p2pコネクタの通過点１から通過点２（廊下４）に移動する。(11)廊下４（Passage;4 ）の部屋１（Room:1）とのコネクタである p2pコネクタの通過点１に移動する。(12)廊下４（Passage;4 ）と部屋１（Room:1）とのコネクタである p2pコネクタの通過点１から通過点２（部屋１）に移動する。(13)部屋１（Room:1）の目的地まで移動する。
【００６１】
（移動動作の説明）
自律移動の手順は、以下の通りに行う。図７の処理等で探索された経路のコネクタをリストにし、これを順次引き出すことによって経路移動を行う。コネクタが連結するノード要素が互いに廊下や部屋（Passage, Room ）の場合（p2pConnector）は、コネクタの保持する２点（通過点１、２と呼ぶ）を、前の要素から次の要素の向きに走行する。このときコネクタの属性がドアであれば、コネクタから情報を得てドアの開閉などを行う。
【００６２】
コネクタが連結するノード要素が、廊下や部屋（Passage, Room ）からエレベータルームの場合（p2eConnector）は、エレベータルーム要素からエレベータ搭乗に必要なボタン押し位置やボタンテンプレートなどのボタンを見つけて押すために必要なボタン情報を取得する。さらに次の階間コネクタから上下の情報を取得し、エレベータ乗りこみ動作を行う。
【００６３】
エレベータに乗りこんだ後は、エレベータルームが保持するエレベータＩＤからエレベータ要素の情報（エレベータ内部情報）を取得し、内部のボタン押しと目的階になったことの確認を行う。エレベータ降り動作を行う。何階で降りるかの情報は、エレベータ降りコネクタの前のエレベータルームの持つ階情報から取得する。
【００６４】
図９は経路の移動動作の説明図である。図９において、生成されたコネクタのリストから経路移動を行う際に、コネクタや連結される要素の属性から行われる処理の例を現している。
【００６５】
開始地点のノード要素は、Ｐ１（廊下１）であり、ロボットは廊下１を走行してエレベータに乗り込むため p2eコネクタの情報から通過点１から通過点２（エレベータルーム１）に移動する。ＥＶＲ１（エレベータルーム１）から外ボタンの押し位置等の情報を取得し、ＥＶＲ１とリンクしているＥＶ１（エレベータ１）からエレベータの内ボタン位置情報等を取得し、 f2fコネクタから目的階（５階）情報を取得し、外ボタンを押してエレベータに乗り、内ボタン（エレベータ内）の５階のボタンを押し、５階で下りるためＥＶＲ２（エレベータルーム２）の e2pコネクタの情報から通過点１から通過点２（Ｐ２）に移動する。Ｐ２（廊下２）で p2pコネクタの情報から通過点１から通過点２（Ｐ３）に移動する。Ｐ３（廊下３）で p2pコネクタの情報から通過点１から通過点２（Ｐ４）に移動する。廊下４（Passage;4 ）の p2pコネクタの情報から通過点１から通過点２（目的地点が属する要素であるＲ１）に移動する。Ｒ１（部屋１）の目的地まで移動する。
【００６６】
図１０は経路の移動処理フローの説明図である。以下、ロボットの処理手段（ＣＰＵ）が行う場合の経路の移動処理フロー（アルゴリズム）を図１０の処理Ｓ１１〜Ｓ２２にしたがって説明する。
【００６７】
Ｓ１１：ロボットの処理手段は、探索された経路データ等が格納されている記憶部のコネクタリストから経路データのロードを行い処理Ｓ１２に移る。
【００６８】
Ｓ１２：ロボットの処理手段は、開始地点を現在地（位置）に設定し、処理Ｓ１３に移る。
【００６９】
Ｓ１３：ロボットの処理手段は、コネクタをリストから取得し処理Ｓ１４に移り、もし取得するコネクタがない場合は終了地点まで走行して移動処理を終了する。
【００７０】
Ｓ１４：ロボットの処理手段は、コネクタの属性が p2p（通常のコネクタ）か p2e（エレベータコネクタ）か判断する。この判断でコネクタの属性がp2p の場合は通過点まで走行して処理Ｓ１３に戻り、 p2eの場合は処理Ｓ１５に移る。
【００７１】
Ｓ１５：ロボットの処理手段は、次要素（エレベータルーム）から乗り込みデータを取得し、処理Ｓ１６に移る。
【００７２】
Ｓ１６：ロボットの処理手段は、次コネクタ f2fConnector をリストから取得して上下の情報を取得し、処理Ｓ１７に移る。
【００７３】
Ｓ１７：ロボットの処理手段は、ボタンを押しエレベータに乗り込み、処理Ｓ１８に移る。
【００７４】
Ｓ１８：ロボットの処理手段は、エレベータルームからエレベータ要素情報を取得し、処理Ｓ１９に移る。
【００７５】
Ｓ１９：ロボットの処理手段は、次コネクタ f2fConnector から行き先階を取得し、処理Ｓ２０に移る。
【００７６】
Ｓ２０：ロボットの処理手段は、エレベータの内部ボタンを押し、処理Ｓ２１に移る。
【００７７】
Ｓ２１：ロボットの処理手段は、次コネクタ e2pConnector をリストから取得してエレベータ降り経路を取得し、処理Ｓ２２に移る。
【００７８】
Ｓ２２：ロボットの処理手段は、エレベータを降り、処理Ｓ１３に戻る。
【００７９】
このようにして、ロボットが移動開始地点と移動目標地点が与えられた時、部屋や廊下、エレベータや階段のノード要素をリンク要素により連結した地図データ情報から、まず開始地点と目標地点の属するノード要素が検索される。次に、ノード探査により通過するノード要素とリンク要素のリストが生成される。ノード要素には形状や内部の障害物、エレベータの場合はボタンの位置など移動や操作に必要な情報を含み、リンク要素には連結するノード要素を通過する際の通過点などの情報を含む。各要素の含む情報により、ノード要素内の情報により障害物回避を行い、また、エレベータ搭乗等の動作を行いながら目標地点へと移動する。これによって、エレベータ搭乗やドア通過などの作業を情報に含んだ自律移動経路を自動的に生成し経路移動を実行することが可能となる。また、地図情報を要素に分割してコネクタにより連結された要素から経路を探索することにより、大規模なエリアの経路計画が高速に求めることができる。
【００８０】
（８）：地図ツールのＧＵＩ（Graphical User Interface）の説明
地図データの作成には、ＧＵＩを使用して簡単に設定することができる。図１１は地図ツールのＧＵＩの説明図である。図１１において、地図ツールによって以下のように矢印部を指定して設定を行うことによって、地図データを生成する。
【００８１】
矢印(1) は、エリアの設定と、建屋（ビル）間を連結するコネクタの設定（図１２（ａ）参照）である。矢印(2) は、建屋の設定と、建屋のフロア間を連結するコネクタの設定（図１２（ｂ）参照）である。矢印(3) は、建屋内のフロアの設定であり、例えば、参照する間取り図ＣＡＤファイルの設定など（図１３（ａ）参照）である。矢印(4) は、要素の設定であり、例えば、形状、内部の障害物の形状などの設定、属性の設定など（図１３（ｂ）参照）である。矢印(5) は、要素間を連結するコネクタの設定であり、例えば、通過点や属性など（図１４（ａ）参照）である。矢印(6) は、エレベータルームの設定であり、例えば、ボタンテンプレートなどのデータファイル、ボタン押し位置の設定など（図１４（ｂ）参照）である。
【００８２】
図１２は地図データ生成の説明図（１）であり、図１２（ａ）はエリアの設定と、建屋（ビル）間を連結するコネクタの設定の説明である。図１２（ａ）において、エリアの名前、コネクタ一覧（この例での「１−２」は１号館と２号館）、館間のコネクタ（ｂ２ｂコネクタ）の名前、要素１、要素２、ＩＤ等が設定される画面である。
【００８３】
図１２（ｂ）は建屋の設定と、建屋のフロア間を連結するコネクタの設定の説明である。図１２（ｂ）において、建屋（この例では２号館）、階間のコネクタ（ｆ２ｆコネクタ）の一覧、コネクタの名前（この例では２−３）、要素１、要素２、それぞれのＩＤ等が設定される画面である。
【００８４】
図１３は地図データ生成の説明図（２）であり、図１３（ａ）は建屋内のフロアの設定、参照する間取り図のＣＡＤファイルの設定などの説明である。図１３（ａ）において、フロアの名前（この例では６階）、ＩＤ、参照されている図面（図１１参照）のファイル名等が設定される。
【００８５】
図１３（ｂ）は要素の設定、形状、内部の障害物の形状などの設定、属性の設定などの説明である。図１３（ｂ）において、Ｘ座標、Ｙ座標（この例では廊下の形状）の設定画面である。
【００８６】
図１４は地図データ生成の説明図（３）であり、図１４（ａ）は要素間を連結するコネクタの設定、通過点や属性などの説明である。図１４（ａ）において、オブジェクトとしてのタイプがコネクタ（この例では廊下と部屋を連結する p2pコネクタ）、その名前、ＩＤ等の設定画面である。
【００８７】
図１４（ｂ）はエレベータルームの設定、ボタンテンプレートなどのデータファイル、ボタン押し位置の設定などの説明である。図１４（ｂ）において、オブジェクトとしてのタイプがエレベータルームであり、その名前、ＩＤ、データファイル、接続エレベータ等の設定があり、また、ControlPanelの設定として名前、アプローチ位置、ボタン位置等の設定を行う画面がある。
【００８８】
このようなＧＵＩによる編集結果の保存データ形式としては、ＸＭＬ（eXtensible Markup language）形式などを用いることができる。
【００８９】
（９）：プログラムインストールの説明
処理手段１、表示部（表示手段）２、入力部（入力手段）３、通信部（入力手段）４、格納手段５等はプログラムで構成でき、主制御部（ＣＰＵ）が実行するものであり、主記憶に格納されているものである。このプログラムは、コンピュータで処理されるものである。このコンピュータは、主制御部、主記憶、ファイル装置、表示装置等の出力装置、入力装置などのハードウェアで構成されている。
【００９０】
このコンピュータに、本発明のプログラムをインストールする。このインストールは、フロッピィ、光磁気ディスク等の可搬型の記録（記憶）媒体に、これらのプログラムを記憶させておき、コンピュータが備えている記録媒体に対して、アクセスするためのドライブ装置を介して、或いは、ＬＡＮ等のネットワークを介して、コンピュータに設けられたファイル装置にインストールされる。
【００９１】
これにより、ドア通過などの作業を情報に含んだ自律移動経路を自動的に生成して経路移動を実行することができ、また、経路を要素に分割してコネクタにより連結された要素から経路を探索することにより、大規模なエリアの経路計画が高速に求めることができる移動ロボットの経路生成装置を容易に提供することができる。
【００９２】
〔以下付記を記載する〕
（付記１）  情報を入力する入力手段と、
情報を格納する格納手段と、
ロボットの経路を生成する処理手段とを備え、
前記格納手段に、ロボットの経路となる廊下や部屋等を適当な単位に分割し、該分割した各単位の情報であるノード要素とロボットが移動できる隣接する前記ノード要素間を接続する情報であるコネクタとを備える地図データを格納し、
前記入力手段より前記ロボットの移動開始地点と移動目標地点が与えられた時、前記処理手段は、前記格納手段の前記ノード要素と前記コネクタの探索から、前記ロボットの通過するコネクタのリストを生成することを特徴とした移動ロボットの経路生成装置。
【００９３】
（付記２）  前記ノード要素には、隣接するノード要素と接続するコネクタのＩＤと内部の障害物の配置情報を含むことを特徴とした付記１記載の移動ロボットの経路生成装置。
【００９４】
（付記３）  前記コネクタには、自身が連結するノード要素のＩＤと連結するノード要素との境界を通過する際に必要な情報を含むことを特徴とした付記１又は２記載の移動ロボットの経路生成装置。
【００９５】
（付記４）  前記地図データに建屋と階の要素を設け、
前記建屋と階の要素の中に、前記各ノード要素を保持することを特徴とした付記１〜３のいずれかに記載の移動ロボットの経路生成装置。
【００９６】
（付記５）  前記建屋を連結する建屋間コネクタと前記階を連結する階間コネクタとを前記格納手段に保持することを特徴とした付記４記載の移動ロボットの経路生成装置。
【００９７】
（付記６）  前記入力手段より建屋や階間をまたぐ開始地点と目標地点が指定された場合に、
前記処理手段で、まず建屋間コネクタや階間コネクタを検索し、開始地点が含まれるノード要素と検索されたコネクタが連結するノード要素と目標地点が含まれるノード要素に分割して経路探索を行うことを特徴とした付記５記載の移動ロボットの経路生成装置。
【００９８】
（付記７）  前記地図データをＧＵＩにより生成することを特徴とした付記１〜６のいずれかに記載の移動ロボットの経路生成装置。
【００９９】
（付記８）  ロボットの経路となる廊下や部屋等を適当な単位に分割し、該分割した各単位の情報であるノード要素とロボットが移動できる隣接する前記ノード要素間を接続する情報であるコネクタとを備える地図データを格納する格納手段と、
前記ロボットの移動開始地点と移動目標地点が与えられる入力手段と、
前記移動開始地点と移動目標地点により、前記格納手段の前記ノード要素と前記コネクタの探索から、前記ロボットの通過するコネクタのリストを生成する処理手段として、
コンピュータを機能させるためのプログラム又はプログラムを記録したコンピュータ読み取り可能な記録媒体。
【図面の簡単な説明】
【０１００】
【図１】本発明のロボットの構成図である。
【図２】本発明の視覚的な要素の説明図である。
【図３】本発明の階の接続の説明図である。
【図４】本発明のデータ構成の説明図である。
【図５】本発明のデータ構造の説明図である。
【図６】本発明のコネクタのデータ構造の説明図である。
【図７】本発明の経路の探索処理フローの説明図である。
【図８】本発明の経路の説明図である。
【図９】本発明の経路の移動動作の説明図である。
【図１０】本発明の経路の移動処理フローの説明図である。
【図１１】本発明の地図ツールのＧＵＩの説明図である。
【図１２】本発明の地図データ生成の説明図（１）である。
【図１３】本発明の地図データ生成の説明図（２）である。
【図１４】本発明の地図データ生成の説明図（３）である。
【符号の説明】
【０１０１】
１  ＣＰＵ（処理手段）
２  表示部（表示手段）
３  入力部（入力手段）
４  通信部（入力手段）
５  記憶部（格納手段）
６  駆動部制御ボード
７  画像処理ボード
８  ステレオカメラ
９  走行部
１０  アーム
【図１】
2006259963.tif 000003
【図２】
2006259963.tif 000004
【図３】
2006259963.tif 000005
【図４】
2006259963.tif 000006
【図５】
2006259963.tif 000007
【図６】
2006259963.tif 000008
【図７】
2006259963.tif 000009
【図８】
2006259963.tif 000010
【図９】
2006259963.tif 000011
【図１０】
2006259963.tif 000012
【図１１】
2006259963.tif 000013
【図１２】
2006259963.tif 000014
【図１３】
2006259963.tif 000015
【図１４】
2006259963.tif 000016