IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ズークス インコーポレイテッドの特許一覧

<>
  • 特許-車両による誘導認証 図1
  • 特許-車両による誘導認証 図2
  • 特許-車両による誘導認証 図3
  • 特許-車両による誘導認証 図4
  • 特許-車両による誘導認証 図5
  • 特許-車両による誘導認証 図6
  • 特許-車両による誘導認証 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-28
(45)【発行日】2025-03-10
(54)【発明の名称】車両による誘導認証
(51)【国際特許分類】
   G08G 1/09 20060101AFI20250303BHJP
   B60W 60/00 20200101ALI20250303BHJP
   B60W 50/00 20060101ALI20250303BHJP
   G16Y 10/40 20200101ALI20250303BHJP
   G16Y 20/20 20200101ALI20250303BHJP
   G16Y 40/30 20200101ALI20250303BHJP
【FI】
G08G1/09 V
B60W60/00
B60W50/00
G16Y10/40
G16Y20/20
G16Y40/30
【請求項の数】 15
(21)【出願番号】P 2022525967
(86)(22)【出願日】2020-11-05
(65)【公表番号】
(43)【公表日】2022-12-26
(86)【国際出願番号】 US2020059189
(87)【国際公開番号】W WO2021092230
(87)【国際公開日】2021-05-14
【審査請求日】2023-10-10
(31)【優先権主張番号】16/679,108
(32)【優先日】2019-11-08
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518156417
【氏名又は名称】ズークス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ラヴィ ゴーニャ
(72)【発明者】
【氏名】メレディス ジェームズ ゴールドマン
【審査官】西堀 宏之
(56)【参考文献】
【文献】特開2019-097024(JP,A)
【文献】特開2006-306233(JP,A)
【文献】特開2019-026067(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/00-99/00
B60W 60/00
B60W 50/00
G16Y 10/40
G16Y 20/20
G16Y 40/30
(57)【特許請求の範囲】
【請求項1】
自律車両であって、
1つまたは複数のプロセッサーと、
ネットワークインターフェースと、
前記1つまたは複数のプロセッサーによって実行可能な命令を格納するメモリーと
を備え、前記命令は、実行されると、前記自律車両に、
コンピューティングデバイスが前記自律車両に誘導を提供する権限を与えられていることを示す前記コンピューティングデバイスに関連付けられた情報を格納することと、
前記ネットワークインターフェースを介して、前記自律車両に第1の誘導を提供することに関連付けられたメッセージを受信することと、
前記情報に少なくとも部分的に基づいて、前記メッセージが前記コンピューティングデバイスに関連付けられることを決定することと、
前記自律車両を制御するために、前記メッセージが、前記自律車両を操縦することに関連付けられたコンフィギュレーションデータと、前記自律車両に関連付けられた状態情報とを満たすことを決定することと、
前記メッセージが前記コンフィギュレーションデータおよび状態情報を満たすと決定することに少なくとも部分的に基づいて前記コンピューティングデバイスにフィードバックを送ることと、
前記メッセージに少なくとも部分的に基づいて前記自律車両を制御することと
を含む動作を行わせることを特徴とする自律車両。
【請求項2】
前記動作は、
センサーデータに少なくとも部分的に基づいて、前記自律車両の前記状態情報を決定することと、
前記誘導が前記状態情報を満たすことを決定することと
をさらに含み、
前記自律車両の前記状態情報は、ロケーションデータ、姿勢データ、または速度データのうちの少なくとも1つを含むことを特徴とする請求項1に記載の自律車両。
【請求項3】
前記動作は、
前記誘導に関連付けられたメッセージのタイプを示すメッセージタイプ情報を格納することと、
前記メッセージがメッセージの前記タイプと関連付けられることを決定することと
をさらに含み、
メッセージの前記タイプは、
誘導メッセージ、
権限メッセージ、
状態メッセージ、または
マップメッセージ
のうちの1つまたは複数を含む、複数のメッセージのタイプのうちの1つであることを特徴とする請求項1に記載の自律車両。
【請求項4】
前記メッセージが前記コンピューティングデバイスと関連付けられることを決定することは、
前記メッセージを生成する前記コンピューティングデバイスを識別する識別情報を受信することと、
前記識別情報に少なくとも部分的に基づいて、前記コンピューティングデバイスが、前記自律車両に誘導を提供する権限を含むことを決定することと
を含み、
前記識別情報は、公開鍵基盤(PKI)、秘密鍵基盤、メッセージバイトのハッシュ、またはグローバル一意識別子(GUID)のうちの少なくとも1つを用いてエンコードされることを特徴とする請求項1ないし3のいずれか一項に記載の自律車両。
【請求項5】
前記自律車両を操縦することに関連付けられた前記コンフィギュレーションデータは、
前記自律車両のスピードデータ、
静的ゾーンに関連付けられたサイズおよび形状のデータ、
軌道に関連付けられたポイントの間の曲率データ、
前記軌道に関連付けられた前記ポイントの間における間隔データ、
前記軌道に関連付けられた前記ポイントの最大数、または
ジオフェンスデータ
のうちの少なくとも1つを含むことを特徴とする請求項1ないし3のいずれか一項に記載の自律車両。
【請求項6】
コンピューティングデバイスが自律車両に誘導情報を提供する権限を与えられていることを示す前記コンピューティングデバイスに関連付けられた情報を受信することと、
前記自律車両に関連付けられた前記誘導情報を含むメッセージを受信することと、
前記情報に少なくとも部分的に基づいて、前記メッセージが前記コンピューティングデバイスに関連付けられることを決定することと、
前記自律車両を操縦することに関連付けられたコンフィギュレーションデータ、または前記自律車両に関連付けられた状態情報のうちの少なくとも1つに少なくとも部分的に基づいて前記メッセージを評価することと、
前記メッセージを評価することに少なくとも部分的に基づいて前記コンピューティングデバイスにフィードバックを送ることと、
前記メッセージを評価することに少なくとも部分的に基づいて前記自律車両を制御することと
を備えることを特徴とする方法。
【請求項7】
前記メッセージを評価することは、前記メッセージが前記コンフィギュレーションデータまたは前記状態情報のうちの少なくとも1つを満たさないことを決定することに少なくとも部分的に基づいて前記メッセージを拒否することを含み、
前記自律車両を制御することは、前記自律車両の現在の状態を維持することを含む
ことを特徴とする請求項6に記載の方法。
【請求項8】
前記メッセージが前記自律車両によって拒否されたことを示す前記自律車両からのフィードバックメッセージを送ることと
をさらに備えることを特徴とする請求項7に記載の方法。
【請求項9】
前記メッセージに関連付けられたメッセージのタイプを決定することと、
メッセージの前記タイプが、前記誘導情報の指定されたメッセージタイプと関連付けられることを決定することと
をさらに備え、
メッセージの前記タイプは、
誘導メッセージ、
権限メッセージ、
状態メッセージ、または
マップメッセージ
のうちの1つまたは複数を含む、複数のメッセージのタイプのうちの1つであることを特徴とする請求項6ないし8のいずれか一項に記載の方法。
【請求項10】
前記メッセージを生成する前記コンピューティングデバイスを識別する識別情報を受信することと、
前記識別情報に少なくとも部分的に基づいて、前記コンピューティングデバイスが、前記自律車両に誘導を提供する権限を含むことを決定することと
をさらに備え、
前記識別情報は、公開鍵基盤(PKI)、秘密鍵基盤、メッセージバイトのハッシュ、またはグローバル一意識別子(GUID)のうちの少なくとも1つを用いてエンコードされることを特徴とする請求項6ないし8のいずれか一項に記載の方法。
【請求項11】
センサーデータの少なくとも一部に基づいて、前記自律車両の状態を決定することと、
前記自律車両を制御するために、前記誘導情報が前記自律車両の前記状態を満たすかどうかを決定することと
をさらに備え、前記自律車両を制御することは、
前記誘導情報が前記自律車両の前記状態を満たすことに応答して、前記誘導情報に少なくとも部分的に基づいて前記自律車両を制御することと、
前記誘導情報が前記自律車両の前記状態を満たさないことに応答して、前記メッセージを拒否し、前記自律車両の前記状態を維持することと
を含み、
前記自律車両の前記状態は、
パスビルド状態、
静的ゾーン状態、
イールド再分類状態、
前記自律車両のロケーション、
マップデータ、
前記自律車両の速さ、
前記自律車両の姿勢、
前記自律車両の占有、または
前記自律車両に近接する物体
のうちの少なくとも1つを含むことを特徴とする請求項6ないし8のいずれか一項に記載の方法。
【請求項12】
前記自律車両の前記状態は、前記パスビルド状態であり、
前記誘導情報は、計画された軌道に関連付けられたウェイポイントを加えることを含み、
前記誘導情報が前記自律車両の前記状態を満たすかどうかを決定することは、
前記計画された軌道に関連付けられた第1のポイントと前記ウェイポイントとの間の距離が距離しきい値以下であることを決定すること、または
前記第1のポイントと前記ウェイポイントとに関連付けられたセグメントに関連付けられた曲率の値が、曲率しきい値以下であることを決定すること
のうちの少なくとも1つをさらに含むことを特徴とする請求項11に記載の方法。
【請求項13】
前記自律車両の前記状態は、前記イールド再分類状態であり、
前記誘導情報は、第1の速さ、およびステアリング角において運転することを含み、
前記誘導情報が前記自律車両の前記状態を満たすかどうかを決定することは、
前記第1の速さが速さのしきい値以上であることを決定すること、または
前記ステアリング角が、前記自律車両と障害物との間の距離がしきい値距離よりも下であることに関連付けられた軌道に関連付けられることを決定すること
のうちの少なくとも1つをさらに含むことを特徴とする請求項11に記載の方法。
【請求項14】
前記自律車両の前記状態は、前記静的ゾーン状態であり、
前記誘導情報は、前記静的ゾーン状態に関連付けられたサイズおよびロケーションを含み、
前記誘導情報が前記自律車両の前記状態を満たすかどうかを決定することは、
前記静的ゾーン状態の前記サイズがサイズしきい値以下であることを決定すること、または
前記静的ゾーン状態を表すポイント総数予め設定された範囲を超えていることを決定すること
のうちの少なくとも1つをさらに含むことを特徴とする請求項11に記載の方法。
【請求項15】
実行されると、1つまたは複数のプロセッサーに請求項6ないし14のいずれか一項に記載の方法を行わせる命令を格納する1つまたは複数の非一時的なコンピューター読取り可能媒体。
【発明の詳細な説明】
【背景技術】
【0001】
本PCT国際出願は、2019年11月8日に出願された米国出願第16/679,108号に対する優先権の利益を主張し、本明細書において参照によって組み入れられる。
【0002】
リモートコントロールされるデバイスは、リモートシステムから入力を受信して、環境を安全に進むことがある。入力は、デバイスの特定の動きを制御する権限を有する遠隔操作者によって生成されることがある。しかしながら、さらに、権限を欠く別の実体が、メッセージをデバイスに送ることもある。時折、権限を有する遠隔操作者は、ユーザー入力デバイス、たとえば、キーボードまたはタッチパネルなどを誤って操作することによって、意味のない命令をデバイスに提供するコマンドを生成することがある。それゆえ、デバイスが、入力において提供される誘導を実行する前に、リモートシステムから受信した入力を認証しバリデートすることは、決定的に重要である。
【0003】
詳細な説明は、添付の図面を参照して説明される。図面において、参照符号の最も左の数字(複数可)は、参照符号が最初に現れる図面を特定する。異なる図面における同一の参照符号は、同様のまたは同じアイテムを示す。
【図面の簡単な説明】
【0004】
図1】本開示の例にしたがって自律車両に誘導を提供するための自律車両、遠隔操作システム、および例示的なユーザーを描く例示的なシナリオを示す図である。
図2】本開示の例にしたがって自律車両に提供される誘導を認証するための例示的なシステムのブロック図を示す図である。
図3】本開示の例にしたがって自律車両に提供される誘導を認証するための例示的な処理の絵入りのフロー図を示す図である。
図4】本開示の例にしたがって自律車両に提供される誘導を認証するための別の例示的な処理の絵入りのフロー図を示す図である。
図5】本開示の例にしたがって自律車両に提供される誘導を認証するための別の例示的な処理の絵入りのフロー図を示す図である。
図6】本開示の例にしたがって自律車両に提供される誘導を認証するための別の例示的な処理の絵入りのフロー図を示す図である。
図7】本開示の例にしたがって自律車両に提供される誘導を認証するための別の例示的な処理の絵入りのフロー図を示す図である。
【発明を実施するための形態】
【0005】
車両へのメッセージを認証するための技法が、本明細書に述べられる。いくつかの場合では、遠隔操作メッセージが自律車両に提供されることがある。上記の認証されないメッセージ(例えば、メッセージの有効な出所が確かめられない)および/またはバリデートされないメッセージ(例えば、上記のメッセージの実行の予期される結果が確かめられない)が自律車両によって実行される場合、混乱および/または潜在的安全性の問題が、結果として起こることがある。本開示は、遠隔操作メッセージを、自律車両に送信される前におよび/または誘導が自律車両によって実行される前に、認証しバリデートする技法を提供する。遠隔操作メッセージを認証しバリデートするための方法は、遠隔操作システムのコンピューティングデバイスおよび/または自律車両のコンピューティングデバイスに実装されることがある。
【0006】
いくつかの例では、自律車両のコンピューティングデバイスは、コンピューティングデバイスが自律車両に誘導を提供する権限を与えられていることを示す、コンピューティングデバイスに関連付けられた情報を受信するおよび/または格納することがある。1名または複数名の遠隔操作者、またはユーザーは、遠隔操作システムに関連付けられることがある。遠隔操作システムのコンピューティングデバイスは、自律車両に誘導を提供する権限を与えられることが可能である1名または複数名のユーザーおよび1つまたは複数のコンピューティングデバイスに関連付けられた情報を格納することがある。いくつかの状況では、自律車両自体が、誘導を提供する権限を与えられることがある。自律車両のコンピューティングデバイスは、誘導に関連付けられたメッセージのタイプを示すメッセージタイプ情報をさらに格納することがある。本明細書に述べられるメッセージのタイプは、メッセージの共通のトピックを参照する、または一定のトピックにおいてメッセージをパブリッシュするのに指定されるチャネルを参照することがある。自律車両のコンピューティングデバイスは、遠隔操作メッセージが、指定チャネルに関連付けられることを決定することがある。自律車両のコンピューティングデバイスは、指定チャネルに同意することがあり、遠隔操作システムは、指定チャネルを介してのみ、遠隔操作メッセージを送信することがある。いくつかの例では、1つまたは複数の指定されたタイプのメッセージが、通信のために一度に用いられることがある。可能性があるメッセージとメッセージのタイプとの間のマッピングまたは他のアソシエーションは、自律車両および遠隔操作システムのコンピューティングデバイスのメモリーに格納されることがある。
【0007】
いくつかの例では、自律車両のコンピューティングデバイスは、遠隔操作メッセージが、誘導情報を提供する権限を与えられたコンピューティングデバイスに関連付けられることを決定することがある。遠隔操作メッセージが生成されるとき、メッセージを生成するユーザーまたはデバイスの識別情報が、自動的に添付されることがある。識別情報は、ユーザーの署名、および/または対応するデバイスのIPアドレスを含むことがある。識別情報は、公開鍵、秘密鍵、公開鍵/秘密鍵ペア、ハッシュコード等を用いて暗号化されることがある。遠隔操作メッセージを受信すると、自律車両のコンピューティングデバイスは、識別情報を復号し、ユーザーおよび/または対応するコンピューティングデバイスに関連付けられた格納されている識別情報と合うことを決定することがある。識別情報が、格納されている情報と合わないと決定されるとき、遠隔操作メッセージは、拒否されることがある。
【0008】
いくつかの例では、自律車両のコンピューティングデバイスは、メッセージが、指定チャネルを介して送信されることを決定することがある。自律車両のコンピューティングデバイスは、可能性があるメッセージとメッセージのタイプとの間のマッピングを検査することがある。メッセージが、指定チャネルを介して送信されないとき、自律車両のコンピューティングデバイスは、メッセージを拒否することがある。
【0009】
いくつかの例では、自律車両のコンピューティングデバイスは、メッセージが、自律車両を操縦することに関連付けられたコンフィギュレーションデータを満たすことを決定することがある。限定でない例として、コンフィギュレーションデータは、自律車両のスピードデータ(speed data)、自律車両のロケーションデータ、静的ゾーン(static zone)のサイズおよび形状データ、軌道に関連付けられたポイントの間の曲率データ、軌道に関連付けられたポイントの最大数、ジオフェンスデータ(例えば、限られた地理的な領域を示すデータ)等を含むことがある。いくつかの例では、最高スピード限度以上である運転の速さの命令を提供するメッセージのとき、自律車両のコンピューティングデバイスは、メッセージを拒否することがある。いくつかの他の例では、計画された軌道のウェイポイント間の曲率が曲率しきい値以下であることを提供するメッセージは、自律車両のコンピューティングデバイスは、メッセージを拒否することがある。いくつかの例では、静的ゾーンが自律車両の一部と同一位置にある(例えば、車両の一部が静的ゾーン内にある、または静的ゾーンのしきい値距離内にある)とき、自律車両のコンピューティングデバイスはメッセージを拒否することがある。
【0010】
いくつかの例では、自律車両のコンピューティングデバイスは、メッセージが、自律車両に関連付けられた状態情報を満たすことを決定することがある。自律車両は、種々の状態、例えば、自律車両が、計画された軌道に関係のある情報を待つパスビルド状態(path building state)、自律車両が、環境の中の静止物体に関係のある情報を待つ静的ゾーン状態(static zone state)、または自律車両が、物体もしくは障害物を再分類して物体もしくは障害物に応じるかどうかを決定することに関係のある情報を待つイールド再分類状態(yield reclassification state)において動作することがあるので、メッセージは、メッセージが、自律車両の現在の状態を考慮する効果的な誘導を提供することを確実するように、さらに検査されることがある。いくつかの例では、自律車両の状態情報は、ロケーションデータ、姿勢データ、または速度データ(velocity data)のうちの少なくとも1つを含むことがある。例えば、自律車両がパスビルド状態にある間、軌道の1つまたは複数のポイントを提供するメッセージが、受け入れられることがある。他の例では、自律車両が静的ゾーン状態にある間、軌道の1つまたは複数のポイントを提供するメッセージが、拒否されることがある。
【0011】
図1は、本開示の例にしたがって自律車両に誘導を提供するための自律車両、遠隔操作システム、および例示的なユーザーを描く例示的なシナリオ100を示す図である。自律車両102から送られる情報を通じて、ユーザー(複数可)160(1)~160(x)は、自律車両102の動作を監視し、自律車両102が位置される環境を分析し、自律車両102に誘導を提供することがある。ユーザー160(1)~160(x)が人の表現として描かれるが、ユーザー160(x)は、人、AIコンポーネント、および/またはどんな他のデバイスでも含むことがある。本明細書では、おもに車両または自律車両を例として説明するが、本明細書に述べられる技法は、2人以上のユーザーが機械への誘導および/または命令を供給することに利用できる場合の、および/または同時期に発生した部分的に一致する入力が機械動作の低下をもたらすことがある場合のどんな他のシナリオにでも適用されることが想定される。
【0012】
いくつかの例では、自律車両102は、運転手(または乗員)がいかなる時点においても車両を制御することが期待されない、全行程にすべてのセーフティクリティカルの機能を実行する性能がある車両を記述する、米国連邦道路交通安全局によって発行されるレベル5分類に従って、動作するように構成された自律車両であり得る。しかしながら、他の例では、自律車両102は、他のレベルまたは分類を有する完全なまたは部分的な自律車両であり得る。さらにその上、いくつかの例では、本明細書に説明される誘導隔離技法は、自律的ではない車両によっても同様に使用可能であり得る。
【0013】
本明細書に述べられる技法に従って、自律車両102は、自律車両102のセンサー(複数可)からセンサーデータ134を受信することがある。例えば、センサーデータ134は、ロケーション信号(例えば、GPS信号、または地図に関して自律車両の姿勢を示すセンサーデータ)、慣性信号(例えば、加速度計信号、ジャイロスコープ信号等)、磁力計信号、ホイールエンコーダー信号、スピードメーター信号、蓄積されたLIDARおよび/またはRADARポイントの点群、画像(またはイメージ)、オーディオ信号、および/またはバリアトリックなもしくは他の環境信号等を含むことがある。自律車両102は、上記のセンサー(複数可)108から受信されるセンサーデータ134を用いて、自律車両102の物理的な動きを制御するための軌道を決定する、および/または自律車両102が安全におよび/または効率的に動作している確率を示す、軌道に関連付けられた信頼レベルを決定することがある。
【0014】
いくつかの例では、自律車両102を制御するための軌道に関連付けられた信頼レベルがしきい値信頼を満たさないことを決定することに少なくとも部分的に基づいて、自律車両102は、遠隔操作要求を生成することがある。自律車両102は、ネットワーク156を介して、遠隔操作要求を遠隔操作システム170に送信することがある。今述べた遠隔操作要求は、自律車両102が誘導を求めていることをインディケーションであり得る。遠隔操作システム170は、遠隔操作要求を、ユーザー160(複数可)(1)~160(x)に関連付けられた1つまたは複数のコンピューティングデバイス180(1)~180(y)に送信することがある。自律車両102は、さらなる誘導が受信されるまで続けることがある。自律車両102が、必ずしも遠隔操作システム170および/またはユーザー160(1)~160(x)から誘導を求める必要がないことは理解されるべきである。自律車両102における乗客、近くの歩行者、リモートの遠隔操作者、近くのパトカー等が、誘導および/または直接制御を提供するがある。代わりに、または加えて、遠隔操作システム170は、自律車両102に積極的に誘導を提供することがある。
【0015】
いくつかの例では、センサーデータ134は、ネットワーク156を介して、遠隔操作システム170に周期的または同期的に送られることがある。遠隔操作システム170は、センサーデータ134に含まれる情報を、遠隔操作システム170のユーザーインタフェースに表示することがある。遠隔操作システム170は、環境の中の自律車両102の特定の動きを描くビデオまたは動的な描画を表示することがある。例えば、遠隔操作システム170は、自律車両102の動的な運転軌道、自律車両102の運転に関連付けられた1つまたは複数のパラメーター、1つまたは複数のパラメーターに関連付けられた値、環境の中に検出される物体/障害物等を表示することがある。いくつかの例では、遠隔操作システム170のユーザーインタフェースは、センサーデータおよび/または誘導の空から見下ろした表現、カメラフィード(例えば、画像、ビデオ)、および/またはセンサーデータおよび/または誘導の上から下への表現を含むことがある。いくつかの例では、センサーデータは、マップメッセージ、例えば、マップ情報、およびマップに対する注釈を含むことがあり、センサーデータは、運転境界の形状、または修正された運転境界の形状を作成するために十分な入力を提供することがある。追加のまたは代替の誘導および/または遠隔操作の例は、2017年7月7日に出願された米国特許出願第15/644,267号、第15/644,310号、第15/644,349号、および第15/644,390号に見つけられることがあり、各々がまるごと本明細書に組み入れられる。遠隔操作システム170は、それぞれ、ユーザー160(1)~160(x)に関連付けられた1つまたは複数のコンピューティングデバイス180(1)~180(y)とディスプレイを共有することがある。ユーザー(複数可)160(1)~160(x)が、それぞれのコンピューティングデバイスの自律車両の動作に関連付けられた情報を見ることがある一方、一人のユーザーが、自律車両102に誘導を提供する権限を有する、すなわち、従事するユーザー、ことがある。
【0016】
自律車両102は、自律車両102の動作を制御するコンピューティングデバイス(複数可)104を含むことがある。車両コンピューティングデバイス(複数可)104は、1つまたは複数のプロセッサー106と1つまたは複数のプロセッサー106に通信接続されたメモリー120とを含むことがある。1つまたは複数のプロセッサー106は、本明細書に説明されている、データを処理し、動作を行う命令を実行する性能があるどんな適切なプロセッサーでもあり得る。例および非限定として、1つまたは複数のプロセッサー106は、1つまたは複数の中央処理装置(CPU)、グラフィックスプロセッサ(GPU)、集積回路(例えば、特定用途向け集積回路(ASIC)等)、ゲートアレイ(例えば、FPGA(field-programmable gate array)等)、ならびに/または電子データを処理して、その電子データをレジスターおよび/もしくはメモリーに格納されることがある他の電子データに変換するどんな他のデバイスまたはデバイスの一部でも含むことがある。
【0017】
車両102は、上に説明されている、光および/または音を発するためにエミッター(複数可)110を含むことがある。今述べた例におけるエミッター(複数可)110は、コンピューティングデバイス104の乗客と通信する内部のオーディオおよびビジュアルのエミッター(複数可)を含む。例および非限定として、内部のエミッター(複数可)は、スピーカー、ライト、サイン、ディスプレイスクリーン、タッチスクリーン、触覚に関するエミッター(複数可)(例えば、振動帰還および/または力帰還)、メカニカルアクチュエーター(例えば、シートベルトテンショナー、シートポジショナー、ヘッドレストポジショナー等)などを含むことがある。さらに、今述べた例におけるエミッター(複数可)110は、外部のエミッター(複数可)も含む。例および非限定として、今述べた例における外部のエミッター(複数可)は、移動方向または車両の作動に関する他のインディケーション(例えば、インジケーターライト、サイン、ライトアレイ等)を合図するライト、および歩行者または他の近くの車と聞こえるほどに通信する1つまたは複数のオーディオエミッター(例えば、スピーカー、スピーカーアレイ、ホーン等)、アコースティックビームステアリング技術を含む1つまたは複数を含む。
【0018】
さらに、コンピューティングデバイス104は、コンピューティングデバイス104と、1つまたは複数の他のローカルまたはリモートのコンピューティングデバイス(複数可)との間の通信を可能にするネットワークインターフェース(複数可)112を含むこともある。たとえば、ネットワークインターフェース(複数可)112は、コンピューティングデバイス104の他のローカルコンピューティングデバイス(複数可)との、および/またはドライブシステム(複数可)114との通信を容易にすることがある。さらに、ネットワークインターフェース(複数可)112は、車両に、他の近くのコンピューターデバイス(複数可)(例えば、他の近くの車両、交通信号機等)と通信することを可能にすることもある。さらに、ネットワークインターフェース(複数可)112は、自律車両102に、遠隔操作システム170と、および/またはユーザー160(1)~160(x)に関連付けられたコンピューティングデバイス180(1)~180(y)と通信できるようにもする。
【0019】
ネットワークインターフェース(複数可)112は、コンピューティングデバイス(複数可)104を、別のコンピューティングデバイスに、またはたとえばネットワーク(複数可)156などのネットワークに接続するための物理および/または論理インターフェースを含むことがある。例えば、ネットワークインターフェース(複数可)112は、たとえば、IEEE802.11規格によって定義された周波数、たとえばBLUETOOTH(商標登録)などのショートレンジのワイヤレス周波数、セルラー通信(例えば、2G、3G、4G、4G LTE、5G等)、またはそれぞれのコンピューティングデバイスが他のコンピューティングデバイス(複数可)とインターフェースできるようにするあらゆる適切なワイヤードまたはワイヤレスの通信プロトコルを介してなど、Wi-Fiベースの通信を可能にすることがある。
【0020】
いくつかの例では、コンピューティングデバイス104は、1つまたは複数のドライブシステム114を含むことがある。いくつかの例では、コンピューティングデバイス104は、単一のドライブシステム114を有することがある。いくつかの例では、ドライブシステム(複数可)114は、ドライブシステム(複数可)114の状態、および/または自律車両102の周囲の状態を検出する1つまたは複数のセンサーを含むことがある。例および非限定として、ドライブシステム(複数可)114のセンサー(複数可)は、ドライブモジュールの車輪の回転を感知する1つまたは複数のホイールエンコーダー(例えば、ロータリーエンコーダー)、ドライブモジュールの向きおよび加速度を測定する慣性センサー(例えば、慣性測定ユニット、加速度計、ジャイロスコープ、磁力計等)、カメラまたは他の画像センサー、ドライブモジュールの周囲の状況における物体を音響的に検出する超音波センサー、LIDARセンサー、RADARセンサー等を含むことがある。いくつかのセンサー、たとえばホイールエンコーダーなどは、ドライブシステム(複数可)114に一意的であり得る。いくつかの場合では、ドライブシステム(複数可)114のセンサー(複数可)は、コンピューティングデバイス104の対応するシステム(例えば、センサーシステム(複数可)108)に対して、部分的に一致するまたは補うことがある。
【0021】
ドライブシステム(複数可)114は、高電圧バッテリー、車両を推進するモーター、他の車両システムによる使用のためにバッテリーからの直流を交流に変換するインバーター、(電気で動くことがある)ステアリングモーターおよびステアリングラックを含むステアリングシステム、油圧または電気アクチュエーターを含むブレーキングシステム、油圧および/または空気圧コンポーネントを含むサスペンションシステム、けん引のロスを軽減し制御を維持するブレーキ力を分配するための安定性制御システム、HVACシステム、ライティング(例えば、車両の外部の周囲を照らすヘッド/テールライトなどのライティング)、および1つまたは複数の他のシステム(例えば、冷却システム、安全性システム、オンボード充電システム、たとえば、DC/DCコンバーター、高電圧ジャンクション、高電圧ケーブル、充電システム、充電ポート等の他の電気コンポーネント)を含む、多くの車両システムを含むことがある。加えて、ドライブシステム(複数可)114は、センサー(複数可)からのデータを受信し前処理することがあり、種々の車両システムの動作を制御するためのドライブモジュールコントローラーを含むことがある。いくつかの例において、ドライブモジュールコントローラーは、1つまたは複数のプロセッサーと、1つまたは複数のプロセッサーに通信接続されたメモリーとを含むことがある。メモリーは、ドライブシステム(複数可)114の種々の機能性を行う1つまたは複数のモジュールを格納することがある。その上さらに、ドライブシステム(複数可)114は、それぞれのドライブモジュールによって、1つまたは複数の他のローカルまたはリモートのコンピューティングデバイス(複数可)との通信を可能にする1つまたは複数の通信接続(複数可)を含むこともある。
【0022】
いくつかの例では、コンピューティングデバイス104のメモリー120は、自律車両102の種々の機能に関連付けられたコンポーネント(複数可)、例えば、ローカリゼーションコンポーネント122、プランニングコンポーネント124、パーセプションコンポーネント130、1つまたは複数のコントローラー(複数可)128、権限トラッカー132、誘導ゲートウェイコンポーネント138、および/または、1つまたは複数のプロセッサー106によって実行されるとき自律車両102を操作する種々の操作を行うことがある同様のコンポーネントを格納することがある。
【0023】
例えば、パーセプションコンポーネント130は、物体検出、区分、および/または分類を行う機能性を含むことがある。いくつかの例では、パーセプションコンポーネントは、コンピューティングデバイス(複数可)104に最も近い実体の存在(presence)、および/または実体の種類(例えば、車、歩行者、サイクリスト、動物、建物、木、路面、縁石、歩道、不明など)として実体の分類を示す処理されたセンサーデータを提供することがある。追加および/または代替の例の場合には、パーセプションコンポーネントは、検出される実体および/または実体が置かれる/向けられる環境に関連付けられた1つまたは複数の特性を示す処理されたセンサーデータを提供することがある。いくつかの例では、実体に関連付けられた特性は、限定されないが、x-位置/向き(大域的な位置/向き)、y-位置/向き(大域的な位置/向き)、z-位置/向き(大域的な位置/向き)、向き、実体タイプ(例えば、分類)、実体の速度、実体の範囲(サイズ)、センサー信号品質および/または他の特性、信号に存在する特徴量のインディケーション、センサー信号に関連付けられたクラリティスコア等を含むことがある。環境に関連付けられた特性は、限定されないが、環境の中の別の実体の存在、環境の中の別の実体の状態、時刻、曜日、季節、気象条件、闇/光のインディケーション等を含むことがある。いくつかの例では、誘導は、パーセプションコンポーネントの出力(例えば、実体の分類、環境の特性、自律車両102が位置されるリージョンに起こっているイベント)を指定することがある。
【0024】
いくつかの例では、ローカリゼーションコンポーネント122は、自律車両102の地図および/または位置/向きを決定するために、センサー(複数可)108からデータを受信する機能性を含むことがある。例えば、ローカリゼーションコンポーネント122は、環境のマップを含むおよび/または要求する/受信することがあり、マップ内の自律車両102のロケーションを連続的に決定することがある。いくつかの例では、ローカリゼーションコンポーネント122は、SLAM(simultaneous localization and/or mapping)、および/またはCLAMS(calibration, localization and/or mapping, simultaneously)を利用して、画像データ、LIDARデータ、RADARデータ、IMUデータ、GPSデータ、ホイールエンコーダーデータなどを受信して、自律車両102のロケーションを正確に決定することがある。いくつかの例では、ローカリゼーションコンポーネント122は、データを、コンピューティングデバイス104の種々のコンポーネントに提供して、本明細書に述べられている、候補の軌道を生成するために、自律車両102の初期の位置/向きを決定することがある。
【0025】
プランニングコンポーネント124は、自律車両102が、環境を通ってトラバースするために従うパスを決定することがある。例えば、プランニングコンポーネント124は、種々のルートおよび軌道および種々の詳細レベルを決定することがある。例えば、プランニングコンポーネント124は、第1のロケーション(たとえば、現在のロケーション)から第2のロケーション(たとえば、目標のロケーション)まで進むルートを決定することがある。本解説の目的のために、ルートは、2つのロケーション間を進むためのウェイポイントのシーケンスであり得る。非限定の例として、ウェイポイントは、通り、交差点、座標(例えば、ローカリゼーションコンポーネントおよび/またはマッピングコンポーネントおよび/またはGPSによって決定される)等を含む。さらに、プランニングコンポーネント124は、自律車両102を、第1のロケーションから第2のロケーションまでの少なくとも一部分のルートに沿って、導くための命令を生成することがある。いくつかの例では、プランニングコンポーネント124は、自律車両102を、ウェイポイントのシーケンスにおける第1のウェイポイントから、ウェイポイントのシーケンスにおける第2のウェイポイントまで、どのように導くかを決定することがある。いくつかの例では、命令は、軌道、または軌道の一部であり得る。いくつかの例では、複数の軌道は、レシーディングホライズン(receding horizon)の技法にしたがって、実質的に同時に(たとえば、技術的な許容範囲内に)生成されることがある。いくつかの例では、および本明細書に述べられている、プランニングコンポーネント124は、ローカライゼーションコンポーネントからマップおよび/または位置/向き、および/または種々のデータ、たとえばパーセプションコンポーネントから環境の識別物体および/または分類物体、イベント、および特性などを受信することがある。
【0026】
いくつかの例では、1つまたは複数のコンポーネント(複数可)は、全部またはある程度、ニューラルネットワークとして実装されることがある。本明細書に説明されている、典型的なニューラルネットワークは、一連の連結された層を通じて入力データを通して出力を生成する生物学的にインスパイアされたアルゴリズムである。さらに、ニューラルネットワークにおける各層は、別のニューラルネットワークを含むこともある、またはあらゆる数の層を(畳み込みかどうかにかかわらず)含むことがある。本開示という状況では理解されることがあるように、ニューラルネットワークは、出力が学習パラメーターに基づいて生成される上記のアルゴリズムの幅広いクラスを参照することがある機械学習を利用することがある。
【0027】
ニューラルネットワークという状況では述べられるが、機械学習のどのタイプでも、本開示と矛盾することなく用いられることがある。例えば、機械学習アルゴリズムは、限定されないが、回帰アルゴリズム、インスタンスベースアルゴリズム、ベイズアルゴリズム、アソシエーションルール学習アルゴリズム、ディープラーニングアルゴリズム等を含むことがある。ニューラルネットワークアーキテクチャの追加のまたは代替の例は、たとえばResNet50、ResNet101、VGG、DenseNet、PointNetなどのニューラルネットワークを含むことがある。
【0028】
いくつかの例では、コンポーネント(複数可)は、上に説明されている、センサーデータを処理することがあり、ネットワーク(複数可)156を介して、それぞれの出力を、遠隔操作システム170、および/またはユーザーに関連付けられた1つまたは複数のコンピューティングデバイス(複数可)160(1)~160(x)に送ることがある。いくつかの例では、コンポーネント(複数可)は、それぞれの出力を、特定の頻度にて、予め決められた期間の経過後、ほぼリアルタイムに等、遠隔操作システム170、および/またはユーザーに関連付けられた1つまたは複数のコンピューティングデバイス(複数可)180(1)~180(y)に送ることがある。いくつかの例では、コンピューティングデバイス104は、ネットワーク(複数可)156を介して、遠隔操作システム170、および/またはユーザーに関連付けられた1つまたは複数のコンピューティングデバイス(複数可)160(1)~160(x)にセンサーデータを送ることがある。いくつかの例では、車両102は、遠隔操作システム170、および/または、ユーザーに関連付けられた1つまたは複数のコンピューティングデバイス(複数可)160(1)~160(x)に生のセンサーデータを送ることがある。他の例では、コンピューティングデバイス104は、処理されたセンサーデータおよび/またはセンサーデータの表現を、遠隔操作システム170、および/またはユーザーに関連付けられた1つまたは複数のコンピューティングデバイス160(1)~160(x)に送ることがある。
【0029】
いくつかの例では、メモリー120は、たとえば、ドライブシステム(複数可)114に命令を通信することによって、ならびに/またはドライブシステム(複数可)114の対応するシステムおよび/もしくはコンピューティングデバイス10の他のコンポーネントを制御することによってなど、自律車両102のステアリング、推進、制動、安全性、エミッター(複数可)、通信、および他のシステムを制御するように構成されることがある1つまたは複数のコントローラー128をさらに格納することがある。
【0030】
メモリー120は、非一時的なコンピューター読取り可能媒体の例であり得る。メモリー120は、本明細書に説明される方法と、種々のシステムに帰する機能とを実装するためのオペレーティングシステムおよび1つまたは複数のソフトウェアアプリケーション、命令、プログラム、および/またはデータを格納することがある。種々の実装において、メモリーは、どんな適切なメモリー技術でも、たとえば、SRAM(スタティックRAM)、SDRAM(シンクロナスDRAM)、不揮発性/フラッシュ型メモリー、または情報を格納する性能がある他のタイプのメモリーを用いて実装されることがある。本明細書に説明されるアーキテクチャー、システム、および個々の要素は、多くの他の論理的な、プログラム的な、および物理的なコンポーネントを含むことがあり、添付の図面に示されるそれらは、本明細書の議論に関係のある単なる例である。
【0031】
権限トラッカー132は、1つまたは複数のプロセッサー106によって実行されるとき、コンピューティングデバイス104に、本明細書に述べられる種々の作動を行わせることがある。権限トラッカー132は、状態データ136をメモリー120に格納して、現在、自律車両102に誘導を提供する権限を有するユーザー、すなわち従事するユーザーをトラッキングすることがある。いくつかの例では、権限トラッカー132は、状態データ136をメモリー120に格納して、ユーザー(複数可)160(1)~160(x)に関係のある識別情報、例えば、遠隔操作システム170におけるユーザーの固有ID、ユーザーの固有IDおよびユーザーがログインしているコンピューティングデバイス180(1)~180(y)のIPアドレス、ユーザーの電子署名、ユーザーの手書き署名等を記録することがある。
【0032】
いくつかの例では、権限トラッカー132は、第1のユーザーから第2のユーザーへ権限を移行することを決定することがある。権限トラッカー132は、ネットワークインターフェース(複数可)112を介してネットワーク156(複数可)を使って、遠隔操作システム170および/またはコンピューティングデバイス180(1)~180(y)に、周期的に状態メッセージを送信することがある。状態メッセージ244は、権限情報の移行を、および/またはメモリー120に格納された状態データ136の少なくとも一部を含むことがある。遠隔操作権限フレームワークの例は、2018年11月8日に出願された米国特許出願第16/184,958号に見つけられることがあり、まるごと本明細書に組み入れられる。
【0033】
誘導ゲートウェイコンポーネント138は、1つまたは複数のプロセッサー106によって実行されるとき、コンピューティングデバイス104に、本明細書に述べられる種々の作動を行わせることがある。誘導ゲートウェイコンポーネント138は、メモリー120の中の状態データ136にアクセスして、従事するユーザー、すなわち、現在、自律車両102に誘導を提供する権限を有するユーザーを決定することがある。誘導ゲートウェイコンポーネント138は、ネットワーク(複数可)156を介して、遠隔操作システム170、および/またはユーザーに関連付けられた1つまたは複数のコンピューティングデバイス160(1)~160(x)から送信されるメッセージを受信することがある。
【0034】
いくつかの例では、自律車両102のコンピューティングデバイス(複数可)104と遠隔操作システム170またはコンピューティングデバイス(複数可)180(1)~180(y)との間でメッセージを送信することは、指定チャネルを介してメッセージを送信すること(報知すること)を含むことがある。指定チャネルは、メッセージのタイプ、メッセージのカテゴリ、またはメッセージの共通のトピックを示すことがある。例えば、制御メッセージは制御チャネルを介して送信されることがあり、ユーザー情報はユーザー情報チャネルを介して送信されることがあり、権限メッセージ(authority message)は権限チャネセル(authority chancel)を介して送信されることがあり、誘導メッセージ(guidance message)は誘導チャネル(guidance channel)を介して送信されることがある。自律車両102のコンピューティングデバイス104、および遠隔操作システム170またはコンピューティングデバイス(複数可)180(1)~180(y)は、1つまたは複数のチャネルに同意するが、1つのチャネルを介して一度にメッセージを送受信することがことである。いくつかの例では、自律車両102のコンピューティングデバイス104、および遠隔操作システム170またはコンピューティングデバイス(複数可)180(1)~180(y)は、1つまたは複数のチャネルを介してメッセージを送受信することがある。
【0035】
誘導ゲートウェイコンポーネント138は、自律車両102のコンピューティングデバイス104と遠隔操作システム170またはコンピューティングデバイス180(1)~180(y)との間でメッセージを通信するのに、どのチャネルが現在指定されているかを決定することがある。例えば、誘導ゲートウェイコンポーネント138は、自律車両102のコンピューティングデバイス104と遠隔操作システム170またはコンピューティングデバイス(複数)180(1)~180(y)との間でメッセージを通信するのに、権限チャネルのみが現在指定されていることを決定することがある。いくつかの例では、誘導ゲートウェイコンポーネント138は、自律車両の他のコンポーネントが、指定チャネルに同意しているかどうかを周期的に検査することがある。いくつかの他の例では、誘導ゲートウェイコンポーネント138は、追加のチャネルが、自律車両102のコンピューティングデバイス104と遠隔操作システム170またはコンピューティングデバイス(複数可)180(1)~180(y)との間でメッセージを通信するために出されているかどうかを周期的に検査することがある。追加の同意者および/または追加のチャネルを検出すると、誘導ゲートウェイコンポーネント138は、追加の同意者を取り除くためにおよび/または追加のチャネルを止めるために、要求メッセージを自律車両のコンピューティングデバイス104、遠隔操作システム170および/またはコンピューティングデバイス(複数)180(1)~180(y)へ送信することがある。
【0036】
いくつかの例では、指定チャネルを介して自律車両102に誘導を提供するメッセージを受信すると、誘導ゲートウェイコンポーネント138は、メッセージが、権限を与えられたユーザーによって送信されているか、権限を与えられていないユーザーによって送信されているかどうかを決定することがある。誘導ゲートウェイコンポーネント138は、メッセージに埋め込まれた署名情報を復号し、署名が認可されたユーザーに関連付けられたユーザー識別情報と合うかどうかを検証することがある。誘導ゲートウェイコンポーネント138は、復号された署名がメモリー120の中の状態データ136に格納されている認可されたユーザーの署名と合わないとき、メッセージを拒否することがある。誘導ゲートウェイコンポーネント138は、復号された署名が、メモリー120の中の状態データ136に格納されている認可されたユーザーの署名と合うとき、メッセージを受け入れることがある。
【0037】
いくつかの例では、誘導ゲートウェイコンポーネント138は、メッセージが、自律車両102のコンピューティングデバイス104と遠隔操作システム170またはコンピューティングデバイス(複数可)180(1)~180(y)との間でメッセージを通信するための指定チャネルを介して送信されているかどうかをさらに決定することがある。誘導コンポーネント138は、メッセージが指定チャネルを介して送信されるとき、メッセージを受け入れることがある。誘導ゲートウェイコンポーネント138は、メッセージが指定チャネル以外のチャネルを介して送信されるとき、メッセージを拒否することがある。例えば、権限チャネルがメッセージを送受信するのに現在指定されていると仮定して、ユーザー情報に関係のあるメッセージが受信されるとき、誘導ゲートウェイコンポーネント138は、ユーザー情報チャネルが出されてメッセージを送信しているかどうかを決定することがある。誘導ゲートウェイコンポーネント138は、メッセージが指定チャネル以外の別のチャネル、例えば、ユーザー情報チャネルを介して送信されていると決定されるならば、ユーザー情報メッセージを拒否することがある。
【0038】
誘導ゲートウェイコンポーネント138は、自律車両の状態に少なくとも部分的に基づいておよび/または要求のすぐあと、異なる時間に、異なるチャネルに同意することがある。例および非限定として、誘導ゲートウェイコンポーネント138は、自律車両102が進み始める前に、権限チャネルに同意することがある。自律車両102は、権限チャネルを介して送信されたメッセージを受信して、現在、誘導を提供する権限を有するユーザー、すなわち、従事するユーザーを決定することがある。権限情報が、自律車両と遠隔操作システム170および/またはコンピューティングデバイス180(1)~180(y)との間で同期されると、誘導ゲートウェイコンポーネント138は、自律車両102に、誘導チャネルを介して、従事するユーザーから誘導を受信する準備をさせる誘導チャネルに切り替えることがある。いくつかの例では、権限が、自律車両が進行中の間に変わることがあり、遠隔操作システム170は、更新された権限情報に対して権限チャネルをリッスンするように自律車両に要求を送信して、誘導ゲートウェイコンポーネント138に、誘導チャネルから権限チャネルへ同意を切り替えさせることがある。コンピューティングデバイス104は、更新された権限情報が受信されるまで続けるように自律車両102を制御することがある。権限変更は、第一ユーザーから第二ユーザーに権限を譲り渡すこと、従事するユーザーをタイムアウトさせること、従事するユーザーを手放すこと、従事するユーザーをスーパーバイザーユーザーへエスカレートさせること、従事するユーザーを引き継ぐこと、従事するユーザーを取り消すこと等を含むことがある。
【0039】
上述の例が、自律車両102と遠隔操作システム170との間でメッセージを通信するのに一度に用いられる1つのチャネル、または1つのトピックを説明するが、本開示が、制限することを意図しないことは理解されるべきである。2つ以上のチャネルまたはトピックが、通信のために一度に用いられることがある。例えば、権限チャネルは、指定チャネルから独立して存在することがある。しかしながら、権限チャネルを介して送信される権限メッセージは、指定チャネルを介する通信を非難することがある。
【0040】
いくつかの例では、コンピューティングデバイス104は、自律車両の動作に関連付けられた予め設定されたコンフィギュレーションデータに少なくとも部分的に基づいて誘導を実行する前に、メッセージの中の誘導をさらにバリデートすることがある。限定でない例として、プリセットコンフィギュレーションデータは、自律車両102のスピードデータ、静的ゾーンのサイズおよび形状データ、軌道に関連付けられたポイントの間の曲率データ、軌道に関連付けられたポイントの最大数、ジオフェンスデータ等を含むことがある。少なくとも1つの例では、誘導が予め設定されたスピード限度を超える運転の速さを含むとき、コンピューティングデバイス104は、誘導が有効な誘導ではないことを決定し、メッセージを拒否することがある。いくつかの例では、静的ゾーンのサイズがしきい値サイズ(または面積)を超えるとき、コンピューティングデバイス104は、誘導が有効な誘導ではないことを決定し、メッセージを拒否することがある。
【0041】
別の例では、誘導が、予め設定された曲率範囲を超える、軌道の2つのポイントの間における曲率の値を含むとき、コンピューティングデバイス104は、誘導が有効な誘導ではないことを決定し、メッセージを拒否することがある。別の例では、誘導が、ポイントの予め設定された最大数を超えるポイントの総数を有する計画された軌道を含むとき、コンピューティングデバイス104は、誘導が有効な誘導ではないことを決定し、メッセージを拒否することがある。さらに別の例では、誘導が、自律車両から予め設定された距離を超えた軌道に新たに加えられたポイントを含むとき、コンピューティングデバイス104は、誘導が有効な誘導ではないことを決定し、メッセージを拒否することがある。さらに別の例では、誘導が、軌道に新たに加えられたポイントを含むが、軌道における最初のポイントがまだ送られていないとき、コンピューティングデバイス104は、誘導が有効な誘導ではないことを決定し、メッセージを拒否することがある。
【0042】
さらに別の例では、誘導が、不法侵入が禁止されている地理的な領域を通って運転することを含むとき、コンピューティングデバイス104は、誘導が有効な誘導でないことを決定してメッセージを拒否することがある。
【0043】
遠隔操作システム170は、自律車両102に関連付けられたデータを分析し、自律車両102を操作する誘導を提供する1つまたは複数のコンピューティングデバイス140、自律車両102の操作を監視し、自律車両102に誘導を提供する1つまたは複数のコンピューティングデバイス180(1)~180(y)にログインする1つまたは複数のユーザー160(1)~160(x)を含むことがある。コンピューティングデバイス(複数可)140は、データ処理用のプロセッサー(複数可)140と、自律車両102と遠隔操作システム170との間の通信を可能にするネットワークインターフェース(複数可)144と、メモリー146とを含むことがある。
【0044】
いくつかの例では、コンピューティングデバイス(複数可)140のメモリー146は、遠隔操作システム170の種々の機能に関連付けられたコンポーネント(複数可)、例えば、タグバリデーター(tag validator)148、入力モードコンポーネント150、誘導中継コンポーネント152、権限トラッカー132、および/または1つまたは複数のプロセッサー142によって実行されると自律車両102に誘導を提供するために種々の動作を行うことがある同様のコンポーネントを格納することがある。
【0045】
タグバリデーター148は、自律車両102に誘導を提供するメッセージに対して、送られる前に権限検査を行うことがある。メッセージは、ユーザー(複数可)160(1)~160(x)のうちの少なくとも1名によって、コンピューティングデバイス180(1)~180(y)のうちの少なくとも1つから生成されることがある。一人のユーザー、すなわち従事するユーザーが、一度に自律車両102に誘導を提供する権限を有することがあるが、他のユーザー、すなわち従事しないユーザーは、それぞれのコンピューターデバイスにログインしてメッセージを送ることがある。本明細書におけるタグは、例えば、遠隔操作システム170におけるユーザーの固有ID、ユーザーの電子署名、対応するコンピューティングデバイスのIPアドレスと組み合わされたユーザーのID、ユーザーの手書き署名等、ユーザーに関連付けられたインディケーションを参照することがある。メッセージが、対応するコンピューティングデバイスにおいて操作するユーザーによって生成されるとき、ユーザーに関連付けられたインディケーションは、タグとしてメッセージに自動的に添付される。タグは、ユーザーに関連付けられたインディケーションの原形のフォーマット、例えば、原形の手書き署名であり得る。加えて、または代わりに、タグは、ユーザーに関連付けられたインディケーションの処理された情報、例えば、暗号化された電子署名、暗号化されたIPアドレス等であり得る。タグバリデーター148は、タグバリデーション(tag validation)に対して、権限トラッカー132から権限データを取得することがある。タグバリデーター148が、新たに生成されたメッセージに添付されたタグが権限データと合わないことを決定したとき、タグバリデーター148は、決定を誘導中継コンポーネント152に送信して、メッセージを捨てることがある。図1および図2に示され、本明細書に述べられるタグバリデーター148および権限トラッカー132が、単に例示の目的のためであることは理解されるべきである。タグバリデーター148および権限トラッカー132の動作は、1つのコンポーネントに統合されることがある。例えば、タグバリデーター148の動作は、権限トラッカー132に組み入れられることがある。代わりに、権限トラッカー132の動作は、タグバリデーター148に組み入れられることがある。加えて、または代わりに、タグバリデーター148および権限トラッカー132の動作は、自律車両102の他のコンポーネントに組み入れられることがある。本開示は、限定することを意図しない。
【0046】
入力モードコンポーネント150は、自律車両102を操作することに関連付けられた現在の入力モードを格納することがある。遠隔操作システム170のコンピューティングデバイス(複数可)140は、メッセージによって提供された誘導が現在の入力モードを満たすかどうかを決定することがある。メッセージによって提供された誘導が現在の入力モードを満たさないとき、誘導中継コンポーネント152は、メッセージを捨てることがある。自律車両を操作することに関連付けられた入力モードの詳細は、図2に関して説明されるだろう。
【0047】
誘導中継コンポーネント152は、自律車両に送信されることになる不適切なメッセージを遮蔽する動作を行うことがある。限定でない例として、誘導中継コンポーネント152は、メッセージの権限検査が、従事するユーザーによってメッセージが生成されていないことを示すとき、メッセージを捨てることを決定することがある。誘導中継コンポーネント152は、メッセージが現在の入力モードを満たさないとき、メッセージを捨てることをさらに決定することがある。少なくとも1つの例では、誘導中継コンポーネント152は、遠隔操作システム170と自律車両102との間でメッセージを通信するのに現在指定されるチャネルを決定することがある。指定チャネルに関係のある情報は、ネットワーク156を介して、遠隔操作システム170と自律車両102との間で同期されることがある。誘導中継コンポーネント152は、ユーザーによって生成されたメッセージが現在の指定チャネルに関連付けられるかどうかを決定することがある。誘導中継コンポーネント152は、ユーザーによって生成されたのが現在の指定チャネルと関連付けられていないとき、メッセージを捨てることがある。
【0048】
指定チャネルは、メッセージのタイプ、メッセージのカテゴリ、またはメッセージの共通のトピックを示すことがある。限定でない例として、制御メッセージは制御チャネルを介して送信されることがある、ユーザー情報はユーザー情報チャネルを介して送信されることがある、権限メッセージは権限チャネル(authority channel)を介して送信されることがある、誘導メッセージは誘導チャネルを介して送信されることがあるなど。自律車両102のコンピューティングデバイス104および遠隔操作システム170またはコンピューティングデバイス(複数)180(1)~180(y)は、それぞれ、メッセージを、および対応するカテゴリ/トピック/チャネルを、メモリー120および146に格納することがある。可能性があるメッセージのセットが、一定のカテゴリ/トピック/チャネルに予め割り当てられることがある。メッセージの分類は、少なくとも自律車両102と遠隔操作システム170との間のインタラクションに基づき、さらに学習されることがある。誘導中継コンポーネント152は、現在の入力モードに少なくとも部分的に基づいて指定チャネルを決定することがある。
【0049】
本明細書に述べられるコンポーネントの機能性が説明目的のためであり限定のためではないことは理解されるべきである。本明細書に述べられるコンポーネントのいくつかまたはすべての様相は、どんなモデル、アルゴリズム、および/または機械学習アルゴリズムでも含むことがある。
【0050】
図2は、本開示の例にしたがって自律車両に提供される誘導を認証するための例示的なシステムのブロック図を示す図である。図2に例示されている、メッセージおよびフィードバックメッセージは、データディストリビューティングサービス(data distributing service:DDS)210を介して交換される。本開示のいくつかの例では、ユーザーによって生成された遠隔操作メッセージは、DDS210を介して自律車両102に送信される前に、遠隔操作システム170のコンピューティングデバイス(複数可)140によって最初に認証されバリデートされることがある。遠隔操作メッセージは、自律車両102に誘導を提供するために実行される前に、自律車両102のコンピューティングデバイス(複数可)104によってさらに認証されバリデートされることがある。本開示によって提供される二重認証/バリデーション技法において、遠隔操作システム170および自律車両102の各々は、メッセージの認証およびバリデーションを行う1つまたは複数の遮蔽コンポーネントを有して構成されることがある。限定でない例として、1つまたは複数の遮蔽コンポーネントは、遠隔操作システム170のコンピューティングデバイス(複数可)140に実装された誘導中継コンポーネント152、権限トラッカー132、またはタグバリデーター148、自律車両102のコンピューティングデバイス(複数可)104に実装された誘導ゲートウェイ138または権限トラッカー132のうちの少なくとも1つを含むことがある。いくつかの例では、タグバリデーター148は、自律車両102と遠隔操作システム170との間の通信に橋渡しをするリモートコンピューティングデバイスに実装されることがある。遠隔操作システム170のコンピューティングデバイス(複数可)140は、バリデーション目的のために自律車両の操作に関連付けられたコンフィギュレーションデータ208を生成し、ネットワーク156を介してコンフィギュレーションデータ208を自律車両102のコンピューティングデバイス(複数可)104と共有することがある。少なくとも1つの例では、コンフィギュレーションデータ208は、自律車両102と遠隔操作システム170との間の通信に橋渡しをするリモートコンピューティングデバイスに格納されることがある。
【0051】
遠隔操作システム170のコンピューティングデバイス(複数可)140に実装された権限トラッカー132は、自律車両に誘導を提供する権限を与えられることが可能であるユーザーに関連付けられた情報をトラッキングすることがある。権限トラッカー132は、遠隔操作システム170に関連付けられたユーザーのディレクトリを作成し、維持することがある。限定でない例として、ユーザーのディレクトリは、ユーザーのユーザー名またはユーザーID、ユーザーに割り当てられたコンピューティングデバイス、コンピューティングデバイスのIPアドレス、ユーザーの署名、ユーザーのオンライン/オフライン状態、ユーザーの従事している/従事していない状態、自律車両102が制御する権限を与えられているかどうか等を含むことがある。権限トラッカー132は、コンピューティングデバイス180(1)~180(y)から状態メッセージを周期的に受信することがある。状態メッセージは、ユーザーのオンライン/オフラインの状態、および/または、ユーザーの従事している/従事していない状態を示すことがある。権限トラッカー132は、周期的な状態メッセージに少なくとも部分的に基づいて、ユーザーのディレクトリを更新することがある。
【0052】
遠隔操作システム170のコンピューティングデバイス(複数可)140に実装された権限トラッカー132は、自律車両102からの要求のすぐあと、ユーザーに関連付けられた情報を、自律車両102のコンピューティングデバイス(複数可)104に実装された権限トラッカー132と周期的に同期させることがある。自律車両102のコンピューティングデバイス(複数可)104に実装された権限トラッカー132は、遠隔操作システム170のコンピューティングデバイス(複数可)140に実装された権限トラッカー132と同様の動作を行うことがある。加えて、または代わりに、自律車両102のコンピューティングデバイス(複数可)104に実装された権限トラッカー132は、自律車両102が、権限を引き継ぎたいかどうかを決定し、引き継ぎ要求を遠隔操作システム170のコンピューティングデバイス(複数可)140に送信することがある。
【0053】
誘導中継コンポーネント152は、自律車両102を操作することに関連付けられた現在の入力モードを決定することがある。限定でない例として、入力モードは、パスビルドモード202、静的ゾーンモード204、またはイールド再分類モード206を含むことがある。パスビルドモード202は、遠隔操作システム170が、自律車両を進むように誘導するための複数のポイントを有する少なくとも1つの軌道を提供していることを示すことがある。静的ゾーンモード204は、遠隔操作システム170が、環境の中の静止物体または静的ゾーンに関係のある情報を提供していることを示すことがある。イールド再分類モード206は、遠隔操作システム170が、環境の中に発生した物体またはイベントの再分類情報を提供していることを示すことがある。誘導中継コンポーネント152は、ユーザーによって生成されたメッセージが、自律車両102の動作に関連付けられた現在の入力モードを満たすかどうかを決定することがある。
【0054】
少なくとも1つの例では、ユーザーは、現在の入力モードがパスビルドモード202であるとき、静的ゾーンに関係のある情報を提供するメッセージを生成することがある。現在の入力モードに少なくとも部分的に基づいて、誘導中継コンポーネント152は、静的ゾーンに関係のある情報を提供するメッセージが、自律車両102に送られるべきではない間違ったメッセージであることを決定することがある。別の例では、ユーザーが、軌道情報を提供するメッセージを生成することがあるが、しかしながら、自律車両102が、自律車両102が進路において検出した物体の再分類情報を待っている。現在の入力モードがイールド再分類モード206であることに少なくとも部分的に基づいて、誘導中継コンポーネント152は、軌道情報を提供するメッセージが現在の入力モードを満たさないことを決定し、メッセージを捨てることがある。少なくともいくつかの例では、上記の誘導中継コンポーネント152は、上記の誘導要求における小さな誤りをさらに正すことがある。例を限定しないように、誘導軌道は、たとえば(衝突コストを含むことがある)コストを計算することなどによって、センサーデータ(および/またはそこから導出されたもの、たとえば、限定されないが、 静的な物体および動的な物体のロケーションなど)に対してバリデートされることがある。少なくともいくつかの上記の例では、コストが安全コストを超える場合(例えば、誘導されたウェイポイントが車両に近づきすぎることがある)、より小さい摂動および最適化が、上記の誘導中継コンポーネント152によって行われて、新しい、安全な、パスが決定されることが可能であるかどうかを決定することがある(例えば、遅延のためになどリモートシステムとローカルシステムとの間のデータにおける相違によって引き起こされることがある)。
【0055】
自律車両に誘導を提供するユーザーによって生成されるメッセージは、ユーザーの識別情報、例えば、ユーザーの署名を自動的に入れられることがある。限定でない例として、ユーザーの署名は、公開鍵基盤(PKI)、秘密鍵基盤、公開鍵/秘密鍵ペア、メッセージのデータバイトのハッシュ、グローバル一意識別子(GUID)、またはそれらのどんな組み合わせでも暗号化されることがある。ユーザーの識別情報および/または暗号化/復号情報は、自律車両102にハードコード化されることがある。加えて、または代わりに、ユーザーの識別情報および/または暗号化/復号情報は、ソフトコード化され、自律車両102と遠隔操作システム170との間で共有されることがある。タグバリデーター148は、共有公開鍵、秘密鍵、ハッシュコード、またはGUIDを用いてメッセージから署名を復号し、署名がユーザーのディレクトリに格納されたのと合うかどうかを検証することがある。タグバリデーター148は、署名がユーザーのディレクトリに格納されたのと合わないことに少なくとも部分的に基づいて、メッセージが認可されてないユーザーからであることを決定し、メッセージを捨てることがある。いくつかの例では、復号された署名がエラーを含むことがあるとき、タグバリデーター148は、署名バリデーションが失敗することを決定し、メッセージを捨てることがある。別の例では、タグバリデーター148は、ユーザーの署名がメッセージから欠いていることを決定し、メッセージを捨てることがある。
【0056】
いくつかの例では、自律車両102の異なるコンポーネントは、個々の入力コントローラーまたは制御マッピングコンフィグレーションを有して構成されることがある。入力コントローラーまたは制御マッピングコンフィグレーションは、ホットキーまたは一定のホットキーの組み合わせが押下されるとき、自律車両102の対応するコンポーネントがアクティベートされることを示すことがある。ユーザーが、第1のコンポーネントをアクティベートする命令を生成することを引き起こす第1のホットキーまたは一定の第1のホットキーの組み合わせを押下する状況において、誘導中継コンポーネント152は、第1のコンポーネントが動作するように現在選択されているかどうかを決定することがある。現在選択されているコンポーネントが、異なるホットキーまたはホットキーの異なる組み合わせによって制御される第2のコンポーネントであるならば、誘導中継コンポーネント152は、命令が第2のコンポーネントに向けられるべきではないことを決定し、命令を捨てることがある。例えば、ユーザーは、現在選択されているコンポーネント、すなわち、アクティブコンポーネントがパスビルダーコンポーネントである間、スタティックゾーン命令(static zone instruction)を送ることを引き起こす「Ctrl」および「S」キーの組み合わせを押下することがある。誘導中継コンポーネント152は、静的ゾーン命令を誤りのあることを決定し、命令を捨てることがある。
【0057】
ユーザーによって生成されるメッセージが遠隔操作システム170のコンピューティングデバイス(複数可)140によって認証されバリデートされると、メッセージは、ネットワーク156を介して自律車両102のコンピューティングデバイス(複数可)104に送信されることがある。自律車両102のコンピューティングデバイス(複数可)104に実装される誘導ゲートウェイコンポーネント138は、メッセージを受信すると、メッセージが実行される前にメッセージをさらに認証しバリデートするための種々の動作を行うことがある。図1に関して上に説明されている、誘導ゲートウェイコンポーネント138は、ユーザーの暗号化された識別情報に少なくとも部分的に基づいて、遠隔操作システム170からのメッセージを認証することがある。誘導ゲートウェイコンポーネント138は、メッセージが、従事するユーザーからであるかどうか、およびメッセージが、従事するユーザーによって適切に署名されているかどうかを決定することがある。誘導ゲートウェイコンポーネント138は、メッセージが、自律車両102と遠隔操作システム170との間の通信のために現在指定されているチャネルを介して送信されているかどうかをさらに決定することがある。
【0058】
いくつかの例では、コンピューティングデバイス104は、自律車両の動作に関連付けられたコンフィギュレーションデータ208に少なくとも部分的に基づいて誘導を実行する前に、メッセージの中の誘導をさらにバリデートすることがある。コンフィギュレーションデータ208は、遠隔操作システム170によって作成され、自律車両102のコンピューティングデバイス(複数可)104のメモリー120と遠隔操作システム170のコンピューティングデバイス(複数可)140のメモリー146との両方に格納されることがある。加えて、または代わりに、コンフィギュレーションデータ208は、リモートコンピューティングデバイスに格納され、自律車両102および遠隔操作システム170によって共有されることがある。
【0059】
限定でない例として、コンフィギュレーションデータ208は、自律車両102の速さの範囲(すなわち、自律車両の最小および最大の速さ)、静的ゾーンのサイズおよび形状データ、静的リージョンの相対的なロケーション、軌道に関連付けられたポイントの間の曲率データ、軌道に関連付けられたポイントの最大数、ジオフェンスデータ等を含むことがある。例えば、自律車両102が予め設定された最小の速さよりも速く運転している間、メッセージが自律車両102に続けて進むまたは停止するよう命令するとき、コンピューティングデバイス104はメッセージを拒否することがある。しかしながら、少なくともいくつかの例では、上記の最大値が考慮に入れられ、新しい制御が、車両において利用可能であるローカルな最大値に基づいて決定されることがある。上記の例では、上記の代替のコマンド(例えば、車両の現在の状態を与えられた車両の限界内に制約される)は、与えられたシナリオに打ち勝つことに関してバリデートされることがある。
【0060】
別の例では、誘導が、ポイントの少なくとも一部が予め設定された距離より大きく間隔をあけられている軌道のポイントを含むとき、コンピューティングデバイス104は、メッセージを拒否することがある。別の例では、誘導が、サンプル間の最大曲率が予め設定された角度よりも大きい軌道のポイントを含むとき、コンピューティングデバイス104は、メッセージを拒否することがある。本明細書に述べられる曲率は、直線的なパスからの逸脱の度合いを参照することがある。別の例では、誘導が、ポイントの予め設定された最大数(例えば、2000ポイント)を超えるポイントの総数を有する計画された軌道を含むとき、コンピューティングデバイス104は、誘導が有効な誘導ではないことを決定し、メッセージを拒否することがある。さらに別の例では、誘導が、静的ゾーンに関連付けられた情報を含むとき、コンピューティングデバイス104は、静的ゾーンが自律車両102の位置と部分的に一致するかどうか、静的ゾーンを表すポイントの総数が、予め設定された範囲(例えば。3~36個のポイント)を超えるかどうか、点が共面であるかどうか、静的ゾーンの自律車両までの距離が、予め設定された距離(例えば、500m)以内であるかどうか、静的ゾーンの面積が1m2~1000m2であるかどうか、または最大の辺の長さが50m未満であるかどうか等のうちの少なくとも1つを決定することがある。静的ゾーンが自律車両102の位置と部分的に一致するとき、または静的ゾーンを表すポイントの総数が、予め設定された範囲を超えているとき、またはポイントが共面でないとき、または静的ゾーンの自律車両までの距離が、予め設定された距離を超えているとき、または静的ゾーンの面積が、予め設定された面積の範囲を超えているとき、または最大の辺の長さが、予め設定された長さより長いとき、コンピューティングデバイス104はメッセージを拒否することがある。上述のことのように、より小さい摂動が、誘導された軌道に対して試験されて、ローカルとリモートとの値(状態、データに対して等)の間の矛盾が、車両の現在の苦境に安全に打ち勝つだろうかどうかを決定することがある。
【0061】
本明細書に述べられる遠隔操作システム170と自律車両102との間で送信されるメッセージの認証およびバリデーションの処理が説明目的のためであることは理解されるべきである。本開示は、限定することを意図しない。認証およびバリデーションの処理は、遠隔操作システム170のコンピューティングデバイス(複数可)140、例えば、誘導中継コンポーネント152のみによって行われることがある。いくつかの例では、認証およびバリデーションの処理は、自律車両102のコンピューティングデバイス(複数可)104、例えば、誘導ゲートウェイコンポーネント138のみによって行われることがある。別の例では、認証およびバリデーションの処理は、遠隔操作システム170のコンピューティングデバイス(複数可)140と自律車両102のコンピューティングデバイス(複数可)104との両方によって行われることがある。さらに別の例では、認証処理は遠隔操作システム170のコンピューティングデバイス(複数可)140によって行われることがあり、バリデーション処理は自律車両102のコンピューティングデバイス(複数可)104によって行われることがある。認証およびバリデーションの結果は、遠隔操作システム170のコンピューティングデバイス(複数可)140と自律車両102のコンピューティングデバイス(複数可)104との間で共有されることがある。
【0062】
自律車両に誘導を提供するメッセージが認証されバリデートされるとき、誘導は、実行する自律車両102のコンポーネント、例えば、プランニングコンポーネント124に送信されて、環境を通って進む自律車両102に対して軌道を決定することがある。
【0063】
図3~7は、本明細書に述べられる技法を実装するための例示的な処理の絵入りフロー図を示す図である。例として、および限定なしに、処理は、論理フローグラフとして例示され、各動作は、ハードウェア、ソフトウェア、またはそれらの組み合わせに実装されることが可能である一連の動作を表す。ソフトウェアという状況にて、動作は、1つまたは複数のコンピューター読取り可能な記録媒体に格納されたコンピューター実行可能な命令を表し、1つまたは複数のプロセッサーによって実行されると、引用される動作を行う。一般に、コンピューター実行可能な命令は、特定の機能を行うまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。動作が説明される順序は、限定として解釈されることを意図せず、処理を実装するために、説明される動作をいくらでも、どんな順序でもおよび/または並列に組み合わされる(または省略される)ことが可能である。いくつかの例では、複数の分岐は、本明細書に述べられる他の動作と別々にまたは組み合わせて用いられることがある代替の実装を表す。
【0064】
図3は本開示の例にしたがって自律車両に提供される誘導を認証するための例示的な処理300の絵入りのフロー図を示す図である。図3に例示されている、ユーザー(複数可)160(1)~160(x)のうちの一人、すなわち従事するユーザーは、対応するコンピューティングデバイス180(1)~180(y)のうちの1つを介して遠隔操作メッセージを自律車両102に送信することがある。図1に示される遠隔操作システム170は、自律車両102と遠隔操作システム170との間でメッセージを通信するチャネルを指定することがある。例えば、遠隔操作システム170は、自律車両102が運転を開始する前に、自律車両102と遠隔操作システム170との間でメッセージを通信する権限チャネル302Aを指定することがある。遠隔操作システム170は、従事するユーザーの情報を有する権限メッセージを、権限チャネル302Aを介して自律車両に送信することがある。さらに、遠隔操作システム170は、権限チャネル302Aを介して、すべてのオンラインユーザーの情報を有するメッセージを自律車両に送信することがある。上記のメッセージを送信することによって、遠隔操作システム170は、自律車両102に、従事するユーザーが動作を能動的に観察し、動作の間、誘導を提供することが可能であり、他の従事しないユーザーが動作を受動的に観察しているが誘導を提供する権限がないことを通知することがある。
【0065】
権限情報が自律車両102と遠隔操作システム170との間で共有され同期されると、遠隔操作システム170は、自律車両に、権限チャネル302Aから誘導チャネル302Bに切り替えるよう命令することがある。自律車両102に誘導を提供する遠隔操作メッセージは、従事するユーザーによって、対応するコンピューティングデバイスを通じて生成され、誘導チャネル302Bを介して自律車両102に送信されることがある。
【0066】
動作304において、自律車両102のコンピューティングデバイス(複数可)104は、自律車両102に誘導を提供する遠隔操作メッセージが、バリデートされた権限からであるかどうかを決定することがある。コンピューティングデバイス(複数可)104は、遠隔操作メッセージに入れられる識別情報を復号し、復号された識別情報をユーザー(複数可)160(1)~160(x)に関連付けられた格納されている情報と比較することがある。識別情報が、遠隔操作メッセージを生成するユーザーの署名を表すとき、コンピューティングデバイス(複数可)104は、署名比較結果に少なくとも部分的に基づいて、ユーザーが、従事するユーザーであるかどうか、および/または署名が、従事するユーザーの本物の署名であるかどうかを決定することがある。
【0067】
メッセージが、バリデートされた権限からであると決定されるとき、動作306において、コンピューティングデバイス(複数可)104は、メッセージを受け入れることがある。
【0068】
動作308において、コンピューティングデバイス(複数可)104は、誘導に従って自律車両102を制御することがある。
【0069】
メッセージが、バリデートされた権限からではないと決定されるとき、動作310において、コンピューティングデバイス(複数可)104は、メッセージを拒否し、遠隔操作システム170にフィードバックメッセージを送ることがある。
【0070】
図4は、本開示の例にしたがって自律車両に提供される誘導を認証するための例示的な処理400の絵入りのフロー図を示す図である。
【0071】
図4に例示される例に従って、遠隔操作メッセージが、バリデートされた権限からであると決定されるとき、動作402において、コンピューティングデバイス(複数可)104は、遠隔操作メッセージが、指定チャネル、例えば、権限チャネル302A、誘導チャネル302B、または制御チャネル302Cを介して送信されているかどうかをさらに決定することがある。
【0072】
遠隔操作メッセージが指定チャネルを介して送信されるとき、コンピューティングデバイス(複数可)104は、動作306においてメッセージを受け入れ、動作308において誘導に従って自律車両を制御することがある。遠隔操作メッセージが指定チャネルを介して送信されていないとき、コンピューティングデバイス(複数可)104は、動作310においてメッセージを拒否し、遠隔操作システム170にフィードバックメッセージを送ることがある。例えば、指定チャネルが誘導チャネル302Bであり、自律車両102の内部温度を制御することに関係のあるメッセージが制御チャネル302Cを介して送信されるとき、コンピューティングデバイス(複数可)104は、メッセージを拒否することがある。別の例では、指定チャネルが誘導チャネル302Bであり、権限変更に関係のあるメッセージが権限チャネル302Aを介して送信されるとき、コンピューティングデバイス(複数可)104は、メッセージを拒否することがある。しかしながら、権限チャネル302Aが指定チャネルから独立して存在する状況では、コンピューティングデバイス(複数可)104は、権限チャネルを介して送信されるメッセージを受け入れ、権限変更がコンピューティングデバイス(複数可)104において更新されるまで、誘導チャネル302Bを介して送信されるメッセージを一時的に捨てることがある。
【0073】
図5は、本開示の例にしたがって自律車両に提供される誘導を認証するための例示的な処理500の絵入りのフロー図を示す図である。
【0074】
図5に例示される例に従って、遠隔操作メッセージが、バリデートされた権限からであると決定されるとき、および遠隔操作メッセージが指定チャネルを介して送信されているとき、動作502において、コンピューティングデバイス(複数可)104は、誘導が自律車両102の動作に関連付けられたコンフィギュレーションデータを満たすかどうかをさらに決定することがある。
【0075】
誘導が、自律車両102の動作に関連付けられた予め設定されたコンフィグレーションを満たすとき、コンピューティングデバイス(複数可)104は、動作306においてメッセージを受け入れ、動作308において誘導に従って自律車両を制御することがある。誘導が、自律車両102の動作に関連付けられた予め設定されたコンフィギュレーションデータを満たさないとき、コンピューティングデバイス(複数可)104は、動作310においてメッセージを拒否し、遠隔操作システム170にフィードバックメッセージを送ることがある。予め設定されたコンフィギュレーションデータは、自律車両102の動作に関連付けられた1つまたは複数のパラメーター(例えば、速さ、加速度、計画された軌道、静的ゾーン等)、および1つまたは複数のパラメーターに関連付けられた1つまたは複数のしきい値および/または範囲を定義することがある。少なくとも1つの例では、誘導が、提案された運転の速さを含むとき、コンピューティングデバイス(複数可)104は、提案された運転スピードが予め設定された範囲内であるかどうかを決定することがある。最高の運転の速さが時速50マイルとして設定されているならば、時速80マイルにおいて提案された運転の速さを含む誘導は、拒否されることがある。
【0076】
図6は、本開示の例にしたがって自律車両に提供される誘導を認証するための例示的な処理600の絵入りのフロー図を示す図である。
【0077】
図6に例示される例に従って、遠隔操作メッセージが、バリデートされた権限からであると決定され、遠隔操作メッセージが指定チャネルを介して送信され、誘導が予め設定されたコンフィギュレーションデータを満たすとき、動作602において、コンピューティングデバイス(複数可)104は、誘導が自律車両102の状態を満たすかどうかをさらに決定することがある。
【0078】
誘導が、自律車両102の状態を満たすとき、コンピューティングデバイス(複数可)104は、動作306においてメッセージを受け入れ、動作308において誘導に従って自律車両を制御することがある。誘導が自律車両102の状態を満たさないとき、コンピューティングデバイス(複数可)104は、動作310において、メッセージを拒否し、遠隔操作システム170にフィードバックメッセージを送り、動作604において、自律車両の状態を維持することがある。本明細書に述べられる自律車両102の状態は、図2に示される入力モードコンポーネント150によって表現されることがある。限定でない例として、入力モードは、パスビルドモード、静的ゾーンモード、またはイールド再分類モードを含むことがある。少なくとも1つの例では、現在の入力モード(すなわち、自律車両102の状態)が静的ゾーンモードであるとき、遠隔操作メッセージが、計画された軌道を提供するとき、コンピューティングデバイス(複数可)104は遠隔操作メッセージを拒否することがある。別の例では、自律車両102が進路において物体を検出し、イールド再分類を要求するとき、自律車両102にまっすぐに運転させる軌道に1つまたは複数の新しいポイントを提供する、遠隔操作メッセージが生成される。コンピューティングデバイス(複数可)104は、遠隔操作メッセージを拒否することがある。さらに、フィードバックメッセージは、ユーザーに関連付けられたコンピューティングデバイス(複数可)180(1)~180(y)においてユーザーインタフェース622に表示されることがある。
【0079】
図7は、本開示の例にしたがって自律車両に提供される誘導を認証するための例示的な処理700の絵入りのフロー図を示す図である。
【0080】
図7におけるフローチャートは、遠隔操作システム170によって行われる認証およびバリデーションの処理を説明する。
【0081】
動作702において、遠隔操作システム170のコンピューティングデバイス(複数可)140は、自律車両の操作に関連付けられた指定チャネルを定義することがある。本明細書に述べられる自律車両の動作に関連付けられた指定チャネルは、メッセージの共通のトピック、自律車両に提供されるメッセージのタイプ、またはメッセージの共通のトピックを自律車両に提供されるメッセージのカテゴリを参照することがある。限定でない例として、指定チャネルは、制御チャネル、ユーザー情報チャネル、権限チャネル、誘導チャネル等を含むことがある。遠隔操作システム170のコンピューティングデバイス(複数可)140は、一定のカテゴリ/トピック/チャネルに関係のある可能性がある入力(例えば、自律車両と遠隔操作システムとの間で送信されるメッセージ)のセットを定義することがある。可能性がある入力(例えば、自律車両と遠隔操作システムとの間で送信されるメッセージ)のセットと、対応するカテゴリ/トピック/チャネルとは、遠隔操作システム170のメモリー146にマッピングテーブルとして格納されることがある、および/または自律車両102のメモリー120に同期されることがある。
【0082】
動作704において、コンピューティングデバイス(複数可)140は、権限実体に関連付けられた情報を格納することがある。コンピューティングデバイス(複数可)140は、遠隔操作システム170に関連付けられるユーザーのディレクトリを維持することがある。ユーザーのディレクトリは、ユーザーの情報におけるユーザーログイン(例えば、遠隔操作システム170におけるユーザー名またはユーザーID)、ユーザー認証情報(例えば、ユーザーの署名)、ユーザーのオンライン/オフライン状態、ユーザーの従事している/従事していない状態、ユーザーが遠隔操作システム170にログインするときの地理的なロケーション等を含むことがある。いくつかの例では、自律車両102自体が、誘導を提供する権限を有する従事するユーザーであり得る。ユーザーのディレクトリは、自律車両102に関連付けられた情報をさらに格納することがある。いくつかの例では、自律車両102は、予め決められた地理的な領域内に位置されるユーザーから誘導を受け入れるようにハードコード化またはソフトコード化されることがある。他の例では、自律車両102は、1つまたは複数の予め設定されたユーザーから誘導を受け入れるようにハードコード化またはソフトコード化されることがある。さらに他の例では、自律車両102は、予め設定された時間期間に遠隔操作システム170から誘導を受け入れるようにハードコード化またはソフトコード化されることがある。
【0083】
動作706において、コンピューティングデバイス(複数可)140は、自律車両に誘導を提供するメッセージを受信することがある。メッセージは、従事するユーザーまたは従事しないユーザーによって生成された遠隔操作メッセージであり得る。遠隔操作メッセージは、自律車両102から送信されたセンサーデータの分析に少なくとも部分的に基づいて、従事するユーザーまたは従事しないユーザーによって生成されることがある。いくつかの例では、遠隔操作メッセージは、間違い、例えば、ユーザーが誤ってキーボードを打つことまたはタッチスクリーンに触れることがメッセージを生成することを引き起こすことによって生成されることがある。遠隔操作メッセージは、送信者、すなわち、従事するユーザーまたは従事しないユーザーによって署名されることがある。送信者の署名は、遠隔操作メッセージの中に暗号化されることがある。署名の暗号化は、ハッシュコーディング、公開鍵、秘密鍵、公開鍵/秘密鍵ペア、GUID、または権限の暗号化に適用されるどんなアルゴリズムでも行うことによって達成されることがある。
【0084】
動作708において、コンピューティングデバイス(複数可)140は、メッセージが指定チャネルに関連付けられるかどうかを決定することがある。遠隔操作メッセージを自律車両102に送信する前に、コンピューティングデバイス(複数可)140は、遠隔操作メッセージが指定チャネルに分類されることが可能であるかどうかを決定することがある。コンピューティングデバイス(複数可)140は、複数のメッセージと、対応するカテゴリ/トピック/チャネルとを含むマッピングテーブルを検査することがある。マッピングテーブルに少なくとも部分的に基づいて、遠隔操作メッセージが指定チャネルに関係があるならば、コンピューティングデバイス(複数可)140は、遠隔操作メッセージを受け入れるために、操作710を行うことがある。いくつかの例では、コンピューティングデバイス(複数可)140は、遠隔操作メッセージを機械学習モデルに入力し、遠隔操作メッセージがどのチャネルに関連付けられるかを決定することがある。機械学習モデルは、遠隔操作メッセージが1つまたは複数のチャネルに関連付けられることのそれぞれの尤度を示す1つまたは複数の確率を出力することがある。コンピューティングデバイス(複数可)140は、最も高い確率を有するチャネルを選択し、指定チャネルと比較することがある。比較が、選択されたチャネルが指定チャネルではないことを示すならば、コンピューティングデバイス(複数可)140は、遠隔操作メッセージを捨てる動作708を行うことがある。
【0085】
操作710において、コンピューティングデバイス(複数可)140は、メッセージが自律車両の入力モードを満たすかどうかを決定することがある。遠隔操作メッセージを自律車両102に送信する前に、コンピューティングデバイス(複数可)140は、遠隔操作メッセージが、自律車両102の現在の状態を考慮して、自律車両102に効果的な誘導を提供するかどうかを決定することがある。コンピューティングデバイス(複数可)140は、図2に例示される入力モード150に少なくとも部分的に基づいて、自律車両102の現在の状態に関係がある情報を取得することがある。遠隔操作メッセージが自律車両102の入力モードを満たさない、例えば、入力モードがパスビルドである間、遠隔操作メッセージが静的ゾーンであるならば、コンピューティングデバイス(複数可)140は、遠隔操作メッセージを捨てる動作708を行うことがある。
【0086】
操作712において、コンピューティングデバイス(複数可)140は、遠隔操作メッセージをさらにバリデートすることがある。たとえ、遠隔操作メッセージが、従事するユーザーによって生成され、自律車両の現在の状態を満たしても、コンピューティングデバイス(複数可)140は、自律車両102の動作に関連付けられたコンフィギュレーションデータに少なくとも部分的に基づいて、遠隔操作メッセージが有効な命令(複数可)を提供するかどうかをさらに決定することがある。限定でない例として、コンフィギュレーションデータは、自律車両の速さの制限、軌道に関連付けられたポイントの間の曲率範囲、軌道に関連付けられたポイントの最大数、地理情報等を含むことがある。コンフィギュレーションデータの設定を超える誘導を提供する遠隔操作メッセージは、捨てられることがある。例えば、遠隔操作メッセージは、最高スピードを超える時速100マイルにおいて運転するという誘導を提供することがあり、コンピューティングデバイス(複数可)140は、遠隔操作メッセージを捨てることがある。別の例では、遠隔操作メッセージは、軍事基地(または他の制限された領域)を通って運転するという誘導を提供することがあり、コンピューティングデバイス(複数可)140は、遠隔操作メッセージを捨てることがある。さらに別の例では、遠隔操作メッセージは、混雑した交差点にて2分間続けて進むという誘導を提供することがあり、コンピューティングデバイス(複数可)140は、遠隔操作メッセージを捨てることがある。
【0087】
動作714において、コンピューティングデバイス(複数可)140は、遠隔操作メッセージを自律車両に送ることがある。遠隔操作メッセージが、従事するユーザーによって生成され、自律車両の現在の状態を満たし、バリデーション検査を通過することが決定されると、コンピューティングデバイス(複数可)140は、遠隔操作メッセージを自律車両102に送ることがある。
【0088】
操作716において、コンピューティングデバイス(複数可)140は、遠隔操作メッセージを捨てることがある。遠隔操作メッセージが、従事するユーザーによって生成されていないとき、または自律車両の現在の状態を満たさないとき、またはバリデーション検査を通過しないとき、コンピューティングデバイス(複数可)140は、間違ったまたは妥当でない誘導が自律車両に送信されないように、遠隔操作メッセージを捨てることがある。
【0089】
例示的な箇条
A.1つまたは複数のプロセッサーと、ネットワークインターフェースと、1つまたは複数のプロセッサーによって実行可能な命令を格納するメモリーとを含み、命令は、実行されると、自律車両に、コンピューティングデバイスに関連付けられた情報を格納し、情報が、コンピューティングデバイスが自律車両に誘導を提供する権限を与えられていることを示すことと、誘導に関連付けられたメッセージのタイプを示すメッセージタイプ情報を格納することと、ネットワークインターフェースを介して、自律車両に第1の誘導を提供することに関連付けられたメッセージを受信することと、情報に少なくとも部分的に基づいて、メッセージがコンピューティングデバイスに関連付けられることを決定することと、メッセージがメッセージのタイプに関連付けられることを決定することと、メッセージが自律車両を操縦することに関連付けられたコンフィギュレーションデータと、自律車両に関連付けられた状態情報とを満たすことを決定することと、メッセージに少なくとも部分的に基づいて自律車両を制御することと、を含む動作を行わせる、自律車両。
【0090】
B.動作は、センサーデータに少なくとも部分的に基づいて、自律車両の状態情報を決定することと、第1の誘導が状態情報を満たすことを決定することとをさらに含み、自律車両の状態情報は、ロケーションデータ、姿勢データ、または速度データのうちの少なくとも1つを含む、項Aの自律車両。
【0091】
C.メッセージのタイプは、誘導メッセージ、権限メッセージ、状態メッセージ、パーセプションメッセージ、ローカリゼーションメッセージ、またはマップメッセージのうちの1つまたは複数を含む複数のメッセージタイプのうちの1つである、項AまたはBの自律車両。
【0092】
D.メッセージがコンピューティングデバイスに関連付けられることを決定することは、メッセージを生成するコンピューティングデバイスを識別する識別情報を、受信することと、識別情報に少なくとも部分的に基づいて、コンピューティングデバイスが自律車両に誘導を提供する権限を含むことを決定することとを含み、識別情報は、公開鍵基盤(PKI)、秘密鍵基盤、メッセージバイトのハッシュ、またはグローバル一意識別子(GUID)のうちの少なくとも1つを用いてエンコードされる、項A~Cのいずれか1つの自律車両。
【0093】
E.自律車両を操縦することに関連付けられたコンフィギュレーションデータは、自律車両のスピードデータ、静的リージョンゾーンに関連付けられたリージョンのサイズおよび形状のデータ、軌道に関連付けられたポイントの間の曲率データ、軌道に関連付けられたポイント間の間隔データ、軌道に関連付けられたポイントの最大数、またはジオフェンスデータのうちの少なくとも1つを含む、項A~Dのいずれか1つの自律車両。
【0094】
F.コンピューティングデバイスに関連付けられた受信情報を格納し、情報が、コンピューティングデバイスが自律車両に誘導情報を提供する権限を与えられていることを示すことと、ネットワークインターフェースを介して、自律車両に関連付けられた誘導情報を含むメッセージを受信することと、情報に少なくとも部分的に基づいて、メッセージがコンピューティングデバイスに関連付けられることを決定することと、自律車両を操縦することに関連付けられたコンフィギュレーションデータ、または自律車両に関連付けられた状態情報のうちの少なくとも1つに少なくとも部分的に基づいて、メッセージを評価することと、メッセージを評価することに少なくとも部分的に基づいて自律車両の制御することと、を含む方法。
【0095】
G.メッセージを評価することは、メッセージがコンフィギュレーションデータまたは状態情報のうちの少なくとも1つを満たさないことを決定することを含み、方法は、メッセージを拒否することを含む、自律車両を制御することと、自律車両の現在の状態を維持することとをさらに含む、項Fの方法。
【0096】
H.ネットワークインターフェースを介して、メッセージが自律車両によって拒否されたことを示すフィードバックメッセージを送ることをさらに含む、項FまたはGの方法。
【0097】
I.メッセージに関連付けられたメッセージのタイプを決定することと、メッセージのタイプが誘導情報の情報指定されたメッセージタイプに関連付けられることを決定することとをさらに含み、メッセージのタイプは、誘導メッセージ、権限メッセージ、状態メッセージ、パーセプションメッセージ、ローカライゼーションメッセージ、またはマップメッセージのうちの1つまたは複数を含む複数のメッセージタイプのうちの1つである、項F~Hのいずれか1つ方法。
【0098】
J.メッセージを評価することは、メッセージが第1のタイプのメッセージに関連付けられることを決定することを含み、方法は、メッセージを受け入れることと、メッセージにおける誘導情報に少なくとも部分的に基づいて自律車両を制御することとをさらに含む、項F~Iのいずれか1つの方法。
【0099】
K.メッセージを生成するコンピューティングデバイスを識別する識別情報を、受信することと、識別情報に少なくとも部分的に基づいて、コンピューティングデバイスが自律車両に誘導を提供する権限を含むことを決定することとを含み、識別情報は、公開鍵基盤(PKI)、秘密鍵基盤、メッセージバイトのハッシュ、またはグローバル一意識別子(GUID)のうちの少なくとも1つを用いてエンコードされる、項F~Jのいずれか1つの方法。
【0100】
L.センサーデータの少なくとも一部に基づいて、自律車両の状態を決定することと、誘導情報が自律車両の状態を満たすどうかを決定することと、をさらに含み、メッセージを受け入れ、自律車両を制御することは、誘導情報が自律車両の状態を満たすことに応答して、誘導情報に少なくとも部分的に基づいて自律車両を制御すること、および誘導情報が自律車両の状態を満たさないことに応答してメッセージを拒否し、自律車両の状態を維持することを含み、自律車両の状態は、パスビルド状態、静的ゾーン状態、イールド再分類状態、自律車両のロケーション、マップデータ、自律車両の速さ、自律車両の姿勢、自律車両の占有、または自律車両の周りの物体のうちの少なくとも1つを含む、項F~Kのいずれか1つの方法。
【0101】
M.自律車両の状態は、パスビルド状態であり、誘導情報は、計画された軌道にウェイポイントを加えることを含み、誘導情報が自律車両の状態を満たすかどうかを決定することは、計画された軌道に関連付けられた第1のポイントとウェイポイントとの間の距離が距離しきい値以下であることを決定すること、または第1のポイントとウェイポイントとに関連付けられたセグメントに関連付けられた曲率の値が曲率しきい値以下であることを決定することの少なくとも1つをさらに含む、項F~Lのいずれか1つの方法。
【0102】
N.自律車両の状態は、イールド再分類状態であり、誘導情報は、第1の速さ、およびステアリング角において運転することを含み、誘導情報が自律車両の状態を満たすかどうかを決定することは、第1の速さが速さのしきい値以上であることを決定すること、またはステアリング角が障害物との自律車両の衝突を引き起こすことを決定することのうちの少なくとも1つをさらに含む、項F~Mのいずれか1つの方法。
【0103】
O.自律車両の状態は、静的ゾーン状態であり、誘導情報は、静的ゾーン内のサイズおよびロケーションを含み、誘導情報が自律車両の状態を満たすかどうかを決定することは、静的ゾーンの領域サイズがサイズ範囲内であることを決定すること、または静的ゾーンのロケーションが予め設定された領域の外側を越えることを決定することの少なくとも1つをさらに含む、項F~Nのいずれか1つの方法。
【0104】
P.実行されると、1つまたは複数のプロセッサーに、コンピューティングデバイスが車両に誘導情報を提供する権限を与えられていることを示すコンピューティングデバイスに関連付けられた受信情報を格納することと、ネットワークインターフェースを介して、車両に関連付けられた誘導情報を含むメッセージを受信することと、情報に少なくとも部分的に基づいて、メッセージがコンピューティングデバイスに関連付けられることを決定することと、車両を操縦することに関連付けられたコンフィギュレーションデータ、または車両に関連付けられた状態情報のうちの少なくとも1つに少なくとも部分的に基づいて、メッセージを評価することと、メッセージを評価することに少なくとも部分的に基づいて車両の制御することと、を含む動作を行わせる命令を格納する非一時的なコンピューター読取り可能媒体。
【0105】
Q.メッセージを評価することは、メッセージがコンフィギュレーションデータまたは状態情報のうちの少なくとも1つを満たさないことを決定することを含み、車両を制御することは、メッセージを拒否することと、車両の現在の状態を維持することとをさらに含む、項Pの非一時的なコンピューター読取り可能媒体。
【0106】
R.動作は、センサーデータの少なくとも一部に基づいて、車両の状態を決定することと、誘導情報が車両の状態を満たすどうかを決定することとをさらに含み、メッセージを受け入れ、車両を制御することは、誘導情報が車両の状態を満たすことに応答して、誘導情報に少なくとも部分的に基づいて車両を制御すること、および誘導情報が車両の状態を満たさないことに応答してメッセージを拒否し、車両の状態を維持することを含み、車両の状態は、パスビルド状態、静的ゾーン状態、イールド再分類状態、車両のロケーション、マップデータ、車両の速さ、車両の姿勢、車両の占有、または車両の周りの物体のうちの少なくとも1つを含む、項PまたはQの非一時的なコンピューター読取り可能媒体。
【0107】
S.車両を操縦することに関連付けられたコンフィギュレーションデータは、車両のスピードデータ、静的ゾーンのリージョンサイズおよび形状のデータ、軌道に関連付けられたポイントの間の曲率データ、軌道に関連付けられたポイント間の間隔データ、軌道に関連付けられたポイントの最大数、またはジオフェンスデータのうちの少なくとも1つを含む、項P~Rのいずれか1つの非一時的なコンピューター読取り可能媒体。
【0108】
T.車両の状態は、パスビルド状態であり、誘導情報は、計画された軌道にウェイポイントを加えることを含み、誘導情報が車両の状態を満たすかどうかを決定することは、計画された軌道に関連付けられた第1のポイントとウェイポイントとの間の距離が距離しきい値以下であることを決定すること、または第1のポイントとウェイポイントとに関連付けられたセグメントに関連付けられた曲率の値が曲率しきい値以下であることを決定することの少なくとも1つをさらに含む、項P~Sのいずれか1つの非一時的なコンピューター読取り可能媒体。
【0109】
上に説明される例示的な箇条が、ある特定の実装に関して説明されるが、本文書の関連において、さらに、例示的な箇条の内容は、方法、デバイス、システム、コンピューター読取り可能媒体、および/または別の実装を介して実装されることが可能であることが理解されるべきである。加えて、例A~Tのいずれかは、単独にて、または例A-Tのうちのいずれか他の1つまたは複数との組み合わせにおいて、実装されることがある。
【0110】
終結
主題が構造的な特徴および/または方法論的な作動に特有の言葉において説明されたが、添付の特許請求の範囲において定義される主題が、必ずしも説明される特定の特徴または作動に限定されないということは、理解されることである。むしろ、特定の特徴および作動は、特許請求の範囲を実装する例示的なかたちとして開示される。
【0111】
本明細書において説明されるコンポーネントは、どんなタイプのコンピューター読取り可能媒体にでも格納されることがあり、ソフトウェアおよび/またはハードウェアに実装されることがある命令を表す。上に説明される方法および処理のすべては、1つまたは複数のコンピューターもしくはプロセッサーか、ハードウェアか、組み合わせかにより実行されるソフトウェアコードモジュールおよび/またはコンピューター実行可能な命令に具現化され完全に自動化されることがある。代わりに、いくつかまたはすべての方法は、特殊化されたコンピューターハードウェアに具現化されることがある。
【0112】
特に他に述べられていない限り、条件付きの語、例えば、とりわけ、「ことがある」、「可能であろう」、「あり得る」、または「あり得るだろう」などは、ある例が、他の例は含まないが、ある特徴、エレメントおよび/またはステップを含むことがある文脈内において理解される。したがって、一般に、上記の条件付きの語は、ある特徴、エレメントおよび/もしくはステップが、1つもしくは複数の例に何らかの点において必要とされることを、または必然的に1つまたは複数の例が、ユーザーの入力もしくはプロンプティングの有無に関わらず、ある特徴、エレメントおよび/またはステップを含むかどうか、もしくはあらゆる特定の例において行われるべきであるかどうかを決めるためのロジックを含むことを、暗示することが意図されない。
【0113】
特に他に述べられていない限り、結合的な語、例えば、語句「X、Y、またはZのうちの少なくとも1つ」などは、項目、用語等が、各要素の複数の含む、X、Y、もしくはZか、またはあらゆる組み合わせかのいずれかであり得ることを示すことが理解されるべきである。単数として明示的に説明されない限り、「a」は、単数および複数を意味する。
【0114】
本明細書において説明されるフロー図における、および/または添付の図面に描かれるあらゆるルーチンの記述、エレメント、またはブロックは、ルーチン中の特定の論理関数またはエレメントを実装するために、1つまたは複数のコンピューター実行可能な命令を含むモジュール、セグメント、またはコードの部分を潜在的に表すとして理解されるべきである。代替の実装は、エレメントまたはファンクションが、当業者に理解されるように含まれる機能に応じて、実質的に同時に、逆の順に、追加の動作とともに、または動作を省略することを含む、示されたまたは述べられたことから削除される、または順不同で実行されることがある、本明細書において説明される例の範囲内に含まれる。
【0115】
多くの変形および変更が、上述した例に対してなされることがあり、その要素が、他の許容可能な例の中にあるとして理解されるべきである。すべての上記の変更および変形は、本明細書において本開示の範囲内に含まれることが意図され、以下の特許請求の範囲によって保護される。
図1
図2
図3
図4
図5
図6
図7