(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-12
(54)【発明の名称】反対交通を横切る方向転換の動的選択による車両ルーティング
(51)【国際特許分類】
G01C 21/34 20060101AFI20240705BHJP
G08G 1/123 20060101ALI20240705BHJP
【FI】
G01C21/34
G08G1/123 A
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024500333
(86)(22)【出願日】2022-06-01
(85)【翻訳文提出日】2024-01-05
(86)【国際出願番号】 US2022031719
(87)【国際公開番号】W WO2023282997
(87)【国際公開日】2023-01-12
(32)【優先日】2021-07-07
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502303739
【氏名又は名称】オラクル・インターナショナル・コーポレイション
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ファント・ベストインデ,チャールズ・ピーテル
(72)【発明者】
【氏名】ミジーナ,スベトラーナ
【テーマコード(参考)】
2F129
5H181
【Fターム(参考)】
2F129AA06
2F129BB03
2F129DD13
2F129DD14
2F129DD15
2F129DD19
2F129DD35
2F129DD62
2F129EE02
2F129EE52
2F129EE78
2F129EE79
2F129EE80
2F129EE81
2F129FF02
2F129FF11
2F129FF15
2F129FF20
2F129FF32
2F129FF62
2F129FF63
2F129FF64
2F129FF65
2F129HH02
2F129HH04
2F129HH12
2F129HH18
2F129HH19
2F129HH20
2F129HH35
5H181AA15
5H181BB03
5H181BB13
5H181FF13
5H181FF14
5H181FF22
5H181FF27
5H181MA42
(57)【要約】
本明細書においては、反対交通を横切る方向転換の動的選択による車両ルートのスケジューリングおよびナビゲーションのためのシステム、方法、および他の実施形態が提示される。一実施形態において、方法は、道路網を表すグラフのノードを通る到着リンクからの車両ルートの策定中に、出発リンクについて、到着リンクから出発リンクへの車両の経路が対向交通を横断すると判定することと、車両の経路が対向交通を横断するとの判定に応答して、車両ルートを表すルート目的関数に出発リンクの付加的な遅延を追加することと、対向交通を横断する経路を含むルートを第1の場所と第2の場所との間の最適ルートとして選択することと、最適ルートを車両の配送スケジュールに含めることと、実行のために配送スケジュールを送信することと、を含む。
【特許請求の範囲】
【請求項1】
コンピュータの少なくとも1つのプロセッサによって実行されると、
道路網を表すグラフのノードを通る到着リンクからの車両ルートの策定中に、
出発リンクについて、前記到着リンクから前記出発リンクへの前記車両の経路が対向交通を横断すると判定することと、
前記車両の前記経路が対向交通を横断するとの判定に応答して、前記車両ルートを表すルート目的関数に前記出発リンクの付加的な推定遅延を追加することと、
対向交通を横断する前記経路を含む前記ルートを第1の場所と第2の場所との間の最適ルートとして選択することと、
前記最適ルートを前記車両の配送スケジュールの一部として含めることと、
実行のために前記配送スケジュールを送信することと、
を前記コンピュータに行わせるコンピュータ実行可能命令が格納されている非一時的コンピュータ可読媒体。
【請求項2】
前記命令は、
前記対向交通が交通量は少ないか否かを判定することと、
(i)前記対向交通が交通量は少ない場合は、予め設定されている標準遅延となるように、(ii)前記対向交通が交通量は少なくない場合は、推定交通密度に基づく遅延の動的生成尺度となるように、前記付加的な推定遅延を制御することと、
を前記コンピュータにさらに行わせる、請求項1に記載の非一時的コンピュータ可読媒体。
【請求項3】
前記出発リンクの付加的な推定遅延を前記コンピュータに追加させる前記命令は、(i)前記推定遅延となる交通横断の方向転換の予め設定されている標準遅延を取得すること、または(ii)前記対向交通の履歴速度および速度制限に少なくとも部分的に基づいて前記付加的な推定遅延を計算すること、のいずれかを前記コンピュータに行わせる命令を含む、請求項1に記載の非一時的コンピュータ可読媒体。
【請求項4】
前記少なくとも1つのプロセッサによって実行されると、前記車両の前記経路が対向交通を横断するとの判定に応答して、前記車両ルートを表す前記ルート目的関数に前記出発リンクの付加的なコストを追加することを前記コンピュータに行わせる命令をさらに含む、請求項1、請求項2、または請求項3に記載の非一時的コンピュータ可読媒体。
【請求項5】
実行のために前記配送スケジュールを送信する前記命令は、
配送車両で配送される品目の選択および載荷について、積荷計画をウェアハウスコンピューティングシステムに送信する命令と、
前記配送車両と関連付けられているモバイルデバイスに配送ルートを送信して、前記配送ルートを運転者に表示させるとともに、前記対向交通を横切るように前記車両を前記運転者に運行させる命令と、
を含む、請求項1、請求項2、請求項3、または請求項4に記載の非一時的コンピュータ可読媒体。
【請求項6】
実行のために前記配送スケジュールを送信する前記命令は、
前記配送スケジュールを自律配送車に送信して、前記配送スケジュールに従って、前記対向交通を横切って前記自律配送車を配送停止位置まで進ませる命令
を含む、請求項1、請求項2、請求項3、または請求項4に記載の非一時的コンピュータ可読媒体。
【請求項7】
前記出発リンクについて、前記到着リンクから前記出発リンクへの前記車両の前記経路が対向交通を横断すると判定することを前記コンピュータに行わせる前記命令は、
前記グラフに適用可能な前記道路の走行側の指標を取得することと、
前記到着リンクおよび前記出発リンクを含む前記ノードとの各進入および退出リンクのコンパス方位を取得することと、
前記経路が前記道路の前記走行側とは反対の方向の方向転換であることを前記到着リンクの前記コンパス方位および前記出発リンクの前記コンパス方位が示すと判定することと、
前記ノードに入る第1のリンクおよび前記ノードから出る第1のリンクの第1のコンパス方位が前記到着リンクの前記コンパス方位とは反対であると判定することと、
を前記コンピュータに行わせる命令を含む、請求項1、請求項2、請求項3、請求項4、請求項5、または請求項6に記載の非一時的コンピュータ可読媒体。
【請求項8】
道路網を表すグラフのノードを通る到着リンクからの車両ルートの策定中に、
出発リンクについて、前記到着リンクから前記出発リンクへの前記車両の経路が対向交通を横断すると判定することと、
前記車両の前記経路が対向交通を横断するとの判定に応答して、前記車両ルートを表すルート目的関数に前記出発リンクの付加的な推定遅延を追加することと、
対向交通を横断する前記経路を含む前記ルートを第1の場所と第2の場所との間の最適ルートとして選択することと、
前記最適ルートを前記車両の配送スケジュールの一部として含めることと、
実行のために前記配送スケジュールを送信することと、
を含む、コンピュータが実行する方法。
【請求項9】
前記到着リンクから前記出発リンクまで前記対向交通を横切って、前記車両の前記経路を通って配送停止位置まで自律配送車を運行することをさらに含む、請求項8に記載のコンピュータが実行する方法。
【請求項10】
前記出発リンクの付加的な推定遅延を追加することは、前記車両ルートが前記ノードに到着する時間帯の対向交通を構成する1つまたは複数のリンクの履歴交通速度に少なくとも部分的に基づいて前記推定遅延を計算することを含む、請求項8または請求項9に記載のコンピュータが実行する方法。
【請求項11】
前記車両の前記経路が対向交通を横断するとの判定に応答して、前記車両ルートを表す前記ルート目的関数に前記出発リンクの付加的なコストを追加することをさらに含む、請求項8、請求項9、または請求項10に記載のコンピュータが実行する方法。
【請求項12】
前記出発リンクについて、前記到着リンクから前記出発リンクへの前記車両の前記経路が対向交通を横断すると判定することは、
前記グラフに適用可能な前記道路の走行側の指標を取得することと、
前記到着リンクおよび前記出発リンクを含む前記ノードとの各進入および退出リンクのコンパス方位を取得することと、
前記経路が前記道路の前記走行側とは反対の方向の方向転換であることを前記到着リンクの前記コンパス方位および前記出発リンクの前記コンパス方位が示すと判定することと、
前記ノードに入る第1のリンクおよび前記ノードから出る第1のリンクの第1のコンパス方位が前記到着リンクの前記コンパス方位とは反対であると判定することと、
を含む、請求項8、請求項9、請求項10、または請求項11に記載のコンピュータが実行する方法。
【請求項13】
コンピューティングシステムであって、
プロセッサと、
前記プロセッサに動作可能に接続されているメモリと、
前記プロセッサによって制御される自律走行車と、
前記プロセッサおよび前記メモリに動作可能に接続され、コンピュータの少なくとも1つのプロセッサによって実行されると、
道路網を表すグラフのノードを通る到着リンクからの前記自律走行車のルートの策定中に、
出発リンクについて、前記到着リンクから前記出発リンクへの前記自律走行車の経路が対向交通を横断すると判定することと、
前記経路が対向交通を横断するとの判定に応答して、前記ルートを表すルート目的関数に前記出発リンクの付加的な推定遅延を追加することと、
対向交通を横断する前記経路を含む前記ルートを第1の場所と第2の場所との間の最適ルートとして選択することと、
前記到着リンクから前記出発リンクまで前記対向交通を横切って、前記経路を通って前記自律走行車を運行することと、
を前記コンピューティングシステムに行わせるコンピュータ実行可能命令を格納する非一時的コンピュータ可読媒体と、
を備える、コンピューティングシステム。
【請求項14】
前記命令は、
前記対向交通が交通量は少ないか否かを判定することと、
(i)前記対向交通が交通量は少ない場合は、予め設定されている標準遅延となるように、(ii)前記対向交通が交通量は少なくない場合は、推定交通密度に基づく遅延の動的生成尺度となるように、前記付加的な推定遅延を制御することと、
を前記コンピューティングシステムにさらに行わせる、請求項13に記載のコンピューティングシステム。
【請求項15】
前記出発リンクについて、前記到着リンクから前記出発リンクへの前記自律走行車の前記経路が対向交通を横断すると判定することを前記コンピューティングシステムに行わせる前記命令は、
前記グラフに適用可能な前記道路の走行側の指標を取得することと、
前記到着リンクおよび前記出発リンクを含む前記ノードとの各進入および退出リンクのコンパス方位を取得することと、
前記経路が前記道路の前記走行側とは反対の方向の方向転換であることを前記到着リンクの前記コンパス方位および前記出発リンクの前記コンパス方位が示すと判定することと、
前記ノードに入る第1のリンクおよび前記ノードから出る第1のリンクの第1のコンパス方位が前記到着リンクの前記コンパス方位とは反対であると判定することと、
を前記コンピューティングシステムに行わせる命令を含む、請求項13または請求項14に記載のコンピューティングシステム。
【発明の詳細な説明】
【背景技術】
【0001】
背景
対向交通を横切る方向転換は、遅延の原因となり、衝突のリスクを高める。このため、配送車列の運行者は、車両のルーティング、ナビゲーション、および配送スケジューリングシステムにおいて、交通横断の方向転換に対する「ハード」なルールを実践している。ただし、このような交通横断の方向転換に対する柔軟性のない「ハード」なルールは、不要な複雑さをもたらし、車両のルーティング、ナビゲーション、および配送スケジューリングの柔軟性を損なう。
【発明の概要】
【発明が解決しようとする課題】
【0002】
したがって、交通横断の方向転換が有利な場合に交通横断の方向転換を知的に許可するシステムおよび方法が望まれている。
【課題を解決するための手段】
【0003】
概要
一実施形態において、コンピュータ実行可能命令が格納されている非一時的コンピュータ可読媒体が提示され、命令は、コンピュータの少なくとも1つのプロセッサによって実行されると、道路網を表すグラフのノードを通る到着リンクからの車両ルートの策定中に、出発リンクについて、到着リンクから出発リンクへの車両の経路が対向交通を横断すると判定することと、車両の経路が対向交通を横断するとの判定に応答して、車両ルートを表すルート目的関数に出発リンクの付加的な推定遅延を追加することと、対向交通を横断する経路を含むルートを第1の場所と第2の場所との間の最適ルートとして選択することと、最適ルートを車両の配送スケジュールの一部として含めることと、実行のために配送スケジュールを送信することと、をコンピュータに行わせる。
【0004】
非一時的コンピュータ可読媒体の一実施形態において、出発リンクについて、到着リンクから出発リンクへの車両の経路が対向交通を横断すると判定することをコンピュータに行わせる命令は、グラフに適用可能な道路の走行側の指標を取得することと、到着リンクおよび出発リンクを含むノードとの各進入および退出リンクのコンパス方位を取得することと、経路が道路の走行側とは反対の方向の方向転換であることを到着リンクのコンパス方位および出発リンクのコンパス方位が示すと判定することと、ノードに入る第1のリンクおよびノードから出る第1のリンクの第1のコンパス方位が到着リンクのコンパス方位とは反対であると判定することと、をコンピュータに行わせる命令を含む。
【0005】
非一時的コンピュータ可読媒体の一実施形態において、命令は、対向交通は交通量が少ないか否かを判定することと、(i)対向交通は交通量が少ない場合は、予め設定されている標準遅延となるように、(ii)対向交通は交通量が少なくない場合は、推定交通密度に基づく遅延の動的生成尺度となるように、付加的な推定遅延を制御することと、をコンピュータにさらに行わせる。
【0006】
非一時的コンピュータ可読媒体の一実施形態において、出発リンクの付加的な推定遅延をコンピュータに追加させる命令は、(i)推定遅延となる交通横断の方向転換の予め設定されている標準遅延を取得すること、または(ii)対向交通の履歴速度および速度制限に少なくとも部分的に基づいて付加的な推定遅延を計算すること、のいずれかをコンピュータに行わせる命令を含む。
【0007】
一実施形態において、非一時的コンピュータ可読媒体は、少なくともプロセッサによって実行されると、車両の経路が対向交通を横断するとの判定に応答して、車両ルートを表すルート目的関数に出発リンクの付加的なコストを追加することをコンピュータに行わせる命令をさらに含む。
【0008】
非一時的コンピュータ可読媒体の一実施形態において、実行のために配送スケジュールを送信する命令は、配送車両で配送される品目の選択および載荷について、積荷計画をウェアハウスコンピューティングシステムに送信する命令と、配送車両と関連付けられているモバイルデバイスに配送ルートを送信して、配送ルートを運転者に表示させるとともに、対向交通を横切るように車両を運転者に運行させる命令と、を含む。
【0009】
非一時的コンピュータ可読媒体の一実施形態において、実行のために配送スケジュールを送信する命令は、配送スケジュールを自律配送車に送信して、配送スケジュールに従って、対向交通を横切って自律配送車を配送停止位置まで進ませる命令を含む。
【0010】
一実施形態において、コンピュータが実行する方法は、道路網を表すグラフのノードを通る到着リンクからの車両ルートの策定中に、出発リンクについて、到着リンクから出発リンクへの車両の経路が対向交通を横切ると判定することと、車両の経路が対向交通を横切るとの判定に応答して、車両ルートを表すルート目的関数に出発リンクの付加的な推定遅延を追加することと、対向交通を横切る経路を含むルートを第1の場所と第2の場所との間の最適ルートとして選択することと、最適ルートを車両の配送スケジュールの一部として含めることと、実行のために配送スケジュールを送信することと、を含む。
【0011】
一実施形態において、コンピュータが実行する方法は、到着リンクから出発リンクまで対向交通を横切って、車両の経路を通って配送停止位置まで自律配送車を運行することをさらに含む。
【0012】
コンピュータが実行する方法の一実施形態において、出発リンクの付加的な推定遅延を追加することは、車両ルートがノードに到着する時間帯の対向交通を構成する1つまたは複数のリンクの履歴交通速度に少なくとも部分的に基づいて推定遅延を計算することを含む。
【0013】
一実施形態において、コンピュータが実行する方法は、車両の経路が対向交通を横断するとの判定に応答して、車両ルートを表すルート目的関数に出発リンクの付加的なコストを追加することをさらに含む。
【0014】
コンピュータが実行する方法の一実施形態において、出発リンクについて、到着リンクから出発リンクへの車両の経路が対向交通を横断すると判定することは、グラフに適用可能な道路の走行側の指標を取得することと、到着リンクおよび出発リンクを含むノードとの各進入および退出リンクのコンパス方位を取得することと、経路が道路の走行側とは反対の方向の方向転換であることを到着リンクのコンパス方位および出発リンクのコンパス方位が示すと判定することと、ノードに入る第1のリンクおよびノードから出る第1のリンクの第1のコンパス方位が到着リンクのコンパス方位とは反対であると判定することと、を含む。
【0015】
一実施形態において、コンピューティングシステムは、プロセッサと、プロセッサに動作可能に接続されているメモリと、プロセッサが制御する自律走行車と、プロセッサおよびメモリに動作可能に接続される非一時的コンピュータ可読媒体と、を備え、非一時的コンピュータ可読媒体は、コンピュータの少なくとも1つのプロセッサによって実行されると、道路網を表すグラフのノードを通る到着リンクからの自律走行車のルートの策定中に、出発リンクについて、到着リンクから出発リンクへの自律走行車の経路が対向交通を横断すると判定することと、経路が対向交通を横断するとの判定に応答して、ルートを表すルート目的関数に出発リンクの付加的な推定遅延を追加することと、対向交通を横断する経路を含むルートを第1の場所と第2の場所との間の最適ルートとして選択することと、到着リンクから出発リンクまで対向交通を横切って、経路を通って自律走行車を運行することと、を当該コンピューティングシステムに行わせるコンピュータ実行可能命令を格納する。
【0016】
コンピューティングシステムの一実施形態において、命令は、対向交通は交通量が少ないか否かを判定することと、(i)対向交通は交通量が少ない場合は、予め設定されている標準遅延となるように、(ii)対向交通は交通量が少なくない場合は、推定交通密度に基づく遅延の動的生成尺度となるように、付加的な推定遅延を制御することと、をコンピューティングシステムにさらに行わせる。
【0017】
コンピューティングシステムの一実施形態において、出発リンクについて、到着リンクから出発リンクへの自律走行車の経路が対向交通を横切ると判定することをコンピューティングシステムに行わせる命令は、グラフに適用可能な道路の走行側の指標を取得することと、到着リンクおよび出発リンクを含むノードとの各進入および退出リンクのコンパス方位を取得することと、経路が道路の走行側とは反対の方向の方向転換であることを到着リンクのコンパス方位および出発リンクのコンパス方位が示すと判定することと、ノードに入る第1のリンクおよびノードから出る第1のリンクの第1のコンパス方位が到着リンクのコンパス方位とは反対であると判定することと、をコンピューティングシステムに行わせる命令を含む。
【0018】
本明細書に援用することで本明細書の一部を構成する添付の図面は、本開示のさまざまなシステム、方法、および他の実施形態を示す。図面に示す要素境界(たとえば、ボックス、ボックス群、または他の形状)は、境界の一実施形態を表すことは明らかであろう。いくつかの実施形態においては、1つの要素が複数の要素として実現されていてもよいし、複数の要素が1つの要素として実現されていてもよい。いくつかの実施形態においては、別の要素の内部構成要素として示した要素は外部構成要素として実現されていてもよいし、その逆もまた同様である。さらに、要素の描写は原寸に比例していない場合もある。
【図面の簡単な説明】
【0019】
【
図1】反対交通を横切る方向転換の動的選択による車両ルートのスケジューリングおよびナビゲーションと関連付けられているコンピューティングシステムの一実施形態を示す図である。
【
図2】反対交通を横切る方向転換の動的選択による車両ルートのスケジューリングおよびナビゲーションと関連付けられている道路マップを表す例示的なグラフを示す図である(グラフの詳細部を含む)。
【
図3】反対交通を横切る方向転換の動的選択による車両ルートのスケジューリングおよびナビゲーションと関連付けられている方法の一実施形態を示す図である。
【
図4】反対交通を横切る方向転換の動的選択による車両ルートのスケジューリングおよびナビゲーションと関連付けられている、到着リンクから出発リンクへの経路が対向交通を横断すると判定するための方法の一実施形態を示す図である。
【
図5A】四差路交差点を通る交通横断方向転換ルートの例を示す図である。
【
図5B】T字交差点を通る非交通横断方向転換ルートの例を示す図である。
【
図5C】車線が複数の四差路交差点を通る交通横断方向転換ルートの例を示す図である。
【
図5D】四差路交差点を通る非交通横断方向転換ルートの例を示す図である。
【
図5E】T字交差点を通る交通横断方向転換ルートの例を示す図である。
【
図5F】一方通行道路を含む交差点を通る非交通横断方向転換ルートの例を示す図である。
【
図5G】四差路交差点を通る交通横断U字転回ルートの例を示す図である。
【
図6】本明細書に記載のシステムおよび方法ならびに/または同等物のうちの1つまたは複数に従って動作するように構成および/またはプログラムされている例示的な自律走行車制御システムを示す図である。
【
図7】本明細書に記載のシステムおよび方法ならびに/または同等物のうちの1つまたは複数で構成および/またはプログラムされている例示的なモバイルデバイスを示す図である。
【
図8】専用コンピューティングデバイスとして、本明細書に記載の例示的なシステムおよび方法ならびに/または同等物のうちの1つまたは複数で構成および/またはプログラムされている例示的なコンピューティングシステムを示す図である。
【発明を実施するための形態】
【0020】
詳細な説明
本明細書においては、反対交通を横切る方向転換の動的選択による車両ルートのスケジューリングおよびナビゲーションを可能にするシステムおよび方法が記載される。たとえば、本明細書に記載のシステムおよび方法により生成される車両ルーティングは、交通横断の方向転換がそれを回避するルーティング選択肢よりも有利である場合、反対(または、対向)交通を横切る方向転換を知的に取り入れる。一実施形態においては、交通を横切る方向転換を伴う複数巡回セールスマン問題(MTSP)の解決を可能にするルートスケジューリングおよびナビゲーションのシステムおよび方法が本明細書に記載される。
【0021】
MTSPソルバ(小売配送、公共事業)に正確な移動時間を提供するのに必要となる利用可能な道路網の履歴移動時間には、方向転換による付加的な遅延を含まない。交通量の多い道路で対向交通を横切る方向転換は、大幅な遅延および事故のリスクをもたらし得る。したがって、輸送任務を再構成することにより、交通を横切る方向転換の全体的な必要性を最小限に抑えること、および/または、任務間の車両のルートを変更してこのような方向転換を回避することが望ましいと考えられる。輸送問題を解く際にこれらの隠れた遅延を考慮することによって、総移動時間および事故の余地の両者を減らす。交通に関して本明細書で使用する場合、用語「反対(opposing)」および「対向(oncoming)」は同義である。
【0022】
一実施形態において、本明細書に記載のシステムおよび方法では、ルートを計算しつつ交通を横切る方向転換を識別し、このような方向転換に対して推定遅延を割り当てる。付加的な遅延は、ルーティングおよびスケジューリングの目的関数に受け渡され、「反対交通を横切る」方向転換の影響が最小化されるように、結果としてのスケジュールをソルバに適応させる。ただし、あらゆる場合の交通を横切る方向転換に対する「ハード」なルールは、不要な複雑さおよびそれに伴う遅延を車両のルートに加える可能性もある。したがって、適当な状況(たとえば、反対交通は交通量が少ないため遅延もリスクの増大も小さくなる場合、または、反対交通は交通量がより多い一方、低目的コストの他のルーティング選択肢が存在しない場合)においてのみ、交通を横切る方向転換を取り入れるルートを生成するシステムおよび方法が望ましいと考えられる。
【0023】
本明細書に記載のシステムおよび方法の一実施形態において、動的モデルでは、方向転換時間が交通密度の影響を大きく受ける、という事実を考慮する。たとえば、この動的モデルでは、(1)リンクにそれぞれのコンパス方位がタグ付けされて、ノードを通る候補経路が反対交通を横断するかをルーティングアルゴリズムが迅速に判定可能となり、(2)リンクが住宅地または非住宅地としてタグ付けされ、住宅地交通を横切る方向転換が通常は遅延を生じず、(3)リンクに速度制限がタグ付けされ、速度制限と履歴速度との比から方向転換遅延が推定され得る。
【0024】
反対交通を横切る方向転換は、市販のMTSPソルバが使用する現行の交通モデルでは捕捉されない遅延および事故の原因である。本明細書に記載のシステムおよび方法は、この遅延原因を含めることにより、MTSP解を再編成して、車両間の作業の再構成により低速方向転換の数を減らすこと、または、車両を迂回ルーティングさせることのいずれかによって、低速リスク傾向の「反対交通横断」方向転換の総数を最小化する。その結果は、現実世界のより高精度なモデルであって、実移動時間が短く安全性の高い解をソルバが生成可能となる。注目すべきこととして、本明細書のシステムおよび方法では、交通を横切る方向転換の「ハード」な回避を適用していない。その代わりに、本明細書のシステムおよび方法は、交通を横切る方向転換の動的な回避を可能にする。より良い代替案を見つけられる場合にのみ、交通を横切る方向転換が回避される。
【0025】
一実施形態において、本明細書のシステムおよび方法では、前処理段階を実施し、ルート演算段階でルートを生成する最短経路ソルバアルゴリズム(ダイクストラのアルゴリズム等)の入力として使用されるグラフを作成する。一実施形態において、前処理段階では、ソース道路データから「住宅地」フラグを演算して、リンクごとにフラグを格納する。一実施形態において、前処理段階では、ソース道路データから速度制限を取得して、リンクごとに速度制限を格納する。一実施形態において、グラフを構築する場合、前処理段階では、リンクごとに終点座標を取得し、これらを使用して各リンクにコンパス方位をタグ付けする。
【0026】
一実施形態において、本明細書のシステムおよび方法は、経路ソルバアルゴリズムを実行してルートを生成することにより、ルート演算段階を実現する。一実施形態において、ルート演算段階でノードに到着するリンクを策定または処理する場合、この演算段階では、出発リンクごとに、到着する非住宅地道路が交差点を横切る車両の経路を横断するかを確認する。横断する場合、この演算段階では、推定遅延を演算して、当該遅延を目的関数に追加する。交通事故の削減が相当に重要である場合は、遅延と合わせて、別の料金が数値として目的関数に追加されるようになっていてもよい。
【0027】
本明細書に記載または請求の如何なる動作も機能も、人間の心によっては実行されない。如何なる動作または機能も人間の心において実行され得るという解釈は、本開示と矛盾しており、本開示に反するものである。
【0028】
例示的な環境
図1は、反対交通を横切る方向転換の動的選択による車両ルートのスケジューリングおよびナビゲーションと関連付けられているコンピューティングシステム100の一実施形態を示している。
【0029】
一実施形態において、システム100は、インターネット110(または、別の好適な通信ネットワークもしくはネットワークの組み合わせ)によってエンタープライズネットワーク115に接続されているスケジューリング、ディスパッチ、およびルーティングシステム105を具備する。一実施形態において、スケジューリング、ディスパッチ、およびルーティングシステム105は、Oracle(登録商標)のReal-Time Scheduler(RTS)であってもよいし、UPS(登録商標)のOn-Road Integrated Optimization and Navigation(ORION)であってもよいし、反対交通を横切る方向転換の動的選択による車両ルートのスケジューリングおよびナビゲーションのための方法を実行するように構成されている他のシステムであってもよい。一実施形態において、スケジューリング、ディスパッチ、およびルーティングシステム105は、動的交通横断方向転換コンポーネント120、他のシステムコンポーネント125、データストア130、およびウェブインターフェースサーバ135を含むさまざまなシステムおよび構成要素を具備する。
【0030】
一実施形態において、動的交通横断方向転換コンポーネント120は、交通を横切る方向転換を伴うMTSPを解くことによって、ルートスケジューリングおよびナビゲーションと関連付けられている本明細書に記載の方法、機能、および特徴を実現するように構成されている1つまたは複数の構成要素を具備する。動的交通横断方向転換コンポーネント120は、本明細書に記載のシステムおよび方法に従って、交通横断の方向転換を動的にルートに含む道路網グラフのノード間の最短経路を策定するように構成されているルート生成エンジン170を具備していてもよい。最短経路は、必ずしも移動距離の観点で最短ではない。一実施形態において、最短経路ソルバは、目的コスト関数に基づいて、移動の目的コストが最も低い点において「最短」の経路を探索するように動作する。目的コスト関数は、移動時間、移動距離、交通横断の方向転換または他の交通障害、または経路に沿う移動の全体的な負担を構成する他の項目の入力を含んでいてもよい。動的交通横断方向転換コンポーネント120は、グラフとして表される道路網中の地理的位置間の最低コストルートを識別するルート生成エンジン170を具備していてもよい。動的交通横断方向転換コンポーネント120は、どの配送品目がどのルートに割り当てられるかと、これらの品目の配送の順序と、を決定するスケジューリングエンジン173を具備していてもよい。動的交通横断方向転換コンポーネント120は、交通横断の方向転換の車両ルーティングへの動的包含に対して本明細書に記載のシステムおよび方法が使用する情報を生成するとともに、道路網を表すグラフにこの情報を挿入して使用するマップ拡張(前処理)モジュールを具備していてもよい。動的交通横断方向転換コンポーネント120は、交通横断の方向転換の車両ルーティングへの動的包含に対応するように構成され得る道路網を表す1つまたは複数のグラフを格納するマップデータベース180を具備していてもよい。
【0031】
スケジューリング、ディスパッチ、およびルーティングシステム105の構成要素はそれぞれ、実現するものとして記載された機能を実行するロジックにより構成されている。一実施形態において、スケジューリング、ディスパッチ、およびルーティングシステム105の構成要素はそれぞれ、そのような実行のために特別に構成されている1つまたは複数のコンピューティングデバイスにより実行される複数組の1つまたは複数のソフトウェアモジュールとして実現されていてもよい。一実施形態において、スケジューリング、ディスパッチ、およびルーティングシステム105の構成要素は、データネットワークにより相互接続されている1つまたは複数のハードウェアコンピューティングデバイスまたはホスト上に実現されている。たとえば、スケジューリング、ディスパッチ、およびルーティングシステム105の構成要素は、中央演算処理装置(CPU)もしくは汎用形状、高密度入出力(I/O)形状、グラフィックス処理ユニット(GPU)形状、ならびに高性能コンピューティング(HPC)形状等の1つまたは複数の演算ハードウェア形状のネットワーク接続コンピューティングデバイスにより実行されるようになっていてもよい。一実施形態において、スケジューリング、ディスパッチ、およびルーティングシステム105の構成要素はそれぞれ、1つまたは複数の専用コンピューティングデバイスにより実現されている。一実施形態において、スケジューリング、ディスパッチ、およびルーティングシステム105の複数またはすべての構成要素は、
図1においては離散ユニットとして表すものの、共通(または、共有)コンピューティングデバイスにより実現されている。一実施形態において、スケジューリング、ディスパッチ、およびルーティングシステム105の構成要素は、複数のコンピューティングデバイスに跨って実現されていてもよい。一実施形態において、スケジューリング、ディスパッチ、およびルーティングシステム105は、クラウドインフラ上のサービスとして実現されていてもよい。一実施形態において、スケジューリング、ディスパッチ、およびルーティングシステム105は、専用サードパーティにより、たとえばIAAS(Infrastructure-as-a-Service)、PAAS(Platform-as-a-Service)、またはSAAS(Software-as-a-Service)アーキテクチャにてホストされていてもよい。一実施形態において、スケジューリング、ディスパッチ、およびルーティングシステム105は、当該スケジューリング、ディスパッチ、およびルーティングシステム105の運用に特化したエンタープライズネットワーク115内の一組の1つまたは複数のサーバ等、オンプレミスのインフラ上で実現されていてもよい。
【0032】
一実施形態において、スケジューリング、ディスパッチ、およびルーティングシステム105の構成要素は、電子的なメッセージまたは信号によって相互通信する。これらの電子的なメッセージまたは信号は、たとえばアプリケーションプログラミングピンターフェース(API)コール等、構成要素の特徴またはデータにアクセスする機能または手順のコールとして設定されていてもよい。一実施形態において、これらの電子的なメッセージまたは信号は、伝送制御プロトコル/インターネットプロトコル(TCP/IP)または他のコンピュータネットワーキングプロトコルに適合するフォーマットにてホスト間で送信される。スケジューリング、ディスパッチ、およびルーティングシステム105の各構成要素は、(i)別の構成要素に対してコマンドまたはリクエストを発行する電子的メッセージまたは信号を生成または構成し、(ii)スケジューリング、ディスパッチ、およびルーティングシステム105のインフラを使用して、メッセージまたは信号を他の構成要素に送信し、(iii)受信した電子的メッセージまたは信号の内容を解析して、当該構成要素が実行可能なコマンドまたはリクエストを識別し、コマンドの識別に応答して、コマンドまたはリクエストを自動的に実行することになる。
【0033】
APIコールには、データベースに対するクエリを含んでいてもよい。クエリは、グラフ上で実行される場合、たとえばOracle(登録商標)のProperty Graph Query Language(PGQL)およびその関連するランタイム、GraphQLおよびその関連するランタイム、または他の適当なグラフクエリ環境において構成および実行されるようになっていてもよい。
【0034】
エンタープライズネットワーク115は、車列を運行する配送サービスまたは他のエンティティ等のビジネスと関連付けられていてもよい。説明の簡素化および明瞭化のため、エンタープライズネットワーク115は、インターネット110を通じて当該エンタープライズネットワーク115に接続されている1つもしくは複数のリモートユーザコンピュータ155、モバイルデバイス160、手持ち式配送情報端末161、または自律もしくは自動運転車165と併せて、1つまたは複数のパソコン145またはサーバ150が動作可能に接続されているオンサイトローカルエリアネットワーク140により表される。各パソコン145、リモートユーザコンピュータ155、モバイルデバイス160、または手持ち式配送情報端末161は、ビジネスと関連付けられている従業員または請負業者等の特定のエンドユーザに大略特化されているが、この特化は必須ではない。パソコン145およびリモートユーザコンピュータ155としては、たとえばデスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、またはローカルエリアネットワーク140もしくはインターネット110に接続可能な他のデバイスが可能である。モバイルデバイス160としては、たとえばスマートフォン、タブレットコンピュータ、携帯電話、または携帯電話ネットワーク、Wi-Fi、もしくはBluetooth(登録商標)等の無線ネットワークを通じてローカルエリアネットワーク140もしくはインターネット110に接続可能な他の手持ち式携帯型コンピューティングデバイスが可能である。手持ち式配送情報端末161としては、たとえばバーコード/QR/他のコードスキャンデバイス、配送情報アクセスデバイス、およびGPSナビゲーションデバイスの携帯型組み合わせ(USPS(登録商標)のMobile Delivery Device(MDD)、UPS(登録商標)のDelivery Information Acquisition Device(DIAD)、または他の類似デバイス等)が可能である。
【0035】
エンタープライズネットワーク115のユーザは、インターネット110(または、別の好適な通信ネットワークもしくはネットワークの組み合わせ)を介してスケジューリング、ディスパッチ、およびルーティングシステム105とのインターフェースを確立する。一実施形態においては、ウェブインターフェースサーバ135を通じてスケジューリング、ディスパッチ、およびルーティングシステム105が提供する情報またはアプリケーションにリモートコンピューティングシステム(エンタープライズネットワーク115のシステム等であって、自律走行車165を含む)がアクセスし得る。一実施形態において、リモートコンピューティングシステムは、ウェブインターフェースサーバ135に対するリクエストの送信および応答の受信を行い得る。一例において、情報またはアプリケーションへのアクセスは、パソコン145、リモートユーザコンピュータ155、モバイルデバイス160、または自律走行車165上でのウェブブラウザの使用によりもたらされるようになっていてもよい。一例において、情報またはアプリケーションへのアクセスは、パソコン145、リモートユーザコンピュータ155、モバイルデバイス160、または自律走行車165上で実行されるスケジューリング、ディスパッチ、およびルーティングシステム105に固有の専用クライアントアプリケーションの使用によりもたらされるようになっていてもよい。たとえば、エンタープライズネットワーク115のこれらコンピューティングデバイス145、155、160、161は、グラフィカルユーザインターフェースにおける配送スケジュール(全部または一部)の表示を要求することができる。一例において、通信は、ウェブインターフェースサーバ135とパソコン145、サーバ150、リモートユーザコンピュータ155、またはモバイルデバイス160との間で交換され、たとえばデータ交換フォーマットとしてJava(登録商標)Scriptオブジェクト記法(JSON)を使用するリモート表現状態転送(REST)リクエストまたはXMLサーバとの間の簡易オブジェクトアクセスプロトコル(SOAP)リクエストの形態であってもよい。たとえば、エンタープライズネットワーク110のコンピュータ145、150、155は、配送スケジュールを要求することができる。
【0036】
一実施形態において、データストア160は、マップの格納および提供を行うように構成されているマップデータベース180のほか、ルート、載荷計画、出荷情報、貨物目録、車両もしくはサービスクルー、またはスケジューリング、ディスパッチ、およびルーティングシステム105が使用する他の情報の格納および提供を行うように構成されている他のデータベース等、1つまたは複数のデータベースを含む。一実施形態において、本明細書において使用するデータベースは、Oracle(登録商標)のデータベースである。いくつかの例示的な構成において、データストア160は、1つまたは複数のOracle(登録商標)Exadataコンピュータ形状、ネットワークアタッチトストレージ(NAS)デバイス、および/または他の専用サーバデバイスを使用することにより実現されていてもよい。
【0037】
一実施形態において、1つまたは複数の自律走行車165のルーティングは、スケジューリング、ディスパッチ、およびルーティングシステム105により制御されるようになっていてもよい。自律走行車165は、部分的に自動運転であってもよいし、完全に自動運転であってもよい。自律走行車165は、配送車両、貨物車両、建設車両、ゴミ収集車両、作業員輸送車両、公共交通車両、ライドシェア車両もしくはタクシー車両、個人輸送車両、または他の自走式車両であってもよい。
【0038】
グラフ、ノード、およびリンク
一実施形態においては、グラフデータ構造が一組の相互接続ノードおよびリンクとして、道路網または道路マップを表し得る。道路網を表すグラフデータ構造において、ノードは、道路の交差点または曲がり角等、方向転換が可能な地理的場所を表すデータ構造である。道路網を表すグラフデータ構造において、リンク(または、有向エッジ)は、グラフ中で互いに隣り合うノード(交差点、曲がり角、もしくは他の地理的場所)または互いに1リンクまでしか離間していないノード間の交通ルートを表すデータ構造である。なお、リンクは有向である。
【0039】
一実施形態において、道路網は、グラフデータベースにおけるグラフデータ構造として表され、付随する道路ソースデータは、マップ(もしくは、グラフ)、交通ルート(もしくは、リンク)、ならびに交差点(もしくは、ノード)を記述するデータ構造に格納されているこれら構成要素の特徴を記述する。たとえば、マップデータベース180は、この形態の1つまたは複数の道路網(または、マップ)を格納するグラフデータベースであってもよい。グラフ、リンク、およびノードのデータ構造には、付加的なデータフィールドが設けられ、本明細書に記載の方法およびシステムが使用する特定の情報に適応していてもよい。
【0040】
図2は、反対交通を横切る方向転換の動的選択による車両ルートのスケジューリングおよびナビゲーションと関連付けられている例示的な道路網を表す例示的なグラフ200を示しており、例示的な道路網215の対応部分の視覚化に重ね合わされたグラフ200の部分210の拡大
図205を含む。グラフ200は、例示的な道路網215における特定の交差点225(または、曲がり角等の地理的特徴)を表すノード220と、例示的な道路網215における特定の有向道路セグメント235を表すリンク230と、により構成されている。また、一実施形態において、ノード220は、道路網に沿う配送集荷、送達、またはサービスの場所(たとえば、特定の住所)を表し得る。交差点を参照するノードの議論は、道路の曲がり角、特定の住所の場所、およびグラフにより表される道路網の他の地理的特徴を表すとも理解され得る。
【0041】
例示的なグラフ200において、ノード220は、ノードデータ構造240等、下層の交差点225を記述するノードデータ構造として表され得る。一実施形態において、ノードデータ構造240等のノードデータ構造は、ノードと一意に関連付けられている値を格納するためのノード識別子(nodeID)フィールドもしくは他のデータ構造、ノードにより表される下層の交差点225の地理的場所の座標値(緯度および経度等)を格納するための座標(nodeCoordinates)フィールドもしくは他のデータ構造、進入リンク(nodeIncomingLinks)および退出リンク(nodeOutgingLinks)のリスト、グラフ中の他のすべてのノードへの最小コスト(最速/最短)ルート(nodeRoutes)ならびに各ルートの移動時間および移動距離(もしくは、起点ノードから当該ノードに到達するための他のコスト)等の関連する特性、ならびにノードの他の特徴を表す他のデータ構造等のデータ構造を含むように構成されている。
【0042】
例示的なグラフ200において、リンク230は、リンクデータ構造245等、下層の交通ルート(または、道路セグメント)235を記述するリンクデータ構造として表され得る。一実施形態において、リンクデータ構造245等のリンクデータ構造は、下層の交通ルート235の特定の特徴を記述するデータ構造を含むように構成されている。リンクデータ構造245は、リンク識別子(linkID)フィールドまたは他のデータ構造を含むように構成されていてもよい。リンク識別子データ構造の値は、グラフ中のリンクと一意に関連付けられている。リンクデータ構造245は、リンクの起点となるノードを示す「起点」ノードID(nodeA_ID)フィールドまたは他のデータ構造と、リンクの終点であるノードを示す「終点」ノードID(nodeB_ID)フィールドまたは他のデータ構造と、を含むように構成されていてもよい。「起点」ノードIDおよび「終点」ノードIDのデータ構造は一体として、道路セグメントに沿うリンクによって表される交通移動の起点および終点をそれぞれ記述する。リンクデータ構造245は、リンクにより表される道路セグメントに沿う法定速度制限を示す速度制限(linkSpeedLimit)フィールドまたは他のデータ構造を含むように構成されていてもよい。リンクデータ構造245は、リンクにより表される道路セグメントに沿う移動のコンパス方位を示す方向(linkDirection)フィールドまたは他のデータ構造を含むように構成されていてもよい。リンクデータ構造245は、リンクにより表される道路セグメントが「住宅地」交通のみを有すると考えられるかを示す住宅街(linkResidential)フラグまたは他のデータ構造を含むように構成されていてもよい。住宅地フラグは、住宅街に沿う交通が一般的に交通量は少なく対向交通を横切る方向転換の遅延がほとんど生じないことを前提として、リンクに沿う交通移動が交通量は少ないか(住宅地であるか)否(非住宅地である)かを示す。リンクデータ構造245は、料金(linkToll)フィールドまたは他のデータ構造を含むように構成されていてもよい。本明細書で使用する場合の「料金」は、所与のリンクにより表される道路セグメントに沿う移動と関連付けられているペナルティである。リンクデータ構造245は、リンクの他の特徴を表す付加的なデータ構造を含むように構成されていてもよい。
【0043】
例示的な方法
一実施形態において、本明細書に記載のコンピュータが実行する方法の各ステップは、(i)メモリ(メモリ815ならびに/または
図8を参照して図示および記載の他のコンピューティングデバイス構成要素等)にアクセスし、(ii)この方法のステップをシステムに実行させるロジック(
図8を参照して図示および記載のような動的交通横断方向転換車両ルートスケジューリングおよびナビゲーションロジック830等)が設定されている1つまたは複数のコンピューティングデバイスのプロセッサ(
図8を参照して図示および記載のようなプロセッサ810等)により実行されるようになっていてもよい。たとえば、プロセッサは、メモリへのアクセスおよび読み書きによって、本明細書に記載のコンピュータが実行する方法のステップを実行する。これらのステップには、(i)任意の必要情報を取得することと、(ii)任意のデータの計算、決定、生成、分類、あるいは作成を行うことと、(iii)後で使用するため、計算、決定、生成、分類、あるいは作成された任意のデータを格納することと、を含んでいてもよい。ストレージまたは格納の言及は、コンピューティングデバイスのメモリまたはストレージ/ディスク(
図8を参照して図示および記載のコンピューティングデバイス805もしくはリモートコンピュータ865のメモリ815もしくはストレージ/ディスク835、または、
図1を参照して図示および記載のデータストア130等)におけるデータ構造としてのストレージを示す。
【0044】
一実施形態において、方法の各後続ステップは、後続ステップの開始に少なくとも必要な程度まで先行ステップが実行されたことを示す受信信号または取得および格納データの解析に応答して自動的に開始となる。一般的に、受信信号または取得および格納データは、先行ステップの完了を示す。
【0045】
図3は、反対交通を横切る方向転換の動的選択による車両ルートのスケジューリングおよびナビゲーションと関連付けられている方法300の一実施形態を示している。一実施形態において、方法300のステップは、(
図1を参照して図示および記載のように)スケジューリングおよびディスパッチシステム105により実行され、少なくとも一部が動的交通横断方向転換コンポーネント120により実行される。一実施形態において、動的交通横断方向転換コンポーネント120は、動的交通横断方向転換車両ルートスケジューリングおよびナビゲーションロジックが設定されている専用コンピューティングデバイス(コンピューティングデバイス805等)により実現される。一実施形態において、動的交通横断方向転換コンポーネント120は、ロジック830が設定されている専用コンピューティングデバイスの1つまたは複数のモジュールである。
【0046】
一実施形態において、方法300は、(i)スケジューリング、ディスパッチ、およびルーティングシステム105のユーザ(または、管理者)が当該方法300を開始したこと、(ii)当該方法300が規定の時間または時間間隔(たとえば、毎日、品目が車両に載荷されて配送される前)で開始されるようにスケジューリングされていること、(iii)スケジューリング、ディスパッチ、およびルーティングシステム105のシステムコンポーネントがそのコンポーネントの内部ロジックに基づいて当該方法300を自動的に開始したことを示すネットワークを介した信号の受信または格納データの解析に対する応答等、さまざまなトリガに基づいて自動的に開始されるようになっていてもよい。一実施形態において、方法300は、本明細書に記載の通り、開始されると繰り返し動作し、現在最良のルートよりも良好なルートを求めて代替的なルーティングシナリオを連続的に評価し、代替選択肢の移動時間を決定する。この方法では、1秒当たり数百の代替ルートシナリオを評価可能である。したがって、本明細書に記載の方法およびシステムによれば、実時間代替ルート評価において交通横断の方向転換を動的に評価可能であり、実行中の車両ナビゲーションにおいて動的に含まれる交通横断の方向転換を使用可能となる。方法300は、受信信号または取得および格納データを解析することと、当該方法300が開始となるべきことを信号または格納データが示すと判定することと、に応答して、開始ブロック305で開始となる。処理は、プロセスブロック310へと続く。
【0047】
一実施形態において、プロセスブロック310、315、および320の動作は、道路網を表すグラフのノードを通る到着リンクからのルート生成エンジンによる車両ルートの策定中に実行される。一実施形態において、車両ルートの策定(または、生成もしくは作成)には、最短経路ソルバのステップの実行によって、ノード間のルートに含める(または、含めない)ようにグラフのリンクまたはノードを処理することを含む。一実施形態において、ルート生成エンジンは、ルート生成エンジン170等、動的交通横断方向転換コンポーネント120のモジュールである。一実施形態において、ルート生成エンジン170は、プロセスブロック310、315、および320に関して記載の機能を実行する。一実施形態において、ルート生成エンジンは、グラフ中のノード間の最短経路を探索するためのアルゴリズムを実行する。一実施形態において、ルート生成エンジンは、ダイクストラのアルゴリズムを実行する。一実施形態において、ルート生成エンジンは、A*アルゴリズム、幅優先探索、ワーシャル・フロイドアルゴリズム、ベルマン・フォードアルゴリズム、ジョンソンのアルゴリズム、または別のアルゴリズムを実行して、グラフ中のノード間の最短経路を決定する。一実施形態において、ルート生成エンジンは、グラフ中の各対のノード間の最短経路を探索するように動作する。
【0048】
プロセスブロック310において、プロセッサは、出発リンクについて、到着リンクから出発リンクへの車両の経路が対向交通を横断すると判定する。
【0049】
到着リンクは、ノードにより表される交差点に車両が到着する道路セグメントを表すリンクである。到着リンクは、ルート生成エンジン170によって、ルートに含まれる直前ノードから現行ノードへ向けられたリンクである。出発リンクは、ノードにより表される交差点を車両が出発する道路セグメントを表すリンクである。出発リンクは、ノードを通って当該出発リンクに向かう経路の交通横断方向転換特性が策定された後、ルート生成エンジン170によってルートに含められることになる。対向交通は、到着リンクにより表される道路セグメントから交差点に進入する交通と略反対のコンパス方向から、ノードにより表される交差点を通過する交通である。
【0050】
図4は、反対交通を横切る方向転換の動的選択による車両ルートのスケジューリングおよびナビゲーションと関連付けられている、到着リンクから出発リンクへの経路が対向交通を横断すると判定するための方法400の一実施形態を示す図である。一実施形態において、方法400のステップは、動的交通横断方向転換車両ルートスケジューリングおよびナビゲーションロジック830が設定されている専用コンピューティングデバイス(コンピューティングデバイス805等)による実行によってステップを実行するのと同様に、少なくとも一部がルート生成エンジン170により実行される。方法400は、(i)方法300のプロセスブロック310が開始されたこと、(ii)スケジューリング、ディスパッチ、およびルーティングシステムのユーザ(もしくは、管理者)が方法300を開始したこと、(iii)道路網のある交差点から別の交差点までのルートへの包含について、交差点を通るルートをルート生成エンジン170が評価していること、または(iv)当該方法400が規定の時間または時間間隔で開始されるようにスケジューリングされていることを示すネットワークを介した信号の受信または格納データの解析に対する応答等、さまざまなトリガに基づいて自動的に開始されるようになっていてもよい。方法400は、受信信号または取得および格納データを解析することと、当該方法400が開始となるべきことを信号または格納データが示すと判定することと、に応答して、開始ブロック405で開始となる。処理は、プロセスブロック410へと続く。
【0051】
プロセスブロック410において、プロセッサは、グラフに適用可能な道路の走行側の指標を取得する。
【0052】
双方向交通において、道路の走行側は、前方への走行が許可されている道路の側である。米国等のいくつかの管轄において、道路の走行側は、道路の右側である。濠国等のいくつかの管轄において、道路の走行側は、道路の左側である。このため、右側交通の管轄においては、交通横断の方向転換(または、対向交通を横切る方向転換)が左折であり、左側交通の管轄においては、交通横断の方向転換が右折である。
【0053】
各グラフは、交通管轄内の場所(都市等)と関連付けられている。一実施形態において、道路のルール(左側通行または右側通行)は、道路網を表すグラフの特性としてグラフのデータ構造に格納されている。この道路特性のルールは、道路の走行側の指標として機能し得る。道路のルールは、グラフに含まれていない場合、たとえば動的交通横断方向転換コンポーネント120において、管理者によりスケジューリング、ディスパッチ、およびルーティングシステム105の普遍的特性として設定されていてもよい。一実施形態において、プロセッサは、マップデータベース180のグラフ(該当する場合)またはシステム105(該当する場合)から道路の走行側の指標を取得するクエリを構成して実行するようにしてもよい。その後、プロセッサは、道路の走行側の指標をメモリまたはストレージに格納して後で処理するようにしてもよい。
【0054】
このように、グラフに適用可能な道路の走行側の指標の取得をプロセッサが完了したら、プロセスブロック410での処理は完了となり、処理はプロセスブロック415へと続く。
【0055】
プロセスブロック415において、プロセッサは、到着リンクおよび出発リンクを含むノードとの各進入および退出リンクのコンパス方位を取得する。
【0056】
コンパス方位は、地球上の方向を規定するベクトルである。一実施形態において、グラフ中の各リンクには、本明細書に記載の通り、たとえばマップ拡張モジュール175によって、リンクにより表される道路セグメントに沿う交通流の方向を示すコンパス方位が割り当てられている。一実施形態において、コンパス方位は、たとえば
図2を参照して図示および記載の通り、リンクデータ構造内のデータ構造として格納されている。進入リンクは、ノードに向かうリンクであって、ノードにより表される交差点へと道路セグメントに沿って流れる交通を表す。退出リンクは、ノードから離れるリンクであって、ノードにより表される交差点から道路セグメントに沿って流れる交通を表す。到着リンクは、ノードの一組の進入リンクに属し、出発リンクは、ノードの一組の退出リンクに属する。一実施形態において、プロセッサは、進入および退出両リンクを含むノードの一組のリンクを取得するクエリを構成して実行するようにしてもよい。その後、プロセッサは、一組のリンクをメモリに保持して後で処理する。その後、一組のリンクそれぞれについて、プロセッサは、コンパス方位を取得するクエリを構成して実行し、コンパス方位をメモリまたはストレージに保持して後で処理する。
【0057】
このように、到着リンクおよび出発リンクを含むノードとの各進入および退出リンクのコンパス方位の取得をプロセッサが完了したら、プロセスブロック415での処理は完了となり、処理は決定ブロック420へと続く。
【0058】
決定ブロック420において、プロセッサは、経路が道路の走行側とは反対の方向の方向転換であることを到着リンクのコンパス方位および出発リンクのコンパス方位が示すかを判定する。
【0059】
一実施形態において、プロセッサは、メモリまたはストレージから、到着リンクのコンパス方位および出発リンクのコンパス方位を取得し、これらを互いに比較して、到着リンクから出発リンクまで交差点を通る経路に沿うコンパス方位が時計回り(180°以内)または反時計回りのいずれを示すかを判定する。そして、プロセッサは、コンパス方位の変化を解釈することにより、方向転換の方向を決定する。コンパス方位の時計回りの変化は、右折を示す。コンパス方位の反時計回りの変化は、左折を示す。その後、プロセッサは、道路の走行側に対して方向転換の方向を比較する。
【0060】
方向転換の方向および道路の走行側が一致する場合(右折と右側走行または左折と左側走行)、交差点を通る経路は、道路の走行側とは反対の方向の方向転換ではない。プロセッサは、この決定をメモリまたはストレージに格納して後で処理する。このように、経路が、完了した道路の走行側とは反対の方向の方向転換であることを到着リンクのコンパス方位および出発リンクのコンパス方位が示さないとプロセッサが判定したら(420の「いいえ」)、決定ブロック420での処理は完了となり、処理はプロセスブロック425へと続く。
【0061】
方向転換の方向および道路の走行側が一致しない場合(右折と左側走行または左折と右側走行)、交差点を通る経路は、道路の走行側とは反対の方向の方向転換である。プロセッサは、この決定をメモリまたはストレージに格納して後で処理する。このように、経路が、完了した道路の走行側とは反対の方向の方向転換であることを到着リンクのコンパス方位および出発リンクのコンパス方位が示すとプロセッサが判定したら(420の「はい」)、決定ブロック420での処理は完了となり、処理は決定ブロック430へと続く。
【0062】
特殊な場合において、到着リンクおよび出発リンクのコンパス方位が互いに略反対である場合は、交通横断の方向転換としてU字転回が識別され得る。プロセッサは、到着リンクおよび出発リンクのコンパス方位が略反対である場合、交差点を通る経路が道路の走行側とは反対の方向の方向転換であると判定する。プロセッサは、この決定をメモリまたはストレージに格納して後で処理する。このように、経路が、完了した道路の走行側とは反対の方向の方向転換であることを到着リンクのコンパス方位および出発リンクのコンパス方位が示すとプロセッサが判定したら(420の「はい」)、決定ブロック420での処理は完了となり、処理は決定ブロック430へと続く。
【0063】
決定ブロック430において、プロセッサは、ノードに入る第1のリンク(または、ノードから出る第1のリンク、もしくは、ノードに入る第1のリンクおよびノードから出る第1のリンクの両者)の第1のコンパス方位が到着リンクのコンパス方位とは反対であるかを判定する。
【0064】
一実施形態において、プロセッサは、進入リンクそれぞれおよび退出リンクそれぞれのコンパス方位を取得する。プロセッサは、ノードの到着リンクのコンパス方位をその他の進入リンクそれぞれのコンパス方位と比較して、進入リンクのコンパス方位が到着リンクのコンパス方位と略反対であるかを判定する。本明細書においては、このような進入リンクを反対交通到着リンクと称する場合がある。プロセッサは、ノードの到着リンクのコンパス方位を退出リンク(一実施形態においては、出発リンクを除く)それぞれのコンパス方位と比較して、退出リンクのコンパス方位が到着リンクのコンパス方位と略反対であるかを判定する。本明細書においては、このような退出リンクを反対交通出発リンクと称する場合がある。そして、プロセッサは、任意対の反対交通到着リンクおよび反対交通出発リンクのコンパス方位が到着リンクのコンパス方位と略反対であるかを判定する。プロセッサは、その判定の結果を格納し、後で処理して格納する。反対交通到着リンクおよび反対交通出発リンクの両者があることは、反対交通があることを示す。反対交通到着リンクおよび反対交通出発リンクの両者がないことは、反対交通がないことを示す。
【0065】
一実施形態において、コンパス方位は、ある方向の両側45°以内の場合、「略」当該方向である。また、その方向から0°までの狭い範囲も適当と考えられる。この近似により、各リンクのコンパス方位は、交差点における下層の道路セグメントの物理的配置に厳密に一致するのではなく、リンクの「起点」ノードおよび「終点」ノードの座標から導出され得る。また、この近似は、完全な直角ではない交差点も許容する。この単純な近似により交通横断の方向転換が正しく識別されないエッジケースの交差点が存在する可能性もある。識別の向上のため、付加的なロジックが実装されていてもよい。
【0066】
このように、ノードに入る第1のリンクおよびノードから出る第1のリンクの第1のコンパス方位が到着リンクのコンパス方位とは反対ではないとの判定をプロセッサが完了したら(430の「いいえ」)、決定ブロック430での処理は完了となり、処理はプロセスブロック425へと続く。また、ノードに入る第1のリンクおよびノードから出る第1のリンクの第1のコンパス方位が到着リンクのコンパス方位とは反対であるとの判定をプロセッサが完了したら(430の「はい」)、決定ブロック430での処理は完了となり、処理はプロセスブロック435へと続く。
【0067】
プロセスブロック435において、プロセッサは、たとえばメモリまたはストレージへの結果の書き込みによって、交差点を通る経路が交通横断の方向転換であるとの判定を登録し、その後の後続処理で取得して使用する。その後、プロセスブロック435での処理は完了となり、処理は終了ブロック440へと続いて、そこでプロセス400が終了となる。
【0068】
プロセスブロック425において、プロセッサは、たとえばメモリまたはストレージへの結果の書き込みによって、交差点を通る経路が交通横断の方向転換ではないとの判定を登録し、その後の後続処理で取得して使用する。その後、プロセスブロック425での処理は完了となり、処理は終了ブロック440へと続いて、そこでプロセス400が終了となる。
【0069】
図3の方法300のプロセスブロック310を再び参照するに、出発リンクについて、到着リンクから出発リンクへの車両の経路が対向交通を横断するとの判定をプロセッサがこのように完了したら、プロセスブロック310での処理は完了となり、処理はプロセスブロック320へと続く。
【0070】
図5A~
図5Fは、方法400が適用され得る交差点を通る例示的なルートを選択的に示している。これらの選択ルートは網羅的ではなく、方法400は、ほとんどの一般的な種類の交差点に適用可能である。また、方向転換が対向交通を横切るか否かの判定に付加的なロジックを要し得るエッジケースの交差点が存在する可能性もある。
図5A~
図5Fにおいて、道路の走行側は右側であり、北は紙面の上側である。
【0071】
図5Aは、四差路交差点504を通る交通横断方向転換ルート502の例を示す
図500であって、交差点504を表すノード506および交差点504に出入りする道路セグメントを表すリンクを示すグラフ部を含む。グラフ部は、ノードに出入りするリンクの中でもとりわけ、ルート到着リンク508、ルート出発リンク510、反対交通到着リンク512、および反対交通出発リンク514を示している。
【0072】
方法400によれば、到着リンク508のコンパス方位が北、出発リンク510のコンパス方位が反時計回りに90°の西であり、交差点504を通る経路502が左折であることを示している。左折の「左」が右側走行の「右」に一致せず、経路502が対向交通を横断する可能性があるため、その他のリンクのコンパス方位を確認することになる。反対交通到着リンク512および反対交通出発リンク514のコンパス方位はいずれも南であり、到着リンク508の北方位とは反対である。このため、ルート502は、対向交通横断(交通横断の方向転換)と識別される。
【0073】
図5Bは、T字交差点519を通る非交通横断方向転換ルート517の例を示す
図515であって、T字交差点519を表すノード521およびT字交差点519に出入りする道路セグメントを表すリンクを示すグラフ部を含む。グラフ部は、ノードに出入りするリンクの中でもとりわけ、ルート到着リンク523、ルート出発リンク525、および反対交通出発リンク527を示している。反対交通到着リンクが存在しないのは、ルート到着リンク523とは反対のコンパス方位で交差点519に入る交通がないためである。
【0074】
到着リンク523のコンパス方位が北、出発リンク525のコンパス方位が反時計回りに90°の西であり、交差点519を通る経路517が左折であることを示している。左折の「左」が右側走行の「右」に一致せず、経路517が対向交通を横断する可能性があるため、その他のリンクのコンパス方位を確認することになる。反対交通出発リンク527が到着リンク523とは反対のコンパス方位を有するものの、反対交通到着リンクは存在しない。したがって、ルート517は、対向交通横断ではないと識別される。
【0075】
図5Cは、車線が複数の四差路交差点534を通る交通横断方向転換ルート532の例を示す
図530であって、交差点534を表すノード536および交差点534に出入りする道路セグメントを表すリンクを示すグラフ部を含む。グラフ部は、ノードに出入りするリンクの中でもとりわけ、ルート到着リンク538、ルート出発リンク540、反対交通到着リンク542、および反対交通出発リンク544を示している。
【0076】
複数車線の双方向道路に特別な検討は不要である。
図5Aの例示
図500と同様に、到着リンク538のコンパス方位が北、出発リンク540のコンパス方位が反時計回りに90°の西であり、交差点534を通る経路532が左折であることを示している。左折の「左」が右側走行の「右」に一致せず、経路532が対向交通を横断する可能性があるため、その他のリンクのコンパス方位を確認することになる。反対交通到着リンク542および反対交通出発リンク544のコンパス方位はいずれも南であり、到着リンク538の北方位とは反対である。このため、ルート532は、対向交通横断(交通横断の方向転換)と識別される。また、方法400は、交通流の方向を表すリンクではなく、複数車線の双方向道路の各車線を表すリンクが存在する場合、同様に動作することになる。たとえば、対向交通到着リンク542および対向交通出発リンク544が二重になっていたとしても、方法400は依然として、方位が到着リンク538とは反対の一対の対向交通到着リンクおよび出発リンクを識別することになるため、交通横断の方向転換が識別されることになる。
【0077】
図5Dは、四差路交差点549を通る非交通横断方向転換ルート547の例を示す
図545であって、交差点549を表すノード551および交差点549に出入りする道路セグメントを表すリンクを示すグラフ部を含む。グラフ部は、ノードに出入りするリンクの中でもとりわけ、ルート到着リンク553、ルート出発リンク555、反対交通到着リンク557、および反対交通出発リンク559を示している。
【0078】
到着リンク553のコンパス方位が北、出発リンク555のコンパス方位が時計回りに90°の東であり、交差点549を通る経路547が右折であることを示している。右折の「右」が右側走行の「右」に一致するため、経路547が対向交通を横断する可能性はない。したがって、ルート547は、対向交通横断ではないと識別される。
【0079】
図5Eは、T字交差点564を通る交通横断方向転換ルート562の例を示す
図560であって、交差点564を表すノード566および交差点564に出入りする道路セグメントを表すリンクを示すグラフ部を含む。グラフ部は、ノードに出入りするリンクの中でもとりわけ、ルート到着リンク568、ルート出発リンク570、反対交通到着リンク572、および反対交通出発リンク574を示している。
【0080】
T字交差点564は、他のリンクに対する到着リンク568の位置に関して、
図5BのT字交差点519と異なる。到着リンク568のコンパス方位が北、出発リンク570のコンパス方位が反時計回りに90°の西であり、交差点564を通る経路562が左折であることを示している。左折の「左」が右側走行の「右」に一致せず、経路562が対向交通を横断する可能性があるため、その他のリンクのコンパス方位を確認することになる。反対交通到着リンク572および反対交通出発リンク574のコンパス方位はいずれも南であり、到着リンク568の北方位とは反対である。このため、ルート562は、対向交通横断(交通横断の方向転換)と識別される。東行きのリンクがないことは、この決定に何ら影響を及ぼさない。
【0081】
図5Fは、一方通行道路を含む交差点579を通る非交通横断方向転換ルート577の例を示す
図575であって、交差点579を表すノード581および交差点579に出入りする道路セグメントを表すリンクを示すグラフ部を含む。グラフ部は、ノードに出入りするリンクの中でもとりわけ、ルート到着リンク583およびルート出発リンク585を示している。到着リンク583の道路が一方通行道路であることから、反対交通の到着リンクも出発リンクも存在しない。
【0082】
到着リンク583のコンパス方位が北、出発リンク585のコンパス方位が反時計回りに90°の西であり、交差点579を通る経路577が左折であることを示している。左折の「左」が右側走行の「右」に一致せず、経路577が対向交通を横断する可能性があるため、その他のリンクのコンパス方位を確認することになる。ただし、反対交通出発リンクも反対交通到着リンクも存在しない。したがって、ルート577は、対向交通横断ではないと識別される。
【0083】
図5Gは、車線が複数の四差路交差点592を通る交通横断U字転回ルート591の例を示す
図590であって、交差点592を表すノード593および交差点592に出入りする道路セグメントを表すリンクを示すグラフ部を含む。グラフ部は、ノードに出入りするリンクの中でもとりわけ、ルート到着リンク594、反対交通到着リンク595、ならびに統合ルート出発リンクおよび反対交通出発リンク596を示している。
【0084】
ルート到着リンク594のコンパス方位が北、統合ルート出発リンクおよび反対交通出発リンク596のコンパス方位が南である。これは、U字転回を示す特殊な場合である。U字転回は、対向交通の妨げになる可能性があるため、交通横断の方向転換と考えられる。このため、ルート591は、交通横断の方向転換と識別される。
【0085】
図3の方法300を再び参照すると、プロセスブロック320において、プロセッサは、車両の経路が対向交通を横断するとの判定に応答して、車両ルートを表すルート目的関数に出発リンクの付加的な推定遅延を追加する(また、本明細書において論じる通り、交通横断の方向転換の別途料金または横断コストの適用によって、交通横断の方向転換を阻止するようにしてもよい)。
【0086】
一実施形態において、ルート生成エンジンにより実行される最短経路ソルバ(ダイクストラのアルゴリズム等)は、移動時間に(少なくとも部分的に)基づいて動作することにより、最短時間で完了となるノード間の経路を探索する。各リンクには、当該リンクにより表される道路セグメントを(リンクの「起点」ノードにより表される)始点交差点から(リンクの「終点」ノードにより表される)終点交差点まで移動するのに予想される時間を表す移動時間重みを含む。移動時間は、リンクデータ構造に値として格納される。リンクの移動時間は、当該リンクに対して道路ソースデータから導出された移動時間の履歴平均であってもよい。移動時間は、リンクに沿った移動が発生する時間帯および/または曜日に応じて変動し得る。たとえば、リンクの予想移動時間は、一日の毎時単位で提供され得るため、プロセッサは、車両がリンクに沿って移動する時間帯の予想移動時間を使用することになる。これは、車両がルート上の移動を開始するルート開始時刻からリンクに入る時刻における策定中のルートの総移動時間を加算することにより決定され得る。
【0087】
一実施形態において、ルートまたはルートセグメントの目的関数は、グラフ中の起点ノードと任意所与のノードとの間のリンクの累積コストである(一実施形態においては、移動時間、移動距離、交通横断方向転換遅延、および交通横断方向転換障害コストの関数として表される)。また、この任意所与のノードまでのルートの目的関数は、ノードのコストまたはノードに達するコストと称する場合もある。
【0088】
プロセッサは、リンクにより表される道路セグメントに達する交差点を通る車両の経路が対向交通を横切る方向転換を含むと判定した場合、リンクの推定移動時間に付加的な推定遅延を追加してリンクに沿う予想移動時間を長くすることにより、交通横断の方向転換を実行する時間を考慮する。この付加的な推定遅延(時間測定コスト)は、当該リンクに続くすべての後続するノードについて、目的関数に含まれる。また、推定移動時間に加算される付加的な推定遅延の時間は、交通量が少ない交通を横切る低リスク、低遅延の方向転換さえも阻止するように機能し得る。この阻止は、交通横断の方向転換を阻止する特定の目的のコストに対して明示的に追加される料金とは別個である。
【0089】
一実施形態においては、出発リンクについて、到着リンクから出発リンクへの車両の経路が対向交通を横断すると判定することのほか、プロセッサは、対向交通が交通量は少ないか否かも判定し、(i)対向交通は交通量が少ない場合は、予め設定されている標準遅延となるように、(ii)対向交通は交通量が少なくない場合すなわち交通量が多い場合は、推定交通密度に基づく遅延の動的生成尺度となるように、付加的な推定遅延を制御する。
【0090】
一実施形態において、対向交通の1日当たりの交通量が1000台/日の閾値を下回る場合は、対向交通が「交通量は少ない」または「住宅地」と考えられる。これは平均的すると、1台/分の対向車よりも少なく、交通横断の方向転換の完了に十分以上の時間を与え得るため、一般的に申し分のない閾値である。閾値には、本明細書のシステムおよび方法を使用する車両が交通を横切る方向転換を完了するのに要する予想時間に基づいて、より高い値またはより低い値を選択することも可能であるが、この時間は、特定の車両に基づいて大幅に変動し得る。たとえば、トラクタ・トレーラでは、完全停止から交通を横切る方向転換を完了するのに15秒以上を要すると考えられる一方、小型配送車では、同じ方向転換を完了するのに5秒もかからないと考えられる。一実施形態において、プロセッサは、たとえば道路ソースデータから、対向交通の交通量を計算または取得し、それより下だと交通が交通量は少ないとみなされ、それを超えると交通が交通量は少なくないとみなされる閾値と比較するようにしてもよい。
【0091】
あるいは、道路の階層において反対交通リンクにより表される道路の位置に基づいて、交通が交通量は少ないか否かが推測されるようになっていてもよい。地方の道路を表すリンクが「交通量は少ない」または「住宅地」交通と仮定される一方、補助幹線道路および幹線道路は、「交通量は少なくない」または「非住宅地」交通と考えられる。アクセスが制限されたフリーウェイについては、そのようなルートでの交通横断の方向転換が禁止されているため一般的には考慮されないが、アクセスが制限されたフリーウェイについても「交通量は少なくない」または「非住宅地」交通と考えられる。一実施形態において、プロセッサは、たとえば道路ソースデータから、道路の階層において対向交通を担う道路セグメントの位置を取得し、(i)道路セグメントが地方の道路である場合は、交通が交通量は少ないと、(ii)道路セグメントが交通量の多いルート(補助幹線道路、幹線道路、またはアクセスが制限されたフリーウェイ)である場合は、交通が交通量は少なくないと判定することがある。
【0092】
リンクにより表される道路セグメントに沿う交通が「住宅地」または「交通量は少ない」であるか否かについてのこれら判定の結果は、指標としてリンクのデータ構造に記録されるようになっていてもよい。これにより、一実施形態においては、対向交通を構成する1つまたは複数のリンクの交通が交通量は少ないとの当該1つまたは複数のリンクにおける指標に基づいて、対向交通が交通量は少ないと考えられる。たとえば、このような指標は、リンクの(
図2を参照して本明細書に記載の)「住宅地」フラグの「真」値へのリンクの設定等、リンクのデータ構造に含まれていてもよい。また、「住宅地」フラグは、リンクにより表される道路セグメントに沿う交通が「非住宅地」または「交通量は少なくない」(すなわち、交通量は多い)であることを示す「偽」値に設定されていてもよい。プロセッサは、グラフに対するクエリの実行によって、「住宅地」フラグの値を取得し、リンクの交通が「住宅地」または「交通量は少ない」と考えられるか否かについての判定として、取得した値を受け入れるようにしてもよい。
【0093】
プロセッサは、対向交通が交通量は少ないとの判定をこのように完了した後、(i)対向交通が交通量は少ない場合は、予め設定されている標準遅延となるように、(ii)対向交通が交通量は少なくない場合すなわち交通量は多い場合は、推定交通密度に基づく遅延の動的生成尺度となるように、付加的な推定遅延を制御する。一実施形態において、プロセッサは、交通が交通量は少ないか否かに基づいて付加的な推定遅延の選択に異なるプロセスを使用することにより、付加的な推定遅延を制御する。
【0094】
一実施形態において、出発リンクの付加的な推定遅延は、システムが受信して格納する交通横断の方向転換の予め設定された標準遅延であってもよい。たとえば、プロセッサは、標準遅延としてシステムの管理者が入力した値(たとえば、30秒または60秒)を受信するようにしてもよい。プロセッサは、これをストレージまたはメモリに格納して後で使用する。その後、付加的な推定遅延が呼び出された場合(住宅地交通横断方向転換がルートに含まれる場合)、プロセッサは、標準遅延の値を取得し、その値を付加的な推定遅延の値として計算に使用する。これにより、一実施形態においては、対向交通が交通量は少ない(または、住宅地)であるとの判定に応答して、プロセッサは、予め設定された標準遅延をメモリから取得し、付加的な推定遅延として提供することにより、付加的な推定遅延の値を制御する。
【0095】
一実施形態において、出発リンクの付加的な推定遅延は、対向交通の履歴速度および速度制限に少なくとも部分的に基づいて計算される。たとえば、対向交通が交通量は少なくない場合は、当該交通量の多い対向交通の動的生成推定遅延が生成および適用される。法定速度制限を下回る観測履歴速度は、交通密度が高いことを示し、交通横断の方向転換の遅延の増大の可能性がある。一方、法定速度制限(または、それ以上)の観測履歴速度は、交通密度がより低いことを示し、交通横断の方向転換の遅延の減少の可能性がある。このため、法定速度制限に対する観測速度の比を使用して標準遅延を修正することにより、交差点での状況をより厳密に適合させるようにしてもよい。たとえば、プロセッサは、上述の通り、標準遅延を受信、格納、および取得するようにしてもよい。その後、プロセッサは、法定速度制限(L)に対する履歴平均速度(H)の比で標準遅延(D)を除して調整済み遅延(A)を生成するようにしてもよい。履歴平均速度が低いほど、調整済み遅延が大きくなり、履歴平均速度が高いほど、調整済み遅延が小さくなる。任意選択として、Lに対するHの比に正の乗数(M)を適用することにより、調整済み遅延に対する比の影響の大きさを変えることができる。一実施形態において、プロセッサは、式1を実行することにより調整済み遅延を生成する。
【0096】
【0097】
プロセッサは、ストレージから、DおよびMの管理者設定値を取得する。プロセッサは、反対交通出発リンクおよび/または反対交通到着リンクと関連付けられているデータ構造からHおよびLの値を取得する。そして、プロセッサは、調整済み遅延Aを計算する。したがって、調整済み遅延Aは、推定交通密度の関数としての遅延の動的生成尺度である。これにより、一実施形態においては、対向交通が交通量は少なくない(すなわち、非住宅地である)との判定に応答して、プロセッサは、メモリから、予め設定された標準遅延(D)、履歴平均速度(H)、法定速度制限(L)、および乗数(M)の値を取得し、本明細書に記載の通り調整済み遅延(A)を計算し、調整済み遅延を付加的な推定遅延として提供することにより、付加的な推定遅延の値を制御する。
【0098】
一実施形態において、出発リンクの付加的な推定遅延は、車両ルートがノードに到着する時間帯の対向交通を構成する1つまたは複数のリンクの履歴交通速度に少なくとも部分的に基づいて計算される。履歴交通速度は、一日の異なる時間ブロックの一組の速度(たとえば、一組の24個の1時間ブロック)に分解され得る。これにより、プロセッサは、一実施形態において、交通横断の方向転換が発生する時間帯を決定し、この時間帯を含むブロックのHの値を選択した後、Aの値を計算する。
【0099】
このように、車両の経路が対向交通を横切るとの判定に応答して、車両ルートを表すルート目的関数への出発リンクの付加的な推定遅延の追加をプロセッサが完了したら、プロセスブロック320での処理は完了となり、処理はプロセスブロック325へと続く。
【0100】
一実施形態において、交差点は、交通横断の方向転換を含む複数の出発リンクを有する場合がある。たとえば、交差点の一方側だけに2つ以上の道路がつながるK字交差点が存在する場合もあれば、5つ以上の道路が交差点に接近して星形の交差点を構成する交差点が存在する場合もある。したがって、一実施形態においては、出発リンクと併せてノードから出る付加的な出発リンクごとに、プロセッサは、到着リンクから交通量が少ない対向交通を横断する付加的な出発リンクへの車両の出口経路の有無について付加的な出発リンクを識別し、車両ルートを表すルート目的関数に対して、付加的な出発リンクの推定遅延を追加する。たとえば、プロセッサは、出発リンクと併せてノードの各出口リンクを識別し、到着リンクから当該リンクへの経路が対向交通を横断するかを判定し、横断する場合は、当該交通が交通量は少ないかを判定し、最終的に、標準遅延を取得し、推知遅延として使用するか、または、調整済み遅延の計算に使用して、その調整済み遅延を推定遅延として使用することにより、推定遅延を追加する。
【0101】
交通横断の方向転換を伴う経路で生じた付加的な遅延は、交通横断の方向転換に対するバイアスの基準レベルを与える。一実施形態においては、発生する遅延以上に交通横断の方向転換をさらに拒絶するポリシーを本明細書のシステムおよび方法の動作に組み込むことができる。このようなポリシーの導入により、交通横断の方向転換に固有の交通事故の可能性を抑えることができる。たとえば、交通横断の方向転換ごとに、標準料金(または、横断コスト)を目的関数に追加して、交通横断の方向転換を含むルートをより高コストにすることができる。この料金は、所与のリンクにより表される道路セグメントに沿う車両の運行のコストに基づくものではなく、所与のリンクにより表される道路セグメントの使用を阻止するために課されるペナルティである。本明細書で使用する場合、料金は、横断コスト、すなわち、交通横断の方向転換を所与のリンクに導入する障害ペナルティコストとして課される。この料金(横断コスト)すなわちペナルティは、ポリシーが交通横断の方向転換を拒絶する程度を量子化する。一実施形態において、料金は、交通横断の方向転換の障害またはリスクの程度を反映する。
【0102】
一実施形態においては、車両の経路が対向交通を横断するとの判定に応答して、プロセッサは、車両ルートを表すルート目的関数に出発リンクの付加的なコストを追加する。プロセッサは、付加的な遅延の追加を参照して本明細書に記載の通り(たとえば、プロセスブロック310~320を参照して図示および記載の通り)、車両が対向交通を横断すると判定するようにしてもよい。そして、プロセッサは、メモリまたはストレージから料金の値を取得し、この値を料金として使用する。料金の値は、システムの管理者により設定されていてもよい。料金が高いほど、交通横断の方向転換に対するポリシーが強くなる。料金が高いほど、あるノードから別のノードへの最短ルートに交通横断の方向転換が含まれる可能性が低くなる。
【0103】
プロセスブロック325において、プロセッサは、ルート生成エンジンによって、対向交通を横断する経路を含むルートを第1の場所と第2の場所との間の最適(最小コスト)ルートとして選択する。
【0104】
一実施形態において、プロセッサは、グラフ中の各ノードが検討済みであると判定する。これは、グラフ中の第1の場所からグラフ中の他の各場所までの各経路が最適であり、到達するための移動時間のコストが最小であることをプロセッサに示す。これに応じて、プロセッサは、ルート(対向交通を横断する経路を含むルートを含む)を保持する(格納して後で取得および使用する)。たとえば、プロセッサは、グラフ中の第1の場所と関連付けられているデータ構造に第1の場所から別の場所までの各ルートを書き込むようにしてもよい(たとえば、第1の場所を表すノードと関連付けられている全ノードデータ構造にルートを書き込むようにしてもよい)。対向交通を横断する経路を含むルートは、第1の場所で開始となって第2の場所で終了となり、ルート中の第2の場所と関連付けられている位置において、全ノードデータ構造に格納される。
【0105】
一実施形態においては、グラフ中のあるノードから他の各ノードへの最適または最小コストルートがグラフの各ノードに格納される。一実施形態においては、グラフの各ノードから他の各ノードへの一組の最適または最小コストルートがデータ構造としてメモリまたはストレージに格納される。一実施形態において、各ルートの移動時間および各ルートの移動距離は、ルートと関連付けられ、データ構造としてメモリまたはストレージに格納される。最小コストルートには、住宅地交通横断方向転換を含む1つまたは複数のルートを含んでいてもよい。
【0106】
このように、ルート生成エンジンにより、対向交通を横断する経路を含むルートを第1の場所と第2の場所との間の最適ルートとして選択することをプロセッサが完了したら、プロセスブロック325での処理は完了となり、処理はプロセスブロック330へと続く。
【0107】
プロセスブロック330において、プロセッサは、スケジューリングエンジンによって、最適ルートを車両の配送スケジュールの一部として含める。一実施形態において、スケジューリングエンジン173は、MTSPソルバを実行する。MTSPソルバは、プロセッサによって実行されると、一組の配送場所、利用可能な配送車列、各ノードから他の各ノードへの一組の全ルート、ならびにこれらのルートと関連付けられている移動時間および移動距離を入力として受け入れる。MTSPソルバは、これらの入力から、一組の配送場所に関する配送スケジュールを生成する。
【0108】
一実施形態において、配送スケジュールは、どの配送品がどの車両により配送されるかと、車両が配送を行う順序と、を記述する。配送スケジュールは、倉庫から一連の配送場所を経由して倉庫に戻る(各配送場所を一度だけ集合的に訪問する(送達、集荷、または他のサービスを行う))一組の車両ルートを記述する。MTSPは、グラフの各ノードから他の各ノードまでの一組の最適または最小コストルートから、(倉庫または配送場所を表す)各ノードから割り当てられた一連の配送場所の次のノードまでの最適ルートを選択する。MTSPは、選択したルートに応じて、1つまたは複数の住宅地交通横断方向転換を含むルートを選択するようにしてもよい。
【0109】
MTSPは、車両ルート間で配送場所(および、関連する配送品)を分配することにより、すべての車両ルートにわたる配送品のコストの配送目的関数を最小化する。一実施形態において、配送目的関数は、移動距離、移動時間、および財務コストのうちの1つまたは複数を表し得る。一実施形態において、配送目的関数は、移動距離および移動時間の加重和を含む。一実施形態において、配送目的関数は、車両載荷時間等、他の加重入力を含む。ある配送場所から次の場所までの最適ルートが住宅地交通横断方向転換を伴うルートである場合、プロセッサは、当該最適ルートを配送スケジュールに含める。プロセッサは、完了した配送スケジュールをメモリまたはストレージに書き込む。
【0110】
スケジューリングエンジン173は、配送車両の(配送場所の)配送ルートに基づいて配送車両の積荷計画を生成し、この積荷計画を配送スケジュールに含めるようにしてもよい。積荷計画には、配送場所に配送される配送品目のリストを少なくとも含む。また、積荷計画は、配送品目が載荷される順序を示すことにより、配送のスケジューリング順序での配送品目へのアクセスを可能とし得る。また、積荷計画は、配送品目を配置する配送車両内の場所を指定し得る。
【0111】
一実施形態において、スケジュールは、配送場所での配送を必要とする特定の配送時間ウィンドウに対応する。一実施形態において、MTSPサーバ(MTSP server)は、機械学習モデルのトレーニングおよび使用により、入力に基づいてより優れた配送スケジュールを識別するようにしてもよい。
【0112】
このように、スケジューリングエンジンによって、最適ルートを車両の配送スケジュールの一部として含めることをプロセッサが完了したら、プロセスブロック330での処理は完了となり、処理はプロセスブロック335へと続く。
【0113】
プロセスブロック335において、プロセッサは、実行のために配送スケジュールを送信する。一実施形態において、プロセッサは、配送スケジュールを取得し、配送スケジュールを含むRESTリクエスト等のメッセージを構成し、コンピューティングデバイス145、155、160、161等のリモートコンピュータに配送スケジュールを送信する。一実施形態において、メッセージは、配送スケジュールの全部または一部をリモートコンピュータのグラフィカルユーザインターフェースに表示させる。一実施形態において、プロセッサは、配送車両と関連付けられているモバイルデバイスに配送ルートを送信して、配送ルートを運転者に表示させるとともに、対向交通を横切るように車両を運転者に運行させる。一実施形態において、プロセッサは、配送スケジュールを手持ち式配送情報端末161に送信して車両ルートをGPSナビゲーションGUIに表示するとともに、配送品目(たとえば、パッケージ)情報を配送端末GUIに提示する。
【0114】
一実施形態において、プロセッサは、配送車両で配送される品目の選択および載荷について、積荷計画をウェアハウスコンピューティングシステムに送信する。一実施形態においては、この送信によって、適切な配送品目を車両に配置する載荷命令をユーザが手動で実行する。別の実施形態において、プロセッサは、配送スケジュールをリモートコンピュータに送信してロボット載荷機器を自動的に動作させることにより、積荷計画を実行する。
【0115】
一実施形態において、配送スケジュールは、ユーザによる配送スケジュールの承認、拒否、または修正の入力選択肢と併せて表示される。このようなユーザフィードバックの使用により、MTSPソルバのMLモデルをトレーニングして、より優れた配送スケジュールを生成するようにしてもよい。
【0116】
一実施形態において、プロセッサは、配送スケジュールを自律配送車に送信して、配送スケジュールに従って、対向交通を横切って自律配送車を配送停止位置まで進ませる。一実施形態において、プロセッサは、配送スケジュールを取得し、配送スケジュールの全部または一部を含むRESTリクエスト等のメッセージを構成し、配送スケジュールに含まれる特定の車両ルートの配送の実行を自律配送車に指示する。配送スケジュールの自律配送車への送信に応答して、これらの命令は、配送スケジュールに従って、対向交通を横切って自律配送車を配送停止位置まで進ませる。一実施形態において、本明細書に記載のシステムおよび方法は、配送ルートおよびルートに沿う配送の完了命令を自律配送車に与えることにより、到着リンクから出発リンクまで対向交通を横切って、車両の経路を通って配送停止位置まで自律配送車を運行させる。
【0117】
このように、実行のために配送スケジュールを送信することをプロセッサが完了したら、プロセスブロック335での処理は完了となり、処理は終了ブロック340へと続いて、そこでプロセス300が終了となる。
【0118】
一実施形態において、方法300は、グラフにもグラフの道路ソースデータにも存在し得ない値の可用性に依存する。一実施形態においては、マップ拡張モジュール(マップ拡張モジュール175等)が道路ソースデータからグラフ用のこれら値を生成し、マップデータベース中のノードおよびリンクのデータ構造に格納するようにしてもよい。一実施形態において、マップ拡張モジュール175の機能は、動的交通横断方向転換車両ルートスケジューリングおよびナビゲーションロジック830が設定されている専用コンピューティングデバイス(コンピューティングデバイス805等)により実行される。
【0119】
一実施形態において、プロセッサは、グラフのリンクごとに、(交通/道路データ源195により時折提供または更新され得るような)道路ソースデータに基づいて、リンクに沿う交通が交通量は少ない/住宅地であるか交通量は少なくない/非住宅地であるかを判定し、リンクに沿う交通が交通量は少ないか否かの判定を、リンクを記述しているデータ構造に格納する。一実施形態において、この判定は、グラフとは別個の道路ソースデータのデータベースに基づく。一実施形態において、道路ソースデータは、グラフ(たとえば、リンクおよびノードデータ構造)に含まれる。
【0120】
一実施形態において、プロセッサは、グラフのリンクごとに、道路ソースデータからリンクの速度制限を取得し、リンクを記述しているデータ構造にリンクの速度制限を格納する。
【0121】
一実施形態において、プロセッサは、グラフのリンクごとに、リンクの開始点座標および終了点座標を取得し、リンクの開始点座標および終了点座標からのリンクのコンパス方位を計算し、リンクを記述しているデータ構造にリンクのコンパス方位を格納する。
【0122】
例示的な疑似コード
一実施形態においては、ダイクストラのアルゴリズムがルート生成エンジン170により実行される最短経路ソルバアルゴリズムである。高いレベルにおいて、ダイクストラのアルゴリズムは、起点ノードからグラフの他の各ノードに到達するためのコストを過大評価し、各ノードおよびその隣接ノードを訪問して、各隣接ノードへのより低コストのルートセグメント(または、副経路)が存在するかを確認することにより動作する。ダイクストラのアルゴリズムは、本明細書のシステムおよび方法に応じた修正により、対向交通が交通量は少ないか(または、住宅地であるか)否か基づいて、アルゴリズムにより策定された最小コストルートに含めるための交通横断の方向転換の動的コスト加重を可能にし得る。ダイクストラのアルゴリズムの例示的な一実施態様の疑似コードを表1に示すが、これは、車両ルートにおける対向交通の交通量の多さに基づいて、交通横断の方向転換の動的な包含を可能にするように修正したものである。
【0123】
【0124】
表1のアルゴリズムは、グラフ中の起点ノードから他の各ノードへの目的コストが最も低いルートまたは経路を探索する。交通横断の方向転換は、対向交通が交通量は少ない場合にはルートに動的に含まれ、対向交通が交通量は少なくない場合には、交通密度の関数として動的に拒絶されるが、目的コストのより低い解が存在しない場合には依然としてルートに含まれる。「コスト」は、財務コストではなく、移動時間、移動距離、および交通横断の方向転換の拒絶の程度等の因子を考慮する「最も好ましい」ルートの探索に用いられる地理的な場所間の移動の負担の尺度である。一実施形態においては、コストが時間に関して表され、交通横断の方向転換の障害コストは、移動時間以外の因子(衝突のリスク)を表していても時間で表される。
【0125】
表1の行03~11には、表1のアルゴリズムの初期化ステップを含む。行03~07では、グラフの各ノード(n)について、起点からノードに到達するためのコスト(cost[n](本明細書においては、ノードのコストとも称する))が無限大に初期化され、起点からノードに到達するための移動時間(travelTime[n])が無限大に初期化され、起点からノードまでの最適経路の先行ノード(previous[n])が未定に設定される。行08においては、起点に到達するためのコスト(cost[origin])がゼロに設定されるが、これは、既に起点に存在する場合、起点に到達するためのコストが発生しないためである。行09において、グラフ中の一組の全ノードは、グラフ中の一組の未確認ノードであるアレイQに配置される。行10においては、住宅地/交通量は少ない交通横断方向転換に対する一定の推定遅延時間(estimatedDelayTime)が設定される。一実施形態においては、これは、履歴住宅地交通横断方向転換の観測遅延時間に基づくすべての住宅地交通横断方向転換の平均遅延時間である。一例において、推定遅延時間は、行10に示すように、たとえば30秒であってもよい。行10においては、付加的な料金定数(crossingCost)が設定される。この料金は、システムの管理者が一般的に交通横断の方向転換の阻止を望む程度を表す付加的なコストである。表1の例においては、料金が0に設定されており、住宅地交通横断方向転換を阻止しないことを示している。料金のレベルが高くなると、住宅地交通横断方向転換の阻止のレベルも高くなる。一実施形態において、推定遅延コストおよび/または料金は、方向転換が発生している時間帯に応じて変動し得る。これは、ルートの開始時間からノードに到達するまでに経過した移動時間に基づいていてもよい。
【0126】
表1の行17~60は、グラフ中のすべてのノードを確認するためのwhileループであって、Qに未確認ノードが依然として存在する間は繰り返される。行18および19においては、一組の未確認ノードQから現在検討中のノード(u)が抽出される。現在検討中のノードは、最小コストのノードである。したがって、whileの最初の反復では、Qから抽出された最初のノードが起点ノードとなる。これは、そのコストが0である一方、他のすべてのノードが無限大のコストを有するためである。行20~59において、プロセッサは、たとえば
図4を参照して本明細書に図示および記載の通り、現在検討中のノード(u)の未訪問隣接ノード(n)ごとに、uからnへの経路が交通横断の方向転換であるかを判定する。uからnへの経路が交通横断の方向転換である場合は、行22~50が実行されることになる。uからnへの経路が交通横断の方向転換でない場合は、行51~58で別の方法が実行されることになる。
【0127】
uからnへの経路が交通横断の方向転換である場合は、行22において、交通横断は交通量が少ないか否かが判定される。交通横断が交通量は少ない場合は、行23~24において暫定コスト(tempCost)が計算されるが、これは、現在検討中のノードのコスト(cost[u])、uからnに到達するための移動時間(travelBetween(u,n))、推定遅延時間(estimatedDelayTime)、および料金(crossingCost)の合計である。行25においては、暫定コスト(tempCost)が隣接ノードnのコスト(cost[n])と比較される。暫定コスト(tempCost)が隣接ノードnのコスト(cost[n])を下回る場合は、(i)行26において、隣接ノードnのコスト(cost[n])が小さい方の暫定コスト(tempCost)で置き換えられ、(ii)行27~29において、現在のノードuに到達するための移動時間(travelTime[u])、現在のノードuと隣接ノードnとの間の移動時間(travelBetween(u,n))、および推定遅延時間(estimatedDelayTime)の合計として隣接ノードnまでの移動時間(travelTime[n])が設定され、(iii)行30において、現在検討中のノード(u)として隣接ノード(n)に到達する経路の先行ノードが設定される。交通横断は交通量が少なくない場合は、行37~40において暫定コスト(tempCost)が計算されるが、これは、現在検討中のノードに到達するためのコスト(cost[u])、uからnに到達するための移動時間(travelBetween(u,n))、推定遅延時間(estimatedDelayTime)、料金(crossingCost)、および動的生成交通密度コスト(densityCost())の合計である。行42においては、暫定コスト(tempCost)が隣接ノードnのコスト(cost[n])と比較される。暫定コスト(tempCost)が隣接ノードnのコスト(cost[n])を下回る場合は、(i)行43において、隣接ノードnのコスト(cost[n])が小さい方の暫定コスト(tempCost)で置き換えられ、(ii)行44~46において、現在のノードuに到達するための移動時間(travelTime[u])、現在のノードuと隣接ノードnとの間の移動時間(travelBetween(u,n))、および推定遅延時間(estimatedDelayTime)の合計として隣接ノードnまでの移動時間(travelTime[n])が設定され、(iii)行47において、現在検討中のノード(u)として隣接ノード(n)に到達する経路の先行ノードが設定される。一実施形態において、密度コストは、たとえば式1を参照して本明細書に図示および記載の通り、現在のノード(u)により表される交差点での推定交通密度の関数である。
【0128】
uからnへの経路が交通横断の方向転換でない場合(たとえば、交差点を通って直接進む場合または交通を横断しない方向転換を行う場合)は、行52において暫定コスト(tempCost)が計算される。これは、現在検討中のノードのコスト(cost[u])、uからnに到達するための移動時間(travelBetween(u,n))の合計である。行53においては、暫定コスト(tempCost)が隣接ノードnのコスト(cost[n])と比較される。暫定コスト(tempCost)が隣接ノードnのコスト(cost[n])を下回る場合は、(i)行54において、隣接ノードnのコスト(cost[n])が小さい方の暫定コスト(tempCost)で置き換えられ、(ii)行55において、現在のノードuに到達するための移動時間(travelTime[u])および現在のノードuと隣接ノードnとの間の移動時間(travelBetween(u,n))の合計として隣接ノードnに到達するための移動時間(travelTime[n])が設定され、(iii)行56において、現在検討中のノード(u)として隣接ノード(n)に到達する経路の先行ノードが設定される。
【0129】
一組の未確認ノードQがなくなり、グラフ中の各ノードが確認されると、whileループは終了となり、行63において、グラフのノードの一組の全先行ノード(または、先行者)が返される。この一組の先行ノードにより、グラフの起点からその他すべてのノードまでの一組の最小コスト(最適)ルートが組み立てられ得る。さらに、グラフの各ノードに到達するためのコストが記録されるが、これには、住宅地交通横断方向転換を含むために課された任意の推定遅延コストおよび/または料金を含む。潜在的なルートは除外されない。すなわち、非住宅地(すなわち、交通量は多い)の交通横断は潜在的なルートと考えられる。最終的なルートは最小コストに基づいて選択されるが、これには、交通量は少ない交通あるいは交通量は多い交通の交通横断の方向転換さえをも含み得る(このような方向転換が最小コストルートに含まれる場合)。また、ノードまでのルートの付加的な基準が記録されるようになっていてもよい。たとえば、アルゴリズムにおけるコスト関数の基準に関わらず、ルートの総移動時間およびルートの総距離の両者が記録されるようになっていてもよい。グラフのその他すべてのノードまでの最小コストルートならびにルートの関連するコスト、移動時間、および距離は、起点ノードのデータ構造と関連付けられているデータ構造として格納されるようになっていてもよい。一実施形態において、表1のアルゴリズムは、起点として設定されるグラフのノードごとに実行されるため、グラフの各ノードから他の各ノードまでの完全な一組の最小コストルートが策定される。したがって、一組の最小コストルートならびにそれぞれの関連するコスト、移動時間、および距離は、スケジューリングエンジン173による実行のように、複数巡回セールスマンソルバ/オプティマイザによる取得および使用に利用可能となる。一実施形態において、スケジューリングエンジン173は、模擬アニーリングを用いた連続最適化を採用しており、ルートの目的関数および漸減アニーリングパラメータに基づいてスケジュールの代替的な変形間で確率的に選択することで、マップ内の大域的に最適な一組のルートを近似する。
【0130】
選択的利点
本明細書に記載のシステムおよび方法は、交通横断の方向転換を伴うルートの移動の安全性を向上させている。
【0131】
ここで克服された課題として特に、デジタルナビゲーションおよびルーティングにおける道路網のグラフ表現の利用が挙げられる。これらのグラフには、交通横断の方向転換が適当であるかを評価する情報を含まない。たとえば、道路網のグラフ表現は、到着リンクからの道路交通がどちら側であるかを示さない。本明細書に記載のシステムおよび方法は、到着リンクからの道路交通がどちら側であるかを示さない道路網のグラフ表現における交通横断の方向転換の評価を可能にする。これにより、コンピュータは、対向交通の性質を考慮した上で、交通横断の方向転換の実行可能性を評価可能となり、(従来はコンピュータで行えなかった)交通横断の方向転換を移動ルートに含めるか否かの評価も可能になる。このように、本明細書のシステムおよび方法は、車両のルーティングに際して、交通横断の方向転換の条件付きの動的評価を可能にすることにより、デジタルナビゲーションの技術を向上させる。
【0132】
さらに、交通は交通量が少ない場合には公称標準遅延で交通横断の方向転換を大略可能にし、交通は交通量が多い場合には交通横断の方向転換に適用される遅延の尺度を動的に生成することによって、安全性が同じレベルに維持され、過剰な交通横断の方向転換が回避され、「ハード」な交通横断方向転換禁止ルールの実施と同様に安全性が向上する一方、「ハード」な交通横断方向転換禁止ルールよりも多様なルーティング選択肢を車両に提供可能となる。これにより、システムは、交通横断の方向転換を時折含むより高速ルートを依然として利用可能としつつ、同様の安全性便益を確保可能となる。
【0133】
ソフトウェアモジュールの実施形態
一般的には、CPUまたはGPUリソースへのアクセス等、メモリにアクセスする1つまたは複数の好適にプログラムされたプロセッサによって、ソフトウェア命令が実行されるように設計されている。これらのソフトウェア命令には、たとえばコンピュータ実行可能コードおよびコンパイルされてコンピュータ実行可能コードとなり得るソースコードを含み得る。また、これらのソフトウェア命令には、スクリプト言語等のインタープリタ型プログラミング言語で書かれた命令を含み得る。
【0134】
複雑なシステムにおいて、このような命令は、それぞれが特定のタスク、プロセス、機能、または動作を実行するプログラムモジュールとして構成されていてもよい。一組のモジュールは、その全体動作がシステムのメインプログラム、オペレーティングシステム(OS)、または他の形式の組織的プラットフォームにより制御または調整され得る。
【0135】
一実施形態において、本明細書に記載の構成要素のうちの1つまたは複数は、非一時的コンピュータ可読媒体に格納されているモジュールとして構成されている。これらのモジュールには、少なくともメモリまたはストレージにアクセスするプロセッサによって実行されると、本明細書に記載のような対応する機能をコンピューティングデバイスに実行させる格納されたソフトウェア命令で構成されている。
【0136】
クラウドまたはエンタープライズの実施形態
一実施形態において、本システム(スケジューリング、ディスパッチ、およびルーティングシステム105等)は、ネットワーク(ネットワーク110等)を介して本システムと通信するエンタープライズと関連付けられている他のクライアントコンピューティングデバイス(エンタープライズネットワーク115のクライアントデバイス145、150、155、160、161、および165等)によるアクセスおよび使用のため、コンピューティングアプリケーションまたは分散コンピューティングアプリケーションの集合を含むコンピューティング/データ処理システムである。アプリケーションおよびコンピューティングシステムは、クラウドベースのネットワークコンピューティングシステム、IAAS(infrastructure-as-a-service)、PAAS(platform-as-a-service)、もしくはSAAS(software-as-a-service)アーキテクチャ、または他種のネットワーク化コンピューティングソリューションと動作するように構成されていてもよいし、これらとして実現されていてもよい。一実施形態において、本システムは、本明細書に開示の機能のうちの少なくとも1つまたは複数と、これらの機能にアクセスして動作させるためのグラフィカルユーザインターフェースと、を提供する。
【0137】
自律走行車の実施形態
図6は、本明細書に記載のシステムおよび方法ならびに/または同等物のうちの1つまたは複数に従って動作するように構成および/またはプログラムされている例示的な自律走行車制御システム605を示している。自律走行車165は、自律走行車制御システム605により動作可能であり得る。一実施形態において、自律走行車制御システム605は、自律走行車165のシステムに動作可能に接続された例示的なコンピューティングシステム800等の車載コンピューティングデバイス610を具備する。一実施形態において、自律走行車制御システム605は、車両センサ615を具備する。車両センサには、全地球測位システム(GPS)受信機、単眼もしくは双眼カメラ、レーダセンサ、ライダーセンサ、超音波センサ、加速度計、ジャイロスコープ、温度計、光検出器、降雨センサ、車輪速度、車輪横滑り、および/もしくは車速を決定するタコメータ、トルクセンサ、および運転者入力センサ617を含み得る。運転者入力センサ617には、ハンドル、ブレーキ、アクセル、シフト、または指示器の各システムに対する運転者入力を検出するセンサを含む。自律走行車制御システム605は、ネットワーク110等の無線または(断続的)有線通信ネットワークを通じて、スケジューリング、ディスパッチ、およびルーティングシステム105および交通/道路データ源195等の外部データ源620にアクセスすることができる。自律走行車制御システム605は、自律走行ロジック630による制御に応答して自律走行車165の運動または他の動作をもたらすように構成された車両アクチュエータ625を具備する。
【0138】
自律走行ロジック630は、本明細書に記載のシステムおよび方法に従って生成された交通横断の方向転換635を伴うルート、マップ640、ならびに車両センサ615からの入力を取得または受信し、制御信号を車両アクチュエータ625に送信することにより、交通横断の方向転換を通って1つまたは複数の終点に至るルートに沿って、自律走行車165の制御、ガイド、または動作を行う。また、自律走行ロジック630は、現行交通データ645を取得または受信して、その制御決定を通知する。交通横断の方向転換635を伴うルートには、ルートに沿う終点までの配送スケジュールを含み得る。ルート635、マップ640、および交通データは、車載コンピューティングデバイス610によって外部データ源620から連続的または間隔をおいて取得され、自律走行ロジック630による迅速なアクセスのため、車載コンピューティングデバイス610のローカルデータ構造として格納されるようになっていてもよい。
【0139】
自律走行車165等の自律走行車は、フルサイズの公道走行可能な車両であってもよいし、歩道に沿って移動するように構成されたコンパクトな車両であってもよい。一実施形態において、自律走行車165には、配送品を預けたり、配送品へのアクセスを許可したり、配送品を受け取ったり、配送品を回収したりするのに使用され得る配送/回収機器650が装備されていてもよい。配送/回収機器650は、自律走行ロジックにより送られた制御信号に応答して、車両アクチュエータ625により動作するようになっていてもよい。配送/回収機器650は、パッケージ等の配送品目の自律走行車165への出入りを可能にするように構成された自動作動ドアと、配送品目の把持および/または自律走行車165への出し入れ操縦を行うように構成されたロボットアームおよびコンベアデバイスと、を具備していてもよい。配送/回収機器650は、交通横断の方向転換を伴うルートに沿う移動に先立つ配送品目の載荷または交通横断の方向転換を伴うルートに沿う移動後の配送の完了に用いられるようになっていてもよい。
【0140】
一実施形態において、車載コンピューティングデバイス610は、動的交通横断方向転換車両ルートスケジューリングおよびナビゲーションロジック655により、方法300または方法400等、本明細書に記載の方法を実行して、交通横断の方向転換を伴うルート635を生成するように構成されている。車載コンピューティングデバイス610は、品目の配送または集荷のための1つまたは複数の終点のリストまたはスケジュールの提供に応答して、上記のように動作し得る。あるいは、交通横断の方向転換を伴う予備生成ルート635がスケジューリング、ディスパッチ、およびルーティングシステム105から直接提供されるようになっていてもよい。一実施形態において、終点(または、ルート635)のリストは、自律走行車165が「本拠地」の場所から離れている間に、無線ネットワークを介して車載コンピューティングデバイス610に提供されるようになっていてもよく、これは、品目の集荷動作において特に有用となり得る。
【0141】
策定されたルートには、交通量は少ない交通においてより安全かつ低リスクの方向転換である左折しか含まれていないため、交通横断の方向転換が許可されている自律走行車の衝突リスクは、本明細書のシステムおよび方法を実施することで大幅に低減される。交通量の多い交通における交通横断の方向転換は回避される。
【0142】
モバイルデバイスの実施形態
ここで
図7を参照して、この図は、本明細書に記載のシステムおよび方法ならびに/または同等物のうちの1つまたは複数で構成および/またはプログラムされている例示的なモバイルデバイス700を示している。一実施形態において、モバイルデバイス700は、
図1~
図6を参照して図示および記載のロジック、システム、および方法と同様に、反対交通を横切る方向転換の動的選択による車両ルートのスケジューリングおよびナビゲーションを容易化するように構成された動的交通横断方向転換車両ルートスケジューリングおよびナビゲーションロジック705を具備していてもよい。モバイルデバイス700は、セルラーアンテナ710を具備していてもよい。例示的な実施形態では、
図7において720で大略識別される信号処理および/または制御回路を実現し得る。いくつかの実施態様において、モバイルデバイス700は、マイク730、スピーカおよび/もしくはオーディオ出力ジャック等のオーディオ出力740、ディスプレイ750、ならびに/またはキーパッド、ポインティングデバイス、タッチスクリーン、音声作動、および/もしくは他の入力装置等の入力装置760を具備する。モバイルデバイス700の信号処理および/または制御回路720ならびに/または他の回路(図示せず)は、データの処理、コーディングおよび/もしくは暗号化の実行、計算の実行、データのフォーマット、ならびに/または他の携帯電話機能の実行を行い得る。
【0143】
モバイルデバイス700は、光学記憶装置ならびに/または磁気記憶装置(たとえば、HDDおよび/もしくはDVDを含む)等、データを不揮発で格納する大容量データストレージ770と通信するようになっていてもよい。HDDは、約1.8インチよりも小さな直径を有する1つまたは複数のプラッタを含むミニHDDであってもよい。携帯電話700は、RAM、ROM、フラッシュメモリ等の低レイテンシ不揮発性メモリ、および/または他の好適な電子データストレージ等のメモリ780に接続されていてもよい。また、モバイルデバイス700は、WLANネットワークインターフェース790を介したWLANとの接続をサポートしていてもよい。モバイルデバイス700は、WLANアンテナ795を具備していてもよい。例示的な本実施形態においては、このWLANネットワークインターフェース790を使用することにより例示的なシステムおよび方法が実現され得る一方、他の構成も可能である。
【0144】
一実施形態において、モバイルデバイス700は、手持ち式配送情報端末であってもよく、バーコード/QRコード(登録商標)/他のコードのスキャンデバイス、サイン入力装置、およびGPS受信機等の付加的なハードウェアコンポーネントを具備する。手持ち式配送端末として構成されたモバイルデバイス700は、特定の場所における配送、集荷、もしくはサービスの順序のスケジュール等の配送情報、ならびに注文詳細をディスプレイ750に提示するための特別なソフトウェアを含んでいてもよい。手持ち式配送端末として構成されたモバイルデバイス700は、スケジュール上の場所間のルートをディスプレイ750に提示して、ある配送、集荷、またはサービス場所から次の場所へとユーザをガイドするための特別なGPSナビゲーションソフトウェアを含んでいてもよい。
【0145】
コンピューティングデバイスの実施形態
図8は、専用コンピューティングデバイスとして、本明細書に記載の例示的なシステムおよび方法ならびに/または同等物のうちの1つまたは複数で構成および/またはプログラムされている例示的なコンピューティングシステム800を示している。例示的なコンピューティングデバイスは、バス825により動作可能に接続されたプロセッサ810、メモリ815、および入出力ポート820を具備するコンピュータ805であってもよい。一例において、コンピュータ805は、
図1~
図6を参照して図示および記載のロジック、システム、および方法と同様に、反対交通を横切る方向転換の動的選択による車両ルートのスケジューリングおよびナビゲーションを容易化するように構成された動的交通横断方向転換車両ルートスケジューリングおよびナビゲーションロジック830を具備していてもよい。異なる例において、動的交通横断方向転換車両ルートスケジューリングおよびナビゲーションロジック830は、ハードウェア、命令が格納されている非一時的コンピュータ可読媒体、ファームウェア、および/またはこれらの組み合わせにて実現されていてもよい。動的交通横断方向転換車両ルートスケジューリングおよびナビゲーションロジック830は、バス825に取り付けられたハードウェアコンポーネントとして示しているが、当然のことながら、他の実施形態においては、動的交通横断方向転換車両ルートスケジューリングおよびナビゲーションロジック830は、プロセッサ810における実装、メモリ815への格納、またはコンピュータ可読媒体837上のディスク835への格納も可能である。
【0146】
一実施形態において、動的交通横断方向転換車両ルートスケジューリングおよびナビゲーションロジック830またはコンピューティングシステム800は、記載の動作を実行するための手段(構造、ハードウェア、非一時的コンピュータ可読媒体、ファームウェア等)である。いくつかの実施形態において、コンピューティングデバイスは、クラウドコンピューティングシステムにおいて動作するサーバ、SaaS(Software-as-a-Service)アーキテクチャにおいて構成されたサーバ、スマートフォン、ラップトップ、タブレットコンピューティングデバイス等であってもよい。
【0147】
この手段は、本明細書に図示および記載の通り、たとえば反対交通を横切る方向転換の動的選択による車両ルートのスケジューリングおよびナビゲーションを実行するようにプログラムされたASICとして実現されていてもよい。また、この手段は、メモリ815に一時的に格納された後、プロセッサ810により実行されるデータ840としてコンピュータ805に提示される格納コンピュータ実行可能命令として実現されていてもよい。
【0148】
また、動的交通横断方向転換車両ルートスケジューリングおよびナビゲーションロジック830は、反対交通を横切る方向転換の動的選択による車両ルートのスケジューリングおよびナビゲーションを実行するための手段(たとえば、ハードウェア、実行可能命令を格納する非一時的コンピュータ可読媒体、ファームウェア)を提供し得る。
【0149】
コンピュータ805の例示的な一構成を一般的に説明すると、プロセッサ810は、デュアルマイクロプロセッサおよび他のマルチプロセッサアーキテクチャを含む多種多様なプロセッサであってもよい。メモリ815には、揮発性メモリおよび/または不揮発性メモリを含み得る。不揮発性メモリには、たとえばROM、PROM、EPROM、EEPROM等を含み得る。揮発性メモリには、たとえばRAM、SRAM、DRAM等を含み得る。ストレージディスク835は、たとえば入出力(I/O)インターフェース(たとえば、カードもしくはデバイス)845ならびに少なくとも入出力(I/O)コントローラ847によって制御される入出力ポート820によって、コンピュータ805に動作可能に接続されていてもよい。ディスク835は、たとえば磁気ディスクドライブ、ソリッドステートディスクドライブ、フロッピー(登録商標)ディスクドライブ、テープドライブ、Zipドライブ、フラッシュメモリカード、メモリスティック等であってもよい。さらに、ディスク835は、CD-ROMドライブ、CD-Rドライブ、CD-RWドライブ、DVD ROM等であってもよい。メモリ815は、たとえば1つまたは複数のデータ構造としてフォーマットされたプロセス850および/またはデータ840を格納し得る。ディスク835および/またはメモリ815は、コンピュータ805のリソースを制御して割り当てるオペレーティングシステムを格納し得る。コンピュータ805は、入出力(I/O)コントローラ847、I/Oインターフェース845、および入出力ポート820を介して、入出力(I/O)デバイスとの相互作用、入出力(I/O)デバイスの制御、および/または入出力(I/O)デバイスによる制御が可能である。入出力装置には、1つまたは複数のディスプレイ870、プリンタ872(インクジェット、レーザ、もしくは3Dプリンタ等)、オーディオ出力装置874(スピーカもしくはヘッドフォン等)、テキスト入力装置880(キーボード等)、ポインティングおよび選択デバイス882(マウス、トラックボール、タッチパッド、タッチスクリーン、ジョイスティック、ポインティングスティック、スタイラスマウス等)、オーディオ入力装置884(マイク等)、ビデオ入力装置886(ビデオおよびスチルカメラ等)、ビデオカード(図示せず)、ディスク835、ネットワークデバイス855、自律走行車890、IoT(モノのインターネット)センサ(図示せず)等を含む。入出力ポート820には、たとえばシリアルポート、パラレルポート、およびUSBポートを含み得る。
【0150】
コンピュータ805は、ネットワーク環境において動作可能であるため、I/Oインターフェース845および/またはI/Oポート820を介してネットワークデバイス855に接続されていてもよい。コンピュータ805は、ネットワークデバイス855を通じて、ネットワーク860と相互作用し得る。コンピュータ805は、ネットワーク860を通じて、リモートコンピュータ865、リモートモバイルデバイス、または自律走行車890等のリモートコンピュータ制御可能ハードウェアに論理的に接続されていてもよい。コンピュータ805が相互作用し得るネットワークとしては、LAN、WAN、および他のネットワークが挙げられるが、これらに限定されない。
【0151】
定義および他の実施形態
別の実施形態においては、記載の方法および/またはそれぞれの同等物がコンピュータ実行可能命令で実現されていてもよい。このため、一実施形態においては、非一時的コンピュータ可読/記憶媒体は、マシンによって実行されると、上記方法をマシン(および/または、関連する構成要素)に実行させるアルゴリズム/実行可能アプリケーションの格納されたコンピュータ実行可能命令で構成されている。例示的なマシンとしては、プロセッサ、コンピュータ、クラウドコンピューティングシステムにおいて動作するサーバ、SaaS(Software-as-a-Service)アーキテクチャにおいて構成されたサーバ、スマートフォン等が挙げられるが、これらに限定されない。一実施形態においては、開示の方法のいずれかを実行するように構成された1つまたは複数の実行可能アルゴリズムによってコンピューティングデバイスが実現されている。
【0152】
1つまたは複数の実施形態において、開示の方法またはそれぞれの同等物は、当該方法を実行するように構成されたコンピュータハードウェア、または、非一時的コンピュータ可読媒体に格納されているモジュールにおいて具現化され、少なくともコンピューティングデバイスのプロセッサによって実行させると、上記方法を実行するように構成された実行可能アルゴリズムとして構成されたコンピュータ命令により実行される。
【0153】
説明の簡素化を目的として、図面に示す方法は、アルゴリズムの一連のブロックとして図示および記載しているが、これらの方法はブロックの順序による制限を受けないことを理解すべきである。いくつかのブロックは、図示および記載のものと異なる順序および/または他のブロックと同時に起こり得る。さらに、例示的な方法の実現に図示のすべてのブロックが使用されなくてもよい。ブロックは、組み合わされてもよいし、複数の動作/構成要素に分離されてもよい。さらに、付加的および/または代替的な方法では、ブロックに示していない付加的な動作を採用することも可能である。
【0154】
以下は、本明細書において選択的に採用している用語の定義である。これらの定義には、用語の範囲に含まれ、実施のために使用され得る構成要素の種々例および/または形態を含む。これらの例は、何ら限定を意図していない。用語の単複両形式が定義に含まれ得る。
【0155】
「一実施形態(one embodiment、an embodiment)」、「一例(one example、an example)」等の言及は、このように記載の実施形態または例が特定の特徴、構造、特質、特性、要素、または制限を含み得るものの、あらゆる実施形態または例が必ずしも当該特定の特徴、構造、特質、特性、要素、または制限を含むわけではないことを示す。さらに、表現「一実施形態において(in one embodiment)」の繰り返し使用は、同じ実施形態を表す可能性はあるものの、必ずしもその通りではない。
【0156】
ASIC:特定用途向け集積回路
CD:コンパクトディスク
CD-R:記録可能CD
CD-RW:書き換え可能CD
CPU:中央演算処理装置
DVD:デジタルバーサタイルディスクおよび/またはデジタルビデオディスク
GPS:全地球測位システム
GPU:グラフィックス処理ユニット
HDD:ハードディスクドライブ
HTTP:ハイパーテキスト転送プロトコル
IAAS:infrastructure-as-a-service
LAN:ローカルエリアネットワーク
MTSP:複数巡回セールスマン問題
PAAS:platform-as-a-service
PCI:ペリフェラルコンポーネントインターコネクト
PCIE:PCIエクスプレス
RAM:ランダムアクセスメモリ
DRAM:ダイナミックRAM
SAAS:software-as-a-service
SRAM:同期RAM
ROM:リードオンリーメモリ
PROM:プログラム可能ROM
EPROM:消去可能PROM
EEPROM:電気的消去可能PROM
SQL:構造化照会言語
OQL:オブジェクト照会言語
USB:ユニバーサルシリアルバス
XML:拡張マークアップ言語
WAN:ワイドエリアネットワーク
本明細書で使用する場合の「データ構造(data structure)」は、メモリ、記憶装置、または他のコンピュータシステムに格納されているコンピューティングシステム中の組織化されたデータである。データ構造は、たとえばデータフィールド、データファイル、データアレイ、データレコード、データベース、データテーブル、グラフ、ツリー、リンクリスト等のいずれか1つであってもよい。データ構造は、他の多くのデータ構造から形成されるとともに、他の多くのデータ構造を含んでいてもよい(たとえば、データベースは、多くのデータレコードを含む)。他の実施形態によれば、データ構造の他の例も同様に可能である。
【0157】
本明細書で使用する場合の「コンピュータ可読媒体(computer-readable medium)」または「コンピュータ記憶媒体(computer storage medium)」は、実行されると、開示の機能のうちの1つまたは複数を実行するように構成された命令および/またはデータを格納する非一時的媒体を表す。いくつかの実施形態においては、データが命令として機能し得る。コンピュータ可読媒体は、不揮発性媒体および揮発性媒体を含むがこれらに限定されない形態を取ってもよい。不揮発性媒体には、たとえば光ディスク、磁気ディスク等を含み得る。揮発性媒体には、たとえば半導体メモリ、ダイナミックメモリ等を含み得る。コンピュータ可読媒体の一般的な形態としては、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の磁気媒体、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス、コンパクトディスク(CD)、他の光学媒体、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、メモリチップもしくはカード、メモリスティック、ソリッドステートストレージ(SSD)、フラッシュドライブ、ならびにコンピュータ、プロセッサ、もしくは他の電子デバイスが機能し得る他の媒体が挙げられ得るが、これらに限定されない。各種の媒体には、一実施形態における実装のために選択された場合、開示および/または特許請求の範囲に係る機能のうちの1つまたは複数を実行するように構成されたアルゴリズムの格納命令を含み得る。
【0158】
本明細書で使用する場合の「ロジック(logic)」は、本明細書に開示の機能もしくは動作のいずれかを実行するため、ならびに/または、別のロジック、方法、および/もしくはシステムからの機能もしくは動作を本明細書に開示の通り実行させるため、コンピュータもしくは電気的ハードウェア、実行可能アプリケーションもしくはプログラムモジュールの命令が格納された非一時的媒体、ならびに/またはこれらの組み合わせで実現されるコンポーネントを表す。同等のロジックには、ファームウェア、アルゴリズムでプログラムされたマイクロプロセッサ、ディスクリートロジック(たとえば、ASIC)、少なくとも1つの回路、アナログ回路、デジタル回路、プログラムされたロジックデバイス、アルゴリズムの命令を含むメモリデバイス等を含み得、そのいずれかが開示の機能のうちの1つまたは複数を実行するように構成されていてもよい。一実施形態において、ロジックには、1つもしくは複数のゲート、ゲートの組み合わせ、または開示の機能のうちの1つまたは複数を実行するように構成された他の回路コンポーネントを含み得る。複数のロジックが記載されている場合は、複数のロジックを1つのロジックに組み込むことも可能となり得る。同様に、単一のロジックが記載されている場合は、当該単一のロジックを複数のロジック間に分散させることも可能となり得る。一実施形態において、これらのロジックのうちの1つまたは複数は、開示および/または特許請求の範囲に係る機能の実行と関連付けられた対応する構造である。実装するロジックの種類の選定は、所望のシステム条件または仕様に基づいていてもよい。たとえば、より高速であることが考慮される場合は、機能を実現するようにハードウェアが選択されることになる。より低コストであることが考慮される場合は、機能を実現するように格納命令/実行可能アプリケーションが選択されることになる。
【0159】
「動作可能な接続(operable connection)」またはエンティティが「動作可能に接続(operably connected)」されている接続は、信号、物理的通信、および/または論理的通信の送信および/または受信が可能なものである。動作可能な接続には、物理的インターフェース、電気的インターフェース、および/またはデータインターフェースを含み得る。動作可能な接続には、動作可能な制御を可能にするのに十分なインターフェースおよび/または接続の異なる組み合わせを含み得る。たとえば、2つのエンティティの動作可能な接続によって、信号を互いに直接伝達することも可能であるし、1つまたは複数の中間エンティティ(たとえば、プロセッサ、オペレーティングシステム、ロジック、非一時的コンピュータ可読媒体)を介し伝達することも可能である。論理的および/または物理的通信チャネルの使用によって、動作可能な接続を形成することも可能である。
【0160】
本明細書で使用する場合の「ユーザ(user)」としては、1人もしくは複数人の人物、1つもしくは複数のコンピュータ、または他のデバイス、またはこれらの組み合わせが挙げられるが、これらに限定されない。
【0161】
以上、開示の実施形態を相当詳しく図示および説明したが、これは、添付の特許請求の範囲をこのような詳細に制限する意図でもなく、何ら制限するものでもない。当然のことながら、主題の種々態様の説明を目的として、構成要素または方法の考え得るすべての組み合わせを記載することは不可能である。したがって、本開示は、図示および記載の具体的詳細にも例示にも限定されない。このため、本開示は、添付の特許請求の範囲に含まれる変更、改良、および変形を包含することが意図される。
【0162】
詳細な説明または特許請求の範囲において用語「含む(includeまたはincluding)」が採用される限りにおいて、この用語は、請求項で遷移語として採用される場合の用語「備える(comprising)」の解釈と同様の方法で包括的であることが意図される。
【0163】
詳細な説明または特許請求の範囲において用語「または(or)」が使用される限りにおいて(たとえば、AまたはB)、この用語は、「A、B、または両者」を意味することが意図される。本出願人らが「AまたはBのみであって両者ではない」ことを示す意図がある場合は、表現「AまたはBのみであって両者ではない(only A or B but not both)」が使用されることになる。したがって、本明細書における用語「または(or)」の使用は、包括的であって、排他的な使用ではない。
【国際調査報告】