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

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

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

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-23
(45)【発行日】2024-05-31
(54)【発明の名称】自律車両ガイダンス権限フレームワーク
(51)【国際特許分類】
   B60W 50/14 20200101AFI20240524BHJP
   B60W 50/02 20120101ALI20240524BHJP
   B60W 40/08 20120101ALI20240524BHJP
   B60W 60/00 20200101ALI20240524BHJP
   G08G 1/09 20060101ALI20240524BHJP
【FI】
B60W50/14
B60W50/02
B60W40/08
B60W60/00
G08G1/09 V
【請求項の数】 16
(21)【出願番号】P 2021525214
(86)(22)【出願日】2019-11-05
(65)【公表番号】
(43)【公表日】2022-02-01
(86)【国際出願番号】 US2019059932
(87)【国際公開番号】W WO2020097126
(87)【国際公開日】2020-05-14
【審査請求日】2022-11-07
(31)【優先権主張番号】16/184,958
(32)【優先日】2018-11-08
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518156417
【氏名又は名称】ズークス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】メレディス ジェームズ ゴールドマン
(72)【発明者】
【氏名】フランク レイナルド ラミレス
【審査官】藤村 泰智
(56)【参考文献】
【文献】米国特許出願公開第2013/0204493(US,A1)
【文献】国際公開第2018/038700(WO,A1)
【文献】特表2018-506461(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B60W 30/00 ~ 60/00
G08G 1/00 ~ 1/16
(57)【特許請求の範囲】
【請求項1】
1つ又は複数のプロセッサによって実行されるとき、前記1つ又は複数のプロセッサに、
自律車両のコンピューティングデバイスを、前記自律車両のコンポーネントにガイダンスを提供する排他的な権限を有するものとして識別する第1の状態を記憶することと、
排他的な権限をアクターに移転することに関連する1つ又は複数の条件を指定するポリシーを記憶することであって、前記1つ又は複数の条件は、アクション、役、又は状態の少なくとも1つを含む、ことと、
第1のアクターに関連する第1のデバイスからネットワークインターフェースを介して、排他的な権限を前記第1のアクターに移転するための要求を受信することであって、前記要求は、アイデンティティを指定する識別子、又は前記第1のアクターの第1の役の少なくとも1つを含む、ことと、
前記アイデンティティ又は前記役の少なくとも1つが、メモリに格納された前記ポリシーによって指定された、異なるアクターの間で排他的な権限を移転するための条件を満たすと決定することに少なくとも部分的に基づいて、前記第1の状態を、前記自律車両の前記コンポーネントにガイダンスを提供するための排他的な権限を有するものとして前記第1のアクターを識別する第2の状態へと更新することと、
前記ネットワークインターフェースを介して、少なくとも前記第1のデバイスに、前記第2の状態を送信することと、
前記第1のデバイスから前記ネットワークインターフェースを介して受信されるガイダンスと、前記ガイダンスが前記役に対応すると決定することに少なくとも部分的に基づいて、前記自律車両のコンポーネントを制御することと、
を含む動作を実行させるプロセッサ実行可能命令を記憶する1つ又は複数の非一時的なコンピュータ可読媒体。
【請求項2】
前記第1のアクターが前記排他的な権限を有する間、他のアクターが同時に前記自律車両の前記コンポーネントにガイダンスを提供する権限を有することがない、
請求項1に記載の1つ又は複数の非一時的なコンピュータ可読媒体。
【請求項3】
前記アイデンティティ又は前記役の少なくとも1つが前記条件を満たすと決定することは、状態マシンを評価することを含み、
前記条件は、前記アクション、前記役、又は排他的な権限が異なるアクターの間で移転されるべき前記状態の少なくとも1つを定義し、
前記アクションは、異なるアクターによるテイクオーバ、排他的な権限を有する現在のアクターから異なるアクターへのハンドオフ、又は前記現在のアクターから管理者役に関連するアクターへのエスカレーションの少なくとも1つを含み、
前記役は、テレオペレータ、搭乗オペレータ、管理者、又はスーパーユーザの少なくとも1つを含む、
前記状態は、排他的な権限を有する現在のアクター、又は未確定アクションの少なくとも1つを識別する、
請求項1又は2に記載の1つ又は複数の非一時的なコンピュータ可読媒体。
【請求項4】
前記アイデンティティ又は前記役が、状態マシン移転が有効であると決定する前記条件を満たすと決定することであって、有効な移転は、
ハンドオフメッセージが最初にアクターから受信されるときの、前記アクターから他のアクターへの第1の移転、
エスカレーションメッセージが前記アクターから最初に受信され、テイクオーバメッセージが管理者から受信され、かつ、前記管理者が前記第1のアクターであるときの、前記アクターから前記管理者への第2の移転、
エマージェンシーイベントインジケータが最初に受信され、かつ、前記管理者が前記第1のアクターであるときの、前記アクターから前記管理者への第3の移転、
前記アクターに関連するコンピューティングデバイスが無効であるときの、前記アクターから前記管理者への第4の移転、
前記アクターに関連する前記コンピューティングデバイスで異常な振る舞いを示すことに少なくとも部分的に基づいて前記管理者が前記ポリシーを無視するときの、前記アクターから前記管理者への第5の移転、
キープアライブメッセージが、ある期間内に受信されなかったと決定することに少なくとも部分的に基づく前記アクターから他者への第6の移転、又は
放棄メッセージが前記アクターから受信されたときの、前記アクターからデバイスへの第7の移転、を含む、
請求項1~3のいずれか1項に記載の1つ又は複数の非一時的なコンピュータ可読媒体。
【請求項5】
前記ガイダンスは、承認、共同命令、又はコマンドの少なくとも1つを含み、
前記コンポーネントを制御することは、
前記自律車両の動きを制御するための軌道を生成すること、
前記自律車両のエミッタを制御すること、又は
前記自律車両の車内コンディションを変更すること、
の少なくとも1つを含む、
請求項1~のいずれか1項に記載の1つ又は複数の非一時的なコンピュータ可読媒体。
【請求項6】
前記動作は、
前記ネットワークインターフェースを介して、第2のアクターからガイダンスを受信することと、
状態マシンを評価することに少なくとも部分的に基づき、前記第2のアクターに関連する役が前記ガイダンスに関連する十分な特権に関連付けられていないこと、前記ガイダンスが第2の条件に関連する第2のアクションに関連付けられてないこと、又は前記第2の状態が前記第2のアクターを識別しないことの少なくとも1つを決定することに少なくとも部分的に基づいて前記第2の状態に関連する前記第2の条件が満たされていないと決定することと、
前記第2の条件が満たされていないと決定することに少なくとも部分的に基づいて前記第2の状態を維持することと、
をさらに含む、
請求項1~のいずれか1項に記載の1つ又は複数の非一時的なコンピュータ可読媒体。
【請求項7】
前記動作は、
前記ネットワークインターフェースを介して、前記第1のアクターから、放棄メッセージ、ハンドオフメッセージ、又はエスカレーションメッセージの少なくとも1つを受信することと、
前記ネットワークインターフェースを介して、ガイダンスを提供する前記排他的な権限を第2のアクターに移転するための第2の要求を受信することと、
前記メモリに記憶されている前記ポリシーによって指定された第2の条件が満たされると決定することと、前記放棄メッセージ、前記ハンドオフメッセージ、又は前記エスカレーションメッセージの少なくとも1つと、に少なくとも部分的に基づいて、前記第2の状態を、排他的な権限を有するものとして前記第2のアクターを識別する第3の状態へと更新することと、
をさらに含む、
請求項1~のいずれか1項に記載の1つ又は複数の非一時的なコンピュータ可読媒体。
【請求項8】
前記第2の要求は、前記エスカレーションメッセージに関連するテイクオーバメッセージを含み、
前記第2の条件が満たされると決定することは、前記第2の要求に関連する第2の役が、前記第2のアクターが管理者であることを示していると決定することに少なくとも部分的に基づく、
請求項に記載の1つ又は複数の非一時的なコンピュータ可読媒体。
【請求項9】
前記動作は、
前記ネットワークインターフェースを介して、ガイダンスを提供する排他的な権限を第2のアクターに移転するための第2の要求を受信することと、
前記第2の要求が、前記第2の状態に関連する前記ポリシーの第2の条件を満たさないと決定することに少なくとも部分的に基づき前記ポリシーに従って前記第2の要求が無効な移転であると決定することに少なくとも部分的に基づいて、前記第2の要求を拒否すると決定することであって、前記第2の要求が前記第2の条件を満たさないと決定することは、ハンドオフメッセージ、エスカレーションメッセージ、又は放棄メッセージが前記第1のアクターから受信されなかったこと、又は前記第2のアクターに関連する第2の役が、管理者役の識別を含まないこと、の少なくとも1つを決定することに少なくとも部分的に基づく、ことと、
をさらに含む、
請求項1~のいずれか1項に記載の1つ又は複数の非一時的なコンピュータ可読媒体。
【請求項10】
前記動作は、
前記ネットワークインターフェースを介して、前記第1のデバイスから放棄メッセージを受信すること、又は前記ネットワークインターフェースを介して前記第1のデバイスから最後にキープアライブメッセージが受信されて以来、ある期間が経過したと決定すること、の少なくとも1つに少なくとも部分的に基づいて、前記第2の状態を、前記排他的な権限を有するものとして前記自律車両を識別する前記第1の状態に置き換えること、
をさらに含む、
請求項1~6、9のいずれか1項に記載の1つ又は複数の非一時的なコンピュータ可読媒体。
【請求項11】
前記第1の状態を前記第2の状態に更新することは、
前記第1のアクター、前記第1の役、又は移転のステータスの少なくとも1つに関連する識別子を記憶することと、
状態チャネルを通じて前記1つ又は複数の非一時的なコンピュータ可読媒体の公表をサブスクライブする1つ又は複数のデバイスに、前記第2の状態を送信することと、
を含む、
請求項1~のいずれか1項に記載の1つ又は複数の非一時的なコンピュータ可読媒体。
【請求項12】
前記第1の状態を前記第2の状態に更新することは、
前記第1のアクターのアイデンティティに関連する識別子が、排他的な権限を取得するために認定されていると決定すること、
前記第1のアクターに関連する前記識別子が、ディレクトリサービスによって認証されたもの、又は前記自律車両によって生成されたガイダンスの要求に関連するものの少なくとも1つであると決定すること、
前記第1のアクターに関連する前記第1の役が第1の条件によって指定されていると決定すること、
第2のアクションが前記条件によって指定されていると決定すること、
前記第1のアクター及び前記要求が、ハンドオフメッセージ、又は前記第1のアクターから受信されたエスカレーションメッセージの少なくとも1つに関連付けられていると決定すること、又は、
放棄メッセージが他のアクターから受信されたと決定すること、
の少なくとも1つに少なくとも部分的に基づく、
請求項1~のいずれか1項に記載の1つ又は複数の非一時的なコンピュータ可読媒体。
【請求項13】
前記1つ又は複数のプロセッサと、
請求項1~12のいずれか1項に記載の前記1つ又は複数の非一時的なコンピュータ可読媒体と、
を備える、自律車両。
【請求項14】
状態、役、又はアクションの少なくとも1つに関連するポリシーを記憶することと、
自律車両にガイダンスを提供する排他的な権限を有するものとしてデフォルトアクターを識別する状態を記憶することと、
ネットワークインターフェースを介して、第1のアクターに関連する第1のコンピューティングデバイスに第1の状態を送信することと、
排他的な権限を前記第1のアクターに移転するための要求を、前記ネットワークインターフェースを介して第1のデバイスから受信することであって、前記要求は、前記第1のアクターの識別子、アクション、又は役の少なくとも1つを指定する、ことと、
前記識別子が認証されていると決定すること、又は、前記アクション又は前記役が前記ポリシーによって指定された、異なるアクターの間で排他的な権限を移転するための条件を満たすと決定することの少なくとも1つに少なくとも部分的に基づいて、前記排他的な権限を有するものとして前記第1のアクターを識別するために前記状態を更新することと、
前記ネットワークインターフェースを介して、前記第1のデバイスに第2の状態を送信することと、
前記自律車両にガイダンスを提供するための前記排他的な権限を有するものとして前記第1のアクターを識別する前記状態に少なくとも部分的に基づき、前記ネットワークインターフェースを介して、前記第1のアクターに関連する前記第1のコンピューティングデバイスからガイダンスを受信することに少なくとも部分的に基づいて、前記自律車両に関連するデバイスを制御することと、
を含む、方法。
【請求項15】
前記アクションは、前記第1のアクターによるテイクオーバ、前記デフォルトアクターから前記第1のアクターへのハンドオフ、又は前記デフォルトアクターから前記第1のアクターへのエスカレーションの少なくとも1つを含み、
前記役は、テレオペレータ、搭乗オペレータ、管理者、又はスーパーユーザの少なくとも1つを含む、
請求項14に記載の方法。
【請求項16】
前記排他的な権限を有するものとして前記第1のアクターを識別するために前記第1の状態を更新することは、
前記第1のアクターのアイデンティティに関連する識別子が、排他的な権限を取得するために認定されていると決定すること、
前記第1のアクターに関連する第2の役が前記条件によって指定されていると決定すること、
第2のアクションが前記条件によって指定されていると決定すること、
前記第1のアクター及び第1の要求が、ハンドオフメッセージ、又は、前記第1のアクターから受信されるエスカレーションメッセージの少なくとも1つに関連付けられていると決定すること、又は、
放棄メッセージが他のアクターから受信されたと決定すること、
の少なくとも1つに少なくとも部分的に基づく、
請求項14に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
このPCT国際出願は、2018年11月8日に提出された米国特許出願第16/184,958号の優先権の利益を主張し、参照によって本明細書に組み込まれる。
【背景技術】
【0002】
自律車両は、安全かつ効率的に世界をナビゲートするための様々なシステム及び方法に依存している。けれども、時々、自律車両は、自律車両システムの外部からガイダンス(guidance)を受信することがある。例えば、テレオペレータが、まだグローバルマップに反映されていないアクシデントの先に自律車両を再ルーティングするために新たなルートを自律車両に提供することがあるし、又は、搭乗者が、自律車両がピックアップすべき人であるとして通行人を識別することがある。しかし、二の異なるアクター(actors)から同時発生するガイダンスなど、矛盾するガイダンスを自律車両が受信する場合、自律車両の安全性及び効率性が妥協されうる。
【発明の概要】
【0003】
詳細な説明は、添付の図面を参照しながら説明される。図面において、参照番号の最上位桁は、参照番号が最初に現れる図面を識別する。異なる図面における同じ参照番号は、同じ又は同様のアイテムを示す。
【図面の簡単な説明】
【0004】
図1図1は、自律車両及び二の例示的なアクターを示している例示的なシナリオを説明しており、自律車両にガイダンスを提供する権限は一又は複数のアクターに制限されうる。
図2図2は、アクターに権限を付与し及び/又は自律車両に提供されるガイダンスを制限するための例示的なシステムのブロック図を示している。
図3図3は、アクターに権限を付与するための、アクター間で権限を移転するための、及び/又は、どのアクターが権限を有するかを追跡するための例示的なプロセスについての絵的なフロー図を示している。
図4A図4Aは、車両が現時点で権限を有するときに、アクターがテイクオーバメッセージ(takeover message)を送信する例示的なシナリオのブロック図を示している。
図4B図4Bは、車両が現時点で権限を有するときに、アクターがテイクオーバメッセージを送信する例示的なシナリオのブロック図を示している。
図4C図4Cは、権限が付与されたときに、自律車両にガイダンスを提供するための例示的なユーザインターフェースを示している。
図5A図5Aは、従事アクター(engaged actor)が放棄メッセージ(relinquish message)を送信する例示的なシナリオのブロック図を示している。
図5B図5Bは、従事アクターが放棄メッセージを送信する例示的なシナリオのブロック図を示している。
図6A図6Aは、他のアクターが現時点で権限を有するときに、アクターがテイクオーバメッセージを送信する例示的なシナリオのブロック図を示している。
図6B図6Bは、他のアクターが現時点で権限を有するときに、アクターがテイクオーバメッセージを送信する例示的なシナリオのブロック図を示している。
図7A図7Aは、例示的なハンドオーバ及び/又はエスカレーション(escalation)手順のブロック図を示している。
図7B図7Bは、コンピューティングデバイスに、ハンドオーバ及び/又はエスカレーションメッセージを送信させるための例示的なユーザインターフェースを示している。
図7C図7Cは、コンピューティングデバイスに、ハンドオーバ及び/又はエスカレーション通知に応答させるための例示的なユーザインターフェースを示している。
図7D図7Dは、例示的なハンドオーバ及び/又はエスカレーション手順のブロック図を示している。
【発明を実施するための形態】
【0005】
上で述べたように、二の異なるアクターから同時に発生するガイダンスなど、矛盾するガイダンスを自律車両が受信する場合、自律車両の安全性及び効率性が妥協されうる。この出願は、複数の異なるアクターからの矛盾するガイダンスを避ける技術を説明する。例えば、この出願は、自律車両にガイダンスを提供するアクターに権限を付与すること、アクターの間で権限を移転すること、どのアクターが権限を有するかを追跡することについての技術を説明する。ガイダンスは、コマンド(例えば、自律車両によって実行されるべき1つ又は複数の命令のセット)、共同命令(例えば、いくつかの情報が自律車両に提供され、自律車両が自身を制御するために、そのような情報を利用することを可能にする命令)、承認(例えば、自律車両によって決定される提案コマンドが実行されるべきであることを示す1つ又は複数の信号)、及び/又は搭乗制御命令を含みうる。いくつかの例において、技術は、一度に一のアクターに権限を制限することを含みうる。
【0006】
いくつかの例において、自律車両は、自律車両にガイダンスを提供する権限を誰が有するかを追跡してよく、自律車両は、現時点で権限を有するアクター(本明細書では「従事アクター」)以外のアクターを、自律車両にガイダンスを提供することから除外してよい。追加的な又は代替的な例として、クラウドベースのサービスなどの他のコンピューティングデバイスが、誰が権限を有するかを追跡してもよい。いくつかの例において、従事アクターは、人間及び/又は人工知能(AI)コンポーネントであってよい。アクターが一以上のアクターを含みうることを意図しているけれども、一のアクターのみが、一度に、自律車両の1つのコンポーネントにガイダンスを提供してもよい。
【0007】
例えば、二のアクターが自律車両にガイダンスを提供する権限を有する場合、二のアクターは、自律車両の同じコンポーネントにガイダンスを提供することから除外されうるが、自律車両の2つの異なるコンポーネントにガイダンスを提供しうる。説明のために、第1のアクターは、自律車両のプランナーコンポーネント(planner component)にガイダンスを提供する(例えば、建設区域をナビゲートする提案パスを提供する)ための権限を有してよく、第2のアクターは、搭乗者の快適性のために車内温度の制御を提供する権限を有してよい。それでも、本明細書で述べるように、「権限」を有する第1のアクターは、自律車両の少なくとも1つのコンポーネントにガイダンスを提供するために権限トラッカーによって許可され、一方、第2のアクター(及び/又は任意の他のアクター)は、権限トラッカーが最初に第1のアクターから第2のアクターへ権限を移転することなく、権限トラッカーによって、その同じコンポーネントにガイダンスを提供することから除外される。例えば、除外されたアクターから受信される任意のガイダンスは無視されてよく、及び/又は、自律車両に操作を行わせるために、除外されたアクターから受信された要求は拒否される。いくつかの例において、アクターに関連するデバイス上で動作するアプリケーションは、自律車両にガイダンスを送信するためのオプションをユーザインターフェースに配置しないだろうし、及び/又は、アクターが権限を有することを、自律車両から報知される状態(state)が示すまで、デバイスは、自律車両にガイダンスを送信しなくてよい。
【0008】
いくつかの例において、ガイダンスは、別な方法で、自律車両の1つ又は複数のセンサを介して自律車両に使用できないデータ(例えば、追加的な搭乗者をピックアップする命令又は多くの通行人の中からの追加的な搭乗者の識別(identification)など、搭乗者の知識又は方向)、自律車両のコンポーネントの出力の承認、共同命令、又はコマンドを含みうる。
【0009】
いくつかの例において、自律車両(及び/又は誰が権限を有するかを追跡するデバイスは何でも)は、どの権限が一のアクターから他のアクターへ移転しうるかに応じた1つ又は複数の条件を指定するポリシーで構成される権限トラッカーを含みうる。例えば、ポリシーは、役(role)(例えば、テレオペレータ、搭乗オペレータ、管理者、スーパーユーザ)、状態、権限が一のアクターから他のアクターへ移転しうるアクションの少なくとも1つを指定する状態マシンを構成しうる。例えば、テレオペレータは、自律車両の動き及び/又は車外エミッタアクション(例えば、ライトの点灯、スピーカを介した音の発生)に関するガイダンスを提供してよく、搭乗動作は、車両との搭乗者相互作用(例えば、自律車両のドアを開くこと、自律車両に関連する搭乗者を識別すること、自律車両の車内温度を変化させること)に関する自律車両の異なるコンポーネントにガイダンスを提供してもよく、管理者は、他のアクターに関連付けられてよく、及び/又はスーパーユーザーは、自律車両のクローズドコーステストのための特別なアクターであってよく、例えば、ポリシーを無視するテストドライバであってよい。権限トラッカーは、自律車両にガイダンスを提供するための権限を誰が現時点で有しているか(「従事アクター」)を識別する状態、アクターが権限を有する自律車両及び/又は自律車両のコンポーネントの識別、権限を取得しうる第2のアクターの識別子、及び/又は、ステータス(例えば、成功、失敗、タイムアウト、ハンドオフ待ち、エスカレートする(escalating))をメモリ内に記憶してよい。いくつかの例において、権限トラッカーは、「状態」チャネルを通じて、状態チャネルをサブスクライブしている1つ又は複数のデバイスに、メモリ内に現時点で記憶されている状態を定期的に送信(公表)してよい。
【0010】
状態は、権限トラッカーが権限の移転を許可するまで変更されないままにされてよい。権限トラッカーは、権限を取得することを第2のアクターに許可する(即ち、権限が第1のアクターから第2のアクターへ移転する)とき、権限トラッカーは、メモリ内に記憶されている、権限を有するものとして第1のアクターを識別する第1の状態を、権限を有するものとして第2のアクターを識別する第2の状態に置き換えてよい。
【0011】
いくつかの例において、権限を異なるアクターに移転するための要求を受信するために、権限トラッカーは、「制御」チャネルをサブスクライブしてよく、制御チャネルを通じて送られた要求が、自律車両(及び/又はそのコンポーネント)の識別子を含むと決定することに少なくとも部分的に基づいてポリシーの評価をトリガしてよい。いくつかの例において、制御チャネルを通じて受信される要求(例えば、制御メッセージ)は、アクション、ターゲット識別子(例えば、どの自律車両及び/又はどのコンポーネントがメッセージによってターゲットにされているか)、ソース識別子(例えば、アクターに関連する識別子)、及び/又は、第2のターゲット識別子(例えば、第1のアクターが、権限を第2のアクターに移転することを求めているとき)の少なくとも1つを含んでよい。
【0012】
アクションは、例えば、テイクオーバメッセージ、放棄メッセージ、ハンドオフメッセージ、エスカレートメッセージ、及び/又は拒否(rejection)メッセージを含んでよい。テイクオーバメッセージは、テイクオーバメッセージを送るアクターが、従事アクターから要求アクターへの権限の移転を要求していることを示してよい。放棄メッセージは、現時点で権限を有するアクターが権限を諦めて、(第2の識別子によって識別されうる)前の権限保持者、デフォルト権限保持者(例えば、自律車両)、及び/又は自律車両へ権限を返却することを示してよい。ハンドオフメッセージは、従事アクターが権限を異なるアクターに移転することを要求することを示してよい。エスカレーションメッセージは、従事アクターが権限を管理アクターに移転することを要求することを示してよい。
【0013】
いくつかの例において、権限トラッカーは、権限を取得することを許可されたアクターに関連する識別子(例えば、ユーザ名)、アクターに関連する役、ホスト名(例えば、アクターに関連するコンピューティングデバイスの識別)、コンピューティングデバイス上で動作するガイダンスアプリケーションのプロセス名(例えば、搭乗経験プロセス、共同命令プロセス、ドライビングエンベロープ(driving envelope)変更プロセス)、及び/又はそのハッシュなどのユーザ情報を公表及び/又は供給するディレクトリサービスに通信可能に接続されてよい。いくつかの例において、制御メッセージは、制御メッセージを生成したアクターのユーザ情報を含んでよく、権限トラッカーは、権限をアクターに付与するか否かを決定する前に、アクターがディレクトリサービスによって認証されていることを確認してよい。
【0014】
本明細書で説明される技術は、自律車両の安全性及び効率性を改善しうる。複数のアクターがガイダンスを自律車両に提供することを企図する例において、本明細書で議論される技術は、自律車両が動作を継続する又は通常動作を行うためにかける時間を低減しうるし、どのガイダンスを実施するかを決定する及び/又は矛盾するガイダンスを実施しようとして生じる誤りを訂正するための演算サイクルを低減しうる。
【0015】
例示的なシナリオ
図1は、自律車両102と、アクター104(1)~(x)とを含む例示的なシナリオ100を示している。アクター104(1)~(x)は人間の表現で示されているけれども、アクター104(x)は、人間、AIコンポーネント、及び/又は他のデバイスで構成されうる。本明細書での議論は、主として、車両又は自律車両を例として利用するけれども、本明細書で議論される技術は、二以上のアクターが、ガイダンス及び/又は命令をマシンに供給することが可能な、及び/又は同時に重複する入力がマシン動作の低下を引き起こしうるような、任意の他のシナリオに適用されうることが企図されている。
【0016】
いくつかの例において、自律車両102は、車両を制御することがいつも期待されないドライバー(又は乗客)を伴い、全旅程において全ての安全-危機機能を実行することが可能な車両について説明するU.S. National Highway Traffic Safety Administrationによって発行されたレベル5分類に従って動作するように構成された自律車両であってよい。しかし、他の例において、自律車両102は、完全に又は部分的に、任意の他のレベル又は分類を有する自律車両であってよい。また、いくつかの例において、本明細書で説明されるガイダンス分離技術が同様に非自律車両によって利用可能でありうる。
【0017】
本明細書で議論される技術によれば、自律車両102は、自律車両102のセンサ106からセンサデータを受信しうる。例えば、センサデータは、ロケーション信号(例えば、GPS信号)、慣性信号(例えば、加速度計信号、ジャイロスコープ信号など)、磁力計信号、ホイールエンコーダ信号、スピードメータ信号、蓄積されたLIDAR及び/又はRADARポイントの点群、イメージ(又はイメージ)、音声信号、及び/又は、バリアトリック(bariatric)又は他の環境信号などを含んでよい。自律車両102は、自律車両102の動きを制御するための軌道、及び/又は、自律車両102が安全及び/又は効率的に動作している確率を示す軌道に関連した信頼性レベルを決定するために、そのようなセンサ106から受信されるセンサデータを利用してよい。
【0018】
例示的なシナリオ100に従う動作の過程において、自律車両102は、落下したゴミ箱として描かれている障害物108に遭遇した。いくつかの例において、自律車両102を制御するための軌道に関連する信頼性レベルが閾値信頼性に合致しないと決定することに少なくとも部分的に基づいて、自律車両102は、テレオペレーション要求を生成してよい。自律車両102は、ネットワーク110を介して、テレオペレーション要求を、アクター104(1)~(x)に関連するコンピューティングデバイス112(1)~(x)に送信してよい。このテレオペレーション要求は、自律車両102がガイダンスを求めていることのインジケーション(indication)であってよい。しかし、自律車両102は、ガイダンスを受信するためにガイダンスを求めること、及び/又は、アクター104(x)に、自律車両102にガイダンスを提供するための権限を取得するように求めることを必要としないことが企図されている。例えば、搭乗者がガイダンスを提供してよいし、近くにいるリモートオペレータがガイダンス及び/又は直接制御を提供してよいし、通行人がガイダンスを提供してよいし、テレオペレータがガイダンスなどを提供してよい。搭乗者又は通行人が自律車両102にガイダンスを提供する例において、搭乗者又は通行人は、搭乗者又は通行人に関連するコンピューティングデバイスを介して自律車両102にガイダンスを提供することにおいて、本明細書で議論されるように、コンピューティングデバイス上で動作するアプリケーションが権限を取得するための要求を生成しうることを知らなくてもよい。
【0019】
いくつかの例において、コンピューティングデバイス112(x)は、ガイダンスアプリケーション114を備えてよい。ガイダンスアプリケーション114は、制御チャネルを通じて制御メッセージを生成及び送信すること、及び/又は状態チャネルを通じて状態メッセージを受信することを行うように構成されてよい。例えば、ネットワーク110は、自律車両、及び/又は、制御チャネルのサブスクライバ(subscribers)に制御メッセージを公表するアクターからの制御メッセージをルーティングすること、及び/又は、状態チャネルのサブスクライバに状態メッセージを公表する自律車両からの状態メッセージをルーティングすること、を行うように構成されてよい。ガイダンスアプリケーション114は、コンピューティングデバイス112(x)によって実行されるとき、追加的に又は代替的に、ユーザインターフェース116の表示をさせてもよい。ユーザインターフェース116は、アクティベーション時に、コンピュータ実行可能命令及び/又は論理を含むガイダンスを生成しうる選択可能な要素を含んでよい。ユーザインターフェース116の他のコンポーネントは、コンピューティングデバイス112(x)に対し、ネットワーク110を介して自律車両102へとコンピュータ実行可能命令を送信させるために選択可能であってよい。
【0020】
いくつかの例において、ガイダンスは、追加的なデータ(例えば、搭乗者/通行人による個人の識別、自律車両102が知らないかもしれない緊急事態、例えば、タイヤ又は足回りに詰まった物体の識別)、コマンド、共同命令、及び/又は承認を含んでよい。例えば、ガイダンスのコンピュータ実行可能命令は、
・以下のもの、即ち、
自律車両102のための軌道、
自律車両102の警笛を有効化すること、
自律車両102のドライブラインの変更、
自律車両102のハザードライトを点灯すること、
自律車両102のライトを光らせること、
自律車両102を所定の位置に保持すること、
自律車両102を前方に少しずつ動かすこと、
自律車両102を道の片側に寄せること、
外部及び/又は内部のスピーカを利用すること、
車両の1つ又は複数のドアを開くこと、又は
後方及び/又は前方へのナッジ(nudge)、
のうちの1つ又は複数を含むコマンド(例えば、自律車両102によって実行されるべき命令の1つ又は複数のセット)、
・以下のもの、即ち、
自律車両102のルートを変更すること、
オブジェクト分類を変更すること、
オブジェクトトラック(object track)を変更すること、
ウェイポイント、
イベント及び/又は他の分類データを変更すること(例えば、オブジェクトラベル又はイベントラベルを変更及び/又は追加すること)、
追加的な分類及び/又は文脈情報を提供すること(例えば、新たなラベルを生成すること、予測不能であることの関連インジケーションを一時的に緩和すること、例えば、「道路上の犬」イベントが予測不能ラベルに関連付けられているとすると、テレオペレータは、犬が単に道路脇に座っているだけだと理解しうるし、増加した予測可能性のインジケーションを自律車両102に提供しうる。)、
自律車両102によって生成された予測を変更すること(例えば、自律車両102は、サッカー選手が、彼らの現在の軌道を理由に、道路内に走ってきそうだと予測するかもしれないが、予測の変更は、サッカー場の境界及びその道路への近さについてのテレオペレータの識別を理由にその尤度を低減できるだろう。)、
自律車両102によって識別されたデータに関連する新たなルールを生成すること(例えば、新たに関連付けられた分類を伴う入力の組み合わせを分類すること及び/又は動作を実行することを行うように自律車両102を構成する、新たな状態を自律車両102の有限状態マシン内に記憶すること)、
エリアを分類すること(例えば、車列(fleet)の他の車両がルート変更させられうる、30分の間に事故シーンがあるエリアを識別すること)、
自律車両102が衝突回避軌道を計画できるように、自律車両102のドライビングコリドー(driving corridor)を拡大すること、
のうちの1つ又は複数を含む共同命令(例えば、いくつかの情報が自律車両102に提供され、自律車両102が自身を制御するために、そのような情報を利用可能にする命令)、
・軌道、分類、予測、警笛及び/又はライトの使用、緩和(例えば、ドライビングコリドー拡大)のルール、パラメータ変更(例えば、スクールゾーンを理由に速度制限を引き下げる、搭乗者の健康状態が悪いことを理由に速度制限を引き上げる)、及び/又はエリア分類についての自律車両102の決定の承認(例えば、自律車両102によって決定された提案コマンドが実行されるべきであることを示す1つ又は複数の信号)、及び/又は
・以下のもの、即ち、
車両の車内の温度を調整すること、
車両のサスペンションシステムの減衰を調整すること、
イメージ、音声、及び/又はビデオを、車両の車内の入力/出力(I/O)デバイスを介して提供すること、及び/又は
車内-車内及び/又は車外-車内ノイズキャンセリングを切り替えること、
のうちの1つ又は複数を含む、搭乗者に影響する条件を変更する搭乗制御命令、
を含んでよい。
【0021】
説明された例において、アクター104(x)は、ガイダンスアプリケーション114を介して、ネットワーク110上の制御チャネルを通じて制御メッセージを送信してよく、要求は、自律車両102を識別する及び/又はアクター104(x)を識別するテイクオーバメッセージを含みうる。自律車両102は、権限トラッカー120を実行しうるコンピューティングデバイス118を含んでよい。図1には、説明の目的で自律車両102内にあるように示されているけれども、そうした権限トラッカー120は、そこから離れていてもよい(例えば、クラウドベースサービスのように)。
【0022】
権限トラッカー120は、どのアクターが現時点で、自律車両102にガイダンスを提供するための権限を有するか(即ち、「従事アクター」)を追跡しうる、及び/又は権限トラッカー120は、少なくとも部分的にポリシーに基づいて、一のアクターから他のものへいつ権限を移転するかを決定してよい。例えば、権限トラッカー120は、アクター104(x)から要求を受信してよく、少なくとも部分的にポリシーに基づいて要求を許可することを決定してよい。いくつかの例において、権限トラッカー120は、状態122を自律車両102のメモリ内に記憶することによって、どのアクターが権限を有するかを追跡してよい。要求を許可することを決定するとき、権限トラッカーは、アクター104(x)が自律車両102にガイダンスを提供するための権限を有することを示す(124)ために、メモリ内に記憶している状態122を変更してよい。
【0023】
自律車両102自身がアクターの1つであってよいし、いくつかの例において、自律車両102は、権限がそこへ戻され、また、権限がそこから生じるデフォルトアクターであってよいことに注意されたい。例えば、状態122は、以下で議論するように、制御を有しうる潜在的なアクターとしてのアクター104(1)~(x)及び自律車両102と、有効な権限を持つアクター、このケースではアクター104(x)のインジケーション(124)とを示している。
【0024】
いくつかの例において、権限は、排他的である(即ち、他のアクターが同時に、同じ自律車両102及び/又は自律車両102のコンポーネントにガイダンスを提供する権限を有することがない)。しかし、権限トラッカー120が自律車両102以外のアクターに権限を付与するとき、付与された権限は、自律車両の特定のコンポーネントへのガイダンスの提供に制限されてよい。言い換えると、自律車両102は、自律車両102の動き及び/又は他のそのような安全上の重要な特徴を制御するための軌道を生成し続けることによって自律車両102の最終的な制御を留保してよい。いくつかの例において、自律車両102は、自律車両102を制御するための命令の決定の一部として、権限を有するアクターから受信されたガイダンスを利用してもよい(例えば、ガイダンスは、ドライビングエンベロープ及び/又はルートを変更してもよいが、自律車両102は、そのドライビングエンベロープ及び/又は新たなルートを条件とする軌道を生成することを通じて制御を留保する)。
【0025】
しかし、自律車両のテストドライビングの期間、クローズドコースでの実験的なドライビングの期間など、いくつかの例において、スーパーユーザー役に関連するアクターは、自律車両102を半自律モードに戻すことによってなど、アクターに軌道生成の制御でさえも許容するテイクオーバメッセージを送信しうる。
【0026】
権限を有するものとしてアクター104(x)を識別する状態122を変更することによって示される(及び正規化される)ように、アクター104(x)が権限トラッカー120によって権限を付与されると、アクター104(x)、現時点での従事アクター、から受信されたガイダンスは、自律車両102を制御するための命令を決定することにおいて少なくとも部分的に自律車両102によって利用されうる。いくつかの例において、アクター104(x)から受信されたガイダンスは、ネットワーク110を介して、コンピューティングデバイス112(x)及び/又はガイダンスアプリケーション114から受信されうる。
【0027】
権限トラッカー120によって記憶されているポリシーは、どのように権限が自律車両102に移転して返却されるか(「返却する(revert)」)及び/又は他のアクターに移転されるかを決定してもよい。いくつかの例において、権限は、放棄メッセージを従事アクターから受信すること、従事アクターと自律車両102との間の接続がタイムアウトしたと決定すること(例えば、ガイダンスアプリケーション114は、定期的にキープアライブメッセージを送信してもよく、キープアライブメッセージが指定された期間内に受信されなかったとき、権限が自律車両102に返されうる)に少なくとも部分的に基づいて、及び/又は、スーパーユーザー(例えば、クローズドコースでのテストの間、自律車両102を操作しているテストドライバー)から解放メッセージ(disengagement message)を受信したときに、自律車両に返されうる。いくつかの例において、そのような解放メッセージは、例えば、自律車両102がいくつかの障害を乗り越えること、いくつかの閾値信頼性を有する軌道を生成すること、又は、さもなければ、もはや外部のガイダンスに頼る必要がないと決定することに基づいて自動生成されてよい。いくつかの例において、権限は、ハンドオフメッセージ及び/又はエスカレーションメッセージに少なくとも部分的に基づいて、及び/又は、従事アクターへの接続がタイムアウトしたと決定したときに他のアクターに移転してもよい。
【0028】
例示的なアーキテクチャ
図2は、本明細書で説明される技術を実装するための例示的なシステム200のブロック図を示す。いくつかの例において、例示的なシステム200は、コンピューティングデバイス202を含みうる。説明される例において、コンピューティングデバイス202は、自律車両を構成する。しかし、コンピューティングデバイス202は、任意の他のタイプのコンピューティングデバイス、及び/又は半自律又は非自律車両であってもよい。例えば、コンピューティングデバイス202は、自律車両102を構成してもよい。
【0029】
コンピューティングデバイス202は、センサ204、エミッタ206、ネットワークインターフェース208、及び/又は、1つ又は複数のドライブモジュール210を含んでよい。いくつかの例において、センサ204は、光検出及び測距(LIDAR)センサ、RADARセンサ、超音波トランスデューサ、ソナーセンサ、ロケーションセンサ(例えば、グローバルポジショニングシステム(GPS)、コンパスなど)、慣性センサ(例えば、慣性測定ユニット(IMU)、加速度計、磁力計、ジャイロスコープなど)、カメラ(例えば、赤-緑-青(RGB)、赤外(IR)、強度、深度、飛行時間型など)、マイクロフォン、ホイールエンコーダ、環境センサ(例えば、温度センサ、湿度センサ、光センサ、圧力センサなど)などを含みうる。センサ204は、これら又は他のタイプのセンサのそれぞれについての複数の例を含んでよい。例えば、LIDARセンサは、コンピューティングデバイス202の角部、前部、後部、側部、及び/又は上部に配置される個々のLIDARセンサを含んでよい。他の例として、カメラセンサは、コンピューティングデバイス202の外部及び/又は内部についての様々な位置に設置される複数のカメラを含んでよい。センサ204は、コンピューティングデバイス202に入力を提供してもよい。
【0030】
車両202は、上述したように、光及び/又は音を射出するためのエミッタ206を含んでもよい。この例におけるエミッタ206は、コンピューティングデバイス202の搭乗者とコミュニケートする内部オーディオ及びビジュアルエミッタを含む。その例に限定されないが、内部エミッタは、スピーカ、光、サイン、ディスプレイスクリーン、タッチスクリーン、触覚エミッタ(例えば、バイブレーション及び/又はフォースフィードバック)、メカニカルアクチュエータ(例えば、シートベルトテンショナー、シートポジショナー、ヘッドレストポジショナーなど)などを含みうる。この例におけるエミッタ206は、外部エミッタも含みうる。その例に限定されないが、この例の外部エミッタは、進行方向を合図する光、又は車両アクションの他の表示(例えば、インジケータライト、サイン、ライトアレイなど)、及び、音声を通じて歩行者又は近くにいる他の車両と通信するための1つ又は複数のオーディオエミッタ(例えば、スピーカ、スピーカアレイ、警笛など)であって、それらの1つ又は複数のものはアコースティックビームステアリング技術を備えるものを含む。
【0031】
コンピューティングデバイス202は、また、コンピューティングデバイス202と、1つ又は複数の他のローカル又はリモートコンピューティングデバイスとの間の通信を可能にするネットワークインターフェース208を含みうる。例えば、ネットワークインターフェース208は、コンピューティングデバイス202及び/又はドライブモジュール210上の他のローカルコンピューティングデバイスとの通信を容易にしうる。また、ネットワークインターフェース208は、車両が他の近くにあるコンピューティングデバイス(例えば、他の近くにいる車両、交通信号機など)と通信することを可能にする。ネットワークインターフェース208は、また、車両202が、アクターに関連するコンピューティングデバイス212、及び/又はディレクトリサービスに関連するコンピューティングデバイス(ディレクトリデバイス)214と通信することを可能にする。
【0032】
ネットワークインターフェース208は、コンピューティングデバイス202が他のコンピューティングデバイス又はネットワーク216などのネットワークと接続するための物理及び/又は論理インターフェースを含んでよい。例えば、ネットワークインターフェース208は、IEEE800.11標準によって規定される周波数、Blootoothなどの短距離無線周波数を介するものなどのWi-Fiベース通信、セルラ通信(例えば、2G、3G、4G、4G LTE、5Gなど)、又は各コンピューティングデバイスが他のコンピューティングデバイスとインターフェースすることを可能にする任意の適した有線又は無線通信プロトコルを可能にする。
【0033】
いくつかの例において、コンピューティングデバイス202は、1つ又は複数のドライブモジュール210を含みうる。いくつかの例において、コンピューティングデバイス202は、単一のドライブモジュール210を有しうる。いくつかの例において、ドライブモジュール210は、ドライブモジュール210の状態、及び/又はコンピューティングデバイス202の周辺環境を検出する1つ又は複数のセンサを含みうる。その例に限定されないが、ドライブモジュール210のセンサは、ドライブモジュール210のホイールの回転を検知する1つ又は複数のホイールエンコーダ(例えば、ロータリーエンコーダ)、ドライブモジュールの向き及び加速度を測定するための慣性センサ(例えば、慣性測定ユニット、加速度計、ジャイロスコープ、磁力計など)、カメラ又は他のイメージセンサ、ドライブモジュールの周辺環境内の物体を音響的に検出するための超音波センサ、LIDARセンサ、RADARセンサなどを含みうる。ホイールエンコーダなどのいくつかのセンサは、ドライブモジュール210に固有であってよい。いくつかのケースにおいて、ドライブモジュール210上のセンサは、重複してよいし、又はコンピューティングデバイス202の対応システムを追加してよい(例えば、センサ204)。
【0034】
ドライブモジュール210は、高電圧バッテリ、車両を推進するためのモータ、バッテリからの直流電流を、他の車両システムによって利用するための交流電流に変換するインバータ、ステアリングモータ及びステアリングラック(電動であってよい)を含むステアリングシステム、油圧又は電気アクチュエータを含むブレーキシステム、油圧及び/又は空気圧コンポーネントを含むサスペンションシステム、ブレーキ力を分散してトラクションのロスを軽減して制御を維持するためのスタビリティ制御システム、HVACシステム、ライティング(例えば、車両周囲の車外を照らすヘッド/テールライトなどのライティング)、及び、1つ又は複数の他のシステム(例えば、クーリングシステム、セーフティシステム、オンボードチャージングシステム、DC/DCコンバータなどの他の電気コンポーネント、高電圧ジャンクション、高電圧ケーブル、チャージングシステム、チャージポートなど)を含む多くの車両システムを含んでよい。追加的に、ドライブモジュール210は、センサからのデータを受信して前処理しうる、様々な車両システムの動作を制御するためのドライブモジュールコントローラを含んでよい。いくつかの例において、ドライブモジュールコントローラは、1つ又は複数のプロセッサ、及び1つ又は複数のプロセッサに通信可能に接続されたメモリを含んでよい。メモリは、ドライブモジュール210の様々な機能性を実行するために1つ又は複数のモジュールを記憶してよい。さらに、ドライブモジュール210は、また、各ドライブモジュールによる1つ又は複数の他のローカル又はリモートコンピューティングデバイスとの通信を可能にする1つ又は複数の通信接続を含んでよい。
【0035】
コンピューティングデバイス202は、1つ又は複数のプロセッサ218、及び1つ又は複数のプロセッサ218と通信可能に接続されるメモリ220を含んでよい。コンピューティングデバイス212及び/又は214は、また、プロセッサ222、224、ネットワークインターフェース226、228、及び/又はメモリ230、232をそれぞれ含んでよい。プロセッサ218、222、及び/又は224は、データを処理して本明細書で説明される動作を実行するための命令を実行可能な任意の適切なプロセッサであってよい。その例に限定されないが、プロセッサ218、222、及び/又は224は、1つ又は複数の中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、集積回路(例えば、特定用途向け集積回路(ASIC)など)、ゲートアレイ(例えば、フィールドプログラマブルゲートアレイ(FPGA)など)、及び/又は、電子データを処理して、その電子データを、レジスタ及び/又はメモリに記憶されうる他の電子データに変換する任意の他のデバイス又はデバイスの部分を含んでよい。
【0036】
メモリ220、230及び/又は232は、非一時的なコンピュータ可読媒体の例であってよい。メモリ220、230及び/又は232は、オペレーティングシステム及び1つ又は複数のソフトウェアアプリケーション、命令、プログラム、及び/又は、本明細書で説明される方法及び様々なシステムに帰属する機能を実装するためのデータを記憶してよい。様々な実装において、メモリは、スタティックランダムアクセスメモリ(SRAM)、シンクロナスダイナミックRAM(SDRAM)、不揮発性/フラッシュタイプメモリ、又は、情報を記憶可能な任意の他のタイプのメモリなどの任意の適切なメモリ技術を利用して実装されてよい。本明細書で説明されるアーキテクチャ、システム、及び個々の要素は、多くの他の論理的な、プログラムの、及び物理的なコンポーネントを含んでよく、添付図に示されるそれらのものは、単に本明細書での議論に関する例に過ぎない。
【0037】
いくつかの例において、コンピューティングデバイス202のメモリ220は、例えば、知覚(perception)コンポーネント、ローカリゼーション(localization)コンポーネント、プランニングコンポーネント、及び/又は、1つ又は複数のプロセッサ218によって実行されるときにコンピューティングデバイス202を操作するために様々な動作を実行しうる類似のコンポーネントなどの、コンポーネント234を記憶してよい。
【0038】
例えば、知覚コンポーネントは、物体検出、セグメント化(segmentation)、及び/又は分類を実行するための機能性を含んでよい。いくつかの例において、知覚コンポーネントは、コンピューティングデバイス202に近接しているエンティティの存在、及び/又は、エンティティタイプ(例えば、車、歩行者、自転車、動物、建物、木、道路面、縁石、歩道、不明(unknown)など)としてエンティティの分類を示す、処理されたセンサデータを提供しうる。追加的な及び/又は代替的な例において、知覚コンポーネントは、検出されたエンティティ、及び/又はエンティティが配置され/向けられている環境に関連する1つ又は複数の特徴を示す、処理されたセンサデータを提供してよい。いくつかの例において、エンティティに関連する特徴は、x位置/向き(グローバルなポジション/向き)、y位置/向き(グローバルな位置/向き)、z位置/方位(グローバルな位置/向き)、向き、エンティティタイプ(例えば、分類)、エンティティの速度、エンティティの範囲(サイズ)、センサ信号品質及び/又は他の特徴、信号に存在する特徴の量のインジケーション、センサ信号に関連する明瞭度(clarity)スコアなどを含んでよいが、それらに限定されない。環境に関連する特徴は、環境内の他のエンティティの存在、環境内の他のエンティティの状態、時刻、曜日、季節、天候、暗さ/明るさのインジケーションなどを含んでよいが、それらに限定されない。いくつかの例において、ガイダンスは、知覚コンポーネント(例えば、エンティティの分類、環境の特徴、コンピューティングデバイス202が配置されている地域で発生しているイベント)の出力を指定してよい。
【0039】
いくつかの例において、ローカリゼーションコンポーネントは、センサ204からデータを受信して、マップ及び/又はコンピューティングデバイス202の位置/向きを決定する機能性を含んでよい。例えば、ローカリゼーションコンポーネントは、環境のマップを包含及び/又は要求/受信してよく、連続的にマップ内での自律車両の位置を決定してよい。いくつかの例において、ローカリゼーションコンポーネントは、同時ローカリゼーション及び/又はマッピング(SLAM)、及び/又は、同時キャリブレーション、ローカリゼーション及び/又はマッピング(CLAMS)を利用して、イメージデータ、LIDARデータ、RADARデータ、IMUデータ、GPSデータ、ホイールエンコーダデータなどを受信し、正確に自律車両の位置を決定してよい。いくつかの例において、ローカリゼーションコンポーネントは、コンピューティングデバイス202の様々なコンポーネントにデータを提供して、本明細書で議論されるように、候補軌道を生成するための自律車両の初期位置/向きを決定してよい。
【0040】
概して、プランニングコンポーネントは、コンピューティングデバイス202が環境を横断するために辿るパスを決定してよい。例えば、プランニングコンポーネントは、様々なルート及び軌道、そして、様々なレベルの詳細を決定してよい。例えば、プランニングコンポーネントは、第1の位置(例えば、現在位置)から第2の位置(例えば、ターゲット位置)へ移動するためのルートを決定してよい。この議論の目的のために、ルートは、2つの位置の間を移動するためのウェイポイント(waypoints)のシーケンスであってよい。非限定的な例として、ウェイポイントは、道路、交差点、座標(例えば、位置及び/又はマッピングコンポーネント及び/又はGPSによって決定されるもの)などを含む。さらに、プランニングコンポーネントは、第1の位置から第2の位置までのルートの少なくとも一部に沿ってコンピューティングデバイス202をガイドするための命令を生成してよい。いくつかの例において、プランニングコンポーネントは、ウェイポイントのシーケンスにおける第1のウェイポイントから、ウェイポイントのシーケンスにおける第2のウェイポイントへと自律車両をどのようにガイドするかを決定してよい。いくつかの例において、命令は、軌道、又は軌道の一部であってよい。いくつかの例において、後退ホライズン技術(receding horizon technique)に従って複数の軌道が実質的に同時に生成されてよい(例えば、技術的許容範囲内で)。いくつかの例において、また、本明細書で議論されるように、プランニングコンポーネントは、ローカリゼーションコンポーネントからのマップ及び/又は位置/向き、及び/又は、識別及び/又は分類オブジェクト、イベント、及び/又は知覚コンポーネントからの環境の特徴など、様々なデータを受信してよい。
【0041】
いくつかの例において、1つ又は複数のコンポーネント234は、その全体又は一部がニューラルネットワークとして実装されてよい。本明細書で説明されるように、例示的なニューラルネットワークは、入力されたデータを一連の連結レイヤに渡して出力を生成する生物学的に着想されたアルゴリズムである。ニューラルネットワークの各レイヤは、また、他のニューラルネットワークを含んでよく、又は、任意の数のレイヤを含んでよい(畳み込みか否か)。本開示の文脈で理解されうるように、ニューラルネットワークは、出力が学習パラメータに基づいて生成される、そのようなアルゴリズムの広いクラスを参照しうる機械学習を利用してよい。
【0042】
ニューラルネットワークの文脈において議論されるけれども、任意のタイプの機械学習が本開示と矛盾無く利用されうる。例えば、機械学習アルゴリズムは、回帰アルゴリズム、インスタンスベースのアルゴリズム、ベイズアルゴリズム、相関ルール学習アルゴリズム、深層学習アルゴリズムなどを含みうるが、それらに限定されない。ニューラルネットワークの追加的な又は代替的な例は、ResNet20、ResNet101、VGG、DenseNet、PointNetなどのニューラルネットワークを含みうる。
【0043】
いくつかの例において、コンポーネント234は、上述したように、センサデータを処理してよく、ネットワーク216を通じて、1つ又は複数のコンピューティングデバイス212に、それらの各出力を送信してよい。いくつかの例において、コンポーネント234は、特別な周波数で、所定の期間の経過後に、ほぼリアルタイムで、などで、それらの各出力を1つ又は複数のコンピューティングデバイス212に送信してよい。
【0044】
いくつかの例において、コンピューティングデバイス202は、ネットワーク216を介して、センサデータを1つ又は複数のコンピューティングデバイス212に送信してよい。コンピューティングデバイス212は、コンピューティングデバイス112(1)~(x)を表してよい。いくつかの例において、車両202は、生のセンサデータをコンピューティングデバイス212に送信してよい。他の例において、コンピューティングデバイス202は、処理されたデータ及び/又はセンサデータの表示をコンピューティングデバイス212に送信してよい。
【0045】
いくつかの例において、メモリ220は、ドライブモジュール210に命令を通信することによって、及び/又は、ドライブモジュール210の対応システム及び/又はコンピューティングデバイス202の他のコンポーネントを制御することなどによって、ステアリング、推進、ブレーキング、安全、エミッタ、通信、及びコンピューティングデバイス202の他のシステムを制御するように構成されうる1つ又は複数のシステムコントローラ236をさらに記憶してよい。
【0046】
いくつかの例において、メモリ220は、追加的に又は代替的に、1つ又は複数のプロセッサ218によって実行されるとき、コンピューティングデバイス202に、本明細書で議論される様々なアクションを実行させうる権限トラッカー238を記憶してよい。権限トラッカー238は、コンピューティングデバイス202にガイダンスを提供する権限を有するアクターを追跡するためにメモリ220内に状態240を記憶してよい。いくつかの例において、権限トラッカー238は、メモリ220に記憶されているポリシー242に少なくとも部分的に基づいて、権限を第1のアクターから第2のアクターへ移転することを決定してよい。
【0047】
いくつかの例において、ポリシー242は、状態マシンを含んでよい。状態マシンは、1つ又は複数の条件を指定してよく、個々の条件は、移転に関連付けられてよい。例えば、その条件を満たすデータを指定する要求をアクターから受信することによってなど、条件が満たされる場合(例えば、要求アクターは、アクターの役、状況を考慮して制御を行うことができる)、権限トラッカー238は、従事アクターとして要求アクターを反映させるために状態240を更新し、状態メッセージ244をコンピューティングデバイス212に送信することによって、第1のアクターから、要求アクターに権限を移転してよい。従事アクターに関連するコンピューティングデバイス212から、その後に受信されるガイダンスは、権限トラッカー238によって、状態240によって識別される及び/又はガイダンスに関する適切なコンポーネント234にルーティングされうる。
【0048】
要求が条件を満たさない場合、権限トラッカー238は、現在の状態240を維持し、任意選択的に、現在の状態を状態メッセージ244として送信してよく、それによって、権限の変更が生じなかったことを示す。(更新された状態を送信することの代わりに)現在の状態を送信することは、権限トラッカー238が追加的に又は代替的に拒否メッセージを送信するけれども、拒否メッセージとしても機能しうる。状態240によって従事アクターとして識別されるアクターに対応しないコンピューティングデバイス212から受信される任意のガイダンスは、権限トラッカー238によって無視されてよい。言い換えると、状態240は、権限トラッカー238が権限の移転を許可するまで変更されないままであってよい。
【0049】
いくつかの例において、ポリシー242の条件は、任意の他のデータが考慮されるが、アクション、役、又は状態の少なくとも1つを含んでよい。例えば、権限を持つものとしてコンピューティングデバイス202を状態240が識別するとき、ポリシー242の条件は、アクターがコンピューティングデバイス202から権限を取得するために、テイクオーバメッセージが受信されなくてはならないこと及び任意の役が権限を取得するのに適切である(例えば、任意のアクターが任意の理由で権限を取得しうる)ことを要求しうることを、ポリシー242は指定してよい。しかし、権限を有するものとしてコンピューティングデバイス202以外のアクターを状態240が識別し、かつアクターが管理者役に関連付けられていないとき、ポリシー242の条件は、要求アクターが従事アクターから権限を取得するために、放棄メッセージ、ハンドオーバメッセージ、及び/又はエスカレーションメッセージが従事アクターから受信されなくてはならないこと、及び/又は管理者であるとして要求アクターを要求が識別しなくてはならないことを要求しうることを、ポリシー242は指定してよい。いくつかの例において、車両が権限を保持し、完全に及び/又は狭く定義された条件(例えば、安全上重大なイベントが車両で検出され、車両が遠隔操作要求を生成すること)を除いてアクターが権限を取得できないようにしてよい。
【0050】
いくつかの例において、権限トラッカー238は、アクターに権限を取得することを許可する前に(例えば、オープン認証(OAuth)交換を介し、公開鍵を利用して署名されたメッセージを認証すること、ディレクトリサービスに連絡することなどによって)要求アクターのアイデンティティを認証してよい。権限移転を制限する条件のさらなる例が以下で議論される。いくつかの例において、権限トラッカー238は、制御メッセージ246を受信することに少なくとも部分的に基づいて、他のイベントなどに基づいて、ネットワークインターフェース208を介して、ネットワーク216を通じて、コンピューティングデバイス212に状態メッセージ244を定期的に送信してよい。状態メッセージ244は、メモリ220に記憶されている状態240の少なくとも一部を含んでよい。
【0051】
いくつかの例において、状態メッセージ244を送信することは、少なくとも一のアクターに関連付けられたコンピューティングデバイス212がサブスクライバであるパブリッシュ/サブスクライブ(pub/sub)サービスを含みうる状態チャネルを通じて状態メッセージ244を送信(報知)することを含んでよい。同様に、コンピューティングデバイス212は、コンピューティングデバイス202がサブスクライバでありうるpub/subサービスを含む制御チャネルを通じて制御メッセージ246を送信してよい。さらに、コンピューティングデバイス202及び/又はコンピューティングデバイス212は、ディレクトリサービス250に関連するディレクトリデバイス214からユーザ情報248を受信するために、ユーザ情報チャネルをサブスクライブしてよい。
【0052】
いくつかの例において、状態240及び/又は状態メッセージ244は、従事アクターの識別子、コンピューティングデバイス202及び/又はそのコンポーネントの識別子(例えば、車両番号、ガイダンスが提供されている車両番号及びコンポーネント234の1つの識別)の少なくとも1つ、ステータス(例えば、成功、失敗、タイムアウト、ハンドオフ待ち、エスカレートする)、及び/又は第2の識別子(例えば、ハンドオフ/エスカレーションによってターゲットにされる役、ハンドオフ/エスカレーションによってターゲットにされるアクター)を含んでよい。いくつかの例において、「成功」は、権限トラッカー238がアクターに権限の取得を許可したことを示してよく、「失敗」は、権限トラッカー238がアクターによる権限の取得を拒否したことを示してよい。
【0053】
いくつかの例において、制御メッセージ246は、権限に関する要求を含んでよい。例えば、制御メッセージ246は、テイクオーバメッセージ、放棄メッセージ、ハンドオフメッセージ、エスカレーションメッセージ、及び/又は拒否メッセージなどのアクションを含んでよい。いくつかの例において、どちらのメッセージでも、さらに、ターゲット車両識別子(例えば、コンピューティングデバイス202を他の車両と区別する識別子)、ソース/アイデンティティ識別子(例えば、そのホストマシンが制御メッセージ246を送信するアクターに関連するユーザ名)、及び/又は第2の識別子(例えば、ハンドオフ及び/又はエスカレーションメッセージ内のものなど、他のアクター及び/又は役を識別するためのもの)を含んでよい。いくつかの例において、ソース/アイデンティティ識別子は、ユーザ名(例えば、システムを通じて一意であり、ディレクトリレコード252に一致するユーザ名)、ホスト名(例えば、メディアアクセス制御(MAC)アドレス及び/又はインターネットプロトコル(IP)アドレスなど、アクターによって利用される特定のコンピューティングデバイスの識別)、コンピューティングデバイス212上で動作するガイダンスアプリケーション254を識別するプロセス識別子及び/又はプロセス名、及び/又は、上述したデータの任意の部分のハッシュを含んでよい。一意の識別子が、システムに知られている(そして、ディレクトリレコード252に記録されているように)各アクターに関連付けられてよい。
【0054】
テイクオーバメッセージは、権限トラッカー238が権限を従事アクターから要求アクターへ移転することを、テイクオーバメッセージを送信するアクターが要求していることを示してよい。いくつかの例において、テイクオーバメッセージは、テレオペレータサポート、ハンドオフメッセージ、エスカレーションメッセージなどの要求に対する許可として機能してよい。
【0055】
放棄メッセージは、現時点で権限を有するアクター(「従事アクター」)が権限を諦め、前の権限保持者(第2の識別子によって識別されうるもの)、デフォルト権限保持者(例えば、コンピューティングデバイス202)、コンピューティングデバイス202、及び/又は、任意の現時点で待機している要求アクターに返却することを示してよい。
【0056】
ハンドオフメッセージは、従事アクターが権限を異なるアクターに移転することを要求することを示してよい。いくつかの例において、ハンドオフメッセージは、従事アクターが要求している権限の移転先となる特定のアクターの第2の識別子を含んでよく、又は、第2の識別子は、従事アクターが要求している権限の移転先となる役を識別してよい(例えば、任意の「ピア(peer)」アクター-従事アクターと同じ役を有するアクター、任意のオンラインアクター)。いくつかの例において、従事アクターは、ハンドオフメッセージによって識別される特定のアクター及び/又はハンドオフメッセージによって識別される役に関連するアクターからテイクオーバメッセージが受信されるまで権限を保持してよい(例えば、テイクオーバメッセージは、ピアアクターによって受信される)。いくつかの例において、ハンドオフメッセージ及びテイクオーバメッセージの両方を要求することは、ハンドオフに関連するアクターが準備できていて、進んで要求されたガイダンスを車両に提供できることを保証する。いくつかの例において、権限を移転することを要求する、このプロセスは、権限が実際に移転されるまでの遅延をもたらしうる。いくつかの例において、権限トラッカーがハンドオフメッセージを受信するとき、権限トラッカーは、状態240を変更して受け側アクターの識別子、指定された役の識別、及び/又は「ハンドオフ待ち」を反映させてよい。
【0057】
エスカレーションメッセージは、従事アクターは、権限を管理アクター(例えば、ディレクトリレコード252内の「管理者」の役に関連するアクター)に移転することを要求することを示してよい。再度、いくつかの例において、これは、管理役に関連する特定のアクターの識別子を含んでよい、及び/又は、これは、管理役を示すことを含んでよい。いくつかの例において、従事アクターは、エスカレーションメッセージによって識別される特定の管理アクター、及び/又はエスカレーションメッセージによって識別される役(例えば、管理者役)に関連するアクターによってテイクオーバメッセージが受信されるまで権限を保持してよい。いくつかの例において、権限トラッカーがエスカレーションメッセージを受信するとき、権限トラッカーは、状態240を変更して、受け側管理アクターの識別子、指定された役の識別、及び/又は「エスカレーションしていること」を反映してよい。
【0058】
例えば、従事アクターが問題を解決できず、ポリシーが、車両にガイダンスのタイプを送信するための及び/又は車両からのセンサデータを参照するための特権を従事アクターが有しないこと、及び/又は、従事アクターが車両のコンポーネントのタイプに関連付けられていないこと(例えば、搭乗者の乗車問題が発生したときに、従事アクターは軌道の問題を処理していて、従事アクターが権限及び/又は処理するためのアプリケーションを有していないことがある)を指定するとき、従事アクターは、エスカレーションメッセージを生成してよい。
【0059】
いくつかの例において、ガイダンスアプリケーション254は、コンピューティングデバイス212に、アクターからの入力を受信するためのユーザインターフェースを表示させてよい。入力に基づいて、コンピューティングデバイス212は、ネットワークインターフェース226を介してコンピューティングデバイス202に送信されうる、コンピュータ実行可能命令及び/又は論理を含むガイダンスを生成してよい。いくつかの例において、ユーザインターフェースは、アクターの入力時に、制御メッセージ246を生成及び/又は送信する選択可能な要素を含んでよい。いくつかの例において、ガイダンスアプリケーション254は、ガイダンスを自律車両に送信するための選択肢をユーザインターフェースに配置しなくてよく、選択可能な要素を提供しなくてよく、及び/又は、その他の、コンピューティングデバイス202から報知される状態メッセージ244が、アクターが権限を有することを示すまで、コンピューティングデバイス212にガイダンスを生成させて自律車両に送信させることをアクターに許可しなくてよい。
【0060】
いくつかの例において、状態メッセージ244は、アクターに関連する識別子及び/又はホストマシン識別子を含んでよい。従って、コンピューティングデバイス212は、ネットワークインターフェース226を介して状態メッセージ244を受信してよく、ガイダンスアプリケーション254は、ホストマシン及び/又はアクターが状態メッセージ244内で識別されると決定してよい。それに応じて、ガイダンスアプリケーション254は、ユーザインターフェースに選択可能な要素を配置してよく、及び/又は、その他の、ガイダンスの生成及び/又はコンピューティングデバイス212からコンピューティングデバイス202への送信を許可してよい。いくつかの例において、ガイダンスアプリケーション254は、状態メッセージ244から車両識別子を取得し、制御メッセージ246を配置すること及び/又はコンピューティングデバイス202に送信されたガイダンスに関連付けることを行ってよい。
【0061】
いくつかの例において、アクターは、ディレクトリレコード252内に記録されているユーザ名でコンピューティングデバイス212にログインしてよく、ログイン成功時に、コンピューティングデバイス212は、定期的に、アクターがネットワーク216錠の1つ又は複数の他のデバイスに対してオンラインであることを示す「オンライン」信号を送信してよい。
【0062】
例えば、コンピューティングデバイス212が複数のアクターに関連する複数のデバイスを含むとすると、コンピューティングデバイス212は、オンライン信号を他のデバイスに送信しうる。コンピューティングデバイス212は、追加的に又は代替的に、他のデバイスから受信されるオンライン信号に少なくとも部分的に基づいて、メモリ230にアクティブユーザ256のレコードを記憶してよい。
【0063】
いくつかの例において、コンピューティングデバイス212は、アクティブユーザ256に関連する、ディレクトリデバイス214から受信されるユーザ情報248を記憶してよい。例えば、第1のアクターは、第1のコンピューティングデバイス212を操作してよく、第1のコンピューティングデバイス212は、第2のアクターが第2のコンピューティングデバイス212にログインしていることの通知を受信してよい。第1のコンピューティングデバイス212は、メモリ230に記憶されているユーザ情報248にアクセスし、ディレクトリデバイス214からのユーザ情報248を要求し、及び/又は、その他のユーザ情報248を取得してよい。いくつかの例において、第1のコンピューティングデバイス212は、アクティブユーザ256及び/又は第2のアクターに関連する役のレコード内で第2のアクター(例えば、ユーザ情報248から識別されるもの)がオンラインであることのインジケーションを記憶してよい。いくつかの例において、コンピューティングデバイス212は、コンピューティングデバイス212でのアクティビティを示す追加的な信号を他のコンピューティングデバイス212に送信してよい。例えば、オンライン信号は、追加的に又は代替的に、アクターがオンラインであるが、従事アクターでない(例えば、アクターが、テレオペレータサポートのための通知を車両から受信していない、アクターが積極的にテレオペレータサポートを車両に提供していない、状態チャネルが、アクターが権限を有することを示す任意の状態メッセージを含まない)ことを示してよく、オンライン信号は、追加的に又は代替的に、アクターがオンラインであるが、従事でない(例えば、状態メッセージが、アクターはコンピューティングデバイス202のための従事アクターであり、ガイダンスアプリケーション254がこのインジケーションを作成することを示している)ことなどを示してよい。いくつかの例において、コンピューティングデバイス212は、信号を受信し、信号に関連するインジケーションをアクティブユーザ256のレコード内に記憶してよい。
【0064】
ガイダンスアプリケーション254は、アクティブユーザ256(例えば、占有されていないオンラインユーザ、役「管理者」に関連するオンラインユーザ)のサブセットを決定してよく、ガイダンスアプリケーション254は、ユーザインターフェースに格納し及び/又はコンピューティングデバイス202から受信されるテレオペレータサポートのための要求、ハンドオフメッセージ、及び/又はエスカレーションメッセージの送信先となる第2のデバイスを決定するために、このサブセットを利用してよい。例えば、従事アクターは、権限を管理者アクター(例えば、ディレクトリレコード252内の役「管理者」に関連するアクター)に移転することを要求してよい。ガイダンスアプリケーション254は、アクターからの入力を受けたとき、ユーザインターフェースに、オンラインである及び/又はオンラインで役「管理者」に関連するアクティブユーザ256の1つ又は複数のサブセットのデバイスにエスカレーションメッセージを送信する管理者を識別する要素を表示させる、ユーザインターフェースに選択可能な要素を表示させてよい。
【0065】
いくつかの例において、ディレクトリサービス250は、オープン認証(OAuth)アプリケーション、データ配信サービス(DDS)システム、及び/又はアクティブディレクトリサーバを含んでよい。ディレクトリサービス250は、コンピューティングデバイス202及び/又はコンピューティングデバイス212にユーザ情報248を提供してよく、及び/又は制御メッセージ246に関連する識別子を認証してよい。例えば、制御メッセージ246を受信すると、権限トラッカー238は、制御メッセージ246に関連する識別子が、ディレクトリレコード252内に登録されたアクターに対応すること、及び/又は識別子が、権限をアクターに移転するために必要な役に関連することを保証するために(例えば、制御メッセージ246は、エスカレーションなど、アクターが「管理者」役に関連することを要求するアクションを指定する)、認証要求をディレクトリサービス250に送信してよい。ディレクトリサービス250は、役変更及び/又は許可ユーザに関する最新情報を提供してよく、どのユーザがオンラインであるかを追跡してよく、及び/又は、キープアライブメッセージ間隔、タイムアウト期間、車両特有のセッティングなどの構成データを記憶及びプッシュしてよい。追加的な又は代替的な例において、ディレクトリサービス250は、地理的エリアをアクターに関連付けて、アクターが地理的エリアにおいて車両を制御することだけが可能になるようにしてよく、及び/又は、あるIPアドレス及び/又はIPアドレス範囲及び/又はサブネットだけがディレクトリサービス250によって認証されることが許可されるインターネットプロトコル(IP)アドレス制限に関連付けてよい。いくつかの例において、車両は、IPアドレスの範囲及び/又は地理的エリアに関連するアクターにのみ応答するようにハードコーディングされてよい。ディレクトリサービス250は、公開鍵/プライベート鍵のペア、及び/又は、アクター及び/又は車両に、アクターのアイデンティティを車両が認証するための証明書を発行してよい。いくつかの例において、ディレクトリサービス250及び/又はディレクトリレコード252はメモリ230内に記憶されてよい。例えば、ガイダンスアプリケーション254は、ディレクトリサービス250を利用し、(ユーザ情報248に含まれうる)アクターに関連する証明書を使用して制御メッセージ246に暗号で署名してよく、権限トラッカー238は、(ユーザ情報248において受け取れられる証明書を利用して)署名を認証してよく、及び/又は、制御メッセージ246によって指定されるアクションを許可するかどうかを決定する前に、制御メッセージ246をユーザ名に関連付けてよい。
【0066】
いくつかの例において、本明細書で議論されるコンポーネントのいくつか又は全ての側面は、任意のモデル、アルゴリズム、及び/又は機械学習アルゴリズムを含みうる。
【0067】
図2は分散システムとして示されているが、代替的な例において、コンピューティングデバイス202のコンポーネントは、コンピューティングデバイス212及び/又は214に関連付けられてよく、及び/又は、コンピューティングデバイス212及び/又は214のコンポーネントは、コンピューティングデバイス202及び/又は互いに関連付けられてよい。即ち、コンピューティングデバイス202は、コンピューティングデバイス212及び/又は214に関連する1つ又は複数の機能を実行してよく、その逆もまた同様である。
【0068】
例示的なプロセス
図3は、アクターに権限を付与し、アクターの間で権限を移転し、及び/又はどのアクターが権限を有するかを追跡するための例示的なプロセス300の絵的なフロー図を示している。例示的なプロセス300は、車両コンピューティングデバイス204及び/又はコンピューティングデバイス214などのコンピューティングデバイスによって実行されてよい。
【0069】
動作302では、例示的なプロセス300は、本明細書で議論される技術のいずれかに従って、第1のアクター(例えば、図中の人「x」及び/又はそれに関連するコンピューティングデバイス)を、自律車両にガイダンスを提供する権限を有するものとして識別(306)する第1の状態304を記憶することを含んでよい。いくつかの例において、これは、自律車両のメモリに第1の状態304を記憶することを含んでよい。自律車両は、定期的に及び/又は要求時に、状態チャネルを通じて報知される状態メッセージとして、第1の状態304の少なくとも部分を提供してよい。
【0070】
動作308では、例示的なプロセス300は、1つ又は複数の条件の充足時に、本明細書で議論される技術のいずれかに従って、権限を第1のアクター以外の他のアクターに移転させうる1つ又は複数の条件を指定するポリシーを記憶することを含んでよい。図3は、状態マシンを構成しうる例示的なポリシー310の表示を示している。例示的なポリシー310では、状態を丸で、移転を矢印で、条件を六角形で示している。ポリシーのボールド体の状態は、第1の状態304に関連する現在の状態312の例を示している。例示的なポリシー310は、非限定的であり、明確性の目的で単純化されたものである。いくつかの例において、1つの条件は、1つの移転に関連付けられてよく、各状態に関連する1つ以上の移転があってよい。
【0071】
例えば、例示的なポリシー310において、現在の状態312は、車両以外のアクターであるとして従事アクターを識別し、この従事アクターへの移転が、以前に従事アクターから受信された要求に基づいて成功したことを識別する(即ち、簡単のために、図中では、「アクター、成功」として識別される)。現在の状態312は、その移転の条件でありうるハンドオフメッセージ316が従事アクターから受信される場合、「アクター、ハンドオフ待ち」状態314に移転しうる。状態314において一度、状態314は、テイクオーバメッセージ318が、ハンドオフメッセージ316で識別されるアクターから受信される場合、状態312に戻るように移転してよい。これが発生した場合、状態312に戻る時、状態は、以前に従事したアクターの識別子を、明示的に示されていない新たに従事するアクターの識別子に置き換えることに注意されたい。
【0072】
代替的に、現在の状態312は、エスカレーションメッセージ322が従事アクターから受信される場合、「アクター、エスカレーションすること」状態320に移転してよく、テイクオーバメッセージが、役「管理者」(326)に関連するアクターから受信される場合、状態が「アクター、エスカレーションすること」状態320から「管理者、成功」状態423に移転してよい。以下でより詳細に説明されるように、「アクター、エスカレーションすること」状態320は、ディレクターサービスで利用可能なデータに少なくとも部分的に基づいて、オンラインであり及び/又はその他の利用可能である(及び/又は従事アクターに関連付けられている)1つ又は複数の管理者の検索に関連付けられてよい。いくつかの例において、ハンドオフメッセージ316は、同じ役及び/又は従事アクターとしての特権を有するアクターの検索に関連付けられてよい。
【0073】
代替的に、現在の状態は、放棄メッセージが従事アクター(330)から受信される場合に、権限(328)を有するものとして車両を特定するデフォルト状態に戻ってよい。明確性のために、ポリシー310は、単なる例示的なポリシーであり、全ての可能なコネクションが示されているわけではない。例えば、管理者が権限を放棄するとき、それは前のアクター又は車両に返されてよい。また、いくつかの例において、管理者は、アクターから、管理者が関連付けられている権限を取得してよく、権限は、先にエスカレーションメッセージが受信されることなしに、その管理者に移転してよい。言い換えると、いくつかの例において、管理者は、アクターから、それらアクターのうちの1つが現時点で権限を有するとき、いつでも、それらが管理する権限を取得できてよい。これは、無能力な、異常な、又はその他の望ましくないアクターの振る舞いに対するバックアップを提供してよい。
【0074】
いくつかの例において、状態、移転、及び/又は条件のさらなる置き換えがポリシー310に含まれてよく、実際の状態、移転、及び/又は条件は実際には変化してよい。条件は、役、状態(例えば、元の状態及び/又は到達先の状態)、制御メッセージによって指定されるアクション(例えば、要求アクターのアイデンティティがディレクトリサービスによって承認されなくてはならない)などの少なくとも1つを指定してよい。
【0075】
動作332では、例示的なプロセス300は、本明細書で議論される技術のいずれかに従って、権限を第2のアクターに移転するための要求を受信することを含んでよい。例えば、要求は、制御メッセージを含んでよい。図3は、ハンドオフメッセージ、ターゲット車両識別子、ソース識別子、及びターゲット識別子を構成するアクションを含む例示的な制御メッセージ334の表現を示している。この例示的な制御メッセージ334は、アクター「x」がアクター「1」に、「車両1」にガイダンスを提供するための権限を移転することを要求することを伝えてよい。
【0076】
動作336では、例示的なプロセス300は、本明細書で議論される技術のいずれかに従って、ポリシーの条件が満たされるかどうか、及び/又は要求が許可されるか又は拒否されるかを決定することを含んでよい。動作336は、現在の状態(例えば、現時点で記憶されている状態をメモリから取り出す)を決定することと、ポリシーから、状態に関連する1つ又は複数の条件を識別することとを含んでよい。示された例において、これは、現在の状態が状態312であり、その条件316、322、及び330が状態(例えば、それらは全て、例で与えられる現在の状態312からの移転に関連しており、例示的なポリシー310によって許容される任意の移転は、権限を移転するために、それらの状態の1つを満たさなければならないだろう)に関連付けられていると決定することを含んでよい。条件が満たされるかどうかを決定することは、追加的に又は代替的に、要求に関連する役が、要求を発行すること及び/又はあるタイプのガイダンスを与えることのための十分な特権に関連付けられているかどうかを決定することを含んでよい。例えば、管理者役は、車両が移動している間でさえ(例えば、緊急イベントが車両で検出される場合)、車両のドアを開かせるための特権に関連付けられてよい。
【0077】
動作338では、例示的なプロセス300は、ポリシーに少なくとも部分的に基づいて、本明細書で議論される技術のいずれかに従って、要求を許可すると決定することを含んでよい。示された例において、これは、アクター1及び/又はアクターXがディレクトリサービスによって承認/認証されている、及び/又はハンドオフメッセージが有効な移転に関連付けられている、と決定することを含んでよい。要求を許可すると決定するとき、動作338は、さらに、権限を有するものとして第2のアクターを識別(342)する第2の状態340を記憶することを含んでよい。いくつかの例において、第2の状態は、メモリ内の第1の状態を置き換えてよい。動作338は、追加的に又は代替的に、第1の状態に代えて、状態チャネルを通じて第2の状態を送信することを含んでよい。
【0078】
許可及び/又は第2の状態340を受信することに応じて、アクターに関連するガイダンスアプリケーションは、第2のアクターに、自律車両へガイダンスを提供することを許可してよい。追加的に又は代替的に、第2の状態340を記憶することに応じて、自律車両は、第2のアクターから受信されたガイダンスに少なくとも部分的に基づいて、自律車両の動きを制御するための軌道を生成してよい。
【0079】
動作344では、例示的なプロセス300は、本明細書で議論される技術のいずれかに従って、ポリシーに少なくとも部分的に基づいて、要求を拒否すると決定することを含んでよい。例えば、説明された例において、これは、アクター1及び/又はアクターxが、ディレクトリサービスによって承認/認証されない、及び/又は現在の状態がハンドオフメッセージに関連付けられていない(例えば、現在の状態がそれからのハンドオフを許さない)、と決定することを含んでよい。要求を拒否すると決定することに基づいて、第1の状態304は、それが記憶されているメモリ内で変更されずに維持され、権限を有するものとしてアクターxを識別(306)する。
【0080】
例示的な権限移転及び/又は分離
図4A、4B、5A~7A、及び7Dは、様々な権限移転及び/又は権限分離が行われうる例示的なシナリオのブロック図を示し、一方、図4C、7B、及び7Cは、コンピューティングデバイスが状態メッセージを受信することに応じて生成されうる、及び/又は、制御メッセージの生成及び/又は送信を生じさせうる、例示的なユーザインターフェースを示す。図4A、4B、5A~7A、及び7Dは、自律車両102、アクター214(1)~(x)、及びそれらに関連するコンピューティングデバイス214(1)~(x)を示している。自律車両102は、それ自身が「アクター」でもありうる点に注意されたい。
【0081】
いくつかの例において、コンピューティングデバイス(214(1)~(x)のいずれか1つ)は、制御チャネル400を通じて制御メッセージを送信してよく、アクターデバイスから自律車両102へメッセージを送信する任意の他の方法が考えられるけれども、制御チャネル400の任意のサブスクライバは、pub/sub構成に従って制御メッセージを受信してよい。いくつかの例において、自律車両102、及び/又は自律車両102の権限トラッカー240は、(制御チャネル400から出て権限トラッカー240に至る矢印によって示されているように)制御チャネル400のサブスクライバであってよい。いくつかの例において、自律車両102は、定期的に、受信された要求に応じて、及び/又は、任意の他の時間に、状態チャネル402を介して状態メッセージを送信してよく、状態チャネル402の任意のサブスクライバは、自律車両102からコンピューティングデバイス214(1)~(x)へメッセージを送信する任意の他の方法が考えられるが、pub/sub構成に従って状態メッセージを受信してよい。いくつかの例において、コンピューティングデバイス214(1)~(x)は、状態チャネル402をサブスクライブし、それによって、状態チャネル402を通じて報知されるメッセージを受信する。
【0082】
図4Aは、アクター104(1)が、制御チャネル400を通じて、テイクオーバメッセージ406を送信する例示的なシナリオ404を示している。例示的なシナリオ404において、自律車両102で記憶されている状態408は、権限を有するものとして自律車両102を識別する。いくつかの例において、テイクオーバメッセージ406を受信することに少なくとも部分的に基づいて、権限トラッカー240は、状態408に少なくとも部分的に基づいて、1つ又は複数の条件、及びポリシーにおいて、それに関連付けられた移転を識別してよい。いくつかの例において、権限を有するものとして車両が識別されているとき、ポリシーは、任意のアクターがテイクオーバすることを許容してよい。他の例において、ポリシーは、権限が付与されるべきアクターに対し、自律車両102が事前にガイダンスのための要求を送信していなければならないことを要求してよい。追加的な又は代替的な例において、ポリシーは、イベント、役などを指定してよく、アクターが権限を取得することを許可されてよい。例えば、管理者役は、任意のポイントで権限を取得してよく、車両は、それらアクター及び/又は管理者のみが、割り当てられたアクター及び管理者の全てが占有されるまでテイクオーバしうるように、特定のアクター及び/又は管理者に割り当てられてよく、アクターは、車両が安全上の重要なイベントを検出する及び/又はテレオペレーション要求などを生成するまで、権限を取得することから除外されてよい。
【0083】
図4Bは、例示的なシナリオ404の続きを示している。権限トラッカー240は、ポリシーに少なくとも部分的に基づいて、テイクオーバメッセージを許可(410)することを決定してよい。いくつかの例において、権限トラッカー240は、ポリシー内の、移転に関連する条件がテイクオーバメッセージ406によって満たされたと決定してよい。権限トラッカー240は、次いで、自律車両102にガイダンスを提供する権限を有するものとしてアクター104(1)を識別するように状態408が更新されるようにしてよい。この更新は、車両102のメモリにおいて、状態408を状態410に置き換えることを含んでよい。テイクオーバメッセージ406を許可することに少なくとも部分的に基づいて、権限トラッカー240は、状態410に格納されている情報の少なくとも部分を含む状態チャネル402を通じて、状態メッセージ412が報知されるようにしてよい。例えば、状態メッセージ412は、自律車両102にガイダンスを提供する権限を有するものとしてアクター104(1)を識別してよい。
【0084】
いくつかの例において、状態チャネル402を介して、状態メッセージ412を受信することに少なくとも部分的に基づいて、コンピューティングデバイス214(1)は、状態メッセージ412が、アクター104(1)及び/又はコンピューティングデバイス214(1)を識別し、それに応じて、自律車両102からのセンサデータを要求及び/又は受信しうると決定してよい。状態メッセージ412を受信するとき、コンピューティングデバイス214(1)は、キープアライブメッセージを自律車両102に送信することを開始してよく、自律車両102は、制御チャネル400を通じて、権限を他のアクターに移転させる制御メッセージが受信される(例えば、ハンドオーバメッセージが受信されて他のアクターによるテイクオーバメッセージが後に続く、エスカレーションメッセージが受信されて管理者によるテイクオーバメッセージが後に続く、放棄メッセージがアクター104(1)から受信される)まで、又は、接続がタイムアウトする(例えば、自律車両102は、キープアライブメッセージがタイムアウト期間内に受信されなかったと決定する)まで状態410を維持してよい。接続がタイムアウトする場合、権限トラッカー240は、権限を前の権限保持者及び/又はデフォルト権限保持者(例えば、自律車両102)に返却してよい。いくつかの例において、状態メッセージ412を受信することに少なくとも部分的に基づいて、コンピューティングデバイス214(1)は、追加的に又は代替的に、ユーザインターフェースをコンピューティングデバイス214(1)によって表示させるように、及び/又はユーザインターフェースのコンポーネントを選択不能な状態(例えば、グレーアウト、非表示)から選択可能な状態に遷移させるようにしてよい。追加的な又は代替的な例において、状態メッセージ412を受信することに少なくとも部分的に基づいて、コンピューティングデバイス214(1)は、コンピューティングデバイス214(1)上にプロセスのインスタンスを生成してよい。このプロセスは、アクターが車両にガイダンスを提供することを許容してよく、コンピューティングデバイス214(1)に関連するディスプレイによってユーザインターフェースが表示されるようにしてよい。
【0085】
図4Cは、状態メッセージ412を受信することに少なくとも部分的に基づいて、コンピューティングデバイス214(1)が生成して表示されるようにしうる例示的なユーザインターフェース414を示している。いくつかの例において、コンピューティングデバイス214(1)は、ガイダンスの要求を自律車両102から受信することに少なくとも部分的に基づいて、ユーザインターフェース414に通知416を表示させていてよい。通知416は、2つの選択可能な要素「アクセプト(Accept)」及び/又は「キュー(Queue)」を含んでいてよい。いくつかの例において、選択可能な要素「アクセプト」に対応する、コンピューティングデバイス214(1)への入力は、コンピューティングデバイス214(1)に、制御チャネル400を通じてテイクオーバメッセージ406を送信させてよい。選択可能な要素「キュー」に対応する入力は、コンピューティングデバイス214(1)に、ガイダンスの要求に関するアクションをとらせないようにしてよく、又は、コンピューティングデバイス214(1)に、オンラインであるアクターに関連する他のコンピューティングデバイスへガイダンスの要求を送信させるようにしてよい。しかし、通知416は、ユーザインターフェース414の少なくとも部分の表示を生じさせるために車両102からセンサデータが受信されるのと同時及び/又はその前に、表示されてよい。
【0086】
アクター104(1)は、ユーザインターフェース414を利用して、コンピュータ実行可能命令及び/又はコマンドを含むロジックを構成しうるガイダンス、共同命令、及び/又は、自律車両102によってガイダンスとして利用されうる承認にコンピューティングデバイス214(1)が変換する、コンピューティングデバイス214(1)への入力を提供してよい。例えば、例示的なユーザインターフェース414は、センサデータ及び/又はガイダンスの鳥瞰表現418、カメラフィード(camera feed)420(例えば、イメージ、ビデオ)、及び/又は、センサデータ及び/又はガイダンスのトップダウン表現422を含んでよい。示された例示的なユーザインターフェース414において、ガイダンスは、変更されたドライビング境界424を含んでよい。いくつかの例において、アクターは、変更されたドライビング境界424の形状を作成するのに十分な入力を提供していることがある。変更されたドライビング境界424は、共同命令の例であり、ユーザインターフェース414を利用して提供されうるガイダンスのタイプを限定することを意図していない。追加的な又は代替的なガイダンス及び/又はテレオペレーションの動作の例は、2017年7月7日に出願された米国特許出願第15/644,267号、第15/644,310号、第15/644,349号、第15/644,390号明細書に見つけられ、その全体が本明細書に組み込まれる。
【0087】
ガイダンスに対応する入力を受信するとき、ガイダンスアプリケーションは、承認及び/又はいくつかの他の選択可能な要素(426)を、ユーザインターフェース414を介して表示させてよく、その選択は、ガイダンスが自律車両102に送信されるようにする。いくつかの例において、ガイダンスアプリケーションは、アクター104(1)に関連する識別子をガイダンスに添付する。権限トラッカー240は、識別子が状態410に対応すると決定することに少なくとも部分的に基づいて(例えば、状態410は識別子を含んでよく、それによって、アクター104(1)が、ガイダンスを提供する権限を有することを示す)、アクター104(1)のコンピューティングデバイス214(1)から受信されたガイダンスを自律車両102の適切なコンポーネントに送信してよい。例えば、変更されたドライビング境界424に対応する命令を受信することに少なくとも部分的に基づいて、権限トラッカー240は、変更されたドライビング境界424に対応する命令を、自律車両102のプランナーに送信してよい。プランナーは、自律車両102を変更されたドライビング境界424の範囲内で動作させうる自律車両102の軌道を順に生成してよい。
【0088】
いくつかの例において、ユーザインターフェース414を介して利用可能な要素は、さらに、アクターに関連する役に少なくとも部分的に基づいてよい。例えば、管理者役は、車両が他のアクターによって制御されているときであっても、車両のセンサデータを表示するユーザインターフェースに関連付けられてよいが、少なくとも又は全てのガイダンス制御が利用不能にされてもよい。追加的な又は代替的な例において、管理者に関連するユーザインターフェースは、従事アクターの役に関連するガイダンス制御(例えば、ドライブ境界変更、軌道承認、ルート変更)を利用不能にしてよいが、管理者の役に関連するが従事アクターの役に関連しないガイダンス制御(例えば、移動中にドアを開く、幹線道路上で車両を停止する)を利用可能にしてよい。
【0089】
いくつかの例において、アクティブユーザの記録に少なくとも部分的に基づいて、コンピューティングデバイス214(1)は、追加的に又は代替的に、ユーザインターフェース414に、オンライン(428)他のアクター及び/又はオンライン(430)である管理者(例えば、役管理者に関連するアクター)のインジケーションを表示させてよい。いくつかの例において、オンラインアクター及び/又は管理者は、(例えば、例示的なユーザインターフェース414に示されているように、オンラインであるアクター及び/又は管理者の番号を識別することによって)一般に識別されうるし、及び/又は、オンラインアクター及び/又は管理者の一又は複数のものは、特に、(例えば、ユーザ名によって、アクターの写真又は他の表現によって)示されうる。428に対応するコンピューティングデバイス214(1)で受信される入力(一般のオンラインユーザを選択するか、又は特定のユーザを選択するか)は、ハンドオフ手順が開始されるようにする、及び/又は、430に対応する入力(一般のオンライン管理者のインジケータを選択するか、又は特定の管理者を選択するか)は、エスカレーション手順が開始されるようにする。
【0090】
図5Aは、アクター104(1)が、自律車両102にガイダンスを提供する権限を有することを示す状態410がまだメモリに記憶されている例示的なシナリオ500を示している。例示的なシナリオ500において、アクター104(1)は、制御チャネル400を通じて放棄メッセージ502を送信する。
【0091】
図5Bは、例示的なシナリオ500の続きを示している。権限トラッカー240は、放棄メッセージ502がポリシーの条件を満たすと決定することに少なくとも部分的に基づいて、放棄メッセージ502を許可504してよい。権限トラッカー240は、権限を、前の権限保持者に返却することによって移転させる、及び/又はデフォルト権限保持者(例えば、自律車両102)に戻させてよい。これは、状態506を自律車両102のメモリに記憶することを含んでよい。状態506は追加的に、返却が成功したこと(例えば、「車両、成功」)を示しうるけれども、状態506は、状態408を表してよい。いくつかの例において、権限トラッカー240は、状態チャネル402を通じて、新たな権限保持者(即ち、示された例では自律車両102)を示す状態メッセージ508を送信してよい。状態チャネル402の任意のサブスクライバは、状態メッセージ508を受信してよい(例えば、コンピューティングデバイス214(1)~(x))。いくつかの例において、状態メッセージ508を受信するとき、コンピューティングデバイス214(1)は、アクター104(1)にガイダンスを提供することを許可するプロセスを終了してよく、及び/又はユーザインターフェースのコンポーネントを選択不能にしてよい。
【0092】
いくつかの例において、放棄メッセージ502を送信した後、コンピューティングデバイス214(1)が、権限の移転が成功裏に生じたことを示す状態メッセージを受信するまで、たとえこれがタイムアウトに起因するものであっても、コンピューティングデバイス214(1)は、自律車両102との接続をオープンに維持してよい。いくつかの例において、アクター104(1)は、コンピューティングデバイス214(1)~(x)の少なくとも1つによって状態メッセージ508が受信されるまで、及び/又はタイムアウトが生じる(及び権限トラッカー240がそれによって、タイムアウトに起因する権限の移転をもたらす)まで、権限を保持してよい。
【0093】
管理者が権限を有し、放棄メッセージが受信されたことを現在の状態が示しているケースにおいて、権限トラッカー240は、権限をデフォルト権限保持者及び/又は前の権限保持者(例えば、権限を管理者にエスカレーションしたアクター)に返却することを決定してよい。
【0094】
図6Aは、アクター104(1)が、自律車両102にガイダンスを提供するための権限を有することを示す状態410がまだメモリに記憶されている例示的なシナリオ600を示している。例示的なシナリオ600において、アクター104(x)は、制御チャネル400を通じて、テイクオーバメッセージ602を送信する。
【0095】
図6Bは、例示的なシナリオ600の続きを示している。権限トラッカー240は、テイクオーバメッセージ602がポリシーの条件を満たさないと決定することに少なくとも部分的に基づいて、テイクオーバメッセージ602を拒否604してよい。例えば、権限トラッカー240は、状態410を読み出すことと、アクター104(1)が現時点で権限を有すると決定することとに少なくとも部分的に基づいて、テイクオーバメッセージ602を拒否すると決定してよい。しかし、ポリシー構成に依存して、もし、テイクオーバメッセージ602がアクター104(x)を管理者として識別している場合、いくつかのポリシー構成に従って、権限トラッカー240は、テイクオーバメッセージ602を許可し、状態410を、アクター104(x)を権限保持者として識別する状態に遷移してよい。他のポリシー構成において、テイクオーバメッセージは、権限がデフォルト権限保持者から移転されている又は権限トラッカー240に、要求された移転を通知するメッセージ(例えば、ハンドオーバメッセージ、エスカレーションメッセージ)が受信されるまで、許可されることはない。
【0096】
いくつかの例において、管理者は、コンピューティングデバイス214(x)からコンピューティングデバイス214(1)へ要求を送信することによってテイクオーバメッセージを生じさせてよく、それは、肯定応答及び/又はアクター104(1)の許可(例えば、ガイダンスアプリケーションのユーザインターフェースを介して表示される要求の通知に対応する入力を与えることによってなど)に際し、コンピューティングデバイス214(1)が(制御チャネル400を介して)エスカレーションメッセージを権限トラッカー240へ送信する及び/又は肯定応答メッセージをコンピューティングデバイス214(x)に返してよいというものである。コンピューティングデバイス214(x)は、肯定応答メッセージを受信することに応じて、又は定義された期間が経過した後に、テイクオーバメッセージ602を送信してよい。
【0097】
権限トラッカー240は、要求を拒否604することに少なくとも部分的に基づいて及び/又は通常の状態送信インターバルで、状態チャネル402を通じて、状態メッセージ606が送信されるようにしてよい。状態メッセージ606は、状態410の少なくとも部分を含んでよく、それによって、権限を有するものとしてアクター104(1)を識別し続ける。状態メッセージ606は、コンピューティングデバイス214(1)及び/又はコンピューティングデバイス214(x)を含む、状態チャネル402のサブスクライバによって受信されてよい。
【0098】
いくつかの例において、状態メッセージ606を受信することに少なくとも部分的に基づいて、コンピューティングデバイス214(x)は、ユーザインターフェースを介してガイダンスを提供するための選択可能な要素を利用不能にさせ続けてよい。いくつかの例において、他のケースではコンピューティングデバイス214(x)がこれをしないようにしてよいけれど、コンピューティングデバイス214(x)は、それでもなお、自律車両102から受信されるセンサデータがユーザインターフェースを介して表示されるようにしてよい。
【0099】
図7Aは、アクター104(1)が、自律車両102へガイダンスを提供する権限を有することを示す状態410がまだメモリに記憶されている例示的なシナリオ700を示している。例示的なシナリオ700において、アクター104(1)は、制御チャネル400を通じて、ハンドオーバメッセージ及び/又はエスカレーションメッセージ702を送信する。いくつかの例において、ハンドオーバメッセージ及び/又はエスカレーションメッセージは、ソース識別子(例えば、起源アクターのユーザ名又は他の識別子)及びターゲット識別子(例えば、特定のアクターの識別子、及び/又は権限の移転要求先となる役)の両方を含んでよい。ターゲット識別子は、例えば、特定のアクターのユーザ名及び/又は役を含んでよい。
【0100】
いくつかの例において、コンピューティングデバイス214(1)は、実質的に同時に、又はターゲット識別子に関連するコンピューティングデバイスへハンドオーバメッセージ及び/又はエスカレーションメッセージ702を送信する前に、ハンドオーバ/エスカレーション通知704を送信してよい。
【0101】
いくつかの例において、コンピューティングデバイス214(1)は、ユーザ入力を受信することなく、ハンドオーバメッセージ及び/又はエスカレーションメッセージ702を生成及び/又は送信してよい。例えば、コンピューティングデバイス214(1)で、権限を有するものとしてアクター104(1)を識別する状態メッセージを受信した期間内に入力が受信されない場合、コンピューティングデバイス214(1)は、ターゲットとして、アクター104(1)のピア(例えば、アクター104(1)と同じ役を有する他のアクター)、アクター104(1)と同じ役などを識別するハンドオーバメッセージ、及び/又はエスカレーションメッセージ702を生成及び/又は送信してよい。
【0102】
いくつかの例において、コンピューティングデバイス214(1)は、(ハンドオフについては)一又は複数のオンラインアクター又は(エスカレーションについては)管理者に関連するターゲット識別子及び/又はその所定の番号を自動入力してよい。
【0103】
図7Bは、ハンドオフメッセージ及び/又はエスカレーションメッセージを生成及び/又は送信するための例示的なユーザインターフェース706を示している。例示的なユーザインターフェース706は、ハンドオーバを開始するための選択可能な要素708(「ハンドオフ」)を含んでよい。この要素は、同様にエスカレーションを開始する要素に代えられうることが理解される。選択可能な要素708に対応するコンピューティングデバイス214(1)での入力を受信することに応じて、ガイダンスアプリケーションは、オンラインである、エスカレーションのケースでは管理者の役に関連付けられている、アクターの少なくともサブセットを識別してよい。いくつかの例において、コンピューティングデバイス214(1)は、ユーザインターフェース706に、ガイダンスアプリケーションによって識別されるアクターのサブセットに対応する、(ハンドオフのケースにおいて)ピア710及び/又は(エスカレーションのケースにおいて)管理者712に対応する選択可能な要素のリストを表示させてよい。1つ又は複数の選択可能な要素710及び/又は712に対応する入力は、コンピューティングデバイス214(1)に、選択されたアクターを識別するターゲット識別子を含むハンドオフメッセージ及び/又はエスカレーションメッセージ702を送信させてよい。コンピューティングデバイス214(1)は、追加的に、ハンドオーバ/エスカレーション通知704を、ハンドオーバメッセージ及び/又はエスカレーションメッセージ702のターゲット識別子によって識別されるアクターに関連するコンピューティングデバイスに送信してよい。
【0104】
追加的な又は代替的な例において、選択可能な要素708に対応する、コンピューティングデバイス214(1)での入力を受信することに応じて、ガイダンスアプリケーションは、オンラインである、エスカレーションのケースでは管理者の役に関連する、アクターの少なくともサブセットを識別してよく、ガイダンスアプリケーションは、自動的に、ハンドオーバメッセージ及び/又はエスカレーションメッセージ702、及び/又は、ハンドオーバ/エスカレーション通知704を、アクターのさらなる入力なしに送信されるようにしてよい。例えば、ガイダンスアプリケーションは、(ハンドオフについて)一又は複数のオンラインアクター又は(エスカレーションについて)管理者に関連する識別子を持つハンドオーバメッセージ及び/又はエスカレーションメッセージ702のターゲット識別子、及び/又はそれの所定の番号を自動入力してよい。いくつかの例において、ガイダンスアプリケーションは、アクター104(1)に関連付けられている管理者を識別してよく、アクター104(1)に関連付けられている管理者が利用可能であるものとして示されていない場合、ガイダンスアプリケーションは、利用可能な管理者の検索を、アクター104(1)に関連付けられていない管理者にまで拡大してよい。
【0105】
図7Cは、ハンドオーバ/エスカレーション通知704を受信するコンピューティングデバイスによって表示させられる例示的なユーザインターフェース714を示している。例示的なユーザインターフェース714は、既存のディスプレイ(例えば、都市で動作する自律車両の車列の表示の鳥瞰図)の少なくとも一部の上に通知716を表示させてよい。いくつかの例において、通知716は、選択可能な要素(例えば、例示的なユーザインターフェース714では「アクセプト」及び「キュー」によって示されるもの)を含んでよい。ハンドオーバ及び/又はエスカレーションの要求の許可を示す、コンピューティングデバイスで受信される入力は、コンピューティングデバイスに、(図7Dに示された)制御チャネル400を通じてテイクオーバメッセージ718を送信させうる。テイクオーバメッセージ718を受信することに応じて、権限トラッカー240は、コンピューティングデバイスに関連するアクターに権限を移転しうる。テイクオーバメッセージ718を送信することに応じて、及び/又は非更新状態メッセージを受信することに応じて、コンピューティングデバイスは、プロセスのインスタンスを生成し、及び/又は選択のために利用可能なユーザインターフェースのコンポーネントを作成しうる。要求のキューを示す、コンピューティングデバイスで受信される入力は、制御チャネル400を通じて拒否メッセージを送信するためにコンピューティングデバイスを送信してよく、及び/又は要求の送信先となる他のアクターの選択をユーザに許可してよく、及び/又は、追加的なアクターに要求を送信してよい。テイクオーバメッセージ718を受信することに応じて、権限トラッカー240は、「失敗(failure)」を識別する状態を移転し、権限を有するものとしてアクター104(1)を識別し続けてよく、又はいくつかの例においては、権限をデフォルト権利保持者に返却してよい。
【0106】
ターゲット識別子が複数のアクターを識別する例において、権限トラッカーは、最初に受信されるテイクオーバメッセージに関連するアクターに権限を移転してよく、もし、拒否メッセージが受信される場合、移転が生じるまで、又は、ターゲット識別子によって識別される全てのアクターから拒否メッセージが受信されるまで、「ハンドオフ待ち」又は「エスカレートする」状態を維持してよい。
【0107】
例示的な条項
A.自律車両であって、
1つ又は複数のプロセッサと、
ネットワークインターフェースと、
1つ又は複数のプロセッサによって実行可能な命令を記憶するメモリと、
を備え、命令は、実行されたとき、自律車両に、
自律車両のコンピューティングデバイスを、自律車両のコンポーネントにガイダンスを提供する権限を有するものとして識別する第1の状態を記憶させ、
アクターに権限を移転することに関連する1つ又は複数の条件を指定するポリシーを記憶させることであって、1つ又は複数の条件は、アクション、役、又は状態の少なくとも1つを含む、ことを行わせ、
第1のアクターに関連する第1のデバイスからネットワークインターフェースを介して、権限を第1のアクターに移転するための要求を受信することであって、要求は、第1のアクターのアイデンティティを指定する識別子又は第1の役の少なくとも1つを含む、ことを行わせ、
アイデンティティ又は役の少なくとも1つが、メモリに記憶されているポリシーによって指定される条件を満たすと決定することに少なくとも部分的に基づいて、第1の状態を、権限を有するものとして第1のアクターを識別する第2の状態へと更新させ、
ネットワークインターフェースを介して、少なくとも第1のデバイスに第2の状態を送信させ、
第1のデバイスからネットワークインターフェースを介して受信されたガイダンスと、ガイダンスが役に対応すると決定することとに少なくとも部分的に基づいて、自律車両のコンポーネントを制御させる。
【0108】
B.条項Aに記載の自律車両であって、
アイデンティティ又は役の少なくとも1つが条件を満たすと決定することは、状態マシンを評価することを含み、
条件は、権限が異なるアクターの間で移転されることについての、アクション、役、又は状態の少なくとも1つを定義し、
アクションは、異なるアクターによるテイクオーバ、権限を有する現在のアクターから異なるアクターへのハンドオフ、又は現在のアクターから管理者役に関連するアクターへのエスカレーションの少なくとも1つを含み、
役は、テレオペレータ、搭乗オペレータ、管理者、又はスーパーユーザの少なくとも1つを含み、
状態は、権限を有する現在のアクター、又は未確定アクションの少なくとも1つを識別する。
【0109】
C.条項A又はBのいずれかに記載の自律車両であって、
ガイダンスは、承認、共同命令、又はコマンドの少なくとも1つを含み、
コンポーネントを制御することは、
自律車両の動きを制御するための軌道を生成すること、
自律車両のエミッタを制御すること、又は
車両の車内コンディションを変更すること、
の少なくとも1つを含む。
【0110】
D.条項A~Cのいずれか1つに記載の自律車両であって、
命令は、さらに、自律車両に、
ネットワークインターフェースを介して、第2のアクターからガイダンスを受信させ、
状態マシンを評価することに少なくとも部分的に基づき、第2のアクターに関連する役がガイダンスに関連する十分な特権に関連付けられていないこと、ガイダンスが第2の条件に関連する第2のアクションに関連付けられてないこと、又は第2の状態が第2のアクターを識別しないことの少なくとも1つを決定することに少なくとも部分的に基づいて第2の状態に関連する第2の条件が満たされていないと決定させ、
第2の条件が満たされていないと決定することに少なくとも部分的に基づいて第2の状態を維持させる。
【0111】
E.条項A~Dのいずれか1つに記載の自律車両であって、
命令は、さらに、自律車両に、
ネットワークインターフェースを介して、第1のアクターから、放棄メッセージ、ハンドオフメッセージ、又はエスカレーションメッセージの少なくとも1つを受信させ、
ネットワークインターフェースを介して、ガイダンスを提供する権限を第2のアクターに移転するための第2の要求を受信させ、
メモリに記憶されているポリシーによって指定された第2の条件が満たされると決定することと、放棄メッセージ、ハンドオフメッセージ、又はエスカレーションメッセージの少なくとも1つとに少なくとも部分的に基づいて、第2の状態を、権限を有するものとして第2のアクターを識別する第3の状態へと更新させる。
【0112】
F.条項A~Eのいずれか1つに記載の自律車両であって、
第2の要求は、エスカレーションメッセージに関連するテイクオーバメッセージを含み、
第2の条件が満たされると決定することは、第2の要求に関連する第2の役が、第2のアクターが管理者であることを示していると決定することに少なくとも部分的に基づく。
【0113】
G.条項A~Fのいずれか1つに記載の自律車両であって、
命令は、さらに、自律車両に、
ネットワークインターフェースを介して、ガイダンスを提供する権限を第2のアクターに移転するための第2の要求を受信させ、
第2の要求が、第2の状態に関連するポリシーの第2の条件を満たさないと決定することに少なくとも部分的に基づきポリシーに従って第2の要求が無効な移転であると決定することに少なくとも部分的に基づいて、第2の要求を拒否すると決定することであって、第2の要求が第2の条件を満たさないと決定することは、ハンドオフメッセージ、エスカレーションメッセージ、又は放棄メッセージが第1のアクターから受信されなかったこと又は第2のアクターに関連する第2の役が管理者役の識別を含まないことの少なくとも1つを決定することに少なくとも部分的に基づく、ことを行わせる。
【0114】
H.条項A~Gのいずれか1つに記載の自律車両であって、
命令は、さらに、自律車両に、
ネットワークインターフェースを介して、第1のデバイスから放棄メッセージを受信すること、又は、ネットワークインターフェースを介して、第1のデバイスから最後にキープアライブメッセージが受信されて以来、ある期間が経過したと決定すること、の少なくとも1つに少なくとも部分的に基づいて、第2の状態を、権限を有するものとして自律車両を識別する第1の状態に置き換えさせる。
【0115】
I.1つ又は複数のプロセッサによって実行されるとき、1つ又は複数のプロセッサに、
状態、役、又はアクションの少なくとも1つに関連するポリシーを記憶させ、
自律車両にガイダンスを提供する権限を有するものとしてデフォルトアクターを識別する状態を記憶させ、
ネットワークインターフェースを介して、第1のアクターに関連する第1のコンピューティングデバイスに第1の状態を送信させ、
権限を第1のアクターに移転するための要求を、ネットワークインターフェースを介して第1のデバイスから受信することであって、要求は、第1のアクターの識別子、アクション、又は役の少なくとも1つを指定する、ことを行わせ、
識別子が認証されていると決定すること、又は、アクション又は役がポリシーによって指定された条件を満たすと決定することの少なくとも1つに少なくとも部分的に基づいて、権限を有するものとして第1のアクターを識別するために状態を更新させ、
ネットワークインターフェースを介して、第1のデバイスに、第2の状態を送信させ、
権限を有するものとして第1のアクターを識別する状態に少なくとも部分的に基づき、ネットワークインターフェースを介して、第1のアクターに関連する第1のコンピューティングデバイスからガイダンスを受信することに少なくとも部分的に基づいて、非一時的なコンピュータ可読媒体に関連するデバイスを制御させる、
プロセッサ実行可能命令を記憶する非一時的なコンピュータ可読媒体。
【0116】
J.条項Iに記載の非一時的なコンピュータ可読媒体であって、
アクションは、第1のアクターによるテイクオーバ、デフォルトアクターから第1のアクターへのハンドオフ、又はデフォルトアクターから第1のアクターへのエスカレーションの少なくとも1つを含み、
役は、テレオペレータ、搭乗オペレータ、管理者、又はスーパーユーザの少なくとも1つを含む。
【0117】
K.条項I又はJのいずれかに記載の非一時的なコンピュータ可読媒体であって、
アクション又は役がポリシーによって指定された条件を満たすと決定することは、状態マシン移転が有効であると決定することを含み、有効な移転は、
ハンドオフメッセージが最初にアクターから受信されるときの、アクターから他のアクターへの第1の移転、
エスカレーションメッセージがアクターから最初に受信され、テイクオーバメッセージが管理者から受信され、かつ、管理者が第2のアクターであるときの、アクターから管理者への第2の移転、
エマージェンシーイベントインジケータが最初に受信され、かつ、管理者が第2のアクターであるときの、アクターから管理者への第3の移転、
アクターに関連するコンピューティングデバイスが無効であるときの、アクターから管理者への第4の移転、
アクターに関連するコンピューティングデバイスで異常な振る舞いを示すことに少なくとも部分的に基づいて管理者がポリシーを無視するときの、アクターから管理者への第5の移転、
キープアライブメッセージが、ある期間内に受信されなかったと決定することに少なくとも部分的に基づくアクターから他者への第6の移転、又は
放棄メッセージがアクターから受信されたときの、アクターからデバイスへの第7の移転、
を含む。
【0118】
L.条項I~Kのいずれか1つに記載の非一時的なコンピュータ可読媒体であって、
命令は、さらに、1つ又は複数のプロセッサに、
ネットワークインターフェースを介して、第1のコンピューティングデバイスから、放棄メッセージ、ハンドオフメッセージ、又は第1のコンピューティングデバイスからのエスカレーションメッセージの少なくとも1つを受信させ、
ネットワークインターフェースを介して、ガイダンスを提供する権限を第2のアクターに移転するための第2の要求を受信させ、
第2の識別子、第2の役、又は第2の要求に関連する第2のものが、ポリシーの第2の条件によって指定された有効な移転に関連付けられていることを、放棄メッセージ、ハンドオフメッセージ、又はエスカレーションメッセージの少なくとも1つに少なくとも部分的に基づいて決定することに少なくとも部分的に基づいて、ガイダンスを提供する権限を有するものとして第2のアクターを識別するために状態を更新させる。
【0119】
M.条項I~Lのいずれか1つに記載の非一時的なコンピュータ可読媒体であって、
ガイダンスは、承認、共同命令、又はコマンドの少なくとも1つを含み、
デバイスを制御することは、
自律車両の動きを制御するための軌道を生成すること、
自律車両のエミッタを制御すること、又は
車両の車内コンディションを変更すること、
の少なくとも1つを含む。
【0120】
N.自律車両にガイダンスを提供する権限を有するものとして、第1のアクターを識別する第1の状態を記憶することと、
権限をアクター間で移転することに関連する1つ又は複数の条件を指定するポリシーを記憶することであって、1つ又は複数の条件は、アクション、役、又は状態の少なくとも1つを含む、ことと、
ネットワークインターフェースを介して、第2のアクターから、権限を第2のアクターに移転するための第1の要求を受信することと、
第2のアクション、又は第2の要求に関連する第2の役が、ポリシーの第1の条件を満たすと決定することに少なくとも部分的に基づいて、権限を有するものとして第2のアクターを識別するために第1の状態を更新すること、又は、第2のアクション又は第2の役の少なくとも1つが第1の条件を少なくとも部分的に満たさないと決定することに少なくとも部分的に基づいて、権限を有するものとして第1のアクターを識別するために第1の状態を維持すること、の少なくとも1つと、
を含む、方法。
【0121】
O.条項Nに記載の方法であって、方法は、さらに、
第1のアクターに関連する第1のコンピューティングデバイスから、第1のガイダンスを受信することと、
第2のアクターに関連する第2のコンピューティングデバイスから、第2のガイダンスを受信することと、
第1の状態が、権限を有するものとして第2のアクターを識別すると決定することに少なくとも部分的に基づき、かつ、第2の役が、コンポーネントに関連する特権に関連付けられていると決定することに少なくとも部分的に基づいて、自律車両のコンポーネントを制御することを決定することと、
を含む。
【0122】
P.条項N又はOのいずれかに記載の方法であって、
権限を有するものとして第2のアクターを識別するように第1の状態を更新することは、
第2のアクターのアイデンティティに関連する識別子が、権限を取得するために認定されていると決定すること、
第2のアクターに関連する第2の役が第1の条件によって指定されていると決定すること、
第2のアクションが第1の条件によって指定されていると決定すること、
第2のアクター及び第1の要求が、ハンドオフメッセージ、又は第1のアクターから受信されたエスカレーションメッセージの少なくとも1つに関連付けられていると決定すること、又は
放棄メッセージが第1のアクターから受信されたと決定すること、
の少なくとも1つに少なくとも部分的に基づく。
【0123】
Q.条項N~Pのいずれか1つに記載の方法であって、
メモリは、第1のデバイスに関連付けられており、方法は、さらに、
状態チャネルを通じて第1のデバイスの公表をサブスクライブする1つ又は複数のデバイスに、状態を送信すること、
を含む。
【0124】
R.条項N~Qのいずれか1つに記載の方法であって、
第2のアクターを識別するために第1の状態を更新することは、状態マシンを評価することによって、第1のアクターから第2のアクターへの移転が有効であると決定することに少なくとも部分的に基づき、有効な移転は、
ハンドオフメッセージが最初にアクターから受信されるときの、アクターから他のアクターへの第1の移転、
エスカレーションメッセージがアクターから最初に受信され、テイクオーバメッセージが管理者から受信され、かつ、管理者が第2のアクターであるときの、アクターから管理者への第2の移転、
エマージェンシーイベントインジケータが最初に受信され、かつ、管理者が第2のアクターであるときの、アクターから管理者への第3の移転、
アクターに関連するコンピューティングデバイスが無効であるときの、アクターから管理者への第4の移転、
アクターに関連するコンピューティングデバイスで異常な振る舞いを示すことに少なくとも部分的に基づいて管理者がポリシーを無視するときの、アクターから管理者への第5の移転、
キープアライブメッセージが、ある期間内に受信されなかったと決定することに少なくとも部分的に基づくアクターから他者への第6の移転、又は
放棄メッセージがアクターから受信されたときの、アクターからデバイスへの第7の移転、
を含む。
【0125】
S.条項N~Rのいずれか1つに記載の方法であって、
権限を有するものとして第2のアクターを識別するために第1の状態を更新することは、第2のアクターに関連する識別子、第2の役、又は移転のステータスの少なくとも1つを記憶することと、
1つ又は複数のコンピューティングデバイスに、第1の状態を公表することと、を含む。
【0126】
T.条項N~Sのいずれか1つに記載の方法であって、
権限を有するものとして第2のアクターを識別するために第1の状態を更新することは、さらに、第2のアクターに関連する識別子が、ディレクトリサービスによって認証されたもの、又は自律車両によって生成されたガイダンスの要求に関連するものの少なくとも1つであると決定すること、を含む。
【0127】
構造的な特徴及び/又は方法論的なアクションに固有の言語で構成要素が説明されたけれども、添付の請求項において定義された構成要素は、説明された固有の特徴又はアクションに限定される必要がないことは理解されるであろう。むしろ、固有の特徴及びアクションは、請求項を実施する例示形態として開示されている。
【0128】
本明細書で説明されたモジュールは、任意のタイプのコンピュータ可読媒体に記憶されてよく、ソフトウェア及び/又はハードウェアで実行されうる命令を表している。上で説明された方法及びプロセスの全ては、1つ又は複数のコンピュータ又はプロセッサ、ハードウェア、又はそれらのいくつかの組み合わせによって実行されるソフトウェアコードモジュール及び/又はコンピュータ実行可能命令に組み込まれ、また、それを介して完全に自動化されうる。代替的に、方法のいくつか又は全ては特化したコンピュータハードウェアに組み込まれうる。
【0129】
「may」、「could」、「may」又は「might」などの条件付きの言葉は、特に明記しない限り、文脈の中で理解され、特定の例が含まれることを表し、一方、他の例には、特定の機能、要素、及び/又はステップは含まれない。従って、そのような条件付きの言葉は、概して、特定の特徴、要素、及び/又はステップが1つ又は複数の例に何らかの形で必要であること、或いは、1つ又は複数の例が、ユーザ入力又はプロンプトがあってもなくても、特定の特徴、要素、及び/又はステップが含まれるかどうか又は任意の特別な例において実行されるかどうかを決定するための論理を含む必要があることを意味することを意図していない。
【0130】
「X、Y、又はZの少なくとも1つ」という句などの接続詞言語は、特に明記されていない限り、項目、用語などを表すと理解されるべきであり、X、Y、Zのいずれか、又は各要素を複数含むそれらの任意の組み合わせであってよい。単数形として明示的に説明されていない限り、「a」は、単数及び複数を意味する。
【0131】
本明細書で説明され、及び/又は添付図面に示されているフロー図内のルーティーンの説明、要素又はブロックは、特定の論理機能又はルーティーン内の要素を実装するための1つ又は複数のコンピュータ実行可能命令を含むモジュール、セグメント、又はコードの部分を潜在的に表すものとして理解されるべきである。
【0132】
代替的な実装は、本明細書で説明された例の範囲内に含まれ、ここで、要素又は機能は、示され又は議論されたものから削除され又は順不同で実行されてよく、それは、実質的に同期的であること、逆の順序であること、追加の動作を伴うこと、又は動作を省略することを含み、当業者によって理解されるように、関与する機能に依存する。
【0133】
上記の例に対して多くの変形及び変更を行ってもよく、その要素は、他の許容可能な例の中にあると理解されるべきである。そのような全ての変更及び変形は、本明細書における本開示の範囲内に含まれ、以下の請求項によって保護されることが意図されている。
図1
図2
図3
図4A
図4B
図4C
図5A
図5B
図6A
図6B
図7A
図7B
図7C
図7D