JP2676915B2 - 移動ロボットシステムにおける走行制御方法 - Google Patents
移動ロボットシステムにおける走行制御方法Info
- Publication number
- JP2676915B2 JP2676915B2 JP1130959A JP13095989A JP2676915B2 JP 2676915 B2 JP2676915 B2 JP 2676915B2 JP 1130959 A JP1130959 A JP 1130959A JP 13095989 A JP13095989 A JP 13095989A JP 2676915 B2 JP2676915 B2 JP 2676915B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- mobile robot
- collision
- reservation
- control station
- 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
Links
- 238000000034 method Methods 0.000 title claims description 9
- 238000010586 diagram Methods 0.000 description 13
- 230000007717 exclusion Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 5
- 239000013256 coordination polymer Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1669—Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Description
【発明の詳細な説明】 「産業上の利用分野」 この発明は、複数の移動ロボットと、これらの移動ロ
ボットを制御する制御局とから構成される移動ロボット
システムにおける走行制御方法に関する。
ボットを制御する制御局とから構成される移動ロボット
システムにおける走行制御方法に関する。
「従来の技術」 近年、FA(ファクトリ・オートメーション)の発達に
伴い、この種のシステムが各種開発され、実用化されて
いる。この移動ロボットシステムにおいて、制御局は各
移動ロボットへ無線または有線によって行き先およびそ
の行き先において行う作業を指示する。制御局から指示
を受けた移動ロボットは、指示された場所へ自動走行し
て到達し、その場所で指示された作業を行い、作業が終
了した時はその場で次の指示を待つ。
伴い、この種のシステムが各種開発され、実用化されて
いる。この移動ロボットシステムにおいて、制御局は各
移動ロボットへ無線または有線によって行き先およびそ
の行き先において行う作業を指示する。制御局から指示
を受けた移動ロボットは、指示された場所へ自動走行し
て到達し、その場所で指示された作業を行い、作業が終
了した時はその場で次の指示を待つ。
「発明が解決しようとする課題」 ところで、この種のシステムにおいては、自動走行す
るロボット同士の衝突をいかに防ぐかが大きな問題であ
る。1台のロボットが走行している時に他のロボットを
停止させれば、衝突の可能性を非常に少なくすることが
できるが、これではロボットの走行効率が極端に悪くな
ってしまう。
るロボット同士の衝突をいかに防ぐかが大きな問題であ
る。1台のロボットが走行している時に他のロボットを
停止させれば、衝突の可能性を非常に少なくすることが
できるが、これではロボットの走行効率が極端に悪くな
ってしまう。
そこでこの発明は、同一の敷地内に多くの移動ロボッ
トを走行させても、衝突が起こることがなく、しかも、
各移動ロボットの走行効率を最大限に上げることができ
る移動ロボットシステムにおける走行制御方法を提供す
ることを目的としている。
トを走行させても、衝突が起こることがなく、しかも、
各移動ロボットの走行効率を最大限に上げることができ
る移動ロボットシステムにおける走行制御方法を提供す
ることを目的としている。
「課題を解決するための手段」 この発明は、複数の移動ロボットと、これらの移動ロ
ボットを制御する制御局とからなり、各移動ロボットが
走行路に設けられたノードを検出しつつ走行する移動ロ
ボットシステムにおいて、前記移動ロボットは、各ノー
ドの間の走行路に沿った距離が予め記憶された記憶手段
を有し、走行開始時または走行途中において、前記記憶
手段から距離データを読み出し、読み出した距離データ
および現在位置を示す位置データに基づいて、進行方向
の予め定められている一定距離内のノードおよびその距
離を越える最初のノードを検出し、検出したノードが示
す走行ルートの予約要求を前記制御局へ出力し、前記制
御局から予約終了の連絡を受けて該走行ルートを走行
し、前記制御局は、前記移動ロボットからの予約要求を
受け、その走行ルートが他の移動ロボットによって予約
されていない場合は、その走行ルートの予約を行い、そ
の結果を前記移動ロボットへ出力することを特徴として
いる。
ボットを制御する制御局とからなり、各移動ロボットが
走行路に設けられたノードを検出しつつ走行する移動ロ
ボットシステムにおいて、前記移動ロボットは、各ノー
ドの間の走行路に沿った距離が予め記憶された記憶手段
を有し、走行開始時または走行途中において、前記記憶
手段から距離データを読み出し、読み出した距離データ
および現在位置を示す位置データに基づいて、進行方向
の予め定められている一定距離内のノードおよびその距
離を越える最初のノードを検出し、検出したノードが示
す走行ルートの予約要求を前記制御局へ出力し、前記制
御局から予約終了の連絡を受けて該走行ルートを走行
し、前記制御局は、前記移動ロボットからの予約要求を
受け、その走行ルートが他の移動ロボットによって予約
されていない場合は、その走行ルートの予約を行い、そ
の結果を前記移動ロボットへ出力することを特徴として
いる。
「作用」 この発明によれば、各移動ロボットは現在位置から進
行方向の予め定められている一定距離内のノードおよび
その距離を越える最初のノードを常時検出する。そし
て、検出したノードまでの走行予約を制御局に対して要
求する。制御局は移動ロボットからの予約要求を受けて
予約を行う。また、既に予約済みのノードについては新
たな予約を拒否する。しかして、この発明によれば、予
約済みの走行路については他の移動ロボットの走行を禁
止することにより、移動ロボット同士の衝突を防止する
ことができ、また、上記一定距離を適切に選ぶことによ
り、各移動ロボットの走行効率を最大限に上げることが
できる。
行方向の予め定められている一定距離内のノードおよび
その距離を越える最初のノードを常時検出する。そし
て、検出したノードまでの走行予約を制御局に対して要
求する。制御局は移動ロボットからの予約要求を受けて
予約を行う。また、既に予約済みのノードについては新
たな予約を拒否する。しかして、この発明によれば、予
約済みの走行路については他の移動ロボットの走行を禁
止することにより、移動ロボット同士の衝突を防止する
ことができ、また、上記一定距離を適切に選ぶことによ
り、各移動ロボットの走行効率を最大限に上げることが
できる。
「実施例」 以下、図面を参照してこの発明の一実施例による走行
制御方法を適用した移動ロボットシステムについて説明
する。第1図は同移動ロボットシステムの全体構成を示
すブロック図である。この図において、1は制御局、2
−1〜2−10は移動ロボットであり、制御局1と各移動
ロボット2−1〜2−10とは無線によって接続されてい
る。移動ロボット2は、予め決められた走行路の床面に
貼付された磁気テープに沿って移動するようになってお
り、また、走行路には適宜の間隔をおいてノードが設定
されている。第2図は走行路の一例を示す図であり、こ
の図において,,……がノードである。各ノードに
は各々床面にノードマークが貼付されており、移動ロボ
ット2には、このノードマークを検出する検出器が設け
られている。また、ノードには次の3種類がある。
制御方法を適用した移動ロボットシステムについて説明
する。第1図は同移動ロボットシステムの全体構成を示
すブロック図である。この図において、1は制御局、2
−1〜2−10は移動ロボットであり、制御局1と各移動
ロボット2−1〜2−10とは無線によって接続されてい
る。移動ロボット2は、予め決められた走行路の床面に
貼付された磁気テープに沿って移動するようになってお
り、また、走行路には適宜の間隔をおいてノードが設定
されている。第2図は走行路の一例を示す図であり、こ
の図において,,……がノードである。各ノードに
は各々床面にノードマークが貼付されており、移動ロボ
ット2には、このノードマークを検出する検出器が設け
られている。また、ノードには次の3種類がある。
(1)地図進入ノード:移動ロボット2が新たに走行路
に進入する時のスタート点となるノードであり、第2図
においては、,,,である。
に進入する時のスタート点となるノードであり、第2図
においては、,,,である。
(2)作業ノード:作業点S1,S2,S3が設けられているノ
ードであり、第2図においては、,,である。移
動ロボットが作業を行う場合、この作業ノードで一旦停
止し、次いで作業点S1(またはS2またはS3)まで進んで
停止し作業を行う。
ードであり、第2図においては、,,である。移
動ロボットが作業を行う場合、この作業ノードで一旦停
止し、次いで作業点S1(またはS2またはS3)まで進んで
停止し作業を行う。
(3)通過ノード:移動ロボットが単に通過するだけの
ノードであり、第2図においては上記の各ノード以外の
全てのノードである。
ノードであり、第2図においては上記の各ノード以外の
全てのノードである。
第3図は制御局1の構成を示すブロック図であり、こ
の図において、1aはCPU(中央処理装置)、1bはCPU1aに
おいて用いられるプログラムが記憶されたプログラムメ
モリ、1cは後述する衝突テーブルである。1dは地図メモ
リであり、各ノードの(X−Y)座標、ノード種別を示
すデータ、そのノードに接続されている他のノードの番
号、そのノードに接続されている各他のノードまでの距
離等が記憶されている。1eはデータ記憶用のデータメモ
リであり、このデータメモリ1eには、予め第4図に示す
リザーブテーブルRVTが設けられている。このリザーブ
テーブルRVTはノード〜に各々対応する記憶スロッ
トRV1〜RV14(各1バイト)を有している。1fは操作
部、1gは通信装置であり、この通信装置1gはCPU1aから
供給されるデータを200〜300MHzの搬送波に乗せて発信
し、また、移動ロボット2−1〜2−10から搬送波に乗
せて送信されたデータを受信する。
の図において、1aはCPU(中央処理装置)、1bはCPU1aに
おいて用いられるプログラムが記憶されたプログラムメ
モリ、1cは後述する衝突テーブルである。1dは地図メモ
リであり、各ノードの(X−Y)座標、ノード種別を示
すデータ、そのノードに接続されている他のノードの番
号、そのノードに接続されている各他のノードまでの距
離等が記憶されている。1eはデータ記憶用のデータメモ
リであり、このデータメモリ1eには、予め第4図に示す
リザーブテーブルRVTが設けられている。このリザーブ
テーブルRVTはノード〜に各々対応する記憶スロッ
トRV1〜RV14(各1バイト)を有している。1fは操作
部、1gは通信装置であり、この通信装置1gはCPU1aから
供給されるデータを200〜300MHzの搬送波に乗せて発信
し、また、移動ロボット2−1〜2−10から搬送波に乗
せて送信されたデータを受信する。
ここで、衝突テーブル1cについて説明する。この衝突
テーブル1cは、各移動ロボット間の衝突を防止するため
のテーブルであり、第5図(イ)に示すように、複数の
衝突データブロックから構成されている。この場合、各
衝突データブロックは、走行路によって接続された隣り
合う2つのノードに対応して1つのブロックが形成され
ている。例えば、第2図の走行路の場合、ノード組
〔,〕、〔,〕、〔,〕、〔,〕、
〔,〕、〔,〕……の各々について衝突データ
ブロックが形成されている。
テーブル1cは、各移動ロボット間の衝突を防止するため
のテーブルであり、第5図(イ)に示すように、複数の
衝突データブロックから構成されている。この場合、各
衝突データブロックは、走行路によって接続された隣り
合う2つのノードに対応して1つのブロックが形成され
ている。例えば、第2図の走行路の場合、ノード組
〔,〕、〔,〕、〔,〕、〔,〕、
〔,〕、〔,〕……の各々について衝突データ
ブロックが形成されている。
次に、衝突データブロックについて詳述する。例え
ば、ノード組〔,〕に対応する衝突データブロック
には、ノードからノードへ(またはこの逆)移動ロ
ボット2が移動した時、そのノードに他の移動ロボット
が居ると衝突する恐れのあるノードの番号およびそのよ
うなノードの数が書き込まれている。すなわち、衝突デ
ータブロックには、第5図(ロ)に示されるように、次
の各データが書き込まれている。
ば、ノード組〔,〕に対応する衝突データブロック
には、ノードからノードへ(またはこの逆)移動ロ
ボット2が移動した時、そのノードに他の移動ロボット
が居ると衝突する恐れのあるノードの番号およびそのよ
うなノードの数が書き込まれている。すなわち、衝突デ
ータブロックには、第5図(ロ)に示されるように、次
の各データが書き込まれている。
(1)始点衝突ノードの番号およびその数 第6図において、Naを始点ノード、Nbを終点ノードと
する。なお、始点,終点は、2個の隣合うノードの一方
を始点、他方を終点と称しただけである。始点衝突ノー
ドとは、始点ノードNaに移動ロボット2が到着した場合
にこれと衝突する恐れがあるノード(そのノードに移動
ロボットがいた場合)であり、具体的には、破線で示さ
れる排除領域Es内に存在するノードおよびその周囲一定
範囲内のノードである。ここで、排除領域Esは例えば第
7図に示すように、 (W+2α)×(L+2α) W:移動ロボットの横幅 L:移動ロボットの長さ α=150mm なる大きさの領域であり、予め決められている。また、
同図に示すノードNkは排除領域Es内にあるので勿論衝突
ノードであるが、排除領域Es外のノードNlも移動ロボッ
ト2が一点鎖線の状態になった場合にその一部が排除領
域Es内に入るので始点衝突ノードである。また、始点ノ
ードNa自身も始点衝突ノードである。以上の結果、第7
図の例においてはノードNa,Nk,Nlの番号およびノード数
「3」が各々衝突データブロック内に書き込まれる。
する。なお、始点,終点は、2個の隣合うノードの一方
を始点、他方を終点と称しただけである。始点衝突ノー
ドとは、始点ノードNaに移動ロボット2が到着した場合
にこれと衝突する恐れがあるノード(そのノードに移動
ロボットがいた場合)であり、具体的には、破線で示さ
れる排除領域Es内に存在するノードおよびその周囲一定
範囲内のノードである。ここで、排除領域Esは例えば第
7図に示すように、 (W+2α)×(L+2α) W:移動ロボットの横幅 L:移動ロボットの長さ α=150mm なる大きさの領域であり、予め決められている。また、
同図に示すノードNkは排除領域Es内にあるので勿論衝突
ノードであるが、排除領域Es外のノードNlも移動ロボッ
ト2が一点鎖線の状態になった場合にその一部が排除領
域Es内に入るので始点衝突ノードである。また、始点ノ
ードNa自身も始点衝突ノードである。以上の結果、第7
図の例においてはノードNa,Nk,Nlの番号およびノード数
「3」が各々衝突データブロック内に書き込まれる。
(2)終点衝突ノードの番号およびその数 終点衝突ノードとは、第6図の終点ノードNbに移動ロ
ボット2が到着した場合にこれと衝突する恐れがあるノ
ード(そのノードに移動ロボットがいた場合)であり、
具体的には、破線で示される排除領域Ee内に存在するノ
ードおよびその周囲一定範囲内のノードである。なお、
一定範囲の意味は上記の通りである。
ボット2が到着した場合にこれと衝突する恐れがあるノ
ード(そのノードに移動ロボットがいた場合)であり、
具体的には、破線で示される排除領域Ee内に存在するノ
ードおよびその周囲一定範囲内のノードである。なお、
一定範囲の意味は上記の通りである。
(3)ノード間衝突ノードおよびその数 ノード間衝突ノードとは、始点ノードNaから終点ノー
ドNbまで移動ロボット2が移動した場合にこれと衝突す
る恐れがあるノード(そのノードに移動ロボットがいた
場合)であり、具体的には、破線で示される排除領域Ek
内に存在するノードおよびその周囲一定範囲内のノード
である。
ドNbまで移動ロボット2が移動した場合にこれと衝突す
る恐れがあるノード(そのノードに移動ロボットがいた
場合)であり、具体的には、破線で示される排除領域Ek
内に存在するノードおよびその周囲一定範囲内のノード
である。
(4)逆方向走行衝突ノードおよびその数 逆方向走行衝突ノードとは、終点から始点へ向かって
走行する移動ロボットが始点ノードNaを検出した時点で
ブレーキをかけ、停止した場合にこのロボットと衝突す
る恐れがあるノード(そのノードに移動ロボットがいた
場合)であり、図に示す排除領域Ep内に存在するノード
およびその周囲一定範囲内のノードである。
走行する移動ロボットが始点ノードNaを検出した時点で
ブレーキをかけ、停止した場合にこのロボットと衝突す
る恐れがあるノード(そのノードに移動ロボットがいた
場合)であり、図に示す排除領域Ep内に存在するノード
およびその周囲一定範囲内のノードである。
(5)順方向走行衝突ノードおよびその数 順方向走行衝突ノードとは、始点から終点へ向かって
走行する移動ロボットが終点ノードNbを検出した時点で
ブレーキをかけ、停止した場合にこのロボットと衝突す
る恐れがあるノード(そのノードに移動ロボットがいた
場合)であり、図に示す排除領域Eq内に存在するノード
およびその周囲一定範囲内のノードである。
走行する移動ロボットが終点ノードNbを検出した時点で
ブレーキをかけ、停止した場合にこのロボットと衝突す
る恐れがあるノード(そのノードに移動ロボットがいた
場合)であり、図に示す排除領域Eq内に存在するノード
およびその周囲一定範囲内のノードである。
(6)始点作業衝突ノードおよびその数 始点作業衝突ノードとは、第6図の作業点Saに移動ロ
ボット2が到着した場合にこれと衝突する恐れがあるノ
ード(そのノードに移動ロボットがいた場合)であり、
具体的には、破線で示される排除領域Eg内に存在するノ
ードおよびその周囲一定範囲内のノードである。
ボット2が到着した場合にこれと衝突する恐れがあるノ
ード(そのノードに移動ロボットがいた場合)であり、
具体的には、破線で示される排除領域Eg内に存在するノ
ードおよびその周囲一定範囲内のノードである。
(7)終点作業衝突ノードおよびその数 終点作業衝突ノードとは、作業点Sbに移動ロボット2
が到着した場合にこれと衝突する恐れがあるノード(そ
のノードに移動ロボットがいた場合)であり、具体的に
は、破線で示される排除領域Ei内に存在するノードおよ
びその周囲一定範囲内のノードである。
が到着した場合にこれと衝突する恐れがあるノード(そ
のノードに移動ロボットがいた場合)であり、具体的に
は、破線で示される排除領域Ei内に存在するノードおよ
びその周囲一定範囲内のノードである。
なお、衝突データブロックには、上記(1)〜(7)
のデータの全部が常に記憶されているわけではない。例
えば、始点、終点とも作業点がない場合は、勿論、作業
点衝突ノードは記憶されていない。
のデータの全部が常に記憶されているわけではない。例
えば、始点、終点とも作業点がない場合は、勿論、作業
点衝突ノードは記憶されていない。
次に、移動ロボット2について説明する。第8図は移
動ロボット2の構成を示すブロック図であり、この図に
おいて、2aはCPU、2bはCPU2aにおいて用いられるプログ
ラムが記憶されたプログラムメモリ、2cはデータ記憶用
のデータメモリ、2dは操作部、2eは通信装置、2fは制御
局1内の地図メモリ1dと同じデータが記憶された地図メ
モリである。また、2gは走行制御装置であり、CPU2aか
ら供給される走行データ(行き先データ、走行速度デー
タ等)を受け、磁気センサによって床面の磁気テープお
よびノードマークを検出しつつ駆動モータを制御し、移
動ロボットを目的ノードまで走行させる。また、車軸に
取り付けられたエンコーダの出力に基づいて、最後に通
過したノードから現在位置までの距離を常時検出し、そ
の距離を示すデータ(以下、現在位置データDDという)
をCPU2aへ出力する。2hはアーム制御装置であり、CPU2a
から供給される作業プログラム番号を受け、移動ロボッ
トが作業ノードに到着した時点でこの番号の作業プログ
ラムを内部のメモリから読み出し、読み出たプログラム
によってロボットアーム(図示略)を制御して各種の作
業を行わせる。
動ロボット2の構成を示すブロック図であり、この図に
おいて、2aはCPU、2bはCPU2aにおいて用いられるプログ
ラムが記憶されたプログラムメモリ、2cはデータ記憶用
のデータメモリ、2dは操作部、2eは通信装置、2fは制御
局1内の地図メモリ1dと同じデータが記憶された地図メ
モリである。また、2gは走行制御装置であり、CPU2aか
ら供給される走行データ(行き先データ、走行速度デー
タ等)を受け、磁気センサによって床面の磁気テープお
よびノードマークを検出しつつ駆動モータを制御し、移
動ロボットを目的ノードまで走行させる。また、車軸に
取り付けられたエンコーダの出力に基づいて、最後に通
過したノードから現在位置までの距離を常時検出し、そ
の距離を示すデータ(以下、現在位置データDDという)
をCPU2aへ出力する。2hはアーム制御装置であり、CPU2a
から供給される作業プログラム番号を受け、移動ロボッ
トが作業ノードに到着した時点でこの番号の作業プログ
ラムを内部のメモリから読み出し、読み出たプログラム
によってロボットアーム(図示略)を制御して各種の作
業を行わせる。
次に、上述した移動ロボットシステムの動作を説明す
る。
る。
まず、移動ロボット2を制御局1の制御下におくに
は、移動ロボット2を手動によって地図進入ノード,
,,のいずれかへ移動し、次に、移動ロボット2
の操作部2dからそのノードの番号を入力し、そして、自
動モードに切り換える。ノード番号が入力されると、CP
U2aがそのノード番号および自身のロボット番号を通信
装置2eを介して制御局1へ送る。制御局1はそのロボッ
ト番号およびノード番号を受け、データメモリ1e内に書
き込む。以上の過程によって、制御局1は新たに進入し
たロボットの番号およびその位置を検知する。
は、移動ロボット2を手動によって地図進入ノード,
,,のいずれかへ移動し、次に、移動ロボット2
の操作部2dからそのノードの番号を入力し、そして、自
動モードに切り換える。ノード番号が入力されると、CP
U2aがそのノード番号および自身のロボット番号を通信
装置2eを介して制御局1へ送る。制御局1はそのロボッ
ト番号およびノード番号を受け、データメモリ1e内に書
き込む。以上の過程によって、制御局1は新たに進入し
たロボットの番号およびその位置を検知する。
次に、例えば作業点S1において行うべき作業が発生し
た場合、制御局1はその作業点に最も近い位置にある移
動ロボットに対して、作業点S1を示す作業点コードおよ
び作業プログラム番号を送信する。いま、ノードに移
動ロボット2−1が停止しており、制御局1がこのロボ
ット2−1へ作業点コードおよびプログラム番号を送信
したとする。移動ロボット2−1のCPU2aは、受信した
作業点コードおよびプログラム番号をデータメモリ2c内
に格納し、次に、作業点S1までの走行ルートの探索を行
う。このルート探索は、従来から公知の縦型探索法等に
よって行なわれる。そして、このルート探索によって
→→→なるルートが探索されたとすると、次にCP
U2aは、地図メモリ2f内に記憶されているノード間距離
に基づいて、探索したルートの走行距離を、出発点ノー
ドから目的ノードへ向けて順次累算し、予め決めら
れている一定距離X(第2図参照)を越える最初のノー
ドを検出する。いま、このノードがであったとする。
次にCPU2aはノード,,の番号およびルート予約
要求コードを各々制御局1へ送信する。
た場合、制御局1はその作業点に最も近い位置にある移
動ロボットに対して、作業点S1を示す作業点コードおよ
び作業プログラム番号を送信する。いま、ノードに移
動ロボット2−1が停止しており、制御局1がこのロボ
ット2−1へ作業点コードおよびプログラム番号を送信
したとする。移動ロボット2−1のCPU2aは、受信した
作業点コードおよびプログラム番号をデータメモリ2c内
に格納し、次に、作業点S1までの走行ルートの探索を行
う。このルート探索は、従来から公知の縦型探索法等に
よって行なわれる。そして、このルート探索によって
→→→なるルートが探索されたとすると、次にCP
U2aは、地図メモリ2f内に記憶されているノード間距離
に基づいて、探索したルートの走行距離を、出発点ノー
ドから目的ノードへ向けて順次累算し、予め決めら
れている一定距離X(第2図参照)を越える最初のノー
ドを検出する。いま、このノードがであったとする。
次にCPU2aはノード,,の番号およびルート予約
要求コードを各々制御局1へ送信する。
制御局1のCPU1aはこのノード番号およびルート予約
要求コードを受け、まず、衝突テーブル1c内のノード組
〔,〕に対応する衝突データブロックから、始点衝
突ノード,終点衝突ノード,ノード間衝突ノード,順方
向走行衝突ノードを読み出す。次に、これらのノードが
既に予約されているか否かをリザーブテーブルRVTによ
ってチェックする。そして、予約されていなければ、す
なわち、リザーブテーブルRVTのこれらのノードに対応
する記憶スロットRV1〜RV14内のデータが「0」であっ
た場合、それらの記憶スロットに各々ロボット番号
「1」を書き込む。これによって、ルート→が予約
されたことになる。
要求コードを受け、まず、衝突テーブル1c内のノード組
〔,〕に対応する衝突データブロックから、始点衝
突ノード,終点衝突ノード,ノード間衝突ノード,順方
向走行衝突ノードを読み出す。次に、これらのノードが
既に予約されているか否かをリザーブテーブルRVTによ
ってチェックする。そして、予約されていなければ、す
なわち、リザーブテーブルRVTのこれらのノードに対応
する記憶スロットRV1〜RV14内のデータが「0」であっ
た場合、それらの記憶スロットに各々ロボット番号
「1」を書き込む。これによって、ルート→が予約
されたことになる。
次に制御局1のCPU1aは、上記と同様に、衝突テーブ
ル1c内のノード組〔,〕に対応する衝突データブロ
ックから、始点衝突ノード,終点衝突ノード,ノード間
衝突ノード,順方向走行衝突ノードを読み出し、これら
のノードが既に予約されているか否かをチェックする。
そして、予約されていなければ、それらのノードに対応
する衝突テーブル1cの記憶スロットRV1〜RV14に各々ロ
ボット番号「1」を書き込む。これによって、ルート
→が予約されたことになる。
ル1c内のノード組〔,〕に対応する衝突データブロ
ックから、始点衝突ノード,終点衝突ノード,ノード間
衝突ノード,順方向走行衝突ノードを読み出し、これら
のノードが既に予約されているか否かをチェックする。
そして、予約されていなければ、それらのノードに対応
する衝突テーブル1cの記憶スロットRV1〜RV14に各々ロ
ボット番号「1」を書き込む。これによって、ルート
→が予約されたことになる。
このようにしてルート予約が行なわれると、次にCPU1
aは、ノード〜の番号および予約完了コードを移動
ロボット2−1へ送信する。移動ロボット2−1は、こ
れらのノード番号および予約完了コードを受け、まず、
ノードへ向って走行を開始する。
aは、ノード〜の番号および予約完了コードを移動
ロボット2−1へ送信する。移動ロボット2−1は、こ
れらのノード番号および予約完了コードを受け、まず、
ノードへ向って走行を開始する。
移動ロボット2−1は所定時間が経過する毎に、ロボ
ットの現在の状態(走行中、待機中、作業中等)および
現在位置データDDを制御局1へ送信する。制御局1は、
移動ロボット2−1から送られてくる現在位置データDD
を常時チェックし、移動ロボット2−1がノードを通
過した時点でルート→の予約を解除する。すなわ
ち、ルート→の予約の際にリザーブテーブルRVTに
書き込んだロボット番号「1」を「0」に戻す。
ットの現在の状態(走行中、待機中、作業中等)および
現在位置データDDを制御局1へ送信する。制御局1は、
移動ロボット2−1から送られてくる現在位置データDD
を常時チェックし、移動ロボット2−1がノードを通
過した時点でルート→の予約を解除する。すなわ
ち、ルート→の予約の際にリザーブテーブルRVTに
書き込んだロボット番号「1」を「0」に戻す。
一方、移動ロボット2−1は、走行途中において、常
時、現在位置から目的ノードへ向かう距離Xを越える最
初のノードを、現在位置データDDおよび地図メモリ2f内
に記憶されているノード間距離に基づいて検出し、検出
されたノードがになった場合は、ノード,の番号
およびルート予約要求コードを各々制御局1へ送信す
る。制御局1はこのノード番号およびルート予約要求コ
ードを受け、衝突テーブル1c内のノード組〔,〕に
対応する衝突データブロック内のデータに基づいてノー
ド予約を行う。そして、ノード予約が完了した場合は、
ノード,の番号および予約完了コードを移動ロボッ
ト2−1へ送信する。移動ロボット2−1は、これらの
ノード番号および予約完了コードを受け、ノードまで
走行する。移動ロボット2−1がノードを通過する
と、前述した場合と同様にして、制御局1においてルー
ト→の予約取り消しが行なわれる。そして、ノード
に到達すると、次に横行(横方向へ進むこと)によっ
て作業点S1へ進む。移動ロボット2−1が作業点S1に到
達すると、ルート→の予約取り消しが行なわれる。
但し、この場合、終点作業衝突ノードだけは取り消しが
行なわれない。
時、現在位置から目的ノードへ向かう距離Xを越える最
初のノードを、現在位置データDDおよび地図メモリ2f内
に記憶されているノード間距離に基づいて検出し、検出
されたノードがになった場合は、ノード,の番号
およびルート予約要求コードを各々制御局1へ送信す
る。制御局1はこのノード番号およびルート予約要求コ
ードを受け、衝突テーブル1c内のノード組〔,〕に
対応する衝突データブロック内のデータに基づいてノー
ド予約を行う。そして、ノード予約が完了した場合は、
ノード,の番号および予約完了コードを移動ロボッ
ト2−1へ送信する。移動ロボット2−1は、これらの
ノード番号および予約完了コードを受け、ノードまで
走行する。移動ロボット2−1がノードを通過する
と、前述した場合と同様にして、制御局1においてルー
ト→の予約取り消しが行なわれる。そして、ノード
に到達すると、次に横行(横方向へ進むこと)によっ
て作業点S1へ進む。移動ロボット2−1が作業点S1に到
達すると、ルート→の予約取り消しが行なわれる。
但し、この場合、終点作業衝突ノードだけは取り消しが
行なわれない。
次に、上記の過程においては、例えばノードまでは
予約ができたが、ルート→の予約ができなかったと
する。このようなことは、例えばノード→→と走
行する移動ロボット2−Kが先にそのルートを予約して
いた場合に発生する。この場合、移動ロボット2−1は
ノードを通過した時点で停止し、待機しつつ繰り返し
ルート予約要求コードを制御局1へ送信する。移動ロボ
ット2−Kがルート→を通過すると、制御局1がル
ート→の予約を解除し、次いで、移動ロボット2−
1が要求しているルート→の予約を行う。これによ
り、移動ロボット2−1が進行可能となる。
予約ができたが、ルート→の予約ができなかったと
する。このようなことは、例えばノード→→と走
行する移動ロボット2−Kが先にそのルートを予約して
いた場合に発生する。この場合、移動ロボット2−1は
ノードを通過した時点で停止し、待機しつつ繰り返し
ルート予約要求コードを制御局1へ送信する。移動ロボ
ット2−Kがルート→を通過すると、制御局1がル
ート→の予約を解除し、次いで、移動ロボット2−
1が要求しているルート→の予約を行う。これによ
り、移動ロボット2−1が進行可能となる。
また、ルート→→の予約要求に対し、ルート
→の予約しかできず、ルート→の予約ができなか
った場合、制御局1はルート→の予約完了を移動ロ
ボット2−1へ連絡する。この場合、移動ロボット2−
1はルート→の走行を開始し、また、走行途中にお
いてノード以降の予約要求を行う。
→の予約しかできず、ルート→の予約ができなか
った場合、制御局1はルート→の予約完了を移動ロ
ボット2−1へ連絡する。この場合、移動ロボット2−
1はルート→の走行を開始し、また、走行途中にお
いてノード以降の予約要求を行う。
第9図は上述した予約状態の他の例を示す図であり、
この図においては目的とする作業ノード、また二重丸
を付したノードは予約が行なわれている最遠のノードで
ある。いま、移動ロボット2が(イ)の位置まで来る
と、ノード〜が予約され、(ロ)の位置に来るとノ
ードまでが予約され、(ハ)の位置まで来ると作業ノ
ードまでが予約される。以後、移動ロボット2が
(ニ),(ホ)の位置へ移動しても、ノードより先が
予約されることはない。
この図においては目的とする作業ノード、また二重丸
を付したノードは予約が行なわれている最遠のノードで
ある。いま、移動ロボット2が(イ)の位置まで来る
と、ノード〜が予約され、(ロ)の位置に来るとノ
ードまでが予約され、(ハ)の位置まで来ると作業ノ
ードまでが予約される。以後、移動ロボット2が
(ニ),(ホ)の位置へ移動しても、ノードより先が
予約されることはない。
このように、この移動ロボットシステムにおいては、
各移動ロボットが、現在位置から一定距離X内のノード
および距離Xを越える最初のノードを予約しながら走行
する。この場合、距離Xはできるだけ小いさい方が他の
ロボットの走行を妨げないので好ましい。しかし、小さ
すぎると、スムーズな走行を行うことができない。した
がって、スムーズな走行を行うことができ、かつ、なる
べく小さいXを選定することが必要となる。
各移動ロボットが、現在位置から一定距離X内のノード
および距離Xを越える最初のノードを予約しながら走行
する。この場合、距離Xはできるだけ小いさい方が他の
ロボットの走行を妨げないので好ましい。しかし、小さ
すぎると、スムーズな走行を行うことができない。した
がって、スムーズな走行を行うことができ、かつ、なる
べく小さいXを選定することが必要となる。
ところで、移動ロボット2が予約要求を制御局1へ出
してから予約結果を受け取るまでの時間は、通信遅れや
処理遅れを考慮し、余裕をみて約5秒と考えられる。移
動ロボットが時速1.5Kmで走行する場合、5秒間に約210
0mm走行する。以上のことから、上記の距離Xは3000mm
とするのが妥当と考えられる。この場合、実際に予約さ
れる領域は、衝突テーブル1cの関係から、進行方向約35
00mm先までとなる。
してから予約結果を受け取るまでの時間は、通信遅れや
処理遅れを考慮し、余裕をみて約5秒と考えられる。移
動ロボットが時速1.5Kmで走行する場合、5秒間に約210
0mm走行する。以上のことから、上記の距離Xは3000mm
とするのが妥当と考えられる。この場合、実際に予約さ
れる領域は、衝突テーブル1cの関係から、進行方向約35
00mm先までとなる。
なお、上記の予約はノード単位で行うので、ノード間
距離が長いと予約領域が大きくなってしまう。このよう
な場合は、ダミーノードを設定してノード間距離がある
値以上大きくならないようにすればよい。
距離が長いと予約領域が大きくなってしまう。このよう
な場合は、ダミーノードを設定してノード間距離がある
値以上大きくならないようにすればよい。
なお、上記実施例は移動ロボットが床面の磁気テープ
を検出しつつ同テープに沿って走行するものであるが、
この発明は移動ロボットが超音波センサによって周囲の
情況を検出しつつ走行するものにも適用することができ
る。また、上記実施例は移動ロボットがアームを有して
いるが、この発明はアームを有さず、単に自動走行する
だけの移動ロボット(運搬用等)にも適用することがで
きる。
を検出しつつ同テープに沿って走行するものであるが、
この発明は移動ロボットが超音波センサによって周囲の
情況を検出しつつ走行するものにも適用することができ
る。また、上記実施例は移動ロボットがアームを有して
いるが、この発明はアームを有さず、単に自動走行する
だけの移動ロボット(運搬用等)にも適用することがで
きる。
「発明の効果」 以上説明したように、この発明によれば、各移動ロボ
ットは現在位置から進行方向の予め定められている一定
距離X内のノードおよびその距離を越える最初のノード
を常時検出し、検出したノードまでの走行予約を行いな
がら走行するので、同一の敷地内に多くの移動ロボット
を走行させても、衝突が起こることがなく、しかも、一
定距離Xを適切に選ぶことにより、各移動ロボットの走
行効率を最大限に上げることができる効果がある。
ットは現在位置から進行方向の予め定められている一定
距離X内のノードおよびその距離を越える最初のノード
を常時検出し、検出したノードまでの走行予約を行いな
がら走行するので、同一の敷地内に多くの移動ロボット
を走行させても、衝突が起こることがなく、しかも、一
定距離Xを適切に選ぶことにより、各移動ロボットの走
行効率を最大限に上げることができる効果がある。
第1図はこの発明の一実施例による移動ロボットシステ
ムの構成を示すブロック図、第2図は各移動ロボットが
走行する走行路の一例を示す図、第3図は第1図におけ
る制御局1の構成を示すブロック図、第4図は第3図に
おけるデータメモリ1e内に設定されているリザーブテー
ブルRVTを示す図、第5図と第3図における衝突テーブ
ル1cの記憶内容を示す図、第6図は第5図における衝突
ノードを説明するための図、第7図は始点衝突ノードを
説明するための図、第8図は移動ロボット2の構成を示
すブロック図、第9図は走行予約の他の例を示す図であ
る。 1……制御局、1a……CPU、1b……プログラムメモリ、1
c……衝突テーブル、2−1〜2−10……移動ロボッ
ト、2f……地図メモリ、RVT……リザーブテーブル。
ムの構成を示すブロック図、第2図は各移動ロボットが
走行する走行路の一例を示す図、第3図は第1図におけ
る制御局1の構成を示すブロック図、第4図は第3図に
おけるデータメモリ1e内に設定されているリザーブテー
ブルRVTを示す図、第5図と第3図における衝突テーブ
ル1cの記憶内容を示す図、第6図は第5図における衝突
ノードを説明するための図、第7図は始点衝突ノードを
説明するための図、第8図は移動ロボット2の構成を示
すブロック図、第9図は走行予約の他の例を示す図であ
る。 1……制御局、1a……CPU、1b……プログラムメモリ、1
c……衝突テーブル、2−1〜2−10……移動ロボッ
ト、2f……地図メモリ、RVT……リザーブテーブル。
Claims (1)
- 【請求項1】複数の移動ロボットと、これらの移動ロボ
ットを制御する制御局とからなり、各移動ロボットが走
行路に設けられたノードを検出しつつ走行する移動ロボ
ットシステムにおいて、 前記移動ロボットは、各ノード間の、走行路に沿った距
離が予め記憶された記憶手段を有し、走行開始時または
走行途中において、前記記憶手段から距離データを読み
出し、読み出した距離データおよび現在位置を示す位置
データに基づいて、進行方向の予め定められている一定
距離内のノードおよびその距離を越える最初のノードを
検出し、検出したノードが示す走行ルートの予約要求を
前記制御局へ出力し、前記制御局から予約終了の連絡を
受けて該走行ルートを走行し、 前記制御局は、前記移動ロボットからの予約要求を受
け、その走行ルートが他の移動ロボットによって予約さ
れていない場合は、その走行ルートの予約を行い、その
結果を前記移動ロボットへ出力することを特徴とする移
動ロボットシステムにおける走行制御方法。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1130959A JP2676915B2 (ja) | 1989-05-24 | 1989-05-24 | 移動ロボットシステムにおける走行制御方法 |
KR1019900001291A KR0148786B1 (ko) | 1989-05-24 | 1990-02-03 | 이동로보트시스템에서의 주행제어방법 |
US07/513,546 US5179329A (en) | 1989-04-25 | 1990-04-24 | Travel control method, travel control device, and mobile robot for mobile robot systems |
FR9005211A FR2646119A1 (fr) | 1989-04-25 | 1990-04-24 | Procede de commande de deplacement, dispositif de commande de deplacement, et robot mobile pour des systemes de robots mobiles |
DE4013168A DE4013168C2 (de) | 1989-04-25 | 1990-04-25 | Fahrsteuerverfahren und Fahrsteuereinrichtung für ein Mobilrobotersystem |
US07/912,977 US5488277A (en) | 1989-04-25 | 1992-07-08 | Travel control method, travel control device, and mobile robot for mobile robot systems |
US08/480,303 US5568030A (en) | 1989-04-25 | 1995-06-07 | Travel control method, travel control device, and mobile robot for mobile robot systems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1130959A JP2676915B2 (ja) | 1989-05-24 | 1989-05-24 | 移動ロボットシステムにおける走行制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH02309406A JPH02309406A (ja) | 1990-12-25 |
JP2676915B2 true JP2676915B2 (ja) | 1997-11-17 |
Family
ID=15046633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1130959A Expired - Fee Related JP2676915B2 (ja) | 1989-04-25 | 1989-05-24 | 移動ロボットシステムにおける走行制御方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2676915B2 (ja) |
KR (1) | KR0148786B1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69415067T2 (de) * | 1993-04-02 | 1999-07-08 | Shinko Electric Co., Ltd., Tokio/Tokyo | Methode und Steuervorrichtung für ein Transportverwaltungssystem mit fahrerlosen Fahrzeugen |
CN105955254B (zh) * | 2016-04-25 | 2019-03-29 | 广西大学 | 一种适用于机器人路径搜索的改进的a*算法 |
JP7161813B1 (ja) * | 2022-07-28 | 2022-10-27 | 株式会社Octa Robotics | 移動体通行管理システム、及び移動体通行管理方法 |
JP2024042454A (ja) * | 2022-09-15 | 2024-03-28 | 三菱重工業株式会社 | 経路設定方法、プログラム及び移動体 |
-
1989
- 1989-05-24 JP JP1130959A patent/JP2676915B2/ja not_active Expired - Fee Related
-
1990
- 1990-02-03 KR KR1019900001291A patent/KR0148786B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR0148786B1 (ko) | 1998-10-15 |
KR900017739A (ko) | 1990-12-19 |
JPH02309406A (ja) | 1990-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5568030A (en) | Travel control method, travel control device, and mobile robot for mobile robot systems | |
JP2679346B2 (ja) | 移動ロボットシステムにおける充電制御方式 | |
JP2722760B2 (ja) | 移動ロボットシステム | |
JP3491195B2 (ja) | 軌道走行車の運行管理装置 | |
JP2676915B2 (ja) | 移動ロボットシステムにおける走行制御方法 | |
JP2817202B2 (ja) | 移動ロボットの走行制御方法 | |
JP2814564B2 (ja) | 移動ロボットシステムにおける衝突防止方法 | |
JP3013360B2 (ja) | 移動ロボットシステムにおける衝突防止装置 | |
JP2715551B2 (ja) | 移動ロボットの走行制御方法 | |
JP2814577B2 (ja) | 移動ロボットの走行制御方法 | |
JPH0412604A (ja) | 無人搬送車の充電方法 | |
JP3036109B2 (ja) | 移動ロボットシステムにおける走行制御方法 | |
JP2814565B2 (ja) | 移動ロボットシステムにおける衝突防止方法 | |
JP2814578B2 (ja) | 移動ロボットの走行制御方法 | |
JP2897347B2 (ja) | 無人搬送車の障害物検出制御方法 | |
JP2679369B2 (ja) | 無人搬送車の充電制御方法 | |
JP2814579B2 (ja) | 移動ロボットシステムにおけるデータ通信方法 | |
JP2817200B2 (ja) | 移動ロボット | |
JP2814558B2 (ja) | 移動ロボットシステムにおける走行制御方法 | |
JPH0330003A (ja) | 移動ロボットの走行制御方法 | |
JP2004110287A (ja) | Agv経路探索方法及びプログラム | |
JPH03285503A (ja) | 移動ロボットシステム | |
JP2885204B2 (ja) | 無人搬送車走行制御システム | |
JP3952336B2 (ja) | 十文字型走行レイアウトにおける無人搬送車の作業割付け方法 | |
JP2817211B2 (ja) | 移動ロボットシステムにおけるデータ照合方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees | ||
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |