JP2024020457A - 情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム - Google Patents
情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム Download PDFInfo
- Publication number
- JP2024020457A JP2024020457A JP2023196204A JP2023196204A JP2024020457A JP 2024020457 A JP2024020457 A JP 2024020457A JP 2023196204 A JP2023196204 A JP 2023196204A JP 2023196204 A JP2023196204 A JP 2023196204A JP 2024020457 A JP2024020457 A JP 2024020457A
- Authority
- JP
- Japan
- Prior art keywords
- moving
- area
- route
- travel
- movement
- 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.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims description 33
- 238000004590 computer program Methods 0.000 title claims description 7
- 238000003672 processing method Methods 0.000 title claims description 5
- 238000013439 planning Methods 0.000 claims description 123
- 238000004891 communication Methods 0.000 claims description 60
- 238000000034 method Methods 0.000 claims description 38
- 230000002860 competitive effect Effects 0.000 claims description 8
- 230000008901 benefit Effects 0.000 claims description 2
- 238000003860 storage Methods 0.000 description 50
- 238000007726 management method Methods 0.000 description 36
- 238000011156 evaluation Methods 0.000 description 30
- 230000008859 change Effects 0.000 description 21
- 230000008569 process Effects 0.000 description 20
- 238000001514 detection method Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 13
- 230000002441 reversible effect Effects 0.000 description 13
- 238000012544 monitoring process Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 239000000284 extract Substances 0.000 description 5
- 238000011144 upstream manufacturing Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000032258 transport Effects 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000010845 search algorithm Methods 0.000 description 3
- 238000012508 change request Methods 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001020 rhythmical effect Effects 0.000 description 1
- 238000013515 script Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0287—Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
- G05D1/0289—Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling with means for avoiding collisions between vehicles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0287—Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
- G05D1/0291—Fleet control
- G05D1/0297—Fleet control by controlling means in a control room
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0223—Control 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0287—Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
- G05D1/0291—Fleet control
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0287—Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
- G05D1/0291—Fleet control
- G05D1/0295—Fleet control by at least one leading vehicle of the fleet
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/16—Anti-collision systems
- G08G1/166—Anti-collision systems for active traffic, e.g. moving vehicles, pedestrians, bikes
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/22—Platooning, i.e. convoy of communicating vehicles
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Automation & Control Theory (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Operations Research (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
- Warehouses Or Storage Devices (AREA)
Abstract
【課題】移動体同士の競合を回避して、複数の移動体を効率的に走行させる。【解決手段】本発明の実施形態としての走行制御装置は、移動体同士の競合が発生する競合条件に基づいて、複数の移動体が通過する第1領域における前記複数の移動体の通過順序を決定する通過順序決定部と、前記通過順序に基づき、前記複数の移動体の走行を制御する制御部と、を備える。【選択図】図1
Description
本発明の実施形態は、情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システムに関する。
複数の移動体を同時走行させる場合、移動体間の衝突、渋滞などにより、システム全体として非効率である。複数の移動体を効率的に走行させるための走行制御装置が求められている。
本発明の実施形態は、複数の移動体を効率的に走行させるための情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システムを提供する。
本発明の実施形態としての情報処理装置は、移動体同士の競合が発生する競合条件に基づいて、複数の移動体が通過する第1領域における前記複数の移動体の通過順序を決定する通過順序決定部と、前記通過順序に基づき、前記複数の移動体の移動を制御する制御部と、を備える。
本実施形態の技術的背景について説明する。近年、多品種少量生産の一般化に伴い、生産工程における柔軟性を生み出すことが必要となってきている。例えば、生産ラインの各工程をモジュール化し、自由に組み替えて、工程間をAGV(無人搬送車)で搬送させることが行われている。また、作業用のアーム付の移動ロボットを複数の作業場所を移動させながら作業させることが行われている。
また、物流現場の深刻な人手不足を背景として、ネット通販などの物流センターでは、省人化する取り組みが加速している。例えば、AGVや自動走行フォークリフトと、ピッキングロボットとを組み合わせることなどで、この問題に対応する方法などがある。
さらに、自動車の自動走行技術の進歩に伴い、無人の状態で自動車群を駐車場で自動走行させ、駐車させる自動バレーパーキングが、実用段階に達している。また、工事現場や採掘場等で遠隔操縦された無人の建機移動体を走行させるなどの試みも実用段階に達している。
自らの位置を同定しながら走行する自律走行タイプの移動体は、移動時刻等による厳密な走行管理が困難であり、自由平面上の走行で任意の場所で予期せぬ双方向の移動が発生する場合もある。走行路の構造によってはデッドロックに陥る可能性もある。
本実施形態は、このようにAGVや移動ロボットなど複数の移動体を自由平面等の走行エリアで走行させる場合に、移動体間の衝突又はデッドロックなどの競合を発生させないように、効率的に走行させることを実現する。本実施形態は一例として、移動体として自由平面上を自ら位置を同定しながら走行する自律走行タイプの移動体を扱う。但し、予め敷設されたレールやガイドテープなど専用の走行路上を走行する非自律走行タイプの移動体にも、本実施形態は適用可能である。以下、本実施形態について詳細に説明する。
以下、図面を参照しながら、本発明の実施形態について説明する。
図1は、第1の実施形態に係る運行計画システムを備えた全体システム構成の一例を示す。全体システム構成は、運行計画システム(走行制御装置)1、複数の移動体301_1~301_N、複数のセンサ401_1~401_M、複数の通信装置501_1~501Kを備える。運行計画システム1は、運行計画装置100、運行管理装置200を備える。任意の移動体を移動体301と記載する。任意のセンサをセンサ401と記載する。任意の通信装置を通信装置501と記載する。運行計画装置100、又は運行計画装置100と運行管理装置200の両方は、本実施形態に係る走行制御装置に対応する。
運行計画装置100と運行管理装置200とは、同じ計算機システム上に存在していてもよい。あるいは、運行計画装置100と運行管理装置200とが、異なる計算機システム上に存在し、互いにネットワークを介して接続されていてもよい。
移動体301_1~301_Nは、一例として、AGV(無人搬送車:Automatic Guided Vehicle)、自律型の移動ロボット、自動走行の車両(例えば自動走行車)などの移動体である。
運行計画システム1は、複数の移動体が走行エリアを走行する場合に、デッドロック又は衝突等の競合を起こさないように、全体として効率良く運行を制御する。走行エリアには移動体の作業場所、作業対象となる物を格納する棚、物を搬入出する搬入口などが設けられていてもよい。
図2は、自由平面としての走行エリアにおいて複数の移動体の運行を制御する様子を模式的に示した上面図である。フロアのマップデータ上の座標に対応付けた形で、走行エリアに設定された複数の基準領域が基準ノード(図2のA~H)として定義される。図2の例では、走行エリアに基準領域A~Hが設定されており、基準領域A~Hに対応する複数の基準ノードA~Hがデータとして定義されている。基準領域と基準ノードとを同じ符号で表す。
基準領域間は移動体の通路(走行路)である。走行エリアは、このように複数の基準領域と、複数の基準領域間の走行路とを含む。本実施形態において、走行エリアは、走行路ネットワークとも称される。基準ノード間を接続した線を仮想走行路として定義する。仮想走行路は、当該基準ノードに対応する基準領域間の走行路に対応する。図2の例では、個々の仮想走行路を直線によって表している。但し、仮想走行路は曲線でもよいし、直線と曲線の組み合わせでもよい。
基準ノードと仮想走行路とが接続された仮想走行路ネットワークが予めデータとして定義されている。仮想走行路ネットワークのデータは、予めCAD(Computer-Aided Design)等の図面として定義されたフロアマップ上に定義されていてもよい。移動体が自己位置検知機能により環境マップを同定し、環境マップ上に仮想走行路ネットワークのデータが定義されていてもよい。ここでは特に仮想走行路ネットワークのデータの定義方法は限定しない。
図2の移動体1、2、3は図1の移動体301に対応し、移動体自身が自律走行機能を備える。移動体は、仮想走行路で接続された2つの基準ノードに対して、移動体が移動する動線を自律的に生成し、走行する機能を備えている。なお、移動体が移動する動線は、仮想走行路と一致していても、していなくてもよい。また、移動体は、仮想走行路を2つの基準ノード間を移動する際の推奨経路として走行し、仮想走行路上に一時的な障害物を発見した場合に、局所的な障害物回避を行う機能を備えていてもよい。
障害物を回避する機能を備えた移動体が、障害物を回避する余裕のある仮想走行路を通る場合、移動体同士の干渉を無視できる仮想走行路(後述する競合条件を考慮する必要のない仮想走行路)として扱うことも可能である。例えば、図2で仮想走行路BE(基準領域B及び基準領域E間の仮想走行路。以下同様)、仮想走行路BA、仮想走行路BHなどの仮想走行路では、例えば相互回避を行うだけの余裕が十分にあるため、2台の移動体が互いに向かい合う方向に走行しても、競合は発生しない。例えば一方の移動体は仮想走行路の脇で待機し、他方の移動体は仮想走行路を移動する。他方の移動体が通過し終わったら、一方の移動体は移動を再開する。一方、走行路BCでは、相互回避を行うだけの余裕がないため、当該走行路で2台の移動体が互いに向かい合う方向に走行すると、衝突等の競合が発生する。
なお移動体は、前方向、後方向又は前後両方向に移動できる。移動体はステアリング走行でも良いし、前後を反転するように回転可能であってもよい。また、移動体は、斜め方向など、前後以外の方向に移動できてもよく、ここでは特に限定しない。
以降、このように干渉を無視できる仮想走行路を無干渉走行路、干渉を無視できない(走行路(後述する競合条件を考慮する必要がある仮想走行路)を干渉走行路と称する場合がある。走行路が無干渉走行路か干渉走行路かは、仮想走行路に対して事前に定義されているものとする。
各移動体は、図1の運行計画装置100の管理の元、走行エリア(走行路ネットワーク)を、運行計画装置100によって割り当てられた運行に従って走行する。例えば、搬入口から受け取った荷物を、別の搬入口まで運ぶ。移動の途中で、棚から荷物を積み下ろしたり、積み上げたりするなどの作業を行う場合もある。このような作業を各移動体は、運行計画装置100から与えられた移動指令データに含まれる命令群を実行することにより行う。なお、移動体は、荷物の搬送や作業を行わず、移動するだけの場合もあり得る。
本実施形態に係る運行計画装置100は、各移動体が走行すべき経路を表した経路計画を生成する。経路計画に基づき、各移動体に衝突又はデッドロック等の競合を生じさせないように、各移動体が各仮想走行路を走行するタイミングを定めた走行タイミング計画を生成する。タイミングは、基準領域を出発(又は通過)するタイミング、及び到着するタイミング等の少なくとも1つを含む。
運行管理装置200は、各移動体に対し、経路計画又は走行タイミング計画に基づき各移動体が通過すべき基準領域のリスト(基準ノードのリスト)を生成し、リストに基づく移動指令データを送信する。また、走行タイミング計画に基づいて、基準領域のうち複数の移動体の通過順序を定める必要がある基準領域を管理対象領域(第1領域)として特定し、管理対象領域おける複数の移動体の通過順序を決定する。
運行管理装置200は、通過順序の通りに各移動体が管理対象領域を走行するように移動体の走行を制御する。これにより、移動体同士の衝突やデッドロックといった競合を防止する。移動体が基準領域を通過又は出発等することは、マップデータ上では、移動体が基準ノードを通過又は出発等することに相当する。また移動体が現実の走行路を走行することは、マップデータ上では、移動体が仮想走行路を走行することに相当する。以下の説明では、移動体が基準領域を通過することを、移動体が基準ノードを通過すると表現したり、移動体が現実の走行路を走行することを、移動体が仮想走行路を走行するなどと表現したりする場合もある。
ここで衝突及びデッドロックについて説明する。ここでデッドロックとは、任意の移動体が走行路ネットワークにおける任意の交差部(例えば分岐合流部)又は走行路の端部に移動できない状態になることである。衝突は、移動体が別の移動体に接触することである。
図3(A)はデッドロックの例、図3(B)は衝突の例を示す。図3では便宜上、走行路を直線によって表している。図3(A)では同一の走行路を2つの移動体が互いに逆方向に走行している。2つの移動体は前進のみ可能であるとする。この場合、2つの移動体は任意の交差部又は端部に移動できなくなり、デッドロックが発生する。図3(B)では、同一の走行路を2つの移動体が同じ方向に走行しているが、後ろの移動体が前の移動体よりも速度が速いため、後ろの移動体が前の移動体に衝突する。
このようにデッドロック又は衝突が起こることを、移動体が競合する(又は干渉する)と表現する。但し、競合はこの例に限定されない。例えば交差部(分岐合流部)に2つの移動体が同時に到着することでもよい。交差部に1台以上の移動体が待機している状態で、他の移動体が当該交差部につながる走行路を走行することでもよい。このように競合が発生する条件を、競合条件と呼ぶ。
図1の運行計画システム1は、各移動体に競合(衝突又はデッドロック等)を生じさずに、各移動体の運行を効率的に行うことを実現するものである。
図1の運行計画装置100は、走行路構造記憶部101、経路計画記憶部102、運行計画記憶部103、状態記憶部104、走行タイミング計画部(タイミング決定部)105、通過順序決定部106、指令部107、走行制御部108、再計画判定部109、経路計画部110及び通信部111を備える。本装置100のユーザから各種の指示又はデータの入力を行う入力装置(例えばマウス、キーボード、タッチパネル)が設けられていてもよい。また、各記憶部内のデータ又は各部で生成されるデータを表示する表示装置(例えば液晶ディスプレイ、有機エレクトロルミネッセンスディスプレイ)が本装置100に設けられてもよい。
運行計画装置100の通信部111は、運行管理装置200の通信部201と通信する。通信部111及び通信部201間の通信は、無線による通信でも有線による通信でもよい。運行管理装置200の通信部201は、運行計画装置100の通信部111及び移動体301と通信する。通信部201と移動体301との通信は無線通信である。但し、有線通信を排除しない。一部又は全ての移動体301が通信部201と通信できなくてもよい。但し、この場合でも、移動体301は路側に設置された通信装置501(後述)と通信できる。移動体301は、通信装置501の通信可能な範囲内で、通信装置501と通信できる。運行計画装置100と運行管理装置200が同一の装置である場合、通信部111を省略してもよい。
走行路構造記憶部101は、走行路ネットワーク(走行エリア)の構造を表す情報(走行路構造情報)を内部に記憶している。走行路構造情報は、例えば、複数の基準ノードの座標と、基準ノード間を接続する複数のアーク(仮想走行路)とを含むグラフ構造として表現される。グラフ構造は、仮想走行路ネットワークの構造に対応する。
図4は走行路構造情報の例を示す。基準ノード間を結合する直線によって個々の仮想走行路は表されている。図4(A)の各円が基準ノードを表し、円間をつなぐ線分がアーク(仮想走行路)を表す。基準ノードは、一例として、仮想走行路の端部、及び仮想走行路同士の交差部に対応する。走行路ネットワークにおいて任意の箇所に基準領域を設定(基準ノードを設定)できる。荷物の積み上げ・積み降ろし場所、待機場所、駐車場所、出入口等の任意の箇所を基準領域(基準ノード)として設定できる。一例として、交差部につながる走行路端部、交差部につながらない走行路端部(走行路の行き止まり)を基準領域としてもよい。その他、走行路の任意の箇所(例えば走行路の両端間の任意の領域)を基準領域としてもよい。交差部そのものを基準領域としてもよい。移動体は、基準領域を通過したり、一時的に滞在したりすることができる。移動体が一時的に滞在する例としては、作業のために一時的に停止、他の移動体が走行路を通過するのを待つため一時的に停止、行うべき作業が存在せず次の作業が発生するまで停止すること、充電のための待機、自動運転車の駐車などがある。
図4(B)は、基準ノードの詳細情報として、基準ノードID、X座標、Y座標を表す。例えば、基準ノードAの座標は(X,Y)=(20,20)である。
図4(C)は、走行路構造の詳細情報として、仮想走行路ID、仮想走行路の両端の基準ノードのIDを示す。例えば基準ノードA、B間の仮想走行路のIDは1、仮想走行路の両端の基準ノードはA及びBである。基準ノード間の距離(仮想走行路の距離)や各移動体の基準速度による標準的な移動時間を仮想走行路IDに対応づけ、走行路構造情報に含めてもよい。あるいは、仮想走行路の距離を、仮想走行路の両側の基準ノードの位置に基づき計算してもよい。
図5は、走行路構造情報の他の例を示す。図5(A)は、図4の走行路構造情報から一部の基準ノードを省略して、特定の基準ノードのみを残したものである。特定の基準ノードは、例えば、荷物の積み上げ・積み降ろし場所や待機場所などの領域に対応する基準ノードである。
図5(B)は、各仮想走行路の仮想走行路ID、仮想走行路の両端の基準ノードのID、各仮想走行路を走行(すなわち各仮想走行路に対応する走行路を走行)するのに要する標準時間を示す。例えば、基準ノードB及びC間の仮想走行路の仮想走行路IDは1であり、仮想走行路の両端の基準ノードはB及びCであり、仮想走行路を走行(より詳細には仮想走行路に対応する走行路を走行)するのに要する標準時間は180である。時間の単位は何でもよい。なお、標準時間の代わりに仮想走行路の距離情報を付与しても良い。
走行路構造記憶部101には、仮想走行路の構造に関する情報が、仮想走行路IDと対応づけて格納されていてもよい。例えば2台の移動体が競合回避(衝突等の干渉を回避)可能な仮想走行路か否かの情報が格納されていてもよい。
経路計画部110は、予め決められた各移動体の行うべき作業の内容と作業の順序に関する情報(各移動体の運行)に基づき、各移動体が通過する基準領域のシーケンスを指定した経路計画を生成し、生成した経路計画のデータを経路計画記憶部102に格納する。経路計画の生成方法は任意でよいが、一例として、複数の移動体が同一走行路を逆方向に進行する走行距離が少なくなることを評価基準又はその一部として、各移動体の経路計画を生成してもよい。経路計画は、外部の装置が生成したもの又は予め用意されたものを用いることもできる。この場合、経路計画部110は、当該経路計画を取得して、経路計画記憶部102に格納する。経路計画部110は、通信部111を介して外部の装置から経路計画のデータを受信してもよい。経路計画部110は、ユーザが操作する入力装置を介して経路計画のデータを取得してもよい。
経路計画記憶部102は、各移動体の経路計画のデータを内部に記憶する。
図6(A)に、ある移動体の経路計画の一例を示す。この例では、移動体が図4(A)の基準領域Lから出発し、K,I,G,E,C,Aを経由して、基準領域Bに行き、次にA,C,D,F,E,G,H,J,I,Kを経由して基準領域Mに行き、再びK,I,G,E,C,Aを経由して、基準領域Bに行き、またA,C,D,F,E,G,H,J,I,Kを経由して、基準領域Lに戻る。ここでは、基準ノードのIDを用いて基準領域を表現している。
上記の例の経路は、基準領域を往復するループ状の経路を含んでいる。この経路計画は1つの移動体についてのものであり、他の各移動体についても経路計画が用意されている。なお経路はループ状である必要はない。各移動体が長時間に渡って異なる仮想走行路を走行してもよい。
荷物の搬送を目的とした移動体や、移動しながら各種作業を行う移動ロボットなどの場合は、経路計画において作業を行う基準領域に対して、当該作業の情報が追加されてもよい。
図6(B)は、この場合の経路計画の例を示す。この例では、基準領域LとMで棚からの荷物の積み込み作業を行うことを指示する情報(Load)、基準領域Bで荷物を降ろす作業を行うことを指示する情報(Unload)が挿入されている。ここで、Loadは荷物積み作業、UnLoadは荷物降し作業を示す。なお、積み上げ等の作業を行う際の作業対象の棚等は移動体から見て左方向、右方向、前方向、斜め方向などどの方向にあるかは予め定められていてもよいし、移動体がセンサ等で作業対象の棚等を自動検出してもよい。
状態記憶部104は、各移動体の現在の走行状態を表す情報、及び移動体の固有の情報を内部に記憶している。
移動体の走行状態を表す情報として、各移動体の位置情報、移動体が搭載するバッテリーの残存電力、移動体が荷物を保有しているか否か(移動体が荷物を搬送する場合)、搬送中の荷物の種類や数等がある。位置情報は、移動体の現在位置(最も直近に検知された位置)、及び、各移動体がこれまで通過した基準ノードもしくは位置の履歴情報を含む。当該走行状態を表す情報は、後述するように運行管理装置200の状態検知部202(後述)により取得されるか、移動体自身が自己位置を検知して送信することにより運行管理装置200が取得する。後者の場合、移動体は基準ノードを通過する際だけ、走行状態を表す情報を運行管理装置200に通知する場合もある。
移動体の固有の情報として、例えば、標準速度、最大速度、最低速度、移動体のサイズ、移動可能な方向など、移動体の仕様情報がある。また、バッテリーの残存電力に応じた標準速度の変化率がある(例えば、残存電力が少ないほど、標準速度が低くされる)。また、荷物の搬送を目的とした移動体であれば、荷物の積み降しに要する作業時間の情報(例えば所定個数の荷物を積み上げ又は積み下ろすのに要する時間)がある。ここに挙げた情報は一例に過ぎず、他の情報でもよい。
走行タイミング計画部105は、各移動体の経路計画を変更しない制約条件の下で、計画対象となる各移動体について、競合(衝突又はデッドロック)を発生させないように走行タイミング計画を生成する。走行タイミング計画は、一例として、各基準領域に対する到着時刻又は出発時刻又はこれらの両方を特定可能な情報を含む。例えば、基準領域への到着時刻、基準領域の出発時刻、基準領域における滞在時間、基準領域間の移動時間などある。
走行タイミング計画の計画対象となる移動体は、一例として運行管理装置200により運行管理される全ての移動体である。走行タイミング計画部105は、各移動体の走行タイミング計画の生成のために、各移動体の経路計画、及び、各移動体の情報(走行状態を表す情報及び固有情報)を用いる。
また、走行タイミング計画部105は、後述する再計画判定部109により再計画を行うことが決定された場合に、各移動体の走行タイミング計画を再生成する。再生成した走行タイミング計画で、前回生成した走行タイミング計画を更新する。走行タイミング計画の再生成は、移動体の経路計画で示される経路のうち、まだ当該移動体がまだ移動していない経路部分、もしくはその一部に対して行う。走行タイミング計画の更新部分は、後述するように移動体の経路のうち、当該移動体に対して決定される更新位置以降の経路部分に相当する。
図7は、走行タイミング計画部105により生成された走行タイミング計画の一例を示す。3つの移動体(AGV0、AGV1、AGV2)の走行タイミング計画の例が示される。
“MOVE”は、移動を指示するコマンド(移動コマンド)であり、移動時間を引数として有する。例えば、AGV0の走行タイミング計画において、MOVE-K-I-37.0は、基準領域Kから基準領域Iに37単位時間で移動することを示す。37単位時間が、引数として指定される移動時間である。
“WAIT”は移動先の基準領域で待機することを指示するコマンド(待機コマンド)である。例えばMOVE-I-G-10.0,WAIT-52.0,とコマンドが続いた場合は、基準領域Iから基準領域Gに移動した際に、基準領域Gで52単位時間待機することを示す。したがって、この場合、MOVE-I-G-10.0は、基準領域Gまで10単位時間で移動し、その場で52単位時間待機したら、次のコマンドに従って移動する。また、基準領域に接続される走行路の端部もしくは当該走行路内の当該端部付近(すなわち基準ノードに接続される仮想走行路の端部もしくは当該仮想走行路内の当該端部付近)に、通過確認又は待機用のダミー基準領域(ダミー基準ノード)を追加してもよい。各移動体はダミー基準領域(ダミー基準ノード)を目標点又は経由点として自律走行をしてもよい。例えば移動体の制動距離が長い場合などに、基準領域の手前のダミー基準領域で停止するよう制御することで、移動体が基準領域で停止できずに超えてしまうことを防止できる。このように移動体の大きさや動特性を考慮して、ダミー基準領域(ダミー基準ノード)を設定してもよい。
本例では、移動体AGV0の経路計画は、図4(A)の基準領域Lから出発して、他の基準領域を経由して基準領域Bに行き、次に他の基準領域を経由してMに行き、再び他の基準領域を経由してBに行き、また他の基準領域を経由してLに戻る経路を指定する。
移動体AGV1の経路計画は、図4(A)の基準領域Bから出発して他の基準領域を経由して基準領域Mに行き、再度他の基準領域を経由して基準領域Bに戻ることを2回反復数する経路を指定する。
移動体AGV2の経路計画は、図4(A)の基準領域Kから出発して他の基準領域を経由して基準領域Bに行き、基準領域Lを含む他の基準領域を経由して再度Bに行き、他の基準領域を経由して基準領域Kに戻る経路を指定する。
走行タイミング計画部105は、これらのAGV0、AGV1、AGV2の経路計画(図6参照)が与えられた条件の下で、後述する探索アルゴリズムを実行することにより、図7に示したようなAGV0、AGV1、AGV2の走行タイミング計画を生成する。これらの走行タイミング計画では、競合(衝突又はデッドロック等)を発生させないように、AGV0、AGV1及びAGV2の各基準領域での到着時刻又は出発時刻等が調整されている。
走行タイミング計画部105は、MOVEコマンドで引数として指定する移動時間を算出するに当たっては、図4の走行路構造情報における仮想走行路毎の距離を、移動体がその標準速度で移動すると仮定してもよい。仮想走行路の曲率又は傾斜などに応じて、移動体の速度が標準速度から変化する場合を考慮して、図5の走行路構造情報のように仮想走行路に対して標準時間を予め与えてもよい。この場合、標準時間で移動できるように移動体は移動速度を最大速度と最低速度の間で自律的に制御してもよい。また、バッテリーの残存電力に応じた標準速度の変化率等を与えて標準速度を補正することもあり得る。また、荷物の搬送を目的とした移動体であれば、荷物搬送中は標準速度を速い値又は遅い値に補正してもよい。また、走行実績データを元に、各仮想走行路を走行する標準時間を補正しても良い。このように走行タイミング計画部105は、速度に関する条件を満たすように移動時間を算出する。
走行タイミング計画部105は、荷物の搬送を目的する移動体や、荷物の積み降し等を含む各種作業を行う移動ロボットに対しては、荷物の積み降し等に要する作業時間の情報等も反映させて、走行タイミング計画を生成する。前述した経路計画(図6(B)参照)のように、当該基準領域で行う作業内容が指定されていてもよい。また、基準領域と移動体の種類との組に応じて、予め移動体が基準領域で行う作業内容が決まっていてもよい。
図7に示した走行タイミング計画の例は、基準領域MとLで荷物の積み込みに40単位時間、基準領域Bで荷物を降しに130単位時間を要することを仮定している。荷物の積み込み及び積み降しの作業時間は、荷物の種類・個数、又は移動体の種類に応じた値が予め与えられている。この値は、状態記憶部104に格納されていてもよいし、経路計画に付与されていてもよい。また、走行実績データを元に作業時間を補正しても良い。移動体に対して当該作業の実施を指示するコマンドを、走行タイミング計画において当該作業を行う場所の基準領域に対して付与してもよい。あるいは、そのような指示のコマンドは予め移動体の内部にプログラムコードとして埋め込まれていてもよい。
図7に示した走行タイミング計画のフォーマットは、移動体のコマンドを並べた形式で表現されていたが、このフォーマットは一例に過ぎない。走行タイミング計画のフォーマットは特に限定はしない。各移動体の経路計画の一部の基準領域、もしくは全ての基準領域に対して、移動体が到着すべき時刻及び出発すべき時刻を特定可能な情報が含まれていればよい。
走行タイミング計画部105は、各移動体の走行タイミング計画と、各移動体の経路計画とに基づき、各移動体の運行計画を生成する。具体的には、移動体の経路計画の一部もしくは全ての基準領域に、当該移動体が到着すべき時刻及び出発すべき時刻を特定可能な情報を設定することにより、各移動体の運行計画を生成する。
運行計画記憶部103は、走行タイミング計画部105により生成された各移動体の運行計画、及び、後述する通過順序決定部106で決定される各基準ノードにおける移動体の通過順序を表した走行順序計画を内部に記憶する。
図8に、図7の移動体(AGV0)の運行計画の一部を示す。図6の経路計画に対して図7のAGV0の走行タイミング計画の時刻情報(到着時刻、出発時刻(通過時刻))が付与されている。AGV0は基準領域Lを時刻0に出発し、基準領域Kに時刻70に到着してそのまま停止することなく出発し(すなわち基準領域Kを時刻70で通過)、基準領域Iを時刻107で通過し、基準領域Gに時刻117に到着し、その場で52単位時間待機し、時刻169に出発する。図8に示した運行計画のフォーマットは一例に過ぎず、フォーマットは特に限定されない。例えば、運行計画は、走行タイミング計画と経路計画とを単に対応づけたものでもよい。
指令部107は、走行タイミング計画部105により決定された各移動体の走行タイミング計画に基づく移動指令データを、通信部111を介して、運行管理装置200に送信する。運行管理装置200は、通信部201を介して、運行計画装置100の通信部111から各移動体の移動指令データを受信し、各移動体に移動指令データを各移動体に送信する。
各移動体に送信する移動指令データの形態として、経路計画に含まれている各基準ノードへ移動する命令(基準ノード又はその付近で作業が行われる場合は作業を行う命令を含む)と、経路計画に含まれている各基準ノードに付与される通過チェック要否情報(後述)を含む。経路計画に含まれている各基準ノードへ移動する命令として、走行タイミング計画に含まれる命令から時刻を除去したものを用いてもよい。経路計画は、図6に示したように、各移動体が経由、停止又は作業すべき基準ノードのシーケンス(順列)を示す情報を含む。通過チェック要否情報は、移動体が基準ノードの領域(基準領域)に進入又は通過(以下、通過に統一)する前に、運行計画システム1側に通過の許可の問い合わせが必要か否かを表す情報である。通過チェック要否情報は、走行タイミング計画を元に、通過順序決定部106により、通過順序管理が必要な基準ノードに対して生成される。
通過順序決定部106は、走行タイミング計画に基づき、通過順序の管理が必要な基準ノードを抽出する。指令部107は、当該基準ノードへの移動命令に通過チェック要否情報を付加する。走行制御部108は、移動体から基準ノードの領域(基準領域)を通過することが許容されるかの問い合わせがあったときは、走行順序計画に基づき、通過を許可するかを判断する。通過を許可する場合は、移動体に通過を許可する許可通知を応答として送信する。通過を許可しない場合は、非許可の通知を応答として送信する。非許可の場合は、移動体は基準領域の前で一時待機し、一定周期で通過可否の問い合わせを許可されるまで反復するか、もしくは、走行制御部108より通過許可の通知が来るまで基準領域の前で一時待機する。走行制御部108は、通過チェック要否情報が付与された基準ノードを各移動体が通過する順番を管理する。
図9を用いて、通過順序決定部106の動作例を、図2の仮想走行路ネットワークを元に説明する。
図9は、移動体1~3の走行タイミング計画の例を示す。ここでは移動体1~3の以下の作業が計画されている。すなわち、移動体1が搬入口Fで積んでいる荷物を棚Cで降ろした後、棚Aに移動し待機する。移動体2が搬入口Gで積んでいる荷物を棚Eで降ろした後に待機する。移動体3が搬入口Gに移動し、荷物を積む。本例では、A,B,C等の記号は、当該記号で示される基準ノードへ移動する命令である。命令には到着時刻と、出発時刻が含まれる。到着時刻に到着するように命令を実行し、出発時刻で次の命令を実行する。
通過順序決定部106は、移動体1~3の走行タイミング計画から2台以上の移動体が共通に通過する基準領域(基準ノード)のうち、通過順序を管理する必要のある基準ノード(管理対象ノード)、および、当該ノードの通過許可により通過順序を制御する必要のある移動体を特定する。管理対象ノードに対応する領域は、管理対象領域と呼ぶ。動作の詳細は後述する。ここでは、例えば基準ノードBが特定される。特定した基準ノードに対する移動体の到着時刻の早い順に、管理対象ノードにおける複数の移動体の通過順序を決定する。決定した通過順序は、管理対象ノードの通過の順序制約として機能する。一例として、基準ノードBに対する到着時刻は、移動体1が40、移動体2が10、移動体3が35である。到着時刻の早い順に通過順序を決定すると、移動体2、1、3の順番となる。この順番が、基準ノード(管理対象ノード)Bの通過の順序制約となる。
図10は、基準ノードBに対する通過の順序制約の例を示す。基準ノードBは、移動体2、3、1の順に通過する必要があることが定められている。
指令部107は、各移動体の走行タイミング計画に含まれる複数の命令から時刻の情報を除去する。また、当該複数の命令のうち、管理対象ノードへ移動する命令の一部に対して、通過チェック要否情報(例えば“check”)を付加する。これにより、各移動体の移動指令データを生成する。
換言すると、各移動体の経路計画に含まれる複数の基準ノードへ移動する命令を生成し(基準ノードに対して作業が付帯している場合は、作業を行う命令も当該基準ノードへ移動する命令に関連づけて生成し)、生成した命令を複数の基準ノードの順番に配置する。そして、通過許可により管理対象ノードの通過順序を制御する必要のある移動体が当該管理対象ノードへ移動する命令に対して、通過チェック要否情報を付加する。これにより、各移動体の移動指令データを生成する。
図11は、移動体1~3に送信される移動指令データを示す。図11の例では、管理対象ノードである基準ノードBへ移動する命令に、通過チェック要否情報(例えば“check”)が付加されている。checkが付与されている基準ノードへ移動する命令は、移動体が当該基準ノードを通過する前に、基準ノードを通過することが許容されるかの問い合わせデータ(通過チェック要求)を運行計画システム1に送信することを指示する。例えば、移動体1は、基準ノードFを出発した後、基準ノードBを通過する前に、通過することが許容されるかの問い合わせデータを運行計画システム1に送信する必要がある。
通過順序決定部106により取得された管理対象ノードの通過順序(走行順序計画)の情報は、経路計画記憶部102もしくは運行計画記憶部103に保持される。
走行制御部108は、移動体から管理対象ノードに対する通過チェック要求を受信した場合に、通過順序と状態記憶部104に記憶されている各基準ノードの通過履歴(少なくとも管理対象ノードの通過履歴)とに基づき、管理対象ノードの通過を許可するかを決定する。走行制御部108は、通過の順序制約において、当該移動体に先行して通過することが必要な移動体が管理対象ノードを通過済であれば、要求元の移動体の通過を許可し、通過済みでなければ、通過を許可しない。
図10の通過順序の例では、移動体1から基準ノードBから通過チェック要求を受信した場合、直前に先行して通過すべき移動体3が基準ノードBを通過済であれば許可、通過済みでなければ非許可を決定する。先行すべき移動体の全て(本例では移動体2と移動体3)が通過済である場合に許可、通過済でなければ非許可を決定してもよい。
走行制御部108は、通過を許可する場合は、通過の許可通知を応答として問合せ元の移動体に送信する。通過を許可しない場合は、非許可通知を応答として、問合せ元の移動体に送信する。
移動体は、許可通知を受けた場合は管理対象ノードを通過し、非許可通知を受けた場合は、管理対象ノードを通過しない(管理対象ノードに進入しない)ようにする。例えば、移動体は、管理対象ノードと異なる位置で、一時待機を行う。管理対象ノードと異なる位置の例として、管理対象ノードの直前(手前)でもよいし、管理対象ノードから一定距離前の位置でもよいし、それ以外の位置でもよい。具体例として、管理対象ノードが交差部である場合、交差部手前の走行路端部で待機してもよい。あるいは、移動体は、管理対象ノードにまだ到着していない場合は、減速して、管理対象ノードへの到着を遅らせてもよい。これにより管理対象ノードで停止せずに通過できる可能性を高めることができる。
走行制御部108は、移動体に送信する非許可通知に、移動体が行う動作の指示を含めてもよい。例えば、管理対象ノードの一定距離前で待機する指示を非許可通知に含めてもよい。
移動体は、許可通知を受信するまで、基準領域の前で一時待機する。もしくは、周期的に通過チェック要求を送信してもよい。走行制御部108は、通過チェック要求を受信するごとに、管理対象ノードの通過を許可するかを判断する。許可することを決定した時点で、許可通知を移動体に送信する。
ここで、管理対象ノードについて説明する。通過順序決定部106は、複数の移動体が共通に通過する予定の基準ノードのうち、競合の防止に必要な基準ノード、および、当該基準ノードの通過許可により通過順序を制御する必要のある移動体だけを特定し、特定した基準ノードを管理対象ノードとする。また、特定した移動体が当該管理対象ノードを通過する際に通過チェック要求を行うことを指示する。例えば、図9の例では、基準ノードE、H以外の全てで2台以上の移動体の通過(出発地点からの出発、目的地点への到着も通過として扱う)が発生するが、基準ノードBの通過順序さえ管理すれば、他の基準ノードの通過順序も走行タイミング計画で示される通りとなる。よって、予期せぬ競合(例えばデッドロックや作業待ちの遅延等)が発生しない。例えば、図9の例では、移動体1が基準ノードCで荷降し作業を始める前に移動体2及び移動体3に基準ノードCを通させないと、走行タイミング計画で定めた移動及び作業のタイミングが遅れ、全体効率が大きく低下する。また移動体1がB-C-D-Gの隘路(走行路)に進入する前に、移動体3に基準ノードBを通過させないと、移動体3が後退できない場合にデッドロックが発生する。基準ノードBを管理対象ノードとし、移動体1~3の通過順序に制約を設けることで、このような競合や効率低下の問題を防止できる。競合の防止に必要な基準ノードだけを管理対象ノードとしたが、複数の移動体が共通に走行する基準ノードの全てを管理対象ノードとすることも可能である。この場合も同様の理由で競合等の問題を防止できる。但し、管理対象ノードの通過順序制御の処理が管理対象ノードの個数の増加に応じて増えることとなる。
図12A及び図12Bに、通過順序決定部106により管理対象ノードを特定する処理の一例のフローチャートを示す。
まず、各移動体の走行タイミング計画に基づき、基準ノード毎に、基準ノードを通過する移動体(対象移動体)の通過イベントを格納した第1リストを生成する(ステップ1)。基準ノード毎に、第1リストに含まれる通過イベントを、通過時刻順(出発時刻順)にソートする。変形例として、通過時刻順でなく、到着時刻順にすることも排除されない。
ここで、通過イベントは、移動体が基準ノードを通過する事象を示すデータセットである。具体的には、通過イベントは、以下の項目を含む。
(i)基準ノードのID
(ii)移動体(対象移動体)のID
(iii)通過時刻(出発時刻)
(iv)対象移動体が当該基準ノードを通過する前に走行する仮想走行路のIDと、通過した後に走行する仮想走行路のID
(v)この通過イベントに先行して当該基準ノードを通過する他の移動体(先行移動体)が当該基準ノードを通過する前に走行する仮想走行路のIDと、通過した後に走行する仮想走行路のID
(vi)この通過イベントに先行して当該基準ノードを通過する他の移動体(先行移動体)の当該基準ノードに対する通過イベントのID。(vi)の通過イベントは、(i)の通過イベントと競合が発生する可能性がある通過イベントである。
以降、(vi)の通過イベントのセットを、監視ペア候補リストと称する。ステップ1の時点では、監視ペア候補リストは空である。
これらの項目は一例であり、他の項目が含まれても良いし、一部の項目が存在しなくてもよい。
(i)基準ノードのID
(ii)移動体(対象移動体)のID
(iii)通過時刻(出発時刻)
(iv)対象移動体が当該基準ノードを通過する前に走行する仮想走行路のIDと、通過した後に走行する仮想走行路のID
(v)この通過イベントに先行して当該基準ノードを通過する他の移動体(先行移動体)が当該基準ノードを通過する前に走行する仮想走行路のIDと、通過した後に走行する仮想走行路のID
(vi)この通過イベントに先行して当該基準ノードを通過する他の移動体(先行移動体)の当該基準ノードに対する通過イベントのID。(vi)の通過イベントは、(i)の通過イベントと競合が発生する可能性がある通過イベントである。
以降、(vi)の通過イベントのセットを、監視ペア候補リストと称する。ステップ1の時点では、監視ペア候補リストは空である。
これらの項目は一例であり、他の項目が含まれても良いし、一部の項目が存在しなくてもよい。
次に、基準ノード毎の第1リストの内、未処理の基準ノードに対応する第1リストを選択する(ステップ2)。
選択した第1リストに対応する基準ノードを2台以上の移動体が通過するかを、第1リスト内の通過イベントから判断する(ステップ3)。移動体の通過しない基準ノードや1台の移動体のみが通過する基準ノードの場合(ステップ3のNO)、選択した第1リストを処理対象外として、ステップ7に進む。ステップ7では、まだ選択していない第1リストが存在するかを判断し、存在する場合は(ステップ7のYES)、ステップ2に戻り、未処理の基準ノードに対応する第1リストを選択する。2台以上の移動体が通過する基準ノードの場合(ステップ3のYES)、ステップ4に進む。
ステップ4では、選択した第1リストから、未処理の通過イベント(E1と称する)を選択する。
ステップ5では、選択した第1リスト内で通過イベントE1より時間的に先に発生する通過イベントの中で、逆走条件及び合流条件のいずれかを満たす通過イベント(E2と称する)を発見し、通過イベントE1の監視ペア候補リストに、通過イベントE2を追加する。
逆走条件は、先に基準ノードを通過する移動体(先行移動体)が当該基準ノードを通過する前に走行する仮想走行路が、後に基準ノードを通過する移動体(対象移動体)が当該基準ノードを通過した後に走行する仮想走行路と一致することである。逆走条件が満たされる場合、当該2つの移動体が、基準ノードを通過するタイミングによっては、逆走が発生する可能性があることを意味する。逆走は同じ走行路(仮想走行路)を互いに逆向きに同時に走行することである。走行路の構造に依存して、逆走の結果、デッドロック又は衝突等が発生する。
つまり、逆走条件では、第1領域につながる走行路を逆方向に走行する第1移動体及び第2移動体が存在する場合に逆走が生じ得ることを定めている。この場合第1移動体及び第2移動体の少なくとも一方に当該走行路の両端に位置する第1領域の通過の許容を問い合わせる命令が必要かどうかをチェックする必要がある。
合流条件は、下記の条件A及び条件Bを含み、条件A及び条件Bとも成立する場合、合流条件が満たされる。
条件Aは、先に基準ノードを通過する移動体(先行移動体)が当該基準ノードを通過した後に走行する仮想走行路と、後に基準ノードを通過する移動体(対象移動体)が当該基準ノードを通過した後に走行する仮想走行路が一致することである。
条件Bは、先に基準ノードを通過する移動体(先行移動体)が当該基準ノードを通過する前に走行する仮想走行路と、後に基準ノードを通過する移動体(対象移動体)が当該基準ノードを通過する前に走行する仮想走行路と異なることである。
合流条件が満たされる場合、当該2つの移動体が、基準ノードを通過するタイミングによっては、基準ノードで合流する可能性があることを意味する。合流は、2つの移動体が同時に基準ノードを通過することである。走行路の構造に依存して、合流の結果、衝突等が発生する場合がある。また、合流の結果、最初に計画した通過順序と異なる順序で移動体が基準ノードを通過すると、その先の仮想走行路で通過順序を元に戻せなくなり、結果的に競合が発生する可能性がある。このため、合流時の基準ノードの通過順序をチェックする必要がある。
つまり、合流条件では、第1領域にながる第1~第3の走行路が存在し、第1及び第2の走行路から第1領域を経由して第3の走行路に入る第1移動体及び第2移動体が存在する場合に、合流が生じ得ることを定めている。この場合、第1移動体及び第2移動体のうちの少なくとも後に第1領域を通過する移動体について、第1領域の通過の許容を問い合わせる命令が必要かどうかをチェックする必要がある。
逆走条件及び合流条件の両方を判断したが、逆走条件のみ判断する場合もあり得る。
第1リスト内で通過イベントE1より時間的に先に発生する通過イベントの中で、逆走条件及び合流条件のいずれかを満たす通過イベントが一つでもあった場合、通過イベントE1を通過順序のチェック候補とする。すなわち、対象移動体に対して、基準ノードへ移動する命令を、通過チェック要否情報(前述した“check”)を付ける候補とする。
ステップ6に進み、選択した第1リストに未処理の通過イベントがなくなるまで、ステップ4~6を反復する。
さらに、ステップ7に進み、未処理の基準ノードに対応する第1リストがなくなるまで、ステップ2~7を反復する。
図13に、図9の例でステップ5までの処理を行って、通過チェック要否情報を付ける候補となった命令に通過チェック要否情報を付与した例を示す。ほとんどの基準ノードで逆走条件が満たされるため、最初に基準ノードを通過する移動体2以外では、通過チェック要否情報が付与されている基準ノードが多いことが分かる。例えば、基準ノードCについて見ると、移動体3は移動体2の後に基準ノードCを通過し、かつ逆走条件が満たされるため、移動体3に対する基準ノードCへの移動命令に通過チェック要否情報が付与されている。同様に移動体1は移動体3の後に基準ノードCを通過し、かつ逆走条件が満たされるため、移動体1に対する基準ノードCへの移動命令に通過チェック要否情報が付与されている。
次に、図12Bのステップ8~ステップ18では、チェック候補として特定した通過イベントのうち、他の通過イベントのチェックに対して冗長なチェックとなるためチェックが不要な通過イベントを特定する。特定した通過イベントをチェック候補から除く。これにより、チェック候補の絞り込みを行う。
図9の例で説明すると、移動体3が移動体2の後に基準ノードBを通過(出発)することを確認できれば、移動体2は基準ノードC、Dを基準ノードBより先に通過している筈なので、その後に基準ノードC、Dで通過順序のチェックを行う必要がない。
通過順序のチェックが必要になる移動体は、基準ノードを通過する際に、運行計画システム1側に通過の承認を得るための一時停止や相互通信による時間ロスが発生する。このため、チェック候補の通過イベントはなるべく数が少ないことが望ましい。
具体的には、まず、チェック候補となった全ての通過イベントを一つのリスト(第2リスト)に格納する。そして、第2リスト内の通過イベントをソートする。具体的には、各通過イベントの監視ペア候補リスト内で直前に通過した移動体(直前先行移動体)の出発時刻と対象移動体の出発時刻との時間差を算出し、時間差の小さい順に、第2リスト内の通過イベントをソートする(ステップ8)。
第2リストからソート順(上記時間差の小さい順)に、通過イベント(E3と称する)を処理対象として選択する(ステップ9)。
次に、第2リストにおいて、選択した通過イベントE3より後の順番となる通過イベントで、E3と移動体が一致し、かつ、通過時刻がE3の後となる通過イベント(E4と称する)を順番に比較対象通過イベントとして選択する(ステップ10)。
次に、選択した通過イベントE3と通過イベントE4のぞれぞれの監視ペア候補リストを比較し、通過イベントE3で通過チェックさせることでチェックが不要となる通過イベントを特定する。特定した通過イベントを、通過イベントE4の監視ペア候補リストから除く。
具体的には、通過イベントE3の監視ペア候補リストより未処理の通過イベント(E5と称す)を選択し(ステップ11)、さらに通過イベントE4の監視ペア候補リストより未処理の通過イベント(E6と称す)を選択する(ステップ12)。通過イベントE5の移動体と通過イベントE6の移動体が一致し、かつ、通過イベントE6の通過時刻が通過イベントE5より前であるとの条件が満たすか否かを判定する(ステップ13)。ステップ13の条件を満たす場合は、通過イベントE4の監視ペア候補リストから、通過イベントE6を除く(ステップ14)。通過イベントE4の監視ペア候補リストが空になったか否かを判定し(ステップ15)、空になった場合は、通過イベントE4が完全にチェック不要になったと判断し、第2リストから、通過イベントE4を除く(ステップ16)。この場合、通過イベントE4はステップ9~16の処理対象とはならない。
ステップ13の条件を満たさない場合や、ステップ15で監視ペア候補リストが空になっていない場合、ステップ17に進む。第2リストで通過イベントE3より後の順番の通過イベントのうちE3との比較処理を行っていない通過イベントがなくなるまで、ステップ10~17を反復する(ステップ17)。
さらに、第2リストから、未処理の通過イベントがなくなるまで、ステップ9~18を反復する(ステップ18)。
最終的に、第2リストに残っている通過イベントをチェック対象の通過イベントとする。すなわち、当該チェック対象の通過イベントに含まれている対象移動体に対して、通過イベントに対応する基準ノードへ移動する命令に、通過チェック要否情報(前述した“check”を付与する)を付ける。
一例として、上記のフローでは、第1移動体の基準ノードCの通過時刻が、第1移動体のノードBの通過時刻よりも早く、第2移動体の基準ノードCの通過時刻が、第2移動体の基準ノードBの通過時刻よりも遅く、第1移動体の基準ノードCの通過時刻が、第2移動体の基準ノードCの通過時刻よりも早く、第1移動体の基準ノードBの通過時刻が、第2移動体の基準ノードBの通過時刻よりも早いときは、第2移動体が基準ノードCを通過する前に、第1移動体が先行して基準ノードCを通過したか否かの確認は不要であることを利用して、第2移動体に基準ノードCの通過が許容されるかを問い合わせる命令が必要かどうかを決定している。
再計画判定部109は、運行計画記憶部103に記憶されている運行計画と、状態検知部202により検知された移動体の走行状態とを比較して、再計画を行うべきか否かを判定する。再計画とは、運行計画の更新、すなわち経路計画及び走行タイミング計画の少なくとも後者の更新を意味する。
計画を更新する移動体の位置(更新位置)の例として、各移動体が運行管理装置200と通信部201を介してリアルタイムに通信できる場合は、任意の位置(例えば移動体の現在位置、あるいは、演算に要する時間を考慮して、一定のマージンを加えた後の時刻における位置など)でよい。
移動体が基準領域又はその近傍に配置されている通信装置501を介してのみ運行管理装置200と通信できる場合は、当該基準領域又はその近傍の位置を、更新位置とする。通信装置501は基準領域又はその近傍でなく、通信装置501が走行路の途中に配置されていてもよい。通信装置501と通信可能な範囲であれば、更新位置は、基準領域又はその近傍の位置でなくてもよい。移動体が走行路の途中で停止すると他の移動体の走行を妨害する可能性(例えば後ろからくる移動体と衝突する可能性)などがある場合は、移動体が現在向かっている基準領域の手前を更新位置とするのがよい。
経路計画部110は、再計画判定部109により再計画を行うことが決定された場合に、各移動体について各移動体の更新位置を起点とした経路計画を生成する。
一例として、現在の経路計画において更新位置以降の経路部分に対する計画をそのまま更新後の経路計画とする。すなわち、移動体の経路計画に示される経路のうち、まだ移動していない経路の計画部分を特定し、特定した部分を更新後の経路計画とする。例えば、現在の経路計画が図6(A)の経路計画の場合において、移動体の現在位置が基準領域Eであり、次の移動先が基準領域Cだとする。この場合、移動していない経路の計画部分(更新後の経路計画)は、図6(A)の最初の4つの基準ノードL、K、I、Gを除去して以下のようになる。
(更新後の経路計画)
E,C,A,B,A,C,D,F,E,G,H,J,I,K,M,K,I,G,E,C,A,B,A,C,D,F,E,G,H,J,I,K,L,K,I,G,E,
E,C,A,B,A,C,D,F,E,G,H,J,I,K,M,K,I,G,E,C,A,B,A,C,D,F,E,G,H,J,I,K,L,K,I,G,E,
あるいは、他の例として、経路計画部110は、再計画判定部109により再計画を行うことが決定された場合に、複数の移動体が同時に逆方向に進行する走行路(走行区間)の合計距離が少なくなることを評価基準又はその一部として、各移動体の経路計画を生成してもよい。この際、各移動体の現在位置、もしくは各移動体の更新位置の情報を用いる。
あるいは、さらに他の例としては、移動体の現在位置と移動体が行うべき作業内容とに応じて予め利用可能な経路計画の選択肢が複数与えられている場合に、移動体の更新位置と残りの作業内容とに基づき、いずれかの選択肢を選択してもよい。その他、予め与えられたアルゴリズムにより新たな経路計画を生成する方法もある。経路計画の更新の方法はここでは特に限定せず、既存の経路計画手法を用いてもよい。
走行タイミング計画部105は、更新後の経路計画に基づき、走行タイミング計画を再生成(更新)する。走行タイミング計画部105は、更新後の走行タイミング計画における各基準領域(基準ノード)に対する時刻情報(出発時刻及び到着時刻の少なくとも一方など)を更新後の経路計画に付与することにより、運行計画を再生成する。走行タイミング計画部105は、再生成した運行計画によって、運行計画記憶部103の運行計画を更新する。
指令部107は、更新された走行タイミング計画に基づく移動指令データを生成し、生成した移動指令データを運行管理装置200に送信する。運行管理装置200は、各移動体が当該更新位置に存在するときに、各移動体に移動指令データを送信する。
運行管理装置200は、運行計画装置100から受信した各移動体の移動指令データに従って、各移動体を走行させるための管理と、各移動体の走行状態の管理とを行う。
運行管理装置200の通信部201は、移動体301_1~301_N及び運行計画装置100と通信する。通信は無線でも有線でもよい。
状態検知部202は、自己位置推定を行う機能を有する移動体が推定した自移動体の位置情報を、通信部201又は通信装置501を介して、取得する。自己位置推定の例としては、デッドレコニング、SLAM、GPS等の手段を用いるものがある。通信装置501は通信部201と比べて近距離で移動体と無線通信する装置である。通信装置501は、例えば、走行路の一時停止の発生する可能性のある場所に配置される。当該特定の場所は一例として基準領域又はその近傍である。状態検知部202は、移動体の位置以外の走行状態の情報として各移動体が基準領域を通過した時刻、各移動体の進行方向、各移動体が荷物を保有しているか否か(各移動体が荷物を搬送する場合)などの情報を取得してもよい。
また、移動体が通過する可能性のある特定の場所に、無線タグ又はバーコードなどの位置検知用のマーカーを設置してもよい。当該特定の場所は一例として基準領域又はその近傍である。この場合、移動体が、当該マーカーを検知することで、当該場所への到着もしくは通過を、移動体自体が検知できる。移動体は、当該検知した情報を、通信部201又は通信装置501を介して、運行管理装置200に送信する。
状態検知部202は、センサ401を用いて、移動体の走行状態の情報を取得してもよい。各移動体の走行状態を表す情報は、各移動体の走行状態が検知された時刻を含んでもよい。センサ401は、移動体の状態を検知するためのセンサである。センサ401は、一例として近接センサ、圧力センサ、又は光電センサ等の路側センサである。センサ401は、移動体の到着、通過、方向、荷物の搭載有無等を検知する。センサ401は、施設の天井に設けられたカメラでもよい。センサ401がカメラの場合、状態検知部202は、撮影した画像に基づき、各移動体の位置を特定する。センサ401又は通信装置501を用いることで、移動体が通信部201と通信できない場所に存在するときでも、移動体の走行状態を検知できる。
各移動体301は、運行管理装置200から移動指令データを受信し、移動指令データに従って、仮想走行路上を自動走行する。自動走行の手段としては、基準領域間をSLAM(Simultaneous Localization And Mapping)等を用いて移動体が自律走行することがある。ここで述べた以外の手段でもよい。
図14は、運行計画システム1の全体の動作のフローチャートである。予め各移動体の経路計画が与えられており、走行タイミング計画部105によって走行タイミング計画が生成され、経路計画に当該走行タイミング計画の時刻情報を付与した運行計画が生成されているとする。各移動体は走行タイミング計画及び通過順序(走行順序計画)に基づく移動指令データに基づき運行しているとする。
運行管理装置200が、各移動体の位置と進行方向を検知する(ステップ11)。なお、運行計画システム1の動作開始時の場合、各移動体の初期位置と向きを検知すればよい。なお、その場回転や全方向移動が可能な移動体の場合、進行方向の検出を行わない場合もあり得る。各移動体の位置と進行方向は移動体自身が通知しても良いし、各移動体から定期的に報告され状態記憶部104に記憶されている最新情報を現在位置としても良い。
経路計画部110は、各移動体について更新位置を起点とした経路計画を生成、もしくは予め用意された経路計画の一部を選択・抽出する。生成もしくは選択・抽出した経路計画によって、前回の経路計画を更新する(ステップ12)。なお、運行計画システム1の動作開始時の場合は、各移動体の初期位置を起点とした経路計画を生成するか、もしくは外部から経路計画を取得すればよい。
全ての移動体について経路計画が生成されなかった場合(ステップ13のYES)、本フローチャートの処理を終了する。例えば、輸送すべき荷物がない又は行うべき作業がなくなった等の場合は、その移動体について経路計画を生成しない。走行タイミング計画の更新が間に合わない(例えば走行路タイミング計画の更新前に、現在の全ての移動体の運行が完了する見込みがある)、もしくは、経路計画が生成できないと判断した場合も、本処理を終了してよい。
少なくとも1台の移動体について経路計画が更新(再生成)された場合(ステップ13のNO)、走行タイミング計画部105は、当該移動体の更新後の経路計画に基づき、各移動体の走行タイミング計画を生成する(ステップ14)。走行タイミング計画部105は、走行タイミング計画に示される時刻情報を経路計画に付与して運行計画を生成する。なお、経路計画が生成されなかった移動体(例えば運行が完了した移動体)については、走行タイミング計画は生成しない。なお、運行計画システム1の動作開始時には、全ての移動体の経路計画が存在するため、全ての移動体の走行タイミング計画が生成される。
次に、通過順序決定部106が、図12で説明した方法などで、通過順序情報を更新し(初回の場合は通過順序情報を生成)、通過順序情報を走行制御部108に提供する(ステップ15)。
指令部107が、各移動体の走行タイミング計画と、ステップ15で生成した通過順序情報とに基づき、各移動体に対する移動指令データを生成し(ステップ16)、各移動体の移動指令データを運行管理装置200に送信する。
運行管理装置200が、通信部201を用いて、各移動体に移動指令データを送信する(ステップ16)。
運行管理装置200の状態検知部202は、通信部201、センサ401及び通信装置501の少なくとも1つを介して、各移動体の走行状態の情報(例えば位置情報)をリアルタイムに取得する(ステップ17)。状態検知部202は、各移動体の走行状態の情報を、通信部201を介して、再計画判定部109に送信する(同ステップ17)。
再計画判定部109は、各移動体の運行計画と、各移動体の走行状態とに基づき、運行計画(あるいは走行タイミング計画)を守ることができない移動体が少なくとも1つ存在するかを判断、もしくは、新規の作業発生などで外部要因により再計画が必要になったか否かを判断する(ステップ18)。再計画判定部109は、再計画を行うと決定した場合は、再計画トリガーを発生させる(ステップ18のYES)。
再計画トリガーが発生した場合(ステップ19のYES)、ステップ11に戻る。そして、全移動体(既に計画の実行が終了している移動体は除く)の経路計画と走行タイミング計画とを更新する(ステップ11~ステップ17)。そして、各移動体に、更新された走行タイミング計画に基づく移動指令データを再度送信する。なお、各移動体は、受信した移動指令データによって、前回受信した移動指令データを更新する。
再計画トリガーが発生していない場合(ステップ18のNO)、運行計画(又は走行タイミング計画)が終了した移動体が存在するかを判断する。少なくとも1台の移動体について、運行計画が終了した場合は(ステップ19のYES)、ステップ11に戻る。そして、全移動体の経路計画と走行タイミング計画とを更新し(ステップ11~ステップ17)、各移動体に、更新された走行タイミング計画に基づく移動指令データを再送信する。運行計画が終了した移動体が存在しない場合は、ステップ17に戻る。再計画トリガーが発生するまで、又は運行計画の終了した移動体が発生するまで、ステップ17~ステップ19を繰り返す。
図15、図16及び図17を用いて、図14のステップ14の詳細を説明する。なお、走行タイミング計画を作成する方法は、本方式に限定されるものではない。本ステップでは、各経路計画で同一の走行路を逆方向に走行したり、あるいは速度の異なる移動体が複数台存在する場合でも、移動体同士の衝突又はデッドロックを発生させないことを保障する走行タイミング計画を生成する。走行タイミング計画の生成では、各移動体の経路計画を変更しないことを前提条件とする。
図15は走行タイミング計画部105による処理の一例のフローチャートである。
走行タイミング計画部105は、走行路構造記憶部101から走行路構造情報(図4又は図5参照)を取得し、経路計画記憶部102から経路計画のデータを取得する(ステップ21)。
走行タイミング計画部105は、走行路構造情報と、各移動体の経路計画とに基づき、一例として、各移動体が基準領域に到着する時刻又は基準領域を出発する時刻の少なくとも一方を特定したタイミング計画(初期状態のタイミング計画)を生成する(ステップ22)。これらの移動体の初期状態のタイミング計画をまとめて、初期状態のタイミング計画セットと呼ぶ。初期状態のタイミング計画の生成方法として、各移動体に対して、任意の方法で経路計画における基準領域の到着時刻又は出発時刻の少なくとも一方に関する情報を設定する。例えば、移動体の標準速度と、作業の所要時間とに基づき、各基準領域に対する到着又は出発の時刻を算出し、算出した時刻の情報を設定する。移動体の各仮想走行路で走行する速度に関する条件(例えば速度パタン)がある場合は、当該速度に関する条件を満たすようにする。あるいは、前回生成された走行タイミング計画の一部(更新位置以降の部分)をそのまま流用することも可能である。
走行タイミング計画部105は、初期状態のタイミング計画セットに基づき、時間方向に最初に競合(デッドロック又は衝突など)が発生する2つの移動体のペアと、競合の発生するアーク(仮想走行路)とを検出する(検出処理)(ステップ23)。すなわち、競合条件を満たす、2つの移動体のペアとアーク(仮想走行路)とを検出する。一例として、初期状態のタイミング計画セットにおいて、2つのタイミング計画の全ての組み合わせのそれぞれについて、最初に競合が発生する時刻を特定する。特定した時刻の中で最も時間的に速い時刻を選択し、選択した時刻で競合が発生する2つの移動体のペアと、当該競合が発生するアーク(仮想走行路)とを検出する。
図16(A)は、2台の移動体(移動体1、移動体2とする)が簡単な構造の走行路ネットワークを走行する場合に競合が発生する例を説明するための図である。ここで、移動体1は基準ノードCと基準ノードEとの間を往復し、移動体2は基準ノードFと基準ノードDとの間を往復することが、移動体1の経路計画及び移動体2の経路計画で定められているとする。
ここで基準ノードAB間の走行路(区間AB)においては、移動体1及び移動体2で互いに逆方向の走行が発生する。このまま走行すると、移動体1及び移動体2が走行路上でバック走行を出来ない場合は、デッドロックが発生する。移動体1及び移動体2の少なくとも一方がバック走行を行うことが可能であっても、衝突回避のための停止と、バック走行とによる大幅な効率低下が発生する。
図16(B)は、移動体1及び移動体2の初期状態のタイミング計画に基づき、移動体1及び移動体2の移動軌跡を時間に沿って示したグラフを表す。破線のグラフは移動体1のグラフ、実線のグラフは移動体2のグラフである。仮想走行路(区間)ごとに移動軌跡の交差をチェックすることにより、競合の発生の有無(競合条件の成否の有無)を検出できる。この例では、区間AB間において、移動体1及び移動体2の移動軌跡が点801で交差する(競合条件が満たされる)。このため、区間ABにおける移動体1及び移動体2の競合の発生を検出できる。
図17(A)は、2台の移動体(移動体1、移動体2とする)が走行する場合に競合(衝突)が発生する他の例を説明するための図である。ここで、移動体1は基準ノードEと基準ノードCとの間を往復し、移動体2は基準ノードFと基準ノードDとの間を往復する予定であることが、移動体1の経路計画及び移動体2の経路計画で定められているとする。
移動体1及び移動体2は区間ABを同じ方向に走行する。区間AB間で追い越しが出来ない走行路構造のため、移動体1及び移動体2の移動速度が異なる場合、区間ABにおいて追突又は一時停止が発生し得る。追突防止による一時停止と再走行を反復し、走行効率が悪くなる。
図17(B)は、移動体1及び移動体2の走行タイミング計画(初期状態)に基づき、移動体1及び移動体2の移動軌跡を時間に沿って示したグラフを表す。破線のグラフは移動体1のグラフ、実線のグラフは移動体2のグラフである。移動体2は移動体1より後から出発するが、移動体2は移動体1に比べ高速であり、移動体2が移動体1に後ろから衝突する。移動体1及び移動体2の移動軌跡が点802で交差し(競合条件が満たされる)、点802に対応する位置で衝突する。このようにして、区間ABにおける移動体1及び移動体2の競合の発生を検出できる。
図16及び図17の説明では2台の移動体が互いに逆走行できない(相互の回避ができない)構造の走行路や、追い越しができない構造の仮想走行路を扱ったが、相互の回避又は追い越しが可能な干渉を無視できる無干渉走行路も有り得る。例えば、図2の走行路BE、走行路BA、走行路BHなどは、周囲に余裕があるため相互回避が可能である。このような走行路に対応するアーク(仮想走行路)に対しては、ステップ23で競合条件が満たされていても、競合が発生していないものと見なしてよい。無干渉走行路か否かは、走行路構造記憶部101に、アークID(仮想走行路ID)と対応づけて格納されている。
ステップ23で競合が発生する移動体ペアを検出できた場合(ステップ24のNO)、競合の発生するアーク(競合アーク)に対して、競合を回避する複数の対策又は少なくとも1つの対策を決定する。例えば、移動体ペアのいずれかの移動体に対して、該当競合アークの上流側のアーク(仮想走行路)に対応する走行路または基準領域で、待機させる操作を行うことにより、該当する競合を回避することができる。この場合、2つの対策があるといえる。よって、各対策について、少なくとも競合が発生している2つの移動体のタイミング計画の少なくとも一方を変更するようにタイミング計画セットを更新する(更新処理)(ステップ25)。
例えば複数の移動体1~H(Hは2以上の整数)が存在するとする、移動体1と移動体2が競合する場合、移動体1を待機させる対策、移動体2を待機させる対策の2つの対策がある。この場合、移動体1~Hのタイミング計画のセットのうち、少なくとも移動体1又は2の少なくとも一方のタイミング計画を変更することにより、当該セットを更新することを各対策について行う。この場合、1つのセットから、2つの更新されたセットが得られる。
更新されたタイミング計画のセットを、変更状態のタイミング計画セットと呼ぶ。更新前のタイミング計画セットは保存しておく。
図16(C)に、ステップ25における競合回避の操作例を示す。図16(C)は、図16(B)で検出された点801での競合を回避するため、移動体1がアーク(仮想走行路)ABの上流であるアークCAに対応する走行路で待機もしくは速度調整する(遅くする)ことで競合を回避する例を示す。図16(B)で検出された競合を回避する別の方法として、移動体2が仮想走行路BAの上流である仮想走行路FBに対応する走行路で待機する、もしくは速度調整する(遅くする)ことも可能である。このように競合回避の操作を行うことで、仮想走行路ABでは移動体1及び移動体2の移動軌跡は交差しない。よって、競合は回避される。
図17(C)及び図17(D)に、ステップ25における競合回避の他の操作例を示す。図17(C)は、図17(B)で検出された点802での競合を回避するため、移動体1が仮想走行路BAの上流である仮想走行路EBに対応する走行路で待機することで競合を回避する例を示す。同様に、図17(D)は、移動体2がBAの上流である仮想走行路FBに対応する走行路で待機することで競合を回避する例を示す。
走行タイミング計画部105は、生成した各変更状態のタイミング計画セットに対して、評価値を計算する(演算処理)。走行タイミング計画部105は、生成した各変更状態のタイミング計画セットと各評価値とを互いに対応づけて、探索リストに追加する(ステップ26)。探索リストは、処理中の複数のタイミング計画セットを一時的に保持するリストである。
ここで、タイミング計画の評価値の算出例として、それぞれの移動体が各経路を競合による時間調整無しで走行した場合の走行時間(例えば初期状態のタイミング計画で走行した場合の時間)を基準値として計算することがある。この基準値に対して、時間調整による遅れ時間の総和又はべき乗和を算出して、算出した値を移動体間で合計し、合計した値をペナルティ評価値とする。この例では評価値の値が小さいほど、評価が高くなる。但し、評価値の値が小さいほど、評価が高くなるように、評価値を定義してもよい。評価値の算出方法の詳細な説明は後述する。評価値の算出方法は、特定の方法に限定されない。
走行タイミング計画部105は、探索リスト内の各変更状態のタイミング計画セットを評価値の降順に整列する(ステップ27)。走行タイミング計画部105は、次の探索すべき対象として、探索リスト先頭の変更状態のタイミング計画セットを抽出する(同ステップ27)。すなわち、探索リスト内の変更状態のタイミング計画セットの中から1つの変更状態のタイミング計画セットを選択する(選択処理)。
走行タイミング計画部105は、演算時間が所定の制限時間内に収まっているか、もしくは反復回数が規程の回数以内に収まっているか否かを判断する(ステップ28)。反復回数は、フローチャートの任意の箇所を対象にできる。例えばステップ23~28の反復回数である。演算時間が制限時間内または反復回数が規程の回数以内であれば(ステップ28のYES)、ステップ23に戻る。戻ったステップ23では、ステップ27で抽出した変更状態のタイミング計画を新たに初期状態のタイミング計画とみなして、引き続き検出処理(最初に競合が発生するアークと競合する移動体ペアの検出。前回又はそれ以前に検出された競合は解消済みである)を行う。
ステップ23で処理対象としてタイミング計画セットにおいて競合が発生していない場合(ステップ24のYES)、このタイミング計画セットを、出力すべき走行タイミング計画セットの候補とする。このため、該当する変更状態のタイミング計画セットを、走行タイミング計画セット候補として、その評価値とともに、探索リストから解リストに移動させる(ステップ31)。解リストは、出力対象となる走行タイミング計画セットの候補を一時的に保持するリストである。
走行タイミング計画部105は、解リストを評価値順に整列する(ステップ32)。
走行タイミング計画部105は、探索リストの先頭におけるタイミング計画セットを次の処理対象として抽出し(ステップ33)、抽出したタイミング計画セットを初期状態のタイミング計画セットとみなして、ステップ23に戻る。
演算時間が制限時間を超えた、もしくは反復回数が規程の回数を超えた場合は(ステップ28のNO)、走行タイミング計画部105は、解リストに走行タイミング計画セットの候補が少なくとも1つ入っているかをチェックする(ステップ29)。解リストが空でない場合は(ステップ29のNO)、解リストの先頭の走行タイミング計画セットの候補を解として出力する。すなわち、当該候補に含まれる各移動体のタイミング計画を各移動体の走行タイミング計画として出力する(ステップ30)。解リストは評価値の降順に整列されているため、解リストの先頭の候補は、最も評価が高い走行タイミング計画のセットである。
一方、解リストが空の場合(ステップ29のYES)、走行タイミング計画部105は、探索リスト先頭における変更状態のタイミング計画セットを解として抽出する(ステップ34)。当該抽出した解における各移動体のタイミング計画において、競合が解消されている時間の範囲(途中まで完成している計画部分)を特定し、特定した範囲の計画部分を各移動体の走行タイミング計画として出力する(ステップ35)。
図18に、図15のフローチャートにおける走行タイミング計画部の探索処理のイメージ例を示す。図18の一番上は、図16(B)に示した走行タイミング計画に対応する(但し縮尺は変更されている)。
逆方向の走行が発生する仮想走行路(競合アーク)に対して、移動体1を待機させる場合と移動体2を待機させる場合のそれぞれ2パタンの競合回避の対策がある。競合を回避するためにどちらの移動体を待機させるかに応じて、次に競合が発生する時刻及び発生する仮想走行路も変化する。図15のステップ25において、移動体2を優先する操作(移動体1を待機させる操作)を行うと変更状態1のタイミング計画セット、移動体1を優先する操作(移動体2を待機させる操作)を行うと変更状態2のタイミング計画セットが得られる。なお、図中の白抜きの矢印はグラフの変更した箇所を示している。
変更状態1のタイミング計画セット及び変更状態2のタイミング計画セットについてそれぞれ評価値を計算し、変更状態1のタイミング計画セット及び変更状態2のタイミング計画セットをそれぞれの評価値とともに探索リストに格納する(図15のステップ26)。探索リストが評価値の降順に整列され、変更状態1の走行タイミング計画セットの評価値の方が大きいため、変更状態1のタイミング計画セットが選択される(図15のステップ27)。
変更状態1のタイミング計画セットを初期状態のタイミング計画セットとみなして探索を再帰的に続行し(図15のステップ23)、移動体2及び移動体1のいずれを優先するかに応じて、変更状態3のタイミング計画セット及び変更状態4のタイミング計画セットが得られる。変更状態3のタイミング計画セット及び変更状態4のタイミング計画セットについてそれぞれ評価値を計算する。変更状態3のタイミング計画セット及び変更状態4のタイミング計画セットをそれぞれの評価値とともに探索リストに格納する(図15のステップ26)。
探索リストには、この時点で変更状態2のタイミング計画セット、変更状態3のタイミング計画セット、変更状態4のタイミング計画セットがそれぞれの評価値とともに格納される。この中で最も評価値の大きいタイミング計画セットが選択され、選択されたタイミング計画セットを初期状態のタイミング計画セットとみなして再帰的に処理を継続する(ステップ23)。
このように、図15の探索アルゴリズムでは、競合回避策の組合せを順次探索していく。移動体の台数が多かったり、競合アークの回数が多くなったりすると、競合回避策の組合せの数は膨大となり、一般にはリアルタイムでの計画生成が困難となるが図15の探索アルゴリズムでは、次に調べる変更状態のタイミング計画セットの評価値を計算し、評価値の高いものから優先的に探索を行うようにしている。よって、効率のよい探索が可能となる。
この際、発見的最適解探索アルゴリズム(A探索)と呼ばれる探索手法を適用することで、短時間で評価の高い走行タイミング計画を得ることが可能となる。A探索では、例えば、対象となるタイミング計画セットにおいて競合が解消されている経路(探索済みの回路)に対応する遅れ時間と、それより後の残りの経路(未探索の経路)に対して予想される遅れ時間の予測値との合計に基づき、評価値を計算する。
具体的には、タイミング計画セットにおいて最後に回避された競合の発生時刻以降について、各移動体の経路計画における残りの走行距離の総和を演算する。残りの走行距離に応じて一定の比率で遅れが発生するなどの仮定により、残りの走行における遅れ時間の予測値を求める。例えば、残りの走行距離を標準速度で走行する場合の走行時間を計算し、走行時間に一定の係数を乗じた値を遅れ時間として算出する。算出した遅れ時間の合計と、上記の競合の発生時刻より前の各移動体の遅れ時間の合計とを総和し、総和値の逆数を評価値とする。
以上、本実施形態によれば、デッドロック又は衝突等の競合を回避して、複数の移動体の運行計画を効率的に立案できる。また、木構造状に分岐した走行路を走行する場合や、安全等の理由等の場合などで、同一の走行路で双方向の移動が発生せざるを得ない場合でも、衝突又はデッドロックを発生させないことを保障した走行タイミング計画を生成できる。予め敷設されたレールやガイドテープなどの走行路を走行する非自律走行タイプの移動体では、専用の走行路や、走行スペースを予め設置したり、同一走行路の逆方向の移動が発生しないようにしたりして競合を回避する。非自律走行タイプの移動体の場合、移動時刻等による厳密な走行管理が可能であるため、このような方法は有効である。しかしながら、本実施形態における律走行タイプの移動体の場合には、自由平面上の走行で任意の場所で予期せぬ双方向の移動が発生するなど、移動時刻等による厳密な走行管理が困難である。本実施形態では、このような自律走行タイプの移動体の場合であっても、管理対象ノードの通過順序を制御することにより、競合を回避させつつ、複数の移動体を走行させることができる。
(ハードウェア構成)
図19に、図1の運行計画装置100のハードウェア構成を示す。図1の運行計画装置100は、コンピュータ装置600により構成される。コンピュータ装置600は、CPU601と、入力インタフェース602と、表示装置603と、通信装置604と、主記憶装置605と、外部記憶装置606とを備え、これらの要素601~606はバス607により相互に接続されている。図1の運行管理装置200も図19と同様のハードウェア構成で実現される。
図19に、図1の運行計画装置100のハードウェア構成を示す。図1の運行計画装置100は、コンピュータ装置600により構成される。コンピュータ装置600は、CPU601と、入力インタフェース602と、表示装置603と、通信装置604と、主記憶装置605と、外部記憶装置606とを備え、これらの要素601~606はバス607により相互に接続されている。図1の運行管理装置200も図19と同様のハードウェア構成で実現される。
CPU(中央演算装置)601は、主記憶装置605上で、コンピュータプログラムである走行制御プログラムを実行する。走行制御プログラムは、運行計画装置100の上述の各機能構成を実現するプログラムのことである。走行制御プログラムは、1つのプログラムではなく、複数のプログラムやスクリプトの組み合わせにより実現されていてもよい。CPU601が、走行制御プログラムを実行することにより、各機能構成は実現される。
入力インタフェース602は、キーボード、マウス、およびタッチパネルなどの入力装置からの操作信号を、運行計画装置100に入力するための回路である。
表示装置603は、運行計画装置100から出力されるデータを表示する。表示装置603は、例えば、LCD(液晶ディスプレイ)、有機エレクトロルミネッセンスディスプレイ、CRT(ブラウン管)、またはPDP(プラズマディスプレイ)であるが、これに限られない。コンピュータ装置600から出力されたデータは、この表示装置603に表示することができる。
通信装置604は、運行計画装置100が外部装置と無線または有線で通信するための回路である。データは、通信装置604を介して外部装置から入力することができる。外部装置から入力したデータを、主記憶装置605や外部記憶装置606に格納することができる。
主記憶装置605は、走行制御プログラム、走行制御プログラムの実行に必要なデータ、および走行制御プログラムの実行により生成されたデータなどを記憶する。走行制御プログラムは、主記憶装置605上で展開され、実行される。主記憶装置605は、例えば、RAM、DRAM、SRAMであるが、これに限られない。図1の各記憶部は、主記憶装置605上に構築されてもよい。
外部記憶装置606は、走行制御プログラム、走行制御プログラムの実行に必要なデータ、および走行制御プログラムの実行により生成されたデータなどを記憶する。これらの走行制御プログラムやデータは、走行制御プログラムの実行の際に、主記憶装置605に読み出される。外部記憶装置606は、例えば、ハードディスク、光ディスク、フラッシュメモリ、及び磁気テープであるが、これに限られない。図1の各記憶部又はデータベースは、外部記憶装置606上に構築されてもよい。
なお、走行制御プログラムは、コンピュータ装置600に予めインストールされていてもよいし、CD-ROMなどの記憶媒体に記憶されていてもよい。また、走行制御プログラムは、インターネット上にアップロードされていてもよい。
また、運行計画装置100は、単一のコンピュータ装置600により構成されてもよいし、相互に接続された複数のコンピュータ装置600からなるシステムとして構成されてもよい。
(第2の実施形態)
図20に、第2の実施形態に係る運行計画システムを備えた全体システム構成の一例を示す。各移動体が経路計画部309と経路計画記憶部302を備えており、運行計画装置100は経路計画部を備えていない。経路計画部309は、図1の経路計画部110と同様の機能を有する。
図20に、第2の実施形態に係る運行計画システムを備えた全体システム構成の一例を示す。各移動体が経路計画部309と経路計画記憶部302を備えており、運行計画装置100は経路計画部を備えていない。経路計画部309は、図1の経路計画部110と同様の機能を有する。
各移動体の経路計画部309は自律的に経路計画を決定し、経路計画記憶部302に経路計画を格納する。また、各移動体は、運行管理装置200の通信部201又は通信装置501を介して、経路計画のデータを運行計画装置100に送信する。運行計画装置100は、各移動体の経路計画を経路計画記憶部102に格納する。各移動体に経路計画部309がなく、各移動体の経路計画記憶部302に予め各移動体の経路が記憶されていてもよい。
本実施形態では、各移動体の経路計画が予め決められている、もしくは、各移動体が自律的に経路計画を決定するため、運行計画装置100及び運行管理装置200側で自由に各移動体の経路計画を変更できない場合を想定している。このような場合においても、運行計画装置100で走行タイミング計画を適切に生成し、各移動体に移動指令データを指示することで、衝突又はデッドロック等を発生させない走行を保障できる。もし衝突又はデッドロックを発生させない走行タイミング計画を生成できない場合、運行計画装置100は、運行管理装置200を介して、各移動体に、経路計画の変更要請を送信してもよい。
(第3の実施形態)
図21は、第3の実施形態に係る運行計画システムを備えた全体システム構成の一例を示す。本実施形態では、基本的な各機能部は第1又は第2の実施形態と同じであるが、運行計画装置(又は運行計画システム)に相当する機能を少なくとも1台の移動体が備えている。それ以外の移動体は、経路計画部309と経路計画記憶部302と通信部310を備えている。通信部310は、他の移動体と無線通信する。
図21は、第3の実施形態に係る運行計画システムを備えた全体システム構成の一例を示す。本実施形態では、基本的な各機能部は第1又は第2の実施形態と同じであるが、運行計画装置(又は運行計画システム)に相当する機能を少なくとも1台の移動体が備えている。それ以外の移動体は、経路計画部309と経路計画記憶部302と通信部310を備えている。通信部310は、他の移動体と無線通信する。
運行計画装置に相当する機能を有する移動体の内、1台の移動体がマスターとなる。図では移動体301_Xがマスターとなった例が示されている。マスターは、例えば運行計画装置に相当する機能を有する移動体間で互いに交渉することで決定してもよい。または、予め定めた優先順位でマスターを決めてもよい。例えば、一番性能が高い移動体、もしくは、電池残量が一番大きい移動体がマスターとなってもよい。他の方法でマスターを決定してもよい。
移動体301_X以外の移動体の経路計画部309は、自律的に経路計画を決定した後、マスターとなった移動体301_Xに経路計画を送信する。または、予め経路計画記憶部302に経路計画が予め記憶されていてもよい。この場合、経路計画部309は、自分で経路計画の生成を行わず、経路計画記憶部302内の経路計画のデータを読み出して、マスターに送信する。
マスターとなった移動体301_Xが、自移動体を含む複数の移動体の走行タイミング計画を一括して生成する。マスターは、各移動体の経路計画を変更しないように、各移動体の走行タイミング計画を生成する。移動体301_Xは、各移動体の走行タイミング計画に基づく移動指令データを各移動体に送信する。各移動体は移動指令データに基づき走行を制御する。これにより、衝突又はデッドロック等を発生させることのない、全体として効率のよい走行を実現できる。
移動体301_X以外の移動体が、経路計画部309と経路計画記憶部302を備えていなくてもよい。この場合、移動体301_X以外の移動体は、第1の実施形態の移動体のうち、運行管理装置200の通信部201と通信可能な移動体と同様の動作を行う。
第3の実施形態では、各移動体の経路計画が予め決められている、もしくは、各移動体が自律的に経路計画を決定するため、他者が自由に経路計画を変更できない場合を想定している。このような場合においても、マスターとなった移動体が走行タイミング計画を適切に生成し、各移動体に指示することで、衝突又はデッドロックを発生させない走行を保障できる。もし衝突又はデッドロックを発生させない走行タイミング計画が生成できない場合は、マスターとなった移動体は、他の移動体に経路計画の変更要請を送信してもよい。
なお、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素を適宜組み合わせることによって種々の発明を形成できる。また例えば、各実施形態に示される全構成要素からいくつかの構成要素を削除した構成も考えられる。さらに、異なる実施形態に記載した構成要素を適宜組み合わせてもよい。
1:運行計画システム
100:運行計画装置
101:走行路構造記憶部
102:経路計画記憶部
103:運行計画記憶部
104:状態記憶部
105:走行タイミング計画部
106:通過順序決定部
107:指令部
108:走行制御部
109:再計画判定部
110:経路計画部
111:通信部
200:運行管理装置
201:通信部
202:状態検知部
301_1~301_N:移動体
401_1~401_M:センサ
501_1~501K:通信装置
100:運行計画装置
101:走行路構造記憶部
102:経路計画記憶部
103:運行計画記憶部
104:状態記憶部
105:走行タイミング計画部
106:通過順序決定部
107:指令部
108:走行制御部
109:再計画判定部
110:経路計画部
111:通信部
200:運行管理装置
201:通信部
202:状態検知部
301_1~301_N:移動体
401_1~401_M:センサ
501_1~501K:通信装置
Claims (18)
- 複数の領域と前記複数の領域間を接続する複数の移動路とを含む移動エリアにおける複数の移動体を制御する情報処理装置であって、
前記複数の移動体が通過する1つ以上の領域の順序を含む複数の経路計画と前記移動体同士の競合が発生する競合条件とに基づき、前記複数の経路計画を変更しない前提条件の下、前記複数の移動体が前記移動路を移動するタイミングを指定した複数の移動タイミング計画を生成する移動タイミング計画部と、
前記複数の移動タイミング計画と、前記競合条件とに基づいて、前記複数の移動体のうち複数の第1移動体が通過する第1領域における前記複数の第1移動体の通過順序を決定する通過順序決定部と、
前記通過順序に基づき、前記複数の第1移動体の移動を制御する制御部と、
を備え、
前記競合条件は、
同一時刻に前記移動路を逆方向に移動する2台以上の前記移動体が存在すること、
2つ以上の前記移動路につながる交差部に2台以上の前記移動体が前記2つ以上の前記移動路から同時に到着すること、
前記交差部に1台以上の前記移動体が待機している状態で他の移動体が前記交差部につながる前記移動路を通過すること
のうちの少なくともいずれかを含む
情報処理装置。 - 前記通過順序決定部は、前記競合条件が満たされないように、前記通過順序を決定する
請求項1に記載の情報処理装置。 - 前記第1領域は、前記複数の第1移動体の経路に含まれる領域である
請求項1又は2に記載の情報処理装置。 - 前記通過順序決定部は、前記複数の第1移動体の経路に基づき、前記第1領域を検出する
請求項1~3のいずれか一項に記載の情報処理装置。 - 前記複数の第1移動体の経路に基づき前記第1領域の通過時刻を決定するタイミング決定部を備え、
前記通過順序決定部は、前記通過時刻に基づき、前記通過順序を決定する
請求項1~4のいずれか一項に記載の情報処理装置。 - 前記通過順序決定部は、前記第1領域につながる移動路が、前記競合を回避可能な構造を有するかを判断し、前記回避可能な構造を有する場合、前記競合条件を用いずに、前記通過順序を決定する、
請求項1~5のいずれか一項に記載の情報処理装置。 - 前記通過順序に基づき、前記第1移動体の移動指令データを生成する指令部と、
前記移動指令データを前記第1移動体に送信する通信部と、
を備えた請求項1~6のいずれか一項に記載の情報処理装置。 - 前記移動指令データは、
前記第1移動体が前記第1領域を通過する前に、前記第1領域の通過が許容されるかを問い合わせる命令と、
前記第1領域の通過が許可された場合に、前記移動体が前記第1領域を通過する命令と、を含む
請求項7に記載の情報処理装置。 - 前記制御部は、前記第1移動体から前記第1領域の通過の許可の問合せデータを受信した場合に、前記通過順序に基づき、前記第1領域の通過を許可するかを決定する
請求項8に記載の情報処理装置。 - 前記制御部は、前記第1移動体による前記第1領域の通過を許可する場合、前記通過の許可通知を前記第1移動体に送信する
請求項9に記載の情報処理装置。 - 前記制御部が、前記第1移動体による前記第1領域の通過を許可しない場合、前記第1移動体を前記第1領域と異なる位置で待機させるか、もしくは前記第1移動体の移動速度を遅くすることにより前記第1移動体による前記第1領域への到着時刻を調整する、
請求項9又は10に記載の情報処理装置。 - 前記制御部は、前記第1領域を通過した前記第1移動体から前記第1領域を通過したことを含む通過完了通知を受信した場合に、前記第1移動体が前記第1領域を通過したことを決定する
請求項8~11のいずれか一項に記載の情報処理装置。 - 前記制御部は、前記複数の第1移動体のうち前記移動路を逆方向に移動する第2移動体及び第3移動体が存在するか否かの情報に基づき、前記第2移動体及び前記第3移動体の少なくとも一方に前記移動路のいずれか一方の端に位置する前記第1領域の通過の許容を問い合わせる命令が必要かどうかを決定する、
請求項8~12のいずれか一項に記載の情報処理装置。 - 前記第1領域にながる第1~第3の移動路が存在し、
前記制御部は、前記複数の第1移動体のうち前記第1及び第2の移動路から前記第1領域を経由して前記第3の移動路に入る第2移動体及び第3移動体が存在するか否かの情報に基づき、前記第2移動体及び前記第3移動体の少なくとも一方に前記第1領域の通過の許容を問い合わせる命令が必要かどうかを決定する、
請求項8~12のいずれか一項に記載の情報処理装置。 - 前記通過順序決定部は、
前記第2移動体の第1の前記第1領域の通過時刻が、前記第2移動体の第2の前記第1領域の通過時刻よりも早く、
第3移動体の第1の前記第1領域の通過時刻が、前記第3移動体の第2の前記第1領域の通過時刻よりも遅く、
前記第2移動体の第1の前記第1領域の通過時刻が、前記第3移動体の第1の前記第1領域の通過時刻よりも早く、
前記第2移動体の第2の前記第1領域の通過時刻が、前記第3移動体の第2の前記第1領域の通過時刻よりも早いときは、
前記第3移動体が第1の前記第1領域を通過する前に、前記第2移動体が先行して第1の前記第1領域を通過したか否かの確認は不要であることを利用して、前記第3移動体に第1の前記第1領域の通過が許容されるかを問い合わせる命令が必要かどうかを決定する、
請求項13又は14のいずれか一項に記載の情報処理装置。 - 複数の領域と前記複数の領域間を接続する複数の移動路とを含む移動エリアにおける複数の移動体を制御する情報処理方法であって、
前記複数の移動体が通過する1つ以上の領域の順序を含む複数の経路計画と前記移動体同士の競合が発生する競合条件とに基づき、前記複数の経路計画を変更しない前提条件の下、前記複数の移動体が前記移動路を移動するタイミングを指定した複数の移動タイミング計画を生成するステップと、
前記複数の移動タイミング計画と、前記競合条件とに基づいて、前記複数の移動体のうち複数の第1移動体が通過する第1領域における前記複数の第1移動体の通過順序を決定するステップと、
前記通過順序に基づき、前記複数の第1移動体の移動を制御するステップと
を備え、
前記競合条件は、
同一時刻に前記移動路を逆方向に移動する2台以上の前記移動体が存在すること、
2つ以上の前記移動路につながる交差部に2台以上の前記移動体が前記2つ以上の前記移動路から同時に到着すること、
前記交差部に1台以上の前記移動体が待機している状態で他の移動体が前記交差部につながる前記移動路を通過すること
のうちの少なくともいずれかを含む
情報処理方法。 - 複数の領域と前記複数の領域間を接続する複数の移動路とを含む移動エリアにおける複数の移動体を制御するためのコンピュータプログラムであって、
前記複数の移動体が通過する1つ以上の領域の順序を含む複数の経路計画と前記移動体同士の競合が発生する競合条件とに基づき、前記複数の経路計画を変更しない前提条件の下、前記複数の移動体が前記移動路を移動するタイミングを指定した複数の移動タイミング計画を生成するステップと、
前記複数の移動タイミング計画と、前記競合条件とに基づいて、前記複数の移動体のうち複数の第1移動体が通過する第1領域における前記複数の第1移動体の通過順序を決定するステップと、
前記通過順序に基づき、前記複数の第1移動体の走行を制御するステップと
をコンピュータに実行させ、
前記競合条件は、
同一時刻に前記移動路を逆方向に移動する2台以上の前記移動体が存在すること、
2つ以上の前記移動路につながる交差部に2台以上の前記移動体が前記2つ以上の前記移動路から同時に到着すること、
前記交差部に1台以上の前記移動体が待機している状態で他の移動体が前記交差部につながる前記移動路を通過すること
のうちの少なくともいずれかを含む
コンピュータプログラム。 - 複数の領域と前記複数の領域間を接続する複数の移動路とを含む移動エリアを移動する複数の移動体と、
前記複数の移動体を制御する情報処理装置と、を備え、
前記情報処理装置は、
前記複数の移動体が通過する1つ以上の領域の順序を含む複数の経路計画と前記移動体同士の競合が発生する競合条件とに基づき、前記複数の経路計画を変更しない前提条件の下、前記複数の移動体が前記移動路を移動するタイミングを指定した複数の移動タイミング計画を生成する移動タイミング計画部と、
前記複数の移動タイミング計画と、前記競合条件とに基づいて、前記複数の移動体のうち複数の第1移動体が通過する第1領域における前記複数の第1移動体の通過順序を決定する通過順序決定部と、
前記通過順序に基づき、前記複数の第1移動体の移動を制御する制御部と、
を備え、
前記競合条件は、
同一時刻に前記移動路を逆方向に移動する2台以上の前記移動体が存在すること、
2つ以上の前記移動路につながる交差部に2台以上の前記移動体が前記2つ以上の前記移動路から同時に到着すること、
前記交差部に1台以上の前記移動体が待機している状態で他の移動体が前記交差部につながる前記移動路を通過すること
のうちの少なくともいずれかを含む
情報処理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023196204A JP2024020457A (ja) | 2019-10-30 | 2023-11-17 | 情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019197806A JP2021071891A (ja) | 2019-10-30 | 2019-10-30 | 走行制御装置、走行制御方法、及びコンピュータプログラム |
JP2023196204A JP2024020457A (ja) | 2019-10-30 | 2023-11-17 | 情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019197806A Division JP2021071891A (ja) | 2019-10-30 | 2019-10-30 | 走行制御装置、走行制御方法、及びコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024020457A true JP2024020457A (ja) | 2024-02-14 |
Family
ID=72473338
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019197806A Pending JP2021071891A (ja) | 2019-10-30 | 2019-10-30 | 走行制御装置、走行制御方法、及びコンピュータプログラム |
JP2023196204A Pending JP2024020457A (ja) | 2019-10-30 | 2023-11-17 | 情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019197806A Pending JP2021071891A (ja) | 2019-10-30 | 2019-10-30 | 走行制御装置、走行制御方法、及びコンピュータプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US11860621B2 (ja) |
EP (2) | EP3816888A3 (ja) |
JP (2) | JP2021071891A (ja) |
CN (1) | CN112748730A (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230063370A1 (en) * | 2021-08-30 | 2023-03-02 | Rapyuta Robotics Co., Ltd. | Multi-robot route planning |
CN113532443B (zh) * | 2021-09-15 | 2021-12-21 | 浙江凯乐士科技集团股份有限公司 | 路径规划方法、装置、电子设备及介质 |
US20230089452A1 (en) * | 2021-09-22 | 2023-03-23 | Hand Held Products, Inc. | Apparatuses, computer-implemented methods, and computer program products for improved object pathing |
SE546035C2 (en) * | 2021-12-23 | 2024-04-23 | Husqvarna Ab | Improved navigation for a robotic work tool system |
SE546034C2 (en) * | 2021-12-23 | 2024-04-23 | Husqvarna Ab | Improved navigation for a robotic work tool system |
CN115167410B (zh) * | 2022-07-01 | 2024-05-28 | 安徽机电职业技术学院 | 一种多机器人运动的冲突路径纠正方法及其系统 |
KR102585341B1 (ko) * | 2023-03-24 | 2023-10-10 | 주식회사 클로봇 | 유동적인 이동경로 정보를 이용한 다수 무인이동체 제어 시스템, 장치 및 방법 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0719177B2 (ja) | 1988-09-13 | 1995-03-06 | 株式会社椿本チエイン | 移動体の運行管理方法 |
EP0618523B1 (en) | 1993-04-02 | 1998-12-09 | Shinko Electric Co. Ltd. | Transport management control apparatus and method for unmanned vehicle system |
JP2953282B2 (ja) | 1993-12-10 | 1999-09-27 | 神鋼電機株式会社 | 運行管理制御装置およびその方法 |
JP3364021B2 (ja) * | 1993-12-10 | 2003-01-08 | 神鋼電機株式会社 | 運行管理制御装置およびその方法 |
JP3279034B2 (ja) | 1994-01-28 | 2002-04-30 | 神鋼電機株式会社 | 運行管理制御装置およびその方法 |
JPH10105895A (ja) * | 1996-09-30 | 1998-04-24 | Hitachi Ltd | 移動体制御方式 |
JP3684755B2 (ja) * | 1997-05-12 | 2005-08-17 | アシスト シンコー株式会社 | 運行管理制御装置および運行管理制御方法 |
JP4127741B2 (ja) * | 1999-03-31 | 2008-07-30 | 株式会社東芝 | 車両走行システムおよび車両自動走行方法 |
JP2003030782A (ja) * | 2001-07-12 | 2003-01-31 | Toshiba Corp | 車両の専用道路運行方法およびシステム |
JP2004280296A (ja) * | 2003-03-13 | 2004-10-07 | Sumitomo Metal Ind Ltd | 無人搬送車制御装置 |
JP4138541B2 (ja) | 2003-03-13 | 2008-08-27 | 独立行政法人科学技術振興機構 | 分散型経路計画装置及び方法、分散型経路計画プログラム |
JP2005242489A (ja) * | 2004-02-24 | 2005-09-08 | Matsushita Electric Works Ltd | 自律移動体の運行制御システムおよびプログラム |
US7873469B2 (en) | 2006-06-19 | 2011-01-18 | Kiva Systems, Inc. | System and method for managing mobile drive units |
US7920962B2 (en) | 2006-06-19 | 2011-04-05 | Kiva Systems, Inc. | System and method for coordinating movement of mobile drive units |
JP5754604B2 (ja) * | 2011-07-07 | 2015-07-29 | 村田機械株式会社 | 搬送車システムと搬送車の制御方法 |
US9811090B2 (en) | 2011-07-07 | 2017-11-07 | Murata Machinery, Ltd. | Guided vehicle system and guided vehicle travel schedule generation method |
US20130158742A1 (en) * | 2011-12-15 | 2013-06-20 | Jared COOPER | System and method for communicating in a transportation network |
US10712748B2 (en) * | 2015-08-26 | 2020-07-14 | Peloton Technology, Inc. | Devices, systems, and methods for generating travel forecasts for vehicle pairing |
SG11201901405WA (en) * | 2016-08-22 | 2019-03-28 | Murata Machinery Ltd | Running vehicle system and control method for running vehicle system |
JP6711329B2 (ja) * | 2017-08-09 | 2020-06-17 | トヨタ自動車株式会社 | 走行支援装置 |
JP7064429B2 (ja) | 2018-11-06 | 2022-05-10 | 株式会社東芝 | 情報処理装置、情報処理方法及びコンピュータプログラム |
JP7228420B2 (ja) | 2019-03-13 | 2023-02-24 | 株式会社東芝 | 情報処理装置、情報処理方法、情報処理システム及びコンピュータプログラム |
JP7328923B2 (ja) | 2020-03-16 | 2023-08-17 | 株式会社東芝 | 情報処理装置、情報処理方法、及びコンピュータプログラム |
-
2019
- 2019-10-30 JP JP2019197806A patent/JP2021071891A/ja active Pending
-
2020
- 2020-09-09 EP EP20195266.0A patent/EP3816888A3/en not_active Withdrawn
- 2020-09-09 US US17/015,535 patent/US11860621B2/en active Active
- 2020-09-09 CN CN202010939564.7A patent/CN112748730A/zh active Pending
- 2020-09-09 EP EP22199120.1A patent/EP4134888A3/en active Pending
-
2023
- 2023-11-17 JP JP2023196204A patent/JP2024020457A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4134888A2 (en) | 2023-02-15 |
EP3816888A2 (en) | 2021-05-05 |
EP3816888A3 (en) | 2021-07-14 |
US20210132627A1 (en) | 2021-05-06 |
US11860621B2 (en) | 2024-01-02 |
CN112748730A (zh) | 2021-05-04 |
JP2021071891A (ja) | 2021-05-06 |
EP4134888A3 (en) | 2023-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7228420B2 (ja) | 情報処理装置、情報処理方法、情報処理システム及びコンピュータプログラム | |
JP2024020457A (ja) | 情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム | |
CN109991977B (zh) | 机器人的路径规划方法及装置 | |
JP7328923B2 (ja) | 情報処理装置、情報処理方法、及びコンピュータプログラム | |
KR101695557B1 (ko) | 자율 주행 기반 무인 운반차 시스템 및 이의 제어 방법 | |
Yang et al. | Hierarchical planning for multiple AGVs in warehouse based on global vision | |
KR101660162B1 (ko) | 자율 주행 기반 무인 운반차 시스템 및 이의 제어 방법 | |
Guney et al. | Dynamic prioritized motion coordination of multi-AGV systems | |
US20210165424A1 (en) | An agv system and a method of controlling an agv system | |
US11468770B2 (en) | Travel control apparatus, travel control method, and computer program | |
Walenta et al. | A decentralised system approach for controlling AGVs with ROS | |
JP7237799B2 (ja) | 走行制御装置及び運行システム | |
CN114407929A (zh) | 无人驾驶绕障处理方法、装置、电子设备及存储介质 | |
JP2024045465A (ja) | 走行制御装置、走行制御方法及びコンピュータプログラム | |
Sharma | Control classification of automated guided vehicle systems | |
JP7481903B2 (ja) | 情報処理装置、情報処理方法、情報処理システム及びコンピュータプログラム | |
CN115185286B (zh) | 一种移动机器人自主绕障规划方法及其任务调度系统 | |
CN116166029A (zh) | 一种兼容局部避障功能的多agv导航方法及系统 | |
WO2023136047A1 (ja) | 情報処理装置、情報処理方法およびプログラム | |
Li | Task Assignment and Path Planning for Autonomous Mobile Robots in Stochastic Warehouse Systems | |
Dubova et al. | Virtual Prototype of AGV-Based Warehouse System | |
CN112368661B (en) | AGV system and method of controlling AGV system | |
WO2023145547A1 (ja) | 情報処理装置、情報処理方法およびプログラム | |
Thi et al. | A Control Algorithm for Automated Guided Vehicle in Logistics System | |
CN117636641A (zh) | 一种用于车辆搬运机器人的车辆间协同搬运方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231117 |