[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2024535459A - 車両スケジューリング装置、制御方法およびプログラム - Google Patents

車両スケジューリング装置、制御方法およびプログラム Download PDF

Info

Publication number
JP2024535459A
JP2024535459A JP2024519453A JP2024519453A JP2024535459A JP 2024535459 A JP2024535459 A JP 2024535459A JP 2024519453 A JP2024519453 A JP 2024519453A JP 2024519453 A JP2024519453 A JP 2024519453A JP 2024535459 A JP2024535459 A JP 2024535459A
Authority
JP
Japan
Prior art keywords
path
matrix
task
cost
vehicle
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
Application number
JP2024519453A
Other languages
English (en)
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JP2024535459A publication Critical patent/JP2024535459A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G43/00Control devices, e.g. for safety, warning or fault-correcting
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G1/00Storing articles, individually or in orderly arrangement, in warehouses or magazines
    • B65G1/02Storage devices
    • B65G1/04Storage devices mechanical
    • B65G1/137Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed
    • B65G1/1373Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed for fulfilling orders in warehouses
    • B65G1/1375Storage devices mechanical with arrangements or automatic control means for selecting which articles are to be removed for fulfilling orders in warehouses the orders being assembled on a commissioning stacker-crane or truck
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4189Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the transport system
    • G05B19/41895Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the transport system using automatic guided vehicles [AGV]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • 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/0217Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control 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/0291Fleet control
    • G05D1/0297Fleet control by controlling means in a control room
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32291Task sequence optimization
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32423Task planning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Remote Sensing (AREA)
  • Mechanical Engineering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

車両スケジューリング装置(2000)は、対象車両が割り当てられた対象者に割り当てられたタスクを示すタスクリスト情報(10)を取得する。車両スケジューリング装置(2000)は、地点の各ペアについて最小コストを示すコスト行列を使用して対象車両のタスクの実行順序を決定し、各タスクについて移動経路を選択し、スケジュール情報(20)を生成し、対象車両と一時的な障害物との間の競合を検出する。競合が検出されると、車両スケジューリング装置(2000)は、検出が検出されなくなるまで、地点のペアの最小コストを更新するようにコスト行列を更新し、スケジュール情報(20)を繰り返し生成する。【選択図】図1

Description

本開示は、全体として、車両について、タスクの実行順序およびタスクを実行するために車両が移動する経路を決定する技術に関する。
タスクを実行するために車両が使用される状況がある。例えば、物流会社は、倉庫内の荷物を受け取って配送するために無人搬送車(AGV: automatic guided vehicle)を使用しうる。各車両は、作業空間、例えば倉庫内を移動しながら、順番に割り当てられた複数のタスクを実行する。
これらの車両を管理するためには、各車両についてタスクの実行順序および移動ルートを予め決めておく必要がある。非特許文献1には、複数の車両のそれぞれについて同時にタスクの実行順序および移動ルートを決定する技術が開示されている。
Ayoub Insa Correa、Andre Langevin、及び Louis-Martin Rousseau、「Scheduling and routing of automated guided vehicles: A hybrid approach」、Computers & Operations Research、Volume 34、Issue 6、1688-1707ページ、2007年6月 Chryssi Malandraki 及び Mark S. Daskin、「Time Dependent Vehicle Routing Problems: Formulations, Properties and Heuristic Algorithms」、Transportation Science、Volume 26、Issue 3、185-200ページ、1992年8月 Guni Sharon、Roni Stern、Ariel Felner、及び Nathan Sturtevant、「Conflict-Based Search for Optimal Multi-Agent Path Finding」、26th AAAI Conference on Artificial Intelligence、2012年7月22日
非特許文献1では、複数の車両について同時にタスクの実行順序および移動ルートが決定される。したがって、新たな車両が追加された場合には、新たに追加された車両だけでなく、全ての車両についてタスクの実行順序および移動ルートを再度決定する必要がある。本開示の目的は、タスクの実行順序およびタスクを実行する車両の移動ルートを決定するための新たな技術を提供することである。
本開示の車両スケジューリング装置は、少なくとも1つのプロセッサと、命令を記憶するメモリとを備える。前記少なくとも1つのプロセッサは、前記命令を実行して、少なくとも1台の対象車両が割り当てられた対象者に割り当てられたタスクを示すタスクリスト情報を取得し、前記対象車両は、前記タスクに対応するタスク地点において割り当てられた各タスクを実行し、作業空間内の地点の各ペアの最小コストが示されるコスト行列を使用して車両ルーティング問題を解くことによって、各対象車両に対する前記タスクの実行順序を決定し、各タスクについて、前記決定されたタスクの実行順序に基づいて、前記タスクの前記タスク地点まで移動するコストが最小となる経路であるタスク経路を選択し、
各対象車両について、前記対象車両に割り当てられた前記タスクの前記実行順序および各タスクの前記タスク経路を示す前記対象車両のスケジュール情報を生成し、前記対象車両と、その位置が経時的に変化する一時的な障害物との間の競合である外部競合を検出し、かつ、1つ以上の外部競合が検出された場合に、さらに、前記競合が検出された地点の前記ペアの前記最小コストを更新するように前記コスト行列を更新することと、前記対象車両と前記一時的な障害物との検出が検出されなくなるまで、前記タスクの前記実行順序の前記決定、各タスクの前記タスク経路の前記選択、前記スケジュール情報の前記生成、前記競合の前記検出、および前記コスト行列の前記更新を繰り返し行うこととを行う、ように構成される。
本開示の制御方法は、コンピュータによって行われる。当該制御方法は、少なくとも1台の対象車両が割り当てられた対象者に割り当てられたタスクを示すタスクリスト情報を取得することを含み、前記対象車両は、前記タスクに対応するタスク地点において割り当てられた各タスクを実行し、作業空間内の地点の各ペアの最小コストが示されるコスト行列を使用して車両ルーティング問題を解くことによって、各対象車両に対する前記タスクの実行順序を決定することと、各タスクについて、前記タスクの前記決定された実行順序に基づいて、前記タスクの前記タスク地点まで移動するコストが最小となる経路であるタスク経路を選択することと、各対象車両について、前記対象車両に割り当てられた前記タスクの前記実行順序および各タスクの前記タスク経路を示す前記対象車両のスケジュール情報を生成することと、前記対象車両と、その位置が経時的に変化する一時的な障害物との間の競合である外部競合を検出することとを含み、1つ以上の外部競合が検出された場合に、前記競合が検出された地点の前記ペアの前記最小コストを更新するように前記コスト行列を更新すること、ならびに、前記対象車両と前記一時的な障害物との検出が検出されなくなるまで、前記タスクの前記実行順序の前記決定、各タスクの前記タスク経路の前記選択、前記スケジュール情報の前記生成、前記競合の前記検出、および前記コスト行列の前記更新を繰り返し行うことをさらに行うことを含む。
本開示の非一時的なコンピュータ可読記憶媒体は、前述した本開示の制御方法をコンピュータに実行させるプログラムを格納する。
本開示によれば、タスクの実行順序およびタスクを実行する車両の移動ルートを決定する新たな技術が提供される。
実施形態1の装置の概要を示す図である。 タスクの実行スケジュールの例を示す図である。 車両スケジューリング装置の機能構成の一例を示すブロック図である。 車両スケジューリング装置を実現するコンピュータのハードウェア構成の一例を示すブロック図である。 実施形態1の車両スケジューリング装置が行う処理の一例を示すフローチャートである。 タスクリスト情報をテーブル形式で示す図である。 時間依存コスト行列を示す図である。 時間依存経路行列を示す図である。 マップ情報が示すグリッドマップの一部を示す図である。 スケジュール情報をテーブル形式で示す図である。 予約テーブルの例を示す図である。 対象者に複数の対象車両が割り当てられた場合の、実施形態1の車両スケジューリング装置が行う処理の一例を示すフローチャートである。 実施形態2の車両スケジューリング装置の概要を示す図である。 実施形態2の車両スケジューリング装置2000が行う処理の一例を示すフローチャートである。 時間非依存コスト行列を示す図である。 時間非依存経路行列を示す図である。 時間非依存グリッドマップを示す図である。 対象者に複数の対象車両が割り当てられた場合の、実施形態2の車両スケジューリング装置が行う処理の一例を示すフローチャートである。
以下、本開示の実施の形態について、図面を参照しながら説明する。各図において同一の要素には同一の符号を付し、必要に応じて重複する説明を省略する。さらに、記憶部は、1つ以上の記憶装置で構成される。
実施形態1
<概要>
図1は、実施形態1の車両スケジューリング装置2000の概要を示す。ここで、図1に示す概要は、車両スケジューリング装置2000を理解しやすくするために車両スケジューリング装置2000の動作の一例を示したものであり、車両スケジューリング装置2000の可能な動作の範囲を限定したり狭めたりするものではない。
車両スケジューリング装置2000は、タスクリスト情報10を取得し、タスクリスト情報10からスケジュール情報20を生成する。タスクリスト情報10は、車両の操作者などの対象者に割り当てられたタスクを示す。対象者は、車両スケジューリング装置2000がスケジュール情報20を生成する対象の人物である。以下、対象者に割り当てられた車両を対象車両と呼ぶ。スケジュール情報20は、タスクの実行スケジュールを示す(より詳細な説明は後述する)。
対象車両は、無人搬送車(AGV)やドローンなど、任意の種類の自律型車両であってもよい。ただし、対象車両は、必ずしも自律型車両である必要はなく、対象者が手動で運転する任意の種類の車両であってもよい。
対象車両は、割り当てられたタスクを実行するために作業空間を動き回るように構成される。作業空間は、対象車両がタスクを実行するために動き回ることができる任意の場所である。例えば、作業空間は、倉庫や空港などである。作業空間は、対象車両がタスクを実行することができる複数の地点を含む。以下、タスクが実行される地点を、そのタスクのタスク地点と呼ぶ。
対象車両によって実行される様々な種類のタスクが存在し得る。例えば、タスクは、配送される荷物の受け取り、荷物の配送、機器の検査、機器の修理などであってもよい。各タスクは、指定された地点(すなわち、そのタスク地点)で実行されなければならないため、対象車両は、タスクを実行するためにタスク地点まで移動する必要がある。なお、タスクは、必ずしも対象車両のみで実行される必要はなく、作業者などと連携して実行されてもよい。例えば、対象車両がタスク地点に荷物を配送し、作業者が対象車両から荷物を降ろす。
上述したように、スケジュール情報20は、タスクの実行スケジュールを示す。タスクは倉庫40内を移動して実行されるため、タスクの実行スケジュールは、タスクの実行順序と、各タスク地点まで移動するための経路(以下、タスク経路と呼ぶ)とで表される。地点間に1つ以上の経路が存在してもよい。或るタスクのタスク経路は、対象車両が移動することがスケジュールされた経路であって、前回のタスクのタスク地点からそのタスクのタスク地点までの取り得る経路のうちのコストが最小となる経路である。
図2は、タスクの実行スケジュールの例を示す。この例では、対象車両30は、最初に地点S1に位置し、最後に地点S4に位置しなければならない。実行されるべきタスクは、地点S2、S3、S5、S6でそれぞれ実行されるタスクXa、Xb、Xc、Xdの4つである。車両スケジューリング装置2000は、タスクの実行順序として「Xa→Xc→Xd→Xb」を決定する。したがって、対象車両30が訪問する地点の順序として、「S1→S2→S5→S6→S3→S4」が決定される。次いで、車両スケジューリング装置2000は、タスクXa、Xc、Xd、Xbのタスク経路として、それぞれP2、P4、P6、P10を選択する。さらに、地点S3から地点S4までの移動には、経路P11が選択される。結果として、1)地点S1から経路P2を通って地点S2まで移動してタスクXaを実行し、2)地点S2から経路P4を通って地点S5まで移動してタスクXcを実行し、3)地点S5から経路P6を通って地点S6まで移動してタスクXdを実行し、4)地点S6から経路P10を通って地点S3まで移動してタスクXbを実行し、そして、5)地点S3から地点S4へ移動するという実行スケジュールを表すスケジュール情報20が生成される。
スケジュール情報20を生成するために、車両スケジューリング装置2000は、対象車両30のタスクの実行順序を決定し、各タスクについてタスク経路を選択する。タスクの実行順序は、コスト行列を使用して車両ルーティング問題(VRP: vehicle routing problem)を解くことによって決定される。ここで、VRP は、複数の車両を扱うことができる巡回セールスマン問題(TSP: travelling salesman problem)の一般化である。したがって、車両の台数が1台の場合、タスクの実行順序を決定するために解かれる問題を TSPと呼ぶこともできる。
この実施の形態では、スケジュール情報20を生成するために時間依存 VRP(TDVRP: time-dependent VRP)が採用される。時間依存 VRPは時間依存コストを扱うことができ、地点の各ペアの移動コストは経時的に変化する。したがって、この実施形態では、コスト行列は時間依存コスト行列100と呼ばれ、地点の各ペアおよび各時点の移動コストを示す。時間依存コスト行列100内の地点のペアに対応付けられたコストは、そのペアが取り得る経路のうちのコストが最小となる経路のコストである。ここで、「時間依存コスト行列100」および「コスト行列100」という用語は、この実施形態では互いに交換可能に使用される。
タスクの実行順序を決定した後、車両スケジューリング装置2000は、各タスクが取り得る経路の中からタスク経路を選択する。各タスクについて、コストが最小となる経路がタスク経路として選択される。車両スケジューリング装置2000は、タスクの実行順序の決定結果と各タスクのタスク経路とを使用してスケジュール情報を生成する。
対象車両30のスケジュール情報20を確定する前に、車両スケジューリング装置2000は、対象車両30と一時的な障害物との間の競合をさらに考慮に入れる。一時的な障害物は、一定の期間の間、作業空間の一定の領域を占める障害物である。例えば、対象車両30以外の車両が一時的な障害物となる可能性がある。別の例では、人が作業空間内でいくつかの作業を行うことも一時的な障害物になる可能性がある。
対象車両30のスケジュール情報20は、対象車両30が一時的な障害物と競合するタスクの実行スケジュールを示す可能性がある。したがって、車両スケジューリング装置2000は、スケジュール情報20が競合のないスケジュールを示すまで、競合を考慮してスケジュール情報20を繰り返し生成する。
具体的には、車両スケジューリング装置2000は、スケジュール情報20を生成した後、対象車両30が一時的な障害物と競合しているか否かを確認する。競合が検出された場合、車両スケジューリング装置2000は、検出された競合を考慮してスケジュール情報20を再度生成する。競合が検出されない場合、車両スケジューリング装置2000は、スケジュール情報20の生成を終了する(すなわち、対象車両30のスケジュール情報は確定される)。
検出された競合に基づいて時間依存コスト行列100を更新することによって、競合の影響が考慮される。具体的には、時間依存コスト行列100によって示される経路のコストは、競合のために最小にならない可能性がある。したがって、時間依存コスト行列100は、検出された競合に基づいて、地点の各ペアのコストが最小となる経路を示すように更新される。
車両スケジューリング装置2000は、更新されたコスト行列100を使用して TDVRP を再び解き、対象車両30に対するタスクの実行順序を決定する。検出された競合はコスト行列100に反映されるので、TDVRPの解は、対象車両30が検出された競合の発生を回避することができるタスクの実行順序を示す。
<効果の例>
車両スケジューリング装置2000によれば、対象車両30のタスクの実行スケジュールは、対象車両が他の車両などの一時的な障害物と競合しなくなるまで繰り返し更新される。このように、既に確定している他車両のタスクの実行スケジュールを考慮して対象車両30のタスクの実行スケジュールが決定されるため、他車両のタスクの実行スケジュールを再生成する必要がない。言い換えると、各車両のタスクの実行スケジュールは、先着順で生成することができる。したがって、各車両のタスクの実行スケジュールを効率的に生成することができる。さらに、実施形態1の車両スケジューリング装置2000は、TDVRP が実施形態2の車両スケジューリング装置2000で採用されている時間非依存コストを用いた VRP よりも費用効率の高い解を提供する可能性が高いので、対象車両30が実施形態2のものよりも費用効率よく作業することができるスケジュール情報20を生成する可能性が高い。
以下、車両スケジューリング装置2000のより詳細な説明について説明する。
<機能構成例>
図3は、車両スケジューリング装置2000の機能構成の一例を示す。車両スケジューリング装置2000は、取得部2020と、生成部2040と、競合検出部2060と、更新部2080とを含む。取得部2020は、タスクリスト情報10を取得する。生成部2040は、時間依存コスト行列100を用いて TDVRP を解くことによってタスクの実行順序を決定し、各タスクのタスク経路を選択することで、スケジュール情報20を生成する。競合検出部2060は、対象車両30および一時的な障害物との競合を検出する。競合が検出された場合、更新部2080は、検出された競合に基づいて時間依存コスト行列100を更新する。スケジュール情報20の生成、競合検出、およびコスト行列100の更新は、競合が検出されなくなるまで繰り返し行われる。
<ハードウエア構成の例>
車両スケジューリング装置2000は、1つ以上のコンピュータで実現されうる。それら1つ以上のコンピュータのそれぞれは、車両スケジューリング装置2000を実現するために作成された専用のコンピュータであってもよいし、パーソナルコンピュータ(PC: Personal Computer)、サーバマシン又はモバイルデバイスなどの汎用のコンピュータであってもよい。
車両スケジューリング装置2000は、コンピュータにアプリケーションをインストールすることで実現されうる。そのアプリケーションは、コンピュータを車両スケジューリング装置2000として機能させるプログラムで実現される。言い換えれば、そのプログラムは、車両スケジューリング装置2000の機能構成部を実装したものである。
図4は、車両スケジューリング装置2000を実現するコンピュータ1000のハードウエア構成の例を示すブロック図である。図4において、コンピュータ1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。
バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が相互にデータの送信及び受信をするためのデータ通信路である。プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、又は FPGA(Field-Programmable Gate Array)などといったプロセッサである。メモリ1060は、RAM(Random Access Memory)又は ROM(Read Only Memory)などの主記憶要素である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、又はメモリカードなどの補助記憶要素である。入出力インタフェース1100は、コンピュータ1000と周辺デバイス(キーボード、マウス、又はディスプレイ装置など)との間のインタフェースである。ネットワークインタフェース1120は、コンピュータ1000とネットワークとの間のインタフェースである。ネットワークは、LAN(Local Area Network)でもよいし、WAN(Wide Area Network)でもよい。
ストレージデバイス1080は、前述したプログラムを格納しうる。CPU1040は、車両スケジューリング装置2000の各機能構成部を実現するためにそのプログラムを実行する。
コンピュータ1000は、図4に示される構成に限定されない。例えば、前述したように、車両スケジューリング装置2000は複数のコンピュータで実現されうる。この場合、それらのコンピュータは、ネットワークを介して互いに接続されうる。
<処理の流れ>
図5は、車両スケジューリング装置2000が行う処理の一例を示すフローチャートである。取得部2020は、タスクリスト情報10を取得する(S102)。生成部2040は、時間依存コスト行列100を初期化する(S104)。生成部2040は、時間依存コスト行列100を使用してタスクの実行順序を決定する(S106)。生成部2040は、各タスクのタスク経路を選択する(S108)。生成部2040は、スケジュール情報20を生成する(S110)。競合検出部2060は、スケジュール情報20を使用して競合検出を行う(S112)。競合が検出されない場合(S112:いいえ)、車両スケジューリング装置2000は、スケジュール情報20を出力する(S116)。
一方、競合が検出された場合(S112:はい)、更新部2080は、検出された競合に基づいて時間依存コスト行列100を更新する(S114)。
時間依存コスト行列100の更新後、車両スケジューリング装置2000の処理はステップS106に戻る。これにより、ステップS112で競合が検出されなくなるまで(言い換えれば、対象車両30のスケジュール情報20が競合のないスケジュールを示すまで)、スケジュール情報20の生成(S106~S110)、競合検出(S112)、およびコスト行列100の更新(S114)が繰り返し行われる。
<タスクリスト情報の取得:S102>
取得部2020は、タスクリスト情報10を取得する(S102)。タスクリスト情報10は、対象車両30の対象者に割り当てられているタスクを示す。ここでは、対象者には、自身のタスクを実行するための単一の対象車両30が割り当てられていると仮定する。したがって、対象者のタスクリスト情報10が示すタスクの全てが、単一の対象車両30に割り当てられる。対象者に複数の車両が割り当てられている場合については後述する。
タスクリスト情報10は、各対象者に予め用意されていてもよい。具体的には、各タスクリスト情報10は、対応する対象者の識別子と対応付けて用意される。したがって、取得部2020は、対象車両30の対象者の識別子に対応付けられたタスクリスト情報10を取得する。
図6は、タスクリスト情報10をテーブル形式で示す。タスクリスト情報10には、対象者の識別子である作業者識別子12が対応付けられている。タスクリスト情報10は、タスク識別子14と、タスク地点16と、所要時間18と、所要容量19とを含む。
タスク識別子14は、タスクの識別子を示す。タスク地点16は、タスクのタスク地点を示す。タスクが荷物の受け取りである場合、タスク地点16は、対象車両30が荷物を受け取るために移動する地点を示す。所要時間18は、タスクを実行するために対象車両30がタスク地点に滞在しなければならないと推定される時間の長さを示す。タスクが荷物の受け取りである場合、所要時間18は、対象車両30がタスク地点で荷物を受け取るのに必要な時間を示しうる。所要容量19は、対象車両30がタスクを行うために必要な容量を示す。例えば、タスクが荷物の受け取りである場合、所要容量19は、配送される荷物の量を示しうる。ここで、対象車両30が1台である場合、対象車両30の容量は、タスクリスト情報10が示す所要容量19の最大値よりも大きい必要がある。なお、対象車両30の容量を考慮する必要がない場合(例えば、対象車両30の容量が配送されるべき荷物の量よりもはるかに大きいことが事前に確実である場合)、タスクリスト情報10は、所要容量19を示す必要はない。
取得部2020がタスクリスト情報10を取得する方法は様々ありうる。例えば、タスクリスト情報10は、車両スケジューリング装置2000がアクセス可能な記憶部に、対象者の識別子と対応付けて予め記憶されている。この場合、取得部2020は、記憶部から、対象車両30の対象者の識別子に対応付けられたタスクリスト情報10を取得する。なお、取得部2020は、対象車両30の対象者の識別子を指定するユーザ入力を受信するなど、任意の方法で対象車両30の対象者の識別子を取得する。
別の例では、取得部2020は、対象車両30の対象者が操作するモバイルデバイスやPCなどの他のコンピュータから送信されてくるタスクリスト情報10を受信することによって、タスクリスト情報10を取得してもよい。
<時間依存コスト行列100の初期化:S104>
生成部2040は、時間依存コスト行列100を初期化する(S104)。時間依存コスト行列100は、地点の各ペアおよび各時点についての最小の移動コストを示す。図7は、時間依存コスト行列100を示す。時間依存コスト行列100は、三次元行列であってもよく、それぞれ、セルの第1のインデックス(x座標)は移動の開始地点を表し、セルの第2のインデックス(y座標)は移動の終了地点を表し、セルの第3のインデックス(z座標)は時点を表す。
コスト行列100のセル(Si,Sj,Tk)は、移動開始時刻をTkとして、地点Siから地点Sjまでの最小の移動コストを示してもよい。例えば、図7に示す斜線で塗りつぶしたセルの座標は(S5,S7,T4)である。したがって、このセルが示す値は、移動開始時刻T4での地点S5からS7までの最小の移動コストを示す。
時間依存コスト行列100を初期化するためには、地点の各ペアおよび各時点についてコストが最小となる経路を求める必要がある。そのために、生成部2040は、最初に、地点の各ペアおよび各時点についてコストが最小となる経路を示す時間依存経路行列を初期化しうる。
図8は、時間依存経路行列110を示す。なお、以下、「時間依存経路行列110」および「経路行列110」という用語は、相互に交換可能に使用される。経路行列110は、三次元行列であってもよく、それぞれ、セルの第1のインデックス(x座標)は移動の開始地点を表し、セルの第2のインデックス(y座標)は移動の終了地点を表し、セルの第3のインデックス(z座標)は時点を表す。
時間依存経路行列110のセル(Si,Sj,Tk)は、移動開始時刻をTkとして、地点Siから地点Sjまでの移動コストが最小となる経路を示しうる。例えば、図8に示す斜線で塗りつぶしたセルの座標は(S5,S7,T4)である。したがって、このセルが示す値は、移動開始時刻T4での地点S5からS7までの移動コストが最小となる経路を示す。
経路行列110を初期化するとき、各経路のコストは経時的に一定であると仮定することができる。したがって、生成部2040は、開始地点と終了地点の各ペアについて、各経路のコストが一定であるマップ情報を使用して最短経路問題を解くことによって、そのペアが取り得る経路の中からコストが最小となる経路を決定する。マップ情報は、作業空間のグリッドマップを格納しうる。対象車両40が作業空間を二次元的に移動する場合(例えば、対象車両30が自動車である場合)、グリッド情報は、作業空間の床面の二次元グリッドマップを示す。対象車両30が作業空間を三次元的に移動する場合(例えば、対象車両30がドローンである場合)、グリッド情報は、作業空間の三次元グリッドマップを示す。グリッドマップはまた、各地点の位置、および壁、棚、または机などの恒久的な障害物も示す。
図9は、マップ情報が示すグリッドマップの一部を示す。図9のグリッドマップは、地点S1およびS2の位置を示している。さらに、恒久的な障害物の位置を斜線で示している。地点S1からS2までの各経路は、対象車両30が移動することができる一連の位置(グリッド)によって表すことができる。
各経路のコストは経時的に一定であると仮定されるので、最短経路問題を解くための任意のアルゴリズム、例えばダイクストラアルゴリズム、A*探索アルゴリズム、または空間時間A*(space time A*)アルゴリズムを使用して、地点の各ペアの最短経路を見つけることができる。なお、以下で詳述するように、コストが経時的に変動する場合には、空間時間A*アルゴリズムのような時間依存コストを扱うことができるアルゴリズムを使用して最短経路問題が解かれる。
時間依存経路行列110が初期化された後、生成部2040は、時間依存経路行列110に基づいて時間依存コスト行列100を初期化する。具体的には、時間依存コスト行列100の各セルは、時間依存経路行列の対応するセルによって示される経路のコストを示すべきである。したがって、生成部2040は、i、j、kの各ペアについて、時間依存経路行列100のセル(Si,Sj,Tk)が示すコストを、時間依存コスト行列100のセル(Si,Sj,Tk)に設定する。
<スケジュール情報の生成:S106~S110>
生成部2040は、タスクの実行順序を決定し(S106)、各タスクにタスク経路を選択すること(S108)により、スケジュール情報20を生成する(S110)。図10は、スケジュール情報20をテーブル形式で示す。スケジュール情報20は、各タスクについて、タスク識別子22、タスク地点24、タスク経路26、および開始時刻28の4種類のデータを含む。
タスク識別子22は、タスクの識別子を示す。対象地点24は、対象車両30がそのタスクを実行する地点を示す。タスク経路26は、対象車両30がタスク地点まで移動するタスク経路を示す。開始時刻28は、タスクがタスク地点までの移動を開始する時刻を示す。スケジュール情報20では、タスクの実行順序を分かりやすくするために、開始時刻の昇順にタスクがソートされることが好ましい。
生成部2040は、TDVRP を時間依存コスト行列100を用いて解くことにより、対象車両30に割り当てられたタスクの実行順序を決定する。TDVRP を解くためには、出発地、目的地、実行されるべきタスクのリスト、対象車両30の容量、および時間依存コスト関数を、TDVRP を解くアルゴリズムに与える必要がある。出発地は、対象車両30の初期位置である。目的地は、全ての作業が終了したときに対象車両30が移動する位置である。例えば、作業空間内の車両の保管場所を出発地および目的地として設定してもよい。
生成部2040は、実行されるべきタスクのリストとして、タスクリスト情報10を使用する。さらに、生成部2040は、時間依存コスト関数として、時間依存コスト行列100を使用する。対象車両30の出発地、目的地、および容量については、対象車両30に対応付けて予め定義されていてもよい。したがって、生成部2040は、例えば、予め情報が記憶されている記憶部部から、対象車両30の出発地、目的地、および容量を示す情報(以下、車両情報と呼ぶ)を取得してもよい。
生成部2040は、TDVRP の解として、対象車両30に実行させるタスクの実行順序を得る。ここで、TDVRP を解くアルゴリズムには様々なものがありうる。例の1つは、混合整数線形計画法(MILP: Mixed Integer Linear Programming)である。別の例では、Tabu 探索アルゴリズムまたは反復局所探索アルゴリズムなどのメタヒューリスティックアルゴリズムも採用することもできる。生成部2040は、これらのアルゴリズムのいずれを使用してもよい。
生成部2040は、タスクの実行順序を決定した後、各タスクのタスク経路を選択する。例えば、生成部2040は、時間依存経路行列110を使用する。具体的には、生成部2040は、各タスクについて、時間依存経路行列110から、タスクの開始地点、タスク地点および開始時刻に対応するセルが示す経路を抽出し、抽出した経路をそのタスクのタスク経路として設定する。ここで、タスクの開始地点は、前回のタスクのタスク地点である。
(n-1)番目のタスクが、時刻Tn-1に地点Sn-1まで移動して荷物を受け取ることを含み、n番目のタスクが、時刻Tnに地点Snまで移動して荷物を降ろすことを含むとする。この場合、経路行列110のセル(Sn-1,Sn,Tn)が示す経路が、n番目のタスクのタスク経路として使用される。
タスクの開始時刻は、最初のタスクから前回のタスクまでの移動時間と所要時間(例えば、荷物を受け取るのに必要な時間)との和として計算することができる。タスクの移動時間は、タスク経路のコストおよび対象車両30の速度を使用して計算することができる。タスクの開始時刻の計算は、以下のように定式化することができる:
Figure 2024535459000002
式中、STnは第nのタスクの開始時刻であり、Caは、a番目のタスクのタスク経路のコストであり、vは、対象車両30の速度であり、f()は、経路のコストと対象車両30の速度とに基づいて、経路を移動するための移動時間を計算する関数であり、そして、Raはa番目のタスクの所要時間である。
生成部2040は、各タスクのタスク経路を選択した後、上記のように決定されたタスクの実行順序および各経路のタスク経路を示すスケジュール情報20を生成する。
<競合検出:S112>
競合検出部2060は、対象車両30に対して競合検出を行う(S112)。競合として扱うことができる状況には2つの種類があり得る。第1の種類の競合は、対象車両30と一時的な障害物とが互いに同じ時点で同じ位置を占有するようにスケジュールされる頂点競合(vertex conflict)と呼ばれている。
一時的な障害物は、恒久的ではなく一時的に作業空間の特定の領域を占有する種類の障害物である。例えば、一時的な障害物は、対象車両30以外の対象者に割り当てられた、既にスケジュール情報20が生成されている車両でありうる。別の例では、一時的な障害物は、機器を操作するなど、何かを行うために作業空間の特定の領域を占有することがスケジュールされた人であってもよい。
時刻T2~T4の間、対象車両V1が地点S1で作業を行うことがスケジュールされているとする。さらに、別の車両V2は、時刻T1~T3(T1<T2<T3<T4)の間、地点S1で作業を行うことがスケジュールされている。この場合、車両V1およびV2は、時刻T2~T3の間に同じ位置S1を占有するため、時刻T2~T3の間に頂点競合を有する。
第2の種類の競合は、2台の車両が互いに交差するようにスケジュールされるエッジ競合と呼ばれている。時刻T1~T2の間に、対象車両V1が位置AからBへ移動するとする。同時に、時刻T1~T2の間に、別の車両V2が位置BからAに移動する。この場合、車両V1およびV2は同じ時点で同じ位置を占有しないが、それでもなお互いに交差する間に競合する(クロスオーバー競合としても知られる)。
競合検出部2060は、一時的な障害物ごとに、作業空間の一定の領域を占有するイベントのスケジュールを示すイベント情報を得る。具体的には、イベント情報は、各時点における一時的な障害物の位置を示しうる。いくつかのイベント情報は、例えば、車両スケジューリング装置2000がアクセス可能な記憶部に予め記憶されている。ここで、一時的な障害物が車両である場合、競合検出部2060は、その一時的な障害物のスケジュール情報20をイベント情報として使用する。
競合検出部2060は、一時的な障害物ごとに、対象車両30のスケジュール情報20と一時的な障害物のイベント情報とを使用して、対象車両の位置と一時的な障害物の位置とを各時点で比較することにより、対象車両30が一時的な障害物と互いに競合するか否か(言い換えれば、同じ時刻に同じ場所に位置することがスケジュールされているか否か)を決定する。競合検出部2060は、対象車両30が一時的な障害物と互いに競合していると決定した場合、検出された競合に関する情報を競合情報に追加する。競合情報は、競合の位置および期間を示す。ここで、競合情報は、競合検出を開始する前に空に初期化される。
<コスト行列100の更新:S114>
対象車両30について1つ以上の競合が検出された場合(S112:はい)、更新部2080は、競合情報に基づいて時間依存コスト行列110を更新する。更新部2080は、時間依存経路行列110を使用して時間依存コスト行列100を更新することができる。この場合、更新部2080は、最初に、空間時間A*アルゴリズムなどの時間依存コストを扱うことができるアルゴリズムで最短経路問題を解くことによって時間依存経路行列110を更新しうる。
空間時間A*アルゴリズムは、各時点について各障害物の位置を示す時間依存グリッドマップである、予約テーブルと呼ばれるデータ構造を扱う。マップ情報によって示される恒久的な障害物は、予約テーブルにおいて、各時点において1つ以上のグリッドを占有する障害物として扱われる。一方、競合情報によって示される競合は、予約テーブルにおいて、その位置で競合が発生している間にのみ1つ以上のグリッドを占有する障害物として扱われる。
更新部2080は、マップ情報と競合情報とを使用して予約テーブルを生成する。具体的には、マップ情報が示す恒久的な障害物ごとに、更新部2080は、各時点でのマップ情報における恒久的な障害物の位置に対応する予約テーブルの位置に、恒久的な障害物を設置する。さらに、競合情報によって示される競合ごとに、更新部2080は、競合情報によって示される期間中の競合情報の競合の位置に対応する予約テーブル内の位置に、障害物として各競合を設置する。
図11は、予約テーブルの例を示す。この例では、予約テーブルは、時刻T0からTnまでの時間依存グリッドマップ120を示す。マップ情報には、(1,1)および(2,4)の位置に恒久的な障害物が示されている。競合情報は、時刻Ta~Tbに位置(3,2)で発生する競合Aと、時刻Tc~Tdに位置(4,3)で発生する競合Bとを示している(T0<Ta<Tb<Tc<Td<Tn)。
この場合、時刻T0からTaまでの間、位置(1,1)および(2,4)にある恒久的な障害物が予約テーブルに示されている。時刻TaからTbまで、予約テーブルは、位置(3,2)にある競合Aをさらに示す。時刻TbからTcまで、予約テーブルは再び2つの恒久的な障害物のみを示す。次いで、時刻TcからTdまで、予約テーブルは、位置(4,3)にある競合Bをさらに示す。時刻Tdの後、予約テーブルは再び2つの恒久的な障害物のみを示す。
予約テーブルは、地点の各ペアについて生成される。次いで、更新部2080は、地点の各ペアについて予約テーブルを使用して最短経路問題を解く。これにより、更新部2080は、地点の各ペアおよび各時点についてコストが最小となる経路を求めることで、時間依存経路行列110を更新する。ここで、地点のペアの経路上で競合が検出されない場合には、そのペアの経路を更新する必要はない。
時間依存経路行列110を更新した後、更新部2080は、更新された経路行列110に基づいて時間依存コスト行列110を更新する。ここで、時間依存経路行列110に基づく時間依存コスト行列100の更新は、上述した時間依存経路行列110に基づく時間依存コスト行列100の初期化と同様に行うことができる。
<スケジュール情報20の出力:S116>
競合検出部2060により競合が検出されなかった場合(S112:いいえ)、車両スケジューリング装置2000は、スケジュール情報20を出力する。スケジュール情報20は、様々な方法で出力が可能である。例えば、車両スケジューリング装置2000は、スケジュール情報20を記憶部に格納しうる。別の例では、車両スケジューリング装置2000は、ディスプレイ装置にスケジュール情報20を表示させるように、スケジュール情報20をディスプレイ装置に出力しうる。別の例では、車両スケジューリング装置2000は、対象者によって操作されるモバイルデバイスまたはPCなどの別のコンピュータにスケジュール情報20を送信しうる。ここで、スケジュール情報20は、対象車両30の識別子と対応付けて出力されることが好ましい。
<複数の対象車両30の扱い方>
対象者には、2台以上の対象車両30が割り当てられてもよい。この場合は、対象者に単一の対象車両30が割り当てられている場合とは異なり、対象車両30が互いに競合する可能性がある。以下、複数の対象車両30の扱い方が記述される。
図12は、複数の対象車両30が対象者に割り当てられている場合の、車両スケジューリング装置2000が行う処理の一例を示すフローチャートである。取得部2020は、タスクリスト情報10を取得する(S202)。次いで、生成部2040は、時間依存コスト行列100および時間依存経路行列を初期化する(S204)。これらの処理は、対象者に単一の対象車両30が割り当てられている場合と同様に行われる。
生成部2040は、各対象車両30についてタスクの実行順序を決定する(S206)。各対象車両30についてタスクの実行順序を決定するためには、各対象車両30に対するタスクの割り当てを決定する必要がある。この点に関して、TDVRP を解くことにより、各対象車両30に対するタスクの割り当てと、各対象車両30に対するタスクの実行順序の決定とを同時に行うことができる。具体的には、TDVRP を解くアルゴリズムは、さらに、車両の台数および各車両の容量を入力とし、各車両に対するタスクの実行順序を出力する。したがって、生成部2040は、TDVRP を解いた結果、各対象車両30についてタスクの実行順序を得ることができる。ここで、対象車両30の台数および各車両の容量は、上述した車両情報に含まれうる。
生成部2040は、各対象車両30に対するタスクの実行順序を決定した後、各タスクのタスク経路を選択する(S208)。タスク経路の選択は、対象者に単一の対象車両30が割り当てられている場合と同様に、時間依存経路行列110を使用して行われる。各タスクにタスク経路が選択された結果、生成部2040は、各対象車両30についてスケジュール情報20を生成する(S210)。
検出部2060は、競合検出を行う。対象者に複数の対象車両30が割り当てられている場合、内部競合および外部競合の2つの種類の競合が発生する可能性がある。内部競合は、対象車両30間の競合である。一方で、外部競合は、対象車両30と一時的な障害物との間の競合であり、これについては既に上述されている。
検出部2060は、最初に、内部競合の検出を行いうる(S212)。検出部2060は、対象車両30の各ペアについて、それらのスケジュール情報20を比較することにより、それらの内部競合を検出する。具体的には、2台の対象車両30が同じ場所に同時に位置するようにスケジュールされている場合、それらは互いに競合する。
内部競合が検出された場合(S212:はい)、更新部2080は、検出された内部競合に基づいてコスト行列100および経路行列110を更新する(S214)。検出された内部競合に基づいて経路行列110を更新するために、更新部2080は、内部競合の解消を行い、それにより、内部競合が検出された地点のペアについてコストが最小となる新しい経路を計算する。検出部2060は、非特許文献3によって開示されている競合ベースの探索アルゴリズムなど、任意の内部競合解消アルゴリズムを使用することができる。
内部競合の解消の結果、内部競合が検出された地点のペアについて、コストが最小となる経路が更新される。したがって、更新部2080は、内部競合の解消の結果に基づいて時間依存経路行列110を更新する。更新部2080はまた、更新された経路行列110に基づいて時間依存コスト行列100を更新する。更新された経路行列110に基づいてコスト行列100を更新する方法は、初期化された経路行列110に基づいてコスト行列100を初期化する方法と同じである。
内部競合が検出されない場合(S212:いいえ)、競合検出部2060は、外部競合の検出を行う(S216)。外部競合(すなわち、対象車両30と一時的な障害物との間の競合)を検出する方法は、既に上述されている。対象車両30は複数存在するため、外部競合の検出は各対象車両30について行われることに留意されたい。
外部競合が検出されない場合(S216:いいえ)、車両スケジューリング装置2000は、この場合は競合が検出されないので、スケジュール情報20を出力する(S220)。一方で、外部競合が検出された場合(S216:はい)、更新部2080は、検出された外部競合に基づいて、時間依存コスト行列100および時間依存経路行列110を更新する(S218)。この処理は、対象者に単一の対象車両30が割り当てられている場合と同様に行うことができる。
時間依存コスト行列100および時間依存経路行列110が更新された後(S214またはS218)、装置2000は、タスクの実行順序を決定し、各タスクのタスク経路を選択し、スケジュール情報20を再度生成する(S206、S208、およびS210)。次いで、再度、内部競合および外部競合の検出を行う(S212およびS216)。これらの処理の繰り返し実行は、競合が検出されなくなる(S216:いいえ)まで継続される。
<他車両のスケジュール情報の修正>
上記の説明では、競合を回避するために更新されるのは対象車両30のスケジュール情報20である。しかしながら、対象車両30が対象車両30以外の車両(以下、障害車両と呼ぶ)と競合する場合には、対象車両30のスケジュール情報20に代えて障害車両のスケジュール情報20を更新することで競合を回避してもよい。
対象車両30が、スケジュール情報20が確定されて記憶部に記憶されている車両V1と競合していることが検出されたとする。この場合、車両V1のスケジュール情報20を更新し、その一方で対象車両30のスケジュール情報20を確定することで、競合を回避することができる。
更新部2080は、対象車両30と障害車両との間で外部競合が検出された場合、障害車両のスケジュール情報20の更新が承認されたか否かを確認してもよい。承認された場合、上述した対象車両30のスケジュール情報20の繰り返し更新と同様にして、競合が検出されなくなるまで、障害車両のスケジュール情報20を繰り返し更新する。この場合、車両スケジューリング装置2000は、競合に基づいて対象車両30のスケジュール情報20を更新することなく、スケジュール情報20を出力する。さらに、車両スケジューリング装置2000は、競合が検出されなくなるまで障害車両のスケジュール情報20を更新した後、スケジュール情報20を出力する。障害車両のスケジュール情報20の更新が承認されない場合、車両スケジューリング装置2000は、競合が検出されなくなるまで、対象車両30のスケジュール情報20を繰り返し生成する。
車両スケジューリング装置2000が障害車両のスケジュール情報20の更新の承認を確認する方法は様々である。例えば、車両スケジューリング装置2000は、障害車両に予め対応付けられたアドレス、例えば障害車両の操作者のメールアドレスに、スケジュール情報20の更新の承認要求を送信する。この場合、車両スケジューリング装置2000は、要求に対する応答を受信し、その応答が障害車両のスケジュール情報20の更新を承認することを示すか否かを確認する。車両スケジューリング装置2000は、応答が障害車両のスケジュール情報20の更新を承認することを示す場合、障害車両のスケジュール情報20の繰り返し更新を行う。
別の例では、スケジュール情報20は、その更新が承認されるか否かを示す承認フラグを有してもよい。この場合、車両スケジューリング装置2000は、その更新が承認されること示す、障害車両のスケジュール情報20の承認フラグがあるか否かを確認する。障害車両のスケジュール情報20の承認フラグがその更新を承認することを示す場合、車両スケジューリング装置2000は、障害車両のスケジュール情報20の繰り返し更新を行う。承認フラグの値は、障害車両の操作者によって予め設定されてもよい。
実施形態2
<概要>
図13は、実施形態2の車両スケジューリング装置2000の概要を示す。ここで、図13に示す概要は、車両スケジューリング装置2000を理解しやすくするために車両スケジューリング装置2000の動作の一例を示したものであり、車両スケジューリング装置2000の可能な動作の範囲を限定したり狭めたりするものではない。
実施形態2の車両スケジューリング装置2000は、地点の各ペアの移動コストが経時的に一定であると仮定する点で、実施形態1とは異なる。したがって、この実施形態の車両スケジューリング装置2000は、時間依存コスト行列100の代わりに、対象車両30がいつ移動を開始するかにかかわらず一定である、地点の各ペアの移動コストを示す時間非依存コスト行列200を採用する。
コストは経時的に一定であると仮定されるので、時間非依存コストを扱う任意の VRP を解くことによって、対象車両30に割り当てられたタスクの実行順序を決定することができる。例えば、車両の容量を考慮する場合、容量性 VRP(capacitated VRP)が採用される。この場合、対象車両30に割り当てられたタスクの実行順序は、 CVRP の解として得られる。
競合が検出されると、車両スケジューリング装置2000は、競合に基づいて時間非依存コスト行列200を更新する。時間非依存コスト行列200は時間ベースのコストを扱わないので、時間非依存コスト行列200は、一時的な障害物を恒久的な障害物と同様に扱う。具体的には、競合が検出された位置は、競合がいつ発生したかにかかわらず、障害物によって占有されていると見なされる。
<作用効果の例>
実施形態1の車両スケジューリング装置2000と同様に、実施形態2の車両スケジューリング装置2000は、対象車両30が一時的な障害物と競合しなくなるまで、対象車両30のタスクの実行スケジュールを繰り返し更新する。したがって、実施形態2の車両スケジューリング装置2000は、実施形態2の車両スケジューリング装置2000と同様の理由により、各車両のタスクの実行スケジュールを効率的に生成することができる。さらに、実施形態2の車両スケジューリング装置2000は、時間非依存コストを用いて VRDP を解く方が TDVRP を解くよりも時間がかからない可能性が高いので、スケジュール情報20を確定するために実施形態1よりも時間がかからない可能性が高い。
以下、車両スケジューリング装置2000のより詳細な説明について説明する。
<機能構成の例>
実施形態2の車両スケジューリング装置2000は、実施形態1の車両スケジューリング装置2000と同様の機能構成を有してもよい。したがって、車両スケジューリング装置2000の機能構成の一例も図3に示すことができる。
実施形態2の生成部2040は、タスクの実行順序を決定するために、TDVRP ではなく時間非依存コストを用いて VRP を解く点において、実施形態1と異なる。さらに、時間依存コスト行列100ではなく、時間非依存コスト行列200を使用する。実施形態2の更新部2080は、検出された競合に基づいて、時間依存コスト行列100ではなく、時間非依存コスト行列200を更新する点で、実施形態1と異なる。
<ハードウェア構成の例>
実施形態2の車両スケジューリング装置2000は、実施形態2の車両スケジューリング装置2000を実現するものと同様の1つ以上のコンピュータによって実現されてもよい。したがって、そのハードウェア構成も図4に示すことができる。
<処理の流れ>
図14は、実施形態2の車両スケジューリング装置2000が行う処理の一例を示すフローチャートである。図14において、境界が太線の処理(ステップS304、S306、S308、およびS314)は、図5に示す実施形態1の対応する処理とは異なる。
取得部2020は、タスクリスト情報10を取得する(S302)。生成部2040は、時間非依存コスト行列200を初期化する(S304)。生成部2040は、時間非依存コスト行列200を使用してタスクの実行順序を決定する(S306)。生成部2040は、各タスクのタスク経路を選択する(S308)。生成部2040は、スケジュール情報20を生成する(S310)。競合検出部2060は、スケジュール情報20を使用して競合検出を行う(S312)。競合が検出されない場合(S312:いいえ)、車両スケジューリング装置2000は、スケジュール情報20を出力する(S316)。一方、競合が検出された場合(S312:はい)、更新部2080は、検出された競合に基づいて時間非依存コスト行列200を更新する(S314)。
時間非依存コスト行列200の更新後、車両スケジューリング装置2000の処理はステップS306に戻る。これにより、ステップS312で競合が検出されなくなるまで、スケジュール情報20の生成(S306~S310)、競合検出(S312)、および時間非依存コスト行列200の更新(S314)が繰り返し行われる。
<タスクリスト情報の取得:S302>
取得部2020は、実施形態1と同様にして、タスクリスト情報10を取得する。
<時間非依存コスト行列200の初期化:S304>
生成部2040は、時間非依存コスト行列200を初期化する(S304)。時間非依存コスト行列200は、各々が経時的に一定である地点の各ペアについての最小の移動コストを示す。図15は、時間非依存コスト行列200を示す。時間非依存コスト行列200は、二次元行列であってもよく、それぞれ、セルの第1のインデックス(x座標)は移動の開始地点を表し、セルの第2のインデックス(y座標)は移動の終了地点を表す。
コスト行列200のセル(Si,Sj)は、地点Siから地点Sjまでの最小の移動コストを示すことができる。例えば、図15に示す斜線で塗りつぶしたセルの座標は(S5,S7)である。したがって、このセルが示す値は、地点S5からS7までの最小の移動コストを示す。
時間非依存コスト行列200を初期化するために、実施形態2の生成部2040は、実施形態1の生成部2040が時間依存経路行列110を使用するのと同様に、時間非依存経路行列を使用してもよい。時間非依存経路行列は、経時的に一定である、地点の各ペアのコストが最小となる経路を示す。
図16は、時間非依存経路行列210を示す。ここで、以下、「時間非依存経路行列210」および「経路行列210」という用語は、互いに交換可能に使用される。経路行列210は、二次元行列であってもよく、それぞれ、セルの第1のインデックス(x座標)は移動の開始地点を表し、セルの第2のインデックス(y座標)は移動の終了地点を表す。
時間非依存経路行列210のセル(Si,Sj)は、地点Siから地点Sjまでの移動コストが最小となる経路を示すことができる。例えば、図16に示す斜線で塗りつぶしたセルの座標は(S5,S7)である。したがって、このセルが示す値は、地点S5からS7までの移動コストが最小となる経路を示す。
開始地点と終了地点の各ペアについて、生成部2040は、上述したマップ情報を使用して最短経路問題を解くことによって、そのペアが取り得る経路の中からコストが最小となる経路を決定する。各経路のコストは経時的に一定であると仮定されるので、最短経路問題を解くための任意のアルゴリズム、例えばダイクストラアルゴリズム、A*探索アルゴリズム、または空間時間A*アルゴリズムを使用して、地点の各ペアの最短経路を見つけることができる。
時間非依存経路行列210が初期化された後、生成部2040は、時間依存経路行列110に基づいて時間依存コスト行列100を初期化するのと同様の方法で、時間非依存経路行列210に基づいて時間非依存コスト行列200を初期化する。具体的には、時間非依存コスト行列200の各セルは、時間非依存経路行列210の対応するセルによって示される経路のコストを示すはずである。したがって、生成部2040は、iおよびjの各ペアについて、時間非依存経路行列210のセル(Si,Sj)が示すコストを、時間非依存コスト行列200のセル(Si,Sj)に設定する。
<スケジュール情報の生成:S306~S310>
生成部2040は、タスクの実行順序を決定し(S306)、各タスクのタスク経路を選択すること(S308)により、スケジュール情報20を生成する(S310)。生成部2040は、VRP を時間非依存コスト行列200を用いて解くことにより、対象車両30に割り当てられたタスクの実行順序を決定する。時間非依存コストを用いて VRP を解くためには、出発地、目的地、実行されるべきタスクのリスト、および時間非依存コスト関数を、VRP を解くためのアルゴリズムに与える必要がある。なお、CVRP を採用する場合、対象車両30の容量もアルゴリズムに与えられる。出発地、目的地、および実行されるべきタスクのリストの説明については、実施形態1で説明した通りである。生成部2040は、時間非依存コスト関数として、時間非依存コスト行列200を使用する。
生成部2040は、VRP の解として、対象車両30に実行させるタスクの実行順序を得る。ここで、VRP を解くアルゴリズムには様々なものがある。例えば、VRP を解くために、MILP や、Tabu探索アルゴリズムまたは反復局所探索アルゴリズムなどのメタヒューリスティックアルゴリズムを採用することができる。
生成部2040は、タスクの実行順序を決定した後、各タスクのタスク経路を選択する。この実施形態では、生成部2040は、時間非依存経路行列210を使用することができる。具体的には、生成部2040は、各タスクについて、時間非依存経路行列210から、タスクの開始地点およびタスク地点に対応するセルが示す経路を抽出し、抽出した経路をそのタスクのタスク経路として設定する。
(n-1)番目のタスクが、地点Sn-1まで移動して荷物を受け取ることを含み、n番目のタスクが、地点Snまで移動して荷物を降ろすことを含むとする。この場合、経路行列210のセル(Sn-1,Sn)が示す経路が、n番目のタスクのタスク経路として使用される。
実施形態2の生成部2040は、各タスクにタスク経路を選択した後、の実施形態1と同様にスケジュール情報20を生成する。
<競合検出:S312>
競合検出部2060は、対象車両30に対して競合検出を行う(S312)。実施形態2の競合検出部2060は、実施形態1と同様に競合を検出する。
<コスト行列200の更新:S314>
対象車両30について1つ以上の競合が検出された場合(S312:はい)、更新部2080は、競合情報に基づいて時間非依存コスト行列200を更新する。更新部2080は、時間非依存経路行列210を使用して時間非依存コスト行列200を更新することができる。この場合、更新部2080は、最初に、最短経路問題を任意のアルゴリズムを用いて解くことにより、時間非依存経路行列210を更新してもよい。
検出された競合を最短経路問題の解に反映させるために、更新部2080は、マップ情報と競合情報とに基づいて時間非依存グリッドマップを生成し、これを最短経路問題を解くアルゴリズムに入力する。この時間非依存グリッドマップは、競合が検出された位置に対応するグリッドに障害物があることを除いて、マップ情報によって示されるグリッドマップと同じである。
図17は、時間非依存グリッドマップ220を示す。この例では、マップ情報には、位置(1,1)、(2,4)に恒久的な障害物が示されているものと仮定する。さらに、競合情報は、時刻Ta~Tbに位置(3,2)で発生する競合Aと、時刻Tc~Tdに位置(4,3)で発生する競合Bとを示している(T0<Ta<Tb<Tc<Td<Tn)。
この場合、時間非依存グリッドマップ220には、マップ情報が示す(1,1)および(2,4)の位置にある障害物が示されている。さらに、競合Aに対応する(3,2)の障害物、および競合Bに対応する(4,3)の障害物も示されている。
時間非依存グリッドマップ220は、地点の各ペアについて生成される。次いで、更新部2080は、地点の各ペアについて、時間非依存グリッドマップ220を使用して最短経路問題を解く。これにより、更新部2080は、地点の各ペアについてコストが最小となる経路を求めることで、時間非依存経路行列210を更新する。
時間非依存経路行列210を更新した後、更新部2080は、更新された経路行列210に基づいて時間非依存コスト行列200を更新する。ここで、時間非依存経路行列210に基づく時間非依存コスト行列200の更新は、上述した時間非依存経路行列210に基づく時間非依存コスト行列200の初期化と同様に行うことができる。
<スケジュール情報20の出力:S316>
競合検出部2060により競合が検出されなかった場合(S312:いいえ)、車両スケジューリング装置2000は、スケジュール情報20を出力する(S316)。実施形態2のスケジュール情報20は、実施形態1と同様に出力される。
<複数の対象車両30の扱い方>
実施形態2の車両スケジューリング装置2000は、地点間の移動コストが経時的に一定であると仮定されることを除いて、実施形態1と同様に複数の対象車両30を扱う。図18は、対象者に複数の対象車両30が割り当てられた場合の、実施形態2の車両スケジューリング装置2000が行う処理の一例を示すフローチャートである。図18において、境界が太線の処理(ステップS404、S406、S408、S414、およびS418)は、図12に示す実施形態1と異なる。
取得部2020は、タスクリスト情報10を取得する(S402)。次いで、生成部2040は、時間非依存コスト行列200および時間非依存経路行列210を初期化する(S404)。これらの処理は、対象者に単一の対象車両30が割り当てられている場合と同様に行われる。
生成部2040は、各対象車両30に対するタスクの実行順序を決定する(S406)。生成部2040は、実施形態1と同様に、VRP を解くことにより、各対象車両30に対するタスクの割り当てと、各対象車両30に対するタスクの実行順序の決定とを同時に行うことができる。具体的には、VRP を解くアルゴリズムは、さらに、車両の台数を入力とし、各車両に対するタスクの実行順序を出力する。したがって、生成部2040は、VRP を解いた結果、各対象車両30についてタスクの実行順序を得ることができる。ここで、CVRP を採用する場合、CVRP を解くアルゴリズムに各車両の容量も与えられる。
生成部2040は、各対象車両30に対するタスクの実行順序を決定した後、各タスクに対するタスク経路を選択する(S408)。タスク経路の選択は、対象者に単一の対象車両30が割り当てられている場合と同様に、時間非依存経路行列210を使用して行われる。各タスクのタスク経路が選択された結果、生成部2040は、各対象車両30についてスケジュール情報20を生成する(S410)。
次いで、検出部2060は、内部競合の検出を行いうる(S412)。内部競合が検出された場合(S412:はい)、更新部2080は、検出された内部競合に基づいてコスト行列200および経路行列210を更新する(S414)。実施形態2の更新部2080は、実施形態1と同様に、内部競合の解消を行うことにより、内部競合が検出された地点のペアについて、コストが最小となる新たな経路を計算する。更新部2080は、内部競合の解消の結果に基づいて時間非依存経路行列210を更新する。更新部2080はまた、更新された経路行列210に基づいて時間非依存コスト行列200を更新する。
内部競合が検出されない場合(S412:いいえ)、競合検出部2060は、実施形態1と同様に、外部競合の検出を行う(S416)。
外部競合が検出されない場合(S416:いいえ)、車両スケジューリング装置2000は、この場合は競合が検出されないので、スケジュール情報20を出力する(S420)。一方で、外部競合が検出された場合(S416:はい)、更新部2080は、検出された外部競合に基づいて、時間非依存コスト行列200および時間非依存経路行列210を更新する(S418)。この処理は、対象者に単一の対象車両30が割り当てられている場合と同様に行うことができる。
時間非依存コスト行列200および時間非依存経路行列210が更新された後(S414またはS418)、装置2000は、タスクの実行順序を決定し、各タスクのタスク経路を選択し、スケジュール情報20を再度生成する(S406、S408、およびS410)。次いで、再度、内部競合および外部競合の検出を行う(S412、S416)。これらの処理の繰り返し実行は、競合が検出されなくなる(S416:いいえ)まで継続される。
<他車両のスケジュール情報の修正>
実施形態1の車両スケジューリング装置2000と同様に、実施形態2の車両スケジューリング装置2000は、対象車両と競合する障害車両のスケジュール情報20を、その更新が承認される場合に繰り返し更新してもよい。
以上、実施の形態を参照して本開示を説明したが、本開示は上記の実施の形態に限定されるものではない。本開示の構成および詳細には、本発明の範囲内で当業者が理解し得る様々な変更を行うことができる。
本開示で言及されるプログラムは、コンピュータに読み込まれた場合に、実施形態で説明された1又はそれ以上の機能をコンピュータに行わせるための命令群(又はソフトウェアコード)を含む。プログラムは、非一時的なコンピュータ可読媒体又は実体のある記憶媒体に格納されてもよい。限定ではなく例として、コンピュータ可読媒体又は実体のある記憶媒体は、random-access memory(RAM)、read-only memory(ROM)、フラッシュメモリ、solid-state drive(SSD)又はその他のメモリ技術、CD-ROM、digital versatile disc(DVD)、Blu-ray(登録商標)ディスク又はその他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ又はその他の磁気ストレージデバイスを含む。プログラムは、一時的なコンピュータ可読媒体又は通信媒体上で送信されてもよい。限定ではなく例として、一時的なコンピュータ可読媒体又は通信媒体は、電気的、光学的、音響的、またはその他の形式の伝搬信号を含む。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
<付記>
(付記1)
少なくとも1つのプロセッサと、
命令を記憶するメモリと
を備える車両スケジューリング装置であって、前記少なくとも1つのプロセッサが、前記命令を実行して、
少なくとも1台の対象車両が割り当てられた対象者に割り当てられたタスクを示すタスクリスト情報を取得し、前記対象車両は、前記タスクに対応するタスク地点において割り当てられた各タスクを実行し、
作業空間内の地点の各ペアの最小コストが示されるコスト行列を使用して車両ルーティング問題を解くことによって、各対象車両に対する前記タスクの実行順序を決定し、
各タスクについて、前記決定されたタスクの実行順序に基づいて、前記タスクの前記タスク地点まで移動するコストが最小となる経路であるタスク経路を選択し、
各対象車両について、前記対象車両に割り当てられた前記タスクの前記実行順序および各タスクの前記タスク経路を示す前記対象車両のスケジュール情報を生成し、
前記対象車両と、その位置が経時的に変化する一時的な障害物との間の競合である外部競合を検出し、かつ
1つ以上の外部競合が検出された場合に、さらに、
前記競合が検出された地点の前記ペアの前記最小コストを更新するように前記コスト行列を更新することと、
前記対象車両と前記一時的な障害物との検出が検出されなくなるまで、前記タスクの前記実行順序の前記決定、各タスクの前記タスク経路の前記選択、前記スケジュール情報の前記生成、前記競合の前記検出、および前記コスト行列の前記更新を繰り返し行うこととを行う、
ように構成される車両スケジューリング装置。
(付記2)
前記外部競合の前記検出は、
一時的な障害物ごとに、各時点における前記一時的な障害物の位置を示すイベント情報を取得することと、
前記対象車両の前記スケジュール情報と各一時的な障害物の前記イベント情報とを比較して、前記対象車両および前記一時的な障害物が互いに同じ時刻に同じ場所に位置することがスケジュールされている場合に、前記対象車両が前記一時的な障害物と競合していると決定することとを含む、
付記1に記載の車両スケジューリング装置。
(付記3)
各対象車両に対する前記タスクの前記実行順序が、時間依存車両ルーティング問題を解くことによって決定され、
前記コスト行列が時間依存コストを示すように構成され、かつ
前記コスト行列の前記初期化は、
前記作業空間のマップ情報を使用して最短経路問題を解くことによって経路行列を初期化することを含み、前記経路行列は、地点の各ペアおよび各時点について、前記地点間の1つ以上の取り得る経路のうちのコストが最小となる経路を示し、前記マップ情報は、各地点の位置、およびその位置が経時的に変化しない恒久的な障害物の位置を示し、
地点の各ペアおよび各時点について、前記経路行列のセルによって示される前記経路のコストを、前記コスト行列の対応するセルに設定することを含む、
付記1または2に記載の車両スケジューリング装置。
(付記4)
前記コスト行列の前記更新は、
前記マップ情報および前記外部競合の前記検出の結果に基づいて、各時点について、各地点の位置、恒久的な障害物の位置、および前記外部競合の位置を示す予約テーブルを生成することと、
前記予約テーブルを使用して最短経路問題を解くことによって前記経路行列を更新することと、
地点の各ペアおよび各時点について、前記経路行列のセルによって示される前記経路のコストを、前記コスト行列の対応するセルに設定することとを含む、
付記3に記載の車両スケジューリング装置。
(付記5)
前記コスト行列が時間非依存コストを示すように構成され、かつ
前記コスト行列の前記初期化は、
前記作業空間のマップ情報を使用して最短経路問題を解くことによって経路行列を初期化することを含み、前記経路行列は、地点の各ペアについて、前記地点間の1つ以上の取り得る経路のうちのコストが最小となる経路を示し、前記マップ情報は、各地点の位置、およびその位置が経時的に変化しない恒久的な障害物の位置を示し、
地点の各ペアについて、前記経路行列のセルによって示される前記経路のコストを、前記コスト行列の対応するセルに設定することを含む、
付記1または2に記載の車両スケジューリング装置。
(付記6)
前記コスト行列の前記更新は、
前記マップ情報および前記外部競合の前記検出の結果に基づいて、各地点の位置、恒久的な障害物の位置、および前記外部競合の位置を示すグリッドマップを生成することと、
前記グリッドマップを使用して最短経路問題を解くことによって前記経路行列を更新することと、
地点の各ペアについて、前記経路行列のセルによって示される前記経路のコストを、前記コスト行列の対応するセルに設定することとを含む、
付記5に記載の車両スケジューリング装置。
(付記7)
前記少なくとも1つのプロセッサが、前記命令を実行して、
2台以上の対象車両が前記対象者に割り当てられている場合、前記外部競合を検出する前に、前記対象車両間の競合である内部競合を検出することと、
1つ以上の内部競合が検出された場合に、
前記内部競合が検出された地点の前記ペアについて、コストが最小となる前記経路を更新するために内部競合の解消を行うことによって前記経路行列を更新することと、
各タスクに対する前記タスク経路の前記選択、前記スケジュール情報の前記生成、前記内部競合の前記検出、および前記経路行列の前記更新を、内部競合が検出されなくなるまで繰り返し行うこととをさらに行うようにさらに構成される、
付記4または6に記載の車両スケジューリング装置。
(付記8)
前記少なくとも1つのプロセッサが、前記命令を実行して、
1つ以上の外部競合が検出され、かつ前記一時的な障害物が前記対象車両以外の車両である場合に、
前記一時的な障害物の前記スケジュール情報の更新が承認されるか否かを確認することと、
前記一時的な障害物の前記スケジュール情報が承認される場合には、前記対象車両の前記スケジュール情報を繰り返し生成することに代えて、外部競合が検出されなくなるまで、前記一時的な障害物の前記スケジュール情報を繰り返し更新することとをさらに行うようにさらに構成される、
付記1から7のいずれか一項に記載の車両スケジューリング装置。
(付記9)
コンピュータによって行われる制御方法であって、
少なくとも1台の対象車両が割り当てられた対象者に割り当てられたタスクを示すタスクリスト情報を取得することを含み、前記対象車両は、前記タスクに対応するタスク地点において割り当てられた各タスクを実行し、
作業空間内の地点の各ペアの最小コストが示されるコスト行列を使用して車両ルーティング問題を解くことによって、各対象車両に対する前記タスクの実行順序を決定することと、
各タスクについて、前記タスクの前記決定された実行順序に基づいて、前記タスクの前記タスク地点まで移動するコストが最小となる経路であるタスク経路を選択することと、
各対象車両について、前記対象車両に割り当てられた前記タスクの前記実行順序および各タスクの前記タスク経路を示す前記対象車両のスケジュール情報を生成することと、
前記対象車両と、その位置が経時的に変化する一時的な障害物との間の競合である外部競合を検出することとを含み、
1つ以上の外部競合が検出された場合に、
前記競合が検出された地点の前記ペアの前記最小コストを更新するように前記コスト行列を更新すること、ならびに
前記対象車両と前記一時的な障害物との検出が検出されなくなるまで、前記タスクの前記実行順序の前記決定、各タスクの前記タスク経路の前記選択、前記スケジュール情報の前記生成、前記競合の前記検出、および前記コスト行列の前記更新を繰り返し行うことをさらに行うことを含む、制御方法。
(付記10)
前記外部競合の前記検出は、
一時的な障害物ごとに、各時点における前記一時的な障害物の位置を示すイベント情報を取得することと、
前記対象車両の前記スケジュール情報と各一時的な障害物の前記イベント情報とを比較して、前記対象車両および前記一時的な障害物が互いに同じ時刻に同じ場所に位置することがスケジュールされている場合に、前記対象車両が前記一時的な障害物と競合していると決定することとを含む、
付記9に記載の制御方法。
(付記11)
各対象車両に対する前記タスクの前記実行順序が、時間依存車両ルーティング問題を解くことによって決定され、
前記コスト行列が時間依存コストを示すように構成され、かつ
前記コスト行列の前記初期化は、
前記作業空間のマップ情報を使用して最短経路問題を解くことによって経路行列を初期化することを含み、前記経路行列は、地点の各ペアおよび各時点について、前記地点間の1つ以上の取り得る経路のうちのコストが最小となる経路を示し、前記マップ情報は、各地点の位置、およびその位置が経時的に変化しない恒久的な障害物の位置を示し、
地点の各ペアおよび各時点について、前記経路行列のセルによって示される前記経路のコストを、前記コスト行列の対応するセルに設定することを含む、
付記9または10に記載の制御方法。
(付記12)
前記コスト行列の前記更新は、
前記マップ情報および前記外部競合の前記検出の結果に基づいて、各時点について、各地点の位置、恒久的な障害物の位置、および前記外部競合の位置を示す予約テーブルを生成することと、
前記予約テーブルを使用して最短経路問題を解くことによって前記経路行列を更新することと、
地点の各ペアおよび各時点について、前記経路行列のセルによって示される前記経路のコストを、前記コスト行列の対応するセルに設定することとを含む、
付記11に記載の制御方法。
(付記13)
前記コスト行列が時間非依存コストを示すように構成され、かつ
前記コスト行列の前記初期化は、
前記作業空間のマップ情報を使用して最短経路問題を解くことによって経路行列を初期化することを含み、前記経路行列が、地点の各ペアについて、前記地点間の1つ以上の取り得る経路のうちのコストが最小となる経路を示し、前記マップ情報が、各地点の位置、およびその位置が経時的に変化しない恒久的な障害物の位置を示し、
地点の各ペアについて、前記経路行列のセルによって示される前記経路のコストを、前記コスト行列の対応するセルに設定することを含む、
付記9または10に記載の制御方法。
(付記14)
前記コスト行列の前記更新は、
前記マップ情報および前記外部競合の前記検出の結果に基づいて、各地点の位置、恒久的な障害物の位置、および前記外部競合の位置を示すグリッドマップを生成することと、
前記グリッドマップを使用して最短経路問題を解くことによって前記経路行列を更新することと、
地点の各ペアについて、前記経路行列のセルによって示される前記経路のコストを、前記コスト行列の対応するセルに設定することとを含む、
付記13に記載の制御方法。
(付記15)
2台以上の対象車両が前記対象者に割り当てられている場合、前記外部競合を検出する前に、前記対象車両間の競合である内部競合を検出することと、
1つ以上の内部競合が検出された場合に、
前記内部競合が検出された地点の前記ペアについて、コストが最小となる前記経路を更新するために内部競合解消を行うことによって前記経路行列を更新することと、
各タスクに対する前記タスク経路の前記選択、前記スケジュール情報の前記生成、前記内部競合の前記検出、および前記経路行列の前記更新を、内部競合が検出されなくなるまで繰り返し行うこととをさらに行うこととをさらに含む、
付記12または14に記載の制御方法。
(付記16)
1つ以上の外部競合が検出され、かつ前記一時的な障害物が前記対象車両以外の車両である場合に、
前記一時的な障害物の前記スケジュール情報の更新が承認されるか否かを確認すること、
前記一時的な障害物の前記スケジュール情報が承認される場合には、前記対象車両の前記スケジュール情報を繰り返し生成することに代えて、外部競合が検出されなくなるまで、前記一時的な障害物の前記スケジュール情報を繰り返し更新することとをさらに行うことをさらに含む、
付記9から15のいずれか一項に記載の制御方法。
(付記17)
コンピュータに、
少なくとも1台の対象車両が割り当てられた対象者に割り当てられたタスクを示すタスクリスト情報を取得することを実行させ、前記対象車両は、前記タスクに対応するタスク地点において割り当てられた各タスクを実行し、
作業空間内の地点の各ペアの最小コストが示されるコスト行列を使用して車両ルーティング問題を解くことによって、各対象車両に対する前記タスクの実行順序を決定することと、
各タスクについて、前記タスクの前記決定された実行順序に基づいて、前記タスクの前記タスク地点まで移動するコストが最小となる経路であるタスク経路を選択することと、
各対象車両について、前記対象車両に割り当てられた前記タスクの前記実行順序および各タスクの前記タスク経路を示す前記対象車両のスケジュール情報を生成することと、
前記対象車両と、その位置が経時的に変化する一時的な障害物との間の競合である外部競合を検出することとを実行させ、
1つ以上の外部競合が検出された場合に、
前記競合が検出された地点の前記ペアの前記最小コストを更新するように前記コスト行列を更新すること、ならびに
前記対象車両と前記一時的な障害物との検出が検出されなくなるまで、前記タスクの前記実行順序の前記決定、各タスクの前記タスク経路の前記選択、前記スケジュール情報の前記生成、前記競合の前記検出、および前記コスト行列の前記更新を繰り返し行うことをさらに行うこととを実行させるプログラムを記憶する非一時的コンピュータ可読記憶媒体。
(付記18)
前記外部競合の前記検出は、
一時的な障害物ごとに、各時点における前記一時的な障害物の位置を示すイベント情報を取得することと、
前記対象車両の前記スケジュール情報と各一時的な障害物の前記イベント情報とを比較して、前記対象車両および前記一時的な障害物が互いに同じ時刻に同じ場所に位置することがスケジュールされている場合に、前記対象車両が前記一時的な障害物と競合していると決定することとを含む、
付記17に記載の記憶媒体。
(付記19)
各対象車両に対する前記タスクの前記実行順序が、時間依存車両ルーティング問題を解くことによって決定され、
前記コスト行列が時間依存コストを示すように構成され、かつ
前記コスト行列の前記初期化は、
前記作業空間のマップ情報を使用して最短経路問題を解くことによって経路行列を初期化することを含み、前記経路行列が、地点の各ペアおよび各時点について、前記地点間の1つ以上の取り得る経路のうちのコストが最小となる経路を示し、前記マップ情報が、各地点の位置、およびその位置が経時的に変化しない恒久的な障害物の位置を示し
地点の各ペアおよび各時点について、前記経路行列のセルによって示される前記経路のコストを、前記コスト行列の対応するセルに設定することとを含む、
付記17または18に記載の記憶媒体。
(付記20)
前記コスト行列の前記更新は、
前記マップ情報および前記外部競合の前記検出の結果に基づいて、各時点について、各地点の位置、恒久的な障害物の位置、および前記外部競合の位置を示す予約テーブルを生成することと、
前記予約テーブルを使用して最短経路問題を解くことによって前記経路行列を更新することと、
地点の各ペアおよび各時点について、前記経路行列のセルによって示される前記経路のコストを、前記コスト行列の対応するセルに設定することとを含む、
付記19に記載の記憶媒体。
(付記21)
前記コスト行列が時間非依存コストを示すように構成され、かつ
前記コスト行列の前記初期化は、
前記作業空間のマップ情報を使用して最短経路問題を解くことによって経路行列を初期化することを含み、前記経路行列が、地点の各ペアについて、前記地点間の1つ以上の取り得る経路のうちのコストが最小となる経路を示し、前記マップ情報が、各地点の位置、およびその位置が経時的に変化しない恒久的な障害物の位置を示し、
地点の各ペアについて、前記経路行列のセルによって示される前記経路のコストを、前記コスト行列の対応するセルに設定することとを含む、
付記17または18に記載の記憶媒体。
(付記22)
前記コスト行列の前記更新は、
前記マップ情報および前記外部競合の前記検出の結果に基づいて、各地点の位置、恒久的な障害物の位置、および前記外部競合の位置を示すグリッドマップを生成することと、
前記グリッドマップを使用して最短経路問題を解くことによって前記経路行列を更新することと、
地点の各ペアについて、前記経路行列のセルによって示される前記経路のコストを、前記コスト行列の対応するセルに設定することとを含む、
付記21に記載の記憶媒体。
(付記23)
前記プログラムが、前記コンピュータに、
2台以上の対象車両が前記対象者に割り当てられている場合、前記外部競合を検出する前に、前記対象車両間の競合である内部競合を検出することと、
1つ以上の内部競合が検出された場合に、
前記内部競合が検出された地点の前記ペアについて、コストが最小となる前記経路を更新するために内部競合解消を行うことによって前記経路行列を更新すること、
各タスクに対する前記タスク経路の前記選択、前記スケジュール情報の前記生成、前記内部競合の前記検出、および前記経路行列の前記更新を、内部競合が検出されなくなるまで繰り返し行うことをさらに行うこととをさらに実行させる、
付記20または22に記載の記憶媒体。
(付記24)
前記プログラムが、前記コンピュータに、
1つ以上の外部競合が検出され、かつ前記一時的な障害物が前記対象車両以外の車両である場合に、
前記一時的な障害物の前記スケジュール情報の更新が承認されるか否かを確認すること、
前記一時的な障害物の前記スケジュール情報が承認される場合には、前記対象車両の前記スケジュール情報を繰り返し生成することに代えて、外部競合が検出されなくなるまで、前記一時的な障害物の前記スケジュール情報を繰り返し更新することをさらに行うことをさらに実行させる、
付記17から23のいずれか一項に記載の記憶媒体。
本出願は、2021年10月7日に出願された日本特許出願特願2021-165351号を基礎とする優先権を主張し、その開示は参照によりその全体が本明細書に組み込まれる。
10 タスクリスト情報
20 スケジュール情報
30 対象車両
100 時間依存コスト行列
110 時間依存経路行列
120 グリッドマップ
1000 コンピュータ
1020 バス
1040 プロセッサ
1060 メモリ
1080 ストレージデバイス
1100 入出力インタフェース
1120 ネットワークインタフェース
2000 車両スケジューリング装置
2020 取得部
2040 生成部
2060 競合検出部
2080 更新部
ストレージデバイス1080は、前述したプログラムを格納しうる。プロセッサ1040は、車両スケジューリング装置2000の各機能構成部を実現するためにそのプログラムを実行する。
経路行列110を初期化するとき、各経路のコストは経時的に一定であると仮定することができる。したがって、生成部2040は、開始地点と終了地点の各ペアについて、各経路のコストが一定であるマップ情報を使用して最短経路問題を解くことによって、そのペアが取り得る経路の中からコストが最小となる経路を決定する。マップ情報は、作業空間のグリッドマップを格納しうる。対象車両0が作業空間を二次元的に移動する場合(例えば、対象車両30が自動車である場合)、グリッド情報は、作業空間の床面の二次元グリッドマップを示す。対象車両30が作業空間を三次元的に移動する場合(例えば、対象車両30がドローンである場合)、グリッド情報は、作業空間の三次元グリッドマップを示す。グリッドマップはまた、各地点の位置、および壁、棚、または机などの恒久的な障害物も示す。
時間依存経路行列110が初期化された後、生成部2040は、時間依存経路行列110に基づいて時間依存コスト行列100を初期化する。具体的には、時間依存コスト行列100の各セルは、時間依存経路行列の対応するセルによって示される経路のコストを示すべきである。したがって、生成部2040は、i、j、kの各ペアについて、時間依存経路行列110のセル(Si,Sj,Tk)が示すコストを、時間依存コスト行列100のセル(Si,Sj,Tk)に設定する。
<コスト行列100の更新:S114>
対象車両30について1つ以上の競合が検出された場合(S112:はい)、更新部2080は、競合情報に基づいて時間依存コスト行列100を更新する。更新部2080は、時間依存経路行列110を使用して時間依存コスト行列100を更新することができる。この場合、更新部2080は、最初に、空間時間A*アルゴリズムなどの時間依存コストを扱うことができるアルゴリズムで最短経路問題を解くことによって時間依存経路行列110を更新しうる。
競合検出部2060は、競合検出を行う。対象者に複数の対象車両30が割り当てられている場合、内部競合および外部競合の2つの種類の競合が発生する可能性がある。内部競合は、対象車両30間の競合である。一方で、外部競合は、対象車両30と一時的な障害物との間の競合であり、これについては既に上述されている。
競合検出部2060は、最初に、内部競合の検出を行いうる(S212)。競合検出部2060は、対象車両30の各ペアについて、それらのスケジュール情報20を比較することにより、それらの内部競合を検出する。具体的には、2台の対象車両30が同じ場所に同時に位置するようにスケジュールされている場合、それらは互いに競合する。
内部競合が検出された場合(S212:はい)、更新部2080は、検出された内部競合に基づいてコスト行列100および経路行列110を更新する(S214)。検出された内部競合に基づいて経路行列110を更新するために、更新部2080は、内部競合の解消を行い、それにより、内部競合が検出された地点のペアについてコストが最小となる新しい経路を計算する。競合検出部2060は、非特許文献3によって開示されている競合ベースの探索アルゴリズムなど、任意の内部競合解消アルゴリズムを使用することができる。
時間依存コスト行列100および時間依存経路行列110が更新された後(S214またはS218)、車両スケジューリング装置2000は、タスクの実行順序を決定し、各タスクのタスク経路を選択し、スケジュール情報20を再度生成する(S206、S208、およびS210)。次いで、再度、内部競合および外部競合の検出を行う(S212およびS216)。これらの処理の繰り返し実行は、競合が検出されなくなる(S216:いいえ)まで継続される。

Claims (24)

  1. 少なくとも1つのプロセッサと、
    命令を記憶するメモリと
    を備える車両スケジューリング装置であって、前記少なくとも1つのプロセッサが、前記命令を実行して、
    少なくとも1台の対象車両が割り当てられた対象者に割り当てられたタスクを示すタスクリスト情報を取得し、前記対象車両は、前記タスクに対応するタスク地点において割り当てられた各タスクを実行し、
    作業空間内の地点の各ペアの最小コストが示されるコスト行列を使用して車両ルーティング問題を解くことによって、各対象車両に対する前記タスクの実行順序を決定し、
    各タスクについて、前記決定されたタスクの実行順序に基づいて、前記タスクの前記タスク地点まで移動するコストが最小となる経路であるタスク経路を選択し、
    各対象車両について、前記対象車両に割り当てられた前記タスクの前記実行順序および各タスクの前記タスク経路を示す前記対象車両のスケジュール情報を生成し、
    前記対象車両と、その位置が経時的に変化する一時的な障害物との間の競合である外部競合を検出し、かつ
    1つ以上の外部競合が検出された場合に、さらに、
    前記競合が検出された地点の前記ペアの前記最小コストを更新するように前記コスト行列を更新することと、
    前記対象車両と前記一時的な障害物との検出が検出されなくなるまで、前記タスクの前記実行順序の前記決定、各タスクの前記タスク経路の前記選択、前記スケジュール情報の前記生成、前記競合の前記検出、および前記コスト行列の前記更新を繰り返し行うこととを行う、
    ように構成される車両スケジューリング装置。
  2. 前記外部競合の前記検出は、
    一時的な障害物ごとに、各時点における前記一時的な障害物の位置を示すイベント情報を取得することと、
    前記対象車両の前記スケジュール情報と各一時的な障害物の前記イベント情報とを比較して、前記対象車両および前記一時的な障害物が互いに同じ時刻に同じ場所に位置することがスケジュールされている場合に、前記対象車両が前記一時的な障害物と競合していると決定することとを含む、
    請求項1に記載の車両スケジューリング装置。
  3. 各対象車両に対する前記タスクの前記実行順序が、時間依存車両ルーティング問題を解くことによって決定され、
    前記コスト行列が時間依存コストを示すように構成され、かつ
    前記コスト行列の前記初期化は、
    前記作業空間のマップ情報を使用して最短経路問題を解くことによって経路行列を初期化することを含み、前記経路行列は、地点の各ペアおよび各時点について、前記地点間の1つ以上の取り得る経路のうちのコストが最小となる経路を示し、前記マップ情報は、各地点の位置、およびその位置が経時的に変化しない恒久的な障害物の位置を示し、
    地点の各ペアおよび各時点について、前記経路行列のセルによって示される前記経路のコストを、前記コスト行列の対応するセルに設定することを含む、
    請求項1または2に記載の車両スケジューリング装置。
  4. 前記コスト行列の前記更新は、
    前記マップ情報および前記外部競合の前記検出の結果に基づいて、各時点について、各地点の位置、恒久的な障害物の位置、および前記外部競合の位置を示す予約テーブルを生成することと、
    前記予約テーブルを使用して最短経路問題を解くことによって前記経路行列を更新することと、
    地点の各ペアおよび各時点について、前記経路行列のセルによって示される前記経路のコストを、前記コスト行列の対応するセルに設定することとを含む、
    請求項3に記載の車両スケジューリング装置。
  5. 前記コスト行列が時間非依存コストを示すように構成され、かつ
    前記コスト行列の前記初期化は、
    前記作業空間のマップ情報を使用して最短経路問題を解くことによって経路行列を初期化することを含み、前記経路行列は、地点の各ペアについて、前記地点間の1つ以上の取り得る経路のうちのコストが最小となる経路を示し、前記マップ情報は、各地点の位置、およびその位置が経時的に変化しない恒久的な障害物の位置を示し、
    地点の各ペアについて、前記経路行列のセルによって示される前記経路のコストを、前記コスト行列の対応するセルに設定することを含む、
    請求項1または2に記載の車両スケジューリング装置。
  6. 前記コスト行列の前記更新は、
    前記マップ情報および前記外部競合の前記検出の結果に基づいて、各地点の位置、恒久的な障害物の位置、および前記外部競合の位置を示すグリッドマップを生成することと、
    前記グリッドマップを使用して最短経路問題を解くことによって前記経路行列を更新することと、
    地点の各ペアについて、前記経路行列のセルによって示される前記経路のコストを、前記コスト行列の対応するセルに設定することとを含む、
    請求項5に記載の車両スケジューリング装置。
  7. 前記少なくとも1つのプロセッサが、前記命令を実行して、
    2台以上の対象車両が前記対象者に割り当てられている場合、前記外部競合を検出する前に、前記対象車両間の競合である内部競合を検出することと、
    1つ以上の内部競合が検出された場合に、
    前記内部競合が検出された地点の前記ペアについて、コストが最小となる前記経路を更新するために内部競合の解消を行うことによって前記経路行列を更新することと、
    各タスクに対する前記タスク経路の前記選択、前記スケジュール情報の前記生成、前記内部競合の前記検出、および前記経路行列の前記更新を、内部競合が検出されなくなるまで繰り返し行うこととをさらに行うようにさらに構成される、
    請求項4または6に記載の車両スケジューリング装置。
  8. 前記少なくとも1つのプロセッサが、前記命令を実行して、
    1つ以上の外部競合が検出され、かつ前記一時的な障害物が前記対象車両以外の車両である場合に、
    前記一時的な障害物の前記スケジュール情報の更新が承認されるか否かを確認することと、
    前記一時的な障害物の前記スケジュール情報が承認される場合には、前記対象車両の前記スケジュール情報を繰り返し生成することに代えて、外部競合が検出されなくなるまで、前記一時的な障害物の前記スケジュール情報を繰り返し更新することとをさらに行うようにさらに構成される、
    請求項1から7のいずれか一項に記載の車両スケジューリング装置。
  9. コンピュータによって行われる制御方法であって、
    少なくとも1台の対象車両が割り当てられた対象者に割り当てられたタスクを示すタスクリスト情報を取得することを含み、前記対象車両は、前記タスクに対応するタスク地点において割り当てられた各タスクを実行し、
    作業空間内の地点の各ペアの最小コストが示されるコスト行列を使用して車両ルーティング問題を解くことによって、各対象車両に対する前記タスクの実行順序を決定することと、
    各タスクについて、前記タスクの前記決定された実行順序に基づいて、前記タスクの前記タスク地点まで移動するコストが最小となる経路であるタスク経路を選択することと、
    各対象車両について、前記対象車両に割り当てられた前記タスクの前記実行順序および各タスクの前記タスク経路を示す前記対象車両のスケジュール情報を生成することと、
    前記対象車両と、その位置が経時的に変化する一時的な障害物との間の競合である外部競合を検出することとを含み、
    1つ以上の外部競合が検出された場合に、
    前記競合が検出された地点の前記ペアの前記最小コストを更新するように前記コスト行列を更新すること、ならびに
    前記対象車両と前記一時的な障害物との検出が検出されなくなるまで、前記タスクの前記実行順序の前記決定、各タスクの前記タスク経路の前記選択、前記スケジュール情報の前記生成、前記競合の前記検出、および前記コスト行列の前記更新を繰り返し行うことをさらに行うことを含む、制御方法。
  10. 前記外部競合の前記検出は、
    一時的な障害物ごとに、各時点における前記一時的な障害物の位置を示すイベント情報を取得することと、
    前記対象車両の前記スケジュール情報と各一時的な障害物の前記イベント情報とを比較して、前記対象車両および前記一時的な障害物が互いに同じ時刻に同じ場所に位置することがスケジュールされている場合に、前記対象車両が前記一時的な障害物と競合していると決定することとを含む、
    請求項9に記載の制御方法。
  11. 各対象車両に対する前記タスクの前記実行順序が、時間依存車両ルーティング問題を解くことによって決定され、
    前記コスト行列が時間依存コストを示すように構成され、かつ
    前記コスト行列の前記初期化は、
    前記作業空間のマップ情報を使用して最短経路問題を解くことによって経路行列を初期化することを含み、前記経路行列は、地点の各ペアおよび各時点について、前記地点間の1つ以上の取り得る経路のうちのコストが最小となる経路を示し、前記マップ情報は、各地点の位置、およびその位置が経時的に変化しない恒久的な障害物の位置を示し、
    地点の各ペアおよび各時点について、前記経路行列のセルによって示される前記経路のコストを、前記コスト行列の対応するセルに設定することを含む、
    請求項9または10に記載の制御方法。
  12. 前記コスト行列の前記更新は、
    前記マップ情報および前記外部競合の前記検出の結果に基づいて、各時点について、各地点の位置、恒久的な障害物の位置、および前記外部競合の位置を示す予約テーブルを生成することと、
    前記予約テーブルを使用して最短経路問題を解くことによって前記経路行列を更新することと、
    地点の各ペアおよび各時点について、前記経路行列のセルによって示される前記経路のコストを、前記コスト行列の対応するセルに設定することとを含む、
    請求項11に記載の制御方法。
  13. 前記コスト行列が時間非依存コストを示すように構成され、かつ
    前記コスト行列の前記初期化は、
    前記作業空間のマップ情報を使用して最短経路問題を解くことによって経路行列を初期化することを含み、前記経路行列が、地点の各ペアについて、前記地点間の1つ以上の取り得る経路のうちのコストが最小となる経路を示し、前記マップ情報が、各地点の位置、およびその位置が経時的に変化しない恒久的な障害物の位置を示し、
    地点の各ペアについて、前記経路行列のセルによって示される前記経路のコストを、前記コスト行列の対応するセルに設定することを含む、
    請求項9または10に記載の制御方法。
  14. 前記コスト行列の前記更新は、
    前記マップ情報および前記外部競合の前記検出の結果に基づいて、各地点の位置、恒久的な障害物の位置、および前記外部競合の位置を示すグリッドマップを生成することと、
    前記グリッドマップを使用して最短経路問題を解くことによって前記経路行列を更新することと、
    地点の各ペアについて、前記経路行列のセルによって示される前記経路のコストを、前記コスト行列の対応するセルに設定することとを含む、
    請求項13に記載の制御方法。
  15. 2台以上の対象車両が前記対象者に割り当てられている場合、前記外部競合を検出する前に、前記対象車両間の競合である内部競合を検出することと、
    1つ以上の内部競合が検出された場合に、
    前記内部競合が検出された地点の前記ペアについて、コストが最小となる前記経路を更新するために内部競合解消を行うことによって前記経路行列を更新することと、
    各タスクに対する前記タスク経路の前記選択、前記スケジュール情報の前記生成、前記内部競合の前記検出、および前記経路行列の前記更新を、内部競合が検出されなくなるまで繰り返し行うこととをさらに行うこととをさらに含む、
    請求項12または14に記載の制御方法。
  16. 1つ以上の外部競合が検出され、かつ前記一時的な障害物が前記対象車両以外の車両である場合に、
    前記一時的な障害物の前記スケジュール情報の更新が承認されるか否かを確認すること、
    前記一時的な障害物の前記スケジュール情報が承認される場合には、前記対象車両の前記スケジュール情報を繰り返し生成することに代えて、外部競合が検出されなくなるまで、前記一時的な障害物の前記スケジュール情報を繰り返し更新することとをさらに行うことをさらに含む、
    請求項9から15のいずれか一項に記載の制御方法。
  17. コンピュータに、
    少なくとも1台の対象車両が割り当てられた対象者に割り当てられたタスクを示すタスクリスト情報を取得することを実行させ、前記対象車両は、前記タスクに対応するタスク地点において割り当てられた各タスクを実行し、
    作業空間内の地点の各ペアの最小コストが示されるコスト行列を使用して車両ルーティング問題を解くことによって、各対象車両に対する前記タスクの実行順序を決定することと、
    各タスクについて、前記タスクの前記決定された実行順序に基づいて、前記タスクの前記タスク地点まで移動するコストが最小となる経路であるタスク経路を選択することと、
    各対象車両について、前記対象車両に割り当てられた前記タスクの前記実行順序および各タスクの前記タスク経路を示す前記対象車両のスケジュール情報を生成することと、
    前記対象車両と、その位置が経時的に変化する一時的な障害物との間の競合である外部競合を検出することとを実行させ、
    1つ以上の外部競合が検出された場合に、
    前記競合が検出された地点の前記ペアの前記最小コストを更新するように前記コスト行列を更新すること、ならびに
    前記対象車両と前記一時的な障害物との検出が検出されなくなるまで、前記タスクの前記実行順序の前記決定、各タスクの前記タスク経路の前記選択、前記スケジュール情報の前記生成、前記競合の前記検出、および前記コスト行列の前記更新を繰り返し行うことをさらに行うこととを実行させるプログラムを記憶する非一時的コンピュータ可読記憶媒体。
  18. 前記外部競合の前記検出は、
    一時的な障害物ごとに、各時点における前記一時的な障害物の位置を示すイベント情報を取得することと、
    前記対象車両の前記スケジュール情報と各一時的な障害物の前記イベント情報とを比較して、前記対象車両および前記一時的な障害物が互いに同じ時刻に同じ場所に位置することがスケジュールされている場合に、前記対象車両が前記一時的な障害物と競合していると決定することとを含む、
    請求項17に記載の記憶媒体。
  19. 各対象車両に対する前記タスクの前記実行順序が、時間依存車両ルーティング問題を解くことによって決定され、
    前記コスト行列が時間依存コストを示すように構成され、かつ
    前記コスト行列の前記初期化は、
    前記作業空間のマップ情報を使用して最短経路問題を解くことによって経路行列を初期化することを含み、前記経路行列が、地点の各ペアおよび各時点について、前記地点間の1つ以上の取り得る経路のうちのコストが最小となる経路を示し、前記マップ情報が、各地点の位置、およびその位置が経時的に変化しない恒久的な障害物の位置を示し
    地点の各ペアおよび各時点について、前記経路行列のセルによって示される前記経路のコストを、前記コスト行列の対応するセルに設定することとを含む、
    請求項17または18に記載の記憶媒体。
  20. 前記コスト行列の前記更新は、
    前記マップ情報および前記外部競合の前記検出の結果に基づいて、各時点について、各地点の位置、恒久的な障害物の位置、および前記外部競合の位置を示す予約テーブルを生成することと、
    前記予約テーブルを使用して最短経路問題を解くことによって前記経路行列を更新することと、
    地点の各ペアおよび各時点について、前記経路行列のセルによって示される前記経路のコストを、前記コスト行列の対応するセルに設定することとを含む、
    請求項19に記載の記憶媒体。
  21. 前記コスト行列が時間非依存コストを示すように構成され、かつ
    前記コスト行列の前記初期化は、
    前記作業空間のマップ情報を使用して最短経路問題を解くことによって経路行列を初期化することを含み、前記経路行列が、地点の各ペアについて、前記地点間の1つ以上の取り得る経路のうちのコストが最小となる経路を示し、前記マップ情報が、各地点の位置、およびその位置が経時的に変化しない恒久的な障害物の位置を示し、
    地点の各ペアについて、前記経路行列のセルによって示される前記経路のコストを、前記コスト行列の対応するセルに設定することとを含む、
    請求項17または18に記載の記憶媒体。
  22. 前記コスト行列の前記更新は、
    前記マップ情報および前記外部競合の前記検出の結果に基づいて、各地点の位置、恒久的な障害物の位置、および前記外部競合の位置を示すグリッドマップを生成することと、
    前記グリッドマップを使用して最短経路問題を解くことによって前記経路行列を更新することと、
    地点の各ペアについて、前記経路行列のセルによって示される前記経路のコストを、前記コスト行列の対応するセルに設定することとを含む、
    請求項21に記載の記憶媒体。
  23. 前記プログラムが、前記コンピュータに、
    2台以上の対象車両が前記対象者に割り当てられている場合、前記外部競合を検出する前に、前記対象車両間の競合である内部競合を検出することと、
    1つ以上の内部競合が検出された場合に、
    前記内部競合が検出された地点の前記ペアについて、コストが最小となる前記経路を更新するために内部競合解消を行うことによって前記経路行列を更新すること、
    各タスクに対する前記タスク経路の前記選択、前記スケジュール情報の前記生成、前記内部競合の前記検出、および前記経路行列の前記更新を、内部競合が検出されなくなるまで繰り返し行うことをさらに行うこととをさらに実行させる、
    請求項20または22に記載の記憶媒体。
  24. 前記プログラムが、前記コンピュータに、
    1つ以上の外部競合が検出され、かつ前記一時的な障害物が前記対象車両以外の車両である場合に、
    前記一時的な障害物の前記スケジュール情報の更新が承認されるか否かを確認すること、
    前記一時的な障害物の前記スケジュール情報が承認される場合には、前記対象車両の前記スケジュール情報を繰り返し生成することに代えて、外部競合が検出されなくなるまで、前記一時的な障害物の前記スケジュール情報を繰り返し更新することをさらに行うことをさらに実行させる、
    請求項17から23のいずれか一項に記載の記憶媒体。
JP2024519453A 2021-10-07 2022-09-28 車両スケジューリング装置、制御方法およびプログラム Pending JP2024535459A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2021165351 2021-10-07
JP2021165351 2021-10-07
PCT/JP2022/036146 WO2023058517A1 (en) 2021-10-07 2022-09-28 Vehicle scheduling apparatus, control method, and non-transitory computer-readable storage medium

Publications (1)

Publication Number Publication Date
JP2024535459A true JP2024535459A (ja) 2024-09-30

Family

ID=85804237

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2024519453A Pending JP2024535459A (ja) 2021-10-07 2022-09-28 車両スケジューリング装置、制御方法およびプログラム

Country Status (3)

Country Link
US (1) US20250004455A1 (ja)
JP (1) JP2024535459A (ja)
WO (1) WO2023058517A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118397869B (zh) * 2024-06-24 2024-12-13 希迪智驾(湖南)股份有限公司 通行权分配方法、装置、设备以及介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4621073B2 (ja) * 2005-05-23 2011-01-26 本田技研工業株式会社 ロボット制御装置
JP6763809B2 (ja) * 2017-03-14 2020-09-30 株式会社日立インダストリアルプロダクツ 経路決定装置、経路決定方法及び経路決定プログラム
CN111667212A (zh) * 2020-05-15 2020-09-15 南京捷思汽车科技有限公司 一种汽车装配线用物料配送方法

Also Published As

Publication number Publication date
US20250004455A1 (en) 2025-01-02
WO2023058517A1 (en) 2023-04-13

Similar Documents

Publication Publication Date Title
CN113031603B (zh) 一种基于任务优先级的多物流机器人协同路径规划方法
US8849559B2 (en) Apparatus and method for generating and using a grid map path
JP6927644B2 (ja) 最適経路決定装置及び最適経路決定プログラム
EP2715627A1 (en) Systems and methods for multi-vehicle resource allocation and routing solutions
CN103885443A (zh) 用于即时定位与地图构建单元的设备、系统和方法
US20220197304A1 (en) Systems and methods for centralized control of a fleet of robotic devices
WO2019090417A1 (en) Systems and methods for updating an electronic map
JP2021535504A (ja) 複数ロボットによる衝突のない移動のための2dナビゲーションマップを生成するためにコンピュータに実装された方法、コンピュータシステム、コンピュータ可読媒体
JP2018129000A (ja) 情報処理装置、情報処理システム、移動経路決定方法及びプログラム
CN113885567A (zh) 一种基于冲突搜索的多无人机的协同路径规划方法
Dukeman et al. Hybrid mission planning with coalition formation
JP2024535459A (ja) 車両スケジューリング装置、制御方法およびプログラム
US11034517B2 (en) Movement route determination method and program
KR102529332B1 (ko) 컨텍스트 맵을 활용한 로봇 기반 최적 실내 배송경로 탐색 방법
JP2024543199A (ja) 経路探索装置、制御方法及びプログラム
WO2022014200A1 (ja) 情報処理装置と情報処理方法およびプログラム
US20240111585A1 (en) Shared resource management system and method
KR102393859B1 (ko) 물류로봇 시스템 및 이의 작업순서 최적화 방법
US12147236B2 (en) Methods and systems for path planning in a known environment
KR20210021989A (ko) 정보 처리 장치, 이동 장치, 정보 처리 시스템 및 방법, 그리고 프로그램
WO2020003988A1 (ja) 情報処理装置、移動装置、情報処理システム、および方法、並びにプログラム
JP2024537505A (ja) 代替案提供装置、制御方法及びプログラム
JP2022002995A (ja) 情報処理システムおよび情報処理方法
Goodwin A robust and efficient autonomous exploration methodology of unknown environments for multi-robot systems
Zhang et al. Multi-Agent Combinatorial Path Finding with Heterogeneous Task Duration

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240328

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20241022

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20241212

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20250128