JP7237799B2 - 走行制御装置及び運行システム - Google Patents

走行制御装置及び運行システム Download PDF

Info

Publication number
JP7237799B2
JP7237799B2 JP2019196650A JP2019196650A JP7237799B2 JP 7237799 B2 JP7237799 B2 JP 7237799B2 JP 2019196650 A JP2019196650 A JP 2019196650A JP 2019196650 A JP2019196650 A JP 2019196650A JP 7237799 B2 JP7237799 B2 JP 7237799B2
Authority
JP
Japan
Prior art keywords
area
travel
virtual
moving
passage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019196650A
Other languages
English (en)
Other versions
JP2021071796A (ja
Inventor
道生 山下
紀之 平山
英之 愛須
静 榊原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2019196650A priority Critical patent/JP7237799B2/ja
Priority to CN202010902566.9A priority patent/CN112817305A/zh
Priority to US17/010,864 priority patent/US20210123766A1/en
Publication of JP2021071796A publication Critical patent/JP2021071796A/ja
Application granted granted Critical
Publication of JP7237799B2 publication Critical patent/JP7237799B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3626Details of the output of route guidance instructions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0225Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving docking at a fixed facility, e.g. base station or loading bay
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q50/40
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations

Description

本発明の実施形態は、走行制御装置、移動体及び運行システムに関する。
運行計画に従って複数の移動体を同時に走行させる場合、これらの移動体が計画された走行ルートを計画通りのタイミングで走行することができれば、計画通りの運行が達成できる。しかしながら、少なくともいずれかの移動体の走行タイミングが計画からずれると、移動体間に競合が発生する場合がある。例えば、移動体同士が衝突又は追突することや、移動体が任意の箇所に移動できなくなるデッドロックが発生することがある。
特許第2692725号
本発明の実施形態は、移動体の競合を回避する運行を可能とする走行制御装置、移動体及び運行システムを提供する。
本発明の実施形態としての走行制御装置は、複数の領域当該複数の領域を結合する複数の走行路とを含む走行エリアにある2つ以上の走行路が交差する領域である交差領域を特定し、交差領域に結合されている走行路に係り仮想領域を設定する仮想領域設定部と、走行エリアにおける移動体の走行ルートと、当該走行ルートにおける交差領域と、移動体を含む複数の移動体が交差領域を通過する順序を定めた通過順序情報を取得し、移動体の走行ルートにおける仮想領域交差領域及び通過順序情報に基づき、移動体に送信する移動指令データを生成す移動指令データ生成部とを備える。
第1実施形態に係る運行計画装置と移動体とのブロック図。 複数の移動体の運行を制御する様子を模式的に示した上面図。 図3(A)は衝突の例を示し、図3(B)はデッドロックの例を示す図。 走行路ネットワークの一例を示す図。 走行路ネットワークの構造情報の例を示す図。 図6(A)は走行路の情報の例を示し、図6(B)は基準ノードの情報の例を示す図。 走行路ネットワークの基準領域に結合された各走行路に仮想領域を設定した例を示す図。 仮想領域DBの例を示す図。 走行路ネットワークの構造情報に仮想ノードを追加した例を示す図。 仮想領域設定部の動作の一例のフローチャート。 運行情報の一例を示す図。 運行計画決定部が作成した運行計画の例を示す図。 移動体が出発地点に配置された状態を示す図。 移動指令データの例を示す図。 図1の運行計画装置の動作の一例のフローチャート。 図1の運行計画装置の動作の他の例のフローチャート。 移動体の動作の一例を示すフローチャート。 第2実施形態に係る運行計画装置と移動体とのブロック図。 AGV0及びAGV1に対して生成された移動指令データの例を示す図。 移動体の動作の一例を示すフローチャート。 図1の運行計画装置のハードウェア構成を示す図。
一般的な運行計画システムでは、レール又はテープのような一本道の単線を走行するガイドライン系の移動体を対象として、運行計画を作成する場合が多い。一本道の単線を専用的に使う場合、外乱が生じることが少なく、ほぼ正確に移動体を計画通りのタイミングで走行させることが可能である。
一方、自律移動系の移動体は、比較的広い領域を自由に走行し、自己の位置を同定しながら、最適な動線を見つけ、走行する。自律移動系の移動体の例として、工場内で荷物を運搬する無人搬送車(AGV:Automatic Guided Vehicle)などがある。自律移動系の移動体の走行路では、人が歩行したり横切ったりする場合もあり、移動体は走行路に飛び出した人を認識し、停止する機能を有する場合がある。また移動体は、走行路上に置かれた障害物を認識し、回避しながら走行する機能を有する場合がある。
このように、自律移動系の移動体は柔軟性のある走行が可能である反面、走行環境に外乱が多いため、計画したタイミング通りに走行することが難しくなる場合がある。例えば、移動体が障害物を回避しながら走行すると、計画したタイミング通りに走行できなくなる。
移動体のタイミングが計画からずれると、移動体間に競合が生じ得る。例えば、移動体同士が衝突又は追突することがある。また、移動体が任意の箇所(例えば走行路の交差部又は端部)に移動できなくなるデッドロックが発生することがある。
本実施形態では、このように自律移動系の移動体を運行計画の作成対象とする場合にも、移動体間の競合の発生を回避することを実現する。但し、本実施形態で対象とする移動体は自律移動系の移動体に限定されず、ガイドライン系の移動体でもかまわない。以下、図面を参照しながら、本実施形態について詳細に説明する。
図1に、本実施形態に係る運行計画装置(走行制御装置)と移動体とを備えた運行システムのブロック図を示す。運行計画装置100は、仮想領域設定部(領域設定部)11、運行計画決定部12、走行制御部13、通信部14、移動指令データ生成部15、走行路情報データベース(DB)21、基準領域DB22、走行路ネットワーク情報DB23、移動体情報DB24、運行情報DB25、運行計画DB26及び仮想領域DB27を備えている。移動体201_1~201_Nは、通信部51、命令実行部52、通過確認部53、通過通知部54及び通過確認部55を備えている。
運行計画装置100は、一例として自由平面である走行エリア(走行路ネットワーク)を複数の移動体201_1~201_Nが自律走行する場合に、これら複数の移動体に衝突又はデッドロック等の競合を起こさないように、運行を制御するための運行計画を作成する。複数の移動体201_1~201_Nは、AGV、自律型の移動ロボット、自動走行の車両(例えば自動走行車)などの、自律移動可能な移動体である。
複数の移動体201_1~201_Nは、例えば、工場内、倉庫内、施設敷地内などの走行エリア(走行路ネットワーク)を走行する。複数の移動体201_1~201_Nは一例として蓄電池(バッテリー)を搭載し、バッテリーに蓄積された電力を用いて移動等の動作を行う。
図2は、走行路ネットワークにおいて複数の移動体の運行を制御する様子を模式的に示した上面図である。走行路ネットワークに対して、基準となる複数の領域(基準領域)A,B,C,D,E,F,G,Hが設定されている。基準領域間は移動間が走行可能な通路(走行路)である。走行路ネットワーク(走行エリア)は、このように複数の基準領域と、複数の基準領域間の複数の走行路とを含む。基準領域は、例えば走行路の交差部(交差部)や、走行路の端部など、任意の箇所に対応する。基準領域F、Gに対して搬入口が配置されており、基準領域A、E、Hに対して棚が配置されている。基準領域Bは複数の走行路の交差部に対応する。
ここで基準領域は、特定の位置でもよいし、ある範囲を有する領域でもよい。例えば走行路ネットワークをXY平面により表した場合、基準領域は、XY座標により特定される。高さを考慮する場合、基準領域は、XYZ座標により特定される。あるいは、複数のXY座標の組により特定されてもよい。例えば基準領域が矩形の場合、対各頂点のXY座標の組により特定されてもよい。以下では、基準領域がXY座標によって特定される場合を想定する。
複数の基準領域は、走行路ネットワークのマップデータ上の座標に対応付けた形で、基準ノードとして管理されている。基準ノードと基準領域とを、説明の都合上、同じ符号によって表す。基準領域間を結んだ線(アーク)を、移動体が走行する仮想走行路として管理する。基準ノード及び仮想走行路は、予めデータとして格納されている。図の実線及び破線が、基準ノード間を結ぶ線(仮想走行路に対応)である。基準ノード間で2台以上の移動体が併走可能な場合は、基準ノード間が2本以上の線で結ばれてもよい。基準ノード及び仮想走行路のデータは、マップデータ上に定義されている。マップデータは、予めCAD(Computer-Aided Design)等の図面として定義されたものでもよいし、移動体が自己位置検知機能により環境マップを作成する機能を有する場合は、当該機能により作成した環境マップでもよい。なお、仮想走行路の形状は、直線でも、曲線でも、直線と曲線の組み合わせでもよい。
移動体1、2、3は、図1の移動体201_1~201_3に対応する。移動体1~3は、自律走行機能を備えている。より詳細には、移動体1~3は、基準領域間の走行路を走行する動線を移動体自身が生成し、生成した動線に沿って自律的に走行する機能を備えている。一例として、基準領域Bから基準領域Cへ移動する場合、基準領域B及び基準領域C間に障害物等が存在しなければ、基準領域Bの位置と、基準領域Cの位置とを結んだ線分を動線として生成し、当該動線に沿って走行路を自律的に走行する。移動体が生成する動線は、基準ノードB及び基準ノードC間の仮想走行路と一致しても、しなくてもよい。
移動体は、仮想走行路を2つの基準ノード間を移動する際の推奨経路として走行し、仮想走行路上に一時的な障害物を発見した場合は、障害物を回避する機能を備えていてもよい。
なお、移動体が障害物を回避して走行する余裕のある走行路を、移動体同士の競合が発生しない走行路として扱うことも可能である。例えば、図2で走行路BE(基準領域B及び基準領域E間の走行路。以下同様)、走行路BA、走行路BHなどの走行路では、例えば相互回避を行うだけの余裕が十分にあるため、2台の移動体が互いに向かい合う方向に走行しても、競合は発生しない。例えば一方の移動体は走行路の脇で待機し、他方の移動体は走行路を動線に沿って移動する。他方の移動体が通過し終わったら、一方の移動体は移動を再開する。一方、走行路BCでは、相互回避を行うだけの余裕がないため、当該走行路で2台の移動体が互いに向かい合う方向に走行すると、衝突等の競合が発生する。
なお移動体は、前方向、後方向又は前後両方向に移動できる。移動体は前後を反転するように回転可能であってもよい。また、移動体は、斜め方向など、前後以外の方向に移動できてもよい。
移動体の状態を検出するセンサ、移動体と通信する通信装置又はこれらの両方が、基準領域、走行路、棚、搬入口、その他の任意の箇所に配置されていてもよい。この場合、センサは、通信装置及び運行計画装置100の少なくとも一方と有線又は無線で接続される。
移動体は、図1の運行計画装置100の管理の元、走行路ネットワークを、割り当てられた運行に従って走行する。例えば、搬入口から受け取った荷物を、別の搬入口まで運ぶ。移動の途中で、棚から荷物を積み下ろしたり、積み上げたりするなどの作業を行う場合もある。このような作業を各移動体は、運行計画装置100から与えられた移動指令データに含まれる命令群を実行することにより行う。なお、移動体は、荷物の搬送を行わず、ただ移動するだけの場合もあり得る。
ここで衝突及びデッドロックについて説明する。
図3(A)は衝突の例を示す。図3(B)はデッドロックの例を示す。図3(A)及び図3(B)では便宜上、走行路を直線によって表している。図3(A)では、交差部につながる2つの走行路を2つの移動体が交差部に向かって走行し、交差部に同時に到着し、互いに衝突している。図3(B)では同一の走行路を2つの移動体が互いに逆方向に走行している。2つの移動体は前進のみ可能であるとすると、2つの移動体は、元の方向に戻れないため、任意の領域(交差部又は端部等)に移動できなくなり、デッドロックが発生する。
移動体の競合は、衝突又はデッドロックに限定されない。例えば、走行路につながる交差部に1台以上の移動体が待機している状態で、他の移動体が当該走行路を走行することでもよい。
図1の運行計画装置100は、各移動体に競合を生じせることなく、各移動体の運行を効率的に行うことを実現する。
走行路ネットワーク情報DB23は、走行路ネットワークの構造情報を内部に記憶している。走行路ネットワークの構造情報は、走行エリアのマップデータに対応づけて配置された、基準ノードと、仮想走行路(アーク)とを含む。基準ノードは、基準領域に対応する。基準領域は、一例として、複数の走行路の交差部又は走行路の端部等に設定される。但し、基準領域は、走行路上の任意の箇所に設定できる。任意の箇所の例として、荷物の積み上げ・積み降ろし場所、待機場所等がある。
図4は、走行路ネットワークの簡単な例を示す。図5は、図4の走行路ネットワークの構造情報の例を示す。図4の走行路ネットワークは5つの基準領域と、4つの走行路とを含む。ここでは便宜上、走行路を直線によって表している。基準領域Naは、4つの走行路が交差する交差部であり、基準領域Pa、Pb、Pc、Pdは4つの走行路の端部である。基準領域Pb、Pdには棚が配置されており、基準領域Pa、Pcには搬入口が存在する。基準領域Pa、Pb、Pc、Pdは、一例として、移動体の出発地点又は到着地点ともなり得る。
図5において、基準ノード間を結合(あるいは接続)する直線によって仮想走行路が表されている。各円が基準ノード(基準領域)を表し、円間をつなぐ直線がアーク(仮想走行路)を表す。基準ノードには基準領域と同じ符号を付してある。
走行路情報DB21は、走行路ネットワークの構造情報における各アーク(仮想走行路)の情報と基準ノードの情報とを走行路情報として記憶している。走行路情報は、アークID(走行路ID)と、アークの両端のノードのID(すなわち走行路の両端の領域のID)とを含む。
図6(A)は各アーク(仮想走行路)の情報の例を示す。図6(A)において、例えば基準ノードPa、Na間のアークIDは1、当該アークの両端の基準ノードはPa及びNaである。アークIDに対応づけて、基準ノード間の距離(走行路の距離)を記憶してもよい。あるいは、アークの両側の基準ノードの位置に基づき、走行路の距離を計算してもよい。また走行路の幅・高さ・材質・摩擦係数・勾配など、走行路の構造・配置に関する情報を記憶していてもよい。
基準領域DB22は、また、走行路ネットワークの構造情報における各基準ノードの情報を記憶している。例えば、基準ノードの情報として、基準ノードID、X座標、Y座標を記憶している。基準ノードの位置は、例えば基準ノードに対応する基準領域の位置(座標)に対応する。
図6(B)は、基準ノードの情報の一例を示す。例えば、基準ノードPbの座標は(X,Y)=(20,20)である。つまり基準ノードPbに対応する基準領域の位置は(X,Y)=(20,20)である。また基準ノードNaの位置は(X,Y)=(20,60)である。つまり、基準ノードNaに対応する基準領域Naの位置は(X,Y)=(20,60)である。
仮想領域設定部11は、走行路ネットワークに設定された基準領域に対して、少なくとも1つの走行路に仮想領域を設定する。仮想領域は、移動体の通過順序を管理するための領域である。ここでは基準領域に結合(あるいは接続)された各走行路において、基準領域から離れた位置に設定される。すなわち、走行路ネットワークの構造情報において、基準ノードに結合される各アーク上に、基準ノードから離れた位置に、仮想ノードを設定する。仮想領域は走行路ネットワークにおける全ての基準領域に対して設定してもよいし、交差部に対応する基準領域、走行路の端部に対応する基準領域又はこれらの両方など、特定の基準領域に対してのみ設定してもよい。仮想領域の設定は、本装置100のオペレータであるユーザが入力装置を用いて指定してもよい。ここでは交差部に対応する基準領域に対して仮想領域を設定する場合を説明する。
図7は、図4の走行路ネットワークの基準領域(交差部)Naに結合された各走行路に仮想領域を設定した例を示す。この例では交差部Naに結合された各走行路において、交差部Naから一定距離離れた位置に仮想領域Ia,Ib,Ic,Idを設定している。
仮想領域DB27は、仮想領域設定部11により設定された仮想領域の情報を記憶する。具体的には、仮想領域DB27は、基準ノードと仮想走行路(アーク)に関連づけて、仮想領域を表す仮想ノードを記憶している。
図8は、仮想領域DB27の一例を示す。ここでは図7の仮想領域(仮想ノード)Iaが基準領域(基準ノード)Naに対して走行路(IDが1のアーク)に設定されている。仮想領域IaのXY座標は(15,60)である。
図9は、図7の例の走行路ネットワークの構造情報に仮想ノードを設定した例を示す。基準ノードNaに結合(あるいは接続)された各アーク上に、基準ノードNaから一定距離離れた位置に仮想ノードIa,Ib,Ic,Idが設定されている。なお、仮想ノードには、当該仮想ノードに対応する仮想領域と同じ符号を付してある。基準ノードPa~Pdに対しても仮想ノードを設定することも可能である。この場合には、例えば、基準ノードPa~Pdに結合された各アークにおいて、基準ノードPa~Pdから一定距離離れた位置に仮想ノードを設定すればよい。
図10は、仮想領域設定部11の動作の一例のフローチャートである。この例では、仮想走行路が直線である場合に、基準ノードから一定距離離れた位置に仮想ノードを設定する。
ステップS101では、仮想ノードを設定する対象となる基準ノードを特定し、特定した基準ノードの座標(Xn、Yn)を特定する。仮想ノードを設定する対象となる基準ノードは、特定の基準ノード(例えば交差部に対応する基準ノード)でもよいし、全ての基準ノードでもよいし、ユーザが指定してもよい。また、特定した基準ノードに結合された各アーク(仮想走行路)の方向(θ)、及び基準ノードと仮想ノードの距離(L)を特定する。
基準ノードの座標は、基準領域DB22から取得する。仮想走行路の方向θは、走行路情報DB21から取得する。距離Lは、予め決められた値である。距離Lは、仮想走行路に対応する走行路の構造・配置等に応じて決められてもよい。また、移動体の特性(大きさなど)に応じて、距離Lが決められてもよい。この場合、移動体ごとに仮想ノードが設定されてもよい。なお、距離Lを一定の値範囲内からランダムに決定することもあり得る。
ステップS102では、基準ノードから仮想ノードまでのX方向の距離Xl及びY方向の距離Ylを算出する。X1=Lcosθ、Y1=Lsinθである。
ステップS103では、仮想ノードの座標を算出する。仮想ノードの座標は(Xn+Xl、Yn+Y1)によって算出される
移動体情報DB24は、1つ以上の移動体の情報を格納している。例えば、移動体の位置情報を格納している。移動体の位置情報は、一例として、リアルタイムの位置情報(最新の位置情報)である。例えば、移動体から一定時間ごとに位置情報を含むデータを受信し、受信したデータから、移動体の位置情報を取得してもよい。あるいは、走行路ネットワークに設けられたセンサが移動体の通過を検知した場合に、センサに接続された通信装置から、移動体の通過を通知するデータを受信してもよい。移動体の位置情報は、まだ運行を割り当てられていない待機中の移動体の位置情報でもよい。この場合、待機中の移動体又は待機場所に設置されたセンサに接続された通信装置から位置情報を含むデータを受信することで、移動体の待機位置を把握してもよい。位置情報を含むデータの受信は、通信部14が行う。位置情報は、移動体がこれまで通過した位置の履歴情報でもよい。位置情報以外の例としては、移動体が搭載するバッテリーの残存電力、移動体が荷物を保有しているか否か(移動体が荷物を搬送する場合)、搬送中の荷物の種類や数等が有り得る。移動体の固有の情報として、例えば、標準速度、最大速度、最低速度、移動体のサイズ、移動可能な方向など、移動体の仕様情報がある。
物の搬送を目的とした移動体であれば、荷物の積み降しに要する作業時間の情報(例えば所定個数の荷物を積み上げ又は積み下ろすのに要する時間)がある。ここに挙げた情報は一例に過ぎず、他の情報でもよい。
運行情報DB25は、1つ以上の移動体に割り当てるべき運行を表した運行情報を格納している。運行情報は、出発地点及び到着地点の情報を含む。運行情報は、出発地点及び到着地点に加えて、移動体が行うべき作業の内容及び作業の順序を含んでいてもよい。運行情報は、ユーザが入力装置を用いて入力してもよいし、外部の装置から有線又は無線の通信により取得してもよい。
図11は、運行情報の一例を示す。図11の運行情報は、図4の走行路ネットワークを想定している。
図11では、2つの運行情報の例が示される。1つ目の運行情報は、出発地点Pa、到着地点Pbを含む。これは出発地点Paを出発して、到着地点Pbまで移動することを表す。2つ目の運行情報は、出発地点Pc、到着地点Pdを含む。これは出発地点Pcを出発して、到着地点Pdまで移動することを表す。
運行計画決定部12は、運行情報DB25内の各運行情報を割り当てるべき移動体を決定し、決定した移動体に運行情報が示す運行を割り当てる。運行計画決定部12は、運行を割り当てられた移動体に対して、当該移動体に割り当てられた運行と、移動体情報DB24における移動体の情報とに基づき、走行計画を作成する。走行計画は、通過する基準領域の順序(走行ルート)と、基準領域を出発又は通過するタイミング(走行タイミング)とを含む。走行タイミングは、一例として運行計画装置100が備える時計の時刻によって特定される。
各移動体の走行ルートと走行タイミングは、移動体間に競合を生じさせないように決定される。すなわち、各移動体が当該走行タイミングで走行ルートを走行すれば、競合は発生しない。走行計画の作成方法として、任意の方法を用いることができる。
例えばシミュレーションにより各移動体のあらゆる移動パターンを探索することにより、競合が発生しない走行ルートと走行タイミングを決定してもよい。この際、移動体の移動速度として標準速度を用いてもよい。標準速度は、移動体の特性、走行路の特性(例えば走行路の材質など)、走行路の勾配などに応じて定められていてもよい。この際、競合が生じる可能性がある条件として競合条件を定義し、競合条件を満たさない移動パターンを探索してもよい。競合条件の例として、同じ走行路上に同時に2台以上の移動体が同じ方向又は逆方向に走行することがある。
あるいは、先に各移動体の走行ルートを決定し、その後、移動体間で競合が生じないように走行ルートに含まれる各基準領域の出発時刻(通過時刻)を決定してもよい。走行ルートは、出発地点から目的地点までの移動距離又は移動時間が最短となるルートでもよい。この際、競合条件を満たさないように各基準領域の出発時刻(通過時刻)をしてもよい。
上述した以外の方法を用いて、走行計画を作成してもよい。
運行計画決定部12は、2以上の移動体の走行ルートに共通に含まれる基準領域を特定する。特定した基準領域から、移動体の通過順序を管理する領域を指定領域(通過管理領域)として決定する。指定領域に対応する基準ノードを、指定ノードと呼ぶ。指定領域は1つの場合も、2以上の場合もある。指定領域は、特定した基準領域の全てでもよいし、一部でもよい。ユーザが指定領域を選択してもよい。運行計画決定部12は、指定ノードの情報を運行計画DB26又は運行計画決定部12の内部バッファ等に格納する。基準領域又は指定領域は一例として第1領域に対応し、仮想領域は一例として第2領域、第3領域、第4領域に対応する。
運行計画決定部12は、指定領域(指定ノード)ごとに、各移動体の通過順序を決定する。例えば、走行計画に基づき移動体間で当該指定領域の出発時刻を比較し、出発時刻が早いほど順番が早くなるように、当該指定領域における移動体の通過順序を決定する。決定した通過順序で移動体が通過する必要があるとの制約、すなわち、指定領域における通過順序の制約を表した情報を生成する。この情報を、通過順序情報と呼ぶ。
運行計画決定部12は、各移動体の走行計画に含まれる走行ルートの情報(走行ルート情報)と、通過順序情報とを、運行計画として得る。
運行計画DB26は、運行計画決定部12により作成された運行計画(各移動体の走行ルートの情報と、通過順序情報)を内部に格納する。
以下、運行計画決定部12の動作の具体例を示す。まず、AGV0に図11の1番目の運行、AGV1に図11の2番目の運行を割り当て、AGV0及びAGV1の走行計画を作成する。
図12(A)は、AGV0及びAGV1の走行計画の一例を示す。AGV0の走行ルートは、Pa、Na、Pbであり、Pa、Na、Pbの出発時刻は0、10、20である。つまり地点Paを時刻0で出発し、交差部Naを時刻10で通過(出発)し、地点Pbに時刻20に到着する。AGV1の走行ルートは、Pc、Na、Pdであり、Pc、Na、Pdの出発時刻は10、20、30である。つまり地点Pcを時刻10で出発し、交差部Naを時刻20で通過(出発)し、地点Pdに時刻30で到着する。地点Pa~Pd及び交差部Naはいずれも基準領域である。
AGV0及びAGV1ともに、交差部Naを通過する。このため、運行計画決定部12は、Naを指定領域として特定する。
また、NaにおけるAGV0の出発時刻は10、NaにおけるAGV1の出発時刻は20である。すなわち、交差部Naの通過順序として、AGV0が先に通り、次にAGV1が通過する。よって、運行計画決定部12は、AGV0、AGV1の順にNaを通過するとの制約を含む通過順序情報を生成する。
運行計画決定部12は、作成した走行計画に含まれる走行ルートの情報と、作成した通過順序情報とを運行計画として得る。
図12(B)に、運行計画決定部12により得られた運行計画の例を示す。AGV0の走行ルートは、Pa、Na、Pbであり、AGV1の走行ルートは、Pc、Na、Pdである。通過順序情報において、指定領域が交差部Naであり、交差部Naの通過順序として、AGV0が先に通り、次にAGV1が通過することが、通過順序として特定されている。
図13に、図4に示した走行路ネットワークにおいてAGV0、AGV1がそれぞれ、運行計画に示される出発地点Pa、Pcに配置された状態を示す。図13では便宜上、走行路を直線によって表している。なお、運行計画の作成前に、AGV0、AGV1は出発地点Pa、Pcに存在しており、運行計画決定部12は、AGV0、AGV1が地点Pa、Pcに存在するとの情報を用いて、AGV0、AGV1に運行情報を割り当てている。但し、AGV0、AGV1に運行を割り当てた後に、AGV0、AGV1を地点Pa、Pcに配置してもよい。
移動指令データ生成部15は、運行計画DB26における移動体の運行計画(走行ルート情報、通過順序情報)と、仮想領域設定部11により設定された仮想領域とに基づき、移動体の移動指令データを生成する。すなわち、移動指令データ生成部15は、移動体の走行ルートと、通過順序情報とを取得し、移動体が走行ルートに含まれる指定領域の前に走行する走行路に設定された仮想領域を特定し、設定された仮想領域と、通過順序情報とに基づき、移動体の移動指令データを生成する。移動指令データは、移動体に対する複数の命令を含む。移動体が移動指令データに含まれる複数の命令を順番に実行することで、移動体に割り当てられた運行が行われる。移動指令データは、指定領域において複数の移動体が競合しないように生成される。移動体は移動指令データを実行することで、仮想領域及び指定領域における走行タイミングが調整され、指定領域における競合は防止される。以下、詳細を説明する。
移動指令データ生成部15は、運行計画に基づき、移動体の走行ルートを取得する。走行ルートに含まれる複数の基準ノード(基準領域)に対してそれぞれ1つ以上の命令を生成する。
走行ルートにおける最初の基準領域は、本実施形態では移動体の出発地点(開始位置)に対応する。当該最初の基準領域に対しては、出発地点への移動命令を生成する(なお移動体は出発地点に既に位置する場合、移動命令を実行しても移動体は移動しない)。
走行ルートの最後の基準領域は、移動体の到着地点(終了位置)に対応する。最後の基準領域に対しては、到着地点への移動命令を生成する。
最初の基準領域と最後の基準領域以外の基準領域については、当該基準領域が指定領域か否かを判断する。指定領域でない場合は、当該基準領域に対応する基準領域への移動命令を生成する。
基準領域が指定領域の場合(ここでは基準領域Nが指定領域であるとする)、基準領域Nの前に結合されている走行路を特定する。具体的には、基準領域に対応する基準ノードの前に結合されている仮想走行路を特定し、この仮想走行路に対応する走行路を特定する。特定した走行路において基準領域Nに対して設定されている仮想領域(仮想領域Aと記載する)を特定する。また、走行ルートにおいて、基準領域Nの後ろに結合された走行路を特定し、特定した走行路において当該基準領域Nに対して設定されている仮想領域(仮想領域Bとする)を特定する。
そして、仮想領域Aへ移動する命令(第1命令)、基準領域Nを通過することが許可されるか確認する命令(第2命令)、基準領域Nの通過が許可された場合に仮想領域Bへ移動する命令(第3命令)、仮想領域Bへ移動した後に基準領域Nを通過したことを示す情報を本装置100へ送信する命令(第4命令)を生成する。第2命令は、仮想領域Aを出発又は通過することが許可されるかを確認する命令、第3命令は、仮想領域Aを出発又通過する命令であるとも言える。このように1つの基準領域Nに対して、4つの命令が生成される。
走行制御部13は、走行ルートに含まれる複数の基準領域に対してそれぞれ生成した命令を、これら複数の基準領域の配置順序で配置することにより、移動指令データを生成する。
移動指令データ生成部15は、移動体に対して生成した移動指令データを、通信部14を介して、当該移動体に送信する。
以上の動作を、運行計画が作成されたすべての移動体に対して行う。
移動指令データに含まれる最初の命令の実行開始時刻を付加してもよい。最初の命令の実行開始時刻は、走行計画における最初の基準領域の出発時刻と同じでもよい。走行計画又は走行ルートに、移動体が行う作業が含まれる場合は、当該作業に対応する命令も、移動指令データに追加される。作業の例として、搬入口から荷物を受け取ること、受け取った荷物を棚に運ぶこと、棚に荷物を積み上げることなどがある。また、棚から荷物を積み降ろすことなどもある。
図14は、図12の運行計画(走行ルート情報、通過順序情報)と、図7の走行路ネットワークとの例において、AGV0及びAGV1に対して生成された移動指令データの例を示す。以下、AGV0及びAGV1の移動指令データを生成する手順を具体的に示す。
AGV0の走行ルートにおいて、最初の基準領域Paは出発地点に対応するため、地点Paへ移動する命令を生成する。図14の“Pa”はPaへ移動する命令を意味する。命令の表記は任意でよく、例えばPaへ移動する命令を、Move_Paなどとしてもよい。なお、本例では、AGV0はすでに出発地点に存在するため、この命令を実行しても実際に移動することはないものとする。したがって、Paへ移動する命令の生成を省略することも可能である。
AGV0の走行ルートにおいて、2番目の領域Naは、通過順序情報で通過順序が定められた領域である。したがって、AGV0の走行ルートにおいて、領域Naの直前に走行する走行路を特定する。特定した走行路において領域Naに対して設定された仮想領域Iaを特定する。具体的な処理としては、基準ノードNaの直前に走行する仮想走行路を特定し、特定した仮想走行路において基準ノードNaに対する仮想ノードIaを特定する。
また、AGV0の走行ルートにおいて、領域Naの後の直後に走行する走行路を特定する。特定した走行路において領域Naに対して設定された仮想領域Ibを特定する。具体的な処理としては、基準ノードNaの直後に走行する仮想走行路を特定し、特定した仮想走行路において、基準ノードNaに対する仮想ノードIbを特定する。
よって、
仮想領域Iaへ移動する命令“Ia”、
指定領域Naを通過する(仮想領域Iaを出発又は通過する)ことが許可されるかを確認する命令“Check(Na)”、
指定領域Naの通過が許可される場合に仮想領域Ibへ移動(仮想領域Iaを出発又は通過)する命令“Ib”、
仮想領域Ibへ移動した後に指定領域Naを通過したこと(仮想領域Ibに到達したこと)を示す情報を本装置100に送信する命令“Notice(Na)”
を生成する。
Check(Na)は、指定領域Naに対する通過確認を行う命令(通過確認命令)、Notice(Na)は、指定領域Naの通過完了通知を行う命令(通過通知命令)に相当する。
なお、AGV0は、Check(Na)の実行により走行制御部13から領域(指定ノード)Naの通過を許可される前は、仮想領域Iaより先に進むことはできないものとする。例えばAGV0は、領域Naの通過の許可を得る前に仮想領域Iaに達した場合は、仮想領域Iaで一時停止する。一方、AGV0は、仮想領域Ibでは、仮想領域Ibに達した時点で、Notice(Na)を実行し、仮想領域Ibで一時停止する必要はない。
AGV0の走行ルートにおいて、3番目の領域Pbは、到着地点であるため、到着地点Pbへ移動する命令“Pd”を生成する。
以上のように生成した命令を、走行ルートに含まれる基準領域の順番に対応して配置することで、図14に示す移動指令データがAGV0に対して生成される。AGV1の場合も、AGV0と同様にして、移動指令データを生成することができる。走行制御部13は、AGV0及びAGV1に対して生成した移動指令データを、通信部14を介して、AGV0及びAGV1に送信する。
走行制御部13は、指定領域(基準領域)に対する通過確認の問合せデータを移動体から受信した場合は、当該指定領域の通過順序情報を確認する。問合せ元の移動体より早い順序の移動体の全てから当該指定領域の通過完了通知を受信済みか、もしくは問合せ元の移動体が1番最初の順序の場合は、指定領域の通過の許可通知(仮想領域の出発又は通過の許可通知)を、問合せ元の移動体に送信する。それ以外のときは、問合せ元の移動体に、指定領域の通過の非許可通知を送信する。運行計画装置100は、指定領域の通過を許可するまで、繰り返し非許可通知を送信してもよい。また走行制御部13は、移動体から指定領域に対する通過完了通知を受信した場合は、通過完了通知に示される指定領域を、通過完了通知の送信元の移動体に関連づけて、運行計画DB26又は内部のバッファ等に格納する。
通信部14は、移動体の通信部51と無線又は有線の通信を行う。通信の方式は、任意でよい。専用のプロトコルを定義してもよいし、IEEE802.11で定められた無線LAN(Local Area Network)プロトコルでもよい。
移動体の通信部51は、運行計画装置100の通信部14と、無線又は有線の通信を行う。通信の方式は、上述の通り、任意でよい。
移動体の走行制御部55は、命令実行部52、通過確認部53及び通過通知部54を用いて、移動体の走行を制御する。走行制御部55は、移動体の走行ルートにおいて指定領域より前に走行する走行路に設定された仮想領域を移動体が通過する前に、指定領域の通過が可能か否かを、走行制御装置との通信に基づき確認する。走行制御部55は、指定領域の通過が可能な場合は、移動体が仮想領域を通過し、指定領域の通過が可能でない場合は、指定領域の通過が可能であることを確認できるまで、仮想領域を通過しない(例えば仮想領域で停止する)よう制御する。走行制御部55は、通信部51を介して、運行計画装置100から移動指令データを取得する。
命令実行部52は、移動指令データに含まれる命令を順番に実行することで、出発地点から到着地点まで走行ルートに沿って走行する。移動体は、最初の命令に時刻が付加されている場合は、当該時刻になった時点で命令の実行を開始する。時刻が付加されていない場合は、移動指令データを受信してから即時又は一定時間後に命令の実行を開始する。ここで記載した以外の方法で最初の命令を実行するタイミングを定めてもよい。
命令実行部52は、命令が基準領域又は仮想領域への移動命令であるときは、命令で指定された基準領域又は仮想領域へ移動する。命令が指定領域に対する通過確認命令であるときは、通過確認部53を用いて、運行計画装置100に対して通過確認の問合せを行う。
通過確認部53は、指定領域に対する通過が許可されるかの問合せデータ(通過確認の問合せデータ)を運行計画装置100に送信する。通過確認部53は通過の許可通知を受信した場合は、通過許可を示すデータ又は信号を命令実行部52に提供する。命令実行部52は、通過許可のデータ又は信号を受信した場合は、次の命令を実行する。すなわち、指定領域の手前の仮想領域(すなわち、現在、一時停止している又は現在向かっている仮想領域)を出発する。次の領域(仮想領域又は基準領域)へ移動する途中で、指定領域を通過することになる。一方、通過確認部53は運行計画装置100から通過の非許可通知を受信した場合又は何ら応答を受信しない場合は、通過の許可通知が得られるまで待機する、もしくは一定時間ごとに通過許可の問合せデータを繰り返し送信する。あるいは、運行計画装置100は、通過を許可するまで繰り返し非許可通知を送信してもよい。
命令実行部52は、命令が指定領域に対する通過通知命令であるときは、通過通知部54を用いて、運行計画装置100に対して通過完了通知を行う。通過通知部54は、当該命令で指定された指定領域を通過したことの通知を、運行計画装置100に送信する。
以下、AGV0及びAGV1を例に、移動体の動作について、説明する。
AGV0は図14の1番目の移動体指令データを受信し、受信した移動体指令データに含まれる命令を順番に実行する。AGV1は図14の2番目の移動体指令データを受信し、受信した移動体指令データに含まれる命令を順番に実行する。ここでは説明のため、移動体指令データを受信したAGV0及びAGV1が同時に命令の実行を開始する場合を想定する。
[AGV0]
AGV0は、命令Paを実行するが、すでに領域Paに存在するため、次の命令Iaを実行する(あるいは最初の命令はスキップしてもよい)。AGV0は命令Iaの実行により、仮想領域Iaに向かって移動する。AGV0は仮想領域Iaに到着した時又は到着する前に、命令Check(Na)を実行する。AGV0は仮想領域Iaに到着した時点でまだIaの通過許可を得ていない場合は、仮想領域Iaで一時停止する。AGV0は、命令Check(Na)の実行により、領域Naを通過することが許可されるかを確認する。具体的には、AGV0は領域Naを通過する(仮想領域Iaを通過又は出発する)ことが許可されるかの問い合わせデータ(通過確認の問合せデータ)を運行計画装置100に送信する。運行計画装置100の走行制御部13は、通過順序情報に基づき、AGV0の通過順序を確認する。AGV0の通過順序は1番目のため、走行制御部13は、領域Naの通過の許可通知(仮想領域Iaを通過又は出発の許可通知)をAGV0に送信する。AGV0は、領域Naの通過(仮想領域Iaを通過又は出発)を許可されたため、次の命令Ibを実行して、仮想領域Ibに向かう。仮想領域Ibに向かう途中で、領域Naを通過する。仮想領域Ibに到着すると、次の命令Notice(Na)を実行して、運行計画装置100に、領域Naを通過したこと(仮想領域Ibに到達したこと)を示す通過完了通知を送信する。AGV0は、続いて、次の命令Pbを実行して、領域Pbに移動する。領域Pbに到着したら、動作を終了する。例えば、AGV0は運行計画装置100から次の移動指令データを受信するのを待機する。
[AGV1]
AGV1は、命令Pcを実行するが、すでに領域Pcに存在するため、次の命令Icを実行する(あるいは最初の命令はスキップしてもよい)。AGV1は命令Icの実行により、仮想領域Icに向かう。AGV1は仮想領域Icに到着した時又は到着する前に、命令Check(Na)を実行する。AGV1は仮想領域Icに到着した時点でまだIcの通過許可を得ていない場合は、仮想領域Icで一時停止する。AGV1は、次の命令Check(Na)の実行により、領域Naを通過することが許可されるかを確認する。具体的には、AGV1は領域Naを通過する(仮想領域Icを通過又は出発)ことが許可されるかの問い合わせデータ(通過確認の問合せデータ)を運行計画装置100に送信する。運行計画装置100の走行制御部13は、通過順序情報に基づき、AGV1の通過順序を確認する。AGV1の通過順序は2番目のため、走行制御部13は、1番目のAGV0が領域Naを通過済みか調べる。AGV0からは領域Naの通過完了通知を受信している場合は、AGV0は領域Naを通過済みと判断する。この場合、走行制御部13は、AGV1が領域Naを通過することの許可通知(仮想領域Icを通過又は出発の許可通知)をAGV1に送信する。一方、走行制御部13は、AGV0からは領域Naの通過完了通知を受信していない場合は、AGV0がまだ領域Naを通過済みでないと判断し、AGV1に非許可通知を送信するか、もしくは何も応答を送信しない。AGV1は、領域Naの通過を許可された場合(仮想領域Iaの通過又は出発を許可された場合)は、次の命令Idを実行して、仮想領域Idに向かう。AGV1は運行計画装置100から非許可通知を受信したか、もしくは何も応答を受信しない場合は、仮想領域Icで待機したまま、一定時間後に、再度問い合わせデータを送信する。もしくは、運行計画装置100から許可通知を受信するまで仮想領域Icで待機し続ける。AGV1は仮想領域Idに向かう途中で、領域Naを通過する。仮想領域Idに到着すると、次の命令Notice(Na)を実行して、運行計画装置100に、領域Naを通過したこと(仮想領域Ibに到達したこと)を示す通過完了通知を送信する。AGV1は、次の命令Pdを実行して、領域Pdに移動する。領域Pbに到着したら、動作を終了する。例えば、AGV1は運行計画装置100から次の移動指令データを受信するのを待機する。
図15は、運行計画装置100の動作の一例のフローチャートである。仮想領域設定部11は、走行路ネットワーク情報DB23、基準領域DB22及び走行路情報DB21に記憶された情報に基づき、走行路ネットワークにおける各基準領域に対して仮想領域を設定する。具体的な処理としては、走行路ネットワークの構造情報に示される各基準ノードに対して、仮想ノードを設定する(S11)。
運行計画決定部12は、運行情報DB25及び移動体情報DB24に記憶された情報に基づき、運行情報に示される各運行を移動体に割り当てる(S12)。各移動体に割り当てた運行に基づき、各移動体の走行計画を生成する(S13)。走行計画は一例として、走行ルートと走行タイミングとを含む。運行計画決定部12は、各移動体の走行ルートに基づき、複数の移動体が共通に通過する基準領域を特定する(S14)。特定した基準領域を指定領域とする。指定領域を通過する移動体の順序を決定する(S15)。一例として、当該指定領域における複数の移動体の走行タイミングに基づき、走行タイミングが早い順に、移動体の順序を決定する。運行計画決定部12は、各移動体の走行ルートを表す情報(走行ルート情報)と、指定領域の通過順序の制約を表す情報(通過順序情報)とを運行計画として得る(S16)。
走行制御部13は、運行計画における各移動体の走行ルート情報と、仮想領域設定部11により設定された仮想領域の情報とに基づき、各移動体の移動指令データを生成する(S17)。より詳細には、走行ルートの最初の基準領域と最後の基準領域に対しては、最初の基準領域への移動命令と、最後の基準領域の移動命令を生成する。最初の基準領域と最後の基準領域との間の基準領域については、当該基準領域の前の仮想領域(仮想領域Aとする)への移動命令と、基準領域に対する通過確認命令と、通過の許可が得られた後に基準領域の後の仮想領域(仮想領域Bとする)への移動命令(仮想領域Aの出発又は通過の命令)と、仮想領域Bに到達した時点で基準領域の通過完了通知を送信する命令とを生成する。走行制御部13は、走行ルートに含まれる各基準領域に対して生成した命令を基準領域の配置順序に対応して配置することで、移動指令データを生成する。走行制御部13は、生成した各移動体の移動指令データを、通信部14を介して各移動体に送信する(S18)。
図16は、各移動体に移動指令データを送信した後の動作の一例を示すフローチャートである。
走行制御部13は、移動体から指定領域(基準領域)に対する通過確認の問合せデータを受信したかを判断する(S21)。問合せデータを受信していない場合(S21のNO)、ステップS25に進む。問合せデータを受信した場合(S21のYES)は、問合せデータに示される指定領域の通過順序情報を確認する。問合せ元の移動体より早い順序の移動体を全て特定し、特定した全ての移動体から当該指定領域の通過完了通知を受信済みか、もしくは問合せ元の移動体が1番最初の順序かを判断する(S22)。全ての移動体から通過完了通知を受信済みのとき、もしくは問合せ元の移動体が1番最初の順序のときは、問合せ元の移動体に指定領域の通過の許可通知(仮想領域の出発又は通過の許可通知)を送信する(S23)。それ以外のときは、問合せ元の移動体に、指定領域の通過の非許可通知を送信する(S24)。
走行制御部13は、移動体から指定領域に対する通過完了通知を受信したかを判断する(S25)。通過完了通知を受信した場合は(S25のYES)、通過完了通知に示される指定領域を、通過完了通知の送信元の移動体に関連づけて、運行計画DB26又は内部のバッファ等に格納する(S26)。通過完了通知を受信していない場合は(S25のNO)、ステップS21に進む。走行制御部13が、全ての移動体から運行の完了の通知を受信した場合は、本処理を終了する(S27のYES)。まだ運行が完了していない移動体が存在するときは、ステップS21に戻る。
図17は、移動指令データを受信した移動体の動作の一例を示すフローチャートである。移動体の命令実行部52は、移動指令データに含まれる複数の命令を最初から順番に特定する。特定した命令が移動命令かを確認する(S31)。移動命令のときは、移動命令で指定された領域(基準領域又は仮想領域)に移動する(S32)。当該領域へ移動したら、全ての命令を実行したかを判断する(S37)。なお、最初の出発地点(開始地点)に移動体が位置している場合に、最初の命令が開始地点への移動命令であるときは、移動する必要はない。
ステップS37で全ての命令を実行済みでないと判断した場合は(NO)、次の命令を特定し(S38)、ステップS31に戻る。全ての命令を実行済みの場合は(YES)、本処理を終了する。
特定した命令が移動命令でない場合は(S31のNO)、命令が指定領域に対する通過確認命令及び指定領域に対する通過通知命令のいずれかを判断する(S33)。
通過確認命令の場合は、通過確認部53から指定領域に対する通過確認の問合せデータを運行計画装置100に送信する(S34)。運行計画装置100から通過の許可通知を受信した場合は(S35のYES)、ステップS38に進む。許可通知を受信しない場合は(S35のNO)、許可通知を受信するまで待機する。あるいは、許可通知を受信するまで、一定時間ごとに、上記の問合せデータを繰り返し送信してもよい。なお、許可通知を受信しない形態として、非許可通知を受信する場合、又は何ら応答を受信しない場合がある。
特定した命令が通過通知命令である場合は、通過通知部54から指定領域に対する通過完了通知を運行計画装置100に送信する(S36)。送信後、運行計画装置100から確認応答を受信するようにしてもよい。この場合、確認応答を受信できるまで、通過通知部54は待機する。もしくは、一定時間経過しても確認応答を受信できない場合は、通過完了通知を再送してもよい。この後、ステップS37に進む。
本実施形態では、走行路ネットワークにおける各基準領域に対して仮想領域を事前に設定したが、運行計画作成時に走行ルートに含まれる基準領域を対象に、仮想領域を作成してもよい。
本実施形態では、移動体が指定領域を通過した後に、指定領域の直後に通過する仮想領域で通過完了通知を送信した。本装置100で移動体の位置情報をリアルタイムに管理している場合は、本装置100側で移動体の指定領域の通過を検知することも可能である。この場合、移動体から通過完了通知を送信することを省略してもよい(つまり第4命令を省略してもよい)。
本実施形態では、仮想領域を指定領域に結合されている走行路に設定したが、これに限定されない。例えば、一端側が指定領域に結合されている走行路の他端側が他の基準領域に結合されており、当該他の基準領域に結合されている他の走行路に、指定領域に対する仮想領域を設定してもよい。例えば他の基準領域が移動体の通過順序を管理する必要がなく、他の基準領域を指定領域としない場合にこのようにすることも可能である。
本実施形態では、通過順序を複数の移動体が通過する基準領域(基準ノード)に対して生成したが、1台のみの移動体が通過する基準領域(基準ノード)に対して生成してもよい。また1台のみの移動体が通過する基準領域を指定領域としてもよい。
以上、本実施形態によれば、通過順序情報で当該移動体の前に通過することが定められた他の移動体が全て指定領域を通過している場合のみ、当該移動体が指定領域の直前の仮想領域を出発又は通過するよう制御する。これにより、指定領域における移動体の通過順序を保証できる。よって、走行環境の外乱等に拘わらず、移動体の競合を回避した運行が可能になる。
(第1変形例)
上述した実施形態では、走行計画として、各移動体の走行ルートと、走行ルートに含まれる各基準領域の出発時刻とを算出した。別の方法として、複数の移動体の走行ルートと、複数の移動体の走行ルートに共通に含まれる基準領域に対する移動体の通過順序とを、走行計画として算出してもよい。この場合、各基準領域の出発時刻の算出する必要はない。当該基準領域に対する通過順序の情報をそのまま、運行計画の通過順序情報として用いることができる。
(第2変形例)
基準領域は交差部だけではなく、荷積み荷降ろし場所、充電場所、移動体の待機場所など移動体が停止する場所でもよい。また基準領域は、2車線分のルートから1車線分のルートなど道が狭まる場所でもよい。また、基準領域は、走行路の勾配が変化する箇所でもよい。また、基準領域は、曲がり角など、移動体のスピードが変わる箇所でもよい。移動体同士の追突等の起こりえる場所を基準領域とし、基準領域に対して仮想領域を設定することで、通過順序を適正に制御することが考えられる。また移動体の出発地点となる場所、運行情報の到達地点となる場所を基準領域としてよい。また、移動体の現在位置を基準領域としてもよい。
(第2実施形態)
第1実施形態では移動体及び運行管理装置100間の通信することで、指定領域の直前の仮想領域の出発又は通過の制御(通過確認の問合せと通過完了通知の送信)を行った。本実施形態では、移動体同士で互いに通信することで、指定領域の直前の仮想領域の出発又は通過の制御を行う。本実施形態では指定領域の通過の権利(通行権)を移動体同士でやりとりし、通行権を有している移動体のみが指定領域を通過(指定領域の直前の仮想領域の出発又は通過)することを許可される仕組みを導入する。以下、本実施形態について詳細に説明する。第1の実施形態と同様の説明は省略する。
図18に、第2の実施形態に係る運行計画装置(走行制御装置)と移動体とを備えた運行システムのブロック図を示す。運行計画装置100は走行制御部13を備えていない点を除き、第1の実施形態と同様の構成を有する。移動体201_1~201_Nは通行権処理部57を備えており、第1の実施形態における通過確認部53及び通過通知部54を備えていない。移動体201_1~201_Nの通信部51は、運行計画装置100と通信し、また移動体201_1~201_Nのうち自移動体以外の移動体と通信する。移動体間の通信の方式は、専用プロトコル又は無線LANプロトコルなど、任意でよい。
運行計画装置100の仮想領域設定部11及び運行計画決定部12の動作は、第1の実施形態と同じである。
移動指令データ生成部15は、運行計画DB26における移動体の運行計画(走行ルート情報、通過順序情報)と、仮想領域設定部11により設定された仮想領域とに基づき、移動体の移動指令データを生成する。第1の実施形態と同様、移動指令データは、指定領域において複数の移動体が競合しないように生成されるが、生成する移動指令データの構成は、第1の実施形態と異なる。以下、詳細を説明する。
移動指令データ生成部15は、運行計画に基づき、走行ルートに含まれる複数の基準ノード(基準領域)のうち指定領域を特定する。特定した指定領域に対して、通過順序情報に基づき最も順番が早い移動体を特定する。特定した移動体に対して、当該移動体自体に指定領域の通行権を提供する命令(通行権提供命令)を生成する。通行権提供命令をSendRight(引数1、引数2)と表す。引数1は指定領域のID、引数2は移動体のIDである。通行権提供命令を実行する移動体は、引数2で指定された移動体に、引数1で指定された指定領域の通行権を提供する。通行権を提供するとは、通行権を示す情報を含むデータを送信することである。ここでは、通行権提供命令を実行する移動体自体に通行権を提供するため、引数2に指定するIDは、当該移動体自体のIDである。引数1に指定するIDは、上記の特定した指定領域のIDである。
走行ルートにおける最初の基準領域を特定する。最初の基準領域は、本実施形態では移動体の出発地点(開始位置)に対応する。当該最初の基準領域に対しては、第1の実施形態と同様、出発地点への移動命令を生成する。
走行ルートの最後の基準領域を特定する。最後の基準領域は、移動体の到着地点(終了位置)に対応する。最後の基準領域に対しては、第1の実施形態と同様、到着地点への移動命令を生成する。
最初の基準領域と最後の基準領域以外の基準領域については、当該基準領域が指定領域か否かを判断する。指定領域でない場合は、当該基準領域に対応する基準領域への移動命令を生成する。
基準領域が指定領域の場合(ここでは基準領域Nが指定領域であるとする)、基準領域Nの前に結合されている走行路を特定する。特定した走行路において基準領域Nに対して設定されている仮想領域(仮想領域Aと記載する)を特定する。また、走行ルートにおいて、基準領域Nの後ろに結合された走行路を特定し、特定した走行路において当該基準領域Nに対して設定されている仮想領域(仮想領域Bとする)を特定する。
そして、仮想領域Aへ移動する命令(第1命令)、基準領域Nの通行権を自移動体が有しているかを確認する命令(通行権確認命令、第2命令)、基準領域Nの通行権を有している場合に仮想領域Bへ移動する命令(第3命令)、仮想領域Bへ移動した後に基準領域Nの通行権を、通過順序情報において次の順番の移動体に提供する命令(通過提供命令、第4命令)を生成する。次の順番の移動体が存在しない場合(自移動体が最後の順番の場合)、通過提供命令の引数として移動体のIDはNULL(どの移動体も指定しない)にする。通行権確認命令をHaveRight(引数)と表す。通行権確認命令の引数は基準領域(指定領域)のIDである。通行権確認命令を実行する移動体は、引数として指定された指定領域を通過する通行権を自移動体が有するか(つまり指定領域を通過することを許可されるか)を確認する。第2命令は、仮想領域Aを出発又は通過することが許可されるかを確認する命令であるとも言える。第3命令は、仮想領域Aを出発又通過する命令であるとも言える。第4命令は基準領域Nの通過を次の順番の移動体に許可する命令であるとも言える。このように1つの基準領域Nに対して、4つの命令が生成される。
走行制御部13は、走行ルートに含まれる複数の基準領域に対してそれぞれ生成した命令を、これら複数の基準領域の配置順序で配置することにより、移動指令データを生成する。指定領域を最初に通過する移動体の移動指令データについては、移動指令データの先頭(出発の命令より前)に、当該指定領域の通行権提供命令を配置する。ある移動体が最初に通過する指定領域が複数存在するときは、複数の指定領域について複数の通行権提供命令を移動指令データの先頭に配置する。この際、複数の通行権提供命令の配置の順序は任意でよい。
移動指令データ生成部15は、移動体に対して生成した移動指令データを、通信部14を介して、当該移動体に送信する。
以上の動作を、運行計画が作成されたすべての移動体に対して行う。
図19は、図12の運行計画(走行ルート情報、通過順序情報)と、図7の走行路ネットワークとの例において、AGV0及びAGV1に対して生成された移動指令データの例を示す。以下、AGV0及びAGV1の移動指令データを生成する手順を具体的に示す。
AGV0及びAGV1の走行ルートにおいて指定領域Naを特定する。指定領域Naの通過順番の最も早い移動体は、通過順序情報からAGV0である。よって、AGV0に対してAGV0に指定領域Naの通行権を提供する命令(通行権提供命令)SendRight(Na,AGV0)を生成する。AGV0及びAGV1の走行ルートにおいて、指定領域はNa以外に存在しない。
AGV0の走行ルートにおいて、最初の基準領域Paは出発地点に対応するため、地点Paへ移動する命令を生成する。
AGV0の走行ルートにおいて、2番目の領域Naは、通過順序情報で通過順序が定められた指定領域である。したがって、AGV0の走行ルートにおいて、領域Naの直前に走行する走行路を特定する。特定した走行路において領域Naに対して設定された仮想領域Iaを特定する。
また、AGV0の走行ルートにおいて、領域Naの後の直後に走行する走行路を特定する。特定した走行路において領域Naに対して設定された仮想領域Ibを特定する。
よって、
仮想領域Iaへ移動する命令“Ia”、
指定領域Naの通行権を確認する(仮想領域Iaを出発又は通過する)ことが許可されるかを確認する命令“HaveRight(Na)”、
指定領域Naの通行権を有する場合に仮想領域Ibへ移動(仮想領域Iaを出発又は通過)する命令“Ib”、
仮想領域Ibへ移動した後に指定領域Naの通行権を次の順番の移動体(AGV1)に提供する命令SendRight(Na,AGV1)
を生成する。
AGV0の走行ルートにおいて、3番目の領域Pbは、到着地点であるため、到着地点Pbへ移動する命令“Pd”を生成する。
以上のように生成した命令を、走行ルートに含まれる基準領域の順番に対応して配置し、かつ、SendRight(Na,AGV0)を先頭に配置することで、図19に示す移動指令データがAGV0に対して生成される。なお、SendRight(Na,AGV0)を先頭に配置することは一例であり、SendRightで指定される指定領域の通行権を確認する命令HaveRight(Na)より前であれば、どの位置に配置してもよい。
AGV1の場合も、AGV0と同様にして、移動指令データを生成することができる。
具体的には、AGV1の走行ルートにおいて、最初の基準領域Pcは出発地点に対応するため、地点Pcへ移動する命令を生成する。
AGV1の走行ルートにおいて、2番目の領域Naは、通過順序情報で通過順序が定められた指定領域である。したがって、AGV1の走行ルートにおいて、領域Naの直前に走行する走行路を特定する。特定した走行路において領域Naに対して設定された仮想領域Icを特定する。
また、AGV0の走行ルートにおいて、領域Naの後の直後に走行する走行路を特定する。特定した走行路において領域Naに対して設定された仮想領域Idを特定する。
よって、
仮想領域Icへ移動する命令“Ic”、
指定領域Naの通行権を確認する(仮想領域Icを出発又は通過する)ことが許可されるかを確認する命令“HaveRight(Na)”、
指定領域Naの通行権を有する場合に仮想領域Idへ移動(仮想領域Icを出発又は通過)する命令“Id”、
仮想領域Icへ移動した後に指定領域Naの通行権を次の順番の移動体に提供する命令SendRight(Na,NULL)
を生成する。次の順番の移動体は存在しないため、SendRightの引数2はNULLにされる。
なお、AGV1は、HaveRight(Na)の実行により、指定領域Naの通行権を有することを確認する前は、仮想領域Icより先に進むことはできないものとする。例えばAGV1は、領域Naの通行権を取得する前に仮想領域Icに達した場合は、仮想領域Icで一時停止する。一方、AGV1は、仮想領域Idでは、仮想領域Idに達した時点で、SendRight(Na,NULL)を実行し、仮想領域Idで一時停止する必要はない。
走行制御部13は、AGV0及びAGV1に対して生成した移動指令データを、通信部14を介して、AGV0及びAGV1に送信する。
移動体の走行制御部55は、命令実行部52、通行権処理部57を用いて、移動体の走行を制御する。移動体の走行制御部55は、移動体の走行ルートにおいて指定領域より前に走行する走行路に設定された仮想領域を移動体が通過する前に、指定領域の通過が可能か否かを、他の移動体との通信に基づき確認する。走行制御部55は、指定領域の通過が可能な場合は、移動体が仮想領域を通過し、指定領域の通過が可能でない場合は、指定領域の通過が可能であることを確認できるまで、仮想領域を通過しない(例えば仮想領域で停止)するよう制御する。走行制御部55は、通信部51を介して、運行計画装置100から移動指令データを取得する。
命令実行部52は、移動指令データに含まれる命令を順番に実行することで、出発地点から到着地点まで走行ルートに沿って走行する。
命令実行部52は、命令が基準領域又は仮想領域への移動命令であるときは、移動命令で指定された基準領域又は仮想領域へ移動する。
命令実行部52は、命令が通行権提供命令であるときは、通行権処理部57を用いて、通行権提供命令で指定された移動体に、通行権提供命令で指定された指定領域の通行権を提供する処理を行う。
例えば、宛先フィールドと通行権の提供の対象となる指定領域のIDを格納する通知フィールドとを含むフレームを用いる。通行権処理部57は、フレームの宛先フィールドに当該指定された移動体のID(アドレスなど)、通知フィールドに通行権の提供の対象となる指定領域のIDを格納してフレームを生成する。生成したフレームを、通信部51を介して送信する。これにより宛先アドレスで指定した移動体に、指定領域フィールドで指定した指定領域の通行権を提供することができる。宛先の移動体からフレームの応答確認を受信するようにしてもよい。応答確認を受信しない場合は、一定時間間隔でフレームの再送を行ってもよい。これにより通行権提供の信頼性を高めることができる。
通行権処理部57は、他の移動体からフレームを受信した場合、宛先が自移動体であるかを確認する。自移動体であるときは、通知フィールドから指定領域のIDを読み出す。当該指定領域の通行権を自移動体が取得したことを把握する。通行権処理部57は自移動体が通行権を有する指定領域の情報を、通行権処理部57の内部のバッファに格納してもよいし、通行権処理部57はアクセス可能な記憶部に格納してもよい。記憶部は移動体の内部に配置されていても、有線又は無線の通信によりアクセス可能な外部の装置に配置されていてもよい。
命令実行部52は、命令が通行権確認命令であるときは、通行権処理部57を用いて、通行権提供命令で指定された指定領域の通行権を自移動体が有するかを確認する処理を行う。通行権を有している場合は、次の命令を実行する。すなわち、指定領域の手前の仮想領域(すなわち、現在、一時停止している又は現在向かっている仮想領域)を出発し、次の領域(仮想領域又は基準領域)へ移動する。移動の途中で、指定領域を通過することになる。通行権を有していない場合は、通行権を取得するまで、指定領域の手前の仮想領域で待機する。
以下、AGV0及びAGV1を例に、移動体の動作について、説明する。
AGV0は図19の1番目の移動体指令データを受信し、受信した移動体指令データに含まれる命令を順番に実行する。AGV1は図19の2番目の移動体指令データを受信し、受信した移動体指令データに含まれる命令を順番に実行する。ここでは説明のため、移動体指令データを受信したAGV0及びAGV1が同時に命令の実行を開始する場合を想定する。
[AGV0]
AGV0は、SendRight(Na,AGV0)を実行し、AGV0にNaの通行権を提供する。次の命令Paを実行する。すでに領域Paに存在するため、次の命令Iaを実行する。AGV0は命令Iaの実行により、仮想領域Iaに向かって移動する。AGV0は仮想領域Iaに到着した時又は到着する前に、次の命令HaveRight(Na)を実行する。AGV0はNaの通行権を有しているため、次の命令Ibを実行する。命令Ibの実行により、仮想領域Ibに向かう。仮想領域Ibに向かう途中で、領域Naを通過する。仮想領域Ibに到着すると、次の命令SendRight(Na,AGV1)を実行して、AGV1に領域Naの通行権を提供する。AGV0は、続いて、次の命令Pbを実行して、領域Pbに移動する。領域Pbに到着したら、動作を終了する。例えば、AGV0は運行計画装置100から次の移動指令データを受信するのを待機する。
[AGV1]
AGV1は、命令Pcを実行するが、すでに領域Pcに存在するため、次の命令Icを実行する。AGV1は命令Icの実行により、仮想領域Icに向かう。AGV1は仮想領域Icに到着した時又は到着する前に、次の命令HaveRight(Na)を実行し、領域Naの通行権を有しているかを確認する。AGV1はまだ通行権を取得していない場合は、Naの通行権を取得するまで、仮想領域Icで一時停止する。AGV1は、Naの通行権をIcに到着する前に取得している場合、もしくは、Icで取得した場合は、次の命令Idを実行して、仮想領域Idに向かう。AGV1は仮想領域Idに到着すると、次の命令SendRight(Na,NULL)を実行する。移動体のIDがNULLのため、次に通行権を受け取る移動体は存在しないと判断する。この場合、通行権を廃棄してもよい。あるいは、通行権を運行計画装置100に送信してもよい。この場合、運行計画装置100は、通行権に係る指定領域を、計画された全ての移動体が通過したことを把握できる。AGV1は、次の命令Pdを実行して、領域Pdに移動する。領域Pbに到着したら、動作を終了する。例えば、AGV1は運行計画装置100から次の移動指令データを受信するのを待機する。
図20は、移動指令データを受信した移動体の動作の一例を示すフローチャートである。移動体の命令実行部52は、移動指令データに含まれる複数の命令を最初から順番に特定する。特定した命令の種類を確認する(S41)。移動命令のときは、移動命令で指定された領域(基準領域又は仮想領域)に移動する(S42)。当該領域へ移動したら、全ての命令を実行したかを判断する(S47)。なお、最初の出発地点(開始地点)に移動体が位置している場合に、最初の命令が開始地点への移動命令であるときは、移動する必要はない。
ステップS47で全ての命令を実行済みでないと判断した場合は(NO)、次の命令を特定し(S48)、ステップS41に戻る。全ての命令を実行済みの場合は(YES)、本処理を終了する。
特定した命令が移動命令でない場合は(S41のNO)、命令が指定領域に対する通行権提供命令及び通行権確認命令のいずれかを判断する(S43)。
特定した命令が、通行権提供命令の場合は、通行権提供命令で指定された指定領域に対する通行権を、通行権提供命令で指定された移動体に提供する(S46)。この後、ステップS45に進む。
特定した命令が通行権確認命令である場合は、指定領域の通行権を有しているかを確認する(S44)。自移動体が最初に指定領域を通過する場合はすでに通行権を有しており、それ以外の場合は、他の移動体から指定領域の通行権を取得済みか(通行権を示す情報を含むデータを受信済みか)を判断する。通行権を有している場合は、次の命令を特定し(S48)、ステップS41に戻る。
本実施形態によれば、移動体間の通信により、指定領域に対する通行権を受け渡しすることで、指定領域における移動体間の競合を防止できる。例えば、指定領域の通行権を取得していない場合は、指定領域の手前の仮想領域で一時停止することで、競合を防止できる。また指定領域の手前の仮想領域に到達する前に、通行権を受けることで、当該仮想領域で停止することなく、指定領域へ移動できる。
(ハードウェア構成)
図21に、図1の運行計画装置100のハードウェア構成を示す。図1の運行計画装置100は、コンピュータ装置300により構成される。コンピュータ装置300は、CPU301と、入力インタフェース302と、表示装置303と、通信装置304と、主記憶装置305と、外部記憶装置306とを備え、これらはバス307により相互に接続されている。
CPU(中央演算装置)301は、主記憶装置305上で、コンピュータプログラムである運行計画プログラム(情報処理プログラム)を実行する。運行計画プログラムは、運行計画装置100の上述の各機能構成を実現するプログラムのことである。運行計画プログラムは、1つのプログラムではなく、複数のプログラムやスクリプトの組み合わせにより実現されていてもよい。CPU301が、運行計画プログラムを実行することにより、各機能構成は実現される。
入力インタフェース302は、キーボード、マウス、およびタッチパネルなどの入力装置からの操作信号を、運行計画装置100に入力するための回路又は入力装置である。
表示装置303は、運行計画装置100から出力されるデータを表示する。表示装置303は、例えば、LCD(液晶ディスプレイ)、有機エレクトロルミネッセンスディスプレイ、CRT(ブラウン管)、またはPDP(プラズマディスプレイ)であるが、これに限られない。コンピュータ装置300から出力されたデータは、この表示装置303に表示することができる。
通信装置304は、運行計画装置100が外部装置と無線または有線で通信するための回路である。データは、通信装置304を介して外部装置から入力することができる。外部装置から入力したデータを、主記憶装置305や外部記憶装置306に格納することができる。
主記憶装置305は、運行計画プログラム、運行計画プログラムの実行に必要なデータ、および運行計画プログラムの実行により生成されたデータなどを記憶する。運行計画プログラムは、主記憶装置305上で展開され、実行される。主記憶装置305は、例えば、RAM、DRAM、SRAMであるが、これに限られない。図1の各DB又は記憶部は、主記憶装置305上に構築されてもよい。
外部記憶装置306は、運行計画プログラム、運行計画プログラムの実行に必要なデータ、および運行計画プログラムの実行により生成されたデータなどを記憶する。これらの運行計画プログラムやデータは、運行計画プログラムの実行の際に、主記憶装置305に読み出される。外部記憶装置306は、例えば、ハードディスク、光ディスク、フラッシュメモリ、及び磁気テープであるが、これに限られない。図1の各DB又は各記憶部は、外部記憶装置306上に構築されてもよい。
なお、運行計画プログラムは、コンピュータ装置300に予めインストールされていてもよいし、CD-ROMなどの記憶媒体に記憶されていてもよい。また、運行計画プログラムは、インターネット上にアップロードされていてもよい。
また、運行計画装置100は、単一のコンピュータ装置300により構成されてもよいし、相互に接続された複数のコンピュータ装置300からなるシステムとして構成されてもよい。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
11:仮想領域設定部
12:運行計画決定部
13:走行制御部
14:通信部
15:移動指令データ生成部
21:走行路情報データベース(DB)
22:基準領域DB
23:走行路ネットワーク情報DB
24:移動体情報DB
25:運行情報DB
26:運行計画DB
51:通信部
52:命令実行部
53:通過確認部
54:通過通知部
55:走行制御部
57:通行権処理部
201_1~201_3:移動体
100:運行計画装置
300:コンピュータ装置
301:CPU
302:入力インタフェース
303:表示装置
304:通信装置
305:主記憶装置
306:外部記憶装置

Claims (12)

  1. 複数の領域当該複数の領域を結合する複数の走行路とを含む走行エリアにある2つ以上の前記走行路が交差する前記領域である交差領域を特定し、前記交差領域に結合されている前記走行路に係り仮想領域を設定する仮想領域設定部と、
    前記走行エリアにおける移動体の走行ルートと、当該走行ルートにおける前記交差領域と、前記移動体を含む複数の移動体が前記交差領域を通過する順序を定めた通過順序情報を取得し、
    前記移動体の前記走行ルートにおける前記仮想領域、前記交差領域及び前記通過順序情報に基づき、前記移動体に送信する移動指令データを生成す移動指令データ生成部と
    を備えた走行制御装置。
  2. 前記仮想領域設定部は、前記交差領域に結合された前記走行路に係り、前記交差領域から予め決められた距離にある位置に前記仮想領域を設定する
    請求項1に記載の走行制御装置。
  3. 前記仮想領域設定部は、前記交差領域からの、前記走行路の構造に応じた距離に係る位置に前記仮想領域を設定する
    請求項1に記載の走行制御装置。
  4. 前記仮想領域設定部は、前記交差領域からの、前記走行路を走行する各移動体の特性に応じた距離に係る位置に前記仮想領域を設定する
    請求項1に記載の走行制御装置。
  5. 前記移動指令データは、
    前記移動体が第1の仮想領域へ移動する第1命令と、
    前記移動体が前記第1の仮想領域の通過が許可されるかを前記走行制御装置に確認する第2命令と、
    前記第1の仮想領域を含む前記走行路に結合された前記交差領域の通過を前記移動体が許可される場合に、前記移動体が前記第1の仮想領域を通過する第3命令と、を含む
    請求項1~4のいずれか一項に記載の走行制御装置。
  6. 前記移動指令データ生成部は、
    前記移動体の前記走行ルートにおいて前記交差領域の通過前に走行する、前記交差領域に結合された前記走行路における第1の仮想領域と、
    前記交差領域の通過後に通過する、前記交差領域に結合された前記走行路における第2の仮想領域と、を特定し、
    前記第2の仮想領域と、前記第1の仮想領域とを用いて、前記移動指令データを生成する
    請求項1~4のいずれか一項に記載の走行制御装置。
  7. 前記移動指令データは、
    前記移動体が前記第1の仮想領域へ移動する第1命令と、
    前記移動体が前記交差領域の通過許可されるかを前記走行制御装置に確認する第2命令と、
    前記交差領域の通過を前記移動体が許可される場合に、前記移動体が前記第2の仮想領域へ移動する第3命令と、
    前記第2の仮想領域へ到達したときに前記交差領域を通過したことを示す情報を前記移動体が前記走行制御装置に送信する第4命令と、を含む
    請求項に記載の走行制御装置。
  8. 前記第2命令を実行する前記移動体から前記交差領域を通過することが許可されるかの問い合わせデータを受信し、前記通過順序情報に基づき前記移動体の通過を許可するかを判断し、
    前記移動体の通過を許可する場合は、前記移動体の通過の許可通知を送信する走行制御部
    を備えた請求項に記載の走行制御装置。
  9. 前記第2命令を実行する前記移動体から前記交差領域を通過することが許可されるかの問い合わせデータを受信し、前記通過順序情報に基づき前記移動体の通過を許可するかを判断し、
    前記移動体の通過を許可する場合は、前記移動体の通過の許可通知を送信し、
    前記第4命令を実行する前記移動体から前記交差領域を通過することを示す通過完了通知を受信した場合に、前記移動体が前記交差領域を通過済みであることを決定する
    走行制御部と、
    を備えた請求項に記載の走行制御装置。
  10. 前記移動指令データは、
    前記移動体が前記第1の仮想領域へ移動する第1命令と、
    前記移動体が前記交差領域の通行権を他の移動体から取得済みか確認する第2命令と、
    前記移動体が前記通行権を取得済みの場合に前記第2の仮想領域へ移動する第3命令と、
    前記移動体が前記第2の仮想領域へ移動した後に前記通行権を第3移動体に提供する第4命令と、を含む
    請求項に記載の走行制御装置。
  11. 前記移動体は、自律移動系の移動体である
    請求項1~10のいずれか一項に記載の走行制御装置。
  12. 走行制御装置と移動体とを備えた運行システムであって、
    前記走行制御装置は、
    複数の領域と、当該複数の領域を結合する複数の走行路とを含む走行エリアにおいて2つ以上の前記走行路が交差する前記領域である交差領域を特定し、前記交差領域に結合されている前記走行路に係り仮想領域を設定する仮想領域設定部と、
    前記走行エリアにおいて前記移動体を含む複数の移動体の走行ルートに共通に含まれる前記交差領域を前記複数の移動体が通過する通過順序を表した通過順序情報を取得し、
    前記移動体の走行ルートに含まれる前記仮想領域と、前記移動体の走行ルートに含まれる前記交差領域と、前記通過順序情報とに基づき、前記移動体の移動指令データを生成する、移動指令データ生成部と、
    前記移動指令データを前記移動体に送信する通信部と、を備え、
    前記移動体は、
    前記移動指令データを受信する通信部と、
    前記移動指令データに基づき、前記走行エリアを走行する走行制御部と、を備えた
    運行システム。
JP2019196650A 2019-10-29 2019-10-29 走行制御装置及び運行システム Active JP7237799B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019196650A JP7237799B2 (ja) 2019-10-29 2019-10-29 走行制御装置及び運行システム
CN202010902566.9A CN112817305A (zh) 2019-10-29 2020-09-01 行驶控制装置、移动体以及运行系统
US17/010,864 US20210123766A1 (en) 2019-10-29 2020-09-03 Travel control apparatus, mobile body, and operation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019196650A JP7237799B2 (ja) 2019-10-29 2019-10-29 走行制御装置及び運行システム

Publications (2)

Publication Number Publication Date
JP2021071796A JP2021071796A (ja) 2021-05-06
JP7237799B2 true JP7237799B2 (ja) 2023-03-13

Family

ID=75586962

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019196650A Active JP7237799B2 (ja) 2019-10-29 2019-10-29 走行制御装置及び運行システム

Country Status (3)

Country Link
US (1) US20210123766A1 (ja)
JP (1) JP7237799B2 (ja)
CN (1) CN112817305A (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6427702B1 (ja) 2018-05-01 2018-11-21 株式会社Triart 情報処理装置、情報処理方法およびプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3686301T2 (de) * 1985-08-30 1993-01-21 Texas Instruments Inc Eigensichere bremse fuer ein mehrraedriges fahrzeug mit motorgesteuerter lenkung.
JP3493821B2 (ja) * 1995-07-12 2004-02-03 石川島播磨重工業株式会社 無人搬送車の制御装置および制御方法
KR101695557B1 (ko) * 2015-07-17 2017-01-24 고려대학교 산학협력단 자율 주행 기반 무인 운반차 시스템 및 이의 제어 방법
GB201514986D0 (en) * 2015-08-24 2015-10-07 Tomtom Navigation B V And Tomtom Telematics B V Methods and systems for generating routes
JP6796798B2 (ja) * 2017-01-23 2020-12-09 パナソニックIpマネジメント株式会社 イベント予測システム、イベント予測方法、プログラム、及び移動体
US10642282B2 (en) * 2017-04-12 2020-05-05 X Development Llc Roadmap annotation for deadlock-free multi-agent navigation
JP7228420B2 (ja) * 2019-03-13 2023-02-24 株式会社東芝 情報処理装置、情報処理方法、情報処理システム及びコンピュータプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6427702B1 (ja) 2018-05-01 2018-11-21 株式会社Triart 情報処理装置、情報処理方法およびプログラム

Also Published As

Publication number Publication date
US20210123766A1 (en) 2021-04-29
JP2021071796A (ja) 2021-05-06
CN112817305A (zh) 2021-05-18

Similar Documents

Publication Publication Date Title
JP7228420B2 (ja) 情報処理装置、情報処理方法、情報処理システム及びコンピュータプログラム
KR102415096B1 (ko) 교착 없는 다중 동작자 내비게이션을 위한 로드맵 주석부기
KR102160968B1 (ko) 자율주행 로봇 장치 및 자율 주행 방법
US10994418B2 (en) Dynamically adjusting roadmaps for robots based on sensed environmental data
US11860621B2 (en) Travel control device, travel control method, travel control system and computer program
JP7328923B2 (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム
JP7397181B2 (ja) 無人搬送車を制御するための方法および装置
JP7204631B2 (ja) 走行制御装置、方法及びコンピュータプログラム
Sharma Control classification of automated guided vehicle systems
CN113759894A (zh) 信息处理装置、信息处理方法、信息处理系统以及计算机程序
JP7237799B2 (ja) 走行制御装置及び運行システム
JP7417500B2 (ja) 情報処理装置、情報処理方法、コンピュータプログラム及び走行管理システム
JP2024045465A (ja) 走行制御装置、走行制御方法及びコンピュータプログラム
WO2023136047A1 (ja) 情報処理装置、情報処理方法およびプログラム
JP2023162890A (ja) 移動体制御システム及び設計支援システム
CN113534803A (zh) 运动路径确定方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210910

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221003

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230301

R151 Written notification of patent or utility model registration

Ref document number: 7237799

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151