JPH0566831A - 移動ロボツトシステムにおける走行制御方法 - Google Patents
移動ロボツトシステムにおける走行制御方法Info
- Publication number
- JPH0566831A JPH0566831A JP3099326A JP9932691A JPH0566831A JP H0566831 A JPH0566831 A JP H0566831A JP 3099326 A JP3099326 A JP 3099326A JP 9932691 A JP9932691 A JP 9932691A JP H0566831 A JPH0566831 A JP H0566831A
- Authority
- JP
- Japan
- Prior art keywords
- node
- mobile robot
- reservation
- control station
- travel reservation
- 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.)
- Granted
Links
Landscapes
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
(57)【要約】
【目的】 移動ロボットシステムにおいて、各移動ロボ
ット間の衝突防止を早期に行い、衝突回避の動作を行う
ための時間的損失を少なくする。 【構成】 各移動ロボットの走行予約の要求は、分岐ノ
ード間単位で行うこととした。また、袋小路内に移動ロ
ボットが存在し、この袋小路内のノードを目的ノードと
する他の移動ロボットが進行してきた場合、この他の移
動ロボットによる袋小路の出入口のノードに対する走行
予約の要求を拒否するようにした。
ット間の衝突防止を早期に行い、衝突回避の動作を行う
ための時間的損失を少なくする。 【構成】 各移動ロボットの走行予約の要求は、分岐ノ
ード間単位で行うこととした。また、袋小路内に移動ロ
ボットが存在し、この袋小路内のノードを目的ノードと
する他の移動ロボットが進行してきた場合、この他の移
動ロボットによる袋小路の出入口のノードに対する走行
予約の要求を拒否するようにした。
Description
【0001】
【産業上の利用分野】この発明は、複数の移動ロボット
と、これらの移動ロボットを制御する制御局とから構成
される移動ロボットシステムにおける走行制御方法に関
する。
と、これらの移動ロボットを制御する制御局とから構成
される移動ロボットシステムにおける走行制御方法に関
する。
【0002】
【従来の技術】近年、FA(ファクトリ・オートメーシ
ョン)の発達に伴い、この種のシステムが各種開発さ
れ、実用化されている。この移動ロボットシステムにお
いて、制御局は各移動ロボットへ無線または有線によっ
て行先およびその行先において行う作業を指示する。制
御局から指示を受けた移動ロボットは、指示された場所
へ自動走行して到達し、その場所で指示された作業を行
い、作業が終了した時はその場で次の指示を待つ。
ョン)の発達に伴い、この種のシステムが各種開発さ
れ、実用化されている。この移動ロボットシステムにお
いて、制御局は各移動ロボットへ無線または有線によっ
て行先およびその行先において行う作業を指示する。制
御局から指示を受けた移動ロボットは、指示された場所
へ自動走行して到達し、その場所で指示された作業を行
い、作業が終了した時はその場で次の指示を待つ。
【0003】さて、この種のシステムにおいては、自動
走行するロボット同士の衝突をいかに防ぐかが大きな問
題である。この問題を解決する1つの方法として、1台
の移動ロボットが走行している時に他のロボットを停止
させることが考えられる。しかし、この方法の場合、衝
突の可能性は非常に少なくなるが、ロボットの走行効率
が極端に悪くなってしまい、複数の移動ロボットを走行
させる意味がない。
走行するロボット同士の衝突をいかに防ぐかが大きな問
題である。この問題を解決する1つの方法として、1台
の移動ロボットが走行している時に他のロボットを停止
させることが考えられる。しかし、この方法の場合、衝
突の可能性は非常に少なくなるが、ロボットの走行効率
が極端に悪くなってしまい、複数の移動ロボットを走行
させる意味がない。
【0004】そこで、本願出願人は、特願平1−130
959号により、各移動ロボットにに走行の予約を行わ
せ、各移動ロボット同士の衝突を回避するようにした移
動ロボットシステムを提案するに至った。以下、この移
動ロボットシステムの概略を説明する。このシステムに
おいて、各移動ロボットが走行する走行路の各拠点には
ノードが設定されている。各移動ロボットはノードを検
出し、最後に通過したノードからの移動距離を測定する
ことによって自身の所在位置を把握しつつ、走行路を走
行する。また、移動ロボットは、各ノード間の距離のテ
ーブルを記憶しており、目的とするノード(以下、目的
ノードという)に向って進む際、このテーブルを参照す
ることにより、現在位置から目的ノードに向って一定距
離X内に含まれる各ノードと、この一定距離Xより外側
の最初のノードを常時求める。そして、移動ロボット
は、これら求められた各ノードによって構成される走行
ルートに対する走行予約要求を制御局に送信する。この
走行予約要求を受信した制御局は、当該走行路の走行を
他の移動ロボットに対して許可していない場合に、受信
した走行予約要求を許可するメッセージを当該移動ロボ
ットに対して送信する。そして、このメッセージを受取
った移動ロボットは、許可された走行ルートを走行し、
目的とするノードに向って進む。
959号により、各移動ロボットにに走行の予約を行わ
せ、各移動ロボット同士の衝突を回避するようにした移
動ロボットシステムを提案するに至った。以下、この移
動ロボットシステムの概略を説明する。このシステムに
おいて、各移動ロボットが走行する走行路の各拠点には
ノードが設定されている。各移動ロボットはノードを検
出し、最後に通過したノードからの移動距離を測定する
ことによって自身の所在位置を把握しつつ、走行路を走
行する。また、移動ロボットは、各ノード間の距離のテ
ーブルを記憶しており、目的とするノード(以下、目的
ノードという)に向って進む際、このテーブルを参照す
ることにより、現在位置から目的ノードに向って一定距
離X内に含まれる各ノードと、この一定距離Xより外側
の最初のノードを常時求める。そして、移動ロボット
は、これら求められた各ノードによって構成される走行
ルートに対する走行予約要求を制御局に送信する。この
走行予約要求を受信した制御局は、当該走行路の走行を
他の移動ロボットに対して許可していない場合に、受信
した走行予約要求を許可するメッセージを当該移動ロボ
ットに対して送信する。そして、このメッセージを受取
った移動ロボットは、許可された走行ルートを走行し、
目的とするノードに向って進む。
【0005】
【発明が解決しようとする課題】ところで、上述の移動
ロボットシステムにおいては、以下説明する不都合が発
生する場合がある。図8はその第1の場合を説明するも
のであり、図9は第2の場合を説明するものである。ま
ず、図8に示すように、移動ロボットR1がノード#4
から図面において右方向へと進み、移動ロボットR2が
ノード#8から図面において左方向へと進むものとす
る。この場合、移動ロボットR1は現在位置#4から移
動方向に向って一定距離Xより外側の最初のノード#5
までの走行予約の要求を制御局に対して送信し、この要
求は許可される。同様に、移動ロボットR2はノード#
6までの走行予約の要求を制御局に対して送信し、この
要求も許可される。しかし、これらの許可に従って移動
ロボットR1およびR2が移動した場合、両者は互いに
逃げ場のない走行路内に進入してしまう。この場合、衝
突を回避するため、移動ロボットR2が、ノード#7ま
で戻って他の走行路に進まなければならず、この回避動
作を演算によって求めるための時間的損失およびこの回
避動作を実行することによる時間的損失が生じてしま
う。次に図9に示すように、移動ロボットR2が袋小路
内で作業等をしている時、その袋小路内のノードを目的
ノードとする移動ロボットR1が進入してきたとする。
この場合、移動ロボットR1が袋小路の出口ノード#5
への走行予約をし、その許可が与えられる結果、デッド
ロック状態に陥る。この発明は上述した事情に鑑みてな
されたものであり、各移動ロボット間の衝突を早期に防
止することができ、衝突回避に要する時間的損失を極力
少なくした移動ロボットシステムにおける走行制御方法
を提供することを目的とする。
ロボットシステムにおいては、以下説明する不都合が発
生する場合がある。図8はその第1の場合を説明するも
のであり、図9は第2の場合を説明するものである。ま
ず、図8に示すように、移動ロボットR1がノード#4
から図面において右方向へと進み、移動ロボットR2が
ノード#8から図面において左方向へと進むものとす
る。この場合、移動ロボットR1は現在位置#4から移
動方向に向って一定距離Xより外側の最初のノード#5
までの走行予約の要求を制御局に対して送信し、この要
求は許可される。同様に、移動ロボットR2はノード#
6までの走行予約の要求を制御局に対して送信し、この
要求も許可される。しかし、これらの許可に従って移動
ロボットR1およびR2が移動した場合、両者は互いに
逃げ場のない走行路内に進入してしまう。この場合、衝
突を回避するため、移動ロボットR2が、ノード#7ま
で戻って他の走行路に進まなければならず、この回避動
作を演算によって求めるための時間的損失およびこの回
避動作を実行することによる時間的損失が生じてしま
う。次に図9に示すように、移動ロボットR2が袋小路
内で作業等をしている時、その袋小路内のノードを目的
ノードとする移動ロボットR1が進入してきたとする。
この場合、移動ロボットR1が袋小路の出口ノード#5
への走行予約をし、その許可が与えられる結果、デッド
ロック状態に陥る。この発明は上述した事情に鑑みてな
されたものであり、各移動ロボット間の衝突を早期に防
止することができ、衝突回避に要する時間的損失を極力
少なくした移動ロボットシステムにおける走行制御方法
を提供することを目的とする。
【0006】
【課題を解決するための手段】この発明は、複数の移動
ロボットとこれらの移動ロボットを制御する制御局とか
らなり、各移動ロボットが走行路に設けられたノードを
検出しつつ走行する移動ロボットシステムにおいて、前
記制御局は、前記移動ロボットに対し、作業点に対応し
た目的ノードおよび該作業点にて行う作業の種類からな
る作業指示を与え、該作業指示の与えられた前記移動ロ
ボットは、前記制御局に対し、現在位置し、あるいは通
過しようとするノードから一定距離内に目的ノードがあ
る場合、または現在位置し、あるいは通過しようとする
ノードが袋小路に接続される分岐ノードであって、目的
ノードが該袋小路内にある場合には目的ノードまでの走
行予約を要求し、現在位置し、あるいは通過しようとす
るノードから一定距離内に目的ノードがない場合には、
目的ノードに向って該一定距離を越える最初の分岐ノー
ドまでの走行予約を要求し、前記制御局は、前記走行予
約の要求のあったノードが袋小路の出入口である場合で
あり、かつ、該走行予約を要求する移動ロボットの目的
ノードが該袋小路内にある場合には、該袋小路内に他の
移動ロボットが存在せず、かつ、該要求のあったノード
が他の移動ロボットに走行予約を許可したノードでない
場合に限り、該走行予約を許可し、前記走行予約の要求
のあったノードが袋小路の出入口でない場合には、該ノ
ードが他の移動ロボットに走行予約を許可したノードで
ない場合に限り、該走行予約を許可することを特徴とす
る。
ロボットとこれらの移動ロボットを制御する制御局とか
らなり、各移動ロボットが走行路に設けられたノードを
検出しつつ走行する移動ロボットシステムにおいて、前
記制御局は、前記移動ロボットに対し、作業点に対応し
た目的ノードおよび該作業点にて行う作業の種類からな
る作業指示を与え、該作業指示の与えられた前記移動ロ
ボットは、前記制御局に対し、現在位置し、あるいは通
過しようとするノードから一定距離内に目的ノードがあ
る場合、または現在位置し、あるいは通過しようとする
ノードが袋小路に接続される分岐ノードであって、目的
ノードが該袋小路内にある場合には目的ノードまでの走
行予約を要求し、現在位置し、あるいは通過しようとす
るノードから一定距離内に目的ノードがない場合には、
目的ノードに向って該一定距離を越える最初の分岐ノー
ドまでの走行予約を要求し、前記制御局は、前記走行予
約の要求のあったノードが袋小路の出入口である場合で
あり、かつ、該走行予約を要求する移動ロボットの目的
ノードが該袋小路内にある場合には、該袋小路内に他の
移動ロボットが存在せず、かつ、該要求のあったノード
が他の移動ロボットに走行予約を許可したノードでない
場合に限り、該走行予約を許可し、前記走行予約の要求
のあったノードが袋小路の出入口でない場合には、該ノ
ードが他の移動ロボットに走行予約を許可したノードで
ない場合に限り、該走行予約を許可することを特徴とす
る。
【0007】
【作用】上記方法によれば、各移動ロボットの走行予約
の要求は、分岐ノード間単位で行われるため、分岐ノー
ド間の走行路上において移動ロボット同士が出会うとい
った事態が発生し得ない。また、袋小路内に移動ロボッ
トが存在し、この袋小路内のノードを目的ノードとする
他の移動ロボットが進行してきた場合、この他の移動ロ
ボットによる袋小路の出入口のノードに対する走行予約
の要求は拒否される。従って、袋小路内の移動ロボット
は袋小路から出て行くことができる。
の要求は、分岐ノード間単位で行われるため、分岐ノー
ド間の走行路上において移動ロボット同士が出会うとい
った事態が発生し得ない。また、袋小路内に移動ロボッ
トが存在し、この袋小路内のノードを目的ノードとする
他の移動ロボットが進行してきた場合、この他の移動ロ
ボットによる袋小路の出入口のノードに対する走行予約
の要求は拒否される。従って、袋小路内の移動ロボット
は袋小路から出て行くことができる。
【0008】
【実施例】以下、図面を参照し、本発明の一実施例によ
る走行制御方法を適用した移動ロボットシステムについ
て説明する。図1は同移動ロボットシステムの全体構成
を示すブロック図である。この図において、Cは制御局
であり、その構成を図2に示す。R1〜Rnは移動ロボ
ットであり、その構成を図3に示す。制御局1と各移動
ロボットR1〜Rnとは無線によって接続されている。
移動ロボットRk(k=1〜n)は、予め決められた走
行路の床面に貼付された磁気テープに沿って移動するよ
うになっており、また、走行路には適宜の間隔をおいて
ノードが設定されている。これらの各ノードは各々床面
にノードマークが貼付されており、各移動ロボットRk
にはこのノードマークを検出する検出器が設けられてい
る。
る走行制御方法を適用した移動ロボットシステムについ
て説明する。図1は同移動ロボットシステムの全体構成
を示すブロック図である。この図において、Cは制御局
であり、その構成を図2に示す。R1〜Rnは移動ロボ
ットであり、その構成を図3に示す。制御局1と各移動
ロボットR1〜Rnとは無線によって接続されている。
移動ロボットRk(k=1〜n)は、予め決められた走
行路の床面に貼付された磁気テープに沿って移動するよ
うになっており、また、走行路には適宜の間隔をおいて
ノードが設定されている。これらの各ノードは各々床面
にノードマークが貼付されており、各移動ロボットRk
にはこのノードマークを検出する検出器が設けられてい
る。
【0009】次に制御局Cの構成を説明する。図2にお
いて、1はCPU(中央処理装置)、2はCPU1によ
って実行される各プログラムを記憶してなるプログラム
メモリである。これらCPU1によって実行される各プ
ログラムの中の1つとして、各移動ロボットRkからの
走行予約要求があった場合に予約を許可するか否かを判
定する予約可否判定プログラムがある。この予約可否判
定プログラムのフローを図4に示す。3は衝突テーブル
であり、この衝突テーブルには、走行路上に存在する隣
合ったノードの各組合せ(#j、#k)毎に衝突データ
ブロックが記憶されている。ここで、衝突データブロッ
クの内容について説明する。例えば、移動ロボットがノ
ード#jからノード#kに、あるいはその逆向きに移動
したとする。この移動が行われた結果、衝突を避けるた
め、他の移動ロボットが存在してはならないノードが新
たに発生する。衝突データブロックにはこのようなノー
ドの番号およびこのようなノードの総数が書き込まれて
いる。なお、この衝突データブロックの詳細について
は、特願平1−130959号において説明されてい
る。4は地図メモリであり、各ノードの座標、ノード種
別を示すデータ、そのノードに接続されている各他のノ
ードの番号、およびそれら他のノードまでの距離等が記
憶されている。5はデータ記憶用のデータメモリであ
る。ここで、データメモリ5の一部の記憶エリアは、各
移動ロボットからの走行予約を管理するためのリザーブ
テーブルとして使用される。このリザーブテーブルは走
行路における各ノードに対応した各記憶スロットからな
る。移動ロボットRkからの走行予約を許可する場合、
許可した走行ルート内の各ノードに対応した各記憶スロ
ットおよびこれらのノードを移動ロボットRkが通過さ
せるために他の移動ロボットが存在してはならない各ノ
ードに対応した各記憶スロットに対し、移動ロボットR
kの番号「k」が書き込まれる。6は操作部、7は通信
装置である。通信装置7は、CPU1から供給されるデ
ータを所定周波数の搬送波に載せて発信する。このデー
タの載せられた搬送波は移動ロボットR1〜Rnによっ
て受信される。
いて、1はCPU(中央処理装置)、2はCPU1によ
って実行される各プログラムを記憶してなるプログラム
メモリである。これらCPU1によって実行される各プ
ログラムの中の1つとして、各移動ロボットRkからの
走行予約要求があった場合に予約を許可するか否かを判
定する予約可否判定プログラムがある。この予約可否判
定プログラムのフローを図4に示す。3は衝突テーブル
であり、この衝突テーブルには、走行路上に存在する隣
合ったノードの各組合せ(#j、#k)毎に衝突データ
ブロックが記憶されている。ここで、衝突データブロッ
クの内容について説明する。例えば、移動ロボットがノ
ード#jからノード#kに、あるいはその逆向きに移動
したとする。この移動が行われた結果、衝突を避けるた
め、他の移動ロボットが存在してはならないノードが新
たに発生する。衝突データブロックにはこのようなノー
ドの番号およびこのようなノードの総数が書き込まれて
いる。なお、この衝突データブロックの詳細について
は、特願平1−130959号において説明されてい
る。4は地図メモリであり、各ノードの座標、ノード種
別を示すデータ、そのノードに接続されている各他のノ
ードの番号、およびそれら他のノードまでの距離等が記
憶されている。5はデータ記憶用のデータメモリであ
る。ここで、データメモリ5の一部の記憶エリアは、各
移動ロボットからの走行予約を管理するためのリザーブ
テーブルとして使用される。このリザーブテーブルは走
行路における各ノードに対応した各記憶スロットからな
る。移動ロボットRkからの走行予約を許可する場合、
許可した走行ルート内の各ノードに対応した各記憶スロ
ットおよびこれらのノードを移動ロボットRkが通過さ
せるために他の移動ロボットが存在してはならない各ノ
ードに対応した各記憶スロットに対し、移動ロボットR
kの番号「k」が書き込まれる。6は操作部、7は通信
装置である。通信装置7は、CPU1から供給されるデ
ータを所定周波数の搬送波に載せて発信する。このデー
タの載せられた搬送波は移動ロボットR1〜Rnによっ
て受信される。
【0010】次に移動ロボットRkについて説明する。
図3において、11はCPU、12はCPU11によっ
て実行される各プログラムを記憶してなるプログラムメ
モリである。また、13はデータ記憶用のデータメモ
リ、14は操作部、15は通信装置、16は制御局C内
の地図メモリ4と同じデータが記憶された地図メモリで
ある。また、17は走行制御装置であり、CPU11か
ら供給される走行データ(行先データ、走行速度データ
等)を受け、磁気センサによって床面の磁気テープおよ
びノードマークを検出しつつ駆動モータを制御し、移動
ロボットを目的ノードに向って走行させる。また、車軸
に取り付けられたエンコーダの出力に基づいて、最後に
通過したノードから現在位置までの距離を常時検出し、
その距離を示す現在位置データをCPU11へ出力す
る。18はアーム制御装置であり、CPU11から供給
される作業プログラム番号を受け、移動ロボットが作業
ノードに到着した時点でその番号の作業プログラムを内
部のメモリから読み出し、読み出したプログラムに従っ
てロボットアーム(図示略)を制御して作業を行わせ
る。
図3において、11はCPU、12はCPU11によっ
て実行される各プログラムを記憶してなるプログラムメ
モリである。また、13はデータ記憶用のデータメモ
リ、14は操作部、15は通信装置、16は制御局C内
の地図メモリ4と同じデータが記憶された地図メモリで
ある。また、17は走行制御装置であり、CPU11か
ら供給される走行データ(行先データ、走行速度データ
等)を受け、磁気センサによって床面の磁気テープおよ
びノードマークを検出しつつ駆動モータを制御し、移動
ロボットを目的ノードに向って走行させる。また、車軸
に取り付けられたエンコーダの出力に基づいて、最後に
通過したノードから現在位置までの距離を常時検出し、
その距離を示す現在位置データをCPU11へ出力す
る。18はアーム制御装置であり、CPU11から供給
される作業プログラム番号を受け、移動ロボットが作業
ノードに到着した時点でその番号の作業プログラムを内
部のメモリから読み出し、読み出したプログラムに従っ
てロボットアーム(図示略)を制御して作業を行わせ
る。
【0011】以下、この移動ロボットシステムの動作を
説明する。 (動作例1) 図5に示す走行路において、ノード#7
において行うべき作業が発生したとする。この時、作業
を持たない移動ロボットR1がノード#2に待機してい
たとすると、制御局Cから移動ロボットR1に対し、ノ
ード#7を指定する作業点コードおよび作業プログラム
番号からなる作業指示が送信される。移動ロボットR1
のCPU11は、受信した作業点コードおよびプログラ
ム番号をデータメモリ13内に格納し、次に目的ノード
#7までの走行ルートの探索を行う。このルート探索
は、従来から公知の縦型探索法等によって行われる。こ
のルート探索によって例えば#3→#4→#5→#6→
#7なるルートが探索されたとする。CPU11は、地
図メモリ16内に記憶されているノード間距離に基づい
て、探索したルートの走行距離を、出発点ノード#2か
ら目的ノード#7に向けて順次累算し、一定距離Xを越
える最初のノードを検出する。図5に示す場合、一定距
離Xを越える最初のノードが分岐ノード#3であるた
め、CPU11はノード#3のノード番号および走行予
約要求を制御局Cに送信する。制御局CのCPU1は、
図4に示すフローに従い、受信したすべてのノード番号
(この場合、ノード#3のみ)に対し、予約要求に許可
を与えるか否かを判断する。この場合、ノード#3は通
常の分岐ノードであるからステップS4に進み、まず、
衝突テーブル3内のノード組(#2、#3)に対応した
衝突データブロックに格納されたすべてのノード番号を
読み出す。そして、これらのノード番号に対応した各ノ
ードの中に1つでも予約されたノードがあるか否かを判
定する。そして、予約されていなければ、すなわち、リ
ザーブテーブルにおけるこれらのノードに対応した各記
憶スロットの内容がすべて「0」である場合、それらの
各記憶エリアにロボット番号「1」を書き込む。このよ
うにしてルート#2→#3が予約され、制御局CのCP
U1から移動ロボットR1に対し、ノード#3の番号お
よび予約完了コードが送信される。移動ロボットR1は
制御局Cからの予約完了コードを受信することにより、
ノード#3に向って進む。以後、移動ロボットR1は、
所定時間が経過する毎に、ロボットの現在の状態(走行
中、待機中、作業中等)および現在位置を示すデータを
制御局Cへ送信する。制御局CにおけるCPU1は、常
時、移動ロボットR1から送られてくる現在位置データ
を監視すると共に地図メモリ4を参照し、移動ロボット
R1がノード#3を通過したか否かを判断する。そし
て、移動ロボットR1がノード#3を通過したと判断し
た時点で、ルート#1→#2の予約を解除する。すなわ
ち、ルート#1→#2の予約の際にリザーブテーブルに
書き込んだロボット番号「1」を「0」に戻す。一方、
移動ロボットR1におけるCPU11は、現在位置デー
タおよび地図メモリ16内に記憶されているノード間距
離に基づき、ノード#3を通過するまでに残された距離
を常時監視する。そして、CPU11は、移動ロボット
R1がノード#3を通過する前において、新たな走行予
約を行う。この場合、ノード#3から目的ノード#7に
向って距離Xを越える最初のノードは#4であるが、こ
のノード#4は分岐ノードではない。従って、この場合
の要求ノードはノード#6となり、CPU11は要求ノ
ード#6までの各ノード、すなわち、ノード#4、#
5、#6の各ノード番号および走行予約要求を制御局C
に送信する。
説明する。 (動作例1) 図5に示す走行路において、ノード#7
において行うべき作業が発生したとする。この時、作業
を持たない移動ロボットR1がノード#2に待機してい
たとすると、制御局Cから移動ロボットR1に対し、ノ
ード#7を指定する作業点コードおよび作業プログラム
番号からなる作業指示が送信される。移動ロボットR1
のCPU11は、受信した作業点コードおよびプログラ
ム番号をデータメモリ13内に格納し、次に目的ノード
#7までの走行ルートの探索を行う。このルート探索
は、従来から公知の縦型探索法等によって行われる。こ
のルート探索によって例えば#3→#4→#5→#6→
#7なるルートが探索されたとする。CPU11は、地
図メモリ16内に記憶されているノード間距離に基づい
て、探索したルートの走行距離を、出発点ノード#2か
ら目的ノード#7に向けて順次累算し、一定距離Xを越
える最初のノードを検出する。図5に示す場合、一定距
離Xを越える最初のノードが分岐ノード#3であるた
め、CPU11はノード#3のノード番号および走行予
約要求を制御局Cに送信する。制御局CのCPU1は、
図4に示すフローに従い、受信したすべてのノード番号
(この場合、ノード#3のみ)に対し、予約要求に許可
を与えるか否かを判断する。この場合、ノード#3は通
常の分岐ノードであるからステップS4に進み、まず、
衝突テーブル3内のノード組(#2、#3)に対応した
衝突データブロックに格納されたすべてのノード番号を
読み出す。そして、これらのノード番号に対応した各ノ
ードの中に1つでも予約されたノードがあるか否かを判
定する。そして、予約されていなければ、すなわち、リ
ザーブテーブルにおけるこれらのノードに対応した各記
憶スロットの内容がすべて「0」である場合、それらの
各記憶エリアにロボット番号「1」を書き込む。このよ
うにしてルート#2→#3が予約され、制御局CのCP
U1から移動ロボットR1に対し、ノード#3の番号お
よび予約完了コードが送信される。移動ロボットR1は
制御局Cからの予約完了コードを受信することにより、
ノード#3に向って進む。以後、移動ロボットR1は、
所定時間が経過する毎に、ロボットの現在の状態(走行
中、待機中、作業中等)および現在位置を示すデータを
制御局Cへ送信する。制御局CにおけるCPU1は、常
時、移動ロボットR1から送られてくる現在位置データ
を監視すると共に地図メモリ4を参照し、移動ロボット
R1がノード#3を通過したか否かを判断する。そし
て、移動ロボットR1がノード#3を通過したと判断し
た時点で、ルート#1→#2の予約を解除する。すなわ
ち、ルート#1→#2の予約の際にリザーブテーブルに
書き込んだロボット番号「1」を「0」に戻す。一方、
移動ロボットR1におけるCPU11は、現在位置デー
タおよび地図メモリ16内に記憶されているノード間距
離に基づき、ノード#3を通過するまでに残された距離
を常時監視する。そして、CPU11は、移動ロボット
R1がノード#3を通過する前において、新たな走行予
約を行う。この場合、ノード#3から目的ノード#7に
向って距離Xを越える最初のノードは#4であるが、こ
のノード#4は分岐ノードではない。従って、この場合
の要求ノードはノード#6となり、CPU11は要求ノ
ード#6までの各ノード、すなわち、ノード#4、#
5、#6の各ノード番号および走行予約要求を制御局C
に送信する。
【0012】制御局Cは、受信した各ノード番号につい
て、図4に示すフローに従って予約可否の判定を行う。
この場合、上述したノード#3までの走行予約に対する
判定の場合と同様、いずれのノードに関する判定もステ
ップS4において行われる。そして、すべてのノード#
4、#5、#6について予約を許可した場合に他の移動
ロボットとの衝突の可能性がない場合に限り、移動ロボ
ットR1の走行予約が許可され、リザーブテーブルにお
けるノード#4、#5、#6に対応した各記憶スロット
およびこれらのノードを移動ロボットR1が通過する際
に他の移動ロボットが存在してはならないノードに対応
した各記憶スロットに番号「1」が書き込まれる。そし
て、移動ロボットR1に対して予約完了コードが送信さ
れる。これに対し、ノード#4、#5、#6のうちいず
れか1つでも予約を許可することができない場合、例え
ば図6に示すようにノード#6において他の移動ロボッ
トR2が作業を行っている場合、すべてのノード#4、
#5、#6について予約を拒否することを告げる予約拒
否コードが制御局Cから移動ロボットR1に送信され
る。そして、移動ロボットR1をノード#3における一
時待機の指示、あるいは他の経路を選択させる指示等、
衝突回避動作を行うため指示が制御局Cから移動ロボッ
トR1に与えられる。
て、図4に示すフローに従って予約可否の判定を行う。
この場合、上述したノード#3までの走行予約に対する
判定の場合と同様、いずれのノードに関する判定もステ
ップS4において行われる。そして、すべてのノード#
4、#5、#6について予約を許可した場合に他の移動
ロボットとの衝突の可能性がない場合に限り、移動ロボ
ットR1の走行予約が許可され、リザーブテーブルにお
けるノード#4、#5、#6に対応した各記憶スロット
およびこれらのノードを移動ロボットR1が通過する際
に他の移動ロボットが存在してはならないノードに対応
した各記憶スロットに番号「1」が書き込まれる。そし
て、移動ロボットR1に対して予約完了コードが送信さ
れる。これに対し、ノード#4、#5、#6のうちいず
れか1つでも予約を許可することができない場合、例え
ば図6に示すようにノード#6において他の移動ロボッ
トR2が作業を行っている場合、すべてのノード#4、
#5、#6について予約を拒否することを告げる予約拒
否コードが制御局Cから移動ロボットR1に送信され
る。そして、移動ロボットR1をノード#3における一
時待機の指示、あるいは他の経路を選択させる指示等、
衝突回避動作を行うため指示が制御局Cから移動ロボッ
トR1に与えられる。
【0013】要求ノード#6までの予約が許可された場
合、移動ロボットR1はノード#6に向って進む。そし
て、上述と同様、ノード#6を通過する手前において、
新たな走行予約を行う。この場合、ノード#6から距離
Xの範囲内に目的ノード#7があるので、移動ロボット
R1の要求ノードはノード#7となり、移動ロボットR
1はノード#7までの走行予約要求を行う。
合、移動ロボットR1はノード#6に向って進む。そし
て、上述と同様、ノード#6を通過する手前において、
新たな走行予約を行う。この場合、ノード#6から距離
Xの範囲内に目的ノード#7があるので、移動ロボット
R1の要求ノードはノード#7となり、移動ロボットR
1はノード#7までの走行予約要求を行う。
【0014】制御局Cは、図4に示すフローに従って、
移動ロボットR1からの要求ノード#7に対する走行予
約を許可するか否かを判定する。この場合、要求ノード
#7は目的ノードであるため、ステップS1において走
行予約可否の判定を行うこととなる。そして、予約が可
能である場合は、目的ノード#7までの予約を許可し、
移動ロボットR1に予約完了報告を送信する。この結
果、移動ロボットR1は目的ノード#7まで進み、指示
された作業を行う。
移動ロボットR1からの要求ノード#7に対する走行予
約を許可するか否かを判定する。この場合、要求ノード
#7は目的ノードであるため、ステップS1において走
行予約可否の判定を行うこととなる。そして、予約が可
能である場合は、目的ノード#7までの予約を許可し、
移動ロボットR1に予約完了報告を送信する。この結
果、移動ロボットR1は目的ノード#7まで進み、指示
された作業を行う。
【0015】(動作例2)図5において、ノード#2に
待機中の移動ロボットR1に対し、袋小路内のノード#
22にて作業を行うべき旨の作業指示が与えられたとす
る。これにより、移動ロボットR1は、目的ノード#2
2までの走行ルートの探索を行い、このルート探索によ
って例えば#3→#4→#5→#6→#15→#21→
#22なるルートが探索される。上記動作例1の場合と
同様、移動ロボットR1は、まず、分岐ノード#3まで
の走行予約を制御局Cに送信し、これが制御局Cによっ
て許可されると移動ロボットR1はノード#3に向って
進む。次いで移動ロボットR1は、ノード#3を通過す
る前において、次の分岐ノード#6までの走行予約を行
い、これが制御局Cによって許可されると、ノード#6
まで進む。そして、ノード#6に到達する前において、
第3回目の走行予約を行う。図5に示す場合、ノード#
6から目的ノード#22に向って距離Xを越える最初の
分岐ノード#15であるので、移動ロボットR1はノー
ド#15までの走行予約要求を制御局Cに送信する。
待機中の移動ロボットR1に対し、袋小路内のノード#
22にて作業を行うべき旨の作業指示が与えられたとす
る。これにより、移動ロボットR1は、目的ノード#2
2までの走行ルートの探索を行い、このルート探索によ
って例えば#3→#4→#5→#6→#15→#21→
#22なるルートが探索される。上記動作例1の場合と
同様、移動ロボットR1は、まず、分岐ノード#3まで
の走行予約を制御局Cに送信し、これが制御局Cによっ
て許可されると移動ロボットR1はノード#3に向って
進む。次いで移動ロボットR1は、ノード#3を通過す
る前において、次の分岐ノード#6までの走行予約を行
い、これが制御局Cによって許可されると、ノード#6
まで進む。そして、ノード#6に到達する前において、
第3回目の走行予約を行う。図5に示す場合、ノード#
6から目的ノード#22に向って距離Xを越える最初の
分岐ノード#15であるので、移動ロボットR1はノー
ド#15までの走行予約要求を制御局Cに送信する。
【0016】制御局Cは、図4に示すフローに従って予
約可否の判定を行う。この場合、ノード#15は袋小路
上の分岐ノードであるため、ステップS2に進み、ノー
ド#15までの走行予約が可能であるか否かの1次判定
を行う。この1次判定において、ノード#15までの走
行予約が可能であると判定した場合、さらにステップS
21に進み、移動ロボットR1の目的ノードが分岐ノー
ド#15に接続される袋小路内にあるか否かの2次判定
を行う。この2次判定の結果が「YES」の場合は、ス
テップS22に進み、分岐ノード#15に接続される袋
小路内に他の移動ロボットが存在するか否かの3次判定
を行う。そして、3次判定の結果が「NO」の場合には
移動ロボットR1に対してノード#15までの走行予約
が許可される。また、例えば図7に示すように袋小路内
に他の移動ロボットR2が存在している場合、3次判定
の結果は「YES」となり、移動ロボットR1に対する
ノード#15までの走行予約は許可されない。従って、
移動ロボットR1は、移動ロボットR2が袋小路から外
に出て行くまでノード#6に待機することとなる。一
方、ステップS21の判定結果が「NO」の場合、すな
わち、移動ロボットR1の目的ノードが袋小路内にない
場合、制御局Cは移動ロボットR1のノード#15まで
の走行予約を許可する。ノード#15までの走行が許可
されることにより、移動ロボットR1はノード#15ま
で進む。そして、ノード#15に到達する前に、第4回
目の走行予約を行う。図5に示す場合、ノード#15か
ら目的ノード#22に向って距離Xを越える最初のノー
ドはノード#21であるが、このノード#21は袋小路
内のノードである。従って、移動ロボットR1は目的ノ
ード#22までの走行予約要求を制御局Cに送信する。
この場合、制御局Cにおける予約可否の判定は、図4に
おけるステップS3において行われる。システムが正常
である限り、この袋小路内の目的ノードまでの走行予約
は許可される。しかし、この判定において、予約が不可
であると判定した場合、制御局Cは、システムにおいて
何等かの異常が発生したとみなし、警告を発する。
約可否の判定を行う。この場合、ノード#15は袋小路
上の分岐ノードであるため、ステップS2に進み、ノー
ド#15までの走行予約が可能であるか否かの1次判定
を行う。この1次判定において、ノード#15までの走
行予約が可能であると判定した場合、さらにステップS
21に進み、移動ロボットR1の目的ノードが分岐ノー
ド#15に接続される袋小路内にあるか否かの2次判定
を行う。この2次判定の結果が「YES」の場合は、ス
テップS22に進み、分岐ノード#15に接続される袋
小路内に他の移動ロボットが存在するか否かの3次判定
を行う。そして、3次判定の結果が「NO」の場合には
移動ロボットR1に対してノード#15までの走行予約
が許可される。また、例えば図7に示すように袋小路内
に他の移動ロボットR2が存在している場合、3次判定
の結果は「YES」となり、移動ロボットR1に対する
ノード#15までの走行予約は許可されない。従って、
移動ロボットR1は、移動ロボットR2が袋小路から外
に出て行くまでノード#6に待機することとなる。一
方、ステップS21の判定結果が「NO」の場合、すな
わち、移動ロボットR1の目的ノードが袋小路内にない
場合、制御局Cは移動ロボットR1のノード#15まで
の走行予約を許可する。ノード#15までの走行が許可
されることにより、移動ロボットR1はノード#15ま
で進む。そして、ノード#15に到達する前に、第4回
目の走行予約を行う。図5に示す場合、ノード#15か
ら目的ノード#22に向って距離Xを越える最初のノー
ドはノード#21であるが、このノード#21は袋小路
内のノードである。従って、移動ロボットR1は目的ノ
ード#22までの走行予約要求を制御局Cに送信する。
この場合、制御局Cにおける予約可否の判定は、図4に
おけるステップS3において行われる。システムが正常
である限り、この袋小路内の目的ノードまでの走行予約
は許可される。しかし、この判定において、予約が不可
であると判定した場合、制御局Cは、システムにおいて
何等かの異常が発生したとみなし、警告を発する。
【0017】
【発明の効果】以上説明したように、この発明によれ
ば、複数の移動ロボットとこれらの移動ロボットを制御
する制御局とからなり、各移動ロボットが走行路に設け
られたノードを検出しつつ走行する移動ロボットシステ
ムにおいて、前記制御局は、前記移動ロボットに対し、
作業点に対応した目的ノードおよび該作業点にて行う作
業の種類からなる作業指示を与え、該作業指示の与えら
れた前記移動ロボットは、前記制御局に対し、現在位置
し、あるいは通過しようとするノードから一定距離内に
目的ノードがある場合、または現在位置し、あるいは通
過しようとするノードが袋小路に接続される分岐ノード
であって、目的ノードが該袋小路内にある場合には目的
ノードまでの走行予約を要求し、現在位置し、あるいは
通過しようとするノードから一定距離内に目的ノードが
ない場合には、目的ノードに向って該一定距離を越える
最初の分岐ノードまでの走行予約を要求し、前記制御局
は、前記走行予約の要求のあったノードが袋小路の出入
口である場合であり、かつ、該走行予約を要求する移動
ロボットの目的ノードが該袋小路内にある場合には、該
袋小路内に他の移動ロボットが存在せず、かつ、該要求
のあったノードが他の移動ロボットに走行予約を許可し
たノードでない場合に限り、該走行予約を許可し、前記
走行予約の要求のあったノードが袋小路の出入口でない
場合には、該ノードが他の移動ロボットに走行予約を許
可したノードでない場合に限り、該走行予約を許可する
ようにしたので、各移動ロボット間の衝突が早期に防止
され、衝突回避の動作を行うための時間的損失が少なく
なるという効果がある。
ば、複数の移動ロボットとこれらの移動ロボットを制御
する制御局とからなり、各移動ロボットが走行路に設け
られたノードを検出しつつ走行する移動ロボットシステ
ムにおいて、前記制御局は、前記移動ロボットに対し、
作業点に対応した目的ノードおよび該作業点にて行う作
業の種類からなる作業指示を与え、該作業指示の与えら
れた前記移動ロボットは、前記制御局に対し、現在位置
し、あるいは通過しようとするノードから一定距離内に
目的ノードがある場合、または現在位置し、あるいは通
過しようとするノードが袋小路に接続される分岐ノード
であって、目的ノードが該袋小路内にある場合には目的
ノードまでの走行予約を要求し、現在位置し、あるいは
通過しようとするノードから一定距離内に目的ノードが
ない場合には、目的ノードに向って該一定距離を越える
最初の分岐ノードまでの走行予約を要求し、前記制御局
は、前記走行予約の要求のあったノードが袋小路の出入
口である場合であり、かつ、該走行予約を要求する移動
ロボットの目的ノードが該袋小路内にある場合には、該
袋小路内に他の移動ロボットが存在せず、かつ、該要求
のあったノードが他の移動ロボットに走行予約を許可し
たノードでない場合に限り、該走行予約を許可し、前記
走行予約の要求のあったノードが袋小路の出入口でない
場合には、該ノードが他の移動ロボットに走行予約を許
可したノードでない場合に限り、該走行予約を許可する
ようにしたので、各移動ロボット間の衝突が早期に防止
され、衝突回避の動作を行うための時間的損失が少なく
なるという効果がある。
【図1】 この発明の一実施例による走行制御方法を適
用した移動ロボットシステムの構成を示すブロック図で
ある。
用した移動ロボットシステムの構成を示すブロック図で
ある。
【図2】 同システムにおける制御局Cの構成を示すブ
ロック図である。
ロック図である。
【図3】 同システムにおける移動ロボットRkの構成
を示すブロック図である。
を示すブロック図である。
【図4】 同システムにおける制御局Cの走行予約可否
判定動作を示すフローチャートである。
判定動作を示すフローチャートである。
【図5】 同システムにおける動作例を示す図である。
【図6】 同システムにおける動作例を示す図である。
【図7】 同システムにおける動作例を示す図である。
【図8】 従来の移動ロボットシステムにおける動作例
を示す図である。
を示す図である。
【図9】 従来の移動ロボットシステムにおける動作例
を示す図である。
を示す図である。
C……制御局、R1〜Rn……移動ロボット。
Claims (1)
- 【請求項1】 複数の移動ロボットとこれらの移動ロボ
ットを制御する制御局とからなり、各移動ロボットが走
行路に設けられたノードを検出しつつ走行する移動ロボ
ットシステムにおいて、 前記制御局は、前記移動ロボットに対し、作業点に対応
した目的ノードおよび該作業点にて行う作業の種類から
なる作業指示を与え、 該作業指示の与えられた前記移動ロボットは、前記制御
局に対し、 現在位置し、あるいは通過しようとするノードから一定
距離内に目的ノードがある場合、または現在位置し、あ
るいは通過しようとするノードが袋小路に接続される分
岐ノードであって、目的ノードが該袋小路内にある場合
には目的ノードまでの走行予約を要求し、 現在位置し、あるいは通過しようとするノードから一定
距離内に目的ノードがない場合には、目的ノードに向っ
て該一定距離を越える最初の分岐ノードまでの走行予約
を要求し、 前記制御局は、前記走行予約の要求のあったノードが袋
小路の出入口である場合であり、かつ、該走行予約を要
求する移動ロボットの目的ノードが該袋小路内にある場
合には、該袋小路内に他の移動ロボットが存在せず、か
つ、該要求のあったノードが他の移動ロボットに走行予
約を許可したノードでない場合に限り、該走行予約を許
可し、前記走行予約の要求のあったノードが袋小路の出
入口でない場合には、該ノードが他の移動ロボットに走
行予約を許可したノードでない場合に限り、該走行予約
を許可することを特徴とする移動ロボットシステムにお
ける走行制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3099326A JP3036109B2 (ja) | 1991-04-30 | 1991-04-30 | 移動ロボットシステムにおける走行制御方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3099326A JP3036109B2 (ja) | 1991-04-30 | 1991-04-30 | 移動ロボットシステムにおける走行制御方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0566831A true JPH0566831A (ja) | 1993-03-19 |
| JP3036109B2 JP3036109B2 (ja) | 2000-04-24 |
Family
ID=14244515
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3099326A Expired - Fee Related JP3036109B2 (ja) | 1991-04-30 | 1991-04-30 | 移動ロボットシステムにおける走行制御方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3036109B2 (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002169615A (ja) * | 2000-11-30 | 2002-06-14 | Tokai Rubber Ind Ltd | 無人走行車の運行制御方法及び運行制御装置 |
| US7463948B2 (en) | 2005-05-23 | 2008-12-09 | Honda Motor Co., Ltd. | Robot control apparatus |
| KR100966875B1 (ko) * | 2006-09-26 | 2010-06-29 | 삼성전자주식회사 | 전방위 영상을 이용한 로봇의 위치 결정방법 |
| JP2016170580A (ja) * | 2015-03-12 | 2016-09-23 | 株式会社シンテックホズミ | 搬送車システム |
| CN116311909A (zh) * | 2023-02-15 | 2023-06-23 | 塔米智能科技(北京)有限公司 | 一种机器人与中央智能控制通讯中断时的交通保护机制 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102913734B1 (ko) * | 2023-12-18 | 2026-01-15 | 네이버 주식회사 | 로봇 친화형 건물, 건물을 주행하는 로봇 제어 방법 및 시스템 |
-
1991
- 1991-04-30 JP JP3099326A patent/JP3036109B2/ja not_active Expired - Fee Related
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002169615A (ja) * | 2000-11-30 | 2002-06-14 | Tokai Rubber Ind Ltd | 無人走行車の運行制御方法及び運行制御装置 |
| US7463948B2 (en) | 2005-05-23 | 2008-12-09 | Honda Motor Co., Ltd. | Robot control apparatus |
| KR100966875B1 (ko) * | 2006-09-26 | 2010-06-29 | 삼성전자주식회사 | 전방위 영상을 이용한 로봇의 위치 결정방법 |
| JP2016170580A (ja) * | 2015-03-12 | 2016-09-23 | 株式会社シンテックホズミ | 搬送車システム |
| CN116311909A (zh) * | 2023-02-15 | 2023-06-23 | 塔米智能科技(北京)有限公司 | 一种机器人与中央智能控制通讯中断时的交通保护机制 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3036109B2 (ja) | 2000-04-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2005242489A (ja) | 自律移動体の運行制御システムおよびプログラム | |
| WO2021020092A1 (ja) | 駐車支援装置、及び駐車支援方法 | |
| JP3036109B2 (ja) | 移動ロボットシステムにおける走行制御方法 | |
| CN116940911A (zh) | 用于管理材料搬运车辆的移动的系统和方法 | |
| JP3212028B2 (ja) | 無人搬送車システム | |
| JPH0683445A (ja) | 自動走行移動体による無人搬送システムにおける走行経路選定方法 | |
| JPH03282711A (ja) | 移動ロボットシステム | |
| JP2676915B2 (ja) | 移動ロボットシステムにおける走行制御方法 | |
| JP2817202B2 (ja) | 移動ロボットの走行制御方法 | |
| JP3013360B2 (ja) | 移動ロボットシステムにおける衝突防止装置 | |
| JP2715551B2 (ja) | 移動ロボットの走行制御方法 | |
| JP2814578B2 (ja) | 移動ロボットの走行制御方法 | |
| JP2814565B2 (ja) | 移動ロボットシステムにおける衝突防止方法 | |
| JP2814564B2 (ja) | 移動ロボットシステムにおける衝突防止方法 | |
| JP2814577B2 (ja) | 移動ロボットの走行制御方法 | |
| JP2817200B2 (ja) | 移動ロボット | |
| JP2897347B2 (ja) | 無人搬送車の障害物検出制御方法 | |
| CN117950372A (zh) | 一种基于双向单路径的agv路径规划方法、电子设备及介质 | |
| JPH0683444A (ja) | 自動走行移動体による無人搬送システムにおけるデッドロック解消方法 | |
| JP2720526B2 (ja) | 移動ロボットの走行制御方法 | |
| JP7375791B2 (ja) | 走行車システム | |
| JP2004094671A (ja) | 交通管制装置 | |
| CN119918896A (zh) | 一种自动导向车调度系统、方法及交管设备 | |
| JPH047607A (ja) | 無人搬送車の配車制御方法 | |
| JPH02301807A (ja) | 移動ロボットシステムにおける走行制御方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20000125 |
|
| LAPS | Cancellation because of no payment of annual fees |