(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-21
(45)【発行日】2022-07-29
(54)【発明の名称】自律車両のためのフォールバック要求
(51)【国際特許分類】
G08G 1/09 20060101AFI20220722BHJP
G08G 1/00 20060101ALI20220722BHJP
【FI】
G08G1/09 V
G08G1/00 X
【外国語出願】
(21)【出願番号】P 2018231175
(22)【出願日】2018-12-10
(62)【分割の表示】P 2017560197の分割
【原出願日】2016-05-23
【審査請求日】2018-12-17
(32)【優先日】2015-05-26
(33)【優先権主張国・地域又は機関】US
【前置審査】
(73)【特許権者】
【識別番号】317015065
【氏名又は名称】ウェイモ エルエルシー
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100126480
【氏名又は名称】佐藤 睦
(72)【発明者】
【氏名】ハーバック,ジョシュア,セス
(72)【発明者】
【氏名】ネメック,フィリップ
(72)【発明者】
【氏名】フェアフィールド,ナサニエル
【審査官】久保田 創
(56)【参考文献】
【文献】特開2015-092320(JP,A)
【文献】特表2013-544697(JP,A)
【文献】特開2015-072651(JP,A)
【文献】特開2010-134945(JP,A)
【文献】特開2011-240816(JP,A)
【文献】国際公開第2015/166811(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/09
G08G 1/00
(57)【特許請求の範囲】
【請求項1】
システムであって、
少なくとも1つのフォールバックタスク及び各フォールバックタスクの対応するトリガをメモリに記憶し、
各トリガは、満たされたときに、対応するフォールバックタスクが実行されるべきであることを示す条件セットであり、
車両を制御する1つ以上のセルフドライビングシステムからステータス更新を受信し、
前記ステータス更新に少なくとも部分的に基づいて所与のフォールバックタスクの所与の対応するトリガの条件セットが満たされていることを判定し、
前記所与のフォールバックタスクに基づいてセルフドライビングシステムに1つ以上の命令を送信し、
前記トリガの緊急度レベルを判定し、
前記緊急度レベルは、前記トリガの前記条件セットが満たされた後で前記トリガに関連した前記フォールバックタスクの実行が他のタスクに関連してどれだけ迅速に開始されるかに関係しており、前記緊急度レベルは、第1レベル及び前記第1レベルより緊急度が高い第2レベルを含み、
前記トリガの前記緊急度レベルが前記第1レベルであるときは、現在のタスクが完了した後に前記1つ以上の命令を送信し、前記トリガの前記緊急度レベルが前記第2レベルであるとき
は、
前記現在のタスクが完了する前に前記1つ以上の命令を送信する、
ように構成された1つ又は複数のプロセッサを備える、システム。
【請求項2】
前記トリガに関連したフォールバックタスクを実行不可能であるときに前記車両をそこへ走行させる所定
の位置が前記メモリ上にハードコードされ、
前記1つ又は複数のプロセッサが、
前記トリガに関連したフォールバックタスクが実行不可能であることを判定し、
前記フォールバックタスクを前記所定
の位置へ走行することに更新する、
ようにさらに構成される、請求項1に記載のシステム。
【請求項3】
前記1つ又は複数のプロセッサが、
前記1つ以上のセルフドライビングシステムからの前記ステータス更新に基づいてステータス更新レポートを送信し、
少なくとも1つの更新されたフォールバックタスクを受信し、
前記少なくとも1つの更新されたフォールバックタスクを前記メモリに記憶する、
ようにさらに構成される、請求項1に記載のシステム。
【請求項4】
前記1つ又は複数のプロセッサが、前記少なくとも1つの更新されたフォールバックタスクに基づいて少なくとも1つのフォールバックタスクを更新するようにさらに構成される、請求項3に記載のシステム。
【請求項5】
前記1つ又は複数のプロセッサが、
前記トリガの条件セットがもはや満たされていないことを判定し、
前記トリガの1つ以上の条件がもはや満たされていないと判定されるときに、前記現在のタスクを自律的に再開するべく命令の第2セットを1つ以上のセルフドライビングシステムに送信する、
ようにさらに構成される、請求項1に記載のシステム。
【請求項6】
前記1つ以上の命令が、前記1つ以上のセルフドライビングシステムに前記現在のタスクの実行を停止させる命令を含む、請求項1に記載のシステム。
【請求項7】
前記1つ又は複数のプロセッサが、前記メモリを参照して、どのフォールバックタスクが前記トリガと関連付けられるかを判定するようにさらに構成される、請求項1に記載のシステム。
【請求項8】
前記車両をさらに含む、請求項1に記載のシステム。
【請求項9】
前記車両は、
前記トリガに関連したフォールバックタスクを実行不可能であるときに前記車両をそこへ走行させる所定
の位置が前記メモリ上に記憶されない場合に出発しない、請求項8に記載のシステム。
【請求項10】
フリート管理システムであって、
自律走行することができる複数の車両の動作に関係したデータを送信及び受信し、
前記複数の車両のうちの1つに配車コマンドを送信する、
ように構成されたサーバを備え、前記配車コマンドは少なくとも1つのフォールバックタスクを含み、少なくとも1つのトリガは各フォールバックタスクに対応し、各トリガは、満たされたときに、対応するフォールバックタスクが実行されるべきであることを示し、且つ、前記対応するフォールバックタスクの実行が他のタスクに関連してどれだけ迅速に開始されるべきであるかを示す条件セットであり、
前記配車コマンドは、各トリガの緊急度レベルをさらに含み、前記緊急度レベルは、前記トリガの条件セットが満たされた後で前記トリガに関連したフォールバックタスクの実行が他のタスクに関連してどれだけ迅速に開始されるかに関係し、前記緊急度レベルは、第1レベル及び前記第1レベルより緊急度が高い第2レベルを含み、
前記配車コマンドは、
前記トリガの前記緊急度レベルが前記第1レベルであるときは、現在のタスクが完了した後に前記フォールバックタスクに従って前記複数の車両のうちの1つを制御し、前記トリガの前記緊急度レベルが前記第2レベルであるとき
は、
前記現在のタスクが完了する前に前記フォールバックタスクに従って前記複数の車両のうちの1つを制御する、システム。
【請求項11】
前記サーバが、前記受信したデータに応答して少なくとも1つの更新されたフォールバックタスクを送信するようにさらに構成される、請求項10に記載のシステム。
【請求項12】
前記サーバが、少なくとも1つのフォールバックタスクを実行しているときに前記複数の車両のうちの1つをそこへ走行させる1つ以上のフォールバック位置を判定するようにさらに構成され、
前記配車コマンドが前記1つ以上のフォールバック位置をさらに含む、
請求項10に記載のシステム。
【請求項13】
自律走行することができる前記複数の車両をさらに含む、請求項10に記載のシステム。
【請求項14】
方法であって、
1つ又は複数のプロセッサによって、少なくとも1つのフォールバックタスク及び各フォールバックタスクの対応するトリガをメモリに記憶することと、
各対応するトリガは、満たされたときに、対応するフォールバックタスクが実行されるべきであることを示す条件セットであり、
前記1つ又は複数のプロセッサによって、車両を制御する1つ以上のセルフドライビングシステムからステータス更新を受信することと、
前記1つ又は複数のプロセッサによって、前記ステータス更新に少なくとも部分的に基づいて所与のフォールバックタスクの所与の対応するトリガの条件セットが満たされていることを判定することと、
前記1つ又は複数のプロセッサによって、前記所与の対応するトリガの緊急度レベルを判定することであって、前記緊急度レベルは、前記所与の対応するトリガの条件セットが満たされた後で前記所与の対応するトリガに関連した所与のフォールバックタスクの実行が他のタスクに関連してどれだけ迅速に開始されるかに関係し、前記緊急度レベルは、第1レベル及び前記第1レベルより緊急度が高い第2レベルを含むことと、
前記1つ又は複数のプロセッサによって、
前記トリガの前記緊急度レベルが前記第1レベルであるときは、現在のタスクが完了した後に前記所与のフォールバックタスクに従って前記1つ以上のセルフドライビングシステムのうちの1つに1つ以上の命令を送信し、前記トリガの緊急度レベル
が前記第2レベルであるとき
は、現在のタスクが完了する前に前記所与のフォールバックタスクに従って前記1つ以上のセルフドライビングシステムのうちの1つに1つ以上の命令を送信することと、
を含む、方法。
【請求項15】
前記1つ又は複数のプロセッサによって、前記メモリを参照して、どのフォールバックタスクが前記所与の対応するトリガと関連付けられるかを判定することをさらに含む、請求項14に記載の方法。
【請求項16】
前記1つ又は複数のプロセッサによって、前記トリガの条件セットがもはや満たされていないことを判定することと、
前記トリガの1つ以上の条件がもはや満たされていないと判定されるときに、前記1つ又は複数のプロセッサによって、前記現在のタスクを自律的に再開するべく命令の第2セットをセルフドライビングシステムに送信することと、
をさらに含む、請求項14に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
[0001] 本願は、その開示が参照により本明細書に組み込まれる2015年5月26日に出願された米国特許出願第14/721,604号の継続出願である。
【背景技術】
【0002】
[0002] 人間の運転手を必要としない車両などの自律車両は、1つの場所から別の場所への乗客又は物品の輸送を支援するのに用いることができる。このような車両は、完全自律モードで動作してよく、この場合、乗客が、目的地及び該目的地への車両操縦自体などのいくつかの初期入力を提供してよい。
【発明の概要】
【課題を解決するための手段】
【0003】
[0003] 本開示の一態様はシステムを提供する。システムは、メモリと、車両を制御するための複数のセルフドライビングシステムと、1つ又は複数のプロセッサを含む。1つ又は複数のプロセッサは、一次タスクの要求に関連して少なくとも1つのフォールバックタスク及び各フォールバックタスクの少なくとも1つのトリガを受信し、各トリガは、満たされたときに車両が適正な動作のための対処を必要とするときを示す条件セットであり;一次タスクを実行するべく命令の第1セットを1つ以上のセルフドライビングシステムに送信し;セルフドライビングシステムからステータス更新を受信し;ステータス更新に少なくとも部分的に基づいてトリガの条件セットが満たされていることを判定し;トリガに関連したフォールバックタスクに基づいて命令の第2セットを1つ以上のセルフドライビングシステムに送信するように構成される。
【0004】
[0004] 一例では、各条件セットは各トリガごとに異なる。同じ例において、1つ又は複数のプロセッサはまた、トリガの条件セットが満たさされていることを判定するように構成される。別の例では、ベース位置はメモリ上にハードコードされ、1つ又は複数のプロセッサはまた、トリガに関連したフォールバックタスクが実行不可能であることを判定し、フォールバックタスクをベース位置へ走行するように更新するように構成される。
【0005】
[0005] さらに別の例では、1つ又は複数のプロセッサはまた、セルフドライビングシステムからのステータス更新に基づいてステータス更新レポートを送信し、少なくとも1つの更新されたフォールバックタスクを受信し、少なくとも1つの更新されたフォールバックタスクをメモリに記憶するように構成される。この例では、1つ又は複数のプロセッサはまた、少なくとも1つの更新されたフォールバックタスクに基づいて少なくとも1つのフォールバックタスクを更新するように構成される。
【0006】
[0006] さらなる例では、1つ又は複数のプロセッサはまた、トリガの条件セットがもはや満たされていないことを判定し、トリガの1つ以上の条件がもはや満たされていないと判定されるときに、一次タスクを自律的に再開するべく命令の第3セットを1つ以上のセルフドライビングシステムに送信するように構成される。さらに別の例では、1つ又は複数のプロセッサはまた、トリガの緊急度レベルを判定し、緊急度レベルは、トリガの条件セットが満たされた後でトリガに関連したフォールバックタスクがどれだけ迅速に実行されるかに関係しており、トリガの緊急度レベルが特定のレベルであるときに一次タスクが完了する前に命令の第2セットを送信するように構成される。
【0007】
[0007] 別の例では、命令の第2セットは、セルフドライビングシステムに一次タスクの実行を停止させる命令を含む。さらなる例では、1つ又は複数のプロセッサはまた、対応するフォールバックタスクへの各トリガのマッピングにアクセスすることによって、どのフォールバックタスクがトリガと関連付けられるかを判定するように構成される。さらに別の例では、システムはまた、車両を含む。この例では、車両は、ベース位置がメモリ上に記憶されない場合に出発しない。
【0008】
[0008] 本開示の別の態様は、フリート管理システムを提供する。フリート管理システムは、自律走行することができる複数の車両のステータスに関する更新を受信し、車両のうちの1つに配車コマンドを送信するように構成されたサーバを含み、配車コマンドは、一次タスクの要求、少なくとも1つのフォールバックタスク、及び各フォールバックタスクの少なくとも1つのトリガを含み、各トリガは、満たされたときに車両が適正な動作のための対処を必要とするときを示す条件セットである。
【0009】
[0009] 一例では、サーバはまた、受信した更新に応答して少なくとも1つの更新されたフォールバックタスクを送信するように構成される。別の例では、配車コマンドはまた、各トリガに関する緊急度レベルを含み、緊急度レベルは、トリガの条件セットが満たされた後でトリガに関連したフォールバックタスクがどれだけ迅速に実行されるかに関係している。
【0010】
[0010] さらなる例では、サーバはまた、少なくとも1つのフォールバックタスクを実行しているときに車両のうちの1つをそこへ走行させることができる1つ以上のフォールバック位置を判定するように構成される。この例では、配車コマンドはまた、1つ以上のフォールバック位置を含む。別の例では、システムはまた、自律走行することができる複数の車両を含む。
【0011】
[0011] 本開示のまた別の態様はシステムを提供する。システムは、車両を制御するための複数のセルフドライビングシステムと、1つ又は複数のプロセッサと、メモリを含む。メモリは、実行されるときに、1つ又は複数のプロセッサに、一次タスクを実行するべく命令の第1セットを1つ以上のセルフドライビングシステムへ送信させ、トリガに関連したフォールバックタスクを実行するべく命令の第2セットを1つ以上のセルフドライビングシステムへ送信させる命令を備えるトリップマネージャモジュールを含み、トリガは、満たされたときに車両が適正な動作のための対処を必要とするときを示す条件セットである。メモリはまた、実行されるときに、1つ又は複数のプロセッサに、トリップマネージャモジュールから車両ステータス更新を受信させ、トリップマネージャモジュールから受信した現在の車両ステータスに基づいてトリガの条件セットが満たされていることを判定させ、満たされているトリガの条件セットと関連付けられるフォールバックタスクに基づいて情報をトリップマネージャモジュールへ送信させる命令を備えるタスク監督モジュールを含む。
【0012】
[0012] 一例では、タスク監督モジュールはまた、実行されるときに、1つ又は複数のプロセッサに、トリガの緊急度レベルを判定させる命令を含み、緊急度レベルは、トリガの条件セットが満たされた後でトリガに関連したフォールバックタスクがどれだけ迅速に実行されるかに関係しており、指示は緊急度レベルを含む。この例では、トリップマネージャモジュールはまた、実行されるときに、1つ又は複数のプロセッサに、一次タスクの実行を停止する命令と共に命令の第2セットを送信させる命令を含む。
【0013】
[0013] 別の例では、タスク監督モジュールはまた、実行されるときに、1つ又は複数のプロセッサに、対応するフォールバックタスクへの各トリガのマッピングにアクセスすることによって、どのフォールバックタスクがトリガと関連付けられるかを判定させる命令を含む。さらに別の例では、システムはまた、車両を含む。
【図面の簡単な説明】
【0014】
【
図1】[0014]例示的な実施形態に係る例示的な車両の機能図である。
【
図2】[0015]例示的な実施形態に係る例示的なシステムの機能図である。
【
図3】[0016]本開示の態様に係る
図2のシステムの模式図である。
【
図4】[0017]本開示の態様に係る例示的なマップである。
【
図5】[0018]本開示の態様に係る例示的な図である。
【
図6】[0019]本開示の態様に係る地理的領域の例示的な鳥瞰図である。
【
図7】[0020]本開示の態様に係る地理的領域の別の例示的な鳥瞰図である。
【
図8】[0021]本開示の態様に係る別の例示的な図である。
【
図9】[0022]本開示の態様に係るさらに例示的な図である。
【
図10】[0023]本開示の態様に係る例示的な流れ図である。
【発明を実施するための形態】
【0015】
概要
[0024] 本技術は、フォールバック要求を自律的に設定及び実行するための自律車両に関する。フォールバックタスクは、自律車両が正常に動作することができない場合に車両のコンピュータが行い得るタスクを含み得る。例えば、いくつかのフォールバックタスクは、特に、車両故障又は車両事故が存在する場合などの緊急事態の場合に安全に速やかに停車していくことに関係し得る。他のフォールバックタスクは、車両のステータスに基づいて予め設定される又は決定される別の場所へ延長された時間にわたって走行することに関係する。これらのタイプのフォールバックタスクは、車両の燃料/エネルギーが少ないとき、僅かなセンサ劣化を検出するとき、フリート管理サーバへの接続を失うとき、又は任意の他のより高い優先度のタスクの完了後に次に何をするかについての任意の特定の実行可能な命令を何らかの理由で欠如するときなどの状況において有用である。これらの状況では、車両は、依然として或る時間の長さにわたって安全に走行することができ、したがって、引き続き走行することに関係するフォールバックタスクを実行することができる。車両が修理される又は接続を再開する位置へ自身で走行することは、車両を修理する又は復旧するために車両の停車した位置に誰かが行かなければならない、或る位置に停車していることよりも好ましい。
【0016】
[0025] 自律車両におけるコンピューティングデバイスは、個別のタスクに関する命令を格納していてよい。特定のタスクに関する命令は、単一のモジュールを形成してよい。車両を或る位置間でナビゲート及び操縦するための命令を格納し得るトリップマネージャモジュールが存在していてよい。受信したタスク要求を処理するための命令を格納し得るタスク監督モジュールも存在していてよい。タスク監督モジュールはまた、タスクが互いとの関係においていつ行われるべきかを決定するための、言い換えればタスクキューを管理するための命令を格納していてよい。加えて、タスク監督モジュールは、フォールバックタスクの管理専用のサブモジュールであるフォールバックセレクタモジュールを含んでよい。フォールバックセレクタモジュールは、受信したフォールバックタスクを処理し、どのフォールバックタスクをいつ実行するかを決定するための命令を格納していてよい。
【0017】
[0026] リモート配車システムは、乗客に関係した又は乗客に関係していないタスク要求に応答して、該タスク要求と共に、又は該タスク要求とは独立して、1つ以上のフォールバックタスクに関する情報を車両に送信してよい。乗客に関係したタスク要求又はトリップ要求は、トリップに関する乗車地及び目的地などの情報を提供してよい。乗客に関係していないタスクは、事前に測位すること、燃料補給/充電すること、駐車すること、メンテナンスに行くこと、ブロックを巡回すること、及びソフトウェアを更新することを含み得る。フォールバックセレクタモジュールは、フォールバックタスクを受信及び処理してよい。或る例では、
図5に示されるように、すべての乗客に関係した又は乗客に関係していないタスク要求は、乗客に関係した又は乗客に関係していないタスクを車両が何らかの理由で完了することができない場合に車両にフォールバックタスクを行わせることができるフォールバック命令と共に送信される。
【0018】
[0027] 乗客に関係した又は乗客に関係していないタスクは、クライアントコンピューティングデバイスを介してユーザによって開始されてよい。ユーザは、乗客に関係した又は乗客に関係していないタスクに関する情報を配車システムに送信してよい。配車システムは、次いで、タスク要求を車両のコンピューティングデバイスに送信してよく、この場合、タスク要求は、タスク監督モジュールによって受信及び処理される。1つ以上のフォールバックタスクは、タスク要求に関連して車両のコンピューティングデバイスに送信されてよい。フォールバックタスクは、自律車両が正常に動作することができないときなどの特定の条件下、普通は緊急条件下で行われるタスクである。受信した乗客に関係した又は乗客に関係していないタスクは、次いで、タスク監督モジュールによって車両の1つ以上のコンピューティングデバイスのキューに記憶されてよく、受信したフォールバックタスクは、フォールバックセレクタモジュールによってメモリに別々に記憶されてよい。
【0019】
[0028] 例えば、ベース位置、又は他のフォールバックタスクを実行することができないときに車両を移動させる位置に関するフォールバック情報が、ユーザコンピューティングデバイスからシステムに送信されてよい。情報は、次いで、車両に転送されてよい。代替的に、システムにおけるサーバは、どのようなユーザ入力も受信せずにフォールバックタスクに関する情報を判定し、車両に送信してよい。例えば、サーバは、劣化したセンサのメンテナンスが必要とされると判定してよく、なおかつ、車両の現在地及びマップデータに基づいてセンサを直すことができる最も近いメンテナンス所を判定してよい。
【0020】
[0029] フォールバック命令は、フォールバックタスクの性質に応じて特定の情報を含んでよい。例えば、充電ステーション又はメンテナンスガレージなどの或るタイプの位置へ走行することに関係するタスクに関して、位置又は領域は、フォールバック命令において指定されてよい。ドライビングタスクの目的地などの情報は、車両のコンピューティングデバイスによって決定されてよく、又は車両のコンピューティングデバイス上にハードコードされてよい。或る例では、車両にハードコードされる複数の位置が存在してよく、車両のコンピューティングデバイスは、近接性、提供されるサービス、負荷レベル、及び他の考慮事項を計算に入れて、複数の位置のうちのどこに移動するかを決定してよい。加えて、外部システムとの相互作用などのドライブ及び駐車以外のアクションを必要とするタスクに関して、命令はまた、燃料供給システム又はメンテナンス所の認証情報のようなアクション固有の詳細を含んでよい。
【0021】
[0030] フォールバック命令はまた、1つ以上のトリガを含んでよい。トリガは、満たされたときに車両がフォールバックタスクを実行するべきであることを示す1つ以上の条件を含んでよい。条件は、例えば、車両の燃料又はエネルギーレベルが所定の閾値を満たしていること、車両のコンピューティングデバイスとフリート管理デバイスのサーバとの間の接続が失われていること、車両のタスクキューが空であること、及び定期メンテナンスが特定の時間にスケジュールされていることを含んでよい。
【0022】
[0031] 特定のトリガの1つ又は複数の条件が満たされるときを判定するために、車両セルフドライビングシステムは、車両のコンピューティングデバイスにステータス更新を周期的に及び/又は継続的に伝送してよい。例として、ステータス更新は、車両の機器又はセンサからの燃料レベル又は他の内部又は外部測定値などの情報を含んでよい。
図5に示すように、車両のコンピューティングデバイスは、関係するトリガの1つ以上の条件が満たされることを判定するのにステータス更新を用いてよい。例えば、燃料インジケータが、タンク内の燃料のレベルを継続的に監視してよい。車両のコンピューティングデバイスのタスク監督モジュールは、車両の燃費、地域のガスステーションの密度、及び近くのガスステーションに到着するのにおそらく必要とされる燃料の量を表す他の因子に基づいて燃料の量に関する閾値レベルを設定してよい。車両のコンピューティングデバイスのタスク監督モジュールは、次いで、燃料のレベルを監視し、これが閾値に達するときを判定してよい。
【0023】
[0032] 特定のトリガの1つ又は複数の条件が満たされた後で、フォールバックタスクがトリガされてよく、車両のコンピューティングデバイスのフォールバックセレクタモジュールが、
図5に示すように特定のトリガに対応する任意の1つ以上のフォールバックタスクを実行するべく命令を送信してよい。例えば、燃料レベルがトリガとして定義される場合の閾値に達するときに、フォールバックセレクタモジュールは、最も近いガスステーションへ走行するフォールバックタスクを実行するべく命令を送信してよい。これは、車両の現在地及び該ガス又は充電ステーションへの最短ルートに基づいて最も近いガス又は充電ステーションの位置を判定することを含んでよい。
【0024】
[0033] 或る場合には、自律車両は、フォールバックタスクがトリガされるときに別のタスクを行っている場合がある。これに関して、トリガされている特定のフォールバックタスクのフォールバック命令は、他のタスクの実行から特定のフォールバックタスクの実行に移行するためのさらなる命令を含んでよい。さらなる命令はまた、特定のフォールバックタスクが、他のタスクの完了後に、又はキューに入っている或る他の指定されたタスクの後に、のいずれですぐに実行されるべきかの指示を含んでよい。この指示は、特定のフォールバックタスクのトリガの緊急度又は重要性に基づいていてよい。フォールバックタスクのトリガの緊急度レベル又は優先度レベルの表現が命令に含まれていてよい。レベルは、高、中、又は低として表されてよい。
【0025】
[0034] 或る例では、車両が乗客に関係したタスクを現在実行しているときに、フォールバックタスクは、トリップが完了した後で実行されてよい。
図6に示すように、乗客を降ろした後で、したがって乗客に関係したタスクが完了した後で、車両は、キューに入っている他のタスクがなく、且つ配車システムからのさらなる命令を受けていない場合がある。この状況では、車両は、さらなる命令が受信されるまで近くに駐車するフォールバックタスクを行ってよい。
図7に示された別の状況では、燃料補給フォールバックタスクが、乗客に関係したタスクを行いながらトリガされ得るが、それでも、乗客に関係したタスクの完了後に実行され得る。この場合、車両のコンピューティングデバイスは、目的地に到着して最も近いガスステーションに移動するのに十分な燃料があったと判断し得る。しかしながら、トリガアクションが急を要する場合、車両のコンピューティングデバイスのフォールバックセレクタモジュールが、乗客を降ろすことを含む又は含まない場合があるトリップを早期に中止する命令を送信し、フォールバックタスクの実行に進んでよい。これらの状況は、車両がトリップを完了することを妨げ得る車両に伴う問題に関係する場合がある。乗客が降車した場合に、乗客を乗せ、トリップの残りを完了するために、別の自律車両が配車されてよい。
【0026】
[0035] フォールバックタスクを行うためのフォールバック命令の形式が誤っている又はあらゆる他の理由のためにフォールバックタスクを実行することができず、且つ別のフォールバックタスクに置き換えられていない場合に、フォールバックセレクタモジュールが、
図8に示すように、誤った形式の或いは不具合のある命令を伴うフォールバックタスクがトリガされるときに自律車両をベース位置へ操縦する命令を送信してよい。代替的に、車両は、他のフォールバック命令が受信されていないときにベース位置へ走行されてよい。ベース位置のアドレス又は位置座標は、車両にハードコードされてよい。或る例では、複数のベース位置のアドレス又は位置座標がハードコードされてよく、これにより、車両のコンピューティングデバイスのフォールバックセレクタモジュールが、車両を選択し、フォールバックタスクがいつトリガされるかに応じて最も近い又は最も便利なベース位置へ操縦することが可能となる。一例では、車両は、車両に関するベース位置が設定されていない場合に出発せず、これにより、車両が動作中のときにはいつでも最後の行先として車両が行くべき場所が確実に存在し、したがって、自律車両が立ち往生するリスクが低減する。
【0027】
[0036] いくつかの外部因子及び/又は内部因子のために自律車両がフォールバック命令において指定された場所又はベース位置へ到着することができない場合に、車両のコンピューティングデバイスのフォールバックセレクタモジュールは、車両を脇に止めて、配車システムにメッセージを送信してよい。メッセージは、車両の位置及び/又は外部因子及び/又は内部因子のリストを含んでよい。
【0028】
[0037] 一部の状況では、条件は、車両が現在行っている現在のフォールバックタスクのトリガの1つ又は複数の条件がもはや満たされないように変化する場合がある。フォールバックセレクタモジュールは、これが起こるかどうかを判定してよい。1つ又は複数の条件がもはや満たされていないときに、車両は、現在のフォールバックタスクの実行を続けてよく、又はフォールバックタスクのさらなる命令に従ってタスクキューに入っている定期的にスケジュールされたタスクの実行に戻ってよい。定期的にスケジュールされたタスクの実行に戻ることは、現在のフォールバックタスク又はキューに入っている次のタスクによって割り込まれている場合があるタスクを行うことを意味する場合がある。
【0029】
[0038] 加えて又は代替的に、コンピューティングデバイスは、ステータス更新レポートを配車システムに送信してよい。ステータス更新レポートに基づいて、配車システムは、
図9に示すように更新されたフォールバック命令を自律車両に送信してよい。フォールバックセレクタモジュールは、以前に受信したフォールバック命令を、更新されたフォールバックタスク情報に置き換えてよい。或る例では、以前に送信されたフォールバックタスクは、タスク要求と併せて送信されている場合がある。しかしながら、他の例では、更新されたフォールバックタスクは、以前に送信されたフォールバックタスク(複数可)と共に車両のコンピューティングデバイスに記憶されてよい。
【0030】
例示的なシステム
[0039]
図1に示すように、本開示の一態様に係る車両100は種々のコンポーネントを含む。本開示の或る態様は、特定のタイプの車両との関連において特に有用であるが、車両は、車、トラック、単車、バス、RV車などを含むがこれらに限定されないどのタイプの車両であってもよい。車両は、汎用コンピューティングデバイスに通常存在する1つ又は複数のプロセッサ120、メモリ130、及び他のコンポーネントを収容しているコンピューティングデバイス110などの1つ以上のコンピューティングデバイスを有してよい。
【0031】
[0040] メモリ130は、プロセッサ120によって実行され得る又は他の方法で用いられ得る命令132及びデータ138を含む、1つ又は複数のプロセッサ120によってアクセス可能な情報を記憶する。メモリ130は、ハードドライブ、メモリカード、ROM、RAM、DVD、又は他の光ディスク、並びに他の書き込み可能メモリ及び読出し専用メモリなどの電子デバイスの助けにより読み出すことができるデータを記憶するコンピューティングデバイスが読み出し可能なメディア又は他のメディアを含む、プロセッサによってアクセス可能な情報を記憶することができるどのタイプのものであってもよい。システム及び方法は、それによって命令及びデータの異なる部分が異なるタイプのメディア上に記憶される、上記の異なる組み合わせを含んでよい。
【0032】
[0041] 命令132は、プロセッサによって直接的に(機械コードなど)又は間接的に(スクリプトなど)実行されるべき命令の任意のセットであってよい。例えば、命令は、コンピューティングデバイスが読み出し可能なメディア上にコンピューティングデバイスコードとして記憶されてよい。その点において、「命令」及び「プログラム」という用語は、本明細書で交換可能に用いられ得る。命令は、プロセッサによる直接処理のためのオブジェクトコードフォーマットで、又はオンデマンドで解釈される又は前もってコンパイルされる独立したソースコードモジュールのスクリプト又はコレクションを含む任意の他のコンピューティングデバイス言語で記憶されてよい。命令の機能、方法、及びルーチンが以下でより詳細に説明される。
【0033】
[0042] 命令は、特定のタスクを完了するための命令を含んでよい。例えば、車両を或る位置間でナビゲート及び操縦するための命令を格納していてよいトリップマネージャモジュール134が存在してよい。受信したタスク要求を処理するための命令を格納していてよいタスク監督モジュール136も存在してよい。タスク監督モジュール136も、タスクが互いとの関係においていつ行われるべきかを決定するための、言い換えればタスクキューを管理するための命令を格納していてよい。加えて、タスク監督モジュール136は、フォールバックタスクの管理専用のサブモジュールであるフォールバックセレクタモジュール137を含んでよい。フォールバックセレクタモジュール137は、受信したフォールバックタスクを処理し、どのフォールバックタスクをいつ実行するかを決定するための命令を格納していてよい。
【0034】
[0043] データ138は、命令132に従ってプロセッサ120によって検索、記憶、又は修正されてよい。例えば、特許請求される主題はどの特定のデータ構造にも限定されないが、データは、コンピューティングデバイスのレジスタに、複数の異なるフィールド及びレコードを有するテーブルとしてリレーショナルデータベースに、XML文書に、又はフラットファイルに記憶されてよい。データはまた、任意のコンピューティングデバイスが読み出し可能なフォーマットでフォーマットされてよい。
【0035】
[0044] 1つ又は複数のプロセッサ120は、市販のCPUなどの任意の従来のプロセッサであってよい。代替的に、1つ又は複数のプロセッサは、ASIC又は他のハードウェアベースのプロセッサなどの専用デバイスであってよい。
図1は、機能的に、コンピューティングデバイス110のプロセッサ、メモリ、及び他の要素を同じブロック内にあるものとして例示するが、プロセッサ、コンピューティングデバイス、又はメモリは、実際には、同じ物理ハウジング内に格納される又はされない場合がある複数のプロセッサ、コンピューティングデバイス、又はメモリを含み得ることが当業者によって理解されるであろう。例えば、メモリは、コンピューティングデバイス110のものとは異なるハウジング内に存在するハードドライブ又は他の記憶媒体であってよい。したがって、プロセッサ又はコンピューティングデバイスへの言及は、並列に動作する又は並列に動作しない場合があるプロセッサ又はコンピューティングデバイス又はメモリの集合体への言及を含むように理解される。
【0036】
[0045] コンピューティングデバイス110は、前述のプロセッサ及びメモリ、並びにユーザ入力150(例えば、マウス、キーボード、タッチスクリーン、及び/又はマイクロフォン)及び種々の電子ディスプレイ(例えば、情報を表示するように動作可能なスクリーン又は任意の他の電気デバイスを有するモニタ)などの、コンピューティングデバイスとの関連で通常用いられるコンポーネントのすべてを含んでよい。この例では、車両は、情報又は視聴覚経験を提供するために内部電子ディスプレイ152並びに1つ以上のスピーカ154を含む。これに関して、内部電子ディスプレイ152は、車両100の室内に存在してよく、車両100内の乗客に情報を提供するためにコンピューティングデバイス110によって用いられてよい。
【0037】
[0046] コンピューティングデバイス110はまた、詳細に後述されるクライアントコンピューティングデバイス及びサーバコンピューティングデバイスなどの他のコンピューティングデバイスとの通信を容易にするために1つ又は複数の無線ネットワーク接続154を含んでよい。無線ネットワーク接続は、Bluetooth、Bluetooth低エネルギー(LE)、セルラー接続などの近距離通信プロトコル、並びに、インターネット、ワールドワイドウェブ、イントラネット、仮想プライベートネットワーク、広域ネットワーク、ローカルネットワーク、1つ又は複数の会社独自の通信プロトコルを用いるプライベートネットワーク、イーサネット、WiFi及びHTTP、及び上記の種々の組み合わせを含む種々の構成及びプロトコルを含んでよい。
【0038】
[0047] 一例では、コンピューティングデバイス110は、車両100に組み込まれた自律走行コンピューティングシステムであってよい。自律走行コンピューティングシステムは、車両の種々のコンポーネントと通信することができてよい。例えば、
図1に戻ると、コンピューティングデバイス110は、メモリ130の命令132に従って車両100の運動、速度などを制御するために、減速システム160、加速システム162、ステアリングシステム164、シグナリングシステム166、ナビゲーションシステム168、測位システム170、及び検出システム172などの車両100の種々のシステムと通信してよい。また、これらのシステムはコンピューティングデバイス110の外部として示されるが、実際は、これらのシステムは、同じく車両100を制御するための自律走行コンピューティングシステムとしてコンピューティングデバイス110に組み込まれてもよい。
【0039】
[0048] 例として、コンピューティングデバイス110は、車両の速度を制御するために減速システム160及び加速システム162と相互作用してよい。同様に、ステアリングシステム164は、車両100の方向を制御するためにコンピュータ110によって用いられてよい。例えば、車両100が車又はトラックなどの道路上で用いるように構成される場合、ステアリングシステムは、車両を方向転換するべく車輪の角度を制御するためのコンポーネントを含んでよい。シグナリングシステム166は、例えば、必要なときに方向指示灯又は制動灯を作動させることによって車両の意思を他のドライバ又は車両に示すためにコンピューティングデバイス110によって用いられてよい。
【0040】
[0049] ナビゲーションシステム168は、或る場所へのルートを決定する及びこれに従うためにコンピューティングデバイス110によって用いられてよい。これに関して、ナビゲーションシステム168及び/又はデータ138は、詳細なマップ情報、例えば、車道の形状及び標高、車線、交差点、横断歩道、制限速度、交通信号、建物、標識、リアルタイム交通情報、草木、又は他のこのような物体及び情報を識別する非常に詳細なマップを記憶してよい。
【0041】
[0050]
図4はマップ400の例である。この例では、マップは、車線410~416、交差点420~426、建物430~436、燃料供給ステーション438、駐車スペース440~446、私道入口(例えば車庫又は他の場所への)450、路肩領域452~454、及び駐車禁止区域456などの種々の特徴の形状及び位置を識別する複数の異なる特徴を含む。まとめて、これらの特徴は単一の街区に対応する。マップ400は、前述の詳細なマップの一部であってよく、車両100を操縦するために車両100の種々のコンピューティングデバイスによって用いられる。
【0042】
[0051] 測位システム170は、マップ上又は地球上の車両の相対位置又は絶対位置を判定するためにコンピューティングデバイス110によって用いられてよい。例えば、測位システム170は、デバイスの緯度、経度、及び/又は高度位置を判定するためにGPSレシーバを含んでよい。車両の位置を識別するために、レーザベースのローカライゼーションシステム、慣性支援GPS、又はカメラベースのローカライゼーションなどの他のロケーションシステムが用いられてもよい。車両の位置は、緯度、経度、及び高度などの絶対地理的位置、並びに、しばしば絶対地理的位置よりも低ノイズで測定することができる近傍の他の車に対する位置などの相対位置情報を含んでよい。
【0043】
[0052] 測位システム170はまた、車両の方向及び速度又はその変化を測定するために、加速度計、ジャイロスコープ、又は別の方向/速度検出デバイスなどのコンピューティングデバイス110と通信する他のデバイスを含んでよい。単なる例として、加速デバイスは、重力の方向又はこれに垂直な平面に対するそのピッチ、ヨー、又はロール(又はその変化)を測定してよい。デバイスはまた、速度の増加又は減少及びこのような変化の方向を追跡してよい。本明細書に記載のデバイスが提供する位置及び配向データは、コンピューティングデバイス110、他のコンピューティングデバイス、及び上記の組み合わせに自動的に提供されてよい。
【0044】
[0053] 検出システム172はまた、他の車両、車道にある障害物、交通信号、標識、木などの車両の外部の物体を検出するための1つ以上のコンポーネントを含む。例えば、検出システム170は、コンピューティングデバイス110によって処理され得るデータを記録する、レーザ、ソナー、レーダー、カメラ、及び/又は任意の他の検出デバイスを含んでよい。車両が車などの小型乗用車である場合、車は、ルーフ又は他の便利な場所に設置されるレーザ又は他のセンサを含んでよい。
【0045】
[0054] コンピューティングデバイス110は、種々のコンポーネントを制御することによって車両の方向及び速度を制御してよい。単なる例として、コンピューティングデバイス110は、詳細なマップ情報及びナビゲーションシステム168からのデータを用いて車両を目的地に完全に自律的にナビゲートしてよい。コンピューティングデバイス110は、車両の位置を測定するのに測位システム170を用いてよく、目的地に安全に到着するのに必要とされるときに物体を検出し、これに反応するのに検出システム172を用いてよい。そうするために、コンピューティングデバイス110は、車両を加速(例えば、加速システム162によってエンジンに提供される燃料又は他のエネルギーを増加させることによって)、減速(例えば、エンジンに供給される燃料を減少させること、ギヤを変化させることによって、及び/又は減速システム160によってブレーキをかけることによって)、方向転換(例えば、ステアリングシステム164によって車両100の前輪又は後輪を方向転換することによって)、及びこのような変化を表示(例えば、シグナリングシステム166の方向指示灯を作動させることによって)させてよい。したがって、加速システム162及び減速システム162は、車両のエンジンと車両の車輪との間の種々のコンポーネントを含むドライブトレインの一部であってよい。また、これらのシステムを制御することによって、コンピューティングデバイス110はまた、車両を自律的に操縦するために車両のドライブトレインを制御してよい。
【0046】
[0055] 車両100のコンピューティングデバイス110はまた、他のコンピューティングデバイスとの間で情報を受信又は伝達してよい。
図2及び
図3は、ネットワーク260を介して接続される複数のコンピューティングデバイス210、220、230、240及びストレージシステム250を含む例示的なシステム200のそれぞれ模式図及び機能図である。システム200はまた、車両100と、車両100と同様に構成され得る車両100Aを含む。簡単にするためにほんのいくつかの車両及びコンピューティングデバイスが描かれているが、典型的なシステムは、かなり多い数を含んでもよい。
【0047】
[0056]
図3に示すように、コンピューティングデバイス210、220、230、240のそれぞれは、1つ又は複数のプロセッサ、メモリ、データ及び命令を含んでよい。このようなプロセッサ、メモリ、データ及び命令は、コンピューティングデバイス110の1つ又は複数のプロセッサ120、メモリ130、命令132、及びデータ138と同様に構成されてよい。
【0048】
[0057] ネットワーク260及び中間ノードは、Bluetooth、Bluetooth LEなどの近距離通信プロトコル、インターネット、ワールドワイドウェブ、イントラネット、仮想プライベートネットワーク、広域ネットワーク、ローカルネットワーク、1つ又は複数の会社独自の通信プロトコルを用いるプライベートネットワーク、イーサネット、WiFi及びHTTP、及び上記の種々の組み合わせなどを含む種々の構成及びプロトコルを含んでよい。このような通信は、モデム及び無線インターフェースなどの他のコンピューティングデバイスとの間でデータを伝送することができる任意のデバイスによって容易にされてよい。
【0049】
[0058] 一例では、1つ以上のコンピューティングデバイス110は、複数のコンピューティングデバイスを有するサーバ、例えば、データを受信し、処理し、他のコンピューティングデバイスとの間で伝送する目的でネットワークの異なるノードと情報を交換する負荷分散型サーバファームを含んでよい。例えば、1つ以上のコンピューティングデバイス210は、ネットワーク260を介して車両100のコンピューティングデバイス110又は車両100Aの同様のコンピューティングデバイス並びにコンピューティングデバイス220、230、240と通信することができる1つ以上のサーバコンピューティングデバイスを含んでよい。例えば、車両100及び100Aは、1つ以上のサーバコンピューティングデバイスによって種々の場所に配車することができる車両のフリートの一部であってよい。これに関して、フリートの車両は、車両のそれぞれの測位システムによって提供される位置情報を1つ以上のサーバコンピューティングデバイスに周期的に送信してよく、1つ以上のサーバコンピューティングデバイスは車両の位置を追跡してよい。
【0050】
[0059] 加えて、1つ以上のサーバコンピューティングデバイス210は、コンピューティングデバイス220、230、240のディスプレイ224、234、242などのディスプレイ上でユーザ222、232、242などのユーザに情報を伝送及び提示するのにネットワーク260を用いてよい。これに関して、コンピューティングデバイス220、230、240は、クライアントコンピューティングデバイスと考えてよい。
【0051】
[0060]
図3に示すように、各クライアントコンピューティングデバイス220、230、240は、ユーザ222、232、242によって用いられることを意図され、1つ又は複数のプロセッサ(例えば、中央処理装置(CPU))、データ及び命令を記憶するメモリ(例えば、RAM及び内部ハードドライブ)、ディスプレイ224、234、244などのディスプレイ(例えば、情報を表示するように動作可能なスクリーン、タッチスクリーンを有するモニタ、プロジェクタ、テレビ、又は他のデバイス)、及びユーザ入力デバイス226、236、246(例えば、マウス、キーボード、タッチスクリーン、又はマイクロフォン)を含むパーソナルコンピューティングデバイスとの関連において通常用いられるコンポーネントのすべてを有するパーソナルコンピューティングデバイスであってよい。クライアントコンピューティングデバイスはまた、ビデオストリームを記録するためのカメラ、スピーカ、ネットワークインターフェースデバイス、及びこれらの要素を互いに接続するのに用いられるコンポーネントのすべてを含んでよい。
【0052】
[0061] 加えて、クライアントコンピューティングデバイス220及び230はまた、クライアントコンピューティングデバイスの位置及び配向を測定するためのコンポーネント228及び238を含んでよい。例えば、これらのコンポーネントは、デバイスの緯度、経度、及び/又は高度を測定するためにGPSレシーバ、並びに車両100の測位システム170に関して前述したように加速度計、ジャイロスコープ、又は別の方向/速度検出デバイスを含んでよい。
【0053】
[0062] クライアントコンピューティングデバイス220、230、及び240は、それぞれフルサイズのパーソナルコンピューティングデバイスを含んでよいが、それらは代替的に、インターネットなどのネットワーク上でサーバとデータを無線で交換することができるモバイルコンピューティングデバイスを含んでよい。単なる例として、クライアントコンピューティングデバイス220は、移動電話、又は、無線対応PDA、タブレットPC、装着可能なコンピューティングデバイス又はシステム、又は、インターネット又は他のネットワークを介して情報を得ることができるネットブックなどのデバイスであってよい。別の例では、クライアントコンピューティングデバイス230は、
図2にヘッドマウントコンピューティングシステムとして示される装着可能なコンピューティングシステムであってよい。例として、ユーザは、小型キーボード、キーパッド、マイクロフォンを用いて、カメラによる視覚信号を用いて、又はタッチスクリーンを用いて情報を入力してよい。
【0054】
[0063] 或る例では、クライアントコンピューティングデバイス240は、ユーザ222及び232などのユーザにコンシェルジュサービスを提供するために管理者によって用いられるコンシェルジュワークステーションであってよい。例えば、コンシェルジュ242は、以下でさらに詳しく説明されるように車両100及び100Aの安全動作及びユーザの安全性を容易にするためにそれらのそれぞれのクライアントコンピューティングデバイス又は車両100又は100Aを通じて通話又はオーディオ接続を介してユーザと通信するのにコンシェルジュワークステーション240を用いてよい。単一のコンシェルジュワークステーション240が
図2及び
図3に示されるが、あらゆる数のこのようなワークステーションが典型的なシステムに含まれていてよい。
【0055】
[0064] ストレージシステム250は、より詳細に以下で説明されるように種々のタイプの情報を記憶してよい。この情報は、本明細書に記載の特徴のうちのいくつか又はすべてを行うために1つ以上のサーバコンピューティングデバイス210などの1つ以上のサーバコンピューティングデバイスによって検索又は他の方法でアクセスされてよい。例えば、情報は、或る位置間のルートを生成及び評価するためのルーティングデータを含んでよい。ルーティング情報は、第1の位置にある車両が第2の位置に到着するのにどれくらいかかるかを推定するのに用いられてよい。これに関して、ルーティング情報は、必ずしも前述の詳細なマップ情報と同じくらい具体的である必要はないが道を含むマップ情報、並びに、方向(一方通行、双方向など)、方位(北、南など)、制限速度、並びに予想される交通状態を識別する交通情報などのこれらの道についての情報を含んでよい。情報はまた、タスクキュー、種々のタスク、及びタスクに関連した情報を含んでよい。タスクは、乗客に関係したタスク、乗客に関係していないタスク、フォールバックタスクなどであってよい。
【0056】
[0065] メモリ130と同様に、ストレージシステム250は、ハードドライブ、メモリカード、ROM、RAM、DVD、CD-ROM、書き込み可能メモリ、及び読出し専用メモリなどの1つ以上のサーバコンピューティングデバイス210によってアクセス可能な情報を記憶することができる任意のタイプのコンピュータ化されたストレージとすることができる。加えて、ストレージシステム250は、同じ又は異なる地理的位置に物理的に存在する場合がある複数の異なる記憶装置上にデータが記憶される分散ストレージシステムを含んでよい。ストレージシステム150は、
図2に示すようにネットワーク260を介してコンピューティングデバイスに接続されてよく、及び/又は、コンピューティングデバイス110、210、220、230、240のいずれかなどに直接接続されてよく又は組み込まれてよい。
【0057】
[0066] 上記で説明され図面に例示された動作に加えて、種々の動作をここで説明する。以下の動作は、以下で説明される正確な順序で行われる必要はないことを理解されたい。むしろ、種々のステップを異なる順序で又は同時に取り扱うことができ、ステップは追加又は省略されてもよい。
【0058】
例示的な方法
[0067] 一態様では、ユーザは、クライアントコンピューティングデバイスに車両を要求するためのアプリケーションをダウンロードしてよい。例えば、ユーザ222及び232は、電子メール内のリンクを介して、ウェブサイト又はアプリケーションストアから直接、クライアントコンピューティングデバイス220及び230にアプリケーションをダウンロードしてよい。例えば、クライアントコンピューティングデバイスは、アプリケーションに関する要求を、ネットワーク上で、例えば、1つ以上のサーバコンピューティングデバイス210に伝送し、その返答としてアプリケーションを受信してよい。アプリケーションは、クライアントコンピューティングデバイスにローカルにインストールされてよい。
【0059】
[0068] ユーザは、次いで、アプリケーションにアクセスし車両を要求するのにユーザのクライアントコンピューティングデバイスを用いてよい。例えば、ユーザ232などのユーザは、車両に関する要求を1つ以上のサーバコンピューティングデバイス210に送信するのにクライアントコンピューティングデバイス230を用いてよい。この車両に関する要求は、
図5のステップ510に示すようにタスク要求であってよい。例として、要求は、トリップに関する乗車地及び目的地などの情報を提供する乗客に関係したタスク又はトリップ要求であってよい。例として、このような位置は、住所、位置座標、関心ある地点などによって識別されてよい。例えば、マップ400はまた、ユーザ232及び/又はクライアントデバイス230に関する目的地Dに対応するマップポインタ470を含む。後述するように、車両のコンピューティングデバイス110は、次いで、車両を目的地Dに向けて操縦してよい。
【0060】
[0069] 車両100が1つ以上のサーバコンピューティングデバイスからユーザに車両を配車する情報を受信すると、車両のコンピューティングデバイス110は、車両の現在地に対する目的地を識別するためにマップ400を用いてよい。
【0061】
[0070] タスク要求の受信に応答して、1つ以上のサーバコンピューティングデバイス210は、例えば、利用可能性及び位置に基づいて、車両を識別し、乗車地へ配車してよい。この配車は、ユーザ(及び/又はユーザのクライアントデバイス)、乗車地、及び目的地又はエリアを識別する乗客に関係したタスク要求を車両に送信することに関係する場合がある。
【0062】
[0071] 乗客に関係したタスク要求に加えて又は代えて、1つ以上のサーバコンピューティングデバイス210は、1つ以上の乗客に関係していないタスク要求を車両のコンピューティングデバイス110に送信してよい。乗客に関係していないタスク要求は、乗客に関係していないタスクを実行する命令を含んでよい。乗客に関係していないタスクは、事前に測位すること、燃料補給/充電すること、駐車すること、メンテナンスに行くこと、ブロックを巡回すること、及びソフトウェアを更新することを含んでよい。
【0063】
[0072] 任意の受信した乗客に関係したタスク又は乗客に関係していないタスクのタスク要求は、車両のコンピューティングデバイス110のタスク監督モジュール136によって車両の1つ以上のコンピューティングデバイスのキューに入れられてよい。ステップ530に示すように、タスク要求がキューの上位に到達するときにタスク要求命令を車両セルフドライビングシステム160~172に送信し、タスク要求に含まれるタスクをシステムのうちの1つ又は複数に行わせてよい。
【0064】
[0073] 1つ以上のサーバコンピューティングデバイス210はまた、ステップ520に示すように、乗客に関係したタスクに応答して及び/又はこれと共に1つ以上のフォールバックタスクに関する情報を車両のコンピューティングデバイス110に送信してよい。フォールバックタスク要求は、フォールバックタスクと関連付けられる乗客に関係した又は乗客に関係していないタスクを車両が何らかの理由で完了することができないときに車両が行うべきフォールバックタスクを実行する命令を含んでよい。これに関して、各フォールバックタスクは、少なくとも1つの乗客に関係していないタスク又は乗客に関係したタスクと関連付けられてよい。任意の受信されたフォールバックタスクのタスクは、キューとは別に、例えば、フォールバックセレクタモジュール137によってメモリに記憶されてよい。
【0065】
[0074] 上記のように、フォールバックタスクは、フォールバックタスクを行うためのフォールバック命令を含んでよい。命令の性質は、フォールバックタスクの性質に依存する場合がある。例えば、充電ステーション又はメンテナンスガレージなどの或るタイプの場所へ走行することに関係するタスクに関して、位置又は領域は、フォールバック命令において指定されてよい。情報は、ユーザコンピューティングデバイス220を介して車両のコンピューティングデバイス110に送信されてよく、車両のコンピューティングデバイス110によって決定されてよく、又は車両のコンピューティングデバイス110上にハードコードされてよい。或る例では、複数の位置が車両100にハードコードされてよく、車両のコンピューティングデバイス110は、近接性、提供されるサービス、負荷レベル、及び他の考慮事項などの関係する因子を考慮に入れた上で、複数の場所のうちのどこに移動するかを決定してよい。加えて、外部システムとの相互作用などの走行及び駐車以外のアクションを必要とするタスクに関して、命令はまた、燃料供給システム又はメンテナンス所の認証情報のようなアクション固有の詳細を含んでよい。
【0066】
[0075] 例として、フォールバック命令はベース位置を識別してよい。ベース位置は、他のフォールバックタスクを実行することができないときに車両を移動する位置を含んでよい。ベース位置は、コンシェルジュワークステーション240から1つ以上のサーバコンピューティングデバイス210に送信されてよい。情報は、1つ以上のサーバコンピューティングデバイス210から車両のコンピューティングデバイス110に転送されてよい。別の例では、1つ以上のサーバコンピューティングデバイス220が、劣化したセンサのメンテナンスが必要とされることを判定してよく、尚且つ、車両の現在地及びマップデータに基づいてセンサを直すことができる最も近いメンテナンス所を判定してよい。
【0067】
[0076] フォールバック命令はまた、フォールバックタスクがいつ実行されるべきかを示す1つ以上のトリガを含んでよい。各トリガは、満たされたときに車両が関連するフォールバックタスクを実行するべきであることを示す1つ以上の条件を含んでよい。条件は、例えば、車両の燃料又はエネルギーレベルが10%などの所定の閾値を満たしていること、車両のコンピューティングデバイスとフリート管理デバイスのサーバとの接続が1分などの設定された時間量にわたって失われていること、車両のタスクキューが空であること、及び時間が、定期メンテナンスがスケジュールされるときの30分前などの設定されたインターバル前であることを含んでよい。
【0068】
[0077] 特定のトリガの1つ又は複数の条件が満たされるときを判定するために、車両セルフドライビングシステム160~172は、ステップ540に示すようにステータス更新を伝送してよい。これらの更新は、車両のコンピューティングデバイス110に周期的に及び/又は継続的に送信されてよい。例として、ステータス更新は、車両の機器又はセンサからの燃料レベル又は他の内部又は外部測定値などの情報を含んでよい。540で受信したステータス更新に基づいて、車両のコンピューティングデバイス110は、ステップ550でトリガの1つ以上の条件が満たされることを判定してよい。例えば、燃料インジケータが、タンク内の燃料のレベルを継続的に監視してよい。車両のコンピューティングデバイス110のタスク監督モジュール136は、車両の燃費、地域のガスステーションの密度、及び近くのガスステーションに到着するのにおそらく必要とされる燃料の量を表す他の因子に基づいて燃料の量に関する閾値レベルを設定してよい。閾値は、10%以上又は以下であってよい。車両のコンピューティングデバイス110のタスク監督モジュール136は、次いで、車両セルフドライビングシステム160~172からの更新からの燃料のレベルのステータスを監視し、燃料が10%などの設定された閾値に達したときを判定してよい。
【0069】
[0078] 特定のトリガの1つ又は複数の条件が満たされた後で、トリガに対応するフォールバックタスクが、ステップ560で示されるようにフォールバックタスクを実行する命令を車両セルフドライビングシステム160~172に送信することによって開始されてよい。例えば、燃料レベルが10%などのトリガとして定義される場合の閾値に達するときに、フォールバックセレクタモジュール137が、最も近いガス又は充電ステーションへ走行するフォールバックタスクを実行する命令を送信してよい。これは、車両100の現在地及び該ガス又は充電ステーションへの最短ルートに基づいて最も近いガス又は充電ステーションの位置を判定することを含んでよい。
【0070】
[0079] トリガの緊急度に応じて、フォールバックタスクは、すぐに、したがって現在のタスクに割り込んで、現在のタスクの完了後に、又はキューに入っているいくつかの他のタスクの後に実行されてよい。したがって、フォールバックタスクがいつ実行されてよいかの指示は、トリガの緊急度レベルの表現の形態であってよい。所与のトリガの緊急度レベルは、人間のオペレータによって設定されてよい。或る例では、緊急度レベルは、高、中、又は低として表されてよい。
【0071】
[0080] トリガの緊急度レベルが低のとき、フォールバックタスクは、タスクキューがすべてのタスクをクリアした後で実行されてよい。
【0072】
[0081] 低緊急度レベルのトリガを有するフォールバックタスクは、キューに他のタスクがないときにトリガされてよい。例えば、乗客を降ろした後で、したがって乗客に関係したタスクが完了した後で、車両100は、キューに入っている他のタスク(乗客に関係した又は乗客に関係していない)がない場合がある。この時点で、車両100は、乗客に関係したタスクと共に受信したフォールバックタスクを行ってよい。低緊急度レベルを有するフォールバックタスクの一例は、近くに駐車し、さらなる命令を待つことを含んでよく、
図6に関して説明されることになる。
【0073】
[0082]
図6は、マップ400の領域に対応する地理的領域602の鳥瞰
図600の例である。この例では、地理上の領域は、マップ400の車線410~416、交差点420~426、建物430~436、燃料供給ステーション438、駐車スペース440~446、私道入口(例えば車庫又は他の場所への)450、路肩領域452~454、及び駐車禁止区域456のそれぞれに対応する、車線610~616、交差点620~626、建物630~636、燃料供給ステーション638、駐車スペース640~646、私道入口(例えば車庫又は他の場所への)650、路肩領域652~654、及び駐車禁止区域656などの種々の特徴を含む。この例では、マップピン670は、単に参考のためであり、目的地Dの物理的位置を識別する。
【0074】
[0083] 目的地Dで乗客を降ろした後で、車両100は、タスクキューに次のものが何も入っていない場合がある。これは、近くに駐車してさらなる命令を待つフォールバックタスクをトリガしてよい。この例では、車両100は、駐車スペース640及び642が満車であると判断してよい。車両100は、次いで、駐車スペース644及び646がある車線614へ走行し、空き駐車スペース644内の位置620に駐車してよい。
【0075】
[0084] 中緊急度レベルのトリガを有するフォールバックタスクは、キューに入っている任意の乗客に関係したタスクの完了後に、しかしまだキューに入っている任意の乗客に関係していないタスクが行われる前にトリガされてよい。中緊急度レベルを有するトリガは、車両100の燃料レベルが10%以下に達していることを含んでよい。これが起こるときに、充電又は燃料補給のフォールバックタスクがトリガされてよい。
【0076】
[0085]
図7に示すように、燃料補給のフォールバックタスクがトリガされた後で、車両のコンピューティングデバイス110は、目的地Dで終わる現在の乗客に関係したタスクを完了し、次いで燃料供給ステーション638へ走行するのに十分な燃料があると判断してよい。結果として、燃料補給のフォールバックタスクは、目的地Dで乗客を降ろした後で実行される。車両のコンピューティングデバイス110は、次いで、燃料供給ステーション638へ走行する命令を車両セルフドライビングシステム160~172に送信してよい。
【0077】
[0086] 高緊急度レベルのトリガを有するフォールバックタスクは、任意の乗客に関係した又は乗客に関係していないタスクに割り込んですぐに実行されてよい。例えば、トリガの緊急度レベルが高のとき、車両のコンピューティングデバイス110のフォールバックセレクタモジュール137が、トリップを早期に中止する命令を送信し、フォールバックタスクの実行に進んでよい。高緊急度レベルを有するトリガは、車両100がトリップを完了することを妨げ得る車両100に伴う問題が存在するときを含んでよい。単なる例として、パンクしたタイヤを検出する条件に基づくトリガは、車両100がパンクしたタイヤであまり遠くへ走行することができないかもしれないので、高緊急度レベルを有するであろう。これは、したがって、最も近いメンテナンスガレージへ走行するフォールバックタスクをトリガしてよい。
【0078】
[0087] フォールバックタスクがトリガされるが、実行することができない場合、フォールバックセレクタモジュール137が、
図8に示すように自律車両100をベース位置へ操縦する命令を送信してよい。フォールバックタスクを実行することができない理由は、フォールバックタスクを行うためのフォールバック命令の形式が誤っていること、フォールバック命令が送信された車両のタイプではフォールバック命令を行うことができないこと、又はいくつかの他の理由である場合がある。代替的に、車両100は、他のフォールバック命令が受信されておらず、且つキューが空であるときに、ベース位置へ走行されてよい。
【0079】
[0088]
図8に移ると、タスク要求、フォールバック命令、タスク要求命令、及びステータス更新が、
図5で前述したように伝送及び受信されてよい。しかしながら、ステップ550の後で、車両のコンピューティングデバイス110がトリガ条件を検出するときに、車両のコンピューティングデバイス110は、ステップ860でフォールバック命令の形式が誤っている又は何らかの理由で車両100によって実行することができないと判断してよい。車両のコンピューティングデバイス110は、次いで、ステップ870で指定されたベース位置へ走行し、且つ前と同じフォールバックタスクを実行しないように命令を車両セルフドライビングシステム160~172に送信してよい。
【0080】
[0089] ベース位置のアドレス又は位置座標は、車両にハードコードされてよい。或る例では、複数のベース位置のアドレス又は位置座標がハードコードされてよく、これにより、車両のコンピューティングデバイス110のフォールバックセレクタモジュール137が、車両100を選択し、フォールバックタスクがいつトリガされるかに応じて最も近い又は最も便利なベース位置へ操縦することが可能となる。一例では、車両100は、車両に関するベース位置が設定されていない場合に出発せず、これにより、車両100が動作中のときにはいつでも最後の行先として車両100が行くべき場所が確実に存在し、したがって、自律車両が立ち往生するリスクが低減する。
【0081】
[0090] 車両100があまり遠くへ走行することができないかもしれない状況では、車両100を道の脇に止め、助けを求めるサインを出してよい。このオプションは、いくつかの外部因子及び/又は内部因子のために自律車両がフォールバック命令において指定された場所又はベース位置へ到着することができない場合にとられてよい。車両のコンピューティングデバイス110のフォールバックセレクタモジュール137は、車両セルフドライビングシステム160~172に車を脇に止める命令を送信し、1つ以上のサーバコンピューティングデバイス210にメッセージを送信してよい。メッセージは、車両の位置及び/又は外部因子及び/又は内部因子のリストを含んでよい。
【0082】
[0091] 或る例では、条件が、現在行われているフォールバックタスクのトリガの1つ又は複数の条件がもはや満たされないように変化する場合に、車両はフォールバックタスクの実行を止めてよい。この判断は、フォールバックセレクタモジュール137によってなされてよい。その後、車両は、割り込まれたタスクの実行に戻ってよく、又はタスクキューに入っている次のタスクを実行してよい。代替的に、車両は、正常動作を再開する前にフォールバックタスクを完了してよい。
【0083】
[0092] 加えて又は代替的に、ステータス更新レポートが、
図9に示すように1つ以上のサーバコンピューティングデバイス210に送信されてよい。タスク要求、フォールバック命令、及びステータス更新が、前述のように伝送及び受信されてよい。ステップ540でステータス更新を受信した後に、車両のコンピューティングデバイス110は、次いで、ステップ950でステータス更新レポートを1つ以上のサーバコンピューティングデバイス210に送信してよい。これは、ステータス更新の各受信後に行われてよく、又はより低頻度で行われてよい。ステップ960で、ステータス更新レポートに基づいて、1つ以上のサーバコンピューティングデバイス210は、更新されたフォールバック命令を車両のコンピューティングデバイス110に送信してよい。車両のコンピューティングデバイス110におけるフォールバックセレクタモジュール137は、以前に受信されたフォールバック命令を更新されたフォールバックタスク情報に置き換えてよい。他の例では、更新されたフォールバックタスクは、以前に送信されたフォールバックタスクと共に車両のコンピューティングデバイスに記憶されてよい。
【0084】
[0093] 代替的な実施形態では、フォールバックタスクのセットに関する命令が車両100に送信されてよい。上記の例と同様に、各フォールバックタスクは、特定のトリガと関連付けられてよい。命令はまた、対応するフォールバックタスクへの各トリガのマッピングを含んでよい。フォールバックセレクタモジュール137は、マッピングを自律車両100でローカルに受信及び記憶してよい。したがって、トリガの1つ又は複数の条件が発生するときに、フォールバックセレクタモジュール137は、マッピングを実行するべく対応するフォールバックタスクを参照してよい。マッピングはまた、各トリガの緊急度レベルの詳細を含んでよい。フォールバックタスクを参照するときに、フォールバックセレクタモジュール137は、トリガの緊急度レベルも参照してよい。フォールバックセレクタモジュール137は、次いで、上記の例と同様にトリガの緊急度レベルに基づいてフォールバックタスクがいつ実行されるべきかを決定してよい。
【0085】
[0094]
図10は、1つ以上のサーバコンピューティングデバイス210などの1つ以上のコンピューティングデバイスによって行われ得る前述の態様のうちのいくつかに係る例示的な流れ
図1000である。しかしながら、説明される特徴は、異なる構成を有する様々なシステムのいずれかによって実装されてよい。加えて、方法に関係する動作は、説明される正確な順序で行われる必要はない。むしろ、種々の動作は、異なる順序で又は同時に取り扱われてよく、動作は追加又は省略されてよい。
【0086】
[0095] ブロック1010で、少なくとも1つのフォールバックタスクが、一次タスクの要求及び各フォールバックタスクの少なくとも1つのトリガに関連して受信されてよい。ブロック1020で、一次タスクを実行するべく命令の第1セットが1つ以上のセルフドライビングシステムに送信されてよい。ブロック1030で、セルフドライビングシステムからステータス更新が受信されてよい。ブロック1040で、ステータス更新に少なくとも部分的に基づいて、トリガの条件セットが満たされていることが判定されてよい。ブロック1050で、トリガに関連したフォールバックタスクに基づいて命令の第2セットが1つ以上のセルフドライビングシステムに送信されてよい。
【0087】
[0096] 前述の特徴は、自律車両におけるフォールバックタスクの包括的なシステムを提供し得る。これは次に、車両の動作が人間のオペレータからの入力なしでは或る程度に妥協される種々の状況で又は車両のコンピューティングデバイスが1つ以上のサーバコンピューティングデバイスと接続できない場合に車両が適切なステップを確実にとることができるようにし得る。特に、特定のフォールバックタスクは、まだ或る距離は走行することができる車両が、指定された又は決定された場所へ自律走行することを可能にする。場所は、車両がフル動作能力に回復され得る場所であってよい。前述のフォールバックタスクの設定は、車両がセルデッドゾーンに入って動きが取れなくなる可能性をかなり低くする。結果として、車両を取りに行くのに費やされていたであろう時間、お金、及び人手が節約される。
【0088】
[0097] 前述の特徴はまた、トリガが車両の動作に大きく影響する又はあらゆる他の理由で急を要するかどうかに基づいてフォールバックタスクがいつ実行されるべきかを決定する方法を提供し得る。そのように、タスクは、不必要に割り込まれないが、車両に伴う問題が直ちに対処を必要とするのに十分なだけ急を要するときに割り込まれる。1つ以上のフォールバックタスクを各タスク要求と共に送信すること及びベース位置をハードコードすることは、車両が知らない場所に立ち往生したままとなる可能性を低くし得る。また、車両は、必要なときに点検を受けてよく、メンテナンスのために不必要なトリップをすることを回避してよく、又は必要なときに対処を受けなくてよい。したがって、これらの特徴は、単一の自律車両又は自律車両のフリートを維持及び追跡するための簡単且つ効果的な方法を提供する。
【0089】
[0098] 加えて、前述の特徴は、リモートサーバへの継続的な接続なしに動作し得るシステムを提供し得る。タスクが受信されると、開示された自律車両のシステムは、管理システムと通信しない状態で乗客に関係したタスク、乗客に関係していないタスク、及びフォールバックタスクを実行してよい。車両は、リモートサーバへの強い接続が存在しない可能性がある場所でタスクを自由に実行する。タスクは、リモートサーバでチェックする必要なしに迅速に連続して実行されてよい。これらの特徴は、すべての車両がすべての瞬間にしていることを微細に管理する代わりに、自律車両を管理するシステムが他のタスクを行うことを可能にする。
【0090】
[0099] 本明細書で本発明が特定の実施形態を参照して説明されているが、これらの実施形態は本発明の原理及び用途の単なる例示であることが理解される。したがって、例証となる実施形態に多くの修正がなされ得ることと、付属の特許請求の範囲によって定義される場合の本発明の精神及び範囲から逸脱することなく他の構成が考案され得ることが理解される。