JP5056468B2 - 巡回ロボット及び巡回ロボットの自律走行方法 - Google Patents

巡回ロボット及び巡回ロボットの自律走行方法 Download PDF

Info

Publication number
JP5056468B2
JP5056468B2 JP2008040247A JP2008040247A JP5056468B2 JP 5056468 B2 JP5056468 B2 JP 5056468B2 JP 2008040247 A JP2008040247 A JP 2008040247A JP 2008040247 A JP2008040247 A JP 2008040247A JP 5056468 B2 JP5056468 B2 JP 5056468B2
Authority
JP
Japan
Prior art keywords
route
point
traveling
information
tour
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.)
Expired - Fee Related
Application number
JP2008040247A
Other languages
English (en)
Other versions
JP2008234636A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008040247A priority Critical patent/JP5056468B2/ja
Publication of JP2008234636A publication Critical patent/JP2008234636A/ja
Application granted granted Critical
Publication of JP5056468B2 publication Critical patent/JP5056468B2/ja
Expired - Fee Related 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, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Electromagnetism (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Description

本発明は巡回ロボット及び巡回ロボットの自律走行方法に関し、特に予め指定された地点を巡回する巡回ロボット、及び巡回ロボットの自律走行方法に関する。
近年、ロボットは、従来の工業用途からオフィスや公共の施設、倉庫などで人が行っていた作業の代行業務など、その適用分野が広がっている。従来の工業用ロボットは限定された空間内で限定された機能を提供できればよかったが、オフィスや公共の施設などの業務に適用されるロボットには、場所を移動し、各地点でさまざまな作業を行うことが要求されている。以下、このように予め設定された指定地点を巡回し、各指定地点で予め指示された作業を行うロボットを巡回ロボットと呼ぶ。
ところで、巡回ロボットが指定された経路を走行するとき、経路上に障害物が置かれていて、経路が通れないという事態が想定される。ここで、「障害物があり指定通路を通れない」状況とは、巡回ロボットが具備するロボットセンサによる障害物回避機能が働き、経路を進むことができなくなった状況を指すこととする。従来、巡回ロボットが指定経路を通れない場合には、指定経路の通行不可を監視装置に通知するとともに、自装置の動作モードを自律走行から遠隔操作モードに移行し、指示待ちの状態となっていた。このため、作業を継続させるためには、監視装置を介して巡回ロボットが経路の通行不可の状態になったことを検知したユーザが、遠隔操作によって巡回ロボットを操作するか、あるいは、新たな経路を指示する必要があった。
部屋などの所定の作業領域を自動検出し、作業領域内すべてを自律走行して清掃作業を行うためのロボットでは、作業領域の中に障害物があったときには、障害物の周りを自動走行してその障害物の形状を取得し、取得した情報に基づいて作業領域の分割を行い、障害物を除く分割領域ごとにその領域を塗りつぶすように自律走行させる手法が提案されている(たとえば、特許文献1参照)。
特開2003−345437号公報(図1)
しかし、このようなオフィスや公共の施設などでの作業に適用される巡回ロボットは、従来の工業用ロボットが置かれる環境とは異なり、人と共存して作業を行うような環境で利用される場合も多い。ロボットの走行経路も人と共有されることが多く、走行経路には人が一時的に置いた荷物や作業中の人自身など、ロボットの走行の障害物となる要因が多々ある。たとえば、棚などの固定的な障害物であれば、監視サーバを介して通知を受けたユーザが、経路設定を変更しておけば、再度障害物となることはない。しかしながら、一時的に発生する障害物について恒久的な対策を施すことはできず、障害物が検出されるごとに障害物回避のための遠隔操作が必要になるなど、ユーザの負担が増大する。
また、設定された経路を走行中の巡回ロボットを、急ぎ向かわせて確認したい場所が発生する場合もある。このような場合にも、ユーザが遠隔操作を行って目的の場所まで移動させるなどの処理が必要になっていた。
このように、従来の巡回ロボットを用いたシステムでは、一時的な障害物や、指定経路にない場所への突然の移動要求などが発生すると、その都度経路変更などの操作を人手で行わなければならず、利便性が悪かった。
なお、上記の特許文献1の自律走行ロボットは、壁や家具などの固定された障害物を検出して、障害物を除いた作業領域を決定するものであり、一時的な障害物に対処するものではない。
本発明はこのような点に鑑みてなされたものであり、一時的な障害物などのために予め設定された走行経路に障害が検出されたときは、自動的に経路を変更して自律走行することを可能とし、結果としてユーザの利便性を向上させる巡回ロボット及びその自律走行方法を提供することを目的とする。
本発明では、上記課題を解決するために、図1に示すような巡回ロボットが提供される。巡回ロボットは、地図/巡回情報記憶手段(図では、データベース、以下、DBとする)、経路情報記憶手段(DB)、経路生成手段、走行管理手段、及び自律走行制御手段を有し、予め指定された地点を巡回する。なお、巡回とは、ある目的のために指定地点を順次移動することを意味し、指定地点が1地点の場合も含むとする。
地図/巡回情報記憶手段(DB)は、地図情報と巡回情報とを記憶する。地図情報は、指定地点を含む巡回対象範囲内の走行可能経路を所定の地図表現形式で表した情報である。巡回情報には、所定の地図表現形式で表した指定地点の位置と、必要に応じて設定される巡回順を含む情報が設定される。経路情報記憶手段(DB)は、指定地点を巡回する巡回経路に関する経路情報を記憶する。経路生成手段は、経路生成指示が入力されると、地図情報及び巡回情報に基づいて現在地点から目標の指定地点までの走行可能経路を繋いで巡回経路情報を生成し、経路情報記憶手段(DB)に記憶する。自律走行制御手段は、走行指示が入力されると、経路生成手段の生成した巡回経路情報に基づく巡回経路を自律走行するとともに、巡回経路上に経路の通行ができないことが検出されたときには、走行を停止する。走行管理手段は、自律走行制御手段によって、目標の指定地点に到達した場合には、目標の指定地点を現在地点として経路生成手段に次の目標の指定地点への経路生成指示を行う。一方、目標の指定地点に到達していない場合には、停止した位置を現在地点とするとともに自律走行制御手段が通行不可と判断した経路を走行可能経路から外し、経路生成手段に経路生成指示を行って、巡回経路を変更する。そして、生成された変更巡回経路の走行指示を自律走行制御手段に出力する。
このような巡回ロボットによれば、走行管理手段は、現在の位置を現在地点として目標の指定地点への経路生成指示を経路生成手段に出力する。経路生成手段は、地図/巡回情報記憶手段(DB)に記憶される地図情報と巡回情報とに基づき、現在地点から次の目標の指定地点までの巡回経路情報を生成し、経路情報記憶手段(DB)に記憶する。自律走行制御手段は、走行管理手段からの走行指示により、経路生成手段が生成した巡回経路情報に基づく巡回経路を目標の指定地点まで自律走行する。このとき、巡回経路が通行できないことが検出された場合は、走行を停止する。走行管理手段は、目標の指定地点に到達していないときは、停止した位置を現在地点とし、自律走行制御手段が通行不可と判断した経路を走行可能経路から外して経路生成手段に経路生成指示を行う。これにより、経路生成手段は、通行不可の経路を外した変更巡回経路を生成する。走行管理手段は、自律走行制御手段に走行指示を行い、自律走行制御手段は変更巡回経路を走行する。また、目標の指定地点に到達したときは、走行管理手段は、目標の指定地点を現在地点とし、経路生成手段に対し、次の目標の指定地点への経路生成指示を行う。そして生成された次の目標の指定地点への巡回経路の走行指示を自律走行制御手段へ出力し、走行させる。
また、上記課題を解決するために、予め指定された地点を巡回する巡回ロボットの自律走行方法において、巡回ロボットの走行管理手段が、指定地点を含む巡回対象範囲内の走行可能経路を所定の地図表現形式で表した地図情報と、所定の地図表現形式で表した指定地点の位置及び必要に応じて設定される巡回順を含む巡回情報とを取得して地図/巡回情報記憶手段に記憶した後、現在の位置を現在地点として経路生成指示を行うステップと、巡回ロボットの経路生成手段が、経路生成指示が入力されると、地図情報と巡回情報とに基づいて現在地点から目標の指定地点までの走行可能経路を繋いで巡回経路情報を生成し、経路情報記憶手段に記憶するステップと、走行管理手段が、生成された巡回経路情報に基づく巡回経路の走行指示を出力するステップと、巡回ロボットの自律走行制御手段が、走行指示が入力されると、生成された巡回経路情報に基づく巡回経路を自律走行するとともに、巡回経路が通行できないことが検出されたときには走行を停止するステップと、走行管理手段が、自律走行制御手段によって、目標の指定地点に到達した場合には、目標の指定地点を現在地点として経路生成手段に次の目標の指定地点への経路生成指示を行い、目標の指定地点に到達していない場合には、停止した位置を現在地点とするとともに自律走行制御手段が通行不可と判断した経路を走行可能経路から外し、経路生成手段に経路生成指示を行って巡回経路を変更するステップと、を有し、巡回情報に設定された指定地点の巡回が完了するまで、経路生成手段による巡回経路の生成からのステップを繰り返すことを特徴とする巡回ロボットの自律走行方法が提供される。
このような巡回ロボットの自律走行方法によれば、現在地点から次の目標の指定地点までの巡回経路が生成され、自律走行が行われる。そのまま目標の指定地点に到達したときは、この目標の指定地点を現在地点として次の指定地点への巡回経路が生成される。一方、巡回経路途中に通行不可が検出され停止したときには、停止した位置を現在地点とし、通行不可が検出された経路を走行可能経路から外して目標の指定地点への巡回経路が再度生成される。そして、生成された巡回経路を自律走行する。
開示の巡回ロボット及びその自律走行方法では、地図情報と巡回情報とに基づいて、現在地点から次の目標の指定地点までの巡回経路を自動作成し、作成した巡回経路を自律走行する。このとき、通行ができない経路が検出されて停止したときは、停止地点を現在地点とするとともに通行不可の経路を走行可能経路から外して再度巡回経路を生成し、生成された変更巡回経路を自律走行する。目標の指定地点に到達したら、ここを現在地点として指定地点をすべて巡回するまで上記手順を繰り返すことにより、障害がある場合にはこれを回避して全指定地点を巡回することが可能となる。この結果、障害が発生してもユーザが介入する必要がなくなり、ユーザの利便性を高めることができる。
以下、本発明の実施の形態を図面を参照して説明する。まず、実施の形態に適用される発明の概念について説明し、その後、実施の形態の具体的な内容を説明する。
図1は、実施の形態に適用される発明の概念図である。
本発明に係る巡回ロボット1は、地図情報と巡回情報とを記憶する地図/巡回情報DB1a、巡回経路に関する情報を記憶する経路情報DB1b、巡回経路を生成する経路生成手段1c、走行管理を行う走行管理手段1d、自律走行を制御する自律走行制御手段1e、及び遠隔サーバ2とデータ交換を行う通信手段1fを有し、無線通信で接続する遠隔サーバ2によって設定された指定地点を巡回し、指定地点において所定の処理を実行する。
地図/巡回情報DB1aには、無線通信を介して遠隔サーバ2から取得した地図情報と巡回情報とが記憶されている。地図情報は、指定地点を含む所定の巡回対象範囲内の走行可能経路を自律走行制御手段1eが識別可能な所定の地図表現形式で表した情報である。たとえば、走行可能経路の位置と大きさが、自律走行制御手段1eが認識可能な座標データで定義される。また、走行可能経路間の接続関係を定義する。巡回情報は、指定地点、すなわち、所定の作業を行う地点や、必ず通過しなければならない地点を指定し、その位置を地図情報の表現形式で定義した情報である。また、作業を行う場合はその作業内容が、必要であれば指定地点を巡回する順番が設定される。地図情報及び巡回情報の詳細については、後述する。
経路情報DB1bには、巡回経路に関する巡回経路情報、障害の発生によって走行できなかった未巡回経路に関する未巡回経路情報など、自律走行処理で参照される経路情報が記憶される。巡回経路情報には、地図情報と、巡回情報とに基づいて設定される現在地点から次の目標の指定地点までの巡回経路を示す情報が設定される。未巡回経路情報には、障害によって走行できなかった経路に関する情報が設定される。
経路生成手段1cは、走行管理手段1dからの経路生成指示に応じて、現在地点から次の目標の指定地点までの巡回経路を生成し、巡回経路情報として経路情報DB1bへ記憶させる。現在地点が処理開始時の出発点、あるいは、巡回情報に設定される指定地点であれば、巡回情報に基づいて次の目標の指定地点を決定する。そして、地図情報に基づいて、現在地点から次の目標の指定地点までの走行可能経路を繋ぎ、巡回経路情報を生成する。なお、走行可能経路を繋いで巡回経路を生成する手法は公知であるので、ここでの詳細な説明は省く。また、現在地点が指定地点でないときは、目標の指定地点はそのままで巡回経路を生成する。さらに、経路情報DB1bに未巡回経路が記憶されている場合は、変更された巡回経路を走行後の任意のタイミングで未巡回経路を巡回経路に組み込む。
走行管理手段1dは、経路生成手段1cによる指定地点を巡回するための巡回経路の生成と、自律走行制御手段1eによる巡回経路の走行を管理する。まず、現在の位置を現在地点とし、次の目標の指定地点までの巡回経路生成を経路生成手段1cに指示し、巡回経路情報を得る。そして、この巡回経路情報に基づく巡回経路を走行するように自律走行制御手段1eに走行指示を出力する。こうして目標の指定地点に到達した場合は、到達した指定地点を現在地点とし、次の目標の指定地点までの経路生成指示を経路生成手段1cに出力する。この手順をすべての指定地点を巡回するまで繰り返す。一方、目標の指定地点に到達していなかったとき、すなわち、経路に障害物があるなどして次の目標の指定地点までの巡回経路が走行できなかったときは、停止している現在の位置を現在地点とするとともに通行不可の経路を走行可能経路から外して経路生成手段1cに経路生成指示を行う。これにより、通行不可の経路を除いた変更巡回経路が生成される。また、このときの通行できなかった経路を未巡回経路として経路情報DB1bに記憶しておく。そして、自律走行制御手段1eに走行指示を出力し、経路生成手段1cが生成した変更巡回経路を走行させる。目標の指定地点に到達した後は、上記の目標の指定地点に到着した場合に戻る。
自律走行制御手段1eは、走行管理手段1dに従って、決定された巡回経路を走行するため、図示しない走行部を制御する。このとき、巡回経路に障害物があるなどして通行できないことが検出されたときは停止し、走行管理手段1dに通知する。
遠隔サーバ2について説明する。
遠隔サーバ2は、管理情報DB2a、端末インタフェース2b、指示送信手段2c、情報受信手段2d、及び受信情報DB2eを有する。
管理情報DB2aには、巡回ロボット1へ配信する地図情報/巡回情報を含む管理情報が記憶される。端末インタフェース2bは、図示しないネットワークを介して接続するユーザの端末装置とのデータ交換を制御する。たとえば、端末装置から送られてくる遠隔操作の指示を巡回ロボット1に通知したり、巡回ロボット1の収集した情報を端末装置に送信するなどの処理を行う。指示送信手段2cは、端末インタフェース2bを介して入力される巡回ロボット1への指示を巡回ロボット1へ送信する。情報受信手段2dは、巡回ロボット1の走行情報や、巡回ロボット1が巡回しながら収集した情報などを取得し、受信情報DB2eへ格納する。また、端末装置からこれらの情報の要求があったときは、受信情報DB2eに格納される情報を提供する。受信情報DB2eは、情報受信手段2dが巡回ロボット1から取得した走行情報や収集情報を格納する。
このような構成の巡回ロボットと遠隔サーバとの動作及び自律走行方法について説明する。
巡回ロボット1の巡回対象範囲の地図情報と、巡回する指定地点を定義する巡回情報とが、遠隔サーバ2の管理情報DB2aに蓄積されている。これらの情報は、端末インタフェース2bを介して接続する端末装置からの指示に従って、編集や設定が行われた後、管理情報DB2aに格納されている。これがターゲットの巡回ロボット1に配信され、巡回ロボット1は、取得した地図情報と巡回情報とを地図/巡回情報DB1aに蓄積する。
巡回ロボット1では、巡回指示が入力されると、走行管理手段1dが経路生成手段1cを起動し、巡回情報に設定されている所定の指定地点を目標として、現在地点から目標の指定地点までの巡回経路を生成し、経路情報DB1bに記憶する。目標の指定地点は、巡回情報に基づく巡回順によって決まる。巡回経路の生成後、走行管理手段1dの指示により、自律走行制御手段1eは処理を開始し、当該巡回経路を自律走行する。正常に指定地点まで移動できれば、そこで決められた処理を行う。そして、到達した指定地点を現在地点、巡回経路情報の次の巡回順の指定地点を目標の指定地点として経路生成からの処理を繰り返す。
一方、巡回経路に障害物がある場合には、自律走行制御手段1eは、通行できないことを検出して移動を停止する。途中で停止し、目標の指定地点に到着していないことを検出した走行管理手段1dは、現在地点から巡回できなかった未巡回経路を判断し、未巡回経路情報として経路情報DB1bに記憶する。そして、停止した地点を現在地点とするとともに、通行できないと判断された経路を走行可能経路から外し、経路生成手段1cに対し経路生成指示を行う。これにより経路生成手段1cは、走行可能経路から外されていない他の経路を用いて巡回経路を生成する。こうして、走行不可となっていない別の経路を走行する変更巡回経路を得る。続いて走行管理手段1dは、自律走行制御手段1eに走行指示を出力し、変更巡回経路を走行して目標の指定地点まで移動させる。
なお、経路情報DB1bに記録された未巡回経路は、経路生成手段1cが、これ以降の任意のタイミング、たとえば、他の巡回経路をすべて回った後、あるいは、経路変更が行われてから一定時間経過後などのタイミングで再度巡回経路に組み込まれる。これにより、最終的に、指定されたすべての巡回経路の走行が試みられる。未巡回経路の障害物が一時的なものであれば、再度走行を行ったときに通行することができるので、未巡回経路の登録から削除される。一方、障害物が撤去されないこともあるので、未巡回経路の走行を一定回数試し、走行できなければ未巡回経路が残ったことを通知して巡回処理を終了するようにしてもよい。
さらに、巡回途中に、ユーザから割り込みで指定地点が追加された場合には、追加された割り込み指定地点を次の目標の指定地点として巡回経路を生成し、割り込み指定地点へ巡回させる。割り込み指定地点での処理終了後、巡回経路は元に戻る。
このように、出発点、到達した指定地点、あるいは障害検出地点を現在地点とし、次に巡回する指定地点を目的として経路生成が行われるため、そのときどきに応じて最適な巡回経路を生成して自律走行することができる。これにより、巡回ロボット1は、巡回経路上に一時的な障害物が発生した場合や、割り込みで指定地点が挿入された場合など、巡回経路の変更が必要となったとき、ユーザが遠隔操作を行わなくても適宜巡回経路を変更して指定地点を巡回することができる。この結果、ユーザの負担を軽減し、利便性を向上させることができる。
以下、実施の形態を、巡回ロボットが所定の領域を決められた順に巡回して画像データを収集し、監視用端末に画像データを送信する巡回ロボット監視システムに適用した場合を例に図面を参照して詳細に説明する。
図2は、本発明の実施の形態の巡回ロボット監視システムの構成を示した図である。
本発明の実施の形態の巡回ロボット監視システムは、指定された巡回点を巡回するロボット100、ロボット100と無線通信で情報交換を行う遠隔サーバ200、ネットワーク400を介して遠隔サーバ200と接続する端末装置301,302を有する。
ロボット100は、遠隔サーバ200から取得した地図情報と巡回情報とに基づき、指示された指定地点を巡回し、到達した各指定地点で撮影を行って画像データを生成する。
遠隔サーバ200は、無線通信でロボット100と接続し、ネットワーク400を介して端末装置301,302と接続する。接続するデータベース210には、ロボット100に配信する地図情報、巡回情報とともに、ロボット100から収集した走行情報や画像データが記憶される。ネットワーク400を介して接続する端末装置301,302から送られる指示に従って、データベース210に記憶する情報の読み出しや更新を行うとともに、ロボット100に対して動作指令を出力する。
端末装置301,302は、ネットワーク400を介して遠隔サーバ200と接続し、ユーザの操作入力に応じて、遠隔サーバ200のデータベース210に格納されるロボット100の地図情報及び巡回情報を読み出して表示画面に表示したり、変更や設定入力を受け付け、地図情報及び巡回情報を更新したりする。ユーザは、データベース210に格納されるか、あるいは、ロボット100がリアルタイムで収集した画像データなどを遠隔サーバ200から取得し、表示画面に表示させたり、遠隔サーバ200を介してロボット100を遠隔操作する指示を行うこともできる。
次に、本発明の実施の形態の巡回ロボット監視システムによって監視が行われるロボット100の巡回対象範囲を説明する。
図3は、本発明の実施の形態の巡回対象範囲の一例を示した巡回経路図である。
以下、巡回経路を図3のような地図形式で表現したものを巡回経路図と呼ぶ。
所定の巡回対象範囲の走行可能経路は、所定の領域に分割して管理する。図の例では、太線で示した巡回対象範囲を分割し、1から29まで順に番号を振る。それぞれの分割された領域が走行可能経路に相当し、図の各走行可能経路の左下には割り振られた識別ID(この例では、1から29の番号)が示されている。以下、左下の走行可能経路から右上の走行可能経路までを順に、経路1、経路2、経路3、・・・、経路28、経路29と表記する。なお、斜線で示された部分は走行ができない領域である。
また、各経路間が通行可能であるときは、経路間はコネクタで接続されているとする。たとえば、経路1は、経路2とコネクタCN1−2で接続され、経路6とはコネクタCN1−6で接続されている。これは、経路1から経路2または経路6への走行が可能であることを表している。障害物があって通行できないときは、一時的にコネクタを切断して経路の変更処理を行う。この地図の例では、巡回点Aから巡回点Bを走行するとき、経路4に障害物があり経路5へ進むことができないので、コネクタCN4−5を一時的に切断して巡回経路を変更する。以下の説明では、巡回経路の変更処理をリルートと表記する。
また、ユーザがその地点を巡回することを求める指定地点は、便宜的に、その地点で作業が必要な指定地点を巡回点、作業は行われないが通過する必要がある指定地点を通過点と表すこととする。地図では、巡回点Aでは上方向を向いた撮影、巡回点Bでは右方向を向いた撮影、巡回点Cでも右方向を向いた撮影が行われることを示している。
また、地図上では、ロボットの現在地点は二重丸(◎)、障害物はバツ(×)で表記する。
本発明の実施の形態の巡回ロボット監視システムでは、経路1内の◎で示された地点にいるロボットを、巡回点A、巡回点B、巡回点Cの順に巡回させ、各巡回点で指定方向の撮影を行わせる。
次に、巡回ロボットの詳細な構成を説明する。
図4は、本実施の形態の巡回ロボットの制御部のハードウェア構成例を示すブロック図である。図は、巡回ロボットの制御部とその周辺部のみを示しており、走行部などは省略している。
巡回ロボット100の制御部は、CPU(Central Processing Unit)101によって全体が制御されている。CPU101には、バス108を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、通信インタフェース106、及び走行部インタフェース107が接続されている。
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションのプログラムが格納される。グラフィック処理装置104には、本体に組み込まれたモニタ109aが接続されており、CPU101からの命令に従って画像をモニタ109aの画面に表示させる。たとえば、撮像装置109bによって撮像した画像などを表示することができる。入力インタフェース105は、撮像装置109bが接続されており、CPU101からの命令に従って撮像装置109bを操作し、画像データを取得する。取得した画像データは、CPU101の命令に従って、通信インタフェース106を介して遠隔サーバ200に送信したり、グラフィック処理装置104へ送る。通信インタフェース106は、無線通信によって接続する遠隔サーバ200との間でデータの送受信を行う。走行部インタフェース107は、CPU101からの命令に従って、巡回ロボット100の走行指示を走行部へ出力する。また、障害物検出などの走行情報が走行部から入力されたときは、バス108を介してCPU101に通知する。
このようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図4には、巡回ロボットの制御部のハードウェア構成を示したが、遠隔サーバ200、あるいは、端末装置301,302のハードウェア構成も同様である。
図5は、本発明の実施の形態の巡回ロボットのソフトウェア構成例を示した図である。図は、巡回処理に関する部分のみを示したものである。
巡回ロボット100の巡回動作は、地図/巡回情報DB110に記憶される地図情報111及び巡回情報112と、経路情報DB120に記憶される巡回計画情報121、巡回経路情報122及び未巡回経路情報123とに基づいて、走行管理手段130、経路生成手段140、自律走行制御手段150、及び画像情報取得手段160が各処理手順を実行することにより実現する。
地図情報111及び巡回情報112は、遠隔サーバ200より取得し、地図/巡回情報DB110に格納される。巡回計画情報121、巡回経路情報122及び未巡回経路情報123は、巡回管理に用いられる情報であり、各処理手段によって適宜更新される。各情報の詳細は後述する。
走行管理手段130は、走行管理部131、巡回計画部132、及び巡回点処理制御部133の処理モジュールを有する。走行管理部131は、現在地点から目的の巡回点または通過点までの巡回経路の生成を経路生成手段140に指示する。また、巡回経路の変更が必要な場合も同様に、経路生成手段140に経路生成指示を行う。こうして巡回経路が生成されると、その巡回経路の走行を自律走行制御手段150に指示し、走行を管理する。そして、障害検出が通知されると、この経路を未巡回経路として未巡回経路情報123に登録するとともに、巡回経路を変更するリルート処理を巡回経路生成処理部141に指示する。巡回計画部132は、巡回情報112に基づいて巡回点及び通過点を通過する順番と、巡回点での処理を設定し、巡回計画情報121に登録する。巡回計画は、未巡回経路の発生や、割り込みでの巡回点挿入などにより適宜更新される。巡回点処理制御部133は、巡回点に到達したとき、予め決められた処理を実行するための制御を行う。ここでは、画像情報を取得するための処理を行うとする。
経路生成手段140は、巡回経路生成処理部141、経路重複排除処理部142、未巡回経路挿入処理部143、及び割込巡回点挿入処理部144を有する。巡回経路生成処理部141は、走行管理部131からの指示に応じて、現在地点から目標の巡回点または通過点までの巡回経路を生成する。このとき、必要に応じて、経路重複排除処理部142、未巡回経路挿入処理部143、及び割込巡回点挿入処理部144を起動し、巡回経路を設定する。経路重複排除処理部142は、同じ経路を繰り返し走行しないように、重複した経路を巡回経路から排除する。路挿入処理部143は、巡回経路情報122に未巡回経路が設定されているとき、未巡回経路を巡回経路に挿し込む処理を行う。割込巡回点挿入処理部144は、遠隔操作によって巡回点が割り込みで設定されたとき、この割込巡回点を巡回経路に挿し込む処理を行う。
自律走行制御手段150は、指定された巡回経路を目標の巡回点に向けて自律走行する。途中の経路に障害物などが検出されて通行不可と判断したときは、走行を中断して停止する。走行中、巡回ロボット100が装備するロボットセンサによって障害物が見つかり、障害物回避行動による回避が不可能であったときに通行不可と判断する。
画像情報取得手段160は、巡回点処理制御部133に従って、指定の方向の画像データを取得する。
なお、各処理部から地図/巡回情報DB110及び経路情報DB120に格納される各情報へアクセスするときは、ファイル操作部170を介して行うとする。
次に、地図/巡回情報DB110及び経路情報DB120に記憶される情報について説明する。
図6は、本発明の実施の形態の地図情報の一例を示した図である。
地図情報1110には、付属情報と、地図データとが含まれる。
付属情報は、この地図情報がどこの場所の地図であるかを示す情報である。図の例では、“Area(ABCビル)”と、“Floor(2階)”とが設定され、この地図情報が「ABCビルの2階」のものであることがわかる。
地図データには、巡回ロボットの走行可能経路を定義する“Passage(通路;走行可能経路)”と、走行可能経路の接続関係を定義する“Connector(コネクタ)”と、が設定される。“Passage”には、領域を分割した走行可能経路ごとに、付与されたIDと、走行可能経路の位置と大きさ(原点、形状、座標)と、接続するコネクタのIDと、が設定される。図は、図3に示した巡回経路図の地図データであり、たとえば、PA001で識別される走行可能経路1は、原点位置が(0,0)で、座標(1)から座標(6)の頂点を結ぶ6つの直線で囲まれる領域である。また、CN01002のIDが設定されるコネクタCN1−2と、CN010006が設定されるコネクタCN1−6とで、他の走行可能経路と接続する。”Connector”には、各コネクタのIDと、コネクタが繋ぐ走行可能経路のIDとが設定される。たとえば、コネクタCN1−2(ID=CN01002)は、走行可能経路1(ID=PA001)と走行可能経路2(ID=PA002)とを繋ぐ。この走行可能経路が繋がれて巡回経路が生成される。
図7は、本発明の実施の形態の巡回情報の一例を示した図である。
巡回情報1120には、図3に示した巡回経路図の巡回対象範囲内においてユーザが設定した巡回点または通過点が設定される。通過点は、作業を行う必要はないが、そこを必ず通過させたいときに設定する。以下、特に指定しないときは、「巡回点」には通過点が含まれるものとする。また、巡回は、No.の番号順に行われるとする。
巡回情報1120には、巡回点ごとに、“ID(識別子)”、“name(巡回点名)”、“type(属性、1/0=巡回点/通過点)”、“position(位置情報)”、“task(巡回点で行う作業)”が設定される。たとえば、No.1に設定される巡回点A(ID=T01)の位置座標は、(x=37.683、y=55.898)であり、ここで“GetUpperImage”という作業を行う。
図8は、巡回計画図及び巡回計画情報の一例を示した図である。
巡回計画は、巡回計画部132が巡回情報112に基づいて生成する。巡回計画を図で表現した巡回計画図は、巡回経路の始点または終点となる地点の名称を枠内に表記し、進む方向を矢印で表現する。この例の巡回計画図1211は、「巡回点A→巡回点B→通過点C」という巡回計画を表している。この巡回計画は、巡回計画部132が図7に示した巡回情報1120に基づいて生成したものである。
巡回計画情報1210は、巡回計画に基づき、最初に向かう巡回点から順に、それぞれの巡回点IDと、巡回点種別が設定される。たとえば、1番目に、T01で識別される巡回点Aに向かうことが設定されている。
なお、巡回計画は、巡回点が割り込みで設定されたときや、未巡回経路が発生したときに適宜変更されるため、これに合わせて巡回計画情報1210も適宜更新される。詳細は後述するが、このとき、並び順ばかりでなく巡回点種別も巡回計画に応じて適宜変更される。
図9は、巡回経路接続図及び巡回経路情報の一例を示した図である。
巡回経路は、地図情報1110及び巡回計画情報1210に基づき、巡回経路生成処理部141によって生成される。巡回経路生成処理部141では、現在地点から目標の巡回点までの走行可能経路を繋ぎ、巡回経路を生成する。このように巡回経路を構成する走行可能経路を経路と呼ぶ。巡回経路を図にした巡回経路接続図は、巡回経路を、通行する経路と、コネクタとで表現した巡回経路を可視化するための図である。経路の名称を楕円の枠内に表記し、コネクタを矢印で表現している。また、同時に、巡回計画図に記載される巡回点や現在地点の位置も示している。図の巡回経路接続図1221は、図8に示した巡回計画に基づき作成された巡回経路を示したものであり、巡回点Aのある経路2を現在地点、到達目標を巡回点Bとしたときの巡回経路を示している。地図情報1110に基づき、巡回点Aから巡回点Bに移動するためには、[経路2、コネクタCN2−3、経路3、コネクタCN3−4、経路4、コネクタCN4−5、経路5]という巡回経路を通ることを示している。
巡回経路情報1220は、この巡回経路を表形式で表した情報であり、経路情報DB120に格納される。巡回ロボット100は、この巡回経路情報1220を参照して走行する。「現在の巡回点」は、到達目標の巡回点であり、ここでは、巡回点Bになる。以下の説明では、目標の巡回点を「現在の巡回点」と表記する。
図10は、本発明の実施の形態の未巡回経路情報の一例を示した図である。
未巡回経路1230には、未巡回経路が発生したとき、その経路と、経路変更時間、この未巡回経路を再度走行しようとした試行回数が設定される。
上記の各情報の構成は一例であり、本発明はこれに限定されない。同様の内容が表現できれば、どのような形式であってもよい。
以下、巡回ロボット100における自律走行動作について説明する。
まず、自律走行処理の概要を障害物が検出されなかった場合で説明する。
図11は、本発明の実施の形態の巡回計画図とその巡回経路図を示した図である。(A)は巡回計画図、(B)は巡回経路図を示している。なお、(B)巡回経路図にはコネクタが表示されていないが、図3に示したように各走行可能経路はコネクタで接続されているとする。以下の巡回経路図も同様である。
以下、遠隔サーバ200から、「巡回点A、巡回点B、巡回点Cの順に巡回し、それぞれの巡回点で画像撮影を行う」という定義がされた巡回情報が配信されたとして説明する。また、巡回情報112とともに地図情報111が配信され、地図/巡回情報DB110に格納される。
巡回を開始する指示が入力されると、走行管理手段130の走行管理部131は、巡回計画部132を起動する。巡回計画部132は、巡回情報112に基づいて巡回計画を作成し、巡回する順番に巡回点のIDと種別との組を並べ、巡回計画情報121として経路情報DB120に記憶する。ここでは、(A)巡回計画図に示したように、巡回点A(501−1)→巡回点B(502−1)→巡回点C(503−1)の順に巡回する巡回計画が設定される。なお、巡回計画図で表される巡回点は走行経路上の目標の地点となるので、生成される巡回経路によっては複数回設定される場合がある。そこで、巡回計画図上の巡回点を指示する番号は、地図状の巡回経路図の巡回点に付された番号に、目標の地点に設定されるごとに1ずつ増加する副番号を付けて表記する。図11の例であれば、巡回経路図では巡回点A501と表記し、巡回計画図で最初に設定されるときは巡回点A501−1と表記する。巡回計画図に巡回点Aが付加されれば、巡回点A501−2,501−3と増えていく。以下、巡回計画図について同様に番号が付される。 続いて、現在の地点から巡回計画に従って巡回経路を生成する。走行管理部131は、ロボットの現在地点から次の巡回点Aまでの経路生成を指示する。(B)巡回経路図の例では、ロボットの現在地点601は経路1、巡回点A501は経路2にある。走行管理部131の経路生成指示に対し、巡回経路生成処理部141は、地図情報に基づいて現在地点601から巡回点A501までの巡回経路を生成する。一般に経路は最短経路で設定され、ここでは経路1からコネクタCN1−2を通って経路2へ進むという巡回経路701が設定される。
こうして、巡回経路701が生成されると、走行管理部131は、自律走行制御手段150を起動し、巡回経路701を走行するように走行指示を出力する。自律走行制御手段150は、巡回経路701を自律走行し、巡回点A501に到達したら走行管理部131に通知する。走行管理部131は、巡回点処理制御部133を起動し、巡回点処理制御部133によって画像情報取得手段160が制御され、画像データが取得される。画像データは、図示しない通信処理部を介して遠隔サーバ200に送信される。
巡回点処理制御部133の処理が終了すると、走行管理部131は、巡回点A501を現在地点として、次の巡回点B502までの経路生成指示を行う。巡回経路生成処理部141は、巡回経路701と同様にして、コネクタCN2−3、経路3、コネクタCN3−4、経路4、コネクタCN4−5、経路5を通過する巡回経路702を生成する。そして、自律走行制御手段150によって巡回経路702を走行し、巡回点B502で所定の作業を行う。
さらに、巡回点B502を現在地点として、次の巡回点C503までの巡回経路が生成される。上記と同様にして、コネクタCN5−8、経路8、コネクタCN8−13、経路13、コネクタCN13−16、経路16、コネクタCN16−21、経路21、を順に通過する巡回経路703が生成され、巡回経路703に沿ってロボットが自律走行する。そして、巡回点C503に到達すると、巡回点Cで決められた作業を行う。
図12は、図11の巡回経路図の巡回経路接続図である。
巡回経路生成処理部141は、巡回計画に沿って、巡回点に到着するごとに、この巡回点を現在地点として次の巡回点までの巡回経路を生成する。この例では、現在地点601、巡回点A501、巡回点B502において次の巡回点までの巡回経路が生成される。図の例では、現在地点601から巡回点Aへの巡回経路701[経路1、コネクタCN1−2、経路2]と、巡回点Aから巡回点Bへの巡回経路702[経路2、コネクタCN2−3、経路3、コネクタCN3−4、経路4、コネクタCN4−5、経路5]と、巡回点Bから巡回点Cへの巡回経路703[経路5、コネクタCN5−8、経路8、コネクタCN8−13、経路13、コネクタCN13−16、経路16、コネクタCN16−21、経路21]と、が生成され、結果として、図のようにすべての巡回点を繋ぐ巡回経路が生成される。
ところで、実際には、一時的な障害物などによって、生成された巡回経路を通行できない場合が発生する。たとえば、図11(B)に示した巡回経路上の経路4に一時的に障害物が置かれ、経路4から経路5への通行ができなくなったとする。自律走行制御手段150は、障害物などを検出して通行できないことがわかると走行を停止し、走行管理部131に通知する。走行管理部131は、通行できない経路を通らずに目標の巡回点へ到着できるように巡回経路を変更するリルート処理を行う。
以上の動作をフローチャートを用いて説明する。
図13は、本発明の実施の形態の巡回ロボットの走行管理処理の手順を示したフローチャートである。
遠隔サーバ200から地図情報と、巡回情報とが配信された後、巡回管理開始が指示され、処理が開始される。なお、以下に示した処理手順は、走行管理部131が全体を制御し、他の処理部の起動を行うことによって実行される。
[ステップS1] 巡回計画部132は、巡回情報112に基づき、巡回計画を作成し、巡回計画情報121として巡回経路情報DB120に記憶する。
[ステップS2] 巡回計画情報121に基づき、まだ巡回経路に組み込んでいない未実行の巡回点を検出し、この巡回点に関する情報を巡回経路情報122の「現在の巡回点」に設定する。未実行の巡回点が検出されないときは、未実行なしとする。なお、巡回経路に登録されたが通行不可により当該巡回経路を走行できなかったときは、この経路を通行して到着できなかった巡回点が未実行として残っており、未実行の巡回点の有無は、通行不可の経路の到着点の巡回点を含めて判断される。
[ステップS3] ステップS2の処理によって未実行の巡回点が検出されたかどうかを判断する。検出されない場合、全巡回点を巡回したと判断し、処理を終了する。未実行の巡回点が検出されれば、次ステップへ処理を進める。
[ステップS4] 巡回経路生成処理部141は、巡回計画情報121及び地図情報111に基づき、現在地点からステップS2の処理で設定された「現在の巡回点」までの巡回経路を生成する。生成した巡回経路は、巡回経路情報122として経路情報DB120に記憶する。
[ステップS5] 自律走行制御手段150は、ステップS4で生成された巡回経路情報122に基づいて自律走行を行う。「現在の巡回点」に到達したとき、走行終了を通知する。また、途中に障害物があって通行できないときは停止し、走行停止を通知する。
[ステップS6] 「現在の巡回点」に到着したかどうかを判断する。現在の巡回点に到着しているのは、障害物などがなかったときである。一方、現在の巡回点に到着していないのは、障害物が検出されて通行を停止したときである。到着したときは、次ステップへ処理を進め、到着していないときはステップS8へ処理を進める。
[ステップS7] 現在の巡回点に到着したときは、到着したのが巡回点であり作業が定義されていれば、そのタスク処理を行った後、ステップS2に戻って、次の巡回点の処理を繰り返す。
[ステップS8] 現在の巡回点に到着していないときは、リルート処理を行う。リルート処理では、通行できない走行可能経路を外すように巡回経路を変更し、変更した変更巡回経路を走行する処理を、いずれかの巡回点に到着するまで繰り返す。処理の詳細は後述する。
上記の処理手順が実行されることにより、巡回経路に一時的な障害物があった場合でも、設定された巡回点をすべて巡回することができる。
以下、リルート処理について詳細に説明する。まず、(1)として、障害物が検出されて設定されていた巡回経路の通行が不可となったときのリルート処理について説明する。しかし、単に通行可能な巡回点を繋いでいくだけでは、同じ経路が重複して巡回経路に組み込まれたり、巡回経路に組み込まれない未巡回経路が生じたりすることがある。そこで、(2)として、リルート処理によって発生した重複する巡回経路を削除する処理について説明し、(3)として、未巡回経路を巡回経路へ挿し込むための未巡回経路挿入処理について説明する。また、リルート処理は、障害物が検出されたときばかりでなく、管理者が走行途中に巡回点の追加あるいは変更を指示した場合にも行われる。(4)として、走行途中で急に巡回点が設定されたときにその割込み巡回点を巡回経路に挿し込むための割込み巡回点挿入処理について説明する。さらに、経路によっては同じ障害物によって、次以降の巡回点にも到達できなくなるケースも生じる。(5)として、ある経路の通行が不可となると共に到達できなくなる巡回点をグループ化する処理について説明する。そして、障害物が検出されたときにはコネクタを切断してリルート処理が行われる。(6)として、このコネクタ切断時間の管理処理について説明する。
(1)リルート処理
図13に示したフローチャートにおいて、現在の巡回点に到着しなかったとき、通行できなかった経路を外して現在の巡回点まで走行するための変更巡回経路を生成するリルート処理が開始される。以下、図11及び図12に示した巡回経路を走行中、経路に障害物が置かれて通行ができなくなったときの処理を説明する。
図14は、リルート処理によって生成される巡回経路を示した図である。(A)は元の巡回計画図、(B)は巡回経路図(障害物検出)を示している。
(A)元の巡回計画図は、障害が検出される前に、地図/巡回情報DB110に格納される巡回情報112に基づいて生成された巡回計画であり、図11と同じものである。図の例では、巡回点A501−1、巡回点B502−1、巡回点C503−1の順に巡回するという計画が設定されている。
巡回ロボットは、この巡回計画に基づいて巡回経路を生成し、自律走行する。巡回点Aから巡回点Bまでは、(B)巡回経路図に示したように、巡回経路702[経路2、コネクタCN2−3、経路3、コネクタCN3−4、経路4、コネクタCN4−5、経路5]という巡回経路で自律走行を開始させる。しかしながら、経路4で障害物801を検出し、その先へ進めなくなる。自律走行制御手段150は、図の現在地点602で停止し、走行管理部131に走行停止を通知する。走行管理部131は、停止した地点と現在の巡回点とを照合し、まだ現在の巡回点に到着していないので、次の通行予定のコネクタCN4−5を一時的に切断(通行不可)するとともに、停止した現在地点602を開始地点、目標巡回点は巡回点Bとし、リルート処理を開始させる。
巡回経路生成処理部141は、現在地点602(経路4)から、巡回点Bまでを走行する巡回経路を生成するが、経路4と経路5を接続するコネクタCN4−5は切断されているので、点線で示される変更巡回経路751[コネクタCN3−4、経路3、コネクタCN3−7、経路7、コネクタCN7−11、経路11、コネクタCN11−12、経路12、コネクタCN12−13、経路13、コネクタCN8−13、経路8、コネクタCN5−8、経路5]が生成される。
走行管理部131は、変更巡回経路751を走行するように自律走行制御手段150に指示する。ところで、変更巡回経路751を走行することにより、巡回点Bには到着するが、本来の巡回経路では通行するはずの経路が走行されなくなり、図の1点鎖線で示した未巡回経路901[現在地点602、コネクタCN4−5、経路5]が発生する。未巡回経路とは、本来の巡回計画(巡回情報に基づく計画)で生成された巡回経路のうち、経路がリルートされたことにより通行しなかった経路を言う。そこで、この未巡回経路901を後で走行させるため、現在地点602と巡回点Bを巡回計画に追加する。
図15は、リルート処理によって変更された巡回計画と巡回経路を示した図である。(C)はリルート後の巡回計画図、(D)はリルート後の巡回経路接続図である。
(C)リルート後の巡回計画図に示したように、図14(A)元の巡回計画図に示した最後の巡回点C503−1の次に、未巡回経路901の開始地点である現在地点602−1(図14の現在地点602に対応する)と、終点の巡回点B502−2を設定する。なお、巡回点Bでの作業は、変更巡回経路751により巡回点B502−1に到着したときに行われているので、最後は未巡回経路901を走行するのみでよい。そこで、2度目に到着する巡回点B502−2の巡回点種別を通過点に設定する。
(D)リルート後の巡回経路接続図に垂直に並べられた巡回経路[経路2、コネクタCN2−3、経路3、コネクタCN3−4、経路4、コネクタCN4−5、経路5]は、元の巡回計画に基づく巡回経路である。これを元の巡回経路と呼び、巡回経路接続図ではス直方向に経路を並べて表現する。また、図では、実際に走行した元の巡回経路を実線、新たに生成された変更巡回経路を点線、未巡回経路を一点鎖線で示している。
このように、巡回点Aから巡回点Bへ走行するとき、現在地点で一時的な障害物が検出されたときは、走行可能な巡回経路を生成して自律走行を行うので、ユーザの介入を必要とすることなく巡回点Bへ進むことができる。また、未巡回経路は、後で走行するよう巡回計画に登録するので、ユーザが設定した巡回経路をすべて走行してから巡回処理を終了することができる。
上記の処理手順をフローチャートを用いて説明する。
図16は、リルート処理の手順を示したフローチャートである。
現在の巡回点に到着しなかったとき、処理が開始される。
[ステップS11] 元の巡回経路では通行予定であったが、障害物のため通行できなかったコネクタを一時的に切断する(通行不可にする)。たとえば、図14、図15の例では、経路4に障害物が置かれていたので、コネクタCN4−5を一時的に切断する。
[ステップS12] 停止した位置を現在地点、現在の巡回点はそのままでリルートを行う。通行不可のコネクタは切断されているため、この経路を外して変更巡回経路が生成される。図14、図15の例では、コネクタCN3−4を通って経路3に戻り、点線の変更巡回経路751が生成される。なお、構成、あるいは障害物の状況によっては、リルートできない場合も存在する。
[ステップS13] ステップS12におけるリルートが成功したかどうかを判定する。成功していれば処理を次ステップへ進め、成功していなければ、ステップS17へ処理を進める。
[ステップS14] リルートが成功したので、現在地点と巡回点とを巡回計画の最後に追加する。このとき、最後に設定する巡回点は、通過点とする。たとえば、図15の例では、元の巡回計画の最後の巡回点C503−1の後に、現在地点602−1と、到着目標の巡回点B(通過点とする)502−2とを追加する。
[ステップS15] 変更された変更巡回経路を自律走行する。障害物などがなければ、変更巡回経路を走行して巡回点に到着する。一方、変更巡回経路上にも障害物が検出されたときは、巡回点には到着せずに停止する。
[ステップS16] 巡回点に到着したかどうかを判断する。到着していれば、処理を終了し、元の経路(到着した巡回点から先の経路)へ進む処理を行う。到着していないときは、ステップS18へ処理を進める。
[ステップS17] リルートができなかった、すなわち、変更巡回経路が生成できなかったときは、現在地点と巡回点を巡回計画の最後に追加する。このとき、巡回点へ到達する変更巡回経路はできていない(巡回点へは行けない)ので、最後の巡回点の種別は巡回点を維持する。そして、処理をステップS19へ進める。
[ステップS18] 変更巡回経路の途中に障害物があり巡回点まで進めなかったときは、ステップS14で設定した最後の巡回点の種別(通過点)の通過を削除し、巡回点に戻す。
[ステップS19] 次の巡回点(巡回計画に設定される現在の巡回点の次に向かう巡回点)を巡回計画の最後に追加するとともに、現在の巡回点へ設定し、ステップS12へ処理を進める。すなわち、最初に通行できなかった経路の到着目標の巡回点へ行くことができない(変更巡回経路がない、あるいは、変更巡回経路で障害により通行できなかった)ので、この巡回点への走行はあきらめ、その次の巡回点へ走行する巡回経路を生成する。未巡回経路は巡回計画の最後に設定し、後で走行する。
ステップS18、ステップS19の処理を図面を用いて説明する。
図17は、リルート後の巡回経路に障害物があった場合の巡回経路と巡回計画を示した図である。(E)は巡回経路図(変更巡回経路に障害物有)、(F)はリルート後の巡回計画図である。
図14、図15で説明したように、巡回点A501から巡回点B502に走行する巡回経路702の途中に障害物801が置かれていた場合には、障害物801を回避して巡回点B502へ向かう変更巡回経路751が生成される。この変更巡回経路751の途中に障害物802が置かれており、通行ができない場合、巡回点B502へ向かわずに、次の巡回点C503にするとともに巡回点B502を通過点から巡回点に戻す(ステップS18に相当する)。そして、巡回点C503に向かう変更巡回経路752を生成する(ステップS19に相当する)。
このようにすると、(F)リルート後の巡回計画図に示したように、巡回点A501−1の後の巡回点B502−1には行かず、巡回点C503−1に向かったことになる。そこで、元の走行経路702を通過させるため、現在地点602−1と巡回点B502−2を巡回点C503−1の後に通過するように巡回計画を設定する。巡回点B502−2を巡回点に戻すのは、このときが最初の巡回点B502到着になるからである。さらに、元の巡回経路では、走行するはずであった巡回点B502から巡回点C503へ走行する巡回経路は、未巡回経路902になる。そこで、未巡回経路902を走行させるため、次の巡回点C503−2を巡回計画の最後に追加する。なお、変更巡回経路752により巡回点C503には行くので、最後に追加する巡回点C503−2の巡回点種別は、通過点にする。
以上の処理手順が実行されることにより、検索された巡回経路が一時的な障害物などによって通行できないときは、障害物を回避した変更巡回経路が生成され、指定された巡回点の巡回を行うことができる。また、変更巡回経路を走行したために走行できなかった巡回経路を走行させるため、障害物が検出された現在地点と、そのときの現在の巡回点とを巡回計画の最後に追加することにより、すべての巡回経路を走行して処理を終了することができる。
(2)リルート後の巡回経路の重複削除処理
ところで、(1)リルート処理によって生成された変更巡回経路と、未巡回経路とは、経路の構成によっては、その一部が重複してしまう場合が発生する。同じ経路を複数回走行することは時間、コストの面からも無駄であるので、本発明の実施の形態では、さらに、重複する経路を未巡回経路から削除する処理を行う。
図18は、リルート後の巡回経路における重複経路の一例を説明するための図である。(A)は最初の巡回計画図、(B)は巡回経路図である。
この例では、(A)最初の巡回計画に示したように、巡回情報に基づいて、巡回点D504−1、巡回点E505−1、巡回点F506−1の順に巡回させるという巡回計画が生成されたとする。
重複経路を(B)巡回経路図で説明する。巡回点D504から巡回点E505に向けて巡回経路[コネクタCN1−2、経路2、コネクタCN2−3、経路3、コネクタCN3−4、経路4]を走行するとき、経路2に置かれた障害物803により経路2へ走行できなくなり経路1内の現在地点604で停止する。リルート処理が開始され、変更巡回経路753[コネクタCN1−6、経路6、コネクタCN6−9、経路9、コネクタCN9−10、経路10、コネクタCN10−11、経路11、コネクタCN11−7、経路7、コネクタCN7−3、経路3、コネクタCN3−4、経路4]が生成される。(1)リルート処理によれば、未巡回経路を現在地点から現在の巡回点としているので、未巡回経路903は、現在地点604から巡回点Eまでの[コネクタCN1−2、経路2、コネクタCN2−3、経路3、コネクタCN3−4、経路4]になる。したがって、未巡回経路903と変更巡回経路753とには、2点鎖線で示す重複経路913[領域3、コネクタCN3−4、領域4]が発生する。そこで、この重複経路913を削除する処理が行われる。
図19は、リルート後の巡回経路の重複削除処理の一例を示す図である。(C)はリルート後の巡回経路接続図、(D)はリルート後の巡回計画図、(E)は重複削除後の巡回計画図である。
(B)リルート後の巡回経路接続図に示したように、巡回点D504から巡回点E505に向かう巡回経路[コネクタCN1−2、経路2、コネクタCN2−3、経路3、コネクタCN3−4、経路4]は経路2に障害物があるので、コネクタCN1−2を一時的に切断し、地図情報に基づいて変更巡回経路753を生成する。このとき、(D)リルート後の巡回計画図に示したように、元の巡回計画の最後の巡回点F506−1の次に現在地点604−1と、現在の巡回点E505−2とを追加し、巡回点E505−2については、巡回点種別を通過点に変更しておく。これにより、巡回ロボットに、未巡回経路903として現在地点604−1から巡回点(通過点)E505−2までの区間を最後に走行させることができる。
重複削除処理では、未巡回経路903[コネクタCN1−2、経路2、コネクタCN2−3、経路3、コネクタCN3−4、経路4]と、変更巡回経路753[コネクタCN1−6、経路6、コネクタCN6−9、経路9、コネクタCN9−10、経路10、コネクタCN10−11、経路11、コネクタCN11−7、経路7、コネクタCN7−3、経路3、コネクタCN3−4、経路4]とを照合し、重複する部分を検出する。(D)リルート後の巡回経路接続図にも示したように、[領域3、コネクタCN3−4、領域4]の区間が未巡回経路903にも、変更巡回経路753にも設定されている。そこで、未巡回経路903[コネクタCN1−2、経路2、コネクタCN2−3、経路3、コネクタCN3−4、経路4]から重複経路913[領域3、コネクタCN3−4、領域4]を削除し、未巡回経路を[コネクタCN1−2、経路2、コネクタCN2−3]にする。このため、巡回計画の最後に追加した未巡回経路の開始点(現在地点604)及び終了点(巡回点E505)を、非一致経路の開始点(コネクタCN1−2)及び終了点(コネクタCN2−3)に書き換える。これにより、(D)リルート後の巡回計画図は、(E)重複削除後の巡回計画図になる。
上記の処理手順をフローチャートで説明する。
図20は、リルート後の重複削除処理の手順を示すフローチャートである。
リルート処理が行われた後、たとえば、図16のリルート処理のフローチャートでは、ステップS16において巡回点に到着し、処理を終了する前に処理が開始される。
[ステップS21] 開始点(現在地点)と、終了点(現在の巡回点)との間の区間に生成された新旧経路を比較する。ここで、新経路とは、リルートによって生成された変更巡回経路を指す。旧経路とは、元の巡回計画に基づいて生成され、障害が検出される前の巡回経路を指し、未巡回経路に相当する。
[ステップS22] 新経路(変更巡回経路)と、旧経路(未巡回経路)とに重複があるかどうかを判断する。重複がないときは処理を終了し、重複があるときは処理を次ステップへ進める。
[ステップS23] リルート処理によって巡回計画の最後に追加した経路から重複部分を削除する。具体的には、巡回計画の最後に追加した未巡回経路の開始点と終了点とを、非一致経路の開始点と終了点とに置き換える。
以上の処理手順が実行されることにより、障害物を回避するために生成された変更巡回経路と、未巡回経路とが重複するとき、未巡回経路から重複部分を削除する。これにより、無駄な経路の走行を防ぎ、時間、コストを削減することができる。
(3)未巡回経路挿入処理
これまでの説明では、未巡回経路の開始点と終了点を巡回計画の最後に追加し、元の巡回計画が終了してから未巡回経路を走行するようにしていた。
しかし、未巡回経路を常に最後に走行させるようにすると、巡回時間が多くかかってしまうケースが発生する。
たとえば、図18、図19の例で示した巡回計画では、巡回点F506まで走行してから、コネクタCN1−2の位置まで戻って未巡回経路を走行するようになる。巡回点F506からコネクタCN1−2への移動に要する距離は、巡回点E505からコネクタCN1−2への移動に要する距離と比較してずいぶん長い。したがって、コネクタCN1−2への移動は、巡回点F506からよりも巡回点E505から行う方が、時間もコストも削減できる。
そこで本発明の実施の形態では、未巡回経路の先頭までの移動距離が最も短くなるときに未巡回経路の走行を実施する。
図21は、リルート後の未巡回経路を最短経路で挿し込む処理を説明する巡回経路図である。(A)巡回経路図は、図11及び図14に示した巡回経路図の巡回経路と同じである。
巡回点A501から巡回点B502に向かう巡回経路702の経路4にある障害物801が検出され、経路4を回避して巡回点B502に向かう変更巡回経路751[コネクタCN3−4、経路3、コネクタCN3−7、経路7、コネクタCN7−11、経路11、コネクタCN11−12、経路12、コネクタCN12−13、経路13、コネクタCN8−13、経路8、コネクタCN5−8、経路5(巡回点B)]が生成される。また、現在地点602を開始点、巡回点B502を終点とする未巡回経路901[現在地点602、コネクタCN4−5、経路5]を走行させるため、最後の巡回点C503の次に未巡回経路901の開始点(現在地点602)と、終点(巡回点B)が巡回計画に設定される。
したがって、変更巡回経路751によって巡回点B502まで走行した巡回ロボット100は、巡回点B502から巡回点C503までを巡回経路703によって走行し、巡回点C503に到着した後、未巡回経路901に向かうことになる。しかしながら、図からも明らかなように、巡回点C503から未巡回経路901へ向かうよりも、巡回点B502から未巡回経路901に向かう方が移動距離を短くすることができる。
本実施の形態では、リルート処理終了時、巡回ロボット100が停止する現在位置と、巡回計画に設定されるこれから巡回する各地点とについて、未巡回経路901までの距離を算出する。そして、算出された距離を比較し、最も距離が短い判断された地点を開始地点とする巡回経路の前に未巡回経路を挿入する。
たとえば、図の例では、変更巡回経路751を走行して、巡回点B502に到着したとき、巡回点B502と未巡回経路901との間の距離と、次の巡回点である巡回点C503と未巡回経路901との間の距離とを算出する。各地点と未巡回経路901との距離は、たとえば、その地点と未巡回経路の開始点との距離と、その地点と未巡回経路の終点との距離とを合算して算出する。巡回点B502と未巡回経路901との間の距離は、巡回点B502と未巡回経路901の開始点である現在地点602との間の距離と、巡回点B502と未巡回経路901の終点(ここでは、巡回点B502自身)との間の距離とを合算する。巡回点C503についても同様の処理を行い、算出された距離を比較する。この場合、巡回点B502の方が未巡回経路901に近いので、巡回点B502から巡回点C503に向かう巡回経路703の前に、未巡回経路901を挿し込む。
これを巡回経路接続図を用いて説明する。
図22は、リルート後の未巡回経路を最短経路で挿し込む処理を説明する巡回経路接続図である。
(B)巡回経路接続図に示したように、巡回点A501から巡回点B502へ向かう巡回経路702の途中で、経路4にある障害物を回避するため、経路4を経路変更地点とする変更巡回経路751が生成される。そして、巡回点B502まで変更巡回経路751を走行し、巡回点B502に到着し、ここが現在地点となっている。このとき、本来通行するはずであった経路4、コネクタCN4−5、経路5を通る経路が未巡回経路901となっている。
(1)リルート処理であれば、巡回経路703を走行して巡回点C503へ行くのであるが、いずれ未巡回経路901を走行しなければならないのであれば、最短距離で走行したい。そのためには、未巡回経路901までの距離が最短となる地点から未巡回経路901の走行を行うのがよい。そこで、最短で未巡回経路へ到達できるように、現在地点(巡回点B502)と、これから向かう巡回点C503とについて、それぞれ未巡回経路901との距離を算出する。距離は、開始点(経路変更地点)と、終点(巡回点B502)との距離をそれぞれ算出し、算出値を合算して求める。そして、最も距離の短い地点を選択する。ここでは、巡回点B502が選択される。
なお、巡回点C503以降にも巡回予定の巡回点があったときは、すべての巡回予定の巡回点について未巡回経路との距離を算出し、最も近い巡回点から未巡回経路への走行を行わせる。また、距離を算出する対象は巡回点ばかりでなく、巡回計画に設定される通過点や、コネクタなども含まれる。
次に、未巡回経路の挿し込み処理を巡回計画図を用いて説明する。
図23は、リルート後の未巡回経路を最短経路で挿し込む処理を説明する巡回計画図である。(C)は、リルート後の巡回計画図、(D)は、最短経路で挿し込みを行った後の巡回計画図である。
(C)リルート後の巡回計画図は、障害物を回避する変更巡回経路751が設定された後の巡回計画図である。ここでは、未巡回経路901の開始地点である変更地点602−1と、終点である巡回点(通過点に変更されている)B502−2とが、最後の巡回点C503−1の後に設定されている。
(D)最短経路挿し込み後の巡回計画図は、巡回点B502から未巡回経路901へ向かう経路が最短経路であると判定され、未巡回経路901が挿し込まれた後の巡回経路図を示している。最短距離であった巡回点B502−1から、巡回点C503−1へ向かう巡回経路を走行する経路に未巡回経路901を挿し込んでいる。
これにより、全体の走行距離を最短にして未巡回経路を巡回することができるので、巡回に要する時間やコストを抑えることができる。
図24は、リルート後の未巡回経路を最短経路で挿し込む処理の手順を示したフローチャートである。
変更巡回経路を走行して目標の地点に到着したとき、処理が開始される。
[ステップS31] 到着した現在地点から未巡回経路までの距離を算出する。未巡回経路までの距離は、未巡回経路の開始地点と現在地点までの距離と、未巡回経路の終点と現在地点までの距離を合算して算出する。
[ステップS32] まだ走行していない巡回計画の各地点について、未巡回経路までの距離を算出する。距離の算出は、ステップS31と同様にする。
[ステップS33] ステップS31で算出した現在地点から未巡回経路までの距離と、ステップS32で算出した各地点から未巡回経路までの距離とを比較し、最も短い距離の地点を抽出する。
[ステップS34] ステップS33で抽出された抽出地点を開始地点とする巡回経路に未巡回経路を挿し込む。
以上の処理手順が実行されることにより、距離が最短になる地点から未巡回経路の走行が開始されるようになる。
上記の説明では、変更巡回経路を走行して巡回経路に到達したときに、未巡回経路を挿し込む地点を設定するとしたが、選択された未巡回経路の挿し込み地点が、リルート処理が実行されてから間もない時間で走行する地点である場合には、障害物が撤去されていない可能性が高いと考えられる。そこで、リルート処理を行ったときは、未巡回経路を巡回計画の最後に設定しておき、所定の時間経過後に未巡回経路の挿し込み処理を行うようにすることもできる。また、障害物が一時的なものでない場合には、何度試行しても走行することはできないため、試行回数の規定値を設定し、試行回数が規定値を超えた場合には、今回の巡回における未巡回経路の走行は行わないようにする。
以下、その手順をフローチャートで説明する。
図25は、未巡回経路の挿し込み処理の実行判断を行う処理の手順を示したフローチャートである。障害物を回避して変更巡回経路を設定するときには、未巡回経路を巡回計画の最後の巡回点の後に走行するように設定するとともに、変更時間を未巡回経路情報123に設定する。そして、たとえば、図13に示した処理手順における経路生成(ステップS4)の処理で以下の処理手順を行う。処理は、未巡回経路情報123の最上位にポインタを設定し、最上位の登録から順に行うとする。
[ステップS41] 指定されたポインタが示した以降の未巡回経路情報123を読み出し、未巡回経路登録があるかどうかをチェックする。登録がないときは処理を終了する。登録があるときはポインタをそこへ設定し、次ステップへ処理を進める。
[ステップS42] 未巡回経路情報123に登録があるときには、変更時間を読み出し、予め設定された待ち時間が経過しているかどうかを判定する。経過していないときは、ポインタを進め、ステップS41に戻って次の登録を探す。経過しているときは、処理を次ステップへ進める。
[ステップS43] 待ち時間が経過していれば、その未巡回経路の試行回数を読み出し、試行回数と規定値とを比較する。なお、試行回数は、走行管理部131、または自律走行制御手段150が未巡回経路を走行したときにカウントアップしておく。試行回数が規定値以上であれば、ポインタを次へ進め、ステップS41に戻って次の登録を探す。規定値以下であれば、次ステップへ処理を進める。
[ステップS44] 登録された未巡回経路の設定されてからの待ち時間が経過しており、試行回数も規定値以下であれば、この未巡回経路を最短距離の経路に挿し込む挿し込み処理を実行する。処理は、図24と同様の手順で行う。処理終了後、ポインタを進め、ステップS41に戻って次の登録を探す。
以上の処理手順が実行されることにより、障害物がなくなったころに、最短経路で未巡回経路の走行を行うことが可能となる。
また、試行回数が規定値以上になると、今回の巡回では通行不能であったとして、未巡回経路の挿し込み及び追加をやめる。また、管理者が障害物が無くなったことを確認したときは、ネットワーク経由で未巡回経路情報123を手動で更新することができる。このときは、更新された情報に基づいて未巡回経路を走行する。
(4)割込み巡回点挿入処理
上記の説明は、巡回経路に一時的な障害物が置かれるなどして通行不可となったときに行われる巡回経路の変更処理に関するものである。ところで、巡回経路のフレキシブルな変更は、通行不可の場合だけではない。たとえば、巡回ロボットが走行中に、「以降の巡回計画にはないが急いで巡回ロボットを向かわせて所定の作業を行わせたい。」というような要求が考えられる。
図26は、割込み巡回点を巡回経路に挿し込む処理を説明する巡回経路図である。
(A)巡回経路図は、図11及び図14に示した巡回経路図の巡回経路と同じである。
巡回点A501から巡回点B502に向かう巡回経路702を走行中、ユーザの「急いで巡回点G510へ向かうように」という指示が、遠隔サーバ200経由で巡回ロボット100に入力されたとする。以下、割り込みで指示された巡回点を割込み巡回点と呼ぶこととする。
巡回ロボット100は、命令を受付け、停止した停止地点610を開始地点として、割込み巡回点G510に向かうようにリルート処理を行う。走行管理部131は、通行不能のときと同様にして、停止地点610を現在地点、目標の現在の巡回点をG510として、巡回経路生成処理部141に対し、経路生成指示を行う。
巡回経路生成処理部141は、停止地点610を開始地点、割込み巡回点G510を終点とする変更巡回経路761を生成する。走行管理部131は、生成された変更巡回経路761を走行するように自律走行制御手段150に指示し、自律走行制御手段150によって変更巡回経路761を自律走行し、割込み巡回点G510に到着する。こうして、割込みで指示された割込み巡回点G510に到着した後、遠隔操作で要求があれば、要求された作業を実行する。
要求された作業の実行後、走行管理部131は、巡回ロボット100を、現在地点(要求された作業の中で移動している可能性もあるため)から元の巡回経路に戻すため、開始地点を割込み巡回点G510、目標の地点を停止地点610として変更巡回経路を生成する。この場合、最初の変更巡回経路761とは、逆順の経路が生成されるとする。そして、自律走行制御手段150に変更巡回経路761を停止地点610に向かって走行させ、元の巡回経路702途中の停止地点610まで戻る。
そして、停止地点610から元の目標地点であった巡回点B502までの変更巡回経路を生成し、巡回点B502まで走行する。
これを巡回経路接続図で説明する。
図27は、割込み巡回点を巡回経路に挿し込む処理を説明する巡回経路接続図である。
(B)巡回経路接続図に示したように、巡回点A501から巡回点B502へ向かう巡回経路702の途中、経路4で巡回点G510への走行を指示する割込みを入力し、停止する。そして、経路4の停止地点を開始点とし、指定された巡回点G510までの巡回経路750[経路3、コネクタCN3−7、経路7、コネクタCN7−11、経路11、コネクタCN11−15、経路15、コネクタCN15−19、経路19、コネクタCN19−23、経路23、コネクタCN23−27、経路27、コネクタCN27−28、経路28(割込み巡回点G)]が生成される。
次に、巡回計画図を用いて説明する。
図28は、割込み巡回点を巡回経路に挿し込む処理を説明する巡回計画図である。(C)は割込み前の巡回計画図、(D)は割込み後の巡回計画図である。
(C)割込み前の巡回計画図では、巡回情報に基づいて、巡回点A501−1、巡回点B502−1、巡回点C503−1という巡回計画が生成される。
この巡回経路に従って巡回点A501−1から巡回点B502−1まで走行中に割込み巡回点510−1が指定されたので、走行を停止し、次の目標の巡回点を巡回点G510−1に設定する。したがって、巡回点A501−1の次の目標は、割込み巡回点G510−1になる。さらに、その次の目標地点を停止地点610−1として元の巡回経路に戻るようにする。このため、割込み巡回点G510−1の次の目標は停止地点610−1になる。このように、元の巡回経路である巡回点A501−1から巡回点B502−1までの経路の間に割り込みで挿入された巡回点G510−1までの経路と、停止地点610−1までの経路を割込み巡回経路910とする。
図29は、割込み巡回点を巡回経路に挿し込む処理の手順を示したフローチャートである。急いで巡回させたい巡回点(割込み巡回点)が割込み処理で指定され、処理が開始される。
[ステップS51] 割込み巡回点の指定が入力されると、現在の巡回点(現在向かっている巡回点)を割込み巡回点にし、次の巡回点を停止した停止地点にし、その次の巡回点(次の巡回点の次に回る巡回点)に元の現在の巡回点を設定する。これにより、元の現在の巡回点までの巡回経路に、割込み巡回点まで行って帰ってくる割込み経路が挿し込まれることになる。
[ステップS52] 変更巡回経路を生成する。ここでは、ステップS51の設定に応じて、停止地点から割込み巡回点までの経路が生成される。そして、自律走行制御手段150によって、生成された変更巡回経路を走行する。
[ステップS53] ステップS52で生成された変更巡回経路を走行して割込み巡回点に到着したら、そこで指示された作業を実行する。
[ステップS54] ステップS51で停止した停止地点を次の巡回点とし、変更巡回経路が生成される。ここでは、停止地点へ向かう巡回経路が生成される。
[ステップS55] ステップS54で生成された変更巡回経路を走行し、停止地点まで戻る。
以上の処理手順が実行されることにより、割込みで設定された割込み巡回点を自動で走行し、元の巡回経路に戻ってくることが可能となる。
ところで、上記の手順によって生成された割込み巡回経路と、本来の巡回経路とが重複する場合が考えられる。この場合も、(2)リルート後の巡回経路の重複削除処理と同様に、重複部分を削除する処理を行う。
図30は、割込み巡回経路との重複経路を削除する処理を説明する巡回経路図である。図は、図26の巡回経路図と、割込み巡回点が異なる場合の例である。
図26と同様に、巡回点A501から巡回点B502に向かう巡回経路702を走行中、ユーザの「急いで巡回点H512へ向かうように」という指示が、遠隔サーバ200経由で巡回ロボット100に入力されたとする。
巡回ロボット100は、命令を受付けて割込み巡回点H512に向かうようにリルート処理を行い、停止地点610を開始地点、割込み巡回点H512を終点とする変更巡回経路762を生成する。そして、変更巡回経路762を自律走行し、割込み巡回点H512に到着する。こうして、割込みで指示された割込み巡回点H512に到着した後、遠隔操作で要求があれば、要求された作業を実行する。
続いて、巡回ロボット100を現在地点から元の巡回経路に戻す。ここで割り込み指示で要求された作業の中で移動していないとすると、割り込み巡回点H512から変更巡回経路762を逆方向に戻る。ところで、この変更巡回経路762[経路12、コネクタCN12−13、経路13、コネクタCN13−8、経路8、コネクタCN5−8、経路5、コネクタ4−5、経路4]は、停止地点610以降の元の巡回経路702[経路4、コネクタCN4−5、経路5]と重複する。そこで、重複経路921[経路4、コネクタCN4−5、経路5]を停止地点610まで戻る変更巡回経路762から削除する。
この例において重複経路921を削除すると、停止地点610から巡回点B502までの巡回経路が削除される。したがって、割込み巡回点H512からは、巡回点B502に戻ることとなり、経路生成では、割込み巡回点H512から巡回点B502の経路が生成される。なお、巡回点B502と巡回点C503とを繋ぐ巡回経路703と、変更巡回経路762とも一部重複するが、巡回点Bに未到達のため削除できない。
これを巡回経路接続図を用いて説明する。
図31は、割込み巡回経路との重複経路を削除する処理を説明する巡回経路接続図である。
巡回点A501から巡回点B502に走行途中、割込み巡回点H512が指示され、経路4で停止する。そして、停止地点610から割込み巡回点H512までの変更巡回経路762が生成される。割込み巡回点H512に到着した後は、元の停止地点610に戻る。変更巡回経路762と停止地点610から次の巡回点B(502)までの巡回経路702とは、経路4、コネクタCN4−5、経路5の部分が重複経路921となる。そこで、重複経路921を削除して、元の停止地点610まで進む。ここでは、停止地点610ではなく、巡回点B502まで戻る。
これを巡回計画図で説明する。
図32は、割込み巡回経路との重複経路を削除する処理を説明する巡回計画図である。
(C)は、割込み巡回経路生成後の巡回計画図、(D)は、重複経路削除後の巡回計画図である。
(C)割込み巡回経路生成後の巡回計画図に示したように、割込み巡回点H512−1を巡回する割込み巡回経路911が生成され、元の停止地点610−1まで戻る。ここで、割込み巡回経路911と、停止地点610−1から巡回点B502−1までの巡回経路とを比較すると、重複しているので、重複部分を削除する。
この例では、(D)重複経路削除後の巡回計画図に示したように、割込み巡回点H512−1から停止地点610−1までは戻らず、巡回点B502−1に戻る。
フローチャートを用いて処理手順を説明する。
図33は、割込み巡回経路との重複経路を削除する処理の手順を示したフローチャートである。割込み巡回点に到着して処理が開始される。
[ステップS61] 割込み巡回点から停止地点まで戻る割込み巡回経路と、停止地点から次の巡回点までの経路を比較する。
[ステップS62] 停止地点への戻りの割込み巡回経路と、停止地点から次の巡回点までの巡回経路とに重複部分がないときは処理を終了する。重複部分があるときは、処理を次ステップへ進める。
[ステップS63]停止地点への戻りの割込み巡回経路と、停止地点から次の巡回点までの巡回経路とに重複部分があるときは、停止地点(現在地点)から次の巡回点へ進む巡回経路から重複部分を削除し、処理を終了する。
以上の処理手順が実行されることにより、割込み巡回経路を挿入したときも、重複する巡回経路を削除される。これにより、巡回ロボットを効率よく巡回させることが可能となる。
(5)巡回点のグループ化処理
ロボット100が巡回経路を走行中に自律走行制御手段150によって障害物が検出されると、図16に示したように、通過予定のコネクタを一時切断してリルート処理が行われる。リルート処理で得られた変更巡回経路を走行し、それでも巡回点に到達できなかったときは、走行管理部131は、この巡回点をあきらめ次の巡回点に向かうように巡回経路生成処理部141に指示し、リルート処理が行われる。しかし、同じ障害物によって次以降の巡回点へも到達できないときは、障害物が除去されるまでロボット100が無駄な走行をしてしまう恐れがある。具体例を挙げて説明する。
図34は、障害物によって複数の巡回点への走行ができないときのリルート処理の一例を示した図である。(A)は、最初の巡回計画図、(B)は巡回経路図である。
なお、(B)の巡回経路図では、図3と同様に、走行可能経路を所定の領域に分割し、1から10まで順に番号を振っている。また、各経路は、図示しないコネクタによって接続されている。経路1と経路2を繋ぐコネクタをCN1−2、経路2と経路3を繋ぐコネクタをCN2−3、経路2と経路9を繋ぐコネクタをCN2−9、経路3と経路4を繋ぐコネクタをCN3−4、経路4と経路5を繋ぐコネクタをCN4−5、経路5と経路6を繋ぐコネクタをCN5−6、経路6と経路7を繋ぐコネクタをCN6−7、経路7と経路8を繋ぐコネクタをCN7−8、経路8と経路9を繋ぐコネクタをCN8−9、及び経路8と経路10を繋ぐコネクタをCN8−10とする。
(A)最初の巡回計画図に示したように、巡回点A501−1、巡回点B502−1、巡回点C503−1の順にロボット100を巡回させるという巡回計画が生成されているとする。この巡回計画に基づき、巡回経路[経路1、コネクタCN1−2、経路2、コネクタCN2−3、経路3、コネクタCN3−4、経路4(巡回点A501)、コネクタCN4−5、経路5(巡回点B502)、コネクタCN5−6、経路6(巡回点C503)、コネクタCN6−7、経路7、コネクタCN7−8、経路8、コネクタCN8−10、経路10]が生成される。
経路3に障害物801、及び経路7に障害物802が置かれていたとする。ロボット100は、巡回点A501に向かって、巡回経路704[経路1、コネクタCN1−2、経路2、コネクタCN2−3、経路3]を走行する。経路3では、障害物801を検出するので、走行管理部131は、コネクタCN3−4を切断して巡回経路生成処理部141に指示し、リルート処理を行わせる。ここでは、[コネクタCN2−9、経路9、コネクタCN9−8、経路8、コネクタCN8−7、経路7、・・・]という変更巡回経路771が生成される。しかし、経路7まで走行したとき、障害物802が検出され、通行不可となってしまう。そこで、走行管理部131は、巡回点A501への走行をあきらめ、巡回点B502を走行目標の現在の巡回点とし、巡回経路生成処理部141に指示を出す。巡回経路生成処理部141は、変更巡回経路772[コネクタCN7−8、経路8、コネクタCN8−9、経路9、コネクタCN2−9、経路2、コネクタCN2−3、経路3、コネクタCN3−4、経路4]を生成し、自律走行制御手段150によって走行が開始される。しかし、経路3で障害物801が検出され、変更巡回経路773[コネクタCN2−9、経路9、コネクタCN9−8、経路8、コネクタCN8−7、経路7、・・・]が巡回点A801に向かって走行したときと同様に生成される。さらに、巡回点C503についても同様の処理が行われる。結果として、障害物801と障害物802とに挟まれた区間の巡回点がなくなるまで上記のような移動が繰り返され、巡回経路の走行時間が増大したり、バッテリを無駄に消耗したりするという問題がある。図の例で、経路9の距離が長い場合や、障害物801と障害物802とで塞がれた経路上の巡回点の数が多い場合など、重大な問題となる。
そこで、図の例のように、分岐点のない経路上に並ぶ巡回点など、障害物によってある巡回点に到達できなくなったとき、同時に到達できなくなる巡回点をグループ化する。各巡回点がどのグループに属するのかは、たとえば、巡回点の属性情報として巡回情報112に登録しておく。そして、グループ内のある巡回点に到達できないと判断されたときは、グループすべての巡回点を次の目標の巡回点の候補から外してリルート処理を行う。
図35は、グループ化された巡回点に対するリルート処理を説明する巡回経路図である。(C)巡回経路図に記載されている経路は、図34に示した(B)巡回経路図の巡回経路と同じである。
ここでは、巡回点A501a、巡回点B502a、及び巡回点C503aが、同じグループ(グループ1)に登録されている。各巡回点に付与されたグループ番号は、たとえば、図7に示した巡回情報1120の各巡回点に関する属性項目を1増やし、そこにグループ番号を予め登録しておく。
ここで、ロボット100が、巡回点A501aに向かって巡回経路704を走行するが、障害物801のため通行不可となり、リルート処理によって生成された変更巡回経路774を走行して経路7に到達し、障害物802によって再び通行不可となってしまうことは、図34の場合と同じである。そこで、走行管理部131は、巡回点A501aへの走行をあきらめ、次の巡回点B502aを選択しようとする。しかし、巡回情報に基づいて巡回点B502aの属性を調べると、巡回点B502aは巡回点A501aと同じグループであることが判明する。そこで、巡回点B502aをキャンセルし、巡回点C503aを選択しようとする。しかし、巡回点C503aも同じグループであるので、選択をキャンセルする。こうして、同一グループの巡回点が順次キャンセルされる。そして、障害物801と障害物802に挟まれた区間を抜けた巡回点(図示せず)を現在の巡回点に設定し、巡回経路生成処理部141にリルート処理を指示する。こうして変更巡回経路775が生成され、ロボット100は変更巡回経路775を走行する。
図36は、グループ化された巡回点を含む場合のリルート処理の手順を示したフローチャートである。巡回計画が作成された後、処理が開始される。
[ステップS71] 処理対象の巡回点のグループ番号を記憶するグループ番号記憶領域を初期化する。巡回計画情報121に基づいて、次の巡回点の情報を巡回情報112から取り出し、現在の巡回点へ設定する。そして、現在の巡回点に向かって移動を開始させる。
[ステップS72] 現在の巡回点への巡回経路を生成して自律走行し、巡回点へ向けて移動する。
[ステップS73] 自律走行制御手段150が走行を停止したとき、走行管理部131は、障害物が検出されて停止したのかどうかを判定する。障害物が検出されて停止したときは、処理をステップS74へ進める。障害物が検出されて停止したのではないときは、処理をステップS77へ進める。
[ステップS74] 障害物が検出されて停止したときは、障害物を避けて現在の巡回点まで走行するリルート経路を生成する。
[ステップS75] ステップS74の処理により、リルート経路が生成されたかどうかを判定する。リルート経路が生成されたときは、ステップS72に戻り、このリルート経路を走行して巡回点へ移動する処理を行う。リルート経路が生成されなかったときは、この巡回点へ移動する巡回経路がないということであるので、巡回点のグループ番号をグループ番号記憶領域に記憶させ、処理をステップS78に進める。
[ステップS77] ロボットの停止は、ロボットが巡回点に到達したからであるかどうかを判定する。巡回点に到達していたのであれば、処理をステップS78に進める。巡回点に到達していないのであれば、ステップS72に戻って、次の巡回点へ移動させる。
[ステップS78] 巡回点に到達したとき、あるいは、巡回点へ移動する経路がないとき、巡回計画情報121に基づいて、次の巡回点の情報を巡回情報112から取り出し、現在の巡回点へ設定する。次の巡回点が検出されないとき、すべての巡回点を巡回したと判断する。
[ステップS79] すべての巡回点を巡回したかどうかを判定する。すべての巡回点を巡回していれば処理を終了する。巡回していなければ、処理をステップS80に進める。
[ステップS80] 次の巡回点のグループ番号を巡回情報から抽出する。
[ステップS81] ステップS80で抽出した次の巡回点のグループ番号と、ステップS76で記憶しておいた到達をあきらめた巡回点のグループ番号とを照合する。一致しているときは、ステップS78に戻って、次の巡回点についての処理を繰り返す。一致していないときは、処理をステップS71に戻し、グループ番号記憶領域の初期化からの処理を繰り返す。
以上の処理が行われることにより、巡回をあきらめた巡回点のグループ番号と同じグループに属する巡回点は、次の巡回点に設定されない。これにより、ロボットの無駄な動きを省き、巡回に要する時間と、バッテリの消耗とを抑えることができる。
(6)コネクタ切断時間の管理処理
ところで、図16に示したように、通過予定の経路に障害物が検出されたときは、その経路に繋がるコネクタを一時切断してリルート処理が行われる。この処理では、コネクタを一時的に切断することにより、その経路を巡回経路の候補から外すが、実際には、障害物が除去されるまでその経路を通過することはできない。すなわち、コネクタは切断状態を継続している。このため、一時的にコネクタを切断するだけであると、すぐにそこを走行しようとして再び通行不可となってしまう可能性がある。しかし、障害物の種類、及び経路の特徴などにより、障害物がそこに留まる時間は一様ではない。障害物の種類であれば、たとえば、障害物が人などの動体であれば、障害物としてそこに留まる時間は短いと考えられる。また、その経路が人などの通行路となっていた場合、障害物は動体である可能性が高く、同様に、障害物が除去されるまでの時間は短いと考えられる。このように、コネクタの切断時間を一様に決めることは難しいが、コネクタ切断時間を適切に管理すれば、さらに効率よくロボットを巡回させることが可能となる。
図37は、コネクタ切断時間情報の一例を示した図である。ここでは、地図情報にコネクタ切断時間情報を付加するとしている。図は、図6に示した地図情報のコネクタ情報(Connector)部分を、地図情報(コネクタ)1111に置き換えることを示している。
地図情報(コネクタ)1111は、図6に示した地図情報1110のコネクタ情報に、状態(STATE)1112と、無効時間(Disable Time)1113が付加されている。状態(STATE)1112には、コネクタが有効(通行可状態)、または無効(切断状態)のいずれかが設定される。無効時間(Disable Time)1113には、コネクタを無効とする時間(コネクタ切断時間)が設定される。たとえば、障害物が検出されたとき、走行管理部131は、状態(STATE)1112に「無効(0)」と、無効時間(Disable Time)1113に「無効時間(60)」を設定し、無効時間が経過するのを待つ。そして、無効時間が経過したとき、状態(STATE)1112の値を「有効(1)」にする。リルート処理では、状態(STATE)1112の値を監視し、無効であれば通行不可として巡回経路に設定しない。これにより、無効時間の間、このコネクタは巡回経路に組み込まれることはない。
なお、地図情報(コネクタ)1111には、管理者が設定した無効時間の定義を格納しておき、別の記憶領域で状態(STATE)と、無効時間(Disable Time)とを管理するとしてもよい。
これにより、障害物が検出されたとき、一定時間その経路を巡回経路の候補から外すことが可能となり、無駄な走行を防ぐことができるようになる。一例を説明する。
図38は、コネクタ切断時間を利用したリルート処理の一例を示した巡回経路図である。(D)巡回経路図(コネクタ切断)の経路は、図34に示した(B)巡回経路図の巡回経路と同じ経路である。
図35に示した巡回点のグループ化処理を用いた方法では、障害物によって同時に到達できなくなる巡回点をグループ化することによって、到達できない巡回点を避けて効率よく巡回を行った。ここでは、通行不可となった経路のコネクタを一定時間切断しておくことにより、同様の効果を得られることを説明する。
ロボット100は、巡回点A501に向かって巡回経路704を走行するが、経路3において障害物801のため通行不可となることは、図35と同様である。ここで、経路3と経路4とを接続するコネクタCN3−4(781)を一定時間切断し、リルート処理を行う。リルート処理によって生成された変更巡回経路774を走行して経路7に到達し、障害物802によって再び通行不可となることは、図35と同様である。そこで、経路7と経路6とを接続するコネクタCN6−7(782)を一定時間切断する。そして、巡回点A501への走行をあきらめ、次の巡回点B502aを選択しようとする。しかし、コネクタCN3−4(781)及びコネクタCN6−7(782)は切断されているので、巡回点B502aへの巡回経路を生成することはできないため、巡回点B502aはキャンセルする。同様に、巡回点C503aもキャンセルされる。こうして、コネクタCN3−4(781)またはコネクタCN6−7(782)のいずれかを走行しなければならない巡回点が順次キャンセルされる。そして、障害物801と障害物802に挟まれた区間を抜けた巡回点(図示せず)を現在の巡回点に設定し、リルート処理を行う。こうして変更巡回経路775が生成され、ロボット100は変更巡回経路775を走行する。
以上の処理が行われることにより、一旦切断されたコネクタは一定時間切断が継続され、このコネクタを走行する巡回経路は生成されない。これにより、ロボットの無駄な動きは省き、巡回に要する時間と、バッテリの消耗とを抑えることができる。
ところで、上述のように、障害物がそこに留まる時間は一様ではない。設定されるコネクタ切断時間が、障害物が除去されるまでの時間より短い場合は、コネクタが有効となった時点でまだ障害物が除去されていないため、再び走行不可とによるリルート処理を行わなければならない可能性がある。一方、設定されるコネクタ切断時間が、障害物が除去されるまでの時間より長い場合は、実際には走行可能となっている経路を巡回経路として使用することができないため、効率的な巡回経路を生成できない可能性がある。したがって、コネクタ切断時間は、障害物の種類に応じて適切に設定できることが望ましい。
そこで、走行管理手段130に、動体検出手段を設けて障害物が動体、たとえば人、であるかどうかを検出し、動体であるときはコネクタ切断時間を短く設定し、それ以外のときはコネクタ切断時間を長く設定する。人を検出するのであれば、たとえば、撮像装置109bによって障害物を撮影し、得られた画像を解析して顔検出を行い、顔が検出されれば人であると判定する方法などがある。同様に、障害物を連続して撮影した画像を解析し、障害物が動体であるか否かを検出することもできる。このような検出方法はすでに公知であり、開示のロボット100ではそのいずれかを用いるとし、詳細な説明は省略する。
また、一般に、通路上で工事や清掃などの作業が行われるときには、作業を行う区間を含む所定の場所に作業中であることを知らせるパネルを配置し、通行人に作業が行われていることを通知している。このパネルに、ロボット100が読み取り可能な情報を設定しておき、読み取った情報に基づいてロボット100の走行を制御することができる。このようなパネルを走行制限パネルとする。
図39は、走行制限パネルの具体例を示した図である。(A)は、タグ付き走行制限パネル、(B)は、マーカ付き走行制限パネルを示している。
(A)のタグ付き走行制限パネル2100は、所定の位置にICタグ2101が搭載されている。ICタグ2101には、作業開始前に、作業予定時間などの情報が登録される。ロボット100は、無線通信によってICタグ2101と接続し、ICタグ2101に登録されている作業予定時間を読み取る。そして、読み取った作業予定時間に基づいて、コネクタ切断時間を設定する。
(B)マーカ付き走行制限パネル2200は、所定の位置にマーカ2201と、作業予定時間表示2202とが設置されている。マーカ2201及び作業予定時間表示2202は、視覚に働いてその内容を通知する表示板であり、作業予定時間表示2202には作業の予定時間が表示されている。マーカ2201を検出したロボット100は、その隣にある作業予定時間表示2202を光学的手段で読み取る。そして、読み取った作業予定時間に基づいて、コネクタ切断時間を設定する。
このように、走行制限パネル2100,2200から読み取った作業予定時間に基づいてコネクタ切断時間を設定することにより、適切なコネクタ切断時間を設定することが可能となる。
図40は、走行制限パネルの配置例を示した巡回経路図である。この巡回経路図の経路は、図34に示した(B)巡回経路図の巡回経路と同じ経路である。
ここでは、巡回点A(501)の周辺を含む経路4で工事が行われているとする。走行制限パネル2001,2002は、この経路4の区間を挟むように設置される。
ロボット100は、巡回点A501に向かって経路1、コネクタCN1−2、経路2、コネクタCN2−3、経路3と走行するが、経路3において走行制限パネル2001を検出し、走行制限パネル2001から作業予定時間を読み取る。そして読み取った作業予定時間に合わせて、コネクタCN3−4のコネクタ切断時間を設定して、リルート処理を行う。続いて、コネクタCN3−4が切断されているので、リルートされた経路2、コネクタCN2−9、経路9、コネクタCN9−8、経路8、コネクタCN7−8、経路7、コネクタCN7―6、経路6、コネクタCN5−6と走行して経路5に到達し、走行制限パネル2002を検出する。同様に、走行制限パネル2002の情報を読み取り、読み取った作業予定時間に応じて、コネクタCN4−5のコネクタ切断時間を設定する。
なお、作業予定時間が設定されていなかったり、読み取れなかった場合は、予め決められた値をコネクタ切断時間に設定する。
以上の処理が行われることにより、走行制限パネル2001,2002に挟まれた区間は、走行制限パネル2001,2002から読み取った作業予定時間が終了するまで、コネクタが切断されている。これにより、ロボットの無駄な動きは省き、巡回に要する時間と、バッテリの消耗とを抑えることができる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、巡回ロボットが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
(付記1) 予め指定された地点を巡回する巡回ロボットにおいて、
指定地点を含む巡回対象範囲内の走行可能経路を所定の地図表現形式で表した地図情報と、前記所定の地図表現形式で表した前記指定地点の位置及び必要に応じて設定される巡回順を含む巡回情報と、を記憶する地図/巡回情報記憶手段と、
前記指定地点を巡回する巡回経路に関する経路情報を記憶する経路情報記憶手段と、
経路生成指示が入力されると、前記地図情報及び前記巡回情報に基づいて現在地点から目標の指定地点までの前記走行可能経路を繋いで巡回経路情報を生成し、前記経路情報記憶手段に記憶する経路生成手段と、
走行指示が入力されると、前記経路生成手段の生成した前記巡回経路情報に基づく巡回経路を前記目標の指定地点まで自律走行するとともに、前記巡回経路が通行できないことが検出されたときは走行を停止する自律走行制御手段と、
前記自律走行制御手段によって、前記目標の指定地点に到達した場合には、前記目標の指定地点を前記現在地点として前記経路生成手段に次の目標の指定地点への経路生成指示を行い、前記目標の指定地点に到達していない場合には、停止した位置を前記現在地点とするとともに前記自律走行制御手段が通行不可と判断した経路を前記走行可能経路から外し、前記経路生成手段に経路生成指示を行って巡回経路を変更し、生成された変更巡回経路の走行指示を前記自律走行制御手段に出力する走行管理手段と、
を有することを特徴とする巡回ロボット。
(付記2) 前記走行管理手段は、前記巡回経路が通行できないことが検出されたときは、前記通行不可と判断された経路を、巡回が実施されていない未巡回経路として前記経路情報記憶手段に記憶し、
前記経路生成手段は、前記経路情報記憶手段に前記未巡回経路が記憶されているときは、前記目標の指定地点に到着した後の任意の前記巡回経路生成時に、前記未巡回経路を組み込んだ巡回経路を生成する、
ことを特徴とする付記1記載の巡回ロボット。
(付記3) 前記経路生成手段は、前記巡回情報に設定される前記指定地点への巡回がすべて終了した後に、前記未巡回経路を走行する前記巡回経路を生成する、
ことを特徴とする付記2記載の巡回ロボット。
(付記4) 前記経路生成手段は、前記通行不可の経路が検出されて再生成された前記変更巡回経路と、前記未巡回経路とを比較し、前記未巡回経路と前記変更巡回経路とに重複する経路がある場合には、重複する経路を前記未巡回経路から削除する、
ことを特徴とする付記2記載の巡回ロボット。
(付記5) 前記経路生成手段は、前記変更巡回経路を走行して前記目標の指定地点に到着したら、到着した前記指定地点及びまだ巡回していない前記指定地点から前記未巡回経路への距離を算出して比較し、前記未巡回経路に最も近いと判断される前記指定地点から次の前記指定地点へ向かう巡回経路に前記未巡回経路を挿し込む、
ことを特徴とする付記2記載の巡回ロボット。
(付記6) 前記経路生成手段は、前記指定地点から前記未巡回経路の開始点までの距離と、前記未巡回経路の終了点から前記指定地点までの距離とを合算して、前記未巡回経路への距離を算出する、
ことを特徴とする付記5記載の巡回ロボット。
(付記7) 前記未巡回経路の挿し込みの対象となる前記指定地点は、前記巡回経路情報に基づいて最初に設定される前記指定地点に加え、他の未巡回経路の生成時に設定される前記他の未巡回経路の開始点、または前記他の未巡回経路の終了点も含む、
ことを特徴とする付記5記載の巡回ロボット。
(付記8) 前記走行管理手段は、さらに、前記未巡回経路とともに前記巡回経路を変更した経路変更時間を記憶し、
前記経路生成手段は、前記経路変更時間から所定の時間が経過したとき、前記未巡回経路を前記巡回経路に組み込む、
ことを特徴とする付記2記載の巡回ロボット。
(付記9) 前記経路生成手段は、前記変更巡回経路生成時には前記未巡回経路をすべての前記指定地点への巡回が終了した後に走行するように設定しておき、前記所定の時間が経過したとき、前記未巡回経路を前記未巡回経路までの距離が最短となる前記指定地点からの巡回経路に挿し込む、
ことを特徴とする付記8記載の巡回ロボット。
(付記10) 前記走行管理手段は、前記未巡回経路への走行指示を出力したときは、前記未巡回経路情報に走行を試した試行回数を記憶しておき、
前記経路生成手段は、前記未巡回経路情報に設定される試行回数を読み出して予め設定された所定の規定値と比較し、前記試行回数が前記所定の規定値を超えていたときには、当該未巡回経路を前記巡回経路に組み込む処理を行わない、
ことを特徴とする付記2記載の巡回ロボット。
(付記11) 前記走行管理手段は、前記巡回経路を走行途中に、割込み指示入力で前記指定地点の指示を受けつけると、前記自律走行制御手段による走行を停止させ、停止した停止地点を開始地点とし、割込み指示された割込み指定地点を次の目標の指定地点として前記経路生成手段に経路生成を指示し、
前記経路生成手段は、前記停止地点から前記割込み指定地点までの走行可能領域を繋いで変更巡回経路を生成する、
ことを特徴とする付記1記載の巡回ロボット。
(付記12) 前記走行管理手段は、前記経路生成手段により生成された前記変更巡回経路を走行する走行指示を前記自律走行制御手段に出力し、前記割込み指定地点に到着したときは、前記変更巡回経路を前記停止地点に向けて走行する走行指示を前記自律走行制御手段に出力する、
ことを特徴とする付記11記載の巡回ロボット。
(付記13) 前記経路生成手段は、前記割込み指定地点を開始地点として経路生成を行うときは、前記停止地点から前記割込み指定地点までの前記変更巡回経路と、前記停止地点から前記割込み指定地点が設定される前の前記目標の指定地点までの巡回経路とを比較し、重複部分があれば、前記停止地点から前記割込み指定地点が設定される前の前記目標の指定地点までの巡回経路から重複部分を削除する、
ことを特徴とする付記11記載の巡回ロボット。
(付記14) 所定の指定地点に到達できなくなったときに同時に到達できなくなる他の指定地点を同じグループに分け、前記指定地点が含まれる前記グループを識別するグループ番号を前記指定地点の属性情報として前記指定地点に関する前記巡回情報に登録しておき、
前記走行管理手段は、前記目標の指定地点に到達できなかったときは、前記巡回情報から到達できなかった前記目標の指定地点の前記グループ番号を抽出し、抽出された前記グループ番号と同じグループ番号に属する前記他の指定地点を、前記次の目標の指定地点の候補から外し、前記経路生成手段に経路生成指示を行う、
ことを特徴とする付記1記載の巡回ロボット。
(付記15) 前記走行管理手段は、前記自律走行制御手段が通行不可と判断した経路を、予め決められた所定の時間通行不可として前記走行可能経路から外して、該経路が前記所定の時間が経過するまで前記巡回経路に組み込まれないようにし、前記所定の時間が経過したときに該経路を前記走行可能経路に加える、
ことを特徴とする付記1記載の巡回ロボット。
(付記16) 前記自律走行制御手段は、障害物を感知すると走行を停止し、
前記走行管理手段は、前記自律走行制御手段が前記障害物を検出したときに、前記障害物が動体であるか否かを検出する動体検出手段を有し、前記動体検出手段により前記障害物が動体であることが検出されたときは、前記障害物が検出された経路を通行不可とする時間を前記予め決められた所定の時間よりも短く設定する、
ことを特徴とする付記15記載の巡回ロボット。
(付記17) 前記巡回ロボットは撮像手段を備え、前記動体検出手段は、前記撮像手段が撮影した前記障害物の画像データを解析し、前記障害物が人であるかどうかを検出する人検出手段であることを特徴とする付記15記載の巡回ロボット。
(付記18) 前記障害物は、前記巡回ロボットが読み取り可能な作業予定時間情報を提供する情報提供手段を備え、所定の作業中に前記経路に配置されるパネルであり、
前記走行管理手段は、前記自律走行制御手段が前記情報提供手段を備えた障害物を検出したときは、前記情報提供手段から前記作業予定時間情報を取得し、取得した前記作業予定時間に基づいて前記障害物が検出された経路を通行不可とする時間を設定する、
ことを特徴とする付記15記載の巡回ロボット。
(付記19) 前記情報提供手段は、前記作業予定時間情報を視覚情報として提供するマーカであり、
前記走行管理手段は、光学的手段によって前記マーカに記録された前記作業予定時間情報を読み取る、
ことを特徴とする付記18記載の巡回ロボット。
(付記20) 前記情報提供手段は、前記作業予定時間情報を記憶するICタグであり、
前記走行管理手段は、前記ICタグと通信を行って前記作業予定時間情報を取得する、
ことを特徴とする付記18記載の巡回ロボット。
(付記21) 予め指定された地点を巡回する巡回ロボットの自律走行方法において、
前記巡回ロボットの走行管理手段が、指定地点を含む巡回対象範囲内の走行可能経路を所定の地図表現形式で表した地図情報と、前記所定の地図表現形式で表した前記指定地点の位置及び必要に応じて設定される巡回順を含む巡回情報とを取得して地図/巡回情報記憶手段に記憶した後、現在の位置を現在地点として経路生成指示を行うステップと、
前記巡回ロボットの経路生成手段が、前記経路生成指示が入力されると、前記地図情報と前記巡回情報とに基づいて前記現在地点から目標の指定地点までの前記走行可能経路を繋いで巡回経路情報を生成し、経路情報記憶手段に記憶するステップと、
前記走行管理手段が、生成された前記巡回経路情報に基づく巡回経路の走行指示を出力するステップと、
前記巡回ロボットの自律走行制御手段が、前記走行指示が入力されると、生成された前記巡回経路情報に基づく巡回経路を自律走行するとともに、前記巡回経路が通行できないことが検出されたときは走行を停止するステップと、
前記走行管理手段が、前記自律走行制御手段によって、前記目標の指定地点に到達した場合には、前記目標の指定地点を現在地点として前記経路生成手段に次の目標の指定地点への経路生成指示を行い、前記目標の指定地点に到達していない場合には、停止した位置を現在地点とするとともに前記自律走行制御手段が通行不可と判断した経路を前記走行可能経路から外し、前記経路生成手段に経路生成指示を行って前記巡回経路を変更するステップと、
を有し、前記巡回情報に設定された前記指定地点の巡回が完了するまで、前記経路生成手段による前記巡回経路の生成からのステップを繰り返すことを特徴とする巡回ロボットの自律走行方法。
実施の形態に適用される発明の概念図である。 本発明の実施の形態の巡回ロボット監視システムの構成を示した図である。 本発明の実施の形態の巡回対象範囲の一例を示した巡回経路図である。 本実施の形態の巡回ロボットの制御部のハードウェア構成例を示すブロック図である。 本発明の実施の形態の巡回ロボットのソフトウェア構成例を示した図である。 本発明の実施の形態の地図情報の一例を示した図である。 本発明の実施の形態の巡回情報の一例を示した図である。 巡回計画図及び巡回計画情報の一例を示した図である。 巡回経路接続図及び巡回経路情報の一例を示した図である。 本発明の実施の形態の未巡回経路情報の一例を示した図である。 本発明の実施の形態の巡回計画図とその巡回経路図を示した図である。 図11の巡回経路図の巡回経路接続図である。 本発明の実施の形態の巡回ロボットの走行管理処理の手順を示したフローチャートである。 リルート処理によって生成される巡回経路を示した図である。 リルート処理によって変更された巡回計画と巡回経路を示した図である。 リルート処理の手順を示したフローチャートである。 リルート後の巡回経路に障害物があった場合の巡回経路と巡回計画を示した図である。 リルート後の巡回経路における重複経路の一例を説明するための図である。 リルート後の巡回経路の重複削除処理の一例を示す図である。 リルート後の重複削除処理の手順を示すフローチャートである。 リルート後の未巡回経路を最短経路で挿し込む処理を説明する巡回経路図である。 リルート後の未巡回経路を最短経路で挿し込む処理を説明する巡回経路接続図である。 リルート後の未巡回経路を最短経路で挿し込む処理を説明する巡回計画図である。 リルート後の未巡回経路を最短経路で挿し込む処理の手順を示したフローチャートである。 未巡回経路の挿し込み処理の実行判断を行う処理の手順を示したフローチャートである。 割込み巡回点を巡回経路に挿し込む処理を説明する巡回経路図である。 割込み巡回点を巡回経路に挿し込む処理を説明する巡回経路接続図である。 割込み巡回点を巡回経路に挿し込む処理を説明する巡回計画図である。 割込み巡回点を巡回経路に挿し込む処理の手順を示したフローチャートである。 割込み巡回経路との重複経路を削除する処理を説明する巡回経路図である。 割込み巡回経路との重複経路を削除する処理を説明する巡回経路接続図である。 割込み巡回経路との重複経路を削除する処理を説明する巡回計画図である。 割込み巡回経路との重複経路を削除する処理の手順を示したフローチャートである。 障害物によって複数の巡回点への走行ができないときのリルート処理の一例を示した図である。 グループ化された巡回点に対するリルート処理を説明する巡回経路図である。 グループ化された巡回点を含む場合のリルート処理の手順を示したフローチャートである。 コネクタ切断時間情報の一例を示した図である。 コネクタ切断時間を利用したリルート処理の一例を示した巡回経路図である。 走行制限パネルの具体例を示した図である。 走行制限パネルの配置例を示した巡回経路図である。
符号の説明
1 巡回ロボット
1a 地図/巡回情報DB(データベース)
1b 経路情報DB(データベース)
1c 経路生成手段
1d 走行管理手段
1e 自律走行制御手段
2 遠隔サーバ
2a 管理情報DB(データベース)
2b 端末インタフェース
2c 指示送信手段
2d 情報受信手段
2e 受信情報DB(データベース)

Claims (6)

  1. 予め指定された地点を巡回する巡回ロボットにおいて、
    指定地点を含む巡回対象範囲内の走行可能経路を所定の地図表現形式で表した地図情報と、前記所定の地図表現形式で表した前記指定地点の位置及び必要に応じて設定される巡回順を含む巡回情報と、を記憶する地図/巡回情報記憶手段と、
    前記指定地点を巡回する巡回経路に関する経路情報を記憶する経路情報記憶手段と、
    経路生成指示が入力されると、前記地図情報及び前記巡回情報に基づいて現在地点から目標の指定地点までの前記走行可能経路を繋いで巡回経路情報を生成し、前記経路情報記憶手段に記憶する経路生成手段と、
    走行指示が入力されると、前記経路生成手段の生成した前記巡回経路情報に基づく巡回経路を前記目標の指定地点まで自律走行するとともに、前記巡回経路が通行できないことが検出されたときは走行を停止する自律走行制御手段と、
    前記自律走行制御手段によって、前記目標の指定地点に到達した場合には、前記目標の指定地点を前記現在地点として前記経路生成手段に次の目標の指定地点への経路生成指示を行い、前記目標の指定地点に到達していない場合には、停止した位置を前記現在地点とするとともに前記自律走行制御手段が通行不可と判断した経路を前記走行可能経路から外し、前記経路生成手段に経路生成指示を行って巡回経路を変更し、生成された変更巡回経路の走行指示を前記自律走行制御手段に出力する走行管理手段と、
    を有し、
    前記走行管理手段は、前記巡回経路が通行できないことが検出されたとき、前記通行不可と判断された、前記停止した位置から前記目標の指定地点までの経路を、未巡回経路として前記経路情報記憶手段に記憶させ、
    前記経路生成手段は、
    前記経路情報記憶手段に前記未巡回経路が記憶されているときは、前記目標の指定地点に到着した後の任意の前記巡回経路生成時に、前記未巡回経路を組み込んだ巡回経路を生成し、
    前記通行不可の経路が検出されて再生成された前記変更巡回経路と、前記未巡回経路とを比較し、前記未巡回経路と前記変更巡回経路とに重複する経路がある場合には、重複する経路を前記未巡回経路から削除する、
    ことを特徴とする巡回ロボット。
  2. 前記走行管理手段は、さらに、前記未巡回経路とともに前記巡回経路を変更した経路変更時刻を前記経路情報記憶手段に記憶させ、
    前記経路生成手段は、前記経路変更時刻から所定の時間が経過したとき、前記未巡回経路を前記巡回経路に組み込む、
    ことを特徴とする請求項1記載の巡回ロボット。
  3. 前記走行管理手段は、前記未巡回経路への走行指示を出力したときは、当該未巡回経路とともに走行を試した試行回数を前記経路情報記憶手段に記憶しておき、
    前記経路生成手段は、前記未巡回経路とともに記憶された試行回数を読み出して所定の規定値と比較し、前記読み出した試行回数が前記所定の規定値を超えていたときには、当該未巡回経路を前記巡回経路に組み込む処理を行わない、
    ことを特徴とする請求項1または2記載の巡回ロボット。
  4. 前記経路生成手段は、前記変更巡回経路を走行して前記目標の指定地点に到着したら、到着した前記指定地点及びまだ巡回していない前記指定地点から前記未巡回経路への距離を算出して比較し、前記未巡回経路に最も近いと判断される前記指定地点から次の前記指定地点へ向かう巡回経路に前記未巡回経路を挿し込む、
    ことを特徴とする請求項2または3記載の巡回ロボット。
  5. 前記走行管理手段は、前記巡回経路を走行途中に、割込み指示入力で前記指定地点の指示を受けつけると、前記自律走行制御手段による走行を停止させ、停止した停止地点を開始地点とし、割込み指示された割込み指定地点を次の目標の指定地点として前記経路生成手段に経路生成を指示し、
    前記経路生成手段は、前記停止地点から前記割込み指定地点までの走行可能領域を繋いで巡回経路を再生成する、
    ことを特徴とする請求項1〜4のいずれか1項に記載の巡回ロボット。
  6. 予め指定された地点を巡回する巡回ロボットの自律走行方法において、
    指定地点を含む巡回対象範囲内の走行可能経路を所定の地図表現形式で表した地図情報と、前記所定の地図表現形式で表した前記指定地点の位置及び必要に応じて設定される巡回順を含む巡回情報とが記憶された地図/巡回情報記憶手段を参照し、現在の位置を現在地点として、前記地図情報と前記巡回情報とに基づいて前記現在地点から目標の指定地点までの前記走行可能経路を繋いで巡回経路情報を生成し、
    生成された前記巡回経路情報に基づく巡回経路を自律走行し、
    前記目標の指定地点に到達した場合には、前記目標の指定地点を現在地点として、当該現在地点から次の目標の指定地点への巡回経路情報を生成して自律走行する一方、前記巡回経路が通行できないことが検出された場合には、走行を停止し、停止した位置を現在地点とするとともに通行不可と判断された経路を前記走行可能経路から外して巡回経路を変更し、変更された巡回経路を自律走行する、
    処理を含み、
    前記巡回情報に設定された前記指定地点の巡回が完了するまで、前記巡回経路情報の生成及び当該巡回経路情報に基づく巡回経路の自律走行を繰り返し、
    さらに、
    前記巡回経路が通行できないことが検出されたとき、前記通行不可と判断された、前記停止した位置から前記目標の指定地点までの経路を、未巡回経路として経路情報記憶手段に記憶させ、
    前記経路情報記憶手段に前記未巡回経路が記憶されているときは、前記目標の指定地点に到着した後の任意の前記巡回経路生成時に、前記未巡回経路を組み込んだ巡回経路を生成し、
    前記通行不可の経路が検出されて巡回経路が変更された変更巡回経路と、前記未巡回経路とを比較し、前記未巡回経路と前記変更巡回経路とに重複する経路がある場合には、重複する経路を前記未巡回経路から削除する、
    処理を含むことを特徴とする巡回ロボットの自律走行方法。
JP2008040247A 2007-02-22 2008-02-21 巡回ロボット及び巡回ロボットの自律走行方法 Expired - Fee Related JP5056468B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008040247A JP5056468B2 (ja) 2007-02-22 2008-02-21 巡回ロボット及び巡回ロボットの自律走行方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007042811 2007-02-22
JP2007042811 2007-02-22
JP2008040247A JP5056468B2 (ja) 2007-02-22 2008-02-21 巡回ロボット及び巡回ロボットの自律走行方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012061547A Division JP5267698B2 (ja) 2007-02-22 2012-03-19 巡回ロボット及び巡回ロボットの自律走行方法

Publications (2)

Publication Number Publication Date
JP2008234636A JP2008234636A (ja) 2008-10-02
JP5056468B2 true JP5056468B2 (ja) 2012-10-24

Family

ID=39907288

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2008040247A Expired - Fee Related JP5056468B2 (ja) 2007-02-22 2008-02-21 巡回ロボット及び巡回ロボットの自律走行方法
JP2012061547A Expired - Fee Related JP5267698B2 (ja) 2007-02-22 2012-03-19 巡回ロボット及び巡回ロボットの自律走行方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2012061547A Expired - Fee Related JP5267698B2 (ja) 2007-02-22 2012-03-19 巡回ロボット及び巡回ロボットの自律走行方法

Country Status (1)

Country Link
JP (2) JP5056468B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4811454B2 (ja) 2008-12-02 2011-11-09 村田機械株式会社 搬送台車システム及び搬送台車への走行経路の指示方法
JP5128462B2 (ja) * 2008-12-26 2013-01-23 富士重工業株式会社 清掃ロボットの自律走行システム
KR20110119118A (ko) * 2010-04-26 2011-11-02 엘지전자 주식회사 로봇 청소기, 및 이를 이용한 원격 감시 시스템
JP5411117B2 (ja) * 2010-12-21 2014-02-12 三菱電機株式会社 プラント監視システム
US8972061B2 (en) * 2012-11-02 2015-03-03 Irobot Corporation Autonomous coverage robot
JP2014197294A (ja) 2013-03-29 2014-10-16 株式会社日立産機システム 位置同定装置、及びそれを備えた移動ロボット
WO2016103562A1 (ja) * 2014-12-25 2016-06-30 村田機械株式会社 走行車システム、走行状態変更方法
JP6842269B2 (ja) * 2016-09-29 2021-03-17 株式会社富士通エフサス 飛行ロボットおよび飛行ロボットの制御方法
CN109425352A (zh) * 2017-08-25 2019-03-05 科沃斯机器人股份有限公司 自移动机器人路径规划方法
CN111630515A (zh) * 2018-01-31 2020-09-04 三菱电机株式会社 引导信息发布装置、利用者引导系统以及信息提供装置
CN110163990A (zh) * 2019-05-24 2019-08-23 中铝视拓智能科技有限公司 一种移动机器人巡检方法及系统
CN110587601B (zh) * 2019-08-20 2021-06-15 广西诚新慧创科技有限公司 一种应用于智能巡检机器人的控制系统
CN113589822A (zh) 2020-08-20 2021-11-02 深圳市海柔创新科技有限公司 仓库机器人导航路线预约
CN112729300B (zh) * 2020-12-03 2022-12-27 广州极飞科技股份有限公司 脱离死区的路径规划方法及相关装置
JP2022152215A (ja) * 2021-03-29 2022-10-12 三菱重工業株式会社 監視計画作成装置、監視システム、監視計画作成方法及びプログラム
CN113219995A (zh) * 2021-06-04 2021-08-06 深圳飞鼠动力科技有限公司 一种路径规划方法及清洁机器人
CN114253257A (zh) * 2021-11-23 2022-03-29 广东嘉腾机器人自动化有限公司 一种移动机器人路径行驶控制方法及存储装置
CN114518757A (zh) * 2022-01-30 2022-05-20 汕头市快畅机器人科技有限公司 一种群体巡逻机器人

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06100932B2 (ja) * 1988-03-16 1994-12-12 シャープ株式会社 自動走行掃除装置
JP2722760B2 (ja) * 1990-03-30 1998-03-09 神鋼電機株式会社 移動ロボットシステム
JP3749323B2 (ja) * 1996-11-13 2006-02-22 富士通株式会社 移動装置
JPH10154009A (ja) * 1996-11-25 1998-06-09 Toshiba Eng Co Ltd 無人搬送車の走行制御方法
US7251548B2 (en) * 2001-08-03 2007-07-31 Siemens Aktiengesellschaft Programming of an extended path for an autonomous mobile unit for the subsequent traversing of path sections that are temporarily blocked
JP4445210B2 (ja) * 2003-04-28 2010-04-07 株式会社東芝 自律走行ロボット
JP3844247B2 (ja) * 2003-07-28 2006-11-08 松下電工株式会社 自律移動のための経路生成装置及び該装置を用いた自律移動装置

Also Published As

Publication number Publication date
JP5267698B2 (ja) 2013-08-21
JP2008234636A (ja) 2008-10-02
JP2012150828A (ja) 2012-08-09

Similar Documents

Publication Publication Date Title
JP5056468B2 (ja) 巡回ロボット及び巡回ロボットの自律走行方法
WO2019190395A1 (en) Method and system for returning a displaced autonomous mobile robot to its navigational path
CN108344414A (zh) 一种地图构建、导航方法及装置、系统
CN109804325A (zh) 用于控制自主移动机器人的方法
JP6639734B2 (ja) マップデータ生成装置および方法
CN108415420B (zh) 一种用于移动机器人搜索路径的方法及设备
CN104737085A (zh) 用于自主地检测或处理地面的机器人和方法
JP2022500722A (ja) タスク管理方法及びそのシステム
CN112015187A (zh) 一种用于智能移动机器人的语义地图构建方法及系统
JP2008083112A (ja) ネットワークデータ生成装置、ネットワークデータ生成プログラム、携帯端末及びデータ構造
JP2008140159A (ja) 自律移動装置
JP2019148864A (ja) サービス実施計画提案ロボットシステム
US11361265B2 (en) Data center impact assessment post disaster
KR102286656B1 (ko) 어라운드 맵을 이용하여 경로를 변경하는 방법 및 이를 구현하는 로봇
JPWO2018154633A1 (ja) 制御装置、制御方法およびプログラム
CN114371632A (zh) 智能设备控制方法、装置、服务器和存储介质
WO2024016839A1 (zh) 二次清洁方法、装置、清洁机器人及存储介质
Lopez et al. Space‐time planning in changing environments: using dynamic objects for accessibility
WO2022137656A1 (ja) 移動体行列管理システムおよび管理方法
ELzaiady et al. Next-best-view planning for environment exploration and 3D model construction
JP2021117695A (ja) 移動するロボットを制御する方法
KR20220131060A (ko) 로봇 원격 제어 방법 및 시스템
Shell et al. Directional audio beacon deployment: an assistive multi-robot application
JP7562625B2 (ja) サーバシステム、行動計画システム、行動計画方法およびプログラム
JP3916968B2 (ja) 動画像による人物追跡装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100917

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120319

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: 20120703

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: 20120716

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

Free format text: PAYMENT UNTIL: 20150810

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees