JP4189377B2 - 移動ロボット、移動ロボットの移動方法および移動プログラム - Google Patents

移動ロボット、移動ロボットの移動方法および移動プログラム Download PDF

Info

Publication number
JP4189377B2
JP4189377B2 JP2004374947A JP2004374947A JP4189377B2 JP 4189377 B2 JP4189377 B2 JP 4189377B2 JP 2004374947 A JP2004374947 A JP 2004374947A JP 2004374947 A JP2004374947 A JP 2004374947A JP 4189377 B2 JP4189377 B2 JP 4189377B2
Authority
JP
Japan
Prior art keywords
landmark
arc
mobile robot
node
map information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2004374947A
Other languages
English (en)
Other versions
JP2006184976A (ja
Inventor
久志 林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004374947A priority Critical patent/JP4189377B2/ja
Publication of JP2006184976A publication Critical patent/JP2006184976A/ja
Application granted granted Critical
Publication of JP4189377B2 publication Critical patent/JP4189377B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device

Description

本発明は、目的地まで移動可能な移動ロボット、移動ロボットの移動方法および移動プログラムに関するものである。
従来の移動ロボットは、予め登録された地図に基づいて、所定の目的地までの経路を特定する。そして、その経路に沿って移動する。このような移動のための地図は、移動ロボットが対象となる領域を移動することにより作成される。例えば、壁沿いを経路とする地図を作成する方法が知られている(例えば、「特許文献1参照」)。これは、超音波センサを使って、ロボットが壁沿いを移動することにより地図を作成する方法である。
また、同様に壁沿いを経路とするトポロジカルな地図を作成する方法が知られている。トポロジカルな地図とは、コーナーなど位置を特定可能なノードと、2つのノードの間を結ぶ直線であるアークで表現されたグラフ構造の地図である。
また、他の例としては、ロボット搭載のカメラからの視覚情報から、ランドマークを検出する方法もある。ランドマークを検出すると、検出したランドマークの方向に移動する。
特開平09−174471号公報
しかしながら、予め地図を登録する場合にはデータ量が多くなり面倒である。また、地図を利用するためには、移動ロボットが正しく自己の位置を特定する必要がある。
超音波センサを利用して壁沿いに移動する場合、予め地図を登録しておく必要がない。このためデータ量の問題を解消することができる。さらに、自己位置を正確に認識できなくとも超音波センサの検出結果に応じて精度よく移動することができる。
しかし、超音波センサのみを使った移動では、壁沿いの移動しか行えない。このため、目的地の位置によっては、遠回りとなる経路を移動することになり不便である。
本発明は、上記に鑑みてなされたものであって、処理負担の増加を抑えつつ、正確にかつ効率的に移動することのできる移動ロボットを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、目的地まで移動可能な移動ロボットであって、当該移動ロボットを移動させる移動処理手段と、所定のランドマークへの経路を表すアークと、当該アークにおいて検出可能な前記ランドマークとを対応付けて格納する地図情報格納手段と、当該移動ロボットが前記地図情報格納手段に格納されている前記アーク上を移動するときに、所定の位置間隔でランドマークの有無を検出するランドマーク検出手段と、前記ランドマーク検出手段が検出した前記ランドマークが前記地図情報格納手段において前記アークに対応付けられているランドマーク以外のランドマークを表す対応外ランドマークである場合に、当該対応外ランドマークを検出したときの当該移動ロボットの位置を特定するロボット位置特定手段と、前記ロボット位置特定手段が特定した前記ロボットの位置に基づいて、前記対応外ランドマークを検出可能か否かの境界点であるランドマーク検出境界点を含む、前記移動ロボットが移動する前記アーク上の点であって、前記対応外ランドマークを検出可能な点から、前記対応外ランドマークへの経路を表すアークを作成するアーク作成手段と、前記アーク作成手段が作成した前記アークと、当該アークにおいて検出可能なランドマークとを対応付けて前記地図情報格納手段に新たに格納させる更新を行う地図情報更新手段とを備えたことを特徴とする。
また、本発明は、目的地まで移動可能な移動ロボットの移動方法であって、所定のランドマークへの経路を表すアークと、当該アークにおいて検出可能な前記ランドマークとを対応付けて格納する地図情報格納手段に格納されている前記アーク上を前記移動ロボットが移動するときに、所定の位置間隔でランドマークの有無を検出するランドマーク検出ステップと、前記ランドマーク検出ステップにおいて検出した前記ランドマークが前記地図情報格納手段において前記アークに対応付けられているランドマーク以外のランドマークを表す対応外ランドマークである場合に、当該対応外ランドマークを検出したときの当該移動ロボットの位置を特定するロボット位置特定ステップと、前記ロボット位置特定ステップにおいて特定した前記ロボットの位置に基づいて、前記対応外ランドマークを検出可能か否かの境界点であるランドマーク検出境界点を含む、前記移動ロボットが移動する前記アーク上の点であって、前記対応外ランドマークを検出可能な点から、前記対応外ランドマークへの経路を表すアークを作成するアーク作成ステップと、前記アーク作成ステップにおいて作成した前記アークと、当該アークにおいて検出可能なランドマークとを対応付けて前記地図情報格納手段に新たに格納させる更新を行う地図情報更新ステップとを有することを特徴とする。
また、本発明は、目的地まで移動可能な移動ロボットの移動処理をコンピュータに実行させる移動プログラムであって、所定のランドマークへの経路を表すアークと、当該アークにおいて検出可能な前記ランドマークとを対応付けて格納する地図情報格納手段に格納されている前記アーク上を前記移動ロボットが移動するときに、所定の位置間隔でランドマークの有無を検出するランドマーク検出ステップと、前記ランドマーク検出ステップにおいて検出した前記ランドマークが前記地図情報格納手段において前記アークに対応付けられているランドマーク以外のランドマークを表す対応外ランドマークである場合に、当該対応外ランドマークを検出したときの当該移動ロボットの位置を特定するロボット位置特定ステップと、前記ロボット位置特定ステップにおいて特定した前記ロボットの位置に基づいて、前記対応外ランドマークを検出可能か否かの境界点であるランドマーク検出境界点を含む、前記移動ロボットが移動する前記アーク上の点であって、前記対応外ランドマークを検出可能な点から、前記対応外ランドマークへの経路を表すアークを作成するアーク作成ステップと、前記アーク作成ステップにおいて作成した前記アークと、当該アークにおいて検出可能なランドマークとを対応付けて前記地図情報格納手段に新たに格納させる更新を行う地図情報更新ステップとを有することを特徴とする。
移動ロボットが移動する範囲における障害物の設置位置が変更された場合など、地図情報と実際の位置とが異なった場合には、実際の位置を特定し地図情報を更新することができる。すなわち、実際の配置が変更された場合であっても、配置の変更に対応した更新がなされた後の地図情報を利用して移動することができるので、正確にかつ効率的に目的地まで移動することができるという効果を奏する。また、当該処理は移動ロボットの移動中において適宜行うことができるので、利用者は、実際の配置が変更される度に移動ロボットに格納されている地図情報を更新する必要がなく、利便性に優れているという効果を奏する。
以下に、本発明にかかる移動ロボット、当該移動ロボットの移動方法および移動プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
図1は、実施の形態にかかる移動ロボット400の外観図である。移動ロボット400は、人間が命令内容を発話すると、音声認識により命令内容を認識する。そして、命令内容を実行する。例えば、「ノード1に移動」と命令すると、ノード1に移動というフレーズを音声認識し、実際にノード1として登録されている位置に移動する。
移動ロボット400は、CCDカメラ411,412と、カメラ雲台420と、マイクロホンアレイ430と、超音波センサ440と、移動用車輪451,452とを備えている。
CCDカメラ411,412は、画像センサである。2つのCCDカメラ411,412を備えることにより、ステレオ視による距離の算出が可能である。カメラ雲台420は、後述のカメラ雲台駆動機構により駆動する。これによりCCDカメラ411,412の向きを変更することができる。マイクロホンアレイ430は、複数の音声マイクにより形成されている。
超音波センサ440は、測距センサである。なお、距離を測定するためのセンサであればよく、特に超音波センサ440に限定されるものではない。他の例としては、例えば、レーザーレンジファインダーであってもよい。
また、超音波センサ440の検出結果を利用することにより、移動ロボット400は例えば部屋の壁に沿って移動することができる。具体的には、移動ロボット400は、超音波センサ440による検出結果に基づき壁から一定距離の位置を壁沿いに移動する。
移動用車輪451,452は、移動ロボット400自身を移動させるための移動手段である。移動用車輪451,452はさらに回転可能であって、移動方向を変更することもできる。このように、移動手段を備えることにより、自律的に任意の位置および方向に移動することができる。
図2は、移動ロボット400に特徴的な音声認識処理を実現する処理部10の機能構成を示すブロック図である。処理部10は、ロボット位置推定部100と、移動指示取得部102と、移動経路作成部104と、ランドマーク検出部106と、ロボット移動処理部108と、データベース(DB)更新部110と、地図DB120とを備えている。
ロボット位置推定部100は、ロボット位置を推定する。ロボット位置推定部100は例えば、超音波センサ440の検出結果に基づいて音源距離を推定する。
移動指示取得部102は、移動指示を取得する。移動指示には、周回指示と目的地到達指示とがある。周回指示とは、移動ロボット400の周囲の壁に沿った移動をすべき旨の指示である。また目的地到達指示とは、移動ロボット400の所定の移動先である目的地まで移動する旨を示す指示である。
具体的には、利用者が例えば「ノード1まで移動」と移動ロボット400に対して話し掛ける。この場合、マイクロホンアレイ430は、この音声を収音し、音声認識手段(図示せず)による音声認識の結果「ノード1まで移動」という目的地到達指示が得られる。そして、移動指示取得部102は、音声認識手段より目的地到達指示を取得する。
なお、他の例としては、移動ロボット400はキーボード等のユーザインターフェースを備えており、ユーザはこのユーザインターフェースにおいて周回指示および目的地到達指示を入力することとしてもよい。この場合、移動指示取得部102は、ユーザインターフェースから移動指示を取得する。
地図DB120は、移動ロボット400が移動する範囲内における地図情報を格納している。本実施の形態にかかる移動ロボット400はトポロジカル地図を利用して移動する。移動ロボット400が利用する地図情報は具体的には、所定のノードまで到達するためのアークの情報、および各ノードの情報などである。
ここで、ノードとは、移動ロボット400が移動する範囲内の所定の位置である。例えば、部屋のコーナーの位置である。また、アークとは、2つのノードにより形成される直線である。本実施の形態にかかる移動ロボット400は、このノードとアークを利用して目的地まで移動する。
移動経路作成部104は、ロボット位置推定部100からロボット位置を取得する。さらに、移動指示取得部102から移動指示を取得する。そして、地図DB120に格納されている地図情報、ロボット位置および移動指示に基づいて移動経路を作成する。ここで、移動経路とは、移動ロボット400が目的地到達指示にしたがって移動する場合に目的地に到達するための経路である。
ランドマーク検出部106は、ランドマークを検出する。具体的には、例えば、CCDカメラ411,412により撮像された画像からランドマークを検出する。本実施の形態においては、ランドマークは、部屋のコーナーであるものとする。コーナーは、CCDカメラ411,412により撮像された画像から検出することができる。
なお、他の例としては、移動ロボット400は赤外線レーザをさらに備え、赤外線レーザによる検出結果に基づいて、ランドマークを検出してもよい。
ロボット移動処理部108は、ランドマーク検出部106が検出したランドマークおよび104が作成した移動経路に基づいて当該移動ロボット400自身を移動させるための処理を行う。具体的には、移動用車輪451,452の駆動機構である車輪駆動機構(後述)に対して移動用車輪451,452を移動させる旨の命令を出力する。これにより、車輪駆動機構が駆動し、実際に移動用車輪451,452が移動する。
DB更新部110は、ランドマーク検出部106からの指示により地図DB120の情報を更新する。また、地図DB120に地図情報が登録されていない場合には、新たに地図を作成する。具体的には、ノード情報およびアーク情報を作成する。
なお、本実施の形態にかかるDB更新部110は、特許請求の範囲に記載の地図情報更新手段およびアーク作成手段に相当する。
図3は、地図DB120に格納されているノードの情報のデータ構成を模式的に示している。図3に示すように、地図DB120は、ノードの情報として、ノードを識別するノードIDと、各ノードの座標値と、種類と、検出可能ランドマークとを格納している。
座標値は、所定のノードを原点とした場合の相対的な座標値である。本実施の形態においては、ノードIDがノード1であるノードを原点とした場合の座標値が格納されている。また、種類とは、ノード自身の種類であり、例えば部屋のコーナーであるとか、ランドマーク検出境界点であるなどの情報である。ここで、ランドマーク検出境界点とは、移動ロボット400が存在する位置であるロボット位置以外の位置に配置されたランドマークを検出可能か否かの境界となる点である。
図4は、ランドマーク検出境界点について説明するための図である。例えば、図4に示すような部屋500において、移動ロボット400が西壁522の壁沿いに移動する。この場合、コーナー1からノードXの地点までの位置では、CCDカメラ411,412は、コーナー4を視認することができる。すなわち、CCDカメラ411,412がコーナー4の方向を撮像した画像からコーナー4を検出することができる。しかし、ノードXからノード2の間においては障害物510の存在によりコーナー4を検出することができない。この場合、ノードXは、ランドマーク検出境界点となる。このように、所定の移動経路においてランドマークを検出できる位置とランドマークを検出できない位置とがある場合に、この境界となる位置がランドマーク検出境界点である。
すなわち、ランドマーク検出境界点とは、自己以外のランドマークを検出可能か否かの境界点である。
図5は、地図DB120に格納されているアークの情報のデータ構成を模式的に示している。図5に示すように、地図DB120は、アークの情報として、アークを識別するアークIDと、各アークにおける移動領域と移動種類とを格納している。
ここで、移動領域とは、当該アークから移動可能な地点を示す情報である。例えば、図5に示すアーク1の移動領域の情報は、ノード1からノード2に移動可能であり、かつノード2からノード1に移動可能であることを示している。また、アーク2の移動情報は、ノード3からノード2に移動可能であることを示している。ただし、ノード2からノード3への矢印がないので、ノード2からノード3には移動できない。また、アーク3の移動情報は、アーク2上のいずれの位置からもノード1に移動可能であることを示している。
なお、より具体的には、アーク情報およびノード情報は、以下の記述として地図DB120に記録される。例えば、ノード1というノードが座標(0,0)にあることは以下のように記述する:
node(node1,0,0)
また、ノードには、自身が移動ロボット400から検出可能なランドマークであるものとランドマーク検出境界点であるものがある。ノード1がランドマークであることは以下のように記述する:
landmark(node1)
また、ノード1がノード1以外のノードであるノード3を検出可能か否かの境界点であるランドマーク検出境界点であることは、以下のように記述する:
landmarkCheckPoint(node3,node1)
また、隣り合う2つのノード間の連結関係はアークで表す。アーク1は、隣り合う2つのノードであるノード1とノード2の連結関係を示すアークである。ノード1からノード2に移動可能である。このことは以下のように記述する:
arc(arc1,node1,node2)
さらに、アーク1においてノード2からノード1へも移動可能である場合には、(つまり、双方向に移動可能である場合には)以下の内容をさらに記述する:
arc(arc1,node2,node1)
アーク1上では、壁沿いに移動するという情報は、以下のように記述する:
alongWall(arc1)
すなわち、以下の記述から双方向に移動可能な壁沿いの移動であることがわかる。
arc(arc1,node1,node2)
arc(arc1,node2,node1)
alongWall(arc1)
また、別のアークであるアーク3上において、ノード1をランドマークとして検出しつつその方向へ移動することは、以下のように記述する:
toLandmark(arc3,node1)
図6は、移動ロボット400が地図DB120に格納すべき地図情報を作成するときの処理を示すフローチャートである。なお、前提として、移動ロボット400は、図7に示す部屋500の地図情報を作成するものとする。図7に示す部屋500の中央部分には障害物510が存在している。
地図DB120に地図情報がまだ登録されていない状態で、部屋のコーナー1にいる移動ロボット400が利用者から周回移動を指示されると、移動ロボット400は、壁沿いに部屋の移動を開始する。本実施の形態にかかる移動ロボット400は、図7に示すようにコーナー1からコーナー2、コーナー3、コーナー4の順に半時計回りに壁沿いを移動する。なお、移動方向は時計回りであってもよい。
移動ロボット400の移動指示取得部102が、利用者から周回移動の指示を取得したときに、地図DB120に地図情報が登録されていない場合には、周回移動の際に新たに地図を作成する。
まず、移動ロボット400のDB更新部110は、地図作成のための開始位置であるコーナー1を地図情報として登録する(ステップS100)。具体的には、コーナーに対してノードIDを付与する。ここでは、「ノード1」のノードIDを付与する。さらに、ノード1の座標(0,0,0)を登録する。ここで、座標値は当該コーナーを原点とする値である。さらに、ノード1がコーナー1である旨を登録する。
次に、移動ロボット400は移動を開始する。移動ロボット400は、西壁522に沿って移動する(ステップS102)。移動の間、ランドマーク検出部106はランドマークを検出する。具体的には、カメラ雲台420はCCDカメラ411,412を回転させる。そして、CCDカメラ411,412は各方向の画像を撮像する。ランドマーク検出部106は、得られた各方向の画像に基づいてランドマークの有無を検出する。
次のコーナーに到達すると(ステップS104,Yes)、到達したコーナーをノードとして登録する(ステップS106)。さらに、このとき登録したノードと直前に移動ロボット400が通過したノードとの間の直線をアークとして新たに登録する(ステップS108)。
なお、壁沿いに移動し、前方に壁が存在することを認識した場合、コーナーであると認識することができる。より具体的には、CCDカメラ411,412により撮像された画像または超音波センサ440の検出結果に基づいて前方の壁との距離を推定する。そして、壁との距離が予め定めた閾値以下となったときに、当該位置をコーナーと認識することとする。
一方、コーナーに到達するまでの移動の途中において、ランドマーク検出部106は、CCDカメラ411,412によってランドマークが撮像されたか否かに基づいてランドマークを検出する。
ランドマーク検出部106は、移動中は常にランドマークの有無を確認する。そして、ランドマーク検出境界点に到達すると(ステップS120,Yes)、ランドマーク検出境界点をノードとして登録する(ステップS122)。
具体的には、ノードIDを新たに付与し、当該ノードIDに対してロボット位置を示す座標値を登録する。さらに、当該のノードの種類としてランドマーク検出境界点である旨を登録する。また、このとき検出されたランドマークのランドマークIDを登録する。
ステップS120におけるランドマーク検出境界点か否かの判断は、以下のように行われる。すなわち、移動ロボット400が所定の経路を移動中それまで検出できなかったランドマークをはじめて検出した場合、このランドマークを検出した位置はランドマークの検出可否の境界位置であるからランドマーク検出境界点と特定される。
また、移動ロボット400が所定の経路を移動中たえず所定のランドマークを検出していたとする。そして、ある地点においてこのランドマークを検出することができなくなった場合、このランドマークが検出できなくなった位置はランドマークの検出可否の境界位置である。すなわち、ランドマーク検出境界点と特定される。
さらに、今回登録したノードに到着する直前に経由したノードと今回登録したノードとの間の直線をアークとして新たに登録する(ステップS124)。このとき登録したアーク上の任意の位置において検出可能なランドマークが存在する場合には(ステップS126,Yes)、登録したアークとランドマークとの間の直線をアークとして新たに登録する(ステップS128)。以上の処理を出発地点であるコーナー1に到達するまで行う(ステップS130)。
以下、図8から図14を参照しつつ、地図作成処理についてより詳細に説明する。まず、地図作成開始時に、DB更新部110は、現在のロボット位置であるコーナー1をノード1として地図DB120に登録する。また、座標値(0,0)を登録する。さらに、ノード1がランドマークである旨を登録する。具体的には、以下の記述を地図DB120に格納する。
node(node1,0,0)
landmark(node1)
そして、移動ロボット400は、図8に示すようにマイクロホンアレイ430の検出結果に基づいて、コーナー1からコーナー2に向かって壁沿いの移動を開始する。
移動ロボット400は、まず次のコーナーまで移動する。そして、コーナーに到達するとDB更新部110は、到達したコーナーをノード2として登録する。さらにノード2の座標値(0,−70)を登録する。すなわち、以下の記述を地図DB120に格納する。
node(node2,0,-70)
なお、ロボット位置推定部100は、移動中のロボット位置の座標値は、移動ロボット400のタイヤの角度、回転量等に基づいて推定する。
さらにノード2がランドマークである旨を登録する。すなわち、以下の記述を地図DB120に格納する。
landmark(node2)
さらに、DB更新部110は、ノード1とノード2の間の直線であるアークを登録する。当該アークに対してアークIDとして「アーク1」を付与する。そして、当該アークによりノード1からノード2へ移動可能である旨を登録する。すなわち、以下の記述を地図DB120に格納する。
arc(arc1,node1,node2)
また、アーク1がノード2からノード1へ移動可能である旨を登録する。すなわち、以下の記述を地図DB120に格納する。
arc(arc1,node2,node1)
また、アーク1上では壁沿いに移動する旨を登録する。すなわち、以下の記述を地図DB120に格納する。
alongWall(arc1)
以上の処理によりコーナー2までの地図の作成が完了する。続いて、コーナー3に向かって移動し、コーナー2からコーナー3までの間の地図を作成する。
図9は、コーナー2からコーナー3まで移動しつつ地図を作成する処理を説明するための図である。
移動ロボット400は、コーナー2すなわちノード2から南壁524に沿って移動する。ランドマーク検出部106は、ノード2において、地図DB120に登録されているノード1を検出する。ノード1が検出可能であることを確認しつつ、南壁524に沿って移動する。
具体的には、CCDカメラ411,412を頻繁にノード1の方向に向ける。これにより、移動中の各位置において、ノード1を検出可能か否かを判断する。移動ロボット400が南壁524上の位置5242に到達すると、ノード1は障害物510の陰に隠れてしまう。このため、ランドマーク検出部106は、ノード1を検出できなくなる。すなわち、位置5242は、ランドマーク検出境界点である。
そこで、ランドマーク検出部106は、位置5242をノードとして登録する。具体的には、位置5242をノード3として登録する。ノード3の相対座標として以下の記述を地図DB120に登録する。
node(node3,50,−70)
さらに、ノード3がランドマーク検出境界点である旨を登録する。すなわち、以下の記述を登録する。
landmarkCheckPoint(node3,node1)
また、ノード2とノード3の間の直線をアーク2として登録する。アーク2では、ノード2からノード3へ移動可能である。また、逆に、ノード3からノード2まで移動可能である。さらに、アーク2は壁沿いに移動可能である。したがって、以下の記述を登録する。
arc(arc2,node2,node3)
arc(arc2,node3,node2)
alongWall(arc2)
さらに、アーク2上の任意の点からノード1を検出することができる。検出したノード1の方向に移動することにより、ノード1に到達することができる。そこで、アーク2上のすべての位置からノード1まで移動可能である旨を登録する。すなわち、以下の記述を登録する。
arc(arc3,arc2,node1)
toLandmark(arc3,node1)
以上の登録が完了すると、以降も続けて壁沿いに移動する。次に到達するコーナー3までノード1は検出されない。したがって、コーナー3まで新たなノードは登録されない。
そして、コーナー3に到達すると、コーナー3をノード4として登録する。すなわち、ノード4の座標と、ランドマークである旨を登録する。
node(node4,120,−70)
landmark(node4)
また、ノード3とノード4の間のアークをアーク4として登録する。すなわち、以下の記述を登録する。
arc(arc4,node3,node4)
arc(arc4,node4,node3)
alongWall(arc4)
図10は、コーナー3からコーナー4に向けて移動しつつ地図を作成する処理を説明するための図である。
移動ロボット400は、コーナー3すなわちノード4から東壁526に沿って移動する。ランドマーク検出部106は、ノード3において地図DB120に登録されているノード2を検出する。ノード2が検出可能なことを確認しつつ東壁526に沿って移動する。
移動ロボット400が位置5262に到達すると、ノード2は障害物510の陰に隠れてしまう。このため、ランドマーク検出部106は、ノード3を検出できなくなる。すなわち、位置5262は、ランドマーク検出境界点である。そこで、DB更新部110は、位置5262をノード5として登録する。さらに、ノード5の相対座標として以下の記述を地図DB120に登録する。
node(node5,120,−52)
さらに、ノード5がランドマークであるノード2のランドマーク検出境界点である旨を登録する。
landmarkCheckPoint(node5,node2)
また、ノード4からノード5までのアークをアーク5として登録する。アーク5は、壁沿いに双方向に移動可能なので、以下のように記録する。
arc(arc5,node4,node5)
arc(arc5,node5,node4)
alongWall(arc5)
さらに、アーク5上の任意の点からノード2を検出することができる。ノード2を検出し、検出した方向に進むことにより、移動ロボット400は、アーク5上の任意の点からノード2に移動することができる。そこで、このアークをアーク6として地図DB120に登録する。さらに、アーク6によりノード2に到達可能な旨を登録する。
arc(arc6,arc5,node2)
toLandmark(arc6,node2)
移動ロボット400は、ノード5を通過し、さらに東壁526を壁沿いに移動する。図11は、ノード5を通過後、コーナー4まで移動しつつ地図を作成する処理を説明するための図である。
移動ロボット400が位置5264に到達すると、ランドマーク検出部106は、東壁526においてはじめてノード1を検出する。すなわち位置5264は、ランドマーク検出境界点である。そこで、位置5264をノード1のランドマーク検出境界点のノードとして新たに登録する。ノード6の相対座標およびランドマーク検出境界点である旨を記録する。
node(node6,120,−48)
landmarkCheckPoint(node6,node1)
また、ノード5とノード6の間の直線をアーク7として登録する。さらに、アーク7においては壁沿いに双方向に移動可能である旨を記録する。
arc(arc7,node5,node6)
arc(arc7,node6,node5)
alongWall(arc7)
そして、ノード1が検出可能であることを確認しつつ、東壁526に沿って移動する。コーナー4までの間ノード1を検出可能な状態のままコーナー4に到達する。ここで、コーナー4をノード7として新たに登録する。ノード7の相対座標およびランドマークである旨を記録する。
node(node7,120,0)
landmark(node7)
また、ノード6とノード7の間の直線をアーク8として登録する。さらに、アーク8においては壁沿いに双方向に移動可能である旨を記録する。
arc(arc8,node6,node7)
arc(arc8,node7,node6)
alongWall(arc8)
さらに、アーク8上の任意の点からノード1を検出可能である。これにより、移動ロボット400はノード1に移動可能である。そこで、アーク8上の点からノード1へのアークを新たに登録する。
arc(arc9,arc8,node1)
toLandmark(arc9,node1)
図12は、コーナー4からコーナー1に向けて移動しつつ地図を作成する処理を説明するための図である。
移動ロボット400は、コーナー4すなわちノード7から北壁528に沿って移動する。ランドマーク検出部106は、ノード7において地図DB120に登録されているノード4を検出する。ノード4が検出可能なことを確認しつつ北壁528に沿って移動する。
移動ロボット400が位置5282に到達すると、ランドマーク検出部106は、これまで障害物510の陰に隠れていたノード2を検出する。すなわち、位置5282はランドマーク検出境界点である。そこで、DB更新部110は、位置5282をノード8として登録する。また、相対座標を登録する。
node(node8,70,0)
また、ノード8はランドマークであるノード2のランドマーク検出境界点である旨を記録する。
landmarkCheckPoint(node8,node2)
さらに、ノード7とノード8の間のアーク10として登録する。アーク10は壁沿いに双方向に移動可能であり、以下のように記録する。
arc(arc10,node7,node8)
arc(arc10,node8,node7)
alongWall(arc10)
さらに、アーク10上の任意の点からノード4を検出することができる。したがって、移動ロボット400は、アーク10上の任意の点からノード4に移動することができる。そこで、このアークをアーク11として以下の内容を登録する。
arc(arc11,arc10,node4)
toLandmark(arc11,node4)
移動ロボット400はノード8を通過し、さらに北壁528を壁沿いに移動する。図13は、ノード8を通過後、コーナー1に向けて移動しつつ地図を作成する処理を説明するための図である。
移動ロボット400が位置5284に到達すると、ノード4は、障害物510の陰に隠れてしまう。このため、ランドマーク検出部106はノード4を検出できなくなる。すなわち、位置5284は、ランドマーク検出境界点である。そこで、DB更新部110は、位置5284をノード9として登録する。
さらに、ノード9の相対座標として以下の記述を地図DB120に登録する。
node(node9,40,0)
さらに、ノード9はランドマークであるノード4のランドマーク検出境界点である旨を登録する。
landmarkCheckPoint(node9,node4)
また、ノード8からノード9までのアーク(壁沿いに双方向に移動可能)は以下のように記録する。
arc(arc12,node8,node9)
arc(arc12,node9,node8)
alongWall(arc12)
アーク12上の任意の点からノード4とノード2が視覚認識できるので、ノード4やノード2に行くことができる。このようなアークからノード(ランドマーク)への経路もアークとして以下のように記録する。
arc(arc13,arc12,node4)
toLandmark(arc13,node4)
arc(arc14,arc12,node2)
toLandmark(arc14,node2)
図14は、ノード9を通過後ノード1まで移動しつつ地図を作成する処理を説明するための図である。
移動ロボット400は、ノード9を通過するとノード2を検出可能な状態のままノード1に到達する。そして、ノード9からノード1までのアーク(壁沿いに双方向に移動可能)を以下のように記録する。
arc(arc15,node9,node1)
arc(arc15,node1,node9)
alongWall(arc15)
アーク15上の任意の点からノード2を検出することができる。したがって、アーク15からノード2へのアークをアーク16として以下のように記録する。
arc(arc16,arc15,node2)
toLandmark(arc16,node2)
以上のように、移動ロボット400は、部屋を周回することにより、ランドマークであるコーナーを検出可能か否かに基づいて移動するためのトポロジカル地図を作成することができる。
図15は、利用者から目的地到達指示が与えられたときに目的地まで移動する移動処理を示すフローチャートである。移動ロボット400の移動指示取得部102が移動指示を取得すると(ステップS200)、まず移動経路作成部104は現在のロボット位置を特定する。現在のロボット位置が地図DB120に登録されているいずれかのノードでもない場合には(ステップS202,No)、ノードまで移動する(ステップS204)。
移動ロボット400がアーク上を移動している場合には、このようにノード以外の位置に存在する。この場合には、アーク上の移動を続行することによりノードに到達する。
次に、移動経路作成部104は、地図DB120に格納されている地図情報に基づいて経路を特定する(ステップS206)。なお、このとき、移動ロボット400が移動する対象となる部屋の全体の地図データが格納されている必要はない。
そして、移動ロボット400は、移動経路作成部104が作成した移動経路にしたがって、まず次のノードへの移動を開始する(ステップS208)。すなわち、例えば目的地に到達するまでに3つのノードを経由する必要がある場合には、そのうちの一番目のノードに向けて移動する。具体的には、地図DB120において一番目のノードに到達するための経路として登録されているアーク上を移動する。
移動中は、移動ロボット400はカメラ雲台420を回転させて絶えずランドマークの有無を検出する。そして、1番目のノードに到達する前に、ランドマーク検出部106が新たなノードを検出すると(ステップS210,Yes)、新たなノードについての地図情報を地図DB120に登録する(ステップS212)。新たなノードの地図情報を地図DB120に登録する処理については後述する。
そして、次のノードに到達し(ステップS214,Yes)、かつ到達したノードが目的地でない場合には(ステップS216,No)、目的地に到達するまでステップS208からステップS216の処理を繰り返す。
一方、次に到達すべきノードに向けて進んでいるにもかかわらず次のノードに到達しない場合には(ステップS214,No)、次に到達すべきノードの前のノード、すなわち直前に経由したノードに戻る(ステップS220)。そして、DB更新部110は、移動を試みたアークに関する地図情報を地図DB120から削除する(ステップS222)。
そして、再びステップS206に戻り、移動経路作成部104は、移動を試みたアークに関する地図情報が削除された後、すなわち更新後の地図DB120に格納されている地図情報に基づいて目的地までの移動経路を作成する(ステップS206)。以上により、目的地までの移動処理が完了する。
このように、次のノードに到達しない場合としては、例えばこれまで部屋の中にあった障害物が取り除かれた場合や、逆に新たな障害物が設置された場合が想定される。この場合には、このような障害物の位置の変更前の地図情報は利用することができない。
そこで、本実施の形態にかかるDB更新部110は、このように次のノードに到達しない場合には、実際の部屋の中の障害物の配置が変更されていると判断し、変更にかかる地図情報を削除する。すなわち、障害物の配置が変更されている場合には、障害物の配置の変更に応じて、地図DB120に格納されている地図情報を更新することができる。
さらに、この場合には、直前のノードに戻り、更新後の地図DB120に格納されている地図情報に基づいて経路を特定することができる。したがって、障害物の配置が変更されている場合であっても、速やかに最も適切な移動経路を作成することができる。
なお、本実施の形態においては、次のノードに到達できない場合にのみ、直前のノードに戻ることとしたが、これにかえて、新たなノードに関する地図情報を地図DB120に登録した場合にも、直前のノードに戻り、新たなノードに関する地図情報が登録された地図DB120に格納されている地図情報に基づいて再度目的地までの移動経路を作成してもよい。これにより、より適切な移動経路を作成することができる。
図16は、ステップS212におけるロボット位置推定部100の処理を示すフローチャートである。移動ロボット400がアーク上を移動しているときに、移動途中のロボット位置がランドマーク検出境界点であると特定された場合に、当該ロボット位置をノードとして新たに登録する(ステップS300)。
移動中のアークが壁沿いに2つのノード間を双方向に移動可能なアークSである場合には(ステップS302,Yes)、新たに登録したノードと直前に経由したノードの間の直線を双方向移動可能なアークTとして地図DB120に記録する(ステップS304)。
次に、ステップS300において新たに登録したノードと次に移動する予定であったノードの間の直線を壁沿いに双方向移動可能なアークUとして新たに地図DB120に記録する(ステップS306)。次に、新たに登録したアークT上の任意の点から検出可能なランドマークへのアークT’をさらに記録する(ステップS308)。次に、新たに登録したアークU上の任意の点から検出可能なランドマークへのアークU’をさらに記録する(ステップS310)。そして、これまで移動していたアークXに関する地図情報をすべて削除する(ステップS312)。
一方、移動中のアークがランドマークBの検出方向に移動可能なアークXである場合には(ステップS302,No)、新たに登録したノードと直前に経由したノードの間の直線は、ランドマークBを検出することにより移動可能なアークYとして地図DB120に記録する(ステップS320)。
次に、ステップS300において新たに登録したノードと次に移動する予定だったノードまではランドマークBを検出することにより移動可能なアークZとして地図DB120に記録する(ステップS322)。
次に、新たに登録したアークY上の任意の点から検出可能なランドマークへのアークY’をさらに記録する(ステップS324)。同様に、新たに登録したアークZ上の任意の点から検出可能なランドマークへのアークZ’をさらに記録する(ステップS326)。そして、これまで移動していたアークXに関する地図情報を全て削除する(ステップS312)。以上でステップS212における処理が完了し地図DB120に格納されている地図情報が更新される。
このように、移動ロボット400が例えば目的地に向けて移動しているときに地図DB120に登録されていないランドマーク検出境界点を特定した場合には、特定した時点で地図DB120登録されている地図情報を更新することができる。したがって、部屋の内部における障害物の配置が変更された場合には自動的に地図DB120に格納されている地図情報を更新することができる。
したがって、障害物の配置が変更された場合であっても、移動経路作成部104は、変更に対応した更新後の地図DB120に格納されている地図情報を利用することにより、目的地までの適切な経路を示す移動経路を作成することができる。
図17を参照しつつ、目的地到達指示を受けた場合の処理についてより詳細に説明する。図17は移動ロボット400が地図作成処理を終了し、ノード1に到達した後に、ノード4に移動する旨の目的地到達指示を受けた場合に作成される移動経路を示している。
移動指示取得部102がノード4に移動する旨の目的地到達指示を取得すると、移動経路作成部104は、地図DB120に登録されている地図情報に基づいてノード1からノード4へ移動するための移動経路を作成する。なお、このとき地図DB120に登録されている地図情報は、図6等を参照しつつ説明した地図作成処理によって作成された情報である。
この場合、移動経路作成部104が以下の経路を作成する。
(1)ノード1
(2)アーク15(壁沿い)
(3)ノード9
(4)アーク13(ノード4検出)
(5)ノード4
移動ロボット400は、(1)から(5)の順に移動することによりノード4に到達することができる。
移動経路作成部104は具体的には、地図DB120に格納されている以下の情報に基づいて上記(1)から(5)の移動経路を作成する。すなわち、
arc(arc15,node1,node9)
という情報から、ノード1からアーク15経由でノード9まで移動可能である。
alongWall(arc15)
という情報からは、アーク15は、壁沿いに移動可能な経路である。
arc(arc12,node9,node8)
arc(arc13,arc12,node4)
から、ノード9はアーク12上の点であり、アーク12の任意の点からノード4まで移動可能(アーク13)である。したがって、ノード9からノード4までは、アーク13を経由して直接到達することができる。
さらに、
toLandmark(arc13,node4)
という情報から、アーク13の区間では、ランドマーク4を検出して移動すればよい。
なお、移動経路作成部104は、ノード1からノード4までの異なる複数の移動経路を作成することができる。本実施の形態にかかる移動経路作成部104は、このうち、最短ルートとなる移動経路を選択する。最短ルートを選ぶ方法としては、いくつかの経路を作成した後に、その移動距離が最も短い経路を選択することとしてもよい。また、他の例としては、よく知られた「A*」や「ダイクストラの方法」等を利用してもよい。
また、他の例としては、未だ通過したことのないアークやノードを経由するような経路を優先的に選択することとしてもよい。これにより、新たなアークやノードを地図情報として地図DB120に登録することができる。この場合、地図DB120において各ノード情報やアーク情報に対応付けて、当該ノードやアークの経過の有無を示す情報を格納しておくこととする。
また、他の例としては、一定期間以上通過していないアークやノードを経由するような経路を優先的に選択することとしてもよい。これにより、当該アーク等にかかる障害物の配置等が変更されていた場合には、障害物の配置等の変更に対応する地図情報の更新を行うことができる。
さらに、図17を参照しつつ説明した移動経路に従い移動ロボット400がノード4に向けて移動している途中、アーク13上の位置に到達した時点で、ユーザからノード4に行くのを中止してノード2に行く旨の目的地到達指示を取得したとする。
図18は、この場合に作成される移動経路を示している。移動ロボット400はアーク13上の位置5300まで移動したところで、ノード2への目的地到達指示を取得したとする。ここで、位置5300は、ノード2を検出不能な位置である。
このように、アークを移動している途中で他の目的地到達指示を取得した場合には、投機的にノード2に直接向かう移動経路を作成する。しかし、ノード2との間に障害物510が存在するため、位置5302からはノード2を検出することができない。
そこで、次に、移動ロボット400が移動中のアーク13上の別の点からノード2へ移動可能な経路を検討する。
まず、ノード2を検出可能であり、かつ検出したノード2の方向に移動可能なアークを検出する。
toLandmark(arc6,node2)
toLandmark(arc14,node2)
toLandmark(arc16,node2)
から、アーク6、アーク14およびアーク16のそれぞれが、ノード2へ移動可能なアークである。
したがって、アーク6、アーク14およびアーク16のいずれかとアーク13とが交われば、その交点においてノード2を検出することができる。さらに、検出したノード2の方向に移動することによりノード2に到達することができる。
さらに、以下の記録から、アーク6は、ノード5からノード4までのアーク5上の任意の点からノード2まで移動するためのアークであることがわかる。
arc(arc5,node5,node4)
arc(arc6,arc5,node2)
また、以下の記録からノード5はノード2のランドマーク検出境界点である。
landmarkCheckPoint(node5,node2)
そこで、ノード5とノード2を結ぶ線分と、移動ロボット400の移動中の位置5300とノード4を結ぶ線分の交点を求める。この交点をノード16と定める。ノード16からノード2を検出可能である。したがって、最終的に以下の移動経路を作成することができる。
(1)現在位置5300
(2)アーク13(ノード4検出)
(3)ノード16
(4)アーク6(ノード2検出)
(5)ノード2
なお、移動ロボット400の位置5300とノード4とを結ぶ線分と、先に候補としてあげたアーク14およびアーク16とは交わらない。したがって、これらのアークを経由する移動経路は作成しない。
このように、現在の経路と交差するアークに特定することにより、演算量を抑えることができる。また、より適切な経路を特定することができる。
以上のように、本実施の形態にかかる移動ロボット400においては、地図DB120が格納している地図情報から計算可能なノードは、新ノードとして登録する必要がない。したがって、地図DB120に地図情報を格納するために要するメモリ容量を抑えることができる。
また、他の例としては、本実施の形態のように2つの線分の交点を算出するのにかえて、アーク13途中からノード2を検出可能になると仮定し、アーク13を移動してもよい。この場合の経路は以下のようになる。
(1)現在位置5300
(2)アーク13(ノード4検出)
(3)ノード2検出
(4)ノード2まで移動(ノード2検出)
なお、この場合に、(3)においてノード2を検出する位置は、先に説明したノード16と同一の位置となる。
さらに、図18を参照しつつ説明したようにノード2に移動すべくアーク13上を移動しているときに、ノード1へ移動する旨の目的地到達指示を取得したとする。
図19は、この場合に作成される移動経路を示している。移動ロボット400は、アーク13上の位置5302まで移動したところで、ノード1への目的地到達指示を取得したとする。すると、移動ロボット400はノード2に行くための移動を中止する。そして、移動経路作成部104は、再度経路探索を行う。
ノード1はランドマークである。そこで、投機的に、ノード1に直接向かうプランを立てる。しかし、ノード1は障害物510の存在により検出することができない。そこで、次に、投機的に、アーク13上のどこかでノード1が見えるだろうと仮定する。そして、以下の経路を作成する。
(1)現在位置5302
(2)アーク13(ノード4認識)
(3)ノード1検出
(2)ノード1まで移動(ノード1検出)
しかし、図19に示すように、障害物510の存在によりアーク13上を移動した場合ノード4に到達するまでノード1を検出することができない。このように、仮定して移動した結果所定のノードに到達するまで、移動経路上検出すべきランドマークを検出できない場合には到達したノードから改めて移動経路を計算する。
このとき作成される移動経路は以下のようになる。
(1)現在位置(ノード4)
(2)アーク4(ノード2検出)
(3)ノード3
(4)アーク3(ノード1検出)
(5)ノード1
次に、図20および図21を参照しつつ、ランドマーク検出境界点を新たにノードとして登録する処理について詳細に説明する。図20は、壁沿いに移動している場合について説明するための図である。図21は、検出したノードの方向に移動している場合について説明するための図である。
図20に示すように部屋500にこれまで設置されていなかった障害物512が新たに設置されていたとする。そして、障害物512の設置後、移動ロボット400がアーク2(アーク2は、図16におけるアークXに対応する。)上をノード2からノード3に向かって移動する。
この場合、アーク2の途中の位置5310において障害物512の存在により、ノード1を検出できなくなる。すなわち、このときのロボット位置はランドマーク検出境界点となる。
しかし、これまでは、障害物512は存在していなかったため、地図DB120には、当該ランドマーク検出境界点のノードは登録されていない。そこで、この場合には、新たにノードとして当該ランドマーク検出境界点を登録する。
具体的には、まず今回特定したランドマーク検出境界点を新たにノードAとして登録する。そして、ノード2とノードAとの間の直線を新たにアークTとして登録する。また、ノードAとノード3との間の直線を新たにアークUとして登録する。
さらに、アークTからノード1に移動するためのアークを新たにアークT’として登録し、アークUからノード1に移動するためのアークを新たにアークU’として登録する。
そして、既に地図DB120に登録されていたアーク2に関する地図情報をすべて削除する。ここで、アーク2に関する地図情報とは、例えば、アーク2だけでなく、アーク2からノード1へ向かうアークであるアーク3などがある。
図21に示すように、部屋500にこれまで設置されていなかった障害物514が新たに設置されていたとする。そして、障害物514の設置後、移動ロボット400がアーク9上をアーク8からノード1の方向に移動する。
この場合、アーク9の途中の位置5312において、障害物514の存在によりノード7を検出できなくなる。すなわち、このときのロボット位置はランドマーク検出境界点となる。この場合には、新たにノードとして当該ランドマーク検出境界点を登録する。
具体的には、まず今回特定したランドマーク検出境界点を新たにノードBとして登録する。そしてアーク8からノードBまでの線分を新たにアークYとして登録する。また、アーク8からノード1までの線分を新たにアークZとして登録する。
このように、部屋500に新たにランドマーク検出の障害となる物が設置された場合であっても、当該障害物を検出した時点で、地図DB120に格納されている地図情報を更新することができる。
したがって、部屋の中の障害物の配置が変更された場合であっても、移動ロボット400は適切な経路を経由して目的地に到達することができる。また、このような更新処理を自動的に行うことができるので、利便性に優れている。
図22は、実施の形態に係る移動ロボット400のハードウェア構成を示す図である。移動ロボット400は、ハードウェア構成として、移動ロボット400における地図作成処理を実行する地図作成プログラムおよび作成された地図による移動を行う移動処理を実行する移動処理プログラムなどが格納されているROM52と、ROM52内のプログラムに従って移動ロボット400の各部を制御するCPU51と、移動ロボット400の制御に必要な種々のデータを記憶するRAM53と、ネットワークに接続して通信を行う通信I/F57と、各部を接続するバス62とを備えている。
先に述べた処理部10における地図作成プログラムおよび移動処理プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フロッピー(R)ディスク(FD)、DVD等のコンピュータで読み取り可能な記録媒体に記録されて提供されてもよい。
この場合には、地図作成プログラムおよび移動処理プログラムは、処理部10において上記記録媒体から読み出して実行することにより主記憶装置上にロードされ、上記ソフトウェア構成で説明した各部が主記憶装置上に生成されるようになっている。
また、本実施の形態の地図作成プログラムおよび移動処理プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。
さらに、移動ロボット400は、ハードウェア構成として、前述のマイクロホンアレイ430と、CCDカメラ411,412と、カメラ雲台420と、カメラ雲台駆動機構422と、超音波センサ440と、移動用車輪451,452と、車輪駆動機構460と、これらのハードウェアを制御するコントローラ300とを備えている。
以上、本発明を実施の形態を用いて説明したが、上記実施の形態に多様な変更または改良を加えることができる。
実施の形態にかかる移動ロボット400の外観図である。 移動ロボット400に特徴的な音声認識処理を実現する処理部10の機能構成を示すブロック図である。 地図DB120に格納されているノードの情報のデータ構成を模式的に示す図である。 ランドマーク検出境界点について説明するための図である。 地図DB120に格納されているアークの情報のデータ構成を模式的に示す図である。 移動ロボット400が地図DB120に格納すべき地図情報を作成するときの処理を示すフローチャートである。 移動ロボット400が地図情報を作成する対象となる部屋500を示す図である。 コーナー1からコーナー2に移動しつつ地図を作成する処理を説明するための図である。 コーナー2からコーナー3まで移動しつつ地図を作成する処理を説明するための図である。 コーナー3からコーナー5に向けて移動しつつ地図を作成する処理を説明するための図である。 ノード5を通過後、コーナー4まで移動しつつ地図を作成する処理を説明するための図である。 コーナー4からコーナー1に向けて移動しつつ地図を作成する処理を説明するための図である。 ノード8を通過後、コーナー1に向けて移動しつつ地図を作成する処理を説明するための図である。 ノード9を通過後ノード1まで移動しつつ地図を作成する処理を説明するための図である。 利用者から目的地到達指示が与えられたときに目的地まで移動する移動処理を示すフローチャートである。 ステップS212におけるロボット位置推定部100の処理を示すフローチャートである。 移動ロボット400が地図作成処理を終了し、ノード1に到達した後に、ノード4に移動する旨の目的地到達指示を受けた場合に作成される移動経路を示す図である。 移動ロボット400がノード4に向けて移動している途中、アーク13上の位置に到達した時点で、ユーザからノード4に行くのを中止してノード2に行く旨の目的地到達指示を取得した場合に作成される移動経路を示す図である。 図18を参照しつつ説明したようにノード2に移動すべくアーク13上を移動しているときに、ノード1へ移動する旨の目的地移到達指示を取得した場合に作成される移動経路を示す図である。 壁沿いの移動において、ランドマーク検出境界点を新たにノードとして登録する処理について説明するための図である。 検出したノード方向への移動において、ランドマーク検出境界点を新たにノードとして登録する処理について説明する目の図である。 実施の形態に係る移動ロボット400のハードウェア構成を示す図である。
符号の説明
10 処理部
51 CPU
52 ROM
53 RAM
57 通信I/F
62 バス
100 ロボット位置推定部
102 移動指示取得部
104 移動経路作成部
106 ランドマーク検出部
108 ロボット移動処理部
110 DB更新部
120 地図DB
300 コントローラ
400 移動ロボット
411,412 CCDカメラ
420 カメラ雲台
422 カメラ雲台駆動機構
430 マイクロホンアレイ
440 超音波センサ
451,452 移動用車輪
460 車輪駆動機構
500 部屋
510,512,514 障害物
522 西壁
524 南壁
526 東壁
528 北壁

Claims (15)

  1. 目的地まで移動可能な移動ロボットであって、
    当該移動ロボットを移動させる移動処理手段と、
    所定のランドマークへの経路を表すアークと、当該アークにおいて検出可能な前記ランドマークとを対応付けて格納する地図情報格納手段と、
    当該移動ロボットが前記地図情報格納手段に格納されている前記アーク上を移動するときに、所定の位置間隔でランドマークの有無を検出するランドマーク検出手段と、
    前記ランドマーク検出手段が検出した前記ランドマークが前記地図情報格納手段において前記アークに対応付けられているランドマーク以外のランドマークを表す対応外ランドマークである場合に、当該対応外ランドマークを検出したときの当該移動ロボットの位置を特定するロボット位置特定手段と、
    前記ロボット位置特定手段が特定した前記ロボットの位置に基づいて、前記対応外ランドマークを検出可能か否かの境界点であるランドマーク検出境界点を含む、前記移動ロボットが移動する前記アーク上の点であって、前記対応外ランドマークを検出可能な点から、前記対応外ランドマークへの経路を表すアークを作成するアーク作成手段と、
    前記アーク作成手段が作成した前記アークと、当該アークにおいて検出可能なランドマークとを対応付けて前記地図情報格納手段に新たに格納させる更新を行う地図情報更新手段と
    を備えたことを特徴とする移動ロボット。
  2. 前記地図情報更新手段は、前記ランドマーク検出手段が、前記地図情報格納手段において前記アークに対応付けられているランドマークを検出しない場合に、当該ロボットが移動中の前記アークおよび当該アークに対応付けられている前記ランドマークを前記地図情報格納手段から削除する更新を行うこと
    特徴とする請求項1に記載の移動ロボット。
  3. 前記地図情報更新手段によって更新された後の前記地図情報格納手段に格納されている前記アークおよび前記ランドマークに基づいて、当該移動ロボットを前記目的地まで移動させるための移動経路を作成する移動経路作成手段をさらに備えたことを特徴とする請求項1に記載の移動ロボット。
  4. 前記目的地の指定を受け付ける目的地指定受付手段をさらに備え、
    前記ランドマーク検出手段は、さらに、前記目的地指定受付手段が前記目的地の指定を受け付けたときに当該移動ロボットが移動中の位置において目的地を示すランドマークの有無を検出するとともに、所定の位置間隔で目的地を示すランドマークの有無を検出し、
    前記目的地指定受付手段が前記目的地の指定を受け付けたときに当該移動ロボットが移動中の位置において、前記ランドマーク検出手段が前記目的地を示すランドマークを検出できない場合に、前記移動処理手段は当該移動ロボットを現在移動中のアーク上をさらに移動させ、
    前記移動経路作成手段は、前記ランドマーク検出手段が前記目的地を示すランドマークを検出した場合に、当該ランドマークを検出したときの当該移動ロボットの位置当該ランドマークとを連結する直線上の経路であって、当該ランドマークを検出したときの当該移動ロボットの位置から当該ランドマークに向かう移動経路を作成することを特徴とする請求項3に記載の移動ロボット。
  5. 前記目的地指定受付手段が前記目的地の指定を受け付けたときに当該移動ロボットが移動中の位置において、前記ランドマーク検出手段が前記目的地を示すランドマークを検出できない場合に、当該目的地を示すランドマークに対応付けて前記地図情報格納手段に格納されている前記アークと当該移動ロボットが移動中のアークとの交点を算出するアーク交点算出手段をさらに備え、
    前記移動経路作成手段は、さらに前記アーク交点算出手段によって算出された前記アークとの交点を経由し、かつ前記目的地を検出可能なアークを経由する移動経路を作成することを特徴とする請求項4に記載の移動ロボット。
  6. 前記目的地の指定を受け付ける目的地指定受付手段をさらに備え、
    前記ランドマーク検出手段は、さらに、前記目的地指定受付手段が前記目的地の指定を受け付けたときに当該移動ロボットが移動中の位置において目的地を示すランドマークの有無を検出するとともに、所定の位置間隔で目的地を示すランドマークの有無を検出し、
    前記目的地指定受付手段が前記目的地の指定を受け付けたときに当該移動ロボットが移動中の位置において前記ランドマーク検出手段が前記目的地を示すランドマークを検出できない場合に、前記移動処理手段は当該移動ロボットを、現在移動中のアーク上をさらに移動させ、
    前記移動経路作成手段は、前記ランドマーク検出手段が前記目的地を示すランドマークを検出しない場合に、前記アークの端部であるノードを経由して前記目的地のランドマークまで移動する移動経路を作成することを特徴とする請求項3に記載の移動ロボット。
  7. 前記ロボット位置特定手段は、前記ランドマーク検出手段が前記地図情報格納手段に格納されているランドマークを検出したときの当該移動ロボットの位置を特定し、
    前記ロボット位置特定手段が特定した前記ロボットの位置が前記地図情報登録手段において前記ランドマーク検出手段が検出した前記ランドマークに対応付けられている前記アーク上の位置と異なる場合に、前記地図情報更新手段は、前記地図情報格納手段に格納されている当該アークを、前記ロボット位置特定手段が特定した前記ロボットの位置に基づいて修正することを特徴とする請求項1に記載の移動ロボット。
  8. 当該移動ロボットが、前記移動経路作成手段により作成された前記移動経路に含まれる所定のアーク上を移動しているときに、前記ランドマーク検出手段が前記地図情報格納手段において当該アークに対応付けられている前記ランドマークを検出せず、前記地図情報更新手段が前記地図情報格納手段に格納されている情報を更新した場合に、前記移動処理手段は、当該移動ロボットが前記アーク上を移動する前の位置まで当該移動ロボットを戻し、
    前記移動経路作成手段は、前記移動処理手段により戻された後の当該移動ロボットの位置から前記目的地までの移動経路を、前記地図情報更新手段による更新後の前記地図情報格納手段に格納されている前記アークおよび前記ランドマークに基づいて作成することを特徴とする請求項3に記載の移動ロボット。
  9. 前記移動経路作成手段は、前記地図情報格納手段に格納されている前記アークおよび前記ランドマークに基づいて、前記目的地を示すランドマークまでの最短経路を前記移動経路として作成することを特徴とする請求項3から8のいずれか一項に記載の移動ロボット。
  10. 前記移動経路作成手段は、前記地図情報格納手段に格納されている前記アークおよび前記ランドマークに基づいて、当該移動ロボットが移動したことのない経路を含む移動経路を作成することを特徴とする請求項3から8のいずれか一項に記載の移動ロボット。
  11. 前記ランドマークは視認可能であって、
    前記ランドマーク検出手段は、前記ランドマークを撮像する画像センサであることを特徴とする請求項1から10のいずれか一項に記載の移動ロボット。
  12. 前記ランドマーク検出手段は、赤外線センサであることを特徴とする請求項1から10のいずれか一項に記載の移動ロボット。
  13. 前記アーク作成手段は、さらに、前記ランドマーク検出境界点を端点とするアークを作成し、
    前記地図情報更新手段は、さらに、前記ランドマーク検出境界点を端点とするアークと、当該アークにおいて検出可能なランドマークとを対応付けて前記地図情報格納手段に新たに格納させる更新を行うことを特徴とする請求項1から12のいずれか一項に記載の移動ロボット。
  14. 目的地まで移動可能な移動ロボットの移動方法であって、
    所定のランドマークへの経路を表すアークと、当該アークにおいて検出可能な前記ランドマークとを対応付けて格納する地図情報格納手段に格納されている前記アーク上を前記移動ロボットが移動するときに、所定の位置間隔でランドマークの有無を検出するランドマーク検出ステップと、
    前記ランドマーク検出ステップにおいて検出した前記ランドマークが前記地図情報格納手段において前記アークに対応付けられているランドマーク以外のランドマークを表す対応外ランドマークである場合に、当該対応外ランドマークを検出したときの当該移動ロボットの位置を特定するロボット位置特定ステップと、
    前記ロボット位置特定ステップにおいて特定した前記ロボットの位置に基づいて、前記対応外ランドマークを検出可能か否かの境界点であるランドマーク検出境界点を含む、前記移動ロボットが移動する前記アーク上の点であって、前記対応外ランドマークを検出可能な点から、前記対応外ランドマークへの経路を表すアークを作成するアーク作成ステップと、
    前記アーク作成ステップにおいて作成した前記アークと、当該アークにおいて検出可能なランドマークとを対応付けて前記地図情報格納手段に新たに格納させる更新を行う地図情報更新ステップと
    を有することを特徴とする移動ロボットの移動方法。
  15. 目的地まで移動可能な移動ロボットの移動処理をコンピュータに実行させる移動プログラムであって、
    所定のランドマークへの経路を表すアークと、当該アークにおいて検出可能な前記ランドマークとを対応付けて格納する地図情報格納手段に格納されている前記アーク上を前記移動ロボットが移動するときに、所定の位置間隔でランドマークの有無を検出するランドマーク検出ステップと、
    前記ランドマーク検出ステップにおいて検出した前記ランドマークが前記地図情報格納手段において前記アークに対応付けられているランドマーク以外のランドマークを表す対応外ランドマークである場合に、当該対応外ランドマークを検出したときの当該移動ロボットの位置を特定するロボット位置特定ステップと、
    前記ロボット位置特定ステップにおいて特定した前記ロボットの位置に基づいて、前記対応外ランドマークを検出可能か否かの境界点であるランドマーク検出境界点を含む、前記移動ロボットが移動する前記アーク上の点であって、前記対応外ランドマークを検出可能な点から、前記対応外ランドマークへの経路を表すアークを作成するアーク作成ステップと、
    前記アーク作成ステップにおいて作成した前記アークと、当該アークにおいて検出可能なランドマークとを対応付けて前記地図情報格納手段に新たに格納させる更新を行う地図情報更新ステップと
    を有することを特徴とする移動プログラム。
JP2004374947A 2004-12-24 2004-12-24 移動ロボット、移動ロボットの移動方法および移動プログラム Active JP4189377B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004374947A JP4189377B2 (ja) 2004-12-24 2004-12-24 移動ロボット、移動ロボットの移動方法および移動プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004374947A JP4189377B2 (ja) 2004-12-24 2004-12-24 移動ロボット、移動ロボットの移動方法および移動プログラム

Publications (2)

Publication Number Publication Date
JP2006184976A JP2006184976A (ja) 2006-07-13
JP4189377B2 true JP4189377B2 (ja) 2008-12-03

Family

ID=36738071

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004374947A Active JP4189377B2 (ja) 2004-12-24 2004-12-24 移動ロボット、移動ロボットの移動方法および移動プログラム

Country Status (1)

Country Link
JP (1) JP4189377B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5016399B2 (ja) * 2007-06-08 2012-09-05 パナソニック株式会社 地図情報作成装置及びそれを備えた自律移動装置
CA2812723C (en) 2010-09-24 2017-02-14 Evolution Robotics, Inc. Systems and methods for vslam optimization
CN102306145A (zh) * 2011-07-27 2012-01-04 东南大学 一种基于自然语言处理的机器人导航方法
EP2937756A1 (en) * 2014-04-22 2015-10-28 Airbus Operations GmbH Method for inspecting an airborne vehicle
JP6280147B2 (ja) * 2016-03-18 2018-02-14 本田技研工業株式会社 無人走行作業車
JP6885160B2 (ja) * 2017-03-31 2021-06-09 カシオ計算機株式会社 移動装置、移動装置の制御方法及びプログラム
JP6998281B2 (ja) * 2018-09-06 2022-01-18 Tis株式会社 自律移動装置、サーバ装置、プログラム、および情報処理方法
JP2021189871A (ja) * 2020-06-02 2021-12-13 株式会社日立製作所 車両制御装置及び車両制御方法

Also Published As

Publication number Publication date
JP2006184976A (ja) 2006-07-13

Similar Documents

Publication Publication Date Title
JP6427908B2 (ja) 地図情報生成システム、方法およびプログラム
JP4282662B2 (ja) 自律移動ロボットの移動経路生成装置
US7590487B2 (en) Method and apparatus of displaying three-dimensional arrival screen for navigation system
JP4946238B2 (ja) 車両周辺撮影送信装置および車両周辺撮影送信プログラム
KR20170088228A (ko) 다중로봇의 자기위치인식에 기반한 지도작성 시스템 및 그 방법
JP2009115640A (ja) ナビゲーション装置
JP5699670B2 (ja) 走行経路生成装置、及び走行経路生成方法
JP4175165B2 (ja) 自律移動装置
JP4189377B2 (ja) 移動ロボット、移動ロボットの移動方法および移動プログラム
JP4997850B2 (ja) 移動ロボット装置および移動ロボット制御方法
JP4717505B2 (ja) ナビゲーション装置
JP2007163165A (ja) 移動体用地図情報更新装置、ナビゲーション装置および移動体用地図情報更新システム
JP2009210517A (ja) 車両用ナビゲーション装置
JP2008276731A (ja) 自律移動体の経路設定装置
JP6680319B2 (ja) 地図情報生成システム、方法およびプログラム
JP2009036521A (ja) ナビゲーション装置および地点登録方法
JP2008076366A (ja) ナビゲーション装置、ナビゲーション方法、及びナビゲーションプログラム
JP4696377B2 (ja) ナビゲーション装置、ルート生成方法、記憶媒体
JP2008298740A (ja) ナビゲーション装置
JP4985297B2 (ja) ナビゲーション装置およびナビゲーション装置用のプログラム
JP6804268B2 (ja) 駐車制御装置の姿勢推定方法、及び姿勢推定装置
JP2008134158A (ja) ナビゲーション装置およびルート案内方法
JP4230935B2 (ja) ナビゲーション装置、マップマッチング方法、およびナビゲーション用プログラム
WO2024053145A1 (ja) 情報処理装置、情報処理方法およびプログラム
JP2008101985A (ja) 車載装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080318

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080519

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080909

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080912

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110919

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110919

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120919

Year of fee payment: 4