(58)【調査した分野】(Int.Cl.,DB名)
前記誘導装置は、前記変更後の通過地点の位置情報を前記記憶装置に記憶させたとき、前記変更後の通過地点の位置情報によって前記移動経路が変更される移動体に通知を送信すること、をさらに実行し、
前記複数の移動体のうちで前記通知を受信した移動体は、前記記憶装置にアクセスして前記記憶装置から前記変更後の通過地点の位置情報を取得する、請求項1に記載の移動体誘導システム。
前記各移動体は、前記誘導指令にしたがって移動し、各通過地点に到達すると、前記記憶装置にアクセスして前記記憶装置から前記変更後の通過地点の位置情報を取得する、請求項1または2に記載の移動体誘導システム。
前記駆動装置は、前記第1位置から前記到達予定位置までの移動が完了した後、変更された前記誘導指令にしたがって、前記到達予定位置から前記第3位置に前記移動体を移動させる、請求項1から7のいずれかに記載の移動体誘導システム。
隣接する2つの通過点を第1通過地点および第2通過地点としたとき、前記信号処理回路は、前記第1通過地点を起点とした前記第2通過地点の方向および距離を、前記第2通過地点の位置情報として前記誘導指令を生成する、請求項1から15のいずれかに記載の移動体誘導システム。
複数の移動体の各々を誘導する移動体誘導システムにおいて、各移動体を誘導するために用いられる誘導装置のコンピュータによって実行されるコンピュータプログラムであって、
前記移動体誘導システムは、
複数の移動体と、
各移動体の位置を測定して前記各移動体の位置情報を出力する測位装置と、
前記各移動体を誘導する誘導指令を前記各移動体ごとに生成する誘導装置と、
前記各移動体ごとの誘導指令を記憶する記憶装置とを有しており
前記誘導装置は、
通信回路と、
コンピュータと
を備え、
前記コンピュータプログラムは前記コンピュータに対し、
複数の移動体の各々を誘導するための誘導指令であって、前記各移動体を、各第1位置から、各第2位置を経て各第3位置へ誘導するときにおいて、前記第1位置、前記第2位置、前記第3位置を含む各移動体の移動経路を規定する複数の通過地点の位置情報を含む誘導指令を生成するステップと、
前記通信回路を介して、前記誘導指令を前記記憶装置に送信するステップと、
前記通信回路を介して、前記測位装置が測定した前記各移動体の位置情報を受信するステップと、
前記複数の移動体のうちの所与の移動体が、前記誘導指令に基づいて前記第1位置から前記第2位置まで移動している間に、前記測位装置が測定した前記所与の移動体の位置の変化に基づいて前記所与の移動体の到達予定位置を推定するステップと、
前記到達予定位置を起点とした前記第3位置の位置情報を生成するステップと、
前記複数の通過地点のうちの前記第2位置を変更するステップと、
前記通信回路を介して、変更後の通過地点の位置情報を前記記憶装置に送信するステップと
を実行させる、コンピュータプログラム。
【発明を実施するための形態】
【0017】
以下、本開示による移動体誘導システムを説明する。本開示による移動体誘導システムでは、1つまたは複数の移動体の各々の位置が、移動体の外部に設けられた測位装置によって測定される。誘導装置は各移動体に誘導指令を送信して、目的の位置へ移動させる。移動中に各移動体は、自らの位置を測定する必要はない。移動体は、たとえば、無人搬送車(AGV)、自走可能なカートまたは車いす、自動または自律運転カー、ロボット、マルチコプター、サービスロボットであり得る。「位置」は、二次元平面内の位置であってもよいし、3次元空間内の位置であってもよい。
【0018】
本開示による移動体誘導システムでは、通信負荷および処理負荷を抑えつつ、非常に多くの移動体を誘導することが可能である。
【0019】
具体的には、移動体誘導システムの誘導装置は、各移動体の移動経路を規定する複数の通過地点の位置情報を含む誘導指令を生成し、予め記憶装置に記憶させておく。各移動体は、記憶装置から誘導指令を取得し、走行を開始する。
【0020】
誘導指令が生成された後に、複数の通過地点の少なくとも一部を変更する場合、誘導装置は、通過地点の位置情報を変更する。各移動体は、適切なタイミングで記憶装置にアクセスして記憶装置から変更後の通過地点の位置情報を取得することができる。
【0021】
1つの態様として、誘導装置が、通過地点の位置情報が変更された移動体に対して当該変更があったことを通知し、通知を受信した移動体のみが記憶装置にアクセスして変更された位置情報を取得することが考えられる。全ての移動体が定期的に更新の有無を確認する態様と比較すると、本実施形態の処理による通信負荷は非常に軽く、また、記憶装置の処理負荷を抑えることができる。
【0022】
なお、誘導指令の変更がなされなかった場合、または記憶装置へのアクセスが何らかの原因でできない場合には、移動体は既に取得している誘導指令にしたがって移動することができる。
【0023】
移動体には、位置情報を取得するための装置等は必要ない。移動体の移動エリアに位置情報を格納したICタグ等を設置する必要もない。これにより、移動体のコストを含む、システムの導入コストも抑制することができる。
【0024】
本開示では、移動体としてAGVを例示する。AGVは、製品、部品等を積載して自走し、所定の場所へ無人で搬送する無軌道台車である。AGVは搬送ロボットと呼ばれることがある。
【0025】
以下では、まず移動体誘導システムを用いた、基本的なAGVの誘導動作を説明する。その後、実施形態として、当該移動体誘導システムを拡張した移動体誘導システムを説明する。具体的には以下の項目に沿って説明する。
【0026】
1.移動体誘導システムを用いた、基本的なAGVの誘導動作(
図1〜16)
2.本実施形態にかかる移動体誘導システムを用いた、AGVの誘導動作(
図17〜
27)
理解の便宜のため、項目1の説明では、AGVは、駐車場で自動車を搬送する搬送ロボットであるとする。一方、項目2の説明では、AGVは、自動車搬送用途に限られない搬送ロボットであるとする。
【0027】
以下、添付の図面を参照しながら、移動体誘導システム、移動体、誘導装置およびコンピュータプログラムの構成例を説明する。ただし、必要以上に詳細な説明は省略する場合がある。たとえば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。なお、発明者は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。以下の説明においては、同一または類似する構成要素には、同一の参照符号を付している。
【0028】
1.移動体誘導システムを用いた、基本的なAGVの誘導動作(図1〜16)
駐車場で利用されるAGVは、駐車場利用者の車を積載して、外部の誘導装置から受信した誘導指令にしたがって空いている駐車区画まで移動する。目的の駐車区画に到着すると、AGVはその駐車区画に車を下ろす。その後、車は当該区画で保管される。駐車場利用者が戻ってきたとき、AGVは、誘導装置から受信した誘導指令にしたがって当該利用者の車が駐車されている区画まで移動し、車を積載する。その後AGVは、誘導装置からの誘導指令に基づいて、目的地点である引き渡し場所まで移動する。
【0029】
まず、
図1を参照しながら、移動体誘導システムの動作の概要を説明する。
【0030】
図1は、移動体誘導システム1の動作の概要を示す。以下では記載の簡略化のため、移動体誘導システム1を「誘導システム1」と呼ぶ。
【0031】
誘導システム1は、AGV10と、誘導装置20と、測位装置30とを有する。AGV10は、車を搬送している状態であってもよいし、搬送していない状態であってもよい。
【0032】
いま、kを正の整数とする。AGV10が
図1における最も左側の位置Pkに存在しているとする。誘導装置20は、自らが保持する地図情報を利用して、AGV10を、位置Pkから位置P(k+1)を経由して位置P(k+2)まで誘導しようとしているとする。
図1では、誘導装置20によって誘導される予定の経路が破線によって示されている。誘導システム1のAGV10および誘導装置20は、以下のように動作する。
【0033】
(1)AGV10は誘導装置20からの誘導指令kに従って、位置Pkから走行を開始する(
図1の「A1」)。誘導指令kは、位置Pkから位置P(k+1)へ到達させるために必要な情報を示す指令である。本明細書では、誘導指令は、移動方向(角度)および移動量(距離)を示す指令である。移動方向(角度)は、現在のAGV10の進行方向を基準とした角度である。AGV10は、指定された移動方向に指定された距離だけ走行すればよい。AGV10は現在位置を把握する必要もない。
【0034】
(2)AGV10は、誘導指令kに従って走行を開始すると(
図1の「A1」)、当該誘導指令kに従う動作が完了するまで走行を継続する(
図1の「A2」)。1つの誘導指令により、走行する区間が1つ定まる。「区間」は直線に限られず、カーブを含み得る。なお、各区間の走行中において、AGV10は、ジャイロスコープまたはレートセンサなどの慣性計測装置を搭載し、慣性計測装置の出力信号を利用して走行誤差を補正してもよい。AGV10が備えるセンサなどによって走行誤差を補正することは本開示において必須ではないが、AGV10の走行経路の追従精度を高くするために行ってもよい。
【0035】
(3)測位装置30は、AGV10の位置を、たとえばAGV10が有するICタグから電磁波の形態で送信される識別情報(RFID)を利用して決定することができる(
図1の「B1」)。後述するように、AGV10の外部にある測位装置30がAGV10の位置を決定する方法は、この例に限定されず、種々の方式による測定または推定によって行うことができる。
【0036】
(4)車輪に取り付けられたタイヤの不均等な摩耗等に起因して、AGV10は、想定された経路(破線)からずれた経路(実線)を走行する場合がある。しかしながら、AGV10は想定された経路(破線)からずれたかどうかを判断する必要がない。AGV10の走行中、誘導装置20は、AGV10の現在の位置、走行速度、移動方向等から、到達予定位置PE(K+1)を推定(予測)する(
図1の「B2」)。
【0037】
なお、上述の走行経路のずれは、仮にジャイロスコープの出力信号を利用して走行誤差を補正したとしても発生し得る。その理由は、ジャイロスコープの検出精度に起因した誤差が累積されるからである。たとえば、ジャイロスコープの角度精度が±1.15度であるとすると、AGV10が25m進むと当初の到着予定位置から50cmずれ、50m進むと1mずれることがあり得る。
【0038】
(5)誘導装置20は、到達予定位置PE(K+1)から、次の区間の目的地点P(k+2)までの誘導指令(k+1)を生成する(
図1の「B3」)。そして誘導装置20は、誘導指令(k+1)を、現在の区間の走行が完了する前にAGV10に1回または複数回送信する(
図1の「B4」)。
【0039】
(6)到達予定位置PE(K+1)に到達後、AGV10は誘導指令(k+1)にしたがって走行する(
図1の「A4」)。
【0040】
上述の(5)において誘導指令(k+1)を複数回送信すると、電波状況によっては、一時的に誘導指令(k+1)がAGV10に受信されなかった場合でも、誘導指令(k+1)をAGV10に受信させることが可能になる。AGV10が到達予定位置PE(K+1)に到達する前に、AGV10に誘導指令(k+1)を受信させるため、誘導装置20は、誘導指令(k+1)の送信頻度を高めてもよい。たとえば、AGV10と到達予定位置PE(K+1)との距離、または、AGV10が走行すべき残存距離、が予め定められた値以下になると、誘導装置20は誘導指令(k+1)の送信頻度を高めてもよい。
【0041】
誘導システム1のAGV10、誘導装置20および測位装置30が上述のように動作することにより、誘導装置20はAGV10を到達予定位置PE(K+1)から位置P(k+2)まで誘導することができる。なお、その場合にもAGV10は、位置P(k+2)からずれた位置に到達する可能性がある。よって、誘導装置20は、区間(k+1)における到達予定位置PE(K+2)を求め、到達予定位置PE(K+2)からさらに次の区間の目的地点P(k+3)までの誘導指令を生成すればよい。
【0042】
区間毎に、本来の目的地点へ誘導するよう誘導指令が生成され、または修正されるため、AGV10の位置のずれは区間毎にリセットされる。つまり、AGV10の位置のずれは累積されることはない。これにより、最終到達地点における位置ずれを大幅に少なくすることができる。さらに、AGV10が自ら地図情報を保持して経路を決定し、種々のセンサ情報等を利用して自律走行をする必要がないため、高性能なマイコン、大容量の半導体メモリ等を採用する必要もない。これにより、AGV10のハードウェアのコストを下げることができる。走行する駐車場のレイアウト変更、拡張等に伴う地図情報の変更が生じたときも、誘導装置20が保持する地図情報のみを更新すればよい。よって誘導システム1のメンテナンスコストも下げることができる。
【0043】
誘導指令に基づいて走行する方法は、AGV10が、ある地点まで移動するよう指示され、その地点からさらに他の地点まで移動するよう指示される、という走行方法とは大きく異なる。後者の方法では、AGV10は経路の情報を保持して走行するだけでなく、指示された位置に到達したか否かをAGV10が自律的に判断する必要がある。よって、AGV10には、経路情報を保持するメモリ、自車の位置を測定するためのシステム(たとえばGPS)、および、現在の位置が指定された位置であるか否かを判定し走行を制御するための高度な演算回路等が必要になる。
【0044】
図2は、誘導システム1が導入された駐車場
の俯瞰図である。図示された誘導システム1は、複数のAGV10と、複数の中継装置32を有する。たとえば中継装置32は、AGV10から送信されるAGV10の識別情報を無線で受信して図示されない誘導装置20および測位装置30に送信する。また中継装置32は、測位装置30から出力された、AGV10の誘導指令を有線で受信して、無線でAGV10に送信する。
【0045】
AGV10は、駐車場に進入してきた自動車を積載し、空いている駐車区画まで搬送して当該駐車区画に下ろす。またAGV10は、駐車している車を積載し、引き渡し場所まで搬送する。AGV10の移動は、誘導装置20から送信される誘導指令に基づいて行われる。
【0046】
図2には、走行中の種々のAGV10が示されている。たとえばAGV10aは車100aを搭載し、空いている区画102aへ到着したところである。またAGV10bは、車100bを搭載する位置Sに向けて移動中である。車100bを積載した後、AGV10bは、誘導装置20からの誘導指令に従い、空いている区画102bに車100bを搬送する。AGV10cは、駐車していた車100cを駐車区画から搬出中である。またAGV10dは、積載した車100dを引き渡し場所で下ろして退避している。
【0047】
図3は、AGV10と誘導装置20または測位装置30との間で授受される情報の内容を示す模式図である。上述のように、誘導装置20は、個々のAGV10に向けて、中継装置32の送信アンテナ33から誘導指令が送信される。一方、AGV10は、自らを一意に特定する識別情報(RFID)、および、現在の走行状況を示す情報を送信する。AGV10から送信された情報は、中継装置32の受信アンテナ34によって受信される。識別情報は、AGV10が有するRFタグに保持されている。また、走行状況を示す情報とは、たとえばAGV10の走行距離および進行方向(前進または後退)である。
【0048】
AGV10から送信された識別情報の受信について説明する。識別情報は、電波を利用して搬送される。当該電波は複数の中継装置32の受信アンテナ34によって受信される。測位装置30は、識別情報が各受信アンテナ34によって受信された電波の到来角度を利用して、AGV10の位置を測定することができる。測位装置の具体的な処理の例は後述する。
【0049】
情報の送受信の頻度を説明する。AGV10は、識別情報および走行状況の情報を、周期的、たとえば0.1秒ごとに送信する。一方、誘導装置20が誘導指令を送信する頻度は変動し得る。たとえば誘導装置20は、AGV10の走行開始前は、複数の区間のそれぞれの誘導指令をまとめて送信する。その後、AGV10が現在の区間を移動している間に、次の区間の誘導指令を修正して送信する。その際、次の区間の誘導指令を、一定間隔で、または上述したように送信頻度を変えながら複数回送信する。
【0050】
図4および
図5は、AGV10の外観図である。
図5では、車を搬送するために利用されるリフトバー19が展開されている。
【0051】
図4および
図5に示されるAGV10は、後方から前方を見た外観であり、矢印の方向が前進方向である。
【0052】
AGV10は、前輪11aおよび11dと、後輪11bおよび11cと、フレーム12と、前後のバンパー13aおよび13bと、ICタグ18とを有する。AGV10の前後輪11a〜11dの直径は、たとえば約80mmである。当該直径は、搬送する対象となる車の最低地上高に基づいて決定され得る。前後輪の直径を当該最低地上高よりも小さくすることにより、AGV10は搬送すべき車の下に潜り込むことができる。ICタグ18は、車の搬送時であっても通信が安定的に行えるよう、ポールの上部に設置されている。タグの詳細は後述する。
【0053】
さらに、AGV10は、フレーム12内に、操舵用のモータ15aと、後輪駆動用のモータ15bおよび15cと、ラック軸16とを有する。ラック軸16の両端には、不図示の操舵機構を介して前輪11aおよび11dが取り付けられている。移動方向を調整するステアリング機構として、本例によるAGV10は、ラック・アンド・ピニオン型ステアリング機構を有する。操舵用のモータ15aの回転軸にはピニオン・ギアが取り付けられている。ラック軸16にはラック・ギアが取り付けられている。たとえばモータ15aが正回転するとピニオン・ギアによってラック・ギアが移動方向に向かって右側に押し出され、操舵機構が前輪11aおよび11dを右側に向かせる。これにより、AGV10の進路を右方向に変更することができる。同様に、モータ15aが逆回転した場合には、AGV10の進路を左方向に変更することができる。
【0054】
モータ15bおよび15cは、それぞれ後輪11bおよび11cを回転させてAGV10を推進させる推進力(駆動力)を発生させる動力源である。本明細書では、後輪11bおよび11cを駆動輪と呼ぶことがある。
【0055】
なお、モータ15a〜15c等を動作させるためにAGV10はバッテリに蓄えられた電力を利用する。
図4にはバッテリの記載は省略している。
【0056】
AGV10は、前後のバンパー13aおよび13b内に、それぞれバンパースイッチ14aおよび14bを有する。バンパースイッチ14aおよび14bは、バンパーに物が接触したときにオンされる。バンパースイッチ14aおよび14bの出力に基づけば、AGV10が他の物体と接触・衝突したことを検出できる。
【0057】
AGV10は、フレーム12内に、ジャイロスコープ14cを有する。本明細書では、ジャイロスコープ14cは、AGV10が旋回(回転)する方向の角速度(ヨー角速度)を検出するレートセンサである。ジャイロスコープ14cが出力する角速度の値を積分すると、AGV10が旋回した角度を得ることができる。
【0058】
走行制御装置17は、AGV10の動作を制御する。具体的には、走行制御装置17は、誘導装置20から受信した誘導指令によって指示された移動方向を向くよう、モータ15aの回転角を制御して前輪11aおよび11dの角度を変化させる。たとえば、走行制御装置17はモータ15aの1回転当たりの移動方向の角度変化Aの情報を保持しており、誘導指令によって指示された角度をAで除算することにより、モータ15aの回転数を算出することができる。走行制御装置17は、算出した回転数だけモータ15aを回転させる制御信号(PWM信号)を出力する。
【0059】
上述のように、移動方向(角度)は、現在のAGV10の進行方向を基準とした角度として与えられる。たとえば、角度θが正の値を取るときは、進行方向に向かって左側に進む角度を示し、角度θが負の値を取るときは、進行方向に向かって右側に進む角度を示す。走行制御装置17は、角度θの正/負に応じて、モータ15aの回転方向を決定する。
【0060】
また走行制御装置17は、誘導指令によって指示された距離だけ走行するよう、モータ15bおよび15cの回転数を決定し、その回転数だけモータ15bおよび15cをそれぞれ独立して回転させる。たとえば、走行制御装置17は後輪11bおよび11cのタイヤの1回転当たりの走行距離Lの情報を保持しており、誘導指令によって指示された距離をLで除算することにより、後輪11bおよび11cの回転数を算出することができる。走行制御装置17は、算出した回転数だけモータ15bおよび15cを回転させる制御信号(PWM信号)を出力する。
【0061】
なお、
図4に示すAGV10では、モータ15aを利用して前輪11aおよび11dの角度が制御され、移動方向を調整されるとした。しかしながら、当該構成は一例である。モータ15bおよび15cを制御して駆動輪である左右の後輪11bおよび11cの回転速度を変化させることにより、移動方向を変化させてもよい。この場合にはモータ15aおよびラック軸16を設ける必要はない。
【0062】
次に
図5を参照しながら、AGV10が車を搬送するための構造および動作を簡単に説明する。
【0063】
図5は、AGV10の8本のリフトバー19を示す。AGV10には、2つのリフトバー19を1組として、4組のリフトバーが設けられている。リフトバー19は、車の非搬送時にはフレーム12の下部に収納されている(
図4)。搬送時には、AGV10は車の前方または後方から後退しながら接近し、車の下に潜り込む。車のタイヤの位置を、たとえば不図示のカメラを用いて画像によって決定し、その位置において停止する。その後、フレーム12の下部からリフトバー19を展開し、1組の2本のリフトバー19で車の1本のタイヤを挟み、その距離を徐々に縮めることにより、タイヤを浮かせることができる。4本のタイヤを全て浮かせた状態になると、AGV10は車を搬送できる。
【0064】
図6は、AGV10のハードウェアの構成を示す。
図4および
図5に関連して説明した構成要素の説明は省略する。
【0065】
AGV10は、モータ15dを有する。モータ15dは、
図5に示すリフトバー19の収納、展開および1組のリフトバー19の間隔を変更するために利用される。
図6には1つのモータ15dのみが記載されているが、実際にはモータは、たとえば1組のリフトバー19ごとに設けられ得る。
【0066】
AGV10は、モータ制御回路58a〜58dを有する。モータ制御回路58a〜58dはインバータ回路であり、駆動装置と呼ばれることもある。モータ制御回路58a〜58dはそれぞれ、後述する走行制御装置17のマイコン55から出力された制御信号(PWM信号)に基づいて、モータ15a〜15dの各々に流れる電流および電圧を制御し、モータの回転速度を変化させる。
【0067】
AGV10の走行制御装置17は、マイコン55と、メモリ56と、通信回路57とを有する。マイコン55は、マイクロコンピュータまたはコンピュータであり、AGV10の動作を制御する。メモリ56は、マイコン55が実行するコンピュータプログラムを展開し、また誘導装置20から受信した誘導指令を一時的に格納する。なお、メモリ56はいわゆるDRAM、および、フラッシュメモリを包括するブロックである。フラッシュメモリには、たとえばマイコン55が実行すべきコンピュータプログラムが記憶されている。
【0069】
たとえばマイコン55は、測位装置30から送信された誘導指令に含まれる移動方向に基づいて、当該移動方向に対応する角度だけ操舵用のモータ15aを回転させるための制御信号をモータ制御回路58aに出力する。またマイコン55は、誘導指令に含まれる走行距離に基づいて、当該走行距離に対応する回数だけモータ15bおよび15cを回転させるための制御信号をモータ制御回路58bおよび58cに出力する。またマイコン55は、リフトバー19を展開し、収納し、間隔を変更するために必要な回数だけモータ15dを回転させるための制御信号をモータ制御回路58dに出力する。
【0070】
さらにマイコン55は、ジャイロスコープ14cのアナログ出力信号を受け取り、内部でAD変換を行って、角速度信号を積分し、必要に応じてカルマンフィルタ処理を行った後、AGV10が旋回した角度を算出する。
【0071】
またマイコン55は、前後のバンパースイッチ14aおよび14bの出力信号が、「接触」を示すハイレベルになったことを検出すると、緊急停止処理を行う。具体的にはマイコン55は、モータ制御回路58a〜58dの全てまたは一部に制御信号を送信し、モータ15a〜15dの回転を停止させる。
【0072】
図6にはさらに、ICタグ18の構成も示されている。ICタグ18は、高周波信号を生成するためのIC51と、記憶装置52と、アンテナ54とを有する。記憶装置52はたとえばフラッシュROMであり、AGV10毎に一意の識別情報53が格納されている。IC51は、アンテナ54を利用して識別情報を周期的に送信する。なお、ICタグ18は、マイコン55等には接続されていない。その理由は、ICタグ18のIC51は、周期的に識別情報を送信しさえすればよいからである。ただしマイコン55と接続され、マイコン55からの指示にしたがって識別情報を送信してもよい。なおマルチコアICによって上記の処理を全て1チップで実現してもよい。
【0073】
本実施形態において、ICタグ18は、ブルートゥース(登録商標)・ロー・エナジー(BLE)規格に従って信号波を放射する。より具体的には、ICタグ18は、3つのチャネルを用いて、チャネルごとにアドバタイズメント・パケットを含む信号波を定期的に送信し続ける。信号波の周波数は、例えばマイクロ波帯域であるが、ミリ波帯域であってもよい。ICタグ18からは、例えば10ミリ秒以上200ミリ秒以下の時間間隔、典型的には100ミリ秒の時間間隔で2.4ギガヘルツ帯の信号波が放射され得る。信号波の周波数は、
受信アンテナ34で受信できる限り、一定である必要はなく、複数の周波数をホッピングし得る。
【0074】
アドバタイズメント・パケットには、ICタグ18を一意に特定する識別情報(RFID)として機能する「パブリック・デバイス・アドレス」または「ランダム・デバイス・アドレス」が記述されている。これにより、自身の存在を周囲に知らせることができる。
【0075】
本実施形態では、ICタグ18は、アドバタイジング・パケットのブロードキャストのみを行い、測位装置30等からの接続要求を受け容れない、いわゆる「ノン・コネクタブル・ビーコン」として動作し得る。しかしながらICタグ18は、測位装置30等からの接続要求を受け容れて、データの送受信を行うことが可能な「コネクタブル・ビーコン」であってもよい。
【0076】
なお、ICタグ18は、他の規格に従って動作する機器であってもよい。
【0077】
次に
図7および
図8を参照しながら、誘導装置20および測位装置30を説明する。
【0078】
図7は、誘導装置20のハードウェアの構成を示す。
【0079】
誘導装置20は、中央処理装置(CPU)25と、メモリ26と、通信回路27と、地図情報データベース(DB)28とを有しており、これらは内部バス29で接続されている。
【0080】
CPU25は、後述の処理により、個々のAGV10を誘導するための誘導指令を生成する信号処理回路である。典型的には、CPU25は半導体集積回路によって構成されたコンピュータである。メモリ26は、たとえばDRAMであり、CPU25の処理に関連して利用されるワークメモリである。たとえばメモリ26には、現在の駐車場の状態、たとえば駐車区画ごとの、空きまたは使用中を示す情報、各AGV10の位置情報等の情報が格納される。いずれも、CPU25が刻々更新する。
【0081】
通信回路27は、たとえば、1または複数の通信コネクタを有し、イーサネット(登録商標)規格の有線通信を行う通信回路である。通信回路27は、測位装置30から個々のAGV10の位置を示す位置情報を取得する。また通信回路27は、AGV10から走行状況の情報を、中継装置32の受信アンテナ34を介して受信する。このとき、通信を測位装置30が中継してもよい。また通信回路27は、中継装置32の送信アンテナ33を介して各AGV10への誘導指令を送信する。
【0082】
地図情報DB28は、誘導システム1が導入される駐車場内のレイアウト、AGV10が走行可能な領域、車の乗り入れ位置から各駐車区画への最短の経路、迂回経路等の情報が保持されている。
【0083】
CPU25が誘導指令を生成する処理は、後に詳細に説明する。
【0084】
図8は、測位装置30のハードウェアの構成を示す。
【0085】
測位装置30は、CPU35と、メモリ36と、通信回路37とを有しており、これらは内部バスで接続されている。CPU35は、後述の処理により、個々のAGV10の位置を測定し、測定した位置を示す位置情報を生成する。メモリ26は、たとえばDRAMであり、CPU35の処理に関連して利用されるワークメモリである。通信回路37は、たとえば、1または複数の通信コネクタを有する通信回路である。通信回路37は中継装置32の受信アンテナ34と有線で接続されている。より具体的には、通信回路37は、個々の受信アンテナ34のアンテナ素子34aに設けられたアンテナ素子の出力と接続されており、アンテナ素子34aによって受信された電磁波から生成された高周波電気信号を受信する。また、通信回路37は、誘導装置20の通信回路27と、たとえば、イーサネット(登録商標)規格の有線通信を行う有線通信回線を介して接続されている。
【0086】
以下、測位装置30が行う、AGV10の位置を測定する処理(測位処理)を説明する。平面上の、または空間内の物体の測位処理は種々知られている。測位装置30は、それらのうちの1つの測位処理、または、複数の測位処理の組み合わせを利用してAGV10の位置を測定する。以下、測位処理を例示する。
【0087】
(a)測位装置30は、AGV10のICタグ18が送信した無線信号の到来方向を測定し、移動体の位置を決定する(AOA(Angle Of Arrival)方式)。AOA方式は、ICタグ18が送信する信号を複数の受信アンテナ34で受信した際に、基準方位(たとえば受信アンテナの正面方向)をもとに到達電波の到来角度を測定することで、AGV10の位置を決定する方式である。位置の決定に最低限必要な基地局数(受信アンテナ34を有する中継装置32の数)は2つであるため、同時に必要な中継装置32の数は少なくて済む。また、角度を正確に計測することができるため、基地局から端末までに障害物がなく、見通し線が明確な場合には高い精度でAGV10の位置を決定できる。
【0088】
なお、受信アンテナ34として、複数のアンテナ素子を一次元または二次元に配列したアレイ・アンテナを利用することができる。または、各アンテナ素子に流す電流の位相を調整することによってビーム方向や放射パターンの制御を行う、フェーズド・アレイ・アンテナを用いこともできる。なお、アレイ・アンテナを利用する場合、単一の受信アンテナ34によって、その受信アンテナ34に対するICタグ18の方向を特定することができる。この場合、1個の受信アンテナ34によってICタグ18の位置を決定することも可能である。例えば、所定の高さにある天井面に配置された受信アンテナ34に対するICタグ18の方向が特定される場合、ICタグ18の床面に対する高さが既知または推定されるならば、ICタグ18の位置を決定することが可能である。このため、1個の受信アンテナ34によってICタグ18を測位することも可能である。
【0089】
(b)測位装置30は、ICタグ18が発した無線信号を複数の受信アンテナ34(またはアンテナ素子34a)で受信し、各アンテナ素子34aにおける受信時刻の差から移動体の位置を決定する(TDOA(Time Difference Of Arrival)方式)。受信アンテナ34を有する中継装置32は基地局として機能して、正確に受信時刻を測定しなければならない。中継装置32間では、ナノ秒単位の、正確な時刻の同期を行う必要がある。
【0090】
(c)測位装置30は、受信アンテナ34の位置が既知であり、かつ、電波が距離に応じて減衰することを利用して、ICタグ18が発した無線信号の受信強度から位置を決定する(RSSI(Received Signal Strength Indication)方式)。ただし、受信信号の強度はマルチパスの影響を受けるため、距離(位置)を算出するためには、誘導システム1が導入される駐車場ごとに距離減衰モデルが必要である。
【0091】
(d)測位装置30は、AGV10の識別情報が付加された画像(たとえばQRコード(登録商標))をカメラで撮影し、カメラの位置、カメラが向いている方向、撮影された画像内のAGV10の位置に基づいて、AGV10の位置を決定することもできる。
【0092】
なお、測位処理によってその位置測定精度は異なる。測位処理(a)においては位置測定精度はアンテナの角度分解能と被測定物との距離で決まり、一般の建物においては10cmが実現されている。測位処理(c)においてはICタグから出た電波の干渉による電波強度の変化等により、一般の室内では数メートル、条件の良い場合でも1m程の誤差が生じる可能性がある。測位処理(d)においては、測位誤差は、イメージセンサの画素数、空間分解能、レンズによる歪に依存する。また、物体認識という比較的負荷の高い処理を必要とする。
【0093】
精度の観点では、現時点では上述した測位処理(a)が優れている。しかしながら、測位処理(b)から(d)のいずれかを利用して本開示の誘導システム1が構築されてもよい。
【0094】
次に、
図9および
図10を参照しながら、AGV10、誘導装置20および測位装置30の動作を説明する。
【0095】
図9は、AGV10起動時に誘導システム1において行われる通信、および、AGV10、誘導装置20および測位装置30の処理を示す。
図9に示す処理を行う目的は、AGV10の位置、および、
AGV10が現在向いている方向を誘導装置20が認識するためである。上述のように、本例では、誘導指令は、
誘導装置20からAGV10に送信される、AGV10の移動方向および走行距離を示す情報である。誘導装置20がAGV10の移動方向を指示する前提として、AGV10が現在向いている方向を認識する必要がある。
【0096】
以下の説明では、動作の主体はAGV10、誘導装置20および測位装置30であるが、実際には、AGV10のマイコン55、誘導装置20のCPU25および測位装置30のCPU35が主体であり、各々の通信回路を介して情報を送受信している。なお、
図9および
図10では、AGV10、
測位装置30および誘導装置20の各処理を、それぞれ「S1xx」、「S2xx」および「S3xx」と表す。
【0097】
ステップS101において、使用者、またはAGV10の内部タイマー等により、AGV10の電源が投入される。なお、ステップS101は誘導システム1全体の起動を意味してもよい。
【0098】
ステップS102において、AGV10は、ICタグ18からの識別情報(RFID)の送信を開始する。以後、AGV10は周期的にRFIDを送信する。
【0099】
ステップS201において、測位装置30は、AGV10からRFIDを受信し、上述の1または複数の測位処理を利用して、AGV10の位置を測定する。
【0100】
ステップS301において、誘導装置20は測位装置30から測定したAGV10の位置の情報を取得し、メモリ26に格納する。
【0101】
次にAGV10は、AGV10の前方を誘導装置20に把握させるためにステップS103を行う。AGV10の前方とは、
図4および
図5の矢印の方向を意味する。
【0102】
ステップS103において、AGV10は、所定距離だけ前後に移動する。移動すると同時にAGV10は、走行状況の情報、より具体的には、走行方向を示す情報を誘導装置20に送信する。たとえばAGV10は、前方に移動しながら、走行方向が「前方」であることを示す情報を送信し、所定距離移動した後、一旦停止し、その後後方に移動しながら、走行方向が「後方」であることを示す情報を送信する。AGV10は、往復運動を、予め定められた回数、たとえば3回継続する。なお、AGV10が行う往復運動の往路および復路の距離は、測位装置30の分解能、すなわちAGV10の位置を測定することが可能な最小距離に依存して決定され得る。
【0103】
ステップS202において、測位装置30は、往復運動中のAGV10の位置を逐次測定し、位置情報を誘導装置20に送信する。
【0104】
ステップS302において、誘導装置20は、AGV10から受信した走行方向の情報およびAGV10の位置の変化に基づいてAGV10の前方向を認識する。
【0105】
以上の処理により、誘導装置20はAGV10の現在の位置、および、AGV10の進行方向(前方)を認識することができた。
【0106】
次に、誘導装置20がAGV10を誘導する処理を説明する。
【0107】
図10は、
誘導装置20がAGV10に誘導指令を送信する際に行われる通信、および、AGV10および誘導装置20の各々の処理を示す。説明の便宜のため、
図10では測位装置30の記載は省略している。しかしながら、測位装置30は、AGV10が送信する識別情報の受信およびAGV10の位置を測定する処理を継続しており、その位置情報を逐次誘導装置20に送信していることに留意されたい。
【0108】
ステップS311において、誘導装置20は地図情報を参照して、AGVの移動経路を決定する。「移動経路」とは、AGV10の現在位置から最終到達地点までの経路である。移動経路は、1つの誘導指令によって走行する1つの区間、または、複数の誘導指令によって走行する分割されたN個の区間(N:2以上の整数)である。以下の説明では、移動経路はN個の区間(N:2以上の整数)であるとする。
【0109】
ステップS312において、誘導装置20は第1区間から第N区間までの誘導指令を区間毎に送信する。
【0110】
ステップS111において、AGV10は誘導装置20から各誘導指令を受信し、各誘導指令の受信確認を誘導装置20に送信する。AGV10は受信した各誘導指令をメモリ56に格納し、変数kに1を代入する。変数kは、現在実行している誘導指令がk番目の誘導指令であることを意味する。変数kは、走行する区間が第k区間であることも意味する。
【0111】
表1は、AGV10のメモリ56に格納された誘導指令のテーブルの例を示す。なお、「*」は、誘導装置20によって指定された、または想定された当初の値であることを意味する。
【0113】
図11Aは、誘導指令1および2に基づくAGV10の動作の例を示す。AGV10は、現在の位置(x0,y0)から、誘導指令1に従ってまず角度θ
1*に距離L
1*だけ進み位置(x1
*,y1
*)に到達する。その後、AGV10は、到達位置(x1
*,y1
*)から角度θ
2*に距離L
2*だけさらに移動し、位置(x2
*,y2
*)に到達する。その後も同様に、AGV10は、誘導指令pに基づく区間pの走行が完了すると、その位置において、次の誘導指令(p+1)に基づく区間(p+1)の走行を行う。
【0115】
ステップS313において、誘導装置20はAGV10から送信された各誘導指令の受信確認を受信する。なお、誘導指令の送信後、所定の時間内にAGV10から受信確認を受信しなかった場合には、誘導装置20は、受信確認を受信しなかった誘導指令を再送信してもよい。ステップS314において、誘導装置20は変数kに1を代入する。
【0116】
ステップS113において、AGV10は、第k区間の誘導指令に基づいて移動を開始し、進行状況(走行した距離および向き)を誘導装置20に送信する。
【0117】
ステップS315において、誘導装置20は、現在位置および進行状況に基づいて、第k区間の誘導指令実行後の到達予定位置を推定する。推定処理が必要とされる理由は、上述のように、AGV10が、想定された経路(破線)からずれた経路(実線)を走行し得るからである。そしてステップS316において、誘導装置20は、到達予定位置から第(k+1)区間の終点までの誘導指令を送信する。
【0118】
ここで
図11Bを参照しながら、誘導装置20による到達予定位置の推定動作を説明する。k=1であるとして説明する。たとえばAGV10の駆動輪である左右の後輪11bおよび11cがそれぞれ摩耗して周の長さが短くなっており、さらに両方の後輪の摩耗の程度が左右で均等ではない状況を想定して説明する。
【0119】
図11Bは、推定処理の例を示す。破線は誘導装置20によって想定されたAGV10の経路を示し、実線はAGV10が実際に走行した経路を示す。AGV10は、誘導指令1に基づいて角度θ
1*で走行し始めるべきところ、θ
1で走行を開始している。後輪の摩耗の程度が左右で均等ではないからである。
【0120】
時間t経過後は、当初は
図11Bに示す位置(xt
*,yt
*)を走行していると想定されていたが、実際には位置(xt,yt)を走行している。なお、時間t経過後までに走行した、位置(x0,y0)からの位置(xt,yt)までの距離は、位置(x0,y0)からの位置(xt
*,yt
*)までの距離よりも短い。後輪が摩耗し、周の長さが標準想定値よりも短いからである。
【0121】
誘導装置20は、たとえば一定時刻tが経過した時点で、AGV10の到達予定位置(x1,y1)を推定する。推定は、AGV10の位置(xt,yt)、移動方向、走行する残り時間および現在の走行速度から得ることができる。なお「走行する残り時間」とは、走行予定時間から時刻tを減じた時間である。「走行予定時間」は、誘導装置20が当初想定した誘導指令1に基づく位置(x1*,y1*)に到達する時間である。「走行予定時間」は、たとえばAGV10の走行速度および走行距離から予め算出可能である。走行予定時間をより正確に算出するためには、走行速度は速度0の走行開始から定速走行を行うまでの速度変化も考慮することが好ましい。これにより、誘導装置20は、AGV10の到達予定位置
(x1,y1)を推定することができる。
【0122】
次にステップS316に関し、
図11Cを参照する。到達予定位置(x1,y1)は、誘導指令2に基づく区間2の実際の始点を意味する。そのため誘導装置20は次に、AGV10が、到達予定位置(x1,y1)から区間2の到達位置(x2
*,y2
*)まで走行するよう、当初の誘導指令を修正する。すなわち、到達予定位置(x1,y1)から位置(x2
*,y2
*)までの角度θ
2**および距離L
2**を算出する。算出された角度θ
2**および距離L
2**が、既存の誘導指令2に代わる、修正された誘導指令になる。ステップS316では、誘導装置20はAGV10に修正された誘導指令2を複数回送信する。「複数回」の送信を行う理由は、誘導装置20からAGV10に誘導指令を送信する際の電波状況によっては、誘導指令(k+1)がAGV10に受信されないことが考えられるためである。
【0123】
図12は、誘導指令の送信頻度の例を示す。図の右方向が時間を示し、図の縦方向が、送信される信号を示す。図の左側の周期的なパルスは、AGV10から送信される識別情報(RFID)の頻度を示す。図の右側のパルスは、誘導装置20から送信される誘導指令の頻度を示す。誘導装置20は誘導指令を修正すると、修正後の誘導指令を初めは周期F1で計3回送信するが、現在の区間の目的位置に近付くと、周期F2(<F1)でさらに3回送信する。修正後の誘導指令を複数回送信することにより、AGV10が誘導指令を受信する機会を増やすことができる。さらに、目的位置に近付くほど、短い周期で誘導指令を送信するため、AGV10が受信できる機会を増やすことができる。
【0124】
なお、AGV10と到達予定位置との距離、または、AGV10が走行すべき残存距離、が予め定められた値以下になると、誘導装置20は誘導指令(k+1)の送信頻度を高めてもよい。
【0125】
再び
図10を参照する。ステップS114において、AGV10は、誘導装置20から修正された誘導指令2を受信し、当該誘導指令の受信確認を送信する。AGV10は、メモリ56に記憶していた第(k+1)区間の誘導指令を更新する。表2は、誘導指令2が修正されたテーブルを示す。移動方向θおよび移動量Lが、それぞれθ
2**およびL
2**に更新されていることが理解される。
【0127】
ステップS317において、誘導装置20はAGV10から送信された受信確認を受信する。続くステップS318において、誘導装置20は、k+1=Nか否かを判定する。この処理は、ステップS316で生成した誘導指令が、第
N区間の誘導指令であるか否かを判定する処理である。k+1=Nのときは誘導装置20による誘導処理は終了する。k+1=Nでないときは、ステップS319において誘導装置20は現在のkの値を1増加させ、ステップS315の処理に戻る。
【0128】
一方、AGV10は、現在の第k区間の走行が終了するまでは、誘導指令kに基づく走行を継続する。これはつまり、AGV10は、第k区間の走行が終了するまでの間に、誘導装置20から次の第(k+1)区間のための修正された誘導指令を受信していることを意味する。
【0129】
ステップS115において、AGV10は誘導指令kに基づく走行を完了したと判断すると、ステップS116において、k=Nか否かを判定する。この処理は、現在の走行が、最後の誘導指令Nに基づく走行であるか否かを判定する処理である。
k=NのときはAGV10は走行を終了する。k=Nでないときは、ステップS117においてAGV10は現在のkの値を1増加させ、ステップS113の処理に戻る。
【0130】
図13は、誘導装置20によって生成された当初の経路(破線)と、AGV10の実際の走行を考慮して修正された誘導指令に基づくAGV10の経路(実線)とを示す。AGV10は、最初の位置Sから最終到達地点Tまで、6つの誘導指令に基づいて走行している。これらの経路は、
図2において、駐車場に進入してきた車の搭載位置S、および、空いている駐車区画102bにおけるTに対応している。
【0131】
図13から理解されるように、各区間においてAGV10が当初予定された到達位置(○)と異なる位置(□)に到達した場合でも、次の区間では再度その区間の目的位置(○)に近付くよう誘導指令が修正される。上述のとおり、ある区間を走行中に当該区間の到達予定位置(□)が推定され、当該到達予定位置を次の区間の開始位置として誘導指令が修正される。そして現在の区間の走行が完了する前に、次の区間の修正された誘導指令に更新される。これにより、AGV10の走行経路には走行誤差が累積されることなく、比較的正確に最終到達地点Tに到達することができる。
【0132】
一方、
図14は、本開示の処理を行わないAGVの走行経路を示す。破線は当初想定されたAGVの経路を示し、実線は、AGV10が実際に走行した経路を示す。
【0133】
たとえば、駆動輪である左の後輪が摩耗しているとする。AGVが駆動輪である両方の後輪を等しく回転させたとしても、左側にずれる例を想定している。
図14から明らかなように、全ての区間の誘導指令が予めまとめて送信され、その後の更新がされないことにより、左方向の走行誤差が累積される。その結果、各区間の当初の到達予定位置(○)と到達位置(□)との差は徐々に大きくなる。そして、走行誤差の累積の影響により、位置Uにおいて、AGVが駐車中の他の車、側壁等に接触する。このような誘導システムは信頼性を大きく欠く。
【0134】
なお、上述した、駆動輪である左右の後輪の摩耗が均一ではない状況を想定して、AGV10のモータ15bおよび15cのキャリブレーションを行ってもよい。たとえば、マイコン55が、AGV10のモータ15bおよび15cを、それぞれ同じ回転速度で逆向きに回転させる。左右の後輪の摩耗が均一である場合にはAGV10はその場で回転する。しかしながら左右の後輪の摩耗が均一でない場合にはAGV10の位置は徐々にずれる。そこで、走行制御装置17のマイコン55は、一方の回転を他方の回転より速くして、位置がずれない回転速度を算出する。AGV10が回転運動をしているかどうかは、ジャイロスコープ14cの出力値の積分値から判断できる。モータ15bおよび15cについて位置がずれない回転速度が算出された後は、たとえばマイコン55は、モータ15bおよび15cの各回転速度の差または比の情報を保持し、以後の処理に利用するため保持しておけばよい。
【0135】
たとえばモータ15cの回転速度を、モータ15bの回転速度のM倍にしたときAGV10の位置がずれなかったとする。走行制御装置17のマイコン55は、以後、モータ15cの回転速度をM倍にして回転させる。これにより、AGV10は直進することができる。なお、モータのキャリブレーションを行った場合、モータの回転数と走行距離との間の関係も変化し得る。そのため、マイコン55は、車輪の回転数から距離を算出する処理を行ってもよい。
【0136】
上述の説明では、各誘導指令は、AGV10の移動方向を示す角度、および、AGV10の移動量を示す距離を指定する情報を含むと説明した。そのため、「区間」は直線であった。しかしながら、誘導指令に含ませられる他の情報の例として、AGV10の旋回時における回転半径Rの情報を含めてもよい。
【0137】
図15Aおよび15Bは、回転半径Rの旋回区間を含むAGV10の当初の経路(破線)と、AGV10の実際の走行経路(実線)とを考慮して修正された誘導指令に基づくAGV10の経路とを示す。上述の処理と同様、予め全ての区間の誘導指令が誘導装置20からAGV10に送信されているとする。
【0138】
図15Aに示されるように、旋回区間の終了前に、誘導装置20は旋回区間の到達予定位置T1を推定し、当該位置から次の区間の目的位置T2までの誘導指令を修正する。AGV10は、修正された誘導指令に基づいて次の区間を走行する。
【0139】
図15Bに示されるように、誘導装置20は次の走行区間におけるAGV10の到達予定位置T2’を推定し、さらに次の区間の目的位置T3までの誘導指令を修正する。このように、誘導装置20はAGV10に旋回走行を行わせることが可能である。
【0140】
次に、各区間走行中のAGV10が走行誤差を補正する動作を説明する。
【0141】
図16は、位置Sから目的位置Tまでの区間におけるAGV10の経路を示す。破線は位置Sから目的位置Tまでを直線で結ぶ経路を示し、実線はAGV10が通過した経路を示す。
【0142】
AGV10は、ジャイロスコープ14cを用いて、誘導指令によって指示された角度からのずれを補正する。具体的には、AGV10のマイコン55は、ジャイロスコープ14cが出力する角速度の値を積分し、初期の進行方向からずれた角度、換言すると、走行中の目的位置へ向かう方位からの偏差、を求める。マイコン55は、偏差が低減されるよう、より好ましくは当該角度を0にするよう、モータ制御回路58bおよび58cを制御してモータ15bおよび15cの回転速度を調整する。AGV10が自ら進行方向を調整することにより、走行経路をより正確に辿ることができる。ただし、それでも生じるずれは、誘導装置20による誘導指令の修正が必要とされる。
【0143】
なお、AGV10の現在の位置が、誘導装置20から送信された当初の誘導指令によって辿る経路と大きく乖離するような場合には、もはやジャイロスコープ14cを用いて走行誤差を補正することはできない。そのような場合には誘導装置20は、当初の誘導指令に沿った経路に戻るような誘導指令を改めてAGV10に送信し、当初想定していた経路にAGV10を復旧させてもよい。
【0144】
なお、AGV10は、ジャイロスコープ14cが出力する、初期の進行方向からずれた角度の情報を誘導装置20に送信することができる。これにより、誘導装置20はより正確にAGV10の現在の進行方向を知ることができ、誘導指令の修正時に正確な移動方向を決定することができる。
【0145】
以上、例示的な誘導システムを説明した。続いて変形例を説明する。
【0146】
上述した
図9および
図10に示す、縦方向の処理は、AGV10のマイコン55、誘導装置20のCPU25および測位装置30のCPU35の各々によって実行される処理であり、フローチャートとして捉えることができる。これらの処理は、複数の命令を含むコンピュータプログラムとして実現され得る。コンピュータプログラムは、各々のメモリに展開されて実行される。
【0147】
本開示では、誘導装置20および測位装置30を別個の装置であるとして説明した。しかしながら、誘導装置20および測位装置30は一体化されてもよい。たとえば誘導装置20が、測位装置30の機能に相当する機能を有し、AGVの位置情報を測定して誘導指令を生成してもよい。その場合には、誘導装置20はアンテナ素子34aと接続され、誘導装置20のCPU25が測位処理を行う。
【0148】
本開示では、AGVの現在の位置から、予め設定された最終的な目的位置までの経路を複数の区間に分け、区間毎に、誘導装置20が目的地点へ誘導するよう誘導指令を生成するとした。しかしながら、最終的な目的位置はAGVの走行中に変更されてもよい。このような場合、誘導装置20は、AGVの現在の位置から、変更された最終的な目的位置までの経路を再度複数の区間に分け直し、区間毎に、次の目的地点へ誘導するよう誘導指令を生成すればよい。
【0149】
本開示では、位置情報の取得と、誘導指令の生成または修正とは、必ずしも同期しない。たとえば、AGV10の位置情報に基づけば、AGV10の現在の位置に当初の経路からのずれはなく、誘導指令を修正する必要がない場合もあり得る。その場合には、誘導装置20は、測位装置30から位置情報を取得するが、誘導指令は生成しない。よって、誘導装置20は、現在走行中の区間の次の区間については誘導指令の送信を停止する。または、次の区間の誘導指令を修正することに代えて、誘導装置20は、次の区間の誘導指令をそのまま利用して走行する指令をAGV10に送信してもよい。
【0150】
上述の説明では、駐車場において誘導装置がAGVを誘導する、と説明した。しかしながら、たとえば搬送される車自体にAGVの機能を持たせることもできる。たとえば駐車しようとする車に、運転者の操作によることなく自動で運転する自動運転機能、自らの識別情報(RFID)を送信する送信機能、および、誘導指令を受信する受信機能が備えられているとする。つまり、そのような車は、
図6に示す構成と同等または類似の構成を有していればよい。たとえば動力源としてエンジンを用いてもよい。そのような車が駐車場に設けられた誘導装置と通信することにより、誘導指令を受け取り、誘導指令にしたがって自動運転する。誘導装置20は測位装置30を利用して車の位置を測定し、上述した処理によって修正した誘導指令を送信する。車は修正後の誘導指令にしたがって次の区間を走行し、駐車位置まで移動する。
【0151】
2.本実施形態にかかる移動体誘導システムを用いた、AGVの誘導動作(図17〜27)
次に、本実施形態にかかる移動体誘導システム、および、当該移動体誘導システムを用いたAGVの誘導動作を説明する。
【0152】
図17は、本実施形態にかかる移動体誘導システム2の構成を示す。以下、移動体誘導システム2を「誘導システム2」と略記する。
【0153】
誘導システム2は、誘導装置20と、測位装置30と、ファイルサーバ40と、AGV110とを有する。
【0154】
以下で特に説明する場合を除き、誘導システム2の誘導装置20および測位装置30の構成および動作は誘導システム1(項目1)と同じである。よって誘導システム1(項目1)におけるそれぞれの説明を援用する。
【0155】
ファイルサーバ40は、誘導装置20およびAGV110と通信可能に接続される。ファイルサーバ40は、誘導装置20によって生成された、各移動体ごとの誘導指令を記憶する。ファイルサーバ40は、AGV110から送信された誘導指令取得要求の受信に応答して、要求を送信したAGV110の誘導指令を読み出す。そしてファイルサーバ40は、当該AGV110に誘導指令を送信する。
【0156】
図18は、ファイルサーバ40のハードウェアの構成を示す。
【0157】
ファイルサーバ40は、CPU45と、メモリ46と、通信回路47と、記憶装置48とを有しており、これらは内部バスで接続されている。
【0158】
CPU45は、ファイルサーバ40の動作を制御する。メモリ46は、たとえばDRAMであり、CPU45の処理に関連して利用されるワークメモリである。たとえばCPU45は、メモリ46にオペレーティングシステム(OS)のコンピュータプログラム(基本ソフトウェア)を読み込んで実行し、さらにメモリ46に、OS上で実行されるサーバプログラム(応用ソフトウェア)を読み込んで実行する。その結果、後述する処理が実現される。
【0159】
通信回路47は、たとえば、1または複数の通信コネクタを有し、イーサネット(登録商標)規格の有線通信を行う通信回路である。通信回路47は、誘導装置20から誘導指令を受け取り、記憶装置48に格納する。また通信回路47は、AGV110からの、誘導指令の取得要求を受信し、要求された誘導指令を、中継装置32の送信アンテナ33を介してAGV110に送信する。
【0160】
記憶装置48は、たとえばハード・ディスク・ドライブ(HDD)、または、ソリッド・ステート・ドライブ(SSD)である。記憶装置48は、誘導装置20が生成した誘導指令を格納するための十分な記録領域を有する。
【0161】
図19は、ファイルサーバ40の記憶装置48に格納された誘導指令49の例を示す。本実施形態では、一例として、1つの誘導指令に複数の位置の位置情報が予め含まれているとする。なお、一般には、「位置情報」とは、ある領域内での絶対的な位置を示す情報であるとして取り扱われ得る。本明細書では、「位置情報」は、k番目の位置から見た(k+1)番目の位置の方向および距離の情報を含む(k:正の整数)。
【0162】
図19には、識別情報が「100063」であるAGV110の誘導指令49が示されている。誘導指令49は、位置A〜Fの各々について、AGV110の進行方向を示す角度θxおよび進むべき距離dx(x:A、B、C、D、E、F)が指定されている。位置A〜Fは、移動体の移動経路を規定する複数の通過地点の位置情報である。
【0163】
AGV110は、位置Aに到達する前、または位置Aに到達した後、誘導指令49の取得要求をファイルサーバ40に送信し、ファイルサーバ40から誘導指令49を取得する。これによりAGV110は位置Aから移動を行うことができる。
【0164】
再び
図17を参照する。典型的には、
図17に示す誘導システム2は、誘導システム2のサービスを提供する事業者によって、ユーザ企業の工場に設置される。つまり、誘導装置20、測位装置30、ファイルサーバ40およびAGV110は、同一の工場の構内に設置される場合が多いと考えられる。
【0165】
しかしながら、誘導装置20、測位装置30および
ファイルサーバ40は、必ずしも、同一の工場の構内に設置される必要はなく、異なる位置に設置されてもよい。たとえば、誘導装置20は、誘導システム2を提供する事業者の敷地内に設置され、測位装置30は測位サービスを提供する事業者の敷地内に設置され、
ファイルサーバ40はファイル保管サービスを提供するいわゆるクラウドストレージの運営業者の敷地内に設置されてもよい。
【0166】
なお、たとえば上述の測位処理(a)によって測位装置30がAGV110の位置を測定する場合には、受信アンテナ34が、AGV110が送信した無線信号を受信できる位置に設置されていればよい。測位装置30は、受信アンテナ34が受信した信号を受信できればよい。
【0167】
AGV110は、AGV10とは異なる外観および内部構成を有する。
【0168】
図20は、本実施形態にかかる例示的なAGV10の外観図である。AGV110は、運搬物を載置する搬送テーブル111と、前バンパースイッチ14aと、後バンパースイッチ14bと、走行制御装置17と、ICタグ18と、4つの車輪11a〜11dとを有する。なお、
図20には、前輪11a、後輪11bおよび後輪11c、後バンパースイッチ14bが示されており、前輪11dおよび前バンパースイッチ14aはフレーム12の蔭に隠れている。
【0169】
図21は、AGV110のハードウェアの構成を示す。
【0170】
AGV110の通信回路57は、
ファイルサーバ40とも通信することが可能である。本実施形態では、AGV110は、誘導装置20から、誘導指令が更新されたことを示す通知を受信し、
ファイルサーバ40から更新された誘導指令を受け取る。
【0171】
AGV110には、AGV10に設けられていた車両の持ち上げ用モータ15dおよびモータ制御回路58dは存在しない。一方、AGV110には、アンプ58eおよびスピーカ15eが設けられている。後述するように、測位装置30は、AGV110が走行する工場内の他のAGV、および/または、ICタグを携帯する人の位置を測定することが可能である。その場合には、注意を喚起するため、アンプ58eによって音声信号を増幅し、音声信号を利用してスピーカ15eから音声を出力することができる。処理の詳細は後述する。
【0172】
再び
図17を参照する。
図17には、誘導システム2において行われる処理(1)〜(7)が示されている。以下、順を追って説明する。なお、ファイルサーバ40の記憶装置48には、予め、
図19に示すように誘導指令が格納されているとする。
【0173】
また、以下の説明では、動作の主体は誘導装置20、ファイルサーバ40およびAGV110であるが、実際には、AGV10のマイコン55、誘導装置20のCPU25およびファイルサーバ40のCPU45が主体であり、各々の通信回路を介して情報を送受信している。
【0174】
誘導装置20は、予め定められた条件が満たされたとき、誘導指令を更新する。「予め定められた条件」とは、たとえば、AGV110の走行時のずれに起因して、AGV110の到着予定位置が当初の通過地点の位置から所定以上ずれている場合である。
【0175】
(1)誘導装置20は、更新した、AGV110に対する誘導指令をファイルサーバ40に送信する。ファイルサーバ40は、既に保持していたAGV110の識別情報を、新たに受信した誘導指令に置き換える。ファイルサーバ40は、誘導装置20に、誘導指令の更新が完了したことを示す更新完了通知を送信する。
【0176】
図22は、更新前後の誘導指令の例を示す。
図22の例では、通過地点C、EおよびFを始点とする区間の移動方向および距離が更新されている。たとえば、AGV110の走行のずれにより、通過地点Cは、到達予定位置C
*に変更され、位置C
*を始点として位置Dに走行するよう、移動方向および距離が更新されている。また、通過地点EおよびFは、たとえば、AGV110が向かうよう設定されていた経路を走行できなくなる状況が発生し、迂回ルートで最終到達地点に向かうよう、異なる移動方向および距離に更新されている。
【0178】
(2)更新完了通知を受信すると、誘導装置20はAGV110に誘導指令更新通知を送信する。
【0179】
(3)AGV110は、誘導装置20から誘導指令更新通知を受信する。当該通知により、AGV110は、自らに適用される誘導指令が更新されたことを知ることができる。
【0180】
(4)誘導指令更新通知の受信に応答して、AGV110はファイルサーバ40に、誘導指令取得要求を送信する。なお、ネットワーク上でファイルサーバ40を特定する情報(たとえばIPアドレス)は、予めAGV110が保持している。
【0181】
(5)ファイルサーバ40は、AGV110から誘導指令取得要求を受信する。
【0182】
(6)ファイルサーバ40は、記憶装置48から、処理(1)によって更新されたAGV110の誘導指令を読み出してAGV110に送信する。
【0183】
(7)AGV110は、ファイルサーバ40から、更新後の誘導指令を受信する。この結果、AGV110は、既存の誘導指令を新たに受信した誘導指令に置き換えることができる。
【0184】
上述の処理では、誘導指令の更新が行われたAGV110にのみ誘導指令の更新通知が送信される。ファイルサーバ40は、AGV110からの誘導指令取得要求を受けたタイミングで誘導指令を読み出してAGV110に送信すればよい。全てのAGV110が、ファイルサーバ40に定期的に更新の有無を確認する態様と比較すると、本実施形態の処理によれば、ネットワークの通信負荷が軽くなり、また、ファイルサーバ40の処理負荷を抑えることができる。
【0185】
通知を利用して更新後の誘導指令を取得する方法は、ソーシャルネットワークサービス(SNS)のチャットシステムの応用例と考えることができる。つまり、各AGV110と誘導装置20とが対話している状況を想定すればよい。各AGV110は、誘導指令が更新されたことを誘導装置20からの通知によって知り、それにより誘導指令をファイルサーバ40から取得して更新することができる。通知があるまでは、誘導指令の更新がされていないと見なし、AGV110は現在保持している誘導指令に従って移動を継続すればよい。
【0186】
なお、AGV110は、誘導装置20からの通知を受信していない場合でもファイルサーバ40にアクセスしてもよい。たとえば、AGV110は、現在の区間の走行が終了した時点で、すなわち、直近の通過地点に到達した時点で、ファイルサーバ40にアクセスしてもよい。各通過地点に到達したタイミングでファイルサーバ40にアクセスすることにより、通信環境の一時的な悪化等が発生し通知が不達になった場合でも、AGV110の誘導指令を更新することができる。
【0187】
次に、誘導指令の更新に関する他の例を説明する。以下の例は、誘導指令を更新する「予め定められた条件」の一つである。
【0188】
AGV110は、他のAGVまたは人に搬送物を届けるよう求められることがある。そのような場合には、誘導装置20は、当該他の移動体または人の位置をAGV110の通過地点または最終到達地点として設定した誘導指令を生成する。
【0189】
しかしながら、当該他のAGVおよび人が移動することにより、当初の誘導指令によって指定された通過地点および目的地点を修正する必要が生じる場合がある。なお、他のAGVはICタグ18を有しており、人はICタグを携帯しているとする。測位装置30は当該他のAGVまたは人の位置を測定することができる。
【0190】
図23Aは、誘導装置20によって当初決定された経路の模式図である。通過地点A〜Fを経て、最終到達地点Tに至る経路が設定されている。誘導装置20は、
図23Aに示す経路でAGV110を移動させるための誘導指令を生成する。
【0191】
AGV110が当該誘導指令を取得した後で、最終到達地点Tに存在していた他のAGVまたは人が、異なる地点Taに移動した状況を想定する。
図23Bは、最終到達地点Taに変更された経路を示す。変更された後の経路では、最終到達地点Taに到達する前に、新たに通過地点XおよびYが追加されている。
【0192】
図24は、更新前後の誘導指令の例を示す。更新後の誘導指令では、通過地点Fを起点とする移動方向および距離がそれぞれdF
**およびθF
**に変更され、さらに、通過地点XおよびYが追加されている。
【0193】
他のAGVまたは人の移動に伴って、測位装置30が当該他のAGVまたは人の位置を測定し、誘導装置20が誘導指令を更新する。これにより、他のAGVまたは人の移動に追従してAGV110を移動させることができる。
【0194】
上述した例において説明した、当初の経路(
図23A)における通過地点の数、および、変更後の経路(
図23B)における通過地点の数(追加された通過地点の数も含む。)は一例である。
【0195】
なお、上述の説明では、ファイルサーバ40およびAGV110は、既存の誘導指令を更新後の誘導指令に置き換えるとしたが、これは一例である。ファイルサーバ40および/またはAGV110は、複数の通過地点の少なくとも一部を変更してもよい。たとえば、移動方向および距離が変更された部分のみ、誘導指令を書き換えてもよい。
【0196】
なお、測位装置30は、ICタグを携帯する人の位置を測定できるため、人の位置に応じた動作を行うよう、誘導指令をさらに拡張してもよい。たとえば、現在走行中の区間よりも後の区間において、誘導装置20が、測位装置30の測定結果に基づいてAGV110の走行経路上または、走行経路から5m以内に人が存在することを検出したとする。誘導装置20は、人が存在する区間について音声信号を出力するよう誘導指令を更新する。つまり、誘導指令には、方向および距離の指令に加えて、音声の出力指令も含まれる。
【0197】
図25は、音声出力フラグを有する誘導指令の例を示す。音声出力フラグが1の区間ではAGV110はスピーカ15eから音声を出力する。たとえば、変更前の誘導指令では、音声出力フラグが全ての区間で0であったが、変更後は、通過地点Cからの区間において音声出力フラグが1に変更された。変更後の誘導指令がファイルサーバ40に記憶されると、誘導装置20はAGV110に通知を送信し、AGV110の誘導指令を更新させる。これにより、音声出力フラグが1の区間では、近傍に存在する人の注意を促すことができる。
【0198】
なお、音声の出力に代えて、たとえば光の明滅を利用して人の注意を促してもよい。本明細書では、音の吹鳴を行うためのアンプ58eおよびスピーカ15e、および、光の点灯および消灯を行うためのランプを含む、人に注意を喚起させるための装置を「報知装置」と呼ぶことがある。
【0199】
なお、現在走行している区間でも、報知装置を利用した人への注意喚起を行うことが好ましい場合があると考えられる。そのような場合には、誘導指令の更新とは異なる方法、たとえば、誘導装置20からAGV110に報知通知を送信して報知装置を動作させてもよい。
【0200】
上述の実施形態では、誘導指令は、ある通過地点を基準とした、次の通過地点までの距離および方向を位置情報として含むとした。このような記述形式は一例であり、他の記述形式も種々考えられる。たとえば、AGVの移動領域に、直交する2つのX座標軸およびY座標軸を設定し、2つの座標軸を利用して位置情報を記述することができる。
【0201】
第1の例は、ある通過地点と、その次の通過地点とのX方向の差分値およびY方向の差分値(ΔXおよびΔY)を、それぞれ位置情報として採用する記述形式である。
【0202】
この記述形式を採用する場合、AGVの現在の向きが、X方向またはY方向からどの程度ずれているかを示す情報αが必要である。そこで、たとえばAGVのマイコン55(
図6、
図21)は、動作開始時に、自装置が現在向いている方向が、X方向またはY方向からどの程度ずれているかの情報を誘導装置20から取得してもよい。その後マイコン55は、ジャイロスコープ14cを利用してさらなる角度の変化を積算し、X軸方向またはY軸方向からずれている角度の情報αを取得することができる。
【0203】
AGVの現在の位置から見た次の通過地点までの距離Dは、D=(ΔX
2+ΔY
2)
1/2として得られ、角度βはβ=tan
-1(ΔY/ΔX)によって得られる。AGVは、(β−α)だけ進行方向を変化させ、距離Dだけ進めばよい。
【0204】
第2の例は、X座標およびY座標で表現される絶対座標を位置情報として採用する記述形式である。たとえば誘導指令では、各通過地点の位置が絶対座標で表現されているとする。そして誘導装置20は、AGVが各区間の走行を終える度に、AGVの現在の位置を絶対座標の形式で伝えるとする。AGVのマイコン55が、現在の位置の座標と、次の通過地点の位置の座標との差分を計算すると、上述したΔXおよびΔYを利用した態様に変換できる。以後は、第1の例と同じ方法を用いて、AGVは次の通過地点に向けて移動をすることができる。
【0205】
上述の実施形態では、誘導装置は、複数台のAGVが存在する場合には各AGVの誘導指令を生成し、更新する。全てのAGVは、ファイルサーバ40に誘導指令の取得要求を送信し、ファイルサーバ40から誘導指令を受信していた。しかしながら、誘導システム内の多くのAGVが比較的近接した時間内にファイルサーバ40と通信を行った場合には、一時的に通信データ量が増大し、通信の遅延が発生する可能性がある。
【0206】
以下では、誘導システム内で送受信される通信データ量を抑制することが可能な例を説明する。
【0207】
図27は、3台のAGV10p,10q,10rに同じ動きをさせる例を説明する図である。いま、互いの位置関係(距離および角度)を維持しながら、3台のAGV10p,10q,10rを同じ方向に同じ距離だけ移動させるとする。
【0208】
3台のAGVのうち、AGV10pがファイルサーバ40と通信を行う。ファイルサーバ40と通信を行うAGVを「基準AGV」と呼ぶ。
【0209】
一方、AGV10qおよび10rはファイルサーバ40と通信を行わない。その理由は、本例では、AGV10qおよび10rの各々は基準AGV10pとの位置関係を維持しながら移動するからである。位置関係とは、例えばAGV10qおよび10rのそれぞれから見たときの基準AGV10pの角度および距離を意味する。AGV10qおよび10rは、基準AGV10pの動きに追従して移動するため、ファイルサーバ40と通信を行う必要がない。
【0210】
AGV10qおよび10rは、基準AGV10pを非接触で検出することが可能なセンサを有している。ここで利用され得るセンサの一例は、超音波センサ、レーザレンジファインダ、近接センサである。
【0211】
「超音波センサ」は、例えば20kHz以上の音(超音波)を利用して検出対象物までの距離を測定するセンサである。1台のAGVの複数の異なる位置に複数の超音波センサを設けることにより、検出対象物がどの方向(角度)にどれだけ離れて存在しているかを判定できる。「レーザレンジファインダ」は赤外レーザビームを放射し、その反射光を取得することにより、反射点(検出対象物の表面)までの距離および角度を測定する。「近接センサ」は、電界または磁界の変化を検出して、検出対象物が接近していることを検出する。
【0212】
なお、上述したセンサは、他のAGV10qおよび10rに撮像素子または撮像素子を有するカメラであってもよい。撮像素子を用いて基準AGV10pを撮影し、画像内の基準AGV10pを認識して基準AGV10pに対応する像の大きさおよび画像上の位置が概ね固定されるよう、移動速度および角度を制御してもよい。
【0213】
図27に示されるように、基準AGV10pはファイルサーバ40に誘導指令の取得要求を送信する。当該要求の受信に応答して、ファイルサーバ40は基準AGV10pに誘導指令を送信する。
【0214】
基準AGV10pは当該誘導指令にしたがって走行を開始する。例えば基準AGV10pが図面の右方向に移動すると、AGV10qおよび10rも、基準AGV10pとの位置関係を維持しながら右方向に移動する。誘導指令に従ってAGV10pが図面右下方向に移動すると、AGV10qおよび10rも基準AGV10pの動きに追従して図面右下方向に移動する。
【0215】
上述のように、AGV10pがファイルサーバ40から誘導指令を受信すれば、GV10qおよび10rは誘導指令を取得しなくてもAGV10pに同期して動作させることができる。よって、誘導システム全体の通信データ量を抑制できる。
【0216】
本例ではAGV10pが基準AGVとして動作する例を説明したが、どのAGVがファイルサーバ40にアクセスするかは任意に、および/または動的に決定できる。
図27の例では、AGV10pに代えてAGV10qまたはAGV10rが基準AGVに設定されてもよい。
【0217】
また、誘導経路の一部の区間と他の一部の区間とで基準AGVが切り替わっても良い。例えば誘導経路として、複数のAGVを、ある2つの地点を往復させる経路が予め決定されているとする。このとき、往路ではAGV10pが基準AGVに設定され、復路ではAGV10qまたはAGV10rが基準AGVに設定されてもよい。走行経路上で、先頭または最後尾に位置する移動体が常に基準AGVに設定されてもよい。この場合、各AGVの進行方向が逆の方向(180度反転)に変更されると、基準AGVの変更が発生し得る。ここで挙げた角度は一例であり、他の角度であってもよい。また、基準AGVとして設定されるAGVは、先頭または最後尾に位置するAGVには限られない。複数のAGVの集合内の任意の位置のAGVが基準AGVとして選択され得る。つまり、任意のAGVが基準AGVに交替可能である。基準AGVが交替すると、
新たな基準AGVは、これまで基準AGVであったAGVを含む他のAGVおよび/または誘導装置に、予め割り当てられた、自身(自機)を一意に識別可能な識別データ、および、自機が基準AGVであることを通知する。通知は、中継装置32を介して行われても良いし、AGV間で無線通信を利用して行われても良い。通知を受けた他のAGVは、誘導指令を取得することなく、基準AGVが走行するのを待てば良い。
【0218】
一方、基準AGVを固定化し、基準AGVの構成と他のAGVの構成とに差異を設けてもよい。例えば基準AGVには、通信回路と、動力源(モータ)と、誘導指令に従って前記動力源を制御し、自機を移動させる駆動装置(インバータ)とを設ける。一方、他のAGVには、動力源と、駆動装置と、センサと、演算回路とを設けてもよい。当該他のAGVの演算回路は、センサの検出結果を利用して、自機と
基準AGVとの位置関係を維持する制御信号を生成する。
【0219】
基準AGV以外のAGVは、センサを利用して基準AGVを直接検出し、基準AGVとの位置関係を維持する例を説明したが、基準AGVを直接検出する必要はない。センサの視野に含まれる他のAGVとの位置関係を維持して走行すれば、全体として相互の位置関係が
維持され、結果的に、基準AGVと他のAGVとの位置関係も維持できる。
【0220】
上述した誘導システム2におけるAGV110、誘導装置20および測位装置30の処理は、AGV110のマイコン55、誘導装置20のCPU25および測位装置30のCPU35の各々によって実行される。これらの処理は、複数の命令を含むコンピュータプログラムに基づいて実現され得る。コンピュータプログラムは、各々のメモリに展開されて実行される。
【0221】
ところで、上述のような2次元的な指定を採用した理由は、主として、本明細書が工場の平面的な床面を走行するAGVの位置を指定することを想定していたためである。
【0222】
しかしながら、進行方向および距離を3次元的に指定することも可能である。
【0223】
たとえばAGVが、複数のフロアを有する工場で稼働される場合には、誘導指令に階数を指定する情報をさらに追加してもよい。または、後述のように移動体としてマルチコプターを採用する場合、誘導指令において進行方向(飛行方向)として方位角および仰角を指定し、飛行距離を指定することが可能である。または、高度と、その高度における2次元平面上の飛行方向および距離を指定してもよい。
【0224】
上述の説明では、誘導装置20とファイルサーバ40とが別個の装置であるとして説明した。その理由は、誘導指令の生成・変更処理は誘導装置20に行わせ、AGV110との間で誘導指令の送受信をファイルサーバ40に行わせることにより、負荷の分散を図るためである。
【0225】
しかしながら、誘導装置20とファイルサーバ40とを一体化してもよい。たとえば
図26は、誘導装置20とファイルサーバ40の記憶装置48とを1つの筐体の内部に収容した構成例を示す。
図26の構成によれば、誘導装置20とファイルサーバ40との間で行われていた、変更後の誘導指令の送受信は誘導装置20内で完結し、更新完了通知の送受信は不要になる。
【0226】
上述した、本開示にかかる誘導システムは、駐車場で利用されるAGVおよび工場で利用されるAGVを誘導する用途以外でも利用できる。
【0227】
AGVは車輪によって陸上を移動する態様には限られない。たとえばAGVは、3以上の回転翼を有し、工場内を飛行するマルチコプターであってもよい。
【0228】
上述の例はいずれも、移動体誘導システムが駐車場、工場等の屋内で使用される例である。しかしながら本開示の移動体誘導システムは屋外でも利用され得る。たとえば、林立するビル群の間の空間またはトンネル内のような、GPS(Global Positioning System)の利用が困難な屋外空間において移動体誘導システムを利用してもよい。たとえば、壁面、街灯、樹木等に、タグの識別情報を受信する受信器、および、誘導指令を送信することが可能な送信器を設けることにより、本開示の移動体誘導システムを利用して、当該屋外空間を走行、または飛行する移動体を誘導することができる。なお、GPSの利用が可能な状況においても本開示の移動体誘導システムを用いてもよい。
【0229】
上述の実施形態では、移動体として無人搬送車であるAGVを例示した。しかしながら本開示の移動体誘導システムは、有人の移動体を誘導することもできる。また、移動体が移動するための駆動力は車輪に伝達される場合に限定されない。2本またはそれ以上の脚を利用して移動する移動体であってもよい。さらに、移動体は、水中を移動する無人または有人の潜水機であってもよい。水中での移動体の位置の測定は、たとえば超音波を利用することができる。
【0230】
本明細書では、移動体と、送信アンテナおよび受信アンテナとの間で、種々の通信が行われる例を説明した。測位のために利用される電磁波または超音波の周波数、走行状況を送信するために利用される通信で利用される周波数、誘導指令を受信するための通信で利用される周波数は、同じであってもよいし、2つまたは3つ以上の異なる周波数であってもよい。通信方式についても同様である。たとえば、測位処理(a)には、BLE(Bluetooth(登録商標) Low Energy)規格の周波数の電磁波が利用され得る。走行状況の送信、および、誘導指令の受信には、Bluetooth(登録商標)規格の周波数、または、Wi−Fi(登録商標)規格の2.4GHz帯または5GHz帯の周波数の電磁波が利用され得る。
【0231】
上述した
図27に示す例によれば、以下の各項目に記載された移動体誘導システムを得ることができる。
【0232】
[項目1]
複数の移動体と、
前記複数の移動体のうちから選択された基準移動体の位置を測定して前記基準移動体の位置情報を出力する測位装置と、
前記基準移動体を誘導する誘導指令を生成する誘導装置と、
前記基準移動体の誘導指令を記憶する記憶装置と
を有する移動体誘導システムであって、
各移動体は、
前記誘導装置および前記記憶装置の各々と通信する通信回路と、
駆動力を発生させる動力源と、
周囲の物体を非接触で検出するセンサと、
自機が前記基準移動体である場合には前記記憶装置から前記誘導指令を取得して前記誘導指令に従って前記制御信号を生成し、自機が前記基準移動体以外の移動体である場合には、前記センサの検出結果を利用して、自機と前記基準移動体または他の移動体との位置関係を維持する制御信号を生成する演算回路と、
前記制御信号に従って前記動力源を制御し、自機を移動させる駆動装置と
を備えた、移動体誘導システム。
【0233】
[項目2]
前記センサは、超音波センサ、レーザレンジファインダ、近接センサ、および撮像素子のいずれかである、項目1に記載の移動体誘導システム。
【0234】
[項目3]
前記複数の移動体を誘導する経路の第1の区間と第2の区間とで、前記基準移動体が交替する、項目1または2に記載の移動体誘導システム。
【0235】
[項目4]
前記第1の区間は往路であり、前記第2の区間は復路である、項目3に記載の移動体誘導システム。
【0236】
[項目5]
前記複数の移動体の集合内の位置に応じて前記基準移動体が交替する、項目1または2に記載の移動体誘導システム。
【0237】
[項目6]
前記複数の移動体の移動に伴って先頭または最後尾に位置した移動体が前記基準移動体に変更される、項目5に記載の移動体誘導システム。
【0238】
[項目7]
前記基準移動体に変更された移動体は、他の移動体および前記誘導装置に、自機を一意に識別可能な識別データおよび自機が前記基準移動体であることを通知する、項目1から6のいずれかに記載の移動体誘導システム。
【0239】
[項目8]
第1移動体および少なくとも1台の第2移動体によって構成される複数の移動体と、
前記第1移動体の位置を測定して前記第1移動体の位置情報を出力する測位装置と、
前記第1移動体を誘導する誘導指令を生成する誘導装置と、
前記第1移動体の誘導指令を記憶する記憶装置と
を有する移動体誘導システムであって、
前記第1移動体は、
前記誘導装置および前記記憶装置の各々と通信する第1通信回路と、
駆動力を発生させる第1動力源と、
前記誘導指令に従って前記動力源を制御し、前記第1移動体を移動させる第1駆動装置とを有し、
前記第2移動体は、
駆動力を発生させる第2動力源と、
制御信号にしたがって前記第2動力源を制御し、自機を移動させる第2駆動装置と、
周囲の物体を非接触で検出するセンサと、
前記制御信号を生成する演算回路であって、前記センサの検出結果を利用して、自機と前記第1移動体または前記他の第2移動体との位置関係を維持する制御信号を生成する演算回路と
を備え、
前記誘導装置は、
前記誘導指令を生成する信号処理回路と、
前記記憶装置および前記移動体の各々と通信する通信回路と
を備え、
前記誘導装置は、
前記第1移動体の移動経路を規定する複数の通過地点の位置情報を含む前記誘導指令を生成すること、
前記誘導指令を前記記憶装置に記憶させること、および、
前記複数の通過地点の少なくとも一部を変更する場合、変更後の通過地点の位置情報を前記記憶装置に記憶させること
を実行し、
前記第1移動体は、前記記憶装置にアクセスして前記記憶装置から前記変更後の通過地点の位置情報を取得する、移動体誘導システム。