(57)【要約】ノードのノード識別子と処理種類を記録したタスクシーケンスを生成し、さらに追加タスクの発生に応じて動的にタスクシーケンスを更新して移動装置に実行させることで、無駄のないタスクシーケンスの生成とタスク処理を可能とする。登録ノード間の移動処理と登録ノードでの処理について、ノード識別子と処理種類を含むタスクを時系列に並べたタスクシーケンスを生成し、さらに、各移動装置対応の移動装置対応タスクシーケンスを生成する。新たな追加タスクシーケンスが発生した場合、そこに含まれるタスクを既存の移動装置対応タスクシーケンスに挿入する移動装置対応タスクシーケンス更新処理を実行する。
2020003988.tif 000002
【特許請求の範囲】
【請求項１】
移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むデータであるタスクとして記述し、各タスクを時系列に並べたタスクシーケンスを生成し、さらに、
生成したタスクシーケンスに基づいて、各移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスを生成するタスク管理部を有し、
前記タスク管理部は、
処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスに含まれるタスクを、移動装置において実行中の移動装置対応タスクシーケンスに挿入する移動装置対応タスクシーケンス更新処理を実行する情報処理装置。
【請求項２】
前記タスク管理部は、
処理実行要求であるリクエストに基づいて、該リクエストを実行するための１つ以上のタスクシーケンスを生成し、
生成したタスクシーケンスを、１つ以上の移動装置に割り当てて、移動装置対応の移動装置対応タスクシーケンスを生成する請求項１に記載の情報処理装置。
【請求項３】
前記タスク管理部は、
処理コストが最小となる移動装置対応タスクシーケンスを生成する請求項１に記載の情報処理装置。
【請求項４】
前記タスク管理部は、
移動処理と、荷物または人を乗せる処理と、荷物または人を降ろす処理と、待機処理とを区別したタスクを生成する請求項１に記載の情報処理装置。
【請求項５】
前記タスク管理部は、
前記移動装置対応タスクシーケンス更新処理において、
処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスから移動処理を削除して、その他の処理の実行ノード位置と、移動装置において実行中の移動装置対応タスクシーケンス中の各タスクのノード位置とを比較して、一致するノード位置を持つタスクの隣接位置に、前記追加タスクシーケンス中の移動処理以外のタスクを挿入する請求項１に記載の情報処理装置。
【請求項６】
前記タスク管理部は、
前記移動装置対応タスクシーケンス更新処理において、
挿入タスクのノード位置と、該挿入タスクに隣接するタスクのノード位置間を移動させるための移動タスクを挿入する請求項５に記載の情報処理装置。
【請求項７】
前記タスク管理部は、
予め規定されたコスト算出アルゴリズムに従って、各移動装置対応のマッチングコストを算出し、算出した各移動装置対応のマッチングコストに基づいて、タスクシーケンスを割り当てる移動装置を決定する請求項１に記載の情報処理装置。
【請求項８】
前記タスク管理部は、
（ａ）各移動装置に対するタスクシーケンスの追加によって発生する処理時間の増加コストであるｃｏｓｔａｄｄ、
（ｂ）現時点の移動装置対応タスク中の積載物対応コストであるｃｏｓｔｄｉｓ、
（ｃ）現時点の移動装置対応タスクシーケンスが終了するまでの時間に相当する現タスク対応コストｃｏｓｔｎｏｗ、
上記（ａ），（ｂ），（ｃ）の各コストに基づく演算処理により、前記マッチングコストを算出する請求項７に記載の情報処理装置。
【請求項９】
前記タスク管理部は、
前記（ａ），（ｂ），（ｃ）の各コストに予め規定した重み係数を乗算し、各乗算結果を加算することで、前記マッチングコストを算出する請求項８に記載の情報処理装置。
【請求項１０】
前記重み係数は、予め実行された学習処理によって決定される係数である請求項９に記載の情報処理装置。
【請求項１１】
前記タスク管理部は、
タスクの優先度に基づいて、タスクシーケンスを割り当てる移動装置を決定する請求項１に記載の情報処理装置。
【請求項１２】
前記タスク管理部は、
各タスクに優先度情報を記録したタスクを生成する請求項１に記載の情報処理装置。
【請求項１３】
移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスに従った処理を実行する移動装置であり、
前記移動装置対応タスクシーケンスは、前記移動装置、または外部サーバにおいて生成されたシーケンスであり、前記移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むタスクを時系列に並べたタスクシーケンスであり、
前記移動装置は、
新たな追加タスクシーケンスが発生した場合、該追加タスクシーケンスに含まれるタスクを前記移動装置対応タスクシーケンスに挿入した更新移動装置対応タスクシーケンスを実行する移動装置。
【請求項１４】
前記移動装置対応タスクシーケンスは、
処理実行要求であるリクエストを実行するために生成された１つ以上のタスクシーケンスに基づいて、処理コスト、またはタスク優先度に従って生成されたシーケンスである請求項１３に記載の移動装置。
【請求項１５】
処理実行要求であるリクエストを送信する端末と、前記端末からリクエストを受信するタスク管理サーバと、処理を実行する移動装置を有する情報処理システムであり、
前記タスク管理サーバは、
前記リクエストに応じて、前記移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むデータであるタスクとして記述し、各タスクを時系列に並べた各移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスを生成するとともに、
処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスに含まれるタスクを移動装置において実行中の移動装置対応タスクシーケンスに挿入して更新移動装置対応タスクシーケンスを生成し、
前記移動装置は、
前記追加タスクシーケンスに含まれるタスクを有する更新移動装置対応タスクシーケンスに従って処理を実行する情報処理システム。
【請求項１６】
情報処理装置において実行する情報処理方法であり、
タスク管理部が、
移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むデータであるタスクとして記述し、各タスクを時系列に並べたタスクシーケンスを生成するタスクシーケンス生成ステップと、
生成したタスクシーケンスに基づいて、各移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスを生成する移動装置対応タスクシーケンス生成ステップを実行し、
前記移動装置対応タスクシーケンス生成ステップにおいて、
処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスに含まれるタスクを、移動装置において実行中の移動装置対応タスクシーケンスに挿入する移動装置対応タスクシーケンス更新処理を実行する情報処理方法。
【請求項１７】
情報処理装置において情報処理を実行させるプログラムであり、
タスク管理部に、
移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むデータであるタスクとして記述し、各タスクを時系列に並べたタスクシーケンスを生成させるタスクシーケンス生成ステップと、
生成したタスクシーケンスに基づいて、各移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスを生成させる移動装置対応タスクシーケンス生成ステップを実行させ、
前記移動装置対応タスクシーケンス生成ステップにおいて、
処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスに含まれるタスクを、移動装置において実行中の移動装置対応タスクシーケンスに挿入する移動装置対応タスクシーケンス更新処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、移動装置、情報処理システム、および方法、並びにプログラムに関する。さらに詳細には、荷物の配送行う車両やタクシー、あるいは配送ロボット等、移動を伴う様々な処理、例えば荷物の集荷や配送、人の乗車や降車等の処理を効率的に行うことを実現する情報処理装置、移動装置、情報処理システム、および方法、並びにプログラムに関する。
【背景技術】
【０００２】
荷物や人を運ぶ車両やタクシー、あるいは、工場やオフィス等で自動走行する配送ロボット等は、様々な位置に移動して移動先で荷物や人、その他の物品の上げ下ろしを行う。このような処理を行う場合、移動経路の設定や、移動とその他の処理、例えば荷物や人の上げ下ろし等の処理のシーケンスをどのように設定するかによって効率が大きく異なってくる。【０００３】
例えば、経路探索を伴う処理の最適化システムとして、車両等の移動装置の移動範囲に複数の拠点（ノード）と各ノードを接続する経路（アーク）を設定し、荷物の上げ下ろし等の処理を行うノード間を結ぶ最短経路を算出するシステムがある。
例えば特許文献１（特開２００８−２３０８１６号公報）には、出発地点ノード
と到着地点ノードとノード間の距離、各ノード間の移動時間等を格納したデータベースを用いて最適な処理シーケンスを決定する構成を開示している。【０００４】
しかし、例えば、荷物の配送を行う車両が、ある一つの処理シーケンスに従った処理、例えば荷物配送処理を実行中に新たな荷物の配送リクエストが発生することがある。このような場合、実行中の処理シーケンスを完了した後、新たな荷物の配送を開始すると、処理効率が著しく低下する場合がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２３０８１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本開示は、例えば上記問題点に鑑みてなされたものであり、荷物配送車等の車両が予め決定された処理シーケンスに従った処理を実行中に新たな処理が発生した場合でも、実行中のシーケンスに新たな処理を組み入れた最適な処理シーケンスを、随時、生成して実行可能とした情報処理装置、移動装置、情報処理システム、および方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本開示の第１の側面は、
移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むデータであるタスクとして記述し、各タスクを時系列に並べたタスクシーケンスを生成し、さらに、
生成したタスクシーケンスに基づいて、各移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスを生成するタスク管理部を有し、
前記タスク管理部は、
処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスに含まれるタスクを、移動装置において実行中の移動装置対応タスクシーケンスに挿入する移動装置対応タスクシーケンス更新処理を実行する情報処理装置にある。【０００８】
さらに、本開示の第２の側面は、
移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスに従った処理を実行する移動装置であり、
前記移動装置対応タスクシーケンスは、前記移動装置、または外部サーバにおいて生成されたシーケンスであり、前記移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むタスクを時系列に並べたタスクシーケンスであり、
前記移動装置は、
新たな追加タスクシーケンスが発生した場合、該追加タスクシーケンスに含まれるタスクを前記移動装置対応タスクシーケンスに挿入した更新移動装置対応タスクシーケンスを実行する移動装置にある。【０００９】
さらに、本開示の第３の側面は、
処理実行要求であるリクエストを送信する端末と、前記端末からリクエストを受信するタスク管理サーバと、処理を実行する移動装置を有する情報処理システムであり、
前記タスク管理サーバは、
前記リクエストに応じて、前記移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むデータであるタスクとして記述し、各タスクを時系列に並べた各移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスを生成するとともに、
処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスに含まれるタスクを移動装置において実行中の移動装置対応タスクシーケンスに挿入して更新移動装置対応タスクシーケンスを生成し、
前記移動装置は、
前記追加タスクシーケンスに含まれるタスクを有する更新移動装置対応タスクシーケンスに従って処理を実行する情報処理システムにある。【００１０】
さらに、本開示の第４の側面は、
情報処理装置において実行する情報処理方法であり、
タスク管理部が、
移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むデータであるタスクとして記述し、各タスクを時系列に並べたタスクシーケンスを生成するタスクシーケンス生成ステップと、
生成したタスクシーケンスに基づいて、各移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスを生成する移動装置対応タスクシーケンス生成ステップを実行し、
前記移動装置対応タスクシーケンス生成ステップにおいて、
処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスに含まれるタスクを、移動装置において実行中の移動装置対応タスクシーケンスに挿入する移動装置対応タスクシーケンス更新処理を実行する情報処理方法にある。【００１１】
さらに、本開示の第５の側面は、
情報処理装置において情報処理を実行させるプログラムであり、
タスク管理部に、
移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むデータであるタスクとして記述し、各タスクを時系列に並べたタスクシーケンスを生成させるタスクシーケンス生成ステップと、
生成したタスクシーケンスに基づいて、各移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスを生成させる移動装置対応タスクシーケンス生成ステップを実行させ、
前記移動装置対応タスクシーケンス生成ステップにおいて、
処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスに含まれるタスクを、移動装置において実行中の移動装置対応タスクシーケンスに挿入する移動装置対応タスクシーケンス更新処理を実行させるプログラムにある。【００１２】
なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。【００１３】
本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００１４】
本開示の一実施例の構成によれば、ノードのノード識別子と処理種類を記録したタスクシーケンスを生成し、さらに追加タスクの発生に応じて動的にタスクシーケンスを更新して移動装置に実行させることで、無駄のないタスクシーケンスの生成とタスク処理を可能とする構成が実現される。
具体的には、例えば、登録ノード間の移動処理と登録ノードでの処理について、ノード識別子と処理種類を含むタスクを時系列に並べたタスクシーケンスを生成し、さらに、各移動装置対応の移動装置対応タスクシーケンスを生成する。新たな追加タスクシーケンスが発生した場合、そこに含まれるタスクを既存の移動装置対応タスクシーケンスに挿入する移動装置対応タスクシーケンス更新処理を実行する。
本構成により、ノードのノード識別子と処理種類を記録したタスクシーケンスを生成し、さらに追加タスクの発生に応じて動的にタスクシーケンスを更新して移動装置に実行させることで、無駄のないタスクシーケンスの生成とタスク処理を可能とする構成が実現される。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
【図面の簡単な説明】
【００１５】
【図１】ノードとノード間経路を用いた最適シーケンスの算出処理構成について説明する図である。
【図２】ノードとノード間経路を用いた最適シーケンスの算出処理構成について説明する図である。
【図３】ノードとノード間経路を用いた最適シーケンスの算出処理構成について説明する図である。
【図４】ノードとノード間経路を用いた最適シーケンスの算出処理構成について説明する図である。
【図５】本開示の情報処理システムの一構成例を示す図である。
【図６】最適タスクシーケンスの算出を行うタスク管理サーバの構成例について説明する図である。
【図７】タスク管理サーバがユーザ端末等のリクエスト送信装置からタスクリクエストを受信した際の処理シーケンスを説明するフローチャートを示す図である。
【図８】タスク管理部が生成するタスクシーケンスの具体例について説明する図である。
【図９】タスク管理部が生成する車両対応タスクシーケンスの具体例について明する図である。
【図１０】図７に示すフローチャートのステップＳ１０３の処理の詳細シーケンスについて説明する図である。
【図１１】車両対応タスクシーケンスを実行する車両からのタスク完了通知を受信した際のタスク管理サーバの処理シーケンスを説明するフローチャートを示す図である。
【図１２】タスク管理サーバの表示部の表示例について説明する図である。
【図１３】荷物配送車両を利用した荷物配送例におけるリクエストおよびタスクシーケンスついて説明する図である。
【図１４】タクシーを利用した例におけるリクエストおよびタスクシーケンスついて説明する図である。
【図１５】タクシーを利用した例における車両対応タスクシーケンスついて説明する図である。
【図１６】オフィス等のフロア内を巡回する商品販売ロボットの例におけるリクエストおよびタスクシーケンスついて説明する図である。
【図１７】オフィス等のフロア内を巡回する商品販売ロボットの例における車両対応タスクシーケンスついて説明する図である。
【図１８】車両で実行中の車両対応タスクシーケンスに新規リクエストに基づく新規タスクシーケンスを追加して車両対応タスクシーケンスを更新する処理の具体例について説明する図である。
【図１９】（１）既存車両対応タスクシーケンスに、（２）追加タスクシーケンスを追加する処理手順について説明する図である。
【図２０】（１）既存車両対応タスクシーケンスに、（２）追加タスクシーケンスを追加する処理手順について説明する図である。
【図２１】（１）既存車両対応タスクシーケンスに、（２）追加タスクシーケンスを追加する処理手順について説明する図である。
【図２２】（１）既存車両対応タスクシーケンスに、（２）追加タスクシーケンスを追加する処理手順について説明する図である。
【図２３】既存の車両対応タスクシーケンスに新たなリクエストに基づく追加タスクシーケンスを挿入する処理手順について説明するフローチャートを示す図である。
【図２４】タスクの優先度を考慮して車両対応タスクシーケンスを更新する処理の具体例について説明する図である。
【図２５】タスク優先度を考慮して（１）既存車両対応タスクシーケンスに、（２）追加タスクシーケンスを追加する処理手順について説明する図である。
【図２６】タスク優先度を考慮して（１）既存車両対応タスクシーケンスに、（２）追加タスクシーケンスを追加する処理手順について説明する図である。
【図２７】タスク優先度を考慮して（１）既存車両対応タスクシーケンスに、（２）追加タスクシーケンスを追加する処理手順について説明する図である。
【図２８】タスク優先度を考慮して（１）既存車両対応タスクシーケンスに、（２）追加タスクシーケンスを追加する処理手順について説明する図である。
【図２９】タスクの優先度を考慮して、既存の車両対応タスクシーケンスに新たなリクエストに基づく追加タスクシーケンスを挿入する処理手順について説明するフローチャートを示す図である。
【図３０】タスク管理サーバのタスク管理部が実行するコストマッチング処理の具体的シーケンスについて説明する図である。
【図３１】コストマッチング処理の具体例について説明する図である。
【図３２】コストマッチング処理の具体例について説明する図である。
【図３３】コストマッチング処理の具体例について説明する図である。
【図３４】コストマッチング処理の具体例について説明する図である。
【図３５】コストマッチング処理の具体例について説明する図である。
【図３６】コストマッチング処理の具体例について説明する図である。
【図３７】情報処理装置のハードウェア構成例について説明する図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照しながら本開示の情報処理装置、移動装置、情報処理システム、および方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行なう。
１．ノードとノード間経路を用いた最適シーケンスの算出と問題点について
２．本開示の情報処理システムと情報処理装置の構成例について
３．タスク管理サーバの実行するタスク管理処理について
４．リクエストに基づくタスクシーケンス、および車両対応タスクシーケンスの具体例について
５．車両で実行中の車両対応タスクシーケンスに新規リクエストに基づく新規タスクシーケンスを追加して車両対応タスクシーケンスを更新する処理の具体例について
６．タスクの優先度を考慮した車両対応タスクシーケンスの更新処理の具体例について
７．どの車両対応タスクシーケンスに新規タスクシーケンスを追加挿入するかを決定するためのコストマッチング処理の詳細について
８．情報処理装置の構成例について
９．本開示の構成のまとめ
【００１７】
［１．ノードとノード間経路を用いた最適シーケンスの算出と問題点について］
まず、図１以下を参照して、ノードとノード間経路を用いた最適シーケンスの算出と問題点について説明する。
【００１８】
先に説明したように経路探索を伴う処理の最適化システムとして、車両等の移動装置の移動範囲に複数の拠点（ノード）と各ノードを接続する経路（アーク）を設定したデータをデータベース等の記憶部に格納し、このデータ（登録データ）を用いて、例えば人や荷物の上げ下ろし等の処理を行うノードを結ぶ最短経路を算出するシステムが知られている。
【００１９】
しかし、例えば、荷物の配送を行う車両が、ある一つの処理シーケンスに従った処理、例えば荷物配送処理を実行中に新たな荷物の配送リクエストが発生することがある。このような場合、実行中の処理シーケンスを完了した後、新たな荷物の配送を開始すると、処理効率が著しく低下する場合がある。
【００２０】
具体例について図１以下を参照して説明する。図１には、予めデータベース（ＤＢ）に登録された複数のノード（Ｐ１，Ｐ２，・・・Ｐ９）と、これら各ノード間を接続する経路（アーク）を示している。ノードＰ１〜Ｐ９は位置情報がＤＢに登録されている既存の登録ノードである。
【００２１】
荷物を配送する配送車両１０が、ノードＰ１において荷物ａを車両に載せて、荷物配送先であるノードＰ９の目的地Ａ，１１に運ぶタスクが発生した場合、例えばタスク管理処理を実行するタスク管理サーバは、ノードＰ１からノードＰ９までの最短ルートを計算し、荷物の上げ下ろし処理と移動処理等の複数のタスクからなるタスクシーケンスを設定する。配送車両１０は、このタスクシーケンスを実行する。
【００２２】
タスク管理サーバは、最も短時間で処理が完了するようなタスクシーケンスを算出する。例えば、図２に示すように、ノードＰ１で荷物ａを載せて、ノードＰ４，Ｐ７，Ｐ８，Ｐ９と移動して、ノードＰ９の目的地Ａ，１１で荷物を降ろすといったタスクシーケンスである。
【００２３】
しかし、配送車両１０がこのタスクシーケンスを実行中に、新たな荷物の配送リクエストが発生することがある。このような場合、実行中の処理シーケンスを完了した後、新たな荷物の配送を開始すると、処理効率が著しく低下する場合がある。
具体例を図３に示す。
【００２４】
図３は、配送車両１０が荷物ａをノードＰ１で載せて、既にノードＰ４に移動した状態である。この状態で、新たな荷物の配送リクエストが発生する。ノードＰ３で、荷物ｂを載せて、ノードＰ６の目的地Ｂ，１２に届けるというリクエストである。
【００２５】
ここで、配送車両１０が、既に設定済みのタスクシーケンス、すなわち、図２を参照して説明したルートに従ってノードＰ４，Ｐ７，Ｐ８，Ｐ９と移動して、ノードＰ９の目的地Ａ，１１で荷物ａを降ろすというタスクシーケンスを終了させた後、ノードＰ９からノードＰ６，Ｐ３と移動して、ノードＰ３で荷物ｂを載せて、ノードＰ６へ移動してノードＰ６の目的地Ｂ，１２で荷物ｂを降ろすという処理を行うと、全体の処理効率が大きく低下してしまう。
【００２６】
本開示の処理では、このような場合、配送車両１０が実行中のタスクシーケンスに、追加タスクシーケンスを挿入するタスクシーケンス更新処理を実行して、更新後のタスクシーケンスを配送車両１０に実行させる。
【００２７】
具体的には、例えば図４に示すような新たな更新タスクシーケンスを生成して配送車両１０に実行させる。
図４に示すタスクシーケンスは、ノードＰ４にいる配送車両１０がノードＰ５，Ｐ２，Ｐ３と移動し、ノードＰ３で荷物ｂを載せて、ノードＰ６に移動し、ノードＰ６の目的地Ｂ，１２で荷物ｂを降ろし、さらに、ノード９へ移動してノードＰ９の目的地Ａ，１１で荷物ａを降ろすというシーケンスである。
【００２８】
本開示の処理では、このように車両が所定のタスクシーケンスを実行中であっても、随時、新たなリクエストに応じた新規タスクが発生した場合、その新規タスクを実行中のタスクシーケンスに組み込んだ新たな更新タスクシーケンスを生成して車両に実行させる。このような処理を行うことで無駄のない処理を行うことが可能となる。
【００２９】
［２．本開示の情報処理システムと情報処理装置の構成例について］
次に、本開示の情報処理システムと情報処理装置の構成例について説明する。
図５は、本開示の情報処理システムの一構成例を示す図である。
情報処理システムは、最適タスクシーケンスの算出処理等を実行するタスク管理サーバ１０１と、様々なタスクのリクエスト、例えばタクシーの利用等を行うユーザのユーザ端末１０２、さらに実際にタスクを実行、例えばユーザを載せて移動するタクシー等の車両１０３がネットワーク１０５によって接続された構成を持つ。
【００３０】
なお、以下において説明する実施例では、移動装置としての車両１０３を主にタクシー、あるいは荷物配送車両とした例について説明するが、本開示の移動装置は、これらタクシーや荷物配送車に限らず、例えば工場やオフィスを移動する自走式ロボット、運転手付きロボット等、様々な移動手段が含まれる。
【００３１】
また、図５には、タスクのリクエストを入力し、タスク管理サーバ１０１に送信する装置の一例としてスマホによって構成されるユーザ端末１０２を示しているが、タスクリクエストの送信装置は、タスクリクエストの入力処理や送信が可能な端末であればよく、パソコンやタブレット、さらに、工場やオフィスに備え付けられた管理システム等の情報処理装置であってもよい。
【００３２】
また、以下において説明する例では、タスク管理サーバ１０１がタスクシーケンスの最適化処理、すなわち最適タスクシーケンスを決定する処理を行うものとして説明するが、移動装置である車両１０３がこの最適タスクシーケンスの算出を行う構成としてもよい。
【００３３】
次に、図６を参照して、最適タスクシーケンスの算出を行う情報処理装置、すなわち本実施例ではタスク管理サーバ１０１の構成例について説明する。
図６に示すように、タスク管理サーバ１０１は、リクエスト処理部１２１、タスク管理部１２２、車両管理部１２３、通信部１２４、リクエストＤＢ（データベース）１３１、タスクＤＢ１３２、車両ＤＢ１３３、地図ＤＢ１３４を有する。
【００３４】
タスク管理サーバ１０１は、ユーザ端末から様々なタスクリクエストを、通信部１２４を介して受信する。
【００３５】
リクエスト処理部１２１は、ユーザ端末から受信したタスクリクエストのリクエスト内容をリクエスト送信端末の端末ＩＤやリクエスト受信時間等のリクエスト属性情報とともにリクエストＤＢ１３１に登録する。なお、ユーザ端末からは、リクエストの具体的内容、例えば、「現在位置からのタクシー乗車」等のタスクリクエストに併せてユーザ端末の位置情報や時間情報が送信される。これらの処理は、ユーザ端末で実行中のアプリケーションが実行する。すなわちアプリケーションは、タスク内容や時間情報、位置情報等をペイロードとして格納したパケットを生成してタスク管理サーバ１０１に送信する。
【００３６】
タスク管理サーバ１０１のタスク管理部１２２は、リクエストＤＢ１３１に格納されたリクエストに基づいて、そのリクエストを実行するためのタスクシーケンスを生成する。
ここで生成する最終的なタスクシーケンスは、どの車両がどのような順番で処理を実行するかを規定した車両単位のタスクシーケンス、すなわち車両対応タスクシーケンスである。このタスクシーケンスの生成処理の具体例については、後段で詳細に説明する。
なお、以下では車両を利用した実施例について説明するため、「車両対応タスクシーケンス」として説明するが、本開示の処理は、車両以外のロボット等、様々な移動装置に適用可能であり、移動装置単位のタスクシーケンスを「移動装置対応タスクシーケンス」と呼ぶ。
タスク管理部１２２の生成したタスクシーケンスはタスクＤＢ１３２に格納される。
【００３７】
車両管理部１２３は、タスクの実行主体となる車両を管理する。例えば各車両の位置の他、各車両で実行中のタスク状況等を各車両から通信部１２４を介して受信し、これらの情報を車両ＤＢ１３３に格納する。さらにこれらの情報は、タスク管理部１２２も提供され、タスク管理部１２２は、これらの情報に基づいて、各車両に対するタスク割り当て等の処理を行う。
【００３８】
地図ＤＢ１３４には、位置情報が対応付けられた地図データの他、さらに、先に図１〜図４を参照して説明したノード、経路（アーク）等の登録情報が格納されている。
タスク管理部１３２は、この地図ＤＢ１３４に格納されたノード情報、さらに必要に応じて追加したノードを利用して最適タスクシーケンスを生成する。
【００３９】
タスク管理部１３２の生成した最適タスクシーケンスは、このタスクシーケンスを実行する車両に通知され、車両はそのタスクシーケンスに従った処理を実行する。なお、前述したようにタスクシーケンスには、ノード間の移動（ｍｏｖｅ）処理の他、人や荷物の搭載処理や乗車処理（ｌｏａｄ），荷物の降ろし処理や人の降車処理（ｕｎｌｏａｄ）、さらに待機（ｗａｉｔ）等の各処理も規定される。具体的なタスクシーケンスについては後段で詳細に説明する。
【００４０】
車両はタスクの実行状況、完了情報、位置情報等をタスク管理サーバ１０１に送信する。
タスク管理部１２２は、これらの車両からの受信情報に応じて、タスクの進行状況、完了状況を把握し、完了したタスクやタスクシーケンスをタスクＤＢ１３２から削除する。
【００４１】
［３．タスク管理サーバの実行するタスク管理処理について］
次に、図７以下を参照してタスク管理サーバ１０１の実行するタスク管理処理について説明する。
【００４２】
図７に示すフローチャートは、タスク管理サーバ１０１がユーザ端末等のリクエスト送信装置からタスクリクエストを受信した際の処理シーケンスを説明するフローチャートである。
なお、以下において説明するフローチャートに従った処理は、例えばタスク管理サーバ１０１等の情報処理装置の記憶部に格納されたプログラムに従って、プログラム実行機能を有するＣＰＵ等を有する制御部（データ処理部）の制御下で実行される。
以下、図７に示すフローの各ステップの処理について説明する。
【００４３】
（ステップＳ１０１）
まず、タスク管理サーバ１０１は、ステップＳ１０１において、タスクリクエストを受信する。ユーザ端末等のリクエスト送信装置から通信部１２４を介してタスクリクエストを受信する。
タスクリクエストは、リクエスト管理部１２１に入力され、タスクリクエストのリクエスト内容をリクエスト送信端末の端末ＩＤやリクエスト受信時間等のリクエスト属性情報とともにリクエストＤＢ１３１に登録される。
【００４４】
（ステップＳ１０２）
次に、ステップＳ１０２において、リクエストに基づく新規のタスクシーケンスを生成する。
この処理は、タスク管理部１２２が実行する。
【００４５】
タスク管理部１２２は、ステップＳ１０２において、ステップＳ１０１で受信したタスクリクエストを、例えば最小単位のタスクシーケンスに分割して１つ以上のタスクシーケンスを生成する。
【００４６】
図８を参照してタスク管理部１２２が生成するタスクシーケンスの具体例について説明する。
図８上段の表には、以下の３つのデータを示している。
（１）リクエスト
（２）タスクシーケンス
（３）車両対応タスクシーケンス
【００４７】
（１）リクエストは、ユーザ端末等のリクエスト送信端末から受信したリクエストである。ここでは、以下のリクエストを例として示している。
リクエスト＝「Ｐ１から荷物ａ，ｂ，ｃを、それぞれ、ａをＰ２、ｂをＰ３、ｃをＰ４に送る」
なお、実際には、例えばユーザ端末から受信するリクエストには、Ｐ１〜Ｐ４等のノード識別子は含まれておらず、このノード識別子は、受信リクエスト等から得られる位置情報に基づいて、リクエスト処理部１２１、またはタスク管理部１２２が地図ＤＢ１３４から取得したノード識別子である。
【００４８】
タスク管理部１２２は、まずこのリクエストに応じて、図７に示すフローのステップＳ１０２においてタスクシーケンスを生成する。ステップＳ１０２では、リクエストを実行するための１つ以上のタスクシーケンス、例えば１つ以上の最小単位のタスクシーケンスを生成する。
【００４９】
タスク管理部１２２は、
リクエスト＝「Ｐ１から荷物ａ，ｂ，ｃを、それぞれ、ａをＰ２、ｂをＰ３、ｃをＰ４に送る」
このリクエストを実行するための１つ以上の最小単位のタスクシーケンスとして、図８（２）に示す以下の３つのタスクシーケンスを生成する。
タスクシーケンス１＝ｌｏａｄ（Ｐ１，ａ），ｍｏｖｅ（Ｐ２），ｕｎｌｏａｄ（Ｐ２，ａ）
タスクシーケンス２＝ｌｏａｄ（Ｐ１，ｂ），ｍｏｖｅ（Ｐ２），ｍｏｖｅ（Ｐ３），ｕｎｌｏａｄ（Ｐ３，ｂ）
タスクシーケンス３＝ｌｏａｄ（Ｐ１，ｃ），ｍｏｖｅ（Ｐ４），ｕｎｌｏａｄ（Ｐ４，ｃ）
【００５０】
各タスクシーケンスは、ｌｏａｄ（Ｐ１，ａ）やｍｏｖｅ（Ｐ２）等のタスク要素の列として構成される。
ｌｏａｄ（Ｐ１，ａ）は、ノードＰ１で荷物ａを載せる（ｌｏａｄ）する処理を示すタスク要素である。
ｍｏｖｅ（Ｐ２）は、現ノードからノードＰ２へ移動（ｍｏｖｅ）する処理を示すタスク要素である。
ｕｎｌｏａｄ（Ｐ２，ａ）は、ノードＰ２で荷物ａを降ろす（ｕｎｌｏａｄ）する処理を示すタスク要素である。
【００５１】
タスク要素は、［処理種類（ノード識別子、処理対象）］これらの構成からなるデータである。処理種類には、先に説明したように、移動（ｍｏｖｅ）、人や荷物の上げ下ろし（ｌｏａｄ），（ｕｎｌｏａｄ）、さらに待機（ｗａｉｔ）等の処理種類が設定される。
ノード識別子は、Ｐ１，Ｐ２等のノードの識別子である。これらのノード識別子に対応する位置情報は地図ＤＢ１３４に記録されている。予め地図ＤＢ１３４に登録されていない追加ノードについても逐次、地図ＤＢ１３４に登録する処理が可能である。
【００５２】
図８の下部の図は、図８上段の表の（２）タスクシーケンスに示す３つのタスクシーケンスの具体的な処理例を示した図である。
この図から理解されるように、タスクシーケンス１＝ｌｏａｄ（Ｐ１，ａ），ｍｏｖｅ（Ｐ２），ｕｎｌｏａｄ（Ｐ２，ａ）は、ノードＰ１で荷物ａを載せて（ｌｏａｄ）、ノードＰ２に移動（ｍｏｖｅ）して、ノードＰ２で荷物ａを降ろす（ｕｎｌｏａｄ）シーケンスである。
【００５３】
タスクシーケンス２＝ｌｏａｄ（Ｐ１，ｂ），ｍｏｖｅ（Ｐ２），ｍｏｖｅ（Ｐ３），ｕｎｌｏａｄ（Ｐ３，ｂ）は、ノードＰ１で荷物ｂを載せて（ｌｏａｄ）、ノードＰ２に移動（ｍｏｖｅ）して、さらにノードＰ３に移動（ｍｏｖｅ）して、ノードＰ３で荷物ｂを降ろす（ｕｎｌｏａｄ）シーケンスである。
【００５４】
タスクシーケンス３＝ｌｏａｄ（Ｐ１，ｃ），ｍｏｖｅ（Ｐ４），ｕｎｌｏａｄ（Ｐ４，ｃ）は、ノードＰ１で荷物ｃを載せて（ｌｏａｄ）、ノードＰ４に移動（ｍｏｖｅ）して、ノードＰ４で荷物ｃを降ろす（ｕｎｌｏａｄ）シーケンスである。
【００５５】
図７に示すフローのステップＳ１０２では、このように、タスク管理部１２２が、受信リクエストに応じて、リクエストを実行するための１つ以上の最小単位のタスクシーケンスを生成する。
【００５６】
（ステップＳ１０３）
次に、タスク管理部１２２は、ステップＳ１０３において、ステップＳ１０２でリクエストに応じて生成した新規タスクシーケンスを、車両対応シーケンスに変換する。
これは、ステップＳ１０２で生成した新規タスクシーケンスを、実際に実行する車両単位のタスクシーケンス、すなわち車両対応タスクシーケンスに変換する処理である。
【００５７】
なお、既に車両が他の車両対応タスクシーケンスを実行中の場合もあり、このような場合は、その実行中の車両対応シーケンスに、新規タスクシーケンスに基づく新規の車両対応シーケンスを追加して、既存の車両対応シーケンスを更新する処理を行うことになる。
【００５８】
この車両対応タスクシーケンスの生成や更新処理に際しては、各車両の現在位置や、各車両において実行中のタスク等を考慮して、最も低コストに新規タスクシーケンスを実行可能な車両を選択して実行する。あるいはタスクの優先度を考慮して実行する。
このコストに基づく車両対応タスクシーケンスの具体的な処理、すなわちコストマッチング処理や優先度に基づくシーケンス生成処理については後段で詳細に説明する。
【００５９】
タスク管理部１２２がステップＳ１０３において生成する車両対応タスクシーケンスの具体例について、図９を参照して説明する。
図９の上段の表は、図８に示すと同様、以下の３つのデータを示している。
（１）リクエスト
（２）タスクシーケンス
（３）車両対応タスクシーケンス
【００６０】
図９の下部の図は、（３）車両対応タスクシーケンスに示す２つの車両対応タスクシーケンス、すなわち車両１、車両２の車両対応タスクシーケンスの詳細を示した図である。
【００６１】
図９上段の表に示す（１）リクエストは、図８を参照して説明したリクエストと同じであり、ユーザ端末等のリクエスト送信端末から受信したリクエストである。ここでは、以下のリクエストを例として示している。
リクエスト＝「Ｐ１から荷物ａ，ｂ，ｃを、それぞれ、ａをＰ２、ｂをＰ３、ｃをＰ４に送る」
【００６２】
図９上段の表に示す（２）タスクシーケンスは、先に図８を参照して説明したタスクシーケンスであり、（１）リクエストに基づいて生成された以下の３つのタスクシーケンスである。
タスクシーケンス１＝ｌｏａｄ（Ｐ１，ａ），ｍｏｖｅ（Ｐ２），ｕｎｌｏａｄ（Ｐ２，ａ）
タスクシーケンス２＝ｌｏａｄ（Ｐ１，ｂ），ｍｏｖｅ（Ｐ２），ｍｏｖｅ（Ｐ３），ｕｎｌｏａｄ（Ｐ３，ｂ）
タスクシーケンス３＝ｌｏａｄ（Ｐ１，ｃ），ｍｏｖｅ（Ｐ４），ｕｎｌｏａｄ（Ｐ４，ｃ）
【００６３】
図７に示すフローのステップＳ１０３では、この３つのタスクシーケンスを例えば最小コストで実行できる車両に割り当てて、その車両が実行すべきタスク列を示す車両対応タスクシーケンスを生成する。
この結果が、図９（３）車両対応タスクシーケンスに示す２つの車両対応シーケンスである。すなわち以下の２つの車両対応タスクシーケンスである。
車両１対応タスクシーケンス＝ｍｏｖｅ（Ｐ１），ｌｏａｄ（Ｐ１，ａ），ｌｏａｄ（Ｐ１，ｂ），ｍｏｖｅ（Ｐ２），ｕｎｌｏａｄ（Ｐ２，ａ），ｍｏｖｅ（Ｐ３），ｕｎｌｏａｄ（Ｐ３，ｂ）
車両２対応タスクシーケンス＝ｌｏａｄ（Ｐ１，ｃ），ｍｏｖｅ（Ｐ４），ｕｎｌｏａｄ（Ｐ４，ｃ）
【００６４】
図９の下部の図は、これらの車両対応タスクシーケンスの具体的な処理例を示した図である。
この図から理解されるように、車両１対応タスクシーケンス＝ｍｏｖｅ（Ｐ１），ｌｏａｄ（Ｐ１，ａ），ｌｏａｄ（Ｐ１，ｂ），ｍｏｖｅ（Ｐ２），ｕｎｌｏａｄ（Ｐ２，ａ），ｍｏｖｅ（Ｐ３），ｕｎｌｏａｄ（Ｐ３，ｂ）は、車両１が、まず、ノードＰ１に移動（ｍｏｖｅ）し、ノードＰ１で荷物ａとｂを載せて（ｌｏａｄ）、ノードＰ２に移動（ｍｏｖｅ）して、ノードＰ２で荷物ａを降ろし（ｕｎｌｏａｄ）、さらにノードＰ３に移動（ｍｏｖｅ）して、ノードＰ３で荷物ｂを降ろす（ｕｎｌｏａｄ）シーケンスである。
なお車両Ａは、タスク依頼時にノードＰ１にいないため、タスクシーケンスの最初のタスク要素がノードＰ１への移動［ｍｏｖｅ（Ｐ１）］に設定されている。
【００６５】
車両２対応タスクシーケンス＝ｌｏａｄ（Ｐ１，ｃ），ｍｏｖｅ（Ｐ４），ｕｎｌｏａｄ（Ｐ４，ｃ）は、ノードＰ１で荷物ｃを載せて（ｌｏａｄ）、ノードＰ４に移動（ｍｏｖｅ）して、ノードＰ４で荷物ｃを降ろす（ｕｎｌｏａｄ）シーケンスである。
【００６６】
図７に示すフローのステップＳ１０３では、このように、タスク管理部１２２がステップＳ１０２で生成したタスクシーケンスを、車両単位のタスクシーケンス、すなわち車両対応タスクシーケンスに変換する。
この変換処理に際しては、最も効率的な処理が可能となる車両の選択と処理シーケンスの設定が実行される。具体的にはコストやタスク優先度を考慮したシーケンス生成処理を行う。このコストに基づく車両対応タスクシーケンスの具体的な処理、すなわちコストマッチング処理や優先度に基づくシーケンス生成処理については後段で詳細に説明する。
【００６７】
次に、図１０に示すフローを参照して、先に図７に示すフローチャートを参照して説明したステップＳ１０３の処理の詳細シーケンスについて説明する。
先に図７を参照して説明したように、タスク管理部１２２は、ステップＳ１０３において、ステップＳ１０２でリクエストに応じて生成した新規タスクシーケンスを、車両対応シーケンスに変換する。
これは、ステップＳ１０２で生成した新規タスクシーケンスを、実際に実行する車両単位のタスクシーケンス、すなわち車両対応タスクシーケンスに変換する処理である。図１０に示すフローは、このステップＳ１０３の詳細シーケンスに相当する。図１０に示すフローの各ステップの処理について説明する。
【００６８】
（ステップＳ１２１）
まず、タスク管理部１２２は、ステップＳ１２１において、各車両に設定済みの複数の既存の車両対応タスクシーケンスを取得する。
【００６９】
各車両に設定済みの既存の車両対応タスクシーケンスは、タスクＤＢ１３２に格納されており、タスク管理部１２２はタスクＤＢ１３２から各車両に設定済みの複数の既存の車両対応タスクシーケンスを取得する。
【００７０】
（ステップＳ１２２）
次に、タスク管理部１２２は、ステップＳ１２２において、取得した複数の既存車両対応タスクシーケンス各々に新規タスクシーケンスを挿入した場合のコストを算出する。
【００７１】
（ステップＳ１２３）
次に、タスク管理部１２２は、ステップＳ１２３において、最小コストとなる１つの既存車両対応タスクシーケンスに新規タスクシーケンスを挿入して、既存車両対応タスクシーケンスを更新する。
【００７２】
なお、場合によっては、既存の車両対応タスクシーケンスに対する新規タスクシーケンスの挿入を行うことなく、新規タスクシーケンスに基づく新規の車両対応タスクシーケンスを生成する場合もある。
【００７３】
どのような車両対応タスクシーケンスを生成するかについては、コスト、あるいはタスクの優先度に応じて決定する。
このコストに基づく車両対応タスクシーケンスの具体的な処理、すなわちコストマッチング処理や優先度に基づくシーケンス生成処理については後段で詳細に説明する。
【００７４】
図１１は、車両対応タスクシーケンスを実行する車両からのタスク完了通知を受信した際のタスク管理サーバ１０１の処理シーケンスを説明するフローチャートである。
フローに示す各ステップの処理について、順次、説明する。
【００７５】
（ステップＳ１５１）
まず、タスク管理サーバ１０１は、ステップＳ１５１において、車両対応タスクシーケンスを実行する車両からのタスク完了通知を受信する。
【００７６】
（ステップＳ１５２）
次に、タスク管理サーバ１０１のタスク管理部１２２は、ステップＳ１５２において、完了報告のあったタスクをタスクＤＢ１３２に登録された車両対応タスクシーケンスから削除する。
【００７７】
（ステップＳ１５３）
次に、タスク管理サーバ１０１のタスク管理部１２２は、ステップＳ１５３において、新たな車両対応タスクシーケンスの発生に基づいて新たな車両対応タスクシーケンスの実行を車両に通知する。
【００７８】
このような処理によってタスク管理サーバ１０１とタスク実行主体である車両間の通信が行われ、リクエストに応じたタスクが順次、実行される。
【００７９】
なお、タスク管理サーバ１０１は、オペレータによる操作が可能な入力部や、タスク状況を確認可能な表示部等の出力部を備えている。
タスク管理サーバ１０１の表示部の表示例を図１２に示す。
【００８０】
図１２に示す例は、タスク管理サーバ１０１の表示部に表示される表示データの一例である。
タスク管理サーバ１０１の表示部には、各車両の現在の情報がリアルタイムで表示される。表示部には、各車両の動きがアニメーションで表示され，現在実行中のタスクが表示される。また、車両を指定する（カーソルを合わせる）と、車両が現在、実行中のタスクシーケンスが確認できる。
【００８１】
［４．リクエストに基づくタスクシーケンス、および車両対応タスクシーケンスの具体例について］
次に、タスク管理サーバ１０１がリクエストに基づいて生成するタスクシーケンス、および車両対応タスクシーケンスの具体例について説明する。
【００８２】
図１３以下を参照して以下の３つの具体例について、順次、説明する。
（ケース１）荷物配送車両を利用した荷物配送の例
リクエスト＝荷物の配送（集荷位置集中（ｌｏａｄ集中），配送先散在（ｕｎｌｏａｄ散在），巡回なし）
（ケース２）タクシーを利用した例
リクエスト＝巡回と配車（乗車位置散在（ｌｏａｄ散在），降車位置散在（ｕｎｌｏａｄ散在），巡回、呼び出しあり）
（ケース３）オフィス等のフロア内を巡回する商品販売ロボットの例
リクエスト＝巡回と配車（巡回を実行し、呼び出しに対応（ｌｏａｄ、ｕｎｌｏａｄなし））
【００８３】
まず、図１３を参照して、
（ケース１）荷物配送車両を利用した荷物配送の例について説明する。
リクエストは荷物の配送である。
集荷位置が集中（ｌｏａｄ集中）し、配送先が散在（ｕｎｌｏａｄ散在）している例であり、車両は、各ノードを巡回する処理は行っていない場合の処理例である。
【００８４】
図１３には、以下の３つのデータを示している。
（１）リクエスト
（２）タスクシーケンス
（３）車両対応タスクシーケンス
【００８５】
（１）リクエストは、例えばユーザ端末等のリクエスト送信端末から受信したリクエストである。ここでは、リクエストは以下のリクエストである。
リクエスト＝「Ｐ１から荷物ａ，ｂ，ｃを、それぞれ、ａをＰ２、ｂをＰ３、ｃをＰ４に送る」
なお、前述したように、実際には、例えばユーザ端末から受信するリクエストには、Ｐ１〜Ｐ４等のノード識別子は含まれていない。ノード識別子は、受信リクエスト等から得られる位置情報に基づいて、リクエスト処理部１２１、またはタスク管理部１２２が地図ＤＢ１３４から取得したノード識別子である。
【００８６】
タスク管理サーバ１０１のタスク管理部１２２は、このリクエストに応じて、リクエストを実行するための１つ以上の最小単位のタスクシーケンスを生成する。
図１３（２）に示す以下の３つのタスクシーケンスを生成する。
タスクシーケンス１＝ｌｏａｄ（Ｐ１，ａ），ｍｏｖｅ（Ｐ２），ｕｎｌｏａｄ（Ｐ２，ａ）
タスクシーケンス２＝ｌｏａｄ（Ｐ１，ｂ），ｍｏｖｅ（Ｐ２），ｍｏｖｅ（Ｐ３），ｕｎｌｏａｄ（Ｐ３，ｂ）
タスクシーケンス３＝ｌｏａｄ（Ｐ１，ｃ），ｍｏｖｅ（Ｐ４），ｕｎｌｏａｄ（Ｐ４，ｃ）
【００８７】
タスクシーケンス１＝ｌｏａｄ（Ｐ１，ａ），ｍｏｖｅ（Ｐ２），ｕｎｌｏａｄ（Ｐ２，ａ）は、ノードＰ１で荷物ａを載せて（ｌｏａｄ）、ノードＰ２に移動（ｍｏｖｅ）して、ノードＰ２で荷物ａを降ろす（ｕｎｌｏａｄ）シーケンスである。
【００８８】
タスクシーケンス２＝ｌｏａｄ（Ｐ１，ｂ），ｍｏｖｅ（Ｐ２），ｍｏｖｅ（Ｐ３），ｕｎｌｏａｄ（Ｐ３，ｂ）は、ノードＰ１で荷物ｂを載せて（ｌｏａｄ）、ノードＰ２に移動（ｍｏｖｅ）して、さらにノードＰ３に移動（ｍｏｖｅ）して、ノードＰ３で荷物ｂを降ろす（ｕｎｌｏａｄ）シーケンスである。
【００８９】
タスクシーケンス３＝ｌｏａｄ（Ｐ１，ｃ），ｍｏｖｅ（Ｐ４），ｕｎｌｏａｄ（Ｐ４，ｃ）は、ノードＰ１で荷物ｃを載せて（ｌｏａｄ）、ノードＰ４に移動（ｍｏｖｅ）して、ノードＰ４で荷物ｃを降ろす（ｕｎｌｏａｄ）シーケンスである。
【００９０】
さらに、タスク管理サーバ１０１のタスク管理部１２２は、この３つのタスクシーケンスを最小コストで実行できる車両に割り当てて、その車両が実行すべきタスク列を示す車両対応タスクシーケンスを生成する。
この結果が、図１３（３）車両対応タスクシーケンスに示す以下の２つの車両対応タスクシーケンスである。
車両１対応タスクシーケンス＝ｍｏｖｅ（Ｐ１），ｌｏａｄ（Ｐ１，ａ），ｌｏａｄ（Ｐ１，ｂ），ｍｏｖｅ（Ｐ２），ｕｎｌｏａｄ（Ｐ２，ａ），ｍｏｖｅ（Ｐ３），ｕｎｌｏａｄ（Ｐ３，ｂ）
車両２対応タスクシーケンス＝ｌｏａｄ（Ｐ１，ｃ），ｍｏｖｅ（Ｐ４），ｕｎｌｏａｄ（Ｐ４，ｃ）
【００９１】
車両１対応タスクシーケンス＝ｍｏｖｅ（Ｐ１），ｌｏａｄ（Ｐ１，ａ），ｌｏａｄ（Ｐ１，ｂ），ｍｏｖｅ（Ｐ２），ｕｎｌｏａｄ（Ｐ２，ａ），ｍｏｖｅ（Ｐ３），ｕｎｌｏａｄ（Ｐ３，ｂ）は、車両１が、まず、ノードＰ１に移動（ｍｏｖｅ）し、ノードＰ１で荷物ａとｂを載せて（ｌｏａｄ）、ノードＰ２に移動（ｍｏｖｅ）して、ノードＰ２で荷物ａを降ろし（ｕｎｌｏａｄ）、さらにノードＰ３に移動（ｍｏｖｅ）して、ノードＰ３で荷物ｂを降ろす（ｕｎｌｏａｄ）シーケンスである。
なお車両Ａは、タスク依頼時にノードＰ１にいないため、タスクシーケンスの最初のタスク要素がノードＰ１への移動［ｍｏｖｅ（Ｐ１）］に設定されている。
【００９２】
車両２対応タスクシーケンス＝ｌｏａｄ（Ｐ１，ｃ），ｍｏｖｅ（Ｐ４），ｕｎｌｏａｄ（Ｐ４，ｃ）は、ノードＰ１で荷物ｃを載せて（ｌｏａｄ）、ノードＰ４に移動（ｍｏｖｅ）して、ノードＰ４で荷物ｃを降ろす（ｕｎｌｏａｄ）シーケンスである。
【００９３】
タスク管理サーバ１０１は、このように、リクエストに基づいてタスクシーケンスを生成し、さらに生成したタスクシーケンスに基づいて、各車両に実行させるタスクシーケンスである車両対応タスクシーケンスを生成する。
【００９４】
次に、図１４を参照して、
（ケース２）タクシーを利用した例について説明する。
リクエストは巡回と配車である。
乗車位置が散在（ｌｏａｄ散在）し、降車位置も散在（ｕｎｌｏａｄ散在）し、巡回があり、呼び出しもある場合の処理例である。
【００９５】
図１４には、図１３と同様、以下の３つのデータを示している。
（１）リクエスト
（２）タスクシーケンス
（３）車両対応タスクシーケンス
【００９６】
（１）リクエストは、ここでは、予め決められた「巡回」と、例えばユーザ端末等のリクエスト送信端末から受信したリクエストとしての「配車」である。ここでは、「配車」リクエストは以下のリクエストである。
リクエスト＝「Ｐ１からａを乗車させて、Ｐ２で降車させる」
なお、前述したように、実際には、例えばユーザ端末から受信するリクエストには、Ｐ１等のノード識別子は含まれていない。ノード識別子は、受信リクエスト等から得られる位置情報に基づいて、リクエスト処理部１２１、またはタスク管理部１２２が地図ＤＢ１３４から取得したノード識別子である。
【００９７】
タスク管理サーバ１０１のタスク管理部１２２は、このリクエストに応じて、リクエストを実行するための１つ以上の最小単位のタスクシーケンスを生成する。
図１４（２）に示す以下の２つのタスクシーケンスを生成する。
タスクシーケンス１（巡回対応）＝ｍｏｖｅ（Ｐ１），ｍｏｖｅ（Ｐ２），・・ｍｏｖｅ（Ｐ２０），ｍｏｖｅ（Ｐ１）
タスクシーケンス２（配車対応）＝ｌｏａｄ（Ｐ１，ａ），ｍｏｖｅ（Ｐ２），ｕｎｌｏａｄ（Ｐ２，ａ）
【００９８】
タスクシーケンス１（巡回対応）＝ｍｏｖｅ（Ｐ１），ｍｏｖｅ（Ｐ２），・・ｍｏｖｅ（Ｐ２０），ｍｏｖｅ（Ｐ１）は、ノードＰ１からノードＰ２０までを順番に移動する巡回を行うタスクシーケンスである。
【００９９】
タスクシーケンス２（配車対応）＝ｌｏａｄ（Ｐ１，ａ），ｍｏｖｅ（Ｐ２），ｕｎｌｏａｄ（Ｐ２，ａ）は、ノードＰ１でお客さんａを乗車させて（ｌｏａｄ）、ノードＰ２に移動（ｍｏｖｅ）して、ノードＰ２でお客さんａを降車させる（ｕｎｌｏａｄ）シーケンスである。
【０１００】
さらに、タスク管理サーバ１０１のタスク管理部１２２は、この２つのタスクシーケンスを最小コストで実行できる車両に割り当てて、その車両が実行すべきタスク列を示す車両対応タスクシーケンスを生成する。
この結果が、図１４（３）車両対応タスクシーケンスに示す以下の２つの車両対応タスクシーケンスである。
車両１対応タスクシーケンス＝ｍｏｖｅ（Ｐ１），ｌｏａｄ（Ｐ１，ａ），ｍｏｖｅ（Ｐ２），ｕｎｌｏａｄ（Ｐ２，ａ），ｍｏｖｅ（Ｐ３），ｍｏｖｅ（Ｐ４），・・・
車両２対応タスクシーケンス＝ｍｏｖｅ（Ｐ１１），ｍｏｖｅ（Ｐ１２），・・・
【０１０１】
図１５を参照して、この２つの車両対応タスクシーケンスについて説明する。図１５の下部に示すように、車両１、車両２が双方とも巡回中であったが、配車タスク（タスクシーケンス２）が発生したため、この、配車タスク（タスクシーケンス２）をいずれかの車両の車両対応タスクシーケンスに挿入することが必要となる。
車両１は、現在Ｐ６におり、巡回タスクに従ってＰ７に移動を開始する前の状態である。一方、車両２はＰ１１におり、巡回タスクに従ってＰ１２に移動を開始する前の状態である。
【０１０２】
車両１の現在位置Ｐ６が、Ｐ１でお客さんａを乗せるためには距離が近く、配車タスクの実行に要するコストが低いため、車両１対応タスクシーケンスに、配車対応のタスクシーケンスを挿入する。
この結果、図１５上段の表に示す車両１対応タスクシーケンス＝ｍｏｖｅ（Ｐ１），ｌｏａｄ（Ｐ１，ａ），ｍｏｖｅ（Ｐ２），ｕｎｌｏａｄ（Ｐ２，ａ），ｍｏｖｅ（Ｐ３），ｍｏｖｅ（Ｐ４），・・・が生成される。
【０１０３】
図１５下段に示すように、車両１は、巡回タスクの次のタスク要素ｍｏｖｅ（Ｐ７）を中止して、配車のタスクシーケンス、すなわち、タスクシーケンス＝ｍｏｖｅ（Ｐ１），ｌｏａｄ（Ｐ１，ａ），ｍｏｖｅ（Ｐ２），ｕｎｌｏａｄ（Ｐ２，ａ）を実行する。その後は、Ｐ２から巡回タスクに戻り、Ｐ３への移動を開始する。
一方、配車タスクを実行しない車両２は、巡回タスクを継続して実行する。
【０１０４】
このように本処理例は、車両１が、
車両１対応タスクシーケンス＝ｍｏｖｅ（Ｐ１），ｌｏａｄ（Ｐ１，ａ），ｍｏｖｅ（Ｐ２），ｕｎｌｏａｄ（Ｐ２，ａ），ｍｏｖｅ（Ｐ３），ｍｏｖｅ（Ｐ４），・・・は、車両１が巡回中であったが、ここに、
タスクシーケンス２（配車対応）＝ｌｏａｄ（Ｐ１，ａ），ｍｏｖｅ（Ｐ２），ｕｎｌｏａｄ（Ｐ２，ａ）
を挿入して、車両対応タスクシーケンスを更新して生成した新たな車両対応タスクシーケンスを車両１が実行するものである。
【０１０５】
このシーケンスは、車両１が巡回途中にノードＰ１に移動（ｍｏｖｅ）後、ノードＰ１でお客さんａを乗車させて（ｌｏａｄ）、ノードＰ２に移動（ｍｏｖｅ）して、ノードＰ２でお客さんａを降車させて（ｕｎｌｏａｄ）、その後は巡回処理に復帰するシーケンスである。
【０１０６】
タスク管理サーバ１０１は、このように、リクエストに基づいてタスクシーケンスを生成し、さらに生成したタスクシーケンスに基づいて、各車両に実行させるタスクシーケンスである車両対応タスクシーケンスを生成する。
【０１０７】
次に、図１６を参照して、
（ケース３）オフィス等のフロア内を巡回する商品販売ロボットの例について説明する。
リクエストは、巡回と配車であり、通常時は巡回を実行し、逐次、発生する呼び出しに対応して呼び出し地点に向かう処理例である。
【０１０８】
図１６の上段は、呼び出し発生前の通常巡回処理実行中のデータ、下段は、呼び出し発生後のデータであり、各々、以下の３つのデータを示している。
（１）リクエスト
（２）タスクシーケンス
（３）車両対応タスクシーケンス
【０１０９】
図１６の上段の表に示す呼び出し発生前の通常巡回処理実行中の（１）リクエストは、「すべての地点の平等に巡回」であり、タスク管理サーバ１０１のタスク管理部１２２は、このリクエストに応じて、図１６上段の表の（２）に示す以下のタスクシーケンスを生成する。
タスクシーケンス１（巡回対応）＝ｍｏｖｅ（Ｐ１），ｍｏｖｅ（Ｐ２），・・ｍｏｖｅ（Ｐ２０），ｍｏｖｅ（Ｐ１）
【０１１０】
タスクシーケンス１（巡回対応）＝ｍｏｖｅ（Ｐ１），ｍｏｖｅ（Ｐ２），・・ｍｏｖｅ（Ｐ２０），ｍｏｖｅ（Ｐ１）は、ノードＰ１からノードＰ２０までを順番に移動する巡回を行うタスクシーケンスである。
【０１１１】
さらに、タスク管理サーバ１０１のタスク管理部１２２は、このタスクシーケンスを車両に割り当てて、その車両が実行すべきタスク列を示す車両対応タスクシーケンスを生成する。
この結果が、図１６上段の表の（３）車両対応タスクシーケンスに示す以下の車両対応タスクシーケンスである。
車両１対応タスクシーケンス＝ｍｏｖｅ（Ｐ２），ｍｏｖｅ（Ｐ３），ｍｏｖｅ（Ｐ４），・・・
【０１１２】
車両１がこの車両１対応タスクシーケンスを実行中に、タスク管理サーバは以下のリクエストを受信する。
リクエスト＝地点Ｐ１３からの呼び出し
【０１１３】
タスク管理サーバ１０１のタスク管理部１２２は、このリクエストに応じて、図１６下段の表の（２）に示す以下のタスクシーケンスを生成する。
タスクシーケンス２（呼び出し対応）＝ｍｏｖｅ（Ｐ１３）
【０１１４】
さらに、タスク管理サーバ１０１のタスク管理部１２２は、このタスクシーケンス２を車両に割り当てて、その車両が実行すべきタスク列を示す車両対応タスクシーケンスを生成する。
この結果が、図１６下段の表の（３）車両対応タスクシーケンスに示す以下の車両対応タスクシーケンスである。
車両１対応タスクシーケンス＝ｍｏｖｅ（Ｐｘ），ｍｏｖｅ（Ｐｙ），・・・，ｍｏｖｅ（Ｐ１３），・・・
Ｐｘ，Ｐｙ、巡回実行中の車両１の現在地に基づいて決定される位置であり、車両１の現在地からＰ１３までの最短ルートの移動経路に基づいて決定される。
【０１１５】
図１７を参照して、この車両対応タスクシーケンスについて説明する。図１７の下部に示すように、車両１２が巡回中であり、現在地がＰ１であり、Ｐ２〜Ｐ３〜Ｐ４の順に巡回予定であったとする。
この時点の車両対応タスクシーケンスは、図１７の上段（３ａ）に示すように、
車両１対応タスクシーケンス＝ｍｏｖｅ（Ｐ２），ｍｏｖｅ（Ｐ３），ｍｏｖｅ（Ｐ４），・・・
この車両１対応タスクシーケンスである。
【０１１６】
車両１がこの車両１対応タスクシーケンスを実行中に、タスク管理サーバは以下のリクエストを受信する。
リクエスト＝地点Ｐ１３からの呼び出し
タスク管理サーバ１０１のタスク管理部１２２は、このリクエストに応じて、上記の車両１対応タスクシーケンスに、上記の呼び出し処理のタスクを実行するためのタスクシーケンスを挿入して更新された車両１対応タスクシーケンスを生成する。
【０１１７】
この結果が、図１７上段の（３ｂ）車両対応タスクシーケンスに示す以下の車両対応タスクシーケンスである。
車両１対応タスクシーケンス＝ｍｏｖｅ（Ｐ２），ｍｏｖｅ（Ｐ７），ｍｏｖｅ（Ｐ８），ｍｏｖｅ（Ｐ１３），ｍｏｖｅ（Ｐ１４），・・・
【０１１８】
この車両対応タスクシーケンス中のｍｏｖｅ（Ｐ２），ｍｏｖｅ（Ｐ７），ｍｏｖｅ（Ｐ８），ｍｏｖｅ（Ｐ１３）は、巡回実行中の車両１の現在地（Ｐ１）からＰ１３までの最短ルートの経路の移動を行うための要素である。
【０１１９】
このように、タスク管理サーバ１０１は、新たなリクエストに応じて、即座にタスクシーケンスを生成し、さらに生成したタスクシーケンスに基づいて、各車両に実行させるタスクシーケンスである車両対応タスクシーケンスを生成する。
【０１２０】
［５．車両で実行中の車両対応タスクシーケンスに新規リクエストに基づく新規タスクシーケンスを追加して車両対応タスクシーケンスを更新する処理の具体例について］
次に、図１８以下を参照して、車両で実行中の車両対応タスクシーケンスに新規リクエストに基づく新規タスクシーケンスを追加して車両対応タスクシーケンスを更新する処理の具体例について説明する。
【０１２１】
図１８には、以下の各データを示している。
（１）既存車両対応タスクシーケンス
（２）追加タスクシーケンス
【０１２２】
（１）既存車両対応タスクシーケンスは、車両１が現在実行中の車両対応弼シーケンスである。
（２）追加タスクシーケンスは、新たなリクエストに基づいて生成されたタスクシーケンスであり、タスク管理サーバ１０１のタスク管理部１２２は、この（２）追加タスクシーケンスを（１）既存車両対応タスクシーケンスに挿入する処理を行う。
【０１２３】
図１８以下を参照して、既存車両対応タスクシーケンスに追加タスクシーケンスを追加する処理、すなわち車両対応タスクシーケンスの更新処理手順について説明するる。なお、更新過程において、既存車両対応タスクシーケンスと、追加タスクシーケンスのタスク要素は、順次変更される。ここでは、各シーケンスの更新過程のデータも含め、図に示すように、
（１）既存車両対応タスクシーケンス＝タスクシーケンスＡ
（２）追加タスクシーケンス＝タスクシーケンスＢ
上記設定として説明する。
【０１２４】
各タスクシーケンスは、図１８に示すように以下のシーケンスである。
（１）既存車両対応タスクシーケンス＝ｌｏａｄ（Ｐ１，荷物１），ｍｏｖｅ（Ｐ６），ｍｏｖｅ（Ｐ７），ｍｏｖｅ（Ｐ８），ｍｏｖｅ（Ｐ１３），ｕｎｌｏａｄ（Ｐ１３，荷物１）
（２）追加タスクシーケンス＝ｌｏａｄ（Ｐ１，荷物２），ｍｏｖｅ（Ｐ２）．ｍｏｖｅ（Ｐ３）．ｍｏｖｅ（Ｐ４），ｍｏｖｅ（Ｐ９），ｍｏｖｅ（Ｐ１０），ｕｎｌｏａｄ（Ｐ１０，荷物２）
【０１２５】
（１）既存車両対応タスクシーケンスは、Ｐ１で荷物１を載せて（ｌｏａｄ）、Ｐ６，Ｐ７，Ｐ８，Ｐ１３と移動して、Ｐ１３で荷物１を降ろす（ｕｎｌｏａｄ）するタスクシーケンスである。
（２）追加タスクシーケンスは、Ｐ１で荷物２を載せて（ｌｏａｄ）、Ｐ２，Ｐ３，Ｐ４，Ｐ９，Ｐ１０と移動して、Ｐ１０で荷物２を降ろす（ｕｎｌｏａｄ）するタスクシーケンスである。
【０１２６】
この（１）既存車両対応タスクシーケンスに、（２）追加タスクシーケンスを追加する処理手順について、図１９以下を参照して説明する。
まず、図１９のステップＳ２０１に示すように、追加タスクシーケンスから、ｍｏｖｅタスク要素（移動タスク要素）を削除する。この処理により、（２）追加タスクシーケンスは、以下のように変更される。
（２）追加タスクシーケンス＝ｌｏａｄ（Ｐ１，荷物２），ｕｎｌｏａｄ（Ｐ１０，荷物２）
【０１２７】
次に、図２０のステップＳ２０２に示すように、追加タスクシーケンスの先頭要素から順に、要素の位置（Ｐｎ）と一致する位置を持つ要素を、既存車両タスクシーケンスの先頭要素から順に検索し、位置が一致する要素の後に追加タスクシーケンスの要素を挿入する。
なお、挿入したタスク要素は、（２）追加タスクシーケンスから削除する。
【０１２８】
まず、追加タスクシーケンスの先頭要素ｌｏａｄ（Ｐ１，荷物２）の位置（Ｐ１）と一致する位置を持つ既存車両タスクシーケンスの要素は、既存車両タスクシーケンスの先頭要素ｌｏａｄ（Ｐ１，荷物１）である。
従って、追加タスクシーケンスの先頭要素ｌｏａｄ（Ｐ１，荷物２）を、既存車両タスクシーケンスの先頭要素ｌｏａｄ（Ｐ１，荷物１）の後に挿入する。
【０１２９】
この処理の結果、図２０の下段の表に示すように、（１）既存車両対応タスクシーケンスと、（２）追加タスクシーケンスは、以下のように変更される。
（１）既存車両対応タスクシーケンス＝ｌｏａｄ（Ｐ１，荷物１），ｌｏａｄ（Ｐ１，荷物２），ｍｏｖｅ（Ｐ６），ｍｏｖｅ（Ｐ７），ｍｏｖｅ（Ｐ８），ｍｏｖｅ（Ｐ１３），ｕｎｌｏａｄ（Ｐ１３，荷物１）
（２）追加タスクシーケンス＝ｕｎｌｏａｄ（Ｐ１０，荷物２）
【０１３０】
なお、このステップＳ２０２の処理は、追加タスクシーケンスに含まれるタスク要素の全てについて、順次、実行する。この処理において、追加タスクシーケンスに含まれる要素がなくなった場合は処理を終了する。タスク要素が残っている場合は、図２１に示すステップＳ２０３の処理を実行する。
【０１３１】
追加タスクシーケンスにタスク要素が残っている場合、次に、図２１のステップＳ２０３に示す処理を行う。すなわち、追加タスクシーケンスの要素の位置（Ｐｎ）と一致する位置を持つ要素が既存車両タスクシーケンス中に無い場合、既存車両タスクシーケンスの最終要素の後に、必要経路を追加して、追加タスクシーケンスの要素を挿入する。
【０１３２】
追加タスクシーケンスの先頭要素ｕｎｌｏａｄ（Ｐ１０，荷物２）の位置（Ｐ１０）と一致する位置を持つ既存車両タスクシーケンスの要素はない。従って、この追加タスクシーケンスの先頭要素ｕｎｌｏａｄ（Ｐ１０，荷物２）を、既存車両タスクシーケンスの最終要素の後に、必要経路を追加して最後にこのタスク要素を挿入する。
【０１３３】
この処理の結果、図２１の下段の表に示すように、（１）既存車両対応タスクシーケンスと、（２）追加タスクシーケンスは、以下のように変更される。
（１）既存車両対応タスクシーケンス（更新完了）＝ｌｏａｄ（Ｐ１，荷物１），  ｌｏａｄ（Ｐ１，荷物２），ｍｏｖｅ（Ｐ６），ｍｏｖｅ（Ｐ７），ｍｏｖｅ（Ｐ８），ｍｏｖｅ（Ｐ１３），ｕｎｌｏａｄ（Ｐ１３，荷物１），ｍｏｖｅ（Ｐ１４），ｍｏｖｅ（Ｐ１５），ｍｏｖｅ（Ｐ１０），ｕｎｌｏａｄ（Ｐ１０，荷物２）
（２）追加タスクシーケンス＝なし
【０１３４】
なお、上記の更新完了後の両対応タスクシーケンス中、
タスク要素＝ｕｎｌｏａｄ（Ｐ１３，荷物１）
この後のタスク要素＝ｍｏｖｅ（Ｐ１４），ｍｏｖｅ（Ｐ１５），  ｍｏｖｅ（Ｐ１０），ｕｎｌｏａｄ（Ｐ１０，荷物２）
これらが追加された要素であり、この要素中、ｍｏｖｅ（Ｐ１４），ｍｏｖｅ（Ｐ１５），ｍｏｖｅ（Ｐ１０），これらが必要経路として追加された要素であり、ｕｎｌｏａｄ（Ｐ１０，荷物２）が、元の追加タスクシーケンス中に残っていた要素である。
【０１３５】
この結果として、図２２に示すように最終的な更新された車両対応タスクシーケンスが完成する。この更新された車両対応タスクシーケンスは、図２２の下段のマップに示すように、Ｐ１で荷物１，２を載せてＰ６，Ｐ７，Ｐ８，Ｐ１３と移動して、Ｐ１３で荷物１を降ろし（ｕｎｌｏａｄ）、さらにＰ１４，Ｐ１５，Ｐ１０と移動して、Ｐ１０で荷物２を降ろす（ｕｎｌｏａｄ）というタスクシーケンスとなる。
【０１３６】
この更新タスクシーケンスは、元の既存の車両対応タスクシーケンスと新規の追加タスクシーケンスを併せて実行することが可能なタスクシーケンスである。
【０１３７】
図１８〜図２２を参照して説明した処理、すなわち既存の車両対応タスクシーケンスに新たなリクエストに基づく追加タスクシーケンスを挿入する処理手順について、図２３に示すフローチャートを参照して説明する。
図２３に示すフローチャートは、タスク管理サーバ１０１のタスク管理部１２２において実行される。
【０１３８】
なお、図２３に示すフローにおいて、
Ａ＝既存車両対応タスクシーケンス、
Ｂ＝追加タスクシーケンス
であり、Ａ＝既存車両対応タスクシーケンスのタスク要素を先頭からａ１，ａ２，ａ３，・・・ａｎ、Ｂ＝追加タスクシーケンスのタスク要素を先頭からｂ１，ｂ２，ｂ３，・・・ｂｍとする。
以下、フローの各ステップの処理について説明する。
【０１３９】
（ステップＳ３０１）
まず、ステップＳ３０１において、追加タスクシーケンスＢのタスク要素からｍｏｖｅタスク要素（移動タスク要素）を全て削除する。
この削除後のタスクシーケンスＢのタスク要素をｂ１，ｂ２，・・・ｂｌとする。
この処理は、先に図１９を参照して説明した処理に相当する。
【０１４０】
（ステップＳ３０２〜Ｓ３０３）
次に、ステップＳ３０２において、
ｉ＝１，ｊ＝１、
ステップＳ３０３において、
ｔ＝ａｉとする。すなわち、ｔをＡ＝既存車両対応タスクシーケンスの先頭から順に選択するタスク要素とする。
これらの処理は、パラメータの初期設定である。
【０１４１】
（ステップＳ３０４）
次に、ステップＳ３０４において、
既存車両対応タスクシーケンスＡの先頭から順に選択したタスク要素ｔ（＝ａｉ）の位置（ｌｏｃａｔｅ）と、ｍｏｖｅタスク要素（移動タスク要素）を削除したタスクシーケンスＢのタスク要素（ｂｊ）の位置（ｌｏｃａｔｅ）が一致するか否かを判定する。
一致する場合は、ステップＳ３０５に進む。
一致しない場合は、ステップＳ３１１に進む。
【０１４２】
（ステップＳ３０５）
ステップＳ３０４において、既存車両対応タスクシーケンスＡの先頭から順に選択したタスク要素ｔ（＝ａｉ）の位置（ｌｏｃａｔｅ）と、ｍｏｖｅタスク要素（移動タスク要素）を削除したタスクシーケンスＢのタスク要素（ｂｊ）の位置（ｌｏｃａｔｅ）が一致すると判定した場合、ステップＳ３０５の処理を実行する。
【０１４３】
ステップＳ３０５では、既存車両対応タスクシーケンスＡのタスク要素ｔ（＝ａｉ）の直後に、タスクシーケンスＢのタスク要素（ｂｊ）を挿入する。
この処理は、先に図２０を参照して説明した処理に相当する。
【０１４４】
（ステップＳ３０６〜Ｓ３０７）
次に、ステップＳ３０６において、
ｔ＝ｂｊ、
ステップＳ３０７において、
ｊ＝ｊ＋１とする。
すなわち、ｍｏｖｅタスク要素削除後の追加タスクシーケンスＢから選択する要素を次の要素にするパラメータ更新を行う。
【０１４５】
（ステップＳ３０８）
次に、ステップＳ３０８で、
ｊ＞ｌ
上記判定式に従った判定処理を行う。これは、ｍｏｖｅタスク要素削除後の追加タスクシーケンスＢに未処理要素が残っているか否かの判定処理である。
上記判定式が成立しない場合は、未処理タスク要素が残っていると判定し、ステップＳ３０４に戻る。上記判定式が成立した場合は、未処理タスク要素が残っていないと判定し、処理を終了する。
【０１４６】
（ステップＳ３１１）
一方、ステップＳ３０４において、既存車両対応タスクシーケンスＡの先頭から順に選択したタスク要素ｔ（＝ａｉ）の位置（ｌｏｃａｔｅ）と、ｍｏｖｅタスク要素（移動タスク要素）を削除したタスクシーケンスＢのタスク要素（ｂｊ）の位置（ｌｏｃａｔｅ）が一致しないと判定した場合、ステップＳ３１１の処理を実行する。
【０１４７】
ステップＳ３１１では、既存車両対応タスクシーケンスＡのタスク要素ｔ（＝ａｉ）を次の要素とするパラメータｉの更新処理、すなわち、
ｉ＝ｉ＋１
とする処理を実行する。
【０１４８】
（ステップＳ３１２）
次に、ステップＳ３１２で、
ｉ＝ｎ
上記判定式に従った判定処理を行う。これは、既存車両対応タスクシーケンスＡに後続タスク要素が残っているか否かの判定処理である。
上記判定式が成立しない場合は、後続タスク要素が残っていると判定し、ステップＳ３０３に戻る。上記判定式が成立した場合は、後続タスク要素が残っていないと判定し、ステップＳ３１３に進む。
【０１４９】
（ステップＳ３１３）
ステップＳ３１２の判定式が成立し、既存車両対応タスクシーケンスＡに後続タスク要素が残っていないと判定した場合、ステップＳ３１３の処理を実行する。
【０１５０】
ステップＳ３１３では、既存車両対応タスクシーケンスＡの末尾のタスク要素に続けて、タスクシーケンスＡの末尾のタスク要素の位置（ｌｏｃａｔｅ）から、タスクシーケンスＢのタスク要素（ｂｊ）の位置（ｌｏｃａｔｅ）までのｍｏｖｅタスク要素（移動タスク要素）（＝ｍ１，ｍ２，・・・ｍｋ）を追加して、その最後にタスクシーケンスＢのタスク要素（ｂｊ）を追加する。
この処理は、先に図２１を参照して説明した処理に相当する。
【０１５１】
（ステップＳ３１４）
次に、ステップＳ３１４において、
ｊ＝ｊ＋１とする。
すなわち、ｍｏｖｅタスク要素削除後の追加タスクシーケンスＢから選択する要素を次の要素にするパラメータ更新を行う。
【０１５２】
（ステップＳ３１５）
次に、ステップＳ３１５で、
ｊ＞ｌ
上記判定式に従った判定処理を行う。これは、ｍｏｖｅタスク要素削除後の追加タスクシーケンスＢに未処理要素が残っているか否かの判定処理である。
上記判定式が成立しない場合は、未処理タスク要素が残っていると判定し、ステップＳ３０４に戻る。上記判定式が成立した場合は、未処理タスク要素が残っていないと判定し、処理を終了する。
【０１５３】
このフローに従った処理を実行することで、既存の車両対応タスクシーケンスに新たな追加タスクシーケンスを追加して１つの更新された車両対応タスクシーケンスを生成することが可能となる。
【０１５４】
［６．タスクの優先度を考慮した車両対応タスクシーケンスの更新処理の具体例について］
次に、図２４以下を参照して、車両で実行中の車両対応タスクシーケンスに新規リクエストに基づく新規タスクシーケンスを追加して車両対応タスクシーケンスを更新する場合に、タスクの優先度を考慮して車両対応タスクシーケンスを更新する処理の具体例について説明する。
【０１５５】
図２４には、以下の各データを示している。
（１）既存車両対応タスクシーケンス
（２）追加タスクシーケンス
【０１５６】
（１）既存車両対応タスクシーケンスは、車両１が現在実行中の車両対応弼シーケンスである。
（２）追加タスクシーケンスは、新たなリクエストに基づいて生成されたタスクシーケンスであり、タスク管理サーバ１０１のタスク管理部１２２は、この（２）追加タスクシーケンスを（１）既存車両対応タスクシーケンスに挿入する処理を行う。
【０１５７】
図２４に示す
（１）既存車両対応タスクシーケンス＝タスクシーケンスＡ
（２）追加タスクシーケンス＝タスクシーケンスＢ
これらの２つのタスクシーケンスのタスク要素の並びは、先に図１８を参照して説明したと同様のものである。ただし、本実施例では、荷物の上げ下ろしのタスク要素（ｌｏａｄ，ｕｎｌｏａｄ）に優先度情報（ｐｒｉ）が設定されている。
【０１５８】
本実施例で示す既存車両対応タスクシーケンス＝タスクシーケンスＡには、タスク要素として、
ｌｏａｄ（Ｐ１，荷物１，ｐｒｉ＝１）
ｕｎｌｏａｄ（Ｐ１３，荷物１，ｐｒｉ＝１）
これらのタスク要素は、荷物１をＰ１で載せる処理とＰ１３で降ろす処理を意味し、さらに、これらのタスクの優先度（ｐｒｉｏｒｉｔｙ）が１であることを示している。
【０１５９】
一方、追加タスクシーケンス＝タスクシーケンスＢには、タスク要素として、
ｌｏａｄ（Ｐ１，荷物２，ｐｒｉ＝１０）
ｕｎｌｏａｄ（Ｐ１０，荷物２，ｐｒｉ＝１０）
これらのタスク要素は、荷物２をＰ１で載せる処理とＰ１０で降ろす処理を意味し、さらに、これらのタスクの優先度（ｐｒｉｏｒｉｔｙ）が１０であることを示している。
優先度（ｐｒｉ）は大きな値ほど高優先度であることを意味する。すなわち、本例では、追加タスクである荷物２の上げ下ろしの方が、優先度が高い設定である。
【０１６０】
各タスクシーケンスは、図２４に示すように以下のシーケンスである。
（１）既存車両対応タスクシーケンス＝ｌｏａｄ（Ｐ１，荷物１，ｐｒｉ＝１），ｍｏｖｅ（Ｐ６），ｍｏｖｅ（Ｐ７），ｍｏｖｅ（Ｐ８），ｍｏｖｅ（Ｐ１３），ｕｎｌｏａｄ（Ｐ１３，荷物１，ｐｒｉ＝１）
（２）追加タスクシーケンス＝ｌｏａｄ（Ｐ１，荷物２，ｐｒｉ＝１０），ｍｏｖｅ（Ｐ２）．ｍｏｖｅ（Ｐ３）．ｍｏｖｅ（Ｐ４），ｍｏｖｅ（Ｐ９），ｍｏｖｅ（Ｐ１０），ｕｎｌｏａｄ（Ｐ１０，荷物２，ｐｒｉ＝１０）
【０１６１】
（１）既存車両対応タスクシーケンスは、Ｐ１で荷物１を載せて（ｌｏａｄ）、Ｐ６，Ｐ７，Ｐ８，Ｐ１３と移動して、Ｐ１３で荷物１を降ろす（ｕｎｌｏａｄ）するタスクシーケンスである。
（２）追加タスクシーケンスは、Ｐ１で荷物２を載せて（ｌｏａｄ）、Ｐ２，Ｐ３，Ｐ４，Ｐ９，Ｐ１０と移動して、Ｐ１０で荷物２を降ろす（ｕｎｌｏａｄ）するタスクシーケンスである。
ただし、追加タスクシーケンスの荷物２の上げ下ろしが、既存車両対応タスクシーケンスの荷物１の上げ下ろしより、高優先度である。
【０１６２】
優先度を考慮して（１）既存車両対応タスクシーケンスに、（２）追加タスクシーケンスを追加する処理手順について、図２５以下を参照して説明する。
まず、図２５のステップＳ４０１に示すように、追加タスクシーケンスから、ｍｏｖｅタスク要素（移動タスク要素）を削除する。この処理により、（２）追加タスクシーケンスは、以下のように変更される。
（２）追加タスクシーケンス＝ｌｏａｄ（Ｐ１，荷物２，ｐｒｉ＝１０），ｕｎｌｏａｄ（Ｐ１０，荷物２，ｐｒｉ＝１０）
【０１６３】
次に、図２６のステップＳ４０２に示すように、追加タスクシーケンスの先頭要素から順に、その要素の優先度（ｐｒｉ）未満の優先度を持つ要素を、既存車両タスクシーケンスの先頭要素から順に検索し、検出された要素の前に追加タスクの要素を挿入する。さらに必要な経路も挿入する。
なお、挿入したタスク要素は、（２）追加タスクシーケンスから削除する。
【０１６４】
まず、追加タスクシーケンスの先頭要素ｌｏａｄ（Ｐ１，荷物２，ｐｒｉ＝１０）の優先度（ｐｒｉ）未満の優先度を持つ既存車両タスクシーケンスの要素は、既存車両タスクシーケンスの先頭要素ｌｏａｄ（Ｐ１，荷物１，ｐｒｉ＝１）である。
従って、追加タスクシーケンスの先頭要素ｌｏａｄ（Ｐ１，荷物２，ｐｒｉ＝１０）を、既存車両タスクシーケンスの先頭要素ｌｏａｄ（Ｐ１，荷物１，ｐｒｉ＝１０）の前に挿入する。さらに必要な経路も挿入する。
【０１６５】
この処理の結果、図２６の下段の表に示すように、（１）既存車両対応タスクシーケンスと、（２）追加タスクシーケンスは、以下のように変更される。
（１）既存車両対応タスクシーケンス＝ｌｏａｄ（Ｐ１，荷物２，ｐｒｉ＝１０），ｍｏｖｅ（Ｐ２）．ｍｏｖｅ（Ｐ３）．ｍｏｖｅ（Ｐ４），ｍｏｖｅ（Ｐ９），ｍｏｖｅ（Ｐ１０），ｕｎｌｏａｄ（Ｐ１０，荷物２，ｐｒｉ＝１０），ｌｏａｄ（Ｐ１，荷物１，ｐｒｉ＝１），ｍｏｖｅ（Ｐ６），ｍｏｖｅ（Ｐ７），ｍｏｖｅ（Ｐ８），ｍｏｖｅ（Ｐ１３），ｕｎｌｏａｄ（Ｐ１３，荷物１，ｐｒｉ＝１）
（２）追加タスクシーケンス＝ｕｎｌｏａｄ（Ｐ１０，荷物２，ｐｒｉ＝１０）
【０１６６】
次に、図２７のステップＳ４０３に示す処理を行う。すなわち、更新中の車両対応タスクシーケンスの要素と、挿入した追加タスクシーケンスの要素の隣接要素間の経路要素を追加挿入する。
【０１６７】
この処理の結果、図２７の下段の表に示すように、（１）既存車両対応タスクシーケンスと、（２）追加タスクシーケンスは、以下のように変更される。
（１）既存車両対応タスクシーケンス（更新完了）＝ｌｏａｄ（Ｐ１，荷物２，ｐｒｉ＝１０），ｍｏｖｅ（Ｐ２）．ｍｏｖｅ（Ｐ３）．ｍｏｖｅ（Ｐ４），ｍｏｖｅ（Ｐ９），ｍｏｖｅ（Ｐ１０），ｕｎｌｏａｄ（Ｐ１０，荷物２，ｐｒｉ＝１０），ｍｏｖｅ（Ｐ５）．ｍｏｖｅ（Ｐ４）．ｍｏｖｅ（Ｐ３），ｍｏｖｅ（Ｐ２），ｍｏｖｅ（Ｐ１），ｌｏａｄ（Ｐ１，荷物１，ｐｒｉ＝１），ｍｏｖｅ（Ｐ６），ｍｏｖｅ（Ｐ７），ｍｏｖｅ（Ｐ８），ｍｏｖｅ（Ｐ１３），ｕｎｌｏａｄ（Ｐ１３，荷物１，ｐｒｉ＝１）
（２）追加タスクシーケンス＝なし
【０１６８】
なお、ステップＳ４０２〜Ｓ４０３の処理は、追加タスクシーケンスに含まれるタスク要素の全てについて、順次、実行する。
【０１６９】
なお、上記の更新完了後の両対応タスクシーケンス中、
タスク要素＝ｌｏａｄ（Ｐ１，荷物２，ｐｒｉ＝１０），ｍｏｖｅ（Ｐ２）．ｍｏｖｅ（Ｐ３）．ｍｏｖｅ（Ｐ４），ｍｏｖｅ（Ｐ９），ｍｏｖｅ（Ｐ１０），ｕｎｌｏａｄ（Ｐ１０，荷物２，ｐｒｉ＝１０），
これらのタスク要素が、ステップＳ４０２において、高優先度タスクを含む追加タスクシーケンスによって追加されたタスクである。さらに、その後の、
タスク要素＝ｍｏｖｅ（Ｐ５）．ｍｏｖｅ（Ｐ４）．ｍｏｖｅ（Ｐ３），ｍｏｖｅ（Ｐ２），ｍｏｖｅ（Ｐ１），
これらのタスク要素が、ステップＳ４０３において追加挿入された経路要素である。すなわち、更新中の車両対応タスクシーケンスの要素と、挿入した追加タスクシーケンスの要素の隣接要素間の経路要素である。
【０１７０】
この結果として、図２８に示すように最終的な更新された車両対応タスクシーケンスが完成する。この更新された車両対応タスクシーケンスは、図２８の下段のマップに示すように、Ｐ１で荷物２を載せてＰ２，Ｐ３，Ｐ４，Ｐ９，Ｐ１０と移動して、Ｐ１０で荷物２を降ろし（ｕｎｌｏａｄ）、さらにＰ５，Ｐ４，Ｐ３，Ｐ２，Ｐ１と移動して、Ｐ１で荷物１を載せてＰ６，Ｐ７，Ｐ８，Ｐ１３と移動して、Ｐ１３で荷物１を降ろす（ｕｎｌｏａｄ）というタスクシーケンスとなる。
【０１７１】
この更新タスクシーケンスは、元の既存の車両対応タスクシーケンスと新規の追加タスクシーケンスを併せて実行することが可能なタスクシーケンスである。
【０１７２】
図２４〜図２８を参照して説明した処理、すなわちタスクの優先度を考慮して、既存の車両対応タスクシーケンスに新たなリクエストに基づく追加タスクシーケンスを挿入する処理手順について、図２９に示すフローチャートを参照して説明する。
図２９に示すフローチャートは、タスク管理サーバ１０１のタスク管理部１２２において実行される。
【０１７３】
なお、図２９に示すフローにおいて、
Ａ＝既存車両対応タスクシーケンス、
Ｂ＝追加タスクシーケンス
であり、Ａ＝既存車両対応タスクシーケンスのタスク要素を先頭からａ１，ａ２，ａ３，・・・ａｎ、Ｂ＝追加タスクシーケンスのタスク要素を先頭からｂ１，ｂ２，ｂ３，・・・ｂｍとする。
以下、フローの各ステップの処理について説明する。
【０１７４】
（ステップＳ５０１）
まず、ステップＳ５０１において、追加タスクシーケンスＢのタスク要素からｍｏｖｅタスク要素（移動タスク要素）を全て削除する。
この削除後のタスクシーケンスＢのタスク要素をｂ１，ｂ２，・・・ｂｌとする。
この処理は、先に図２５を参照して説明した処理に相当する。
【０１７５】
（ステップＳ５０２〜Ｓ５０３）
次に、ステップＳ５０２において、
ｉ＝０，ｊ＝０、
ステップＳ５０３において、
ｔ＝ａｉとする。すなわち、ｔをＡ＝既存車両対応タスクシーケンスの先頭から順に選択するタスク要素とする。
これらの処理は、パラメータの初期設定である。
【０１７６】
（ステップＳ５０４）
次に、ステップＳ５０４において、
既存車両対応タスクシーケンスＡの先頭から順に選択したタスク要素ｔの次（＝ａｉの次）の優先度（ｐｒｉ）より、ｍｏｖｅタスク要素（移動タスク要素）を削除したタスクシーケンスＢのタスク要素（ｂｊ）の優先度（ｐｒｉ）が高いか否かを判定する。
高い場合は、ステップＳ５１１に進む。
高くない場合は、ステップＳ５０５に進む。
【０１７７】
（ステップＳ５０５）
ステップＳ５０４において、既存車両対応タスクシーケンスＡの先頭から順に選択したタスク要素ｔの次（＝ａｉの次）の優先度（ｐｒｉ）より、ｍｏｖｅタスク要素（移動タスク要素）を削除したタスクシーケンスＢのタスク要素（ｂｊ）の優先度（ｐｒｉ）が高くないと判定した場合は、ステップＳ５０５に進む。
【０１７８】
ステップＳ５０５では、既存車両対応タスクシーケンスＡの先頭から順に選択したタスク要素ｔ（＝ａｉ）の位置（ｌｏｃａｔｅ）と、ｍｏｖｅタスク要素（移動タスク要素）を削除したタスクシーケンスＢのタスク要素（ｂｊ）の位置（ｌｏｃａｔｅ）が一致するか否かを判定する。
一致する場合は、ステップＳ５０６に進む。
一致しない場合は、ステップＳ５２１に進む。
【０１７９】
（ステップＳ５０６）
ステップＳ５０５において、既存車両対応タスクシーケンスＡの先頭から順に選択したタスク要素ｔ（＝ａｉ）の位置（ｌｏｃａｔｅ）と、ｍｏｖｅタスク要素（移動タスク要素）を削除したタスクシーケンスＢのタスク要素（ｂｊ）の位置（ｌｏｃａｔｅ）が一致すると判定した場合、ステップＳ５０６の処理を実行する。
【０１８０】
ステップＳ５０６では、既存車両対応タスクシーケンスＡのタスク要素ｔ（＝ａｉ）の直後に、タスクシーケンスＢのタスク要素（ｂｊ）を挿入する。
【０１８１】
（ステップＳ５０７〜Ｓ５０８）
次に、ステップＳ５０７において、
ｔ＝ｂｊ、
ステップＳ５０８において、
ｊ＝ｊ＋１とする。
すなわち、ｍｏｖｅタスク要素削除後の追加タスクシーケンスＢから選択する要素を次の要素にするパラメータ更新を行う。
【０１８２】
（ステップＳ５０９）
次に、ステップＳ５０９で、
ｊ＞ｌ
上記判定式に従った判定処理を行う。これは、ｍｏｖｅタスク要素削除後の追加タスクシーケンスＢに未処理要素が残っているか否かの判定処理である。
上記判定式が成立しない場合は、未処理タスク要素が残っていると判定し、ステップＳ５０４に戻る。上記判定式が成立した場合は、未処理タスク要素が残っていないと判定し、処理を終了する。
【０１８３】
（ステップＳ５１１）
一方、ステップＳ５０４において、既存車両対応タスクシーケンスＡの先頭から順に選択したタスク要素ｔの次（＝ａｉの次）の優先度（ｐｒｉ）より、ｍｏｖｅタスク要素（移動タスク要素）を削除したタスクシーケンスＢのタスク要素（ｂｊ）の優先度（ｐｒｉ）が高いと判定した場合は、ステップＳ５１１に進む。
【０１８４】
ステップＳ５１１では、既存車両対応タスクシーケンスＡのタスク要素ｔ（＝ａｉ）の位置（ｌｏｃａｔｅ）から、ｍｏｖｅタスク要素（移動タスク要素）を削除したタスクシーケンスＢのタスク要素（ｂｊ）の位置（ｌｏｃａｔｅ）までのｍｏｖｅタスク要素（移動タスク要素）（＝ｍ１，ｍ２，・・・ｍｋ）を、既存車両対応タスクシーケンスＡのタスク要素ｔ（＝ａｉ）の直後に追加して、その最後にタスクシーケンスＢのタスク要素（ｂｊ）を追加する。
この処理は、先に図２６を参照して説明した処理である。
【０１８５】
（ステップＳ５１２〜Ｓ５１３）
次に、ステップＳ５１２において、
ｔ＝ｂｊ、
ステップＳ５１３において、
ｊ＝ｊ＋１とする。
すなわち、ｍｏｖｅタスク要素削除後の追加タスクシーケンスＢから選択する要素を次の要素にするパラメータ更新を行う。
【０１８６】
（ステップＳ５１４）
次に、ステップＳ５１４で、
ｊ＞ｌ
上記判定式に従った判定処理を行う。これは、ｍｏｖｅタスク要素削除後の追加タスクシーケンスＢに未処理要素が残っているか否かの判定処理である。
上記判定式が成立しない場合は、未処理タスク要素が残っていると判定し、ステップＳ５０４に戻る。上記判定式が成立した場合は、未処理タスク要素が残っていないと判定し、ステップＳ５１５に進む。
【０１８７】
（ステップＳ５１５）
ステップＳ５１５では、既存車両対応タスクシーケンスＡに追加したタスク要素ｔ（＝ｂｊ）の位置（ｌｏｃａｔｅ）から、その後のタスク要素ａｉの位置（ｌｏｃａｔｅ）までのｍｏｖｅタスク要素（移動タスク要素）列を追加して処理を終了する。
この処理は、先に図２７を参照して説明した処理である。
【０１８８】
（ステップＳ５２１）
一方、ステップＳ５０５において、既存車両対応タスクシーケンスＡの先頭から順に選択したタスク要素ｔ（＝ａｉ）の位置（ｌｏｃａｔｅ）と、ｍｏｖｅタスク要素（移動タスク要素）を削除したタスクシーケンスＢのタスク要素（ｂｊ）の位置（ｌｏｃａｔｅ）が一致しないと判定した場合、ステップＳ５２１の処理を実行する。
【０１８９】
ステップＳ５２１では、既存車両対応タスクシーケンスＡのタスク要素ｔ（＝ａｉ）を次の要素とするパラメータｉの更新処理、すなわち、
ｉ＝ｉ＋１
とする処理を実行する。
【０１９０】
（ステップＳ５２２）
次に、ステップＳ５２２で、
ｉ＝ｎ
上記判定式に従った判定処理を行う。これは、既存車両対応タスクシーケンスＡに後続タスク要素が残っているか否かの判定処理である。
上記判定式が成立しない場合は、後続タスク要素が残っていると判定し、ステップＳ５０５に戻る。上記判定式が成立した場合は、後続タスク要素が残っていないと判定し、ステップＳ５２３に進む。
【０１９１】
（ステップＳ５２３）
ステップＳ５２２の判定式が成立し、既存車両対応タスクシーケンスＡに後続タスク要素が残っていないと判定した場合、ステップＳ５２３の処理を実行する。
【０１９２】
ステップＳ５２３では、既存車両対応タスクシーケンスＡの末尾のタスク要素に続けて、タスクシーケンスＡの末尾のタスク要素の位置（ｌｏｃａｔｅ）から、タスクシーケンスＢのタスク要素（ｂｊ）の位置（ｌｏｃａｔｅ）までのｍｏｖｅタスク要素（移動タスク要素）（＝ｍ１，ｍ２，・・・ｍｋ）を追加して、その最後にタスクシーケンスＢのタスク要素（ｂｊ）を追加する。
【０１９３】
（ステップＳ５２４）
次に、ステップＳ５２４において、
ｊ＝ｊ＋１とする。
すなわち、ｍｏｖｅタスク要素削除後の追加タスクシーケンスＢから選択する要素を次の要素にするパラメータ更新を行う。
【０１９４】
（ステップＳ５２５）
次に、ステップＳ５２５で、
ｊ＞ｌ
上記判定式に従った判定処理を行う。これは、ｍｏｖｅタスク要素削除後の追加タスクシーケンスＢに未処理要素が残っているか否かの判定処理である。
上記判定式が成立しない場合は、未処理タスク要素が残っていると判定し、ステップＳ５２３に戻る。上記判定式が成立した場合は、未処理タスク要素が残っていないと判定し、処理を終了する。
【０１９５】
このフローに従った処理を実行することで、優先度の高いタスクを先行して実行するというルールに従って、既存の車両対応タスクシーケンスに新たな追加タスクシーケンスを追加して１つの更新された車両対応タスクシーケンスを生成することが可能となる。
【０１９６】
［７．どの車両対応タスクシーケンスに新規タスクシーケンスを追加挿入するかを決定するためのコストマッチング処理の詳細について］
次に、どの車両対応タスクシーケンスに新規タスクシーケンスを追加挿入するかを決定するためのコストマッチング処理の詳細について説明する。
【０１９７】
先に図７に示すフローを参照して説明したように、タスク管理サーバ１０１のタスク管理部１２２は、例えば新たなリクエストが発生した際、そのリクエストに基づいて、図７のフローのステップＳ１０２において、最小単位のタスクシーケンスを生成した後、ステップＳ１０３において、このタスクシーケンス最小コストで実行できる車両に割り当てて、その車両が実行すべきタスク列を示す車両対応タスクシーケンスを生成する。
【０１９８】
図７に示すフローのステップＳ１０３では、このように、タスク管理部１２２がステップＳ１０２で生成したタスクシーケンスを、車両単位のタスクシーケンス、すなわち車両対応タスクシーケンスに変換する。
この変換処理に際しては、最も効率的な処理が可能となる車両の選択と処理シーケンスの設定が実行される。具体的にはコストやタスク優先度を考慮したシーケンス生成処理を行う。このコストに基づく車両対応タスクシーケンスの具体的な処理、すなわちコストマッチング処理の具体例について説明する。
【０１９９】
図３０を参照して、タスク管理サーバ１０１のタスク管理部１２２が実行するコストマッチング処理の具体的シーケンスについて説明する。
タスク管理部１２２は、図３０に示すステップＳ６０１〜Ｓ６０３の順に、処理を行い、タスクシーケンス最小コストで実行できる車両の決定を行い、その車両が実行すべき車両対応タスクシーケンスを生成する。
【０２００】
ステップＳ６０１は、新たなリクエストに基づく新たなタスクシーケンスを生成した際に提起される問題を示している。すなわち、
どの車両対応タスクシーケンスに、新規タスクシーケンスを追加するかという問題である。
【０２０１】
この問題を解決する具体的方法が、ステップＳ６０２に示すマッチングコスト算出処理である。
マッチングコスト算出処理は、図３０のステップＳ６０２に示すように以下の手順で実行される。
【０２０２】
マッチングコストを以下の３つのコスト値の重み付け線形結合で算出する。
（１）ｃｏｓｔａｄｄ：増加コスト＝現車両対応タスクシーケンスに対する新規タスクシーケンス挿入による増分（移動）時間コスト
（２）ｃｏｓｔｄｉｓ：現積載物対応コスト＝（現在抱えているタスクのｌｏａｄ，ｕｎｌｏａｄ地点の重心と，追加するｌｏａｄ，ｕｎｌｏａｄの地点の距離平均）÷（車両の平均速度）
（３）ｃｏｓｔｎｏｗ：現タスク対応コスト＝現在抱えているタスクシーケンスが終了するまでの総時間コスト
【０２０３】
マッチングコストは、上記３つのコスト値の重み付け線形結合で算出する。
すなわち、マッチングコスト（ｃｏｓｔ）を以下の（式１）によって算出する。
ｃｏｓｔ＝ｗａｄｄ×ｃｏｓｔａｄｄ＋ｗｄｉｓ×ｃｏｓｔｄｉｓ＋ｗｎｏｗ×ｃｏｓｔｎｏｗ
・・・（式１）
なお、
ｗａｄｄは、ｃｏｓｔａｄｄに対する重み（乗算パラメータ）、
ｗｄｉｓは、ｃｏｓｔｄｉｓに対する重み（乗算パラメータ）、
ｗｎｏｗは、ｃｏｓｔｎｏｗに対する重み（乗算パラメータ）、
である。
【０２０４】
ステップＳ６０２において上記（式１）に従って、現時点の各車両に設定済みの車両対応タスクシーケンスに追加タスクシーケンスを追加挿入した場合のマッチングコスト（ｃｏｓｔ）、すなわち各車両対応のマッチングコストを算出する。
【０２０５】
ステップＳ１０３では、マッチングコストが最小となる車両を新規追加タスクシーケンスの追加対象として選択する。
【０２０６】
タスク管理サーバ１０１のタスク管理部１２２は、このようなコストマッチング処理により、新たなタスクシーケンスを割り当てる車両や、追加対象となる車両対応タスクシーケンスを決定する。
【０２０７】
図３１以下を参照して、具体的な処理例について説明する。
図３１には、以下の各データを示している。
（１）追加タスクシーケンス
（Ａ）Ａ車の車両対応タスクシーケンス
（Ｂ）Ｂ車の車両対応タスクシーケンス
【０２０８】
（１）追加タスクシーケンスは新たなリクエストに基づいて発生した追加タスクシーケンスである。この追加タスクシーケンスをＡ車、またはＢ車に割り当てることが必要であり、タスク管理サーバ１０１のタスク管理部１２２は、図３０を参照して説明したマッチングコスト算出を行い、Ａ車とＢ車のどちらに追加タスクシーケンスを割り当てた方が、コストが抑えられるかを判定して、よりコストの低い車両の車両対応タスクシーケンスに追加タスクシーケンスを挿入する。
【０２０９】
なお、Ａ車は現在、図３１（２）に示す車両対応タスクシーケンスを実行しており、Ｂ車は図３１（３）に示す車両対応タスクシーケンスを実行している。
【０２１０】
図３１の下部には、
（１）追加タスクシーケンス
（Ａ）Ａ車の車両対応タスクシーケンス
（Ｂ）Ｂ車の車両対応タスクシーケンス
これら３つのタスクシーケンスの具体的な処理シーケンスを示している。なお、各ノードに記載している（０，０）〜（４０，２０）等の記載は、地点Ｐからのｘ方向とｙ方向の距離（ｋｍ）を示している。例えばＰ８に示された（２０，１０）は、Ｐ８の位置がＰ１からｘ方向に２０ｋｍ、ｙ方向に１０ｋｍであることを示している。
【０２１１】
（１）追加タスクシーケンス＝ｌｏａｄ（Ｐ１，荷物Ｘ），ｍｏｖｅ（Ｐ２）．ｍｏｖｅ（Ｐ３）．ｍｏｖｅ（Ｐ４），ｍｏｖｅ（Ｐ９），ｍｏｖｅ（Ｐ１０），ｕｎｌｏａｄ（Ｐ１０，荷物Ｘ）は、
Ｐ１で荷物Ｘを搭載し、Ｐ２，Ｐ３，Ｐ４，Ｐ９，Ｐ１０と移動して、Ｐ１０で荷物Ｘを降ろすタスクシーケンスである。
【０２１２】
（Ａ）Ａ車の車両対応タスクシーケンス＝ｍｏｖｅ（Ｐ３），ｍｏｖｅ（Ｐ４），ｍｏｖｅ（Ｐ５），ｕｎｌｏａｄ（Ｐ５，荷物Ａ）は、Ｐ３，Ｐ４，Ｐ５と移動して、Ｐ５で荷物Ａを降ろすタスクシーケンスである。
【０２１３】
（Ｂ）Ｂ車の車両対応タスクシーケンス＝ｍｏｖｅ（Ｐ１２），ｕｎｌｏａｄ（Ｐ１２，荷物Ｂ），ｍｏｖｅ（Ｐ１１），ｌｏａｄ（Ｐ１１，荷物Ｃ），ｍｏｖｅ（Ｐ６），ｕｎｌｏａｄ（Ｐ６，荷物Ｃ）は、Ｐ１２へ移動して、Ｐ１２で荷物Ｂをおろし、Ｐ１１へ移動して、Ｐ１１で荷物Ｃを降ろして、Ｐ６へ移動して、Ｐ６で荷物Ｃを降ろすタスクシーケンスである。
【０２１４】
まず、Ａ車についてのマッチングコスト算出処理について、図３２、図３３を参照して説明する。
図３２の上段の表には、
（１）追加タスクシーケンス
（Ａ）Ａ車の車両対応タスクシーケンス
（ａ１）Ａ車のｃｏｓｔａｄｄ（増加コスト）
これらのデータを示している。
【０２１５】
（１）追加タスクシーケンスは、図３１を参照して説明した追加タカクシーケンスである。すなわち、
（１）追加タスクシーケンス＝ｌｏａｄ（Ｐ１，荷物Ｘ），ｍｏｖｅ（Ｐ２）．ｍｏｖｅ（Ｐ３）．ｍｏｖｅ（Ｐ４），ｍｏｖｅ（Ｐ９），ｍｏｖｅ（Ｐ１０），ｕｎｌｏａｄ（Ｐ１０，荷物Ｘ）であり、Ｐ１で荷物Ｘを搭載し、Ｐ２，Ｐ３，Ｐ４，Ｐ９，Ｐ１０と移動して、Ｐ１０で荷物Ｘを降ろすタスクシーケンスである。
【０２１６】
（Ａ）Ａ車の車両対応タスクシーケンスも、図３１を参照して説明したＡ車の車両対応タスクシーケンスである。Ａ車は、図３２下部に示すようにＰ２の位置にいる。この時点のＡ車の車両対応タスクシーケンスは以下の通りである。すなわち、
（Ａ）Ａ車の車両対応タスクシーケンス＝ｍｏｖｅ（Ｐ３），ｍｏｖｅ（Ｐ４），ｍｏｖｅ（Ｐ５），ｕｎｌｏａｄ（Ｐ５，荷物Ａ）は、Ｐ３，Ｐ４，Ｐ５と移動して、Ｐ５で荷物Ａを降ろすタスクシーケンスである。
【０２１７】
（ａ１）Ａ車のｃｏｓｔａｄｄ（増加コスト）は、先に図３０を参照して説明したように、増加コスト＝現車両対応タスクシーケンスに対する新規タスクシーケンス挿入による増分（移動）時間コストである。
【０２１８】
Ａ車の現車両対応タスクシーケンス、すなわち、図３２の表の（Ａ）に示すＡ車の車両対応タスクシーケンスに、追加タスクシーケンス、すなわち図３２の表の（１）に示す追加タスクシーケンスを追加すると、図３２表の（ａ１）に示すように、Ａ車の車両対応タスクシーケンスは以下のように更新される。
（ａ１）更新後のＡ車の車両対応タスクシーケンス＝ｍｏｖｅ（Ｐ３），ｍｏｖｅ（Ｐ４），ｍｏｖｅ（Ｐ５），ｕｎｌｏａｄ（Ｐ５，荷物Ａ），ｍｏｖｅ（Ｐ４），ｍｏｖｅ（Ｐ３），ｍｏｖｅ（Ｐ２），ｍｏｖｅ（Ｐ１），ｌｏａｄ（Ｐ１，荷物Ｘ），ｍｏｖｅ（Ｐ２）．ｍｏｖｅ（Ｐ３）．ｍｏｖｅ（Ｐ４），ｍｏｖｅ（Ｐ９），ｍｏｖｅ（Ｐ１０），ｕｎｌｏａｄ（Ｐ１０，荷物Ｘ）
【０２１９】
このシーケンスは、図３２の下段のマップに示すように、Ｐ２からＰ３，Ｐ４，Ｐ５と移動して、Ｐ５で荷物Ａを降ろし、その後、Ｐ４，Ｐ３，Ｐ２、Ｐ１と移動して、Ｐ１で荷物Ｘを載せて、その後、Ｐ２，Ｐ３，Ｐ４、Ｐ９、Ｐ１０と移動して、Ｐ１０で荷物Ｘを降ろすタスクシーケンスである。
【０２２０】
図３２の表中の
（Ａ）に示す、Ａ車の現車両対応タスクシーケンスと、
（ａ１）に示す、Ａ車の更新後の車両対応タスクシーケンス
これらのデータを用いて、Ａ車のｃｏｓｔａｄｄ（増加コスト）を算出する。
この処理について説明する。
Ａ車の速度を４０ｋｍとする。
【０２２１】
（Ａ）に示すＡ車の現車両対応タスクシーケンスから、（ａ１）に示すＡ車の更新後の車両対応タスクシーケンスに変更することで増加したタスクは以下の通りである。
（１）増加した移動（ｍｏｖｅ）タスク＝ｍｏｖｅ（Ｐ４），ｍｏｖｅ（Ｐ３），ｍｏｖｅ（Ｐ２），ｍｏｖｅ（Ｐ１）と，ｍｏｖｅ（Ｐ２）．ｍｏｖｅ（Ｐ３）．ｍｏｖｅ（Ｐ４），ｍｏｖｅ（Ｐ９），ｍｏｖｅ（Ｐ１０），
（２）増加した荷物上げ下ろし（ｌｏａｄ，ｕｎｌｏａｄ）タスク＝ｌｏａｄ（Ｐ１，荷物Ｘ）、ｕｎｌｏａｄ（Ｐ１０，荷物Ｘ）
【０２２２】
図３２に示す２つの隣接ノード間の距離はいずれも１０ｋｍであり、またＡ車の速度は４０ｋｍであるので、Ａ車による隣接ノード間の移動時間は１０／４０＝０．２５ｈ（ｈｏｕｒ）となる。
上記の「（１）増加した移動（ｍｏｖｅ）タスク」には９つの隣接ノード間移動が含まれるので、総移動時間は、
０．２５×９＝２．２５ｈ
となる。
また、荷物の搭載処理（ｌｏａｄ）と降ろす処理（ｕｎｌｏａｄ）に要する時間をそれぞれ０．２ｈとする。
結果として、図３２（Ａ）に示すＡ車の現車両対応タスクシーケンスから、（ａ１）に示すＡ車の更新後の車両対応タスクシーケンスに変更することで、タスク処理に必要な時間の増加分（＝ｃｏｓｔａｄｄ（増加コスト））は以下の式によって算出できる。
Ａ車のｃｏｓｔａｄｄ（増加コスト）＝移動（ｍｏｖｅ）タスク増加時間＋荷物搭載処理（ｌｏａｄ）タスク増加時間＋荷物降ろし処理（ｕｎｌｏａｄ）タスク増加時間
＝０．２５×９＋０．２＋０．２
＝２．６５
【０２２３】
次に、Ａ車のｃｏｓｔｄｉｓ（現積載物対応コスト）の算出処理について説明する。先に図３０を参照して説明したように、
ｃｏｓｔｄｉｓ（現積載物対応コスト）＝（現在抱えているタスクのｌｏａｄ，ｕｎｌｏａｄ地点の重心と，追加するｌｏａｄ，ｕｎｌｏａｄの地点の距離平均）÷（車両の平均速度）
である。
（現在抱えているタスクのｌｏａｄ，ｕｎｌｏａｄ地点の重心）について説明する。
（Ａ）Ａ車の車両対応タスクシーケンス＝ｍｏｖｅ（Ｐ３），ｍｏｖｅ（Ｐ４），ｍｏｖｅ（Ｐ５），ｕｎｌｏａｄ（Ｐ５，荷物Ａ）は、Ｐ３，Ｐ４，Ｐ５と移動して、Ｐ５で荷物Ａを降ろすタスクシーケンス、このタスクシーケンスにおいて、ｌｏａｄ，ｕｎｌｏａｄタスクは、ｕｎｌｏａｄ（Ｐ５，荷物Ａ）のみである。従って、
（現在抱えているタスクのｌｏａｄ，ｕｎｌｏａｄ地点の重心）はＰ５の位置であり、（４０，０）となる。
【０２２４】
（追加するｌｏａｄ地点）は、Ｐ１位置であり（０，０）
（追加するｕｎｌｏａｄ地点）は、Ｐ１０位置であり（４０，１０）
となる。
【０２２５】
（現在抱えているタスクのｌｏａｄ，ｕｎｌｏａｄ地点の重心（４０，０）と，追加するｌｏａｄ地点Ｐ１（０，０）の距離）は、４０ｋｍ、
（現在抱えているタスクのｌｏａｄ，ｕｎｌｏａｄ地点の重心（４０，０）と，追加するｕｎｌｏａｄ地点Ｐ１０（４０，１０）の距離）は、１０ｋｍ、
となる。従って、Ａ車のｃｏｓｔｄｉｓ（現積載物対応コスト）は、図３３（ａ２）に示すように、以下の式に従って計算することができる。
Ａ車のｃｏｓｔｄｉｓ（現積載物対応コスト）＝（現在抱えているタスクのｌｏａｄ，ｕｎｌｏａｄ地点の重心と，追加するｌｏａｄ，ｕｎｌｏａｄの地点の距離平均）÷（車両の平均速度）
＝（（４０＋１０）／２）／４０＝０．６２５
【０２２６】
次に、Ａ車のｃｏｓｔｎｏｗ（現タスク対応コスト）について説明する。
先に図３０を参照して説明したように、
ｃｏｓｔｎｏｗ（現タスク対応コスト）＝現在抱えているタスクシーケンスが終了するまでの総時間コスト
である。
【０２２７】
現在抱えているタスクシーケンスは、図３２、図３３に示す（Ａ）Ａ車の車両対応タスクシーケンスであり、
Ａ車の車両対応タスクシーケンス＝ｍｏｖｅ（Ｐ３），ｍｏｖｅ（Ｐ４），ｍｏｖｅ（Ｐ５），ｕｎｌｏａｄ（Ｐ５，荷物Ａ）である。すなわち、Ｐ３，Ｐ４，Ｐ５と移動して、Ｐ５で荷物Ａを降ろすタスクシーケンスである。
【０２２８】
この現在抱えているタスクシーケンスは移動（ｍｏｖｅ）タスクが１０ｋｍの隣接ノード間の移動が３つ、荷物上げ下ろし（ｌｏａｄまたはｕｎｌｏａｄ）が１回である。１０ｋｍの隣接ノード間の移動が３つ実行するための時間器走行速度＝４０ｋｍの場合、
（３×１０）／４０＝０．７５ｈである。
また、荷物上げ下ろし（ｌｏａｄまたはｕｎｌｏａｄ）１回の所要時間は０．２ｈである。
従って、Ａ車が現在抱えている車両対応タスクシーケンスのタスクが終了するまでの総時間コスト、すなわち、ｃｏｓｔｎｏｗ（現タスク対応コスト）は、図３３（ａ３）に示すように、以下の式によって算出することができる。
ｃｏｓｔｎｏｗ（現タスク対応コスト）＝（３×１０）／４０＋０．２＝０．９５
【０２２９】
先に図３０を参照して説明したように、マッチングコストは、上記３つのコスト値の重み付け線形結合で算出する。
すなわち、マッチングコスト（ｃｏｓｔ）は以下の（式１）によって算出される。
ｃｏｓｔ＝ｗａｄｄ×ｃｏｓｔａｄｄ＋ｗｄｉｓ×ｃｏｓｔｄｉｓ＋ｗｎｏｗ×ｃｏｓｔｎｏｗ
・・・（式１）
なお、
ｗａｄｄは、ｃｏｓｔａｄｄに対する重み（乗算パラメータ）、
ｗｄｉｓは、ｃｏｓｔｄｉｓに対する重み（乗算パラメータ）、
ｗｎｏｗは、ｃｏｓｔｎｏｗに対する重み（乗算パラメータ）、
である。
【０２３０】
ここで、図３３（ａ４）に示すように、各コスト対応の重み係数を全て１、すなわち、
ｗａｄｄ＝ｗｄｉｓ＝ｗｎｏｗ＝１
とする。この設定とすると、Ａ車のマッチングコスト（ｃｏｓｔ）は以下の式（によって算出される。
ｃｏｓｔ＝ｗａｄｄ×ｃｏｓｔａｄｄ＋ｗｄｉｓ×ｃｏｓｔｄｉｓ＋ｗｎｏｗ×ｃｏｓｔｎｏｗ
＝１×２．６５＋１×０．６２５＋１×０．９５
＝４．２２５・・・（式Ａ）
【０２３１】
図３３（Ａ）に示す現在のＡ車の車両対応タスクシーケンスに、図３３（１）に示す追加タスクシーケンスを追加した場合のＡ車のマッチングコスト（ｃｏｓｔ）は、上記（式Ａ）に従って算出される値、４．２２５となる。
【０２３２】
次に、Ｂ車についてのマッチングコスト算出処理について、図３４、図３５を参照して説明する。
図３４の上段の表には、
（１）追加タスクシーケンス
（Ｂ）Ｂ車の車両対応タスクシーケンス
（ｂ１）Ｂ車のｃｏｓｔａｄｄ（増加コスト）
これらのデータを示している。
【０２３３】
（１）追加タスクシーケンスは、図３１を参照して説明した追加タカクシーケンスである。すなわち、
（１）追加タスクシーケンス＝ｌｏａｄ（Ｐ１，荷物Ｘ），ｍｏｖｅ（Ｐ２）．ｍｏｖｅ（Ｐ３）．ｍｏｖｅ（Ｐ４），ｍｏｖｅ（Ｐ９），ｍｏｖｅ（Ｐ１０），ｕｎｌｏａｄ（Ｐ１０，荷物Ｘ）であり、Ｐ１で荷物Ｘを搭載し、Ｐ２，Ｐ３，Ｐ４，Ｐ９，Ｐ１０と移動して、Ｐ１０で荷物Ｘを降ろすタスクシーケンスである。
【０２３４】
（Ｂ）Ｂ車の車両対応タスクシーケンスも、図３１を参照して説明したＢ車の車両対応タスクシーケンスである。Ｂ車は、図３４下部に示すようにＰ１３の位置にいる。この時点のＢ車の車両対応タスクシーケンスは以下の通りである。すなわち、
（Ｂ）Ｂ車の車両対応タスクシーケンス＝ｍｏｖｅ（Ｐ１２），ｕｎｌｏａｄ（Ｐ１２，荷物Ｂ），ｍｏｖｅ（Ｐ１１），ｌｏａｄ（Ｐ１１，荷物Ｃ），ｍｏｖｅ（Ｐ６），ｕｎｌｏａｄ（Ｐ６，荷物Ｃ）は、Ｐ１２へ移動して、Ｐ１２で荷物Ｂをおろし、Ｐ１１へ移動して、Ｐ１１で荷物Ｃを降ろして、Ｐ６へ移動して、Ｐ６で荷物Ｃを降ろすタスクシーケンスである。
【０２３５】
（ｂ１）Ｂ車のｃｏｓｔａｄｄ（増加コスト）は、先に図３０を参照して説明したように、増加コスト＝現車両対応タスクシーケンスに対する新規タスクシーケンス挿入による増分（移動）時間コストである。
【０２３６】
Ｂ車の現車両対応タスクシーケンス、すなわち、図３４の表の（Ｂ）に示すＢ車の車両対応タスクシーケンスに、追加タスクシーケンス、すなわち図３４の表の（１）に示す追加タスクシーケンスを追加すると、図３４表の（ｂ１）に示すように、Ｂ車の車両対応タスクシーケンスは以下のように更新される。
（ｂ１）更新後のＢ車の車両対応タスクシーケンス＝ｍｏｖｅ（Ｐ１２），ｕｎｌｏａｄ（Ｐ１２，荷物Ｂ），ｍｏｖｅ（Ｐ１１），ｌｏａｄ（Ｐ１１，荷物Ｃ），ｍｏｖｅ（Ｐ６），ｕｎｌｏａｄ（Ｐ６，荷物Ｃ）ｍｏｖｅ（Ｐ１），ｌｏａｄ（Ｐ１，荷物Ｘ），ｍｏｖｅ（Ｐ２）．ｍｏｖｅ（Ｐ３）．ｍｏｖｅ（Ｐ４），ｍｏｖｅ（Ｐ９），ｍｏｖｅ（Ｐ１０），ｕｎｌｏａｄ（Ｐ１０，荷物Ｘ）
【０２３７】
このシーケンスは、図３４の下段のマップに示すように、Ｐ１３からＰ１２，Ｐ１１と移動して、Ｐ１１で荷物Ｃを降ろし、その後、Ｐ６，Ｐ１と移動して、Ｐ１で荷物Ｘを載せて、その後、Ｐ２，Ｐ３，Ｐ４、Ｐ９、Ｐ１０と移動して、Ｐ１０で荷物Ｘを降ろすタスクシーケンスである。
【０２３８】
図３４の表中の
（Ｂ）に示す、Ｂ車の現車両対応タスクシーケンスと、
（ｂ１）に示す、Ｂ車の更新後の車両対応タスクシーケンス
これらのデータを用いて、Ｂ車のｃｏｓｔａｄｄ（増加コスト）を算出する。
この処理について説明する。
Ｂ車の速度を４０ｋｍとする。
【０２３９】
（Ｂ）に示すＢ車の現車両対応タスクシーケンスから、（ｂ１）に示すＢ車の更新後の車両対応タスクシーケンスに変更することで増加したタスクは以下の通りである。
（１）増加した移動（ｍｏｖｅ）タスク＝ｍｏｖｅ（Ｐ１）と，ｍｏｖｅ（Ｐ２）．ｍｏｖｅ（Ｐ３）．ｍｏｖｅ（Ｐ４），ｍｏｖｅ（Ｐ９），ｍｏｖｅ（Ｐ１０），
（２）増加した荷物上げ下ろし（ｌｏａｄ，ｕｎｌｏａｄ）タスク＝ｌｏａｄ（Ｐ１，荷物Ｘ）、ｕｎｌｏａｄ（Ｐ１０，荷物Ｘ）
【０２４０】
図３４に示す２つの隣接ノード間の距離はいずれも１０ｋｍであり、またＢ車の速度は４０ｋｍであるので、Ｂ車による隣接ノード間の移動時間は１０／４０＝０．２５ｈ（ｈｏｕｒ）となる。
上記の「（１）増加した移動（ｍｏｖｅ）タスク」には６つの隣接ノード間移動が含まれるので、総移動時間は、
０．２５×６＝１．５ｈ
となる。
また、荷物の搭載処理（ｌｏａｄ）と降ろす処理（ｕｎｌｏａｄ）に要する時間をそれぞれ０．２ｈとする。
結果として、図３４（Ｂ）に示すＢ車の現車両対応タスクシーケンスから、（ｂ１）に示すＢ車の更新後の車両対応タスクシーケンスに変更することで、タスク処理に必要な時間の増加分（＝ｃｏｓｔａｄｄ（増加コスト））は以下の式によって算出できる。
Ｂ車のｃｏｓｔａｄｄ（増加コスト）＝移動（ｍｏｖｅ）タスク増加時間＋荷物搭載処理（ｌｏａｄ）タスク増加時間＋荷物降ろし処理（ｕｎｌｏａｄ）タスク増加時間
＝０．２５×６＋０．２＋０．２
＝１．９
【０２４１】
次に、Ｂ車のｃｏｓｔｄｉｓ（現積載物対応コスト）の算出処理について説明する。先に図３０を参照して説明したように、
ｃｏｓｔｄｉｓ（現積載物対応コスト）＝（現在抱えているタスクのｌｏａｄ，ｕｎｌｏａｄ地点の重心と，追加するｌｏａｄ，ｕｎｌｏａｄの地点の距離平均）÷（車両の平均速度）
である。
（現在抱えているタスクのｌｏａｄ，ｕｎｌｏａｄ地点の重心）について説明する。
（Ｂ）Ｂ車の車両対応タスクシーケンス＝ｍｏｖｅ（Ｐ１２），ｕｎｌｏａｄ（Ｐ１２，荷物Ｂ），ｍｏｖｅ（Ｐ１１），ｌｏａｄ（Ｐ１１，荷物Ｃ），ｍｏｖｅ（Ｐ６），ｕｎｌｏａｄ（Ｐ６，荷物Ｃ）は、Ｐ１２へ移動して、Ｐ１２で荷物Ｂをおろし、Ｐ１１へ移動して、Ｐ１１で荷物Ｃを降ろして、Ｐ６へ移動して、Ｐ６で荷物Ｃを降ろすタスクシーケンス、このタスクシーケンスにおいて、ｌｏａｄ，ｕｎｌｏａｄタスクは、ｕｎｌｏａｄ（Ｐ１２，荷物Ｂ），ｌｏａｄ（Ｐ１１，荷物Ｃ），ｕｎｌｏａｄ（Ｐ６，荷物Ｃ）、これらの３つのタスクである。
【０２４２】
従って、（現在抱えているタスクのｌｏａｄ，ｕｎｌｏａｄ地点の重心）は、図３４の下部のマップに示すように、Ｐ１２とＰ１１と、Ｐ６の３点の重心位置であり、（３．３３，１６．６７）となる。
【０２４３】
（追加するｌｏａｄ地点）は、Ｐ１位置であり（０，０）
（追加するｕｎｌｏａｄ地点）は、Ｐ１０位置であり（４０，１０）
となる。
【０２４４】
（現在抱えているタスクのｌｏａｄ，ｕｎｌｏａｄ地点の重心（３．３３，１６．６７）と，追加するｌｏａｄ地点Ｐ１（０，０）の距離）は、約１７ｋｍ、
（現在抱えているタスクのｌｏａｄ，ｕｎｌｏａｄ地点の重心（３．３３，１６．６７）と，追加するｕｎｌｏａｄ地点Ｐ１０（４０，１０）の距離）は、約３７ｋｍ、
となる。従って、Ｂ車のｃｏｓｔｄｉｓ（現積載物対応コスト）は、図３５（ｂ２）に示すように、以下の式に従って計算することができる。
Ｂ車のｃｏｓｔｄｉｓ（現積載物対応コスト）＝（現在抱えているタスクのｌｏａｄ，ｕｎｌｏａｄ地点の重心と，追加するｌｏａｄ，ｕｎｌｏａｄの地点の距離平均）÷（車両の平均速度）
＝（（１７＋３７）／２）／４０＝２７
【０２４５】
次に、Ｂ車のｃｏｓｔｎｏｗ（現タスク対応コスト）について説明する。
先に図３０を参照して説明したように、
ｃｏｓｔｎｏｗ（現タスク対応コスト）＝現在抱えているタスクシーケンスが終了するまでの総時間コスト
である。
【０２４６】
現在抱えているタスクシーケンスは、図３４、図３５に示す（Ｂ）Ｂ車の車両対応タスクシーケンスであり、
Ｂ車の車両対応タスクシーケンス＝ｍｏｖｅ（Ｐ１２），ｕｎｌｏａｄ（Ｐ１２，荷物Ｂ），ｍｏｖｅ（Ｐ１１），ｌｏａｄ（Ｐ１１，荷物Ｃ），ｍｏｖｅ（Ｐ６），ｕｎｌｏａｄ（Ｐ６，荷物Ｃ）は、Ｐ１２へ移動して、Ｐ１２で荷物Ｂをおろし、Ｐ１１へ移動して、Ｐ１１で荷物Ｃを降ろして、Ｐ６へ移動して、Ｐ６で荷物Ｃを降ろすタスクシーケンスである。
【０２４７】
この現在抱えているタスクシーケンスは移動（ｍｏｖｅ）タスクが１０ｋｍの隣接ノード間の移動が３つ、荷物上げ下ろし（ｌｏａｄまたはｕｎｌｏａｄ）が３回である。１０ｋｍの隣接ノード間の移動が３つ実行するための時間器走行速度＝４０ｋｍの場合、
（３×１０）／４０＝０．７５ｈである。
また、荷物上げ下ろし（ｌｏａｄまたはｕｎｌｏａｄ）１回の所要時間は０．２ｈである。
従って、Ｂ車が現在抱えている車両対応タスクシーケンスのタスクが終了するまでの総時間コスト、すなわち、ｃｏｓｔｎｏｗ（現タスク対応コスト）は、図３５（ｂ３）に示すように、以下の式によって算出することができる。
ｃｏｓｔｎｏｗ（現タスク対応コスト）＝（３×１０）／４０＋０．２×３＝１．３５
【０２４８】
先に図３０を参照して説明したように、マッチングコストは、上記３つのコスト値の重み付け線形結合で算出する。
すなわち、マッチングコスト（ｃｏｓｔ）は以下の（式１）によって算出される。
ｃｏｓｔ＝ｗａｄｄ×ｃｏｓｔａｄｄ＋ｗｄｉｓ×ｃｏｓｔｄｉｓ＋ｗｎｏｗ×ｃｏｓｔｎｏｗ
・・・（式１）
なお、
ｗａｄｄは、ｃｏｓｔａｄｄに対する重み（乗算パラメータ）、
ｗｄｉｓは、ｃｏｓｔｄｉｓに対する重み（乗算パラメータ）、
ｗｎｏｗは、ｃｏｓｔｎｏｗに対する重み（乗算パラメータ）、
である。
【０２４９】
ここで、図３５（ｂ４）に示すように、各コスト対応の重み係数を全て１、すなわち、
ｗａｄｄ＝ｗｄｉｓ＝ｗｎｏｗ＝１
とする。この設定とすると、Ｂ車のマッチングコスト（ｃｏｓｔ）は以下の式（によって算出される。
ｃｏｓｔ＝ｗａｄｄ×ｃｏｓｔａｄｄ＋ｗｄｉｓ×ｃｏｓｔｄｉｓ＋ｗｎｏｗ×ｃｏｓｔｎｏｗ
＝１×１．９＋１×０．６８＋１×１．３５
＝３．９３・・・（式Ｂ）
【０２５０】
図３５（Ｂ）に示す現在のＢ車の車両対応タスクシーケンスに、図３５（１）に示す追加タスクシーケンスを追加した場合のＢ車のマッチングコスト（ｃｏｓｔ）は、上記（式Ｂ）に従って算出される値、３．９３となる。
【０２５１】
先に、図３２、図３３を参照して説明したマッチングコスト（ｃｏｓｔ）は、先に説明した（式Ａ）に従って算出される値、４．２２５であり、Ｂ車のマッチングコスト（ｃｏｓｔ）が、Ａ車のマッチングコスト（ｃｏｓｔ）より小さい値となる。
タスク管理サーバ１０１のたすく管理部１２２は、この結果に基づいて、マッチングコストの低いＢ車に、追加タスクシーケンスが割り当てる処理を実行する。
【０２５２】
なお、図３１〜図３５を参照して説明した実施例では、各コスト対応の重み係数を全て１、すなわち、
ｗａｄｄ＝ｗｄｉｓ＝ｗｎｏｗ＝１
このような設定でマッチングコストの算出処理を行った。
これらの重み係数は、状況に応じて様々な設定が可能である。
例えば天候や、交通状況などのデータに基づく学習処理を行い、学習結果に基づいて最適なパラメータ（重み係数）の設定を行うことが好ましい。
【０２５３】
重み係数の設定によって、Ａ車とＢ車のマッチングコストは様々な値に変化する。この具体例を図３６に示す。
図３６には、各コスト対応の重み係数の５種類の設定例、すなわち、以下の各設定例を示している。
（１）ｗａｄｄ＝ｗｄｉｓ＝ｗｎｏｗ＝１
（２）ｗａｄｄ＝２、ｗｄｉｓ＝ｗｎｏｗ＝１
（３）ｗａｄｄ＝１、ｗｄｉｓ＝２、ｗｎｏｗ＝１
（４）ｗａｄｄ＝ｗｄｉｓ＝１、ｗｎｏｗ＝１
（５）ｗａｄｄ＝１、ｗｄｉｓ＝ｗｎｏｗ＝２
【０２５４】
図３１に示す追加タスクシーケンスを、図３１に示すＡ車、Ｂ車に追加した場合のマッチングコストの算出に際して、上記（１）〜（５）の設定を適用した場合のＡ車、Ｂ車のマッチングコストは図３６に示すように以下のようになる。
【０２５５】
（１）ｗａｄｄ＝ｗｄｉｓ＝ｗｎｏｗ＝１
Ａ車のマッチングコスト＝４．２２５、Ｂ車のマッチングコスト＝３．９３、
（２）ｗａｄｄ＝２、ｗｄｉｓ＝ｗｎｏｗ＝１
Ａ車のマッチングコスト＝６．８７５、Ｂ車のマッチングコスト＝５．８３、
（３）ｗａｄｄ＝１、ｗｄｉｓ＝２、ｗｎｏｗ＝１
Ａ車のマッチングコスト＝４．８５、Ｂ車のマッチングコスト＝４．６１、
（４）ｗａｄｄ＝ｗｄｉｓ＝１、ｗｎｏｗ＝１
Ａ車のマッチングコスト＝５．１７５、Ｂ車のマッチングコスト＝５．２８、
（５）ｗａｄｄ＝１、ｗｄｉｓ＝ｗｎｏｗ＝２
Ａ車のマッチングコスト＝５．８、Ｂ車のマッチングコスト＝５．９６、
このように、パラメータ（重み係数）の設定により、各車対応のマッチングコストは様々な値に変化する。
【０２５６】
従って、前述したように、例えば天候や、交通状況などのデータに基づく学習処理を行い、学習結果に基づいて最適なパラメータ（重み係数）の設定を行うことが好ましい。
また、上述した例では、荷物の搭載処理（ｌｏａｄ）と降ろす処理（ｕｎｌｏａｄ）に要するコストとして算出している時間を一律０．２ｈとしているが、例えば荷物の重さ等を反映させた時間コストを設定するようにしてもよい。
【０２５７】
［８．情報処理装置の構成例について］
次に、上述した処理を実行する情報処理装置、すなわち例えばタスク管理サーバ１０１、あるいは車両等の移動装置内に装着可能な情報処理装置の具体的なハードウェア構成例について、図３７を参照して説明する。
【０２５８】
図３７は情報処理装置のハードウェア構成例を示す図である。
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２、または記憶部３０８に記憶されているプログラムに従って各種の処理を実行するデータ処理部として機能する。例えば、上述した実施例において説明したシーケンスに従った処理を実行する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３には、ＣＰＵ３０１が実行するプログラムやデータなどが記憶される。これらのＣＰＵ３０１、ＲＯＭ３０２、およびＲＡＭ３０３は、バス３０４により相互に接続されている。
【０２５９】
ＣＰＵ３０１はバス３０４を介して入出力インタフェース３０５に接続され、入出力インタフェース３０５には、各種スイッチ、キーボード、タッチパネル、マウス、マイクロフォン、さらに、センサ、カメラ、ＧＰＳ等の状況データ取得部などよりなる入力部３０６、ディスプレイ、スピーカなどよりなる出力部３０７が接続されている。
【０２６０】
ＣＰＵ３０１は、入力部３０６から入力される指令や状況データ等を入力し、各種の処理を実行し、処理結果を例えば出力部３０７に出力する。
入出力インタフェース３０５に接続されている記憶部３０８は、例えばハードディスク等からなり、ＣＰＵ３０１が実行するプログラムや各種のデータを記憶する。通信部３０９は、インターネットやローカルエリアネットワークなどのネットワークを介したデータ通信の送受信部として機能し、外部の装置と通信する。
【０２６１】
入出力インタフェース３０５に接続されているドライブ３１０は、磁気ディスク、光ディスク、光磁気ディスク、あるいはメモリカード等の半導体メモリなどのリムーバブルメディア３１１を駆動し、データの記録あるいは読み取りを実行する。
【０２６２】
［９．本開示の構成のまとめ］
以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０２６３】
なお、本明細書において開示した技術は、以下のような構成をとることができる。
（１）  移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むデータであるタスクとして記述し、各タスクを時系列に並べたタスクシーケンスを生成し、さらに、
生成したタスクシーケンスに基づいて、各移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスを生成するタスク管理部を有し、
前記タスク管理部は、
処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスに含まれるタスクを、移動装置において実行中の移動装置対応タスクシーケンスに挿入する移動装置対応タスクシーケンス更新処理を実行する情報処理装置。
【０２６４】
（２）  前記タスク管理部は、
処理実行要求であるリクエストに基づいて、該リクエストを実行するための１つ以上のタスクシーケンスを生成し、
生成したタスクシーケンスを、１つ以上の移動装置に割り当てて、移動装置対応の移動装置対応タスクシーケンスを生成する（１）に記載の情報処理装置。
【０２６５】
（３）  前記タスク管理部は、
処理コストが最小となる移動装置対応タスクシーケンスを生成する（１）または（２）に記載の情報処理装置。
【０２６６】
（４）  前記タスク管理部は、
移動処理と、荷物または人を乗せる処理と、荷物または人を降ろす処理と、待機処理とを区別したタスクを生成する（１）〜（３）いずれかに記載の情報処理装置。
【０２６７】
（５）  前記タスク管理部は、
前記移動装置対応タスクシーケンス更新処理において、
処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスから移動処理を削除して、その他の処理の実行ノード位置と、移動装置において実行中の移動装置対応タスクシーケンス中の各タスクのノード位置とを比較して、一致するノード位置を持つタスクの隣接位置に、前記追加タスクシーケンス中の移動処理以外のタスクを挿入する（１）〜（４）いずれかに記載の情報処理装置。
【０２６８】
（６）  前記タスク管理部は、
前記移動装置対応タスクシーケンス更新処理において、
挿入タスクのノード位置と、該挿入タスクに隣接するタスクのノード位置間を移動させるための移動タスクを挿入する（５）に記載の情報処理装置。
【０２６９】
（７）  前記タスク管理部は、
予め規定されたコスト算出アルゴリズムに従って、各移動装置対応のマッチングコストを算出し、算出した各移動装置対応のマッチングコストに基づいて、タスクシーケンスを割り当てる移動装置を決定する（１）〜（６）いずれかに記載の情報処理装置。
【０２７０】
（８）  前記タスク管理部は、
（ａ）各移動装置に対するタスクシーケンスの追加によって発生する処理時間の増加コストであるｃｏｓｔａｄｄ、
（ｂ）現時点の移動装置対応タスク中の積載物対応コストであるｃｏｓｔｄｉｓ、
（ｃ）現時点の移動装置対応タスクシーケンスが終了するまでの時間に相当する現タスク対応コストｃｏｓｔｎｏｗ、
上記（ａ），（ｂ），（ｃ）の各コストに基づく演算処理により、前記マッチングコストを算出する（７）に記載の情報処理装置。
【０２７１】
（９）  前記タスク管理部は、
前記（ａ），（ｂ），（ｃ）の各コストに予め規定した重み係数を乗算し、各乗算結果を加算することで、前記マッチングコストを算出する（８）に記載の情報処理装置。
【０２７２】
（１０）  前記重み係数は、予め実行された学習処理によって決定される係数である（９）に記載の情報処理装置。
【０２７３】
（１１）  前記タスク管理部は、
タスクの優先度に基づいて、タスクシーケンスを割り当てる移動装置を決定する（１）〜（１０）いずれかに記載の情報処理装置。
【０２７４】
（１２）  前記タスク管理部は、
各タスクに優先度情報を記録したタスクを生成する（１）〜（１１）いずれかに記載の情報処理装置。
【０２７５】
（１３）  移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスに従った処理を実行する移動装置であり、
前記移動装置対応タスクシーケンスは、前記移動装置、または外部サーバにおいて生成されたシーケンスであり、前記移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むタスクを時系列に並べたタスクシーケンスであり、
前記移動装置は、
新たな追加タスクシーケンスが発生した場合、該追加タスクシーケンスに含まれるタスクを前記移動装置対応タスクシーケンスに挿入した更新移動装置対応タスクシーケンスを実行する移動装置。
【０２７６】
（１４）  前記移動装置対応タスクシーケンスは、
処理実行要求であるリクエストを実行するために生成された１つ以上のタスクシーケンスに基づいて、処理コスト、またはタスク優先度に従って生成されたシーケンスである（１３）に記載の移動装置。
【０２７７】
（１５）  処理実行要求であるリクエストを送信する端末と、前記端末からリクエストを受信するタスク管理サーバと、処理を実行する移動装置を有する情報処理システムであり、
前記タスク管理サーバは、
前記リクエストに応じて、前記移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むデータであるタスクとして記述し、各タスクを時系列に並べた各移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスを生成するとともに、
処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスに含まれるタスクを移動装置において実行中の移動装置対応タスクシーケンスに挿入して更新移動装置対応タスクシーケンスを生成し、
前記移動装置は、
前記追加タスクシーケンスに含まれるタスクを有する更新移動装置対応タスクシーケンスに従って処理を実行する情報処理システム。
【０２７８】
（１６）  情報処理装置において実行する情報処理方法であり、
タスク管理部が、
移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むデータであるタスクとして記述し、各タスクを時系列に並べたタスクシーケンスを生成するタスクシーケンス生成ステップと、
生成したタスクシーケンスに基づいて、各移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスを生成する移動装置対応タスクシーケンス生成ステップを実行し、
前記移動装置対応タスクシーケンス生成ステップにおいて、
処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスに含まれるタスクを、移動装置において実行中の移動装置対応タスクシーケンスに挿入する移動装置対応タスクシーケンス更新処理を実行する情報処理方法。
【０２７９】
（１７）  情報処理装置において情報処理を実行させるプログラムであり、
タスク管理部に、
移動装置の移動経路上に設定された登録ノード間の移動処理と、登録ノードでの処理について、ノード識別子と処理種類を含むデータであるタスクとして記述し、各タスクを時系列に並べたタスクシーケンスを生成させるタスクシーケンス生成ステップと、
生成したタスクシーケンスに基づいて、各移動装置対応のタスクシーケンスである移動装置対応タスクシーケンスを生成させる移動装置対応タスクシーケンス生成ステップを実行させ、
前記移動装置対応タスクシーケンス生成ステップにおいて、
処理実行要求であるリクエストに基づいて生成した新たな追加タスクシーケンスに含まれるタスクを、移動装置において実行中の移動装置対応タスクシーケンスに挿入する移動装置対応タスクシーケンス更新処理を実行させるプログラム。
【０２８０】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０２８１】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０２８２】
以上、説明したように、本開示の一実施例の構成によれば、ノードのノード識別子と処理種類を記録したタスクシーケンスを生成し、さらに追加タスクの発生に応じて動的にタスクシーケンスを更新して移動装置に実行させることで、無駄のないタスクシーケンスの生成とタスク処理を可能とする構成が実現される。
具体的には、例えば、登録ノード間の移動処理と登録ノードでの処理について、ノード識別子と処理種類を含むタスクを時系列に並べたタスクシーケンスを生成し、さらに、各移動装置対応の移動装置対応タスクシーケンスを生成する。新たな追加タスクシーケンスが発生した場合、そこに含まれるタスクを既存の移動装置対応タスクシーケンスに挿入する移動装置対応タスクシーケンス更新処理を実行する。
本構成により、ノードのノード識別子と処理種類を記録したタスクシーケンスを生成し、さらに追加タスクの発生に応じて動的にタスクシーケンスを更新して移動装置に実行させることで、無駄のないタスクシーケンスの生成とタスク処理を可能とする構成が実現される。
【符号の説明】
【０２８３】
１０  配送車両
１１，１２  目的地
１０１  タスク管理サーバ
１０２  ユーザ端末
１０３  車両
１０５  ネットワーク
１２１  リクエスト処理部
１２２  タスク管理部
１２３  車両管理部
１２４  通信部
１３１  リクエストＤＢ（データベース）
１３２  タスクＤＢ（データベース）
１３３  車両ＤＢ（データベース）
１３４  地図ＤＢ（データベース）
３０１  ＣＰＵ
３０２  ＲＯＭ
３０３  ＲＡＭ
３０４  バス
３０５  入出力インタフェース
３０６  入力部
３０７  出力部
３０８  記憶部
３０９  通信部
３１０  ドライブ
３１１  リムーバブルメディア
【図１】
2020003988.tif 000003
【図２】
2020003988.tif 000004
【図３】
2020003988.tif 000005
【図４】
2020003988.tif 000006
【図５】
2020003988.tif 000007
【図６】
2020003988.tif 000008
【図７】
2020003988.tif 000009
【図８】
2020003988.tif 000010
【図９】
2020003988.tif 000011
【図１０】
2020003988.tif 000012
【図１１】
2020003988.tif 000013
【図１２】
2020003988.tif 000014
【図１３】
2020003988.tif 000015
【図１４】
2020003988.tif 000016
【図１５】
2020003988.tif 000017
【図１６】
2020003988.tif 000018
【図１７】
2020003988.tif 000019
【図１８】
2020003988.tif 000020
【図１９】
2020003988.tif 000021
【図２０】
2020003988.tif 000022
【図２１】
2020003988.tif 000023
【図２２】
2020003988.tif 000024
【図２３】
2020003988.tif 000025
【図２４】
2020003988.tif 000026
【図２５】
2020003988.tif 000027
【図２６】
2020003988.tif 000028
【図２７】
2020003988.tif 000029
【図２８】
2020003988.tif 000030
【図２９】
2020003988.tif 000031
【図３０】
2020003988.tif 000032
【図３１】
2020003988.tif 000033
【図３２】
2020003988.tif 000034
【図３３】
2020003988.tif 000035
【図３４】
2020003988.tif 000036
【図３５】
2020003988.tif 000037
【図３６】
2020003988.tif 000038
【図３７】
2020003988.tif 000039
【国際調査報告】
2020003988.tif 000040
2020003988.tif 000041