(57)【要約】      （修正有）【課題】フォールバックタスクに基づいて、車両を制御するためのセルフドライビングシステムに命令を送信するシステムを提供する。【解決手段】車両において、車両コンピューティングデバイス１１０のプロセッサは、一次タスクの要求に関連して少なくとも１つのフォールバックタスク及び各フォールバックタスクの少なくとも１つのトリガを受信する。各トリガは、満たされたときに車両が適正な動作のための対処を必要とするときを示す条件セットである。プロセッサはまた、一次タスクを実行するべく命令を車両セルフドライビングシステム１６０〜１７２に送信し、車両セルフドライビングシステムからステータス更新を受信し、ステータス更新に基づいてトリガの条件セットが満たされていることを判定し、関連するフォールバックタスクに基づいてさらなる命令をセルフドライビングシステムに送信する。【選択図】図５
2019067439.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
少なくとも１つのフォールバックタスク及び各フォールバックタスクの対応するトリガをメモリに記憶し、
各トリガは、満たされたときに、対応するフォールバックタスクが実行されるべきであることを示す条件セットであり、
車両を制御する１つ以上のセルフドライビングシステムからステータス更新を受信し、
前記ステータス更新に少なくとも部分的に基づいて所与のフォールバックタスクの所与の対応するトリガの条件セットが満たされていることを判定し、
前記所与のフォールバックタスクに基づいてセルフドライビングシステムに１つ以上の命令を送信する、
ように構成された１つ又は複数のプロセッサを備える、システム。
【請求項２】
前記少なくとも１つのトリガが、
所定の燃料又はエネルギーレベル、
前記１つ又は複数のプロセッサとリモートサーバとの間の接続の損失、
実行するタスクの欠如、又は
前記車両のスケジュールされたメンテナンス、
のうちの少なくとも１つを含む、請求項１に記載のシステム。
【請求項３】
ベース位置が前記メモリ上にハードコードされ、
前記１つ又は複数のプロセッサが、
前記トリガに関連したフォールバックタスクが実行不可能であることを判定し、
前記フォールバックタスクを前記ベース位置へ走行することに更新する、
ようにさらに構成される、請求項１に記載のシステム。
【請求項４】
前記１つ又は複数のプロセッサが、
前記１つ以上のセルフドライビングシステムからの前記ステータス更新に基づいてステータス更新レポートを送信し、
少なくとも１つの更新されたフォールバックタスクを受信し、
前記少なくとも１つの更新されたフォールバックタスクを前記メモリに記憶する、
ようにさらに構成される、請求項１に記載のシステム。
【請求項５】
前記１つ又は複数のプロセッサが、前記少なくとも１つの更新されたフォールバックタスクに基づいて少なくとも１つのフォールバックタスクを更新するようにさらに構成される、請求項４に記載のシステム。
【請求項６】
前記１つ又は複数のプロセッサが、
前記トリガの条件セットがもはや満たされていないことを判定し、
前記トリガの１つ以上の条件がもはや満たされていないと判定されるときに、前記一次タスクを自律的に再開するべく命令の第２セットを１つ以上のセルフドライビングシステムに送信する、
ようにさらに構成される、請求項１に記載のシステム。
【請求項７】
前記１つ又は複数のプロセッサが、
前記トリガの緊急度レベルを判定し、
前記緊急度レベルは、前記トリガの前記条件セットが満たされた後で前記トリガに関連した前記フォールバックタスクがどれだけ迅速に実行されるかに関係しており、
前記トリガの前記緊急度レベルが特定のレベルであるときに前記一次タスクが完了する前に前記１つ以上の命令を送信する、
ようにさらに構成される、請求項１に記載のシステム。
【請求項８】
前記１つ以上の命令が、前記１つ以上のセルフドライビングシステムに前記一次タスクの実行を停止させる命令を含む、請求項１に記載のシステム。
【請求項９】
前記１つ又は複数のプロセッサが、対応するフォールバックタスクへの各トリガのマッピングにアクセスすることによってどのフォールバックタスクが前記トリガと関連付けられるかを判定するようにさらに構成される、請求項１に記載のシステム。
【請求項１０】
前記車両をさらに含む、請求項１に記載のシステム。
【請求項１１】
前記車両は、ベース位置が前記メモリ上に記憶されない場合に出発しない、請求項１０に記載のシステム。
【請求項１２】
フリート管理システムであって、
自律走行することができる複数の車両の動作に関係したデータを送信及び受信し、
前記複数の車両のうちの１つに配車コマンドを送信する、
ように構成されたサーバを備え、前記配車コマンドは少なくとも１つのフォールバックタスクを含み、少なくとも１つのトリガは各フォールバックタスクに対応し、各トリガは、満たされたときに、対応するフォールバックタスクが実行されるべきであることを示し、且つ、前記対応するフォールバックタスクがどれだけ迅速に実行されるべきであるかを示す条件セットである、システム。
【請求項１３】
前記サーバが、前記受信した更新に応答して少なくとも１つの更新されたフォールバックタスクを送信するようにさらに構成される、請求項１２に記載のシステム。
【請求項１４】
前記緊急度レベルが、前記トリガの条件セットが満たされた後で前記トリガに関連したフォールバックタスクがどれだけ迅速に実行されるかに関係する、請求項１２に記載のシステム。
【請求項１５】
前記サーバが、少なくとも１つのフォールバックタスクを実行しているときに前記複数の車両のうちの１つをそこへ走行させる１つ以上のフォールバック位置を判定するようにさらに構成され、
前記配車コマンドが前記１つ以上のフォールバック位置をさらに含む、
請求項１２に記載のシステム。
【請求項１６】
自律走行することができる前記複数の車両をさらに含む、請求項１２に記載のシステム。
【請求項１７】
方法であって、
１つ又は複数のプロセッサによって、少なくとも１つのフォールバックタスク及び各フォールバックタスクの対応するトリガをメモリに記憶することと、
各対応するトリガは、満たされたときに、対応するフォールバックタスクが実行されるべきであることを示す条件セットであり、
前記１つ又は複数のプロセッサによって、車両を制御する１つ以上のセルフドライビングシステムからステータス更新を受信することと、
前記１つ又は複数のプロセッサによって、前記ステータス更新に少なくとも部分的に基づいて所与のフォールバックタスクの所与の対応するトリガの条件セットが満たされていることを判定することと、
前記１つ又は複数のプロセッサによって、前記所与のフォールバックタスクに基づいて前記１つ以上のセルフドライビングシステムのうちの１つに１つ以上の命令を送信することと、
を含む、方法。
【請求項１８】
前記１つ又は複数のプロセッサによって、前記所与の対応するトリガの緊急度レベルを判定すること、
をさらに含み、前記緊急度レベルは、前記所与の対応するトリガの条件セットが満たされた後で前記所与の対応するトリガに関連した所与のフォールバックタスクがどれだけ迅速に実行されるかに関係しており、前記１つ以上の命令は、前記一次タスクの実行を停止する命令を含む、請求項１７に記載の方法。
【請求項１９】
前記１つ又は複数のプロセッサによって、１つ以上の対応するフォールバックタスクへの各トリガのマッピングにアクセスすることによって、どのフォールバックタスクが前記所与の対応するトリガと関連付けられるかを判定することをさらに含む、請求項１７に記載の方法。
【請求項２０】
前記１つ又は複数のプロセッサによって、前記トリガの条件セットがもはや満たされていないことを判定することと、
前記トリガの１つ以上の条件がもはや満たされていないと判定されるときに、前記１つ又は複数のプロセッサによって、前記一次タスクを自律的に再開するべく命令の第２セットをセルフドライビングシステムに送信することと、
をさらに含む、請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願への相互参照
［0001］  本願は、その開示が参照により本明細書に組み込まれる２０１５年５月２６日に出願された米国特許出願第１４／７２１，６０４号の継続出願である。
【背景技術】
【０００２】
［0002］  人間の運転手を必要としない車両などの自律車両は、１つの場所から別の場所への乗客又は物品の輸送を支援するのに用いることができる。このような車両は、完全自律モードで動作してよく、この場合、乗客が、目的地及び該目的地への車両操縦自体などのいくつかの初期入力を提供してよい。
【発明の概要】
【課題を解決するための手段】
【０００３】
［0003］  本開示の一態様はシステムを提供する。システムは、メモリと、車両を制御するための複数のセルフドライビングシステムと、１つ又は複数のプロセッサを含む。１つ又は複数のプロセッサは、一次タスクの要求に関連して少なくとも１つのフォールバックタスク及び各フォールバックタスクの少なくとも１つのトリガを受信し、各トリガは、満たされたときに車両が適正な動作のための対処を必要とするときを示す条件セットであり；一次タスクを実行するべく命令の第１セットを１つ以上のセルフドライビングシステムに送信し；セルフドライビングシステムからステータス更新を受信し；ステータス更新に少なくとも部分的に基づいてトリガの条件セットが満たされていることを判定し；トリガに関連したフォールバックタスクに基づいて命令の第２セットを１つ以上のセルフドライビングシステムに送信するように構成される。
【０００４】
［0004］  一例では、各条件セットは各トリガごとに異なる。同じ例において、１つ又は複数のプロセッサはまた、トリガの条件セットが満たさされていることを判定するように構成される。別の例では、ベース位置はメモリ上にハードコードされ、１つ又は複数のプロセッサはまた、トリガに関連したフォールバックタスクが実行不可能であることを判定し、フォールバックタスクをベース位置へ走行するように更新するように構成される。
【０００５】
［0005］  さらに別の例では、１つ又は複数のプロセッサはまた、セルフドライビングシステムからのステータス更新に基づいてステータス更新レポートを送信し、少なくとも１つの更新されたフォールバックタスクを受信し、少なくとも１つの更新されたフォールバックタスクをメモリに記憶するように構成される。この例では、１つ又は複数のプロセッサはまた、少なくとも１つの更新されたフォールバックタスクに基づいて少なくとも１つのフォールバックタスクを更新するように構成される。
【０００６】
［0006］  さらなる例では、１つ又は複数のプロセッサはまた、トリガの条件セットがもはや満たされていないことを判定し、トリガの１つ以上の条件がもはや満たされていないと判定されるときに、一次タスクを自律的に再開するべく命令の第３セットを１つ以上のセルフドライビングシステムに送信するように構成される。さらに別の例では、１つ又は複数のプロセッサはまた、トリガの緊急度レベルを判定し、緊急度レベルは、トリガの条件セットが満たされた後でトリガに関連したフォールバックタスクがどれだけ迅速に実行されるかに関係しており、トリガの緊急度レベルが特定のレベルであるときに一次タスクが完了する前に命令の第２セットを送信するように構成される。
【０００７】
［0007］  別の例では、命令の第２セットは、セルフドライビングシステムに一次タスクの実行を停止させる命令を含む。さらなる例では、１つ又は複数のプロセッサはまた、対応するフォールバックタスクへの各トリガのマッピングにアクセスすることによって、どのフォールバックタスクがトリガと関連付けられるかを判定するように構成される。さらに別の例では、システムはまた、車両を含む。この例では、車両は、ベース位置がメモリ上に記憶されない場合に出発しない。
【０００８】
［0008］  本開示の別の態様は、フリート管理システムを提供する。フリート管理システムは、自律走行することができる複数の車両のステータスに関する更新を受信し、車両のうちの１つに配車コマンドを送信するように構成されたサーバを含み、配車コマンドは、一次タスクの要求、少なくとも１つのフォールバックタスク、及び各フォールバックタスクの少なくとも１つのトリガを含み、各トリガは、満たされたときに車両が適正な動作のための対処を必要とするときを示す条件セットである。
【０００９】
［0009］  一例では、サーバはまた、受信した更新に応答して少なくとも１つの更新されたフォールバックタスクを送信するように構成される。別の例では、配車コマンドはまた、各トリガに関する緊急度レベルを含み、緊急度レベルは、トリガの条件セットが満たされた後でトリガに関連したフォールバックタスクがどれだけ迅速に実行されるかに関係している。
【００１０】
［0010］  さらなる例では、サーバはまた、少なくとも１つのフォールバックタスクを実行しているときに車両のうちの１つをそこへ走行させることができる１つ以上のフォールバック位置を判定するように構成される。この例では、配車コマンドはまた、１つ以上のフォールバック位置を含む。別の例では、システムはまた、自律走行することができる複数の車両を含む。
【００１１】
［0011］  本開示のまた別の態様はシステムを提供する。システムは、車両を制御するための複数のセルフドライビングシステムと、１つ又は複数のプロセッサと、メモリを含む。メモリは、実行されるときに、１つ又は複数のプロセッサに、一次タスクを実行するべく命令の第１セットを１つ以上のセルフドライビングシステムへ送信させ、トリガに関連したフォールバックタスクを実行するべく命令の第２セットを１つ以上のセルフドライビングシステムへ送信させる命令を備えるトリップマネージャモジュールを含み、トリガは、満たされたときに車両が適正な動作のための対処を必要とするときを示す条件セットである。メモリはまた、実行されるときに、１つ又は複数のプロセッサに、トリップマネージャモジュールから車両ステータス更新を受信させ、トリップマネージャモジュールから受信した現在の車両ステータスに基づいてトリガの条件セットが満たされていることを判定させ、満たされているトリガの条件セットと関連付けられるフォールバックタスクに基づいて情報をトリップマネージャモジュールへ送信させる命令を備えるタスク監督モジュールを含む。
【００１２】
［0012］  一例では、タスク監督モジュールはまた、実行されるときに、１つ又は複数のプロセッサに、トリガの緊急度レベルを判定させる命令を含み、緊急度レベルは、トリガの条件セットが満たされた後でトリガに関連したフォールバックタスクがどれだけ迅速に実行されるかに関係しており、指示は緊急度レベルを含む。この例では、トリップマネージャモジュールはまた、実行されるときに、１つ又は複数のプロセッサに、一次タスクの実行を停止する命令と共に命令の第２セットを送信させる命令を含む。
【００１３】
［0013］  別の例では、タスク監督モジュールはまた、実行されるときに、１つ又は複数のプロセッサに、対応するフォールバックタスクへの各トリガのマッピングにアクセスすることによって、どのフォールバックタスクがトリガと関連付けられるかを判定させる命令を含む。さらに別の例では、システムはまた、車両を含む。
【図面の簡単な説明】
【００１４】
【図１】［0014］例示的な実施形態に係る例示的な車両の機能図である。
【図２】［0015］例示的な実施形態に係る例示的なシステムの機能図である。
【図３】［0016］本開示の態様に係る図２のシステムの模式図である。
【図４】［0017］本開示の態様に係る例示的なマップである。
【図５】［0018］本開示の態様に係る例示的な図である。
【図６】［0019］本開示の態様に係る地理的領域の例示的な鳥瞰図である。
【図７】［0020］本開示の態様に係る地理的領域の別の例示的な鳥瞰図である。
【図８】［0021］本開示の態様に係る別の例示的な図である。
【図９】［0022］本開示の態様に係るさらに例示的な図である。
【図１０】［0023］本開示の態様に係る例示的な流れ図である。
【発明を実施するための形態】
【００１５】
概要
［0024］  本技術は、フォールバック要求を自律的に設定及び実行するための自律車両に関する。フォールバックタスクは、自律車両が正常に動作することができない場合に車両のコンピュータが行い得るタスクを含み得る。例えば、いくつかのフォールバックタスクは、特に、車両故障又は車両事故が存在する場合などの緊急事態の場合に安全に速やかに停車していくことに関係し得る。他のフォールバックタスクは、車両のステータスに基づいて予め設定される又は決定される別の場所へ延長された時間にわたって走行することに関係する。これらのタイプのフォールバックタスクは、車両の燃料／エネルギーが少ないとき、僅かなセンサ劣化を検出するとき、フリート管理サーバへの接続を失うとき、又は任意の他のより高い優先度のタスクの完了後に次に何をするかについての任意の特定の実行可能な命令を何らかの理由で欠如するときなどの状況において有用である。これらの状況では、車両は、依然として或る時間の長さにわたって安全に走行することができ、したがって、引き続き走行することに関係するフォールバックタスクを実行することができる。車両が修理される又は接続を再開する位置へ自身で走行することは、車両を修理する又は復旧するために車両の停車した位置に誰かが行かなければならない、或る位置に停車していることよりも好ましい。
【００１６】
［0025］  自律車両におけるコンピューティングデバイスは、個別のタスクに関する命令を格納していてよい。特定のタスクに関する命令は、単一のモジュールを形成してよい。車両を或る位置間でナビゲート及び操縦するための命令を格納し得るトリップマネージャモジュールが存在していてよい。受信したタスク要求を処理するための命令を格納し得るタスク監督モジュールも存在していてよい。タスク監督モジュールはまた、タスクが互いとの関係においていつ行われるべきかを決定するための、言い換えればタスクキューを管理するための命令を格納していてよい。加えて、タスク監督モジュールは、フォールバックタスクの管理専用のサブモジュールであるフォールバックセレクタモジュールを含んでよい。フォールバックセレクタモジュールは、受信したフォールバックタスクを処理し、どのフォールバックタスクをいつ実行するかを決定するための命令を格納していてよい。
【００１７】
［0026］  リモート配車システムは、乗客に関係した又は乗客に関係していないタスク要求に応答して、該タスク要求と共に、又は該タスク要求とは独立して、１つ以上のフォールバックタスクに関する情報を車両に送信してよい。乗客に関係したタスク要求又はトリップ要求は、トリップに関する乗車地及び目的地などの情報を提供してよい。乗客に関係していないタスクは、事前に測位すること、燃料補給／充電すること、駐車すること、メンテナンスに行くこと、ブロックを巡回すること、及びソフトウェアを更新することを含み得る。フォールバックセレクタモジュールは、フォールバックタスクを受信及び処理してよい。或る例では、図５に示されるように、すべての乗客に関係した又は乗客に関係していないタスク要求は、乗客に関係した又は乗客に関係していないタスクを車両が何らかの理由で完了することができない場合に車両にフォールバックタスクを行わせることができるフォールバック命令と共に送信される。
【００１８】
［0027］  乗客に関係した又は乗客に関係していないタスクは、クライアントコンピューティングデバイスを介してユーザによって開始されてよい。ユーザは、乗客に関係した又は乗客に関係していないタスクに関する情報を配車システムに送信してよい。配車システムは、次いで、タスク要求を車両のコンピューティングデバイスに送信してよく、この場合、タスク要求は、タスク監督モジュールによって受信及び処理される。１つ以上のフォールバックタスクは、タスク要求に関連して車両のコンピューティングデバイスに送信されてよい。フォールバックタスクは、自律車両が正常に動作することができないときなどの特定の条件下、普通は緊急条件下で行われるタスクである。受信した乗客に関係した又は乗客に関係していないタスクは、次いで、タスク監督モジュールによって車両の１つ以上のコンピューティングデバイスのキューに記憶されてよく、受信したフォールバックタスクは、フォールバックセレクタモジュールによってメモリに別々に記憶されてよい。
【００１９】
［0028］  例えば、ベース位置、又は他のフォールバックタスクを実行することができないときに車両を移動させる位置に関するフォールバック情報が、ユーザコンピューティングデバイスからシステムに送信されてよい。情報は、次いで、車両に転送されてよい。代替的に、システムにおけるサーバは、どのようなユーザ入力も受信せずにフォールバックタスクに関する情報を判定し、車両に送信してよい。例えば、サーバは、劣化したセンサのメンテナンスが必要とされると判定してよく、なおかつ、車両の現在地及びマップデータに基づいてセンサを直すことができる最も近いメンテナンス所を判定してよい。
【００２０】
［0029］  フォールバック命令は、フォールバックタスクの性質に応じて特定の情報を含んでよい。例えば、充電ステーション又はメンテナンスガレージなどの或るタイプの位置へ走行することに関係するタスクに関して、位置又は領域は、フォールバック命令において指定されてよい。ドライビングタスクの目的地などの情報は、車両のコンピューティングデバイスによって決定されてよく、又は車両のコンピューティングデバイス上にハードコードされてよい。或る例では、車両にハードコードされる複数の位置が存在してよく、車両のコンピューティングデバイスは、近接性、提供されるサービス、負荷レベル、及び他の考慮事項を計算に入れて、複数の位置のうちのどこに移動するかを決定してよい。加えて、外部システムとの相互作用などのドライブ及び駐車以外のアクションを必要とするタスクに関して、命令はまた、燃料供給システム又はメンテナンス所の認証情報のようなアクション固有の詳細を含んでよい。
【００２１】
［0030］  フォールバック命令はまた、１つ以上のトリガを含んでよい。トリガは、満たされたときに車両がフォールバックタスクを実行するべきであることを示す１つ以上の条件を含んでよい。条件は、例えば、車両の燃料又はエネルギーレベルが所定の閾値を満たしていること、車両のコンピューティングデバイスとフリート管理デバイスのサーバとの間の接続が失われていること、車両のタスクキューが空であること、及び定期メンテナンスが特定の時間にスケジュールされていることを含んでよい。
【００２２】
［0031］  特定のトリガの１つ又は複数の条件が満たされるときを判定するために、車両セルフドライビングシステムは、車両のコンピューティングデバイスにステータス更新を周期的に及び／又は継続的に伝送してよい。例として、ステータス更新は、車両の機器又はセンサからの燃料レベル又は他の内部又は外部測定値などの情報を含んでよい。図５に示すように、車両のコンピューティングデバイスは、関係するトリガの１つ以上の条件が満たされることを判定するのにステータス更新を用いてよい。例えば、燃料インジケータが、タンク内の燃料のレベルを継続的に監視してよい。車両のコンピューティングデバイスのタスク監督モジュールは、車両の燃費、地域のガスステーションの密度、及び近くのガスステーションに到着するのにおそらく必要とされる燃料の量を表す他の因子に基づいて燃料の量に関する閾値レベルを設定してよい。車両のコンピューティングデバイスのタスク監督モジュールは、次いで、燃料のレベルを監視し、これが閾値に達するときを判定してよい。
【００２３】
［0032］  特定のトリガの１つ又は複数の条件が満たされた後で、フォールバックタスクがトリガされてよく、車両のコンピューティングデバイスのフォールバックセレクタモジュールが、図５に示すように特定のトリガに対応する任意の１つ以上のフォールバックタスクを実行するべく命令を送信してよい。例えば、燃料レベルがトリガとして定義される場合の閾値に達するときに、フォールバックセレクタモジュールは、最も近いガスステーションへ走行するフォールバックタスクを実行するべく命令を送信してよい。これは、車両の現在地及び該ガス又は充電ステーションへの最短ルートに基づいて最も近いガス又は充電ステーションの位置を判定することを含んでよい。
【００２４】
［0033］  或る場合には、自律車両は、フォールバックタスクがトリガされるときに別のタスクを行っている場合がある。これに関して、トリガされている特定のフォールバックタスクのフォールバック命令は、他のタスクの実行から特定のフォールバックタスクの実行に移行するためのさらなる命令を含んでよい。さらなる命令はまた、特定のフォールバックタスクが、他のタスクの完了後に、又はキューに入っている或る他の指定されたタスクの後に、のいずれですぐに実行されるべきかの指示を含んでよい。この指示は、特定のフォールバックタスクのトリガの緊急度又は重要性に基づいていてよい。フォールバックタスクのトリガの緊急度レベル又は優先度レベルの表現が命令に含まれていてよい。レベルは、高、中、又は低として表されてよい。
【００２５】
［0034］  或る例では、車両が乗客に関係したタスクを現在実行しているときに、フォールバックタスクは、トリップが完了した後で実行されてよい。図６に示すように、乗客を降ろした後で、したがって乗客に関係したタスクが完了した後で、車両は、キューに入っている他のタスクがなく、且つ配車システムからのさらなる命令を受けていない場合がある。この状況では、車両は、さらなる命令が受信されるまで近くに駐車するフォールバックタスクを行ってよい。図７に示された別の状況では、燃料補給フォールバックタスクが、乗客に関係したタスクを行いながらトリガされ得るが、それでも、乗客に関係したタスクの完了後に実行され得る。この場合、車両のコンピューティングデバイスは、目的地に到着して最も近いガスステーションに移動するのに十分な燃料があったと判断し得る。しかしながら、トリガアクションが急を要する場合、車両のコンピューティングデバイスのフォールバックセレクタモジュールが、乗客を降ろすことを含む又は含まない場合があるトリップを早期に中止する命令を送信し、フォールバックタスクの実行に進んでよい。これらの状況は、車両がトリップを完了することを妨げ得る車両に伴う問題に関係する場合がある。乗客が降車した場合に、乗客を乗せ、トリップの残りを完了するために、別の自律車両が配車されてよい。
【００２６】
［0035］  フォールバックタスクを行うためのフォールバック命令の形式が誤っている又はあらゆる他の理由のためにフォールバックタスクを実行することができず、且つ別のフォールバックタスクに置き換えられていない場合に、フォールバックセレクタモジュールが、図８に示すように、誤った形式の或いは不具合のある命令を伴うフォールバックタスクがトリガされるときに自律車両をベース位置へ操縦する命令を送信してよい。代替的に、車両は、他のフォールバック命令が受信されていないときにベース位置へ走行されてよい。ベース位置のアドレス又は位置座標は、車両にハードコードされてよい。或る例では、複数のベース位置のアドレス又は位置座標がハードコードされてよく、これにより、車両のコンピューティングデバイスのフォールバックセレクタモジュールが、車両を選択し、フォールバックタスクがいつトリガされるかに応じて最も近い又は最も便利なベース位置へ操縦することが可能となる。一例では、車両は、車両に関するベース位置が設定されていない場合に出発せず、これにより、車両が動作中のときにはいつでも最後の行先として車両が行くべき場所が確実に存在し、したがって、自律車両が立ち往生するリスクが低減する。
【００２７】
［0036］  いくつかの外部因子及び／又は内部因子のために自律車両がフォールバック命令において指定された場所又はベース位置へ到着することができない場合に、車両のコンピューティングデバイスのフォールバックセレクタモジュールは、車両を脇に止めて、配車システムにメッセージを送信してよい。メッセージは、車両の位置及び／又は外部因子及び／又は内部因子のリストを含んでよい。
【００２８】
［0037］  一部の状況では、条件は、車両が現在行っている現在のフォールバックタスクのトリガの１つ又は複数の条件がもはや満たされないように変化する場合がある。フォールバックセレクタモジュールは、これが起こるかどうかを判定してよい。１つ又は複数の条件がもはや満たされていないときに、車両は、現在のフォールバックタスクの実行を続けてよく、又はフォールバックタスクのさらなる命令に従ってタスクキューに入っている定期的にスケジュールされたタスクの実行に戻ってよい。定期的にスケジュールされたタスクの実行に戻ることは、現在のフォールバックタスク又はキューに入っている次のタスクによって割り込まれている場合があるタスクを行うことを意味する場合がある。
【００２９】
［0038］  加えて又は代替的に、コンピューティングデバイスは、ステータス更新レポートを配車システムに送信してよい。ステータス更新レポートに基づいて、配車システムは、図９に示すように更新されたフォールバック命令を自律車両に送信してよい。フォールバックセレクタモジュールは、以前に受信したフォールバック命令を、更新されたフォールバックタスク情報に置き換えてよい。或る例では、以前に送信されたフォールバックタスクは、タスク要求と併せて送信されている場合がある。しかしながら、他の例では、更新されたフォールバックタスクは、以前に送信されたフォールバックタスク（複数可）と共に車両のコンピューティングデバイスに記憶されてよい。
【００３０】
例示的なシステム
［0039］  図１に示すように、本開示の一態様に係る車両１００は種々のコンポーネントを含む。本開示の或る態様は、特定のタイプの車両との関連において特に有用であるが、車両は、車、トラック、単車、バス、ＲＶ車などを含むがこれらに限定されないどのタイプの車両であってもよい。車両は、汎用コンピューティングデバイスに通常存在する１つ又は複数のプロセッサ１２０、メモリ１３０、及び他のコンポーネントを収容しているコンピューティングデバイス１１０などの１つ以上のコンピューティングデバイスを有してよい。
【００３１】
［0040］  メモリ１３０は、プロセッサ１２０によって実行され得る又は他の方法で用いられ得る命令１３２及びデータ１３８を含む、１つ又は複数のプロセッサ１２０によってアクセス可能な情報を記憶する。メモリ１３０は、ハードドライブ、メモリカード、ＲＯＭ、ＲＡＭ、ＤＶＤ、又は他の光ディスク、並びに他の書き込み可能メモリ及び読出し専用メモリなどの電子デバイスの助けにより読み出すことができるデータを記憶するコンピューティングデバイスが読み出し可能なメディア又は他のメディアを含む、プロセッサによってアクセス可能な情報を記憶することができるどのタイプのものであってもよい。システム及び方法は、それによって命令及びデータの異なる部分が異なるタイプのメディア上に記憶される、上記の異なる組み合わせを含んでよい。
【００３２】
［0041］  命令１３２は、プロセッサによって直接的に（機械コードなど）又は間接的に（スクリプトなど）実行されるべき命令の任意のセットであってよい。例えば、命令は、コンピューティングデバイスが読み出し可能なメディア上にコンピューティングデバイスコードとして記憶されてよい。その点において、「命令」及び「プログラム」という用語は、本明細書で交換可能に用いられ得る。命令は、プロセッサによる直接処理のためのオブジェクトコードフォーマットで、又はオンデマンドで解釈される又は前もってコンパイルされる独立したソースコードモジュールのスクリプト又はコレクションを含む任意の他のコンピューティングデバイス言語で記憶されてよい。命令の機能、方法、及びルーチンが以下でより詳細に説明される。
【００３３】
［0042］  命令は、特定のタスクを完了するための命令を含んでよい。例えば、車両を或る位置間でナビゲート及び操縦するための命令を格納していてよいトリップマネージャモジュール１３４が存在してよい。受信したタスク要求を処理するための命令を格納していてよいタスク監督モジュール１３６も存在してよい。タスク監督モジュール１３６も、タスクが互いとの関係においていつ行われるべきかを決定するための、言い換えればタスクキューを管理するための命令を格納していてよい。加えて、タスク監督モジュール１３６は、フォールバックタスクの管理専用のサブモジュールであるフォールバックセレクタモジュール１３７を含んでよい。フォールバックセレクタモジュール１３７は、受信したフォールバックタスクを処理し、どのフォールバックタスクをいつ実行するかを決定するための命令を格納していてよい。
【００３４】
［0043］  データ１３８は、命令１３２に従ってプロセッサ１２０によって検索、記憶、又は修正されてよい。例えば、特許請求される主題はどの特定のデータ構造にも限定されないが、データは、コンピューティングデバイスのレジスタに、複数の異なるフィールド及びレコードを有するテーブルとしてリレーショナルデータベースに、ＸＭＬ文書に、又はフラットファイルに記憶されてよい。データはまた、任意のコンピューティングデバイスが読み出し可能なフォーマットでフォーマットされてよい。
【００３５】
［0044］  １つ又は複数のプロセッサ１２０は、市販のＣＰＵなどの任意の従来のプロセッサであってよい。代替的に、１つ又は複数のプロセッサは、ＡＳＩＣ又は他のハードウェアベースのプロセッサなどの専用デバイスであってよい。図１は、機能的に、コンピューティングデバイス１１０のプロセッサ、メモリ、及び他の要素を同じブロック内にあるものとして例示するが、プロセッサ、コンピューティングデバイス、又はメモリは、実際には、同じ物理ハウジング内に格納される又はされない場合がある複数のプロセッサ、コンピューティングデバイス、又はメモリを含み得ることが当業者によって理解されるであろう。例えば、メモリは、コンピューティングデバイス１１０のものとは異なるハウジング内に存在するハードドライブ又は他の記憶媒体であってよい。したがって、プロセッサ又はコンピューティングデバイスへの言及は、並列に動作する又は並列に動作しない場合があるプロセッサ又はコンピューティングデバイス又はメモリの集合体への言及を含むように理解される。
【００３６】
［0045］  コンピューティングデバイス１１０は、前述のプロセッサ及びメモリ、並びにユーザ入力１５０（例えば、マウス、キーボード、タッチスクリーン、及び／又はマイクロフォン）及び種々の電子ディスプレイ（例えば、情報を表示するように動作可能なスクリーン又は任意の他の電気デバイスを有するモニタ）などの、コンピューティングデバイスとの関連で通常用いられるコンポーネントのすべてを含んでよい。この例では、車両は、情報又は視聴覚経験を提供するために内部電子ディスプレイ１５２並びに１つ以上のスピーカ１５４を含む。これに関して、内部電子ディスプレイ１５２は、車両１００の室内に存在してよく、車両１００内の乗客に情報を提供するためにコンピューティングデバイス１１０によって用いられてよい。
【００３７】
［0046］  コンピューティングデバイス１１０はまた、詳細に後述されるクライアントコンピューティングデバイス及びサーバコンピューティングデバイスなどの他のコンピューティングデバイスとの通信を容易にするために１つ又は複数の無線ネットワーク接続１５４を含んでよい。無線ネットワーク接続は、Ｂｌｕｅｔｏｏｔｈ、Ｂｌｕｅｔｏｏｔｈ低エネルギー（ＬＥ）、セルラー接続などの近距離通信プロトコル、並びに、インターネット、ワールドワイドウェブ、イントラネット、仮想プライベートネットワーク、広域ネットワーク、ローカルネットワーク、１つ又は複数の会社独自の通信プロトコルを用いるプライベートネットワーク、イーサネット、ＷｉＦｉ及びＨＴＴＰ、及び上記の種々の組み合わせを含む種々の構成及びプロトコルを含んでよい。
【００３８】
［0047］  一例では、コンピューティングデバイス１１０は、車両１００に組み込まれた自律走行コンピューティングシステムであってよい。自律走行コンピューティングシステムは、車両の種々のコンポーネントと通信することができてよい。例えば、図１に戻ると、コンピューティングデバイス１１０は、メモリ１３０の命令１３２に従って車両１００の運動、速度などを制御するために、減速システム１６０、加速システム１６２、ステアリングシステム１６４、シグナリングシステム１６６、ナビゲーションシステム１６８、測位システム１７０、及び検出システム１７２などの車両１００の種々のシステムと通信してよい。また、これらのシステムはコンピューティングデバイス１１０の外部として示されるが、実際は、これらのシステムは、同じく車両１００を制御するための自律走行コンピューティングシステムとしてコンピューティングデバイス１１０に組み込まれてもよい。
【００３９】
［0048］  例として、コンピューティングデバイス１１０は、車両の速度を制御するために減速システム１６０及び加速システム１６２と相互作用してよい。同様に、ステアリングシステム１６４は、車両１００の方向を制御するためにコンピュータ１１０によって用いられてよい。例えば、車両１００が車又はトラックなどの道路上で用いるように構成される場合、ステアリングシステムは、車両を方向転換するべく車輪の角度を制御するためのコンポーネントを含んでよい。シグナリングシステム１６６は、例えば、必要なときに方向指示灯又は制動灯を作動させることによって車両の意思を他のドライバ又は車両に示すためにコンピューティングデバイス１１０によって用いられてよい。
【００４０】
［0049］  ナビゲーションシステム１６８は、或る場所へのルートを決定する及びこれに従うためにコンピューティングデバイス１１０によって用いられてよい。これに関して、ナビゲーションシステム１６８及び／又はデータ１３８は、詳細なマップ情報、例えば、車道の形状及び標高、車線、交差点、横断歩道、制限速度、交通信号、建物、標識、リアルタイム交通情報、草木、又は他のこのような物体及び情報を識別する非常に詳細なマップを記憶してよい。
【００４１】
［0050］  図４はマップ４００の例である。この例では、マップは、車線４１０〜４１６、交差点４２０〜４２６、建物４３０〜４３６、燃料供給ステーション４３８、駐車スペース４４０〜４４６、私道入口（例えば車庫又は他の場所への）４５０、路肩領域４５２〜４５４、及び駐車禁止区域４５６などの種々の特徴の形状及び位置を識別する複数の異なる特徴を含む。まとめて、これらの特徴は単一の街区に対応する。マップ４００は、前述の詳細なマップの一部であってよく、車両１００を操縦するために車両１００の種々のコンピューティングデバイスによって用いられる。
【００４２】
［0051］  測位システム１７０は、マップ上又は地球上の車両の相対位置又は絶対位置を判定するためにコンピューティングデバイス１１０によって用いられてよい。例えば、測位システム１７０は、デバイスの緯度、経度、及び／又は高度位置を判定するためにＧＰＳレシーバを含んでよい。車両の位置を識別するために、レーザベースのローカライゼーションシステム、慣性支援ＧＰＳ、又はカメラベースのローカライゼーションなどの他のロケーションシステムが用いられてもよい。車両の位置は、緯度、経度、及び高度などの絶対地理的位置、並びに、しばしば絶対地理的位置よりも低ノイズで測定することができる近傍の他の車に対する位置などの相対位置情報を含んでよい。
【００４３】
［0052］  測位システム１７０はまた、車両の方向及び速度又はその変化を測定するために、加速度計、ジャイロスコープ、又は別の方向／速度検出デバイスなどのコンピューティングデバイス１１０と通信する他のデバイスを含んでよい。単なる例として、加速デバイスは、重力の方向又はこれに垂直な平面に対するそのピッチ、ヨー、又はロール（又はその変化）を測定してよい。デバイスはまた、速度の増加又は減少及びこのような変化の方向を追跡してよい。本明細書に記載のデバイスが提供する位置及び配向データは、コンピューティングデバイス１１０、他のコンピューティングデバイス、及び上記の組み合わせに自動的に提供されてよい。
【００４４】
［0053］  検出システム１７２はまた、他の車両、車道にある障害物、交通信号、標識、木などの車両の外部の物体を検出するための１つ以上のコンポーネントを含む。例えば、検出システム１７０は、コンピューティングデバイス１１０によって処理され得るデータを記録する、レーザ、ソナー、レーダー、カメラ、及び／又は任意の他の検出デバイスを含んでよい。車両が車などの小型乗用車である場合、車は、ルーフ又は他の便利な場所に設置されるレーザ又は他のセンサを含んでよい。
【００４５】
［0054］  コンピューティングデバイス１１０は、種々のコンポーネントを制御することによって車両の方向及び速度を制御してよい。単なる例として、コンピューティングデバイス１１０は、詳細なマップ情報及びナビゲーションシステム１６８からのデータを用いて車両を目的地に完全に自律的にナビゲートしてよい。コンピューティングデバイス１１０は、車両の位置を測定するのに測位システム１７０を用いてよく、目的地に安全に到着するのに必要とされるときに物体を検出し、これに反応するのに検出システム１７２を用いてよい。そうするために、コンピューティングデバイス１１０は、車両を加速（例えば、加速システム１６２によってエンジンに提供される燃料又は他のエネルギーを増加させることによって）、減速（例えば、エンジンに供給される燃料を減少させること、ギヤを変化させることによって、及び／又は減速システム１６０によってブレーキをかけることによって）、方向転換（例えば、ステアリングシステム１６４によって車両１００の前輪又は後輪を方向転換することによって）、及びこのような変化を表示（例えば、シグナリングシステム１６６の方向指示灯を作動させることによって）させてよい。したがって、加速システム１６２及び減速システム１６２は、車両のエンジンと車両の車輪との間の種々のコンポーネントを含むドライブトレインの一部であってよい。また、これらのシステムを制御することによって、コンピューティングデバイス１１０はまた、車両を自律的に操縦するために車両のドライブトレインを制御してよい。
【００４６】
［0055］  車両１００のコンピューティングデバイス１１０はまた、他のコンピューティングデバイスとの間で情報を受信又は伝達してよい。図２及び図３は、ネットワーク２６０を介して接続される複数のコンピューティングデバイス２１０、２２０、２３０、２４０及びストレージシステム２５０を含む例示的なシステム２００のそれぞれ模式図及び機能図である。システム２００はまた、車両１００と、車両１００と同様に構成され得る車両１００Ａを含む。簡単にするためにほんのいくつかの車両及びコンピューティングデバイスが描かれているが、典型的なシステムは、かなり多い数を含んでもよい。
【００４７】
［0056］  図３に示すように、コンピューティングデバイス２１０、２２０、２３０、２４０のそれぞれは、１つ又は複数のプロセッサ、メモリ、データ及び命令を含んでよい。このようなプロセッサ、メモリ、データ及び命令は、コンピューティングデバイス１１０の１つ又は複数のプロセッサ１２０、メモリ１３０、命令１３２、及びデータ１３８と同様に構成されてよい。
【００４８】
［0057］  ネットワーク２６０及び中間ノードは、Ｂｌｕｅｔｏｏｔｈ、Ｂｌｕｅｔｏｏｔｈ  ＬＥなどの近距離通信プロトコル、インターネット、ワールドワイドウェブ、イントラネット、仮想プライベートネットワーク、広域ネットワーク、ローカルネットワーク、１つ又は複数の会社独自の通信プロトコルを用いるプライベートネットワーク、イーサネット、ＷｉＦｉ及びＨＴＴＰ、及び上記の種々の組み合わせなどを含む種々の構成及びプロトコルを含んでよい。このような通信は、モデム及び無線インターフェースなどの他のコンピューティングデバイスとの間でデータを伝送することができる任意のデバイスによって容易にされてよい。
【００４９】
［0058］  一例では、１つ以上のコンピューティングデバイス１１０は、複数のコンピューティングデバイスを有するサーバ、例えば、データを受信し、処理し、他のコンピューティングデバイスとの間で伝送する目的でネットワークの異なるノードと情報を交換する負荷分散型サーバファームを含んでよい。例えば、１つ以上のコンピューティングデバイス２１０は、ネットワーク２６０を介して車両１００のコンピューティングデバイス１１０又は車両１００Ａの同様のコンピューティングデバイス並びにコンピューティングデバイス２２０、２３０、２４０と通信することができる１つ以上のサーバコンピューティングデバイスを含んでよい。例えば、車両１００及び１００Ａは、１つ以上のサーバコンピューティングデバイスによって種々の場所に配車することができる車両のフリートの一部であってよい。これに関して、フリートの車両は、車両のそれぞれの測位システムによって提供される位置情報を１つ以上のサーバコンピューティングデバイスに周期的に送信してよく、１つ以上のサーバコンピューティングデバイスは車両の位置を追跡してよい。
【００５０】
［0059］  加えて、１つ以上のサーバコンピューティングデバイス２１０は、コンピューティングデバイス２２０、２３０、２４０のディスプレイ２２４、２３４、２４２などのディスプレイ上でユーザ２２２、２３２、２４２などのユーザに情報を伝送及び提示するのにネットワーク２６０を用いてよい。これに関して、コンピューティングデバイス２２０、２３０、２４０は、クライアントコンピューティングデバイスと考えてよい。
【００５１】
［0060］  図３に示すように、各クライアントコンピューティングデバイス２２０、２３０、２４０は、ユーザ２２２、２３２、２４２によって用いられることを意図され、１つ又は複数のプロセッサ（例えば、中央処理装置（ＣＰＵ））、データ及び命令を記憶するメモリ（例えば、ＲＡＭ及び内部ハードドライブ）、ディスプレイ２２４、２３４、２４４などのディスプレイ（例えば、情報を表示するように動作可能なスクリーン、タッチスクリーンを有するモニタ、プロジェクタ、テレビ、又は他のデバイス）、及びユーザ入力デバイス２２６、２３６、２４６（例えば、マウス、キーボード、タッチスクリーン、又はマイクロフォン）を含むパーソナルコンピューティングデバイスとの関連において通常用いられるコンポーネントのすべてを有するパーソナルコンピューティングデバイスであってよい。クライアントコンピューティングデバイスはまた、ビデオストリームを記録するためのカメラ、スピーカ、ネットワークインターフェースデバイス、及びこれらの要素を互いに接続するのに用いられるコンポーネントのすべてを含んでよい。
【００５２】
［0061］  加えて、クライアントコンピューティングデバイス２２０及び２３０はまた、クライアントコンピューティングデバイスの位置及び配向を測定するためのコンポーネント２２８及び２３８を含んでよい。例えば、これらのコンポーネントは、デバイスの緯度、経度、及び／又は高度を測定するためにＧＰＳレシーバ、並びに車両１００の測位システム１７０に関して前述したように加速度計、ジャイロスコープ、又は別の方向／速度検出デバイスを含んでよい。
【００５３】
［0062］  クライアントコンピューティングデバイス２２０、２３０、及び２４０は、それぞれフルサイズのパーソナルコンピューティングデバイスを含んでよいが、それらは代替的に、インターネットなどのネットワーク上でサーバとデータを無線で交換することができるモバイルコンピューティングデバイスを含んでよい。単なる例として、クライアントコンピューティングデバイス２２０は、移動電話、又は、無線対応ＰＤＡ、タブレットＰＣ、装着可能なコンピューティングデバイス又はシステム、又は、インターネット又は他のネットワークを介して情報を得ることができるネットブックなどのデバイスであってよい。別の例では、クライアントコンピューティングデバイス２３０は、図２にヘッドマウントコンピューティングシステムとして示される装着可能なコンピューティングシステムであってよい。例として、ユーザは、小型キーボード、キーパッド、マイクロフォンを用いて、カメラによる視覚信号を用いて、又はタッチスクリーンを用いて情報を入力してよい。
【００５４】
［0063］  或る例では、クライアントコンピューティングデバイス２４０は、ユーザ２２２及び２３２などのユーザにコンシェルジュサービスを提供するために管理者によって用いられるコンシェルジュワークステーションであってよい。例えば、コンシェルジュ２４２は、以下でさらに詳しく説明されるように車両１００及び１００Ａの安全動作及びユーザの安全性を容易にするためにそれらのそれぞれのクライアントコンピューティングデバイス又は車両１００又は１００Ａを通じて通話又はオーディオ接続を介してユーザと通信するのにコンシェルジュワークステーション２４０を用いてよい。単一のコンシェルジュワークステーション２４０が図２及び図３に示されるが、あらゆる数のこのようなワークステーションが典型的なシステムに含まれていてよい。
【００５５】
［0064］  ストレージシステム２５０は、より詳細に以下で説明されるように種々のタイプの情報を記憶してよい。この情報は、本明細書に記載の特徴のうちのいくつか又はすべてを行うために１つ以上のサーバコンピューティングデバイス２１０などの１つ以上のサーバコンピューティングデバイスによって検索又は他の方法でアクセスされてよい。例えば、情報は、或る位置間のルートを生成及び評価するためのルーティングデータを含んでよい。ルーティング情報は、第１の位置にある車両が第２の位置に到着するのにどれくらいかかるかを推定するのに用いられてよい。これに関して、ルーティング情報は、必ずしも前述の詳細なマップ情報と同じくらい具体的である必要はないが道を含むマップ情報、並びに、方向（一方通行、双方向など）、方位（北、南など）、制限速度、並びに予想される交通状態を識別する交通情報などのこれらの道についての情報を含んでよい。情報はまた、タスクキュー、種々のタスク、及びタスクに関連した情報を含んでよい。タスクは、乗客に関係したタスク、乗客に関係していないタスク、フォールバックタスクなどであってよい。
【００５６】
［0065］  メモリ１３０と同様に、ストレージシステム２５０は、ハードドライブ、メモリカード、ＲＯＭ、ＲＡＭ、ＤＶＤ、ＣＤ−ＲＯＭ、書き込み可能メモリ、及び読出し専用メモリなどの１つ以上のサーバコンピューティングデバイス２１０によってアクセス可能な情報を記憶することができる任意のタイプのコンピュータ化されたストレージとすることができる。加えて、ストレージシステム２５０は、同じ又は異なる地理的位置に物理的に存在する場合がある複数の異なる記憶装置上にデータが記憶される分散ストレージシステムを含んでよい。ストレージシステム１５０は、図２に示すようにネットワーク２６０を介してコンピューティングデバイスに接続されてよく、及び／又は、コンピューティングデバイス１１０、２１０、２２０、２３０、２４０のいずれかなどに直接接続されてよく又は組み込まれてよい。
【００５７】
［0066］  上記で説明され図面に例示された動作に加えて、種々の動作をここで説明する。以下の動作は、以下で説明される正確な順序で行われる必要はないことを理解されたい。むしろ、種々のステップを異なる順序で又は同時に取り扱うことができ、ステップは追加又は省略されてもよい。
【００５８】
例示的な方法
［0067］  一態様では、ユーザは、クライアントコンピューティングデバイスに車両を要求するためのアプリケーションをダウンロードしてよい。例えば、ユーザ２２２及び２３２は、電子メール内のリンクを介して、ウェブサイト又はアプリケーションストアから直接、クライアントコンピューティングデバイス２２０及び２３０にアプリケーションをダウンロードしてよい。例えば、クライアントコンピューティングデバイスは、アプリケーションに関する要求を、ネットワーク上で、例えば、１つ以上のサーバコンピューティングデバイス２１０に伝送し、その返答としてアプリケーションを受信してよい。アプリケーションは、クライアントコンピューティングデバイスにローカルにインストールされてよい。
【００５９】
［0068］  ユーザは、次いで、アプリケーションにアクセスし車両を要求するのにユーザのクライアントコンピューティングデバイスを用いてよい。例えば、ユーザ２３２などのユーザは、車両に関する要求を１つ以上のサーバコンピューティングデバイス２１０に送信するのにクライアントコンピューティングデバイス２３０を用いてよい。この車両に関する要求は、図５のステップ５１０に示すようにタスク要求であってよい。例として、要求は、トリップに関する乗車地及び目的地などの情報を提供する乗客に関係したタスク又はトリップ要求であってよい。例として、このような位置は、住所、位置座標、関心ある地点などによって識別されてよい。例えば、マップ４００はまた、ユーザ２３２及び／又はクライアントデバイス２３０に関する目的地Ｄに対応するマップポインタ４７０を含む。後述するように、車両のコンピューティングデバイス１１０は、次いで、車両を目的地Ｄに向けて操縦してよい。
【００６０】
［0069］  車両１００が１つ以上のサーバコンピューティングデバイスからユーザに車両を配車する情報を受信すると、車両のコンピューティングデバイス１１０は、車両の現在地に対する目的地を識別するためにマップ４００を用いてよい。
【００６１】
［0070］  タスク要求の受信に応答して、１つ以上のサーバコンピューティングデバイス２１０は、例えば、利用可能性及び位置に基づいて、車両を識別し、乗車地へ配車してよい。この配車は、ユーザ（及び／又はユーザのクライアントデバイス）、乗車地、及び目的地又はエリアを識別する乗客に関係したタスク要求を車両に送信することに関係する場合がある。
【００６２】
［0071］  乗客に関係したタスク要求に加えて又は代えて、１つ以上のサーバコンピューティングデバイス２１０は、１つ以上の乗客に関係していないタスク要求を車両のコンピューティングデバイス１１０に送信してよい。乗客に関係していないタスク要求は、乗客に関係していないタスクを実行する命令を含んでよい。乗客に関係していないタスクは、事前に測位すること、燃料補給／充電すること、駐車すること、メンテナンスに行くこと、ブロックを巡回すること、及びソフトウェアを更新することを含んでよい。
【００６３】
［0072］  任意の受信した乗客に関係したタスク又は乗客に関係していないタスクのタスク要求は、車両のコンピューティングデバイス１１０のタスク監督モジュール１３６によって車両の１つ以上のコンピューティングデバイスのキューに入れられてよい。ステップ５３０に示すように、タスク要求がキューの上位に到達するときにタスク要求命令を車両セルフドライビングシステム１６０〜１７２に送信し、タスク要求に含まれるタスクをシステムのうちの１つ又は複数に行わせてよい。
【００６４】
［0073］  １つ以上のサーバコンピューティングデバイス２１０はまた、ステップ５２０に示すように、乗客に関係したタスクに応答して及び／又はこれと共に１つ以上のフォールバックタスクに関する情報を車両のコンピューティングデバイス１１０に送信してよい。フォールバックタスク要求は、フォールバックタスクと関連付けられる乗客に関係した又は乗客に関係していないタスクを車両が何らかの理由で完了することができないときに車両が行うべきフォールバックタスクを実行する命令を含んでよい。これに関して、各フォールバックタスクは、少なくとも１つの乗客に関係していないタスク又は乗客に関係したタスクと関連付けられてよい。任意の受信されたフォールバックタスクのタスクは、キューとは別に、例えば、フォールバックセレクタモジュール１３７によってメモリに記憶されてよい。
【００６５】
［0074］  上記のように、フォールバックタスクは、フォールバックタスクを行うためのフォールバック命令を含んでよい。命令の性質は、フォールバックタスクの性質に依存する場合がある。例えば、充電ステーション又はメンテナンスガレージなどの或るタイプの場所へ走行することに関係するタスクに関して、位置又は領域は、フォールバック命令において指定されてよい。情報は、ユーザコンピューティングデバイス２２０を介して車両のコンピューティングデバイス１１０に送信されてよく、車両のコンピューティングデバイス１１０によって決定されてよく、又は車両のコンピューティングデバイス１１０上にハードコードされてよい。或る例では、複数の位置が車両１００にハードコードされてよく、車両のコンピューティングデバイス１１０は、近接性、提供されるサービス、負荷レベル、及び他の考慮事項などの関係する因子を考慮に入れた上で、複数の場所のうちのどこに移動するかを決定してよい。加えて、外部システムとの相互作用などの走行及び駐車以外のアクションを必要とするタスクに関して、命令はまた、燃料供給システム又はメンテナンス所の認証情報のようなアクション固有の詳細を含んでよい。
【００６６】
［0075］  例として、フォールバック命令はベース位置を識別してよい。ベース位置は、他のフォールバックタスクを実行することができないときに車両を移動する位置を含んでよい。ベース位置は、コンシェルジュワークステーション２４０から１つ以上のサーバコンピューティングデバイス２１０に送信されてよい。情報は、１つ以上のサーバコンピューティングデバイス２１０から車両のコンピューティングデバイス１１０に転送されてよい。別の例では、１つ以上のサーバコンピューティングデバイス２２０が、劣化したセンサのメンテナンスが必要とされることを判定してよく、尚且つ、車両の現在地及びマップデータに基づいてセンサを直すことができる最も近いメンテナンス所を判定してよい。
【００６７】
［0076］  フォールバック命令はまた、フォールバックタスクがいつ実行されるべきかを示す１つ以上のトリガを含んでよい。各トリガは、満たされたときに車両が関連するフォールバックタスクを実行するべきであることを示す１つ以上の条件を含んでよい。条件は、例えば、車両の燃料又はエネルギーレベルが１０％などの所定の閾値を満たしていること、車両のコンピューティングデバイスとフリート管理デバイスのサーバとの接続が１分などの設定された時間量にわたって失われていること、車両のタスクキューが空であること、及び時間が、定期メンテナンスがスケジュールされるときの３０分前などの設定されたインターバル前であることを含んでよい。
【００６８】
［0077］  特定のトリガの１つ又は複数の条件が満たされるときを判定するために、車両セルフドライビングシステム１６０〜１７２は、ステップ５４０に示すようにステータス更新を伝送してよい。これらの更新は、車両のコンピューティングデバイス１１０に周期的に及び／又は継続的に送信されてよい。例として、ステータス更新は、車両の機器又はセンサからの燃料レベル又は他の内部又は外部測定値などの情報を含んでよい。５４０で受信したステータス更新に基づいて、車両のコンピューティングデバイス１１０は、ステップ５５０でトリガの１つ以上の条件が満たされることを判定してよい。例えば、燃料インジケータが、タンク内の燃料のレベルを継続的に監視してよい。車両のコンピューティングデバイス１１０のタスク監督モジュール１３６は、車両の燃費、地域のガスステーションの密度、及び近くのガスステーションに到着するのにおそらく必要とされる燃料の量を表す他の因子に基づいて燃料の量に関する閾値レベルを設定してよい。閾値は、１０％以上又は以下であってよい。車両のコンピューティングデバイス１１０のタスク監督モジュール１３６は、次いで、車両セルフドライビングシステム１６０〜１７２からの更新からの燃料のレベルのステータスを監視し、燃料が１０％などの設定された閾値に達したときを判定してよい。
【００６９】
［0078］  特定のトリガの１つ又は複数の条件が満たされた後で、トリガに対応するフォールバックタスクが、ステップ５６０で示されるようにフォールバックタスクを実行する命令を車両セルフドライビングシステム１６０〜１７２に送信することによって開始されてよい。例えば、燃料レベルが１０％などのトリガとして定義される場合の閾値に達するときに、フォールバックセレクタモジュール１３７が、最も近いガス又は充電ステーションへ走行するフォールバックタスクを実行する命令を送信してよい。これは、車両１００の現在地及び該ガス又は充電ステーションへの最短ルートに基づいて最も近いガス又は充電ステーションの位置を判定することを含んでよい。
【００７０】
［0079］  トリガの緊急度に応じて、フォールバックタスクは、すぐに、したがって現在のタスクに割り込んで、現在のタスクの完了後に、又はキューに入っているいくつかの他のタスクの後に実行されてよい。したがって、フォールバックタスクがいつ実行されてよいかの指示は、トリガの緊急度レベルの表現の形態であってよい。所与のトリガの緊急度レベルは、人間のオペレータによって設定されてよい。或る例では、緊急度レベルは、高、中、又は低として表されてよい。
【００７１】
［0080］  トリガの緊急度レベルが低のとき、フォールバックタスクは、タスクキューがすべてのタスクをクリアした後で実行されてよい。
【００７２】
［0081］  低緊急度レベルのトリガを有するフォールバックタスクは、キューに他のタスクがないときにトリガされてよい。例えば、乗客を降ろした後で、したがって乗客に関係したタスクが完了した後で、車両１００は、キューに入っている他のタスク（乗客に関係した又は乗客に関係していない）がない場合がある。この時点で、車両１００は、乗客に関係したタスクと共に受信したフォールバックタスクを行ってよい。低緊急度レベルを有するフォールバックタスクの一例は、近くに駐車し、さらなる命令を待つことを含んでよく、図６に関して説明されることになる。
【００７３】
［0082］  図６は、マップ４００の領域に対応する地理的領域６０２の鳥瞰図６００の例である。この例では、地理上の領域は、マップ４００の車線４１０〜４１６、交差点４２０〜４２６、建物４３０〜４３６、燃料供給ステーション４３８、駐車スペース４４０〜４４６、私道入口（例えば車庫又は他の場所への）４５０、路肩領域４５２〜４５４、及び駐車禁止区域４５６のそれぞれに対応する、車線６１０〜６１６、交差点６２０〜６２６、建物６３０〜６３６、燃料供給ステーション６３８、駐車スペース６４０〜６４６、私道入口（例えば車庫又は他の場所への）６５０、路肩領域６５２〜６５４、及び駐車禁止区域６５６などの種々の特徴を含む。この例では、マップピン６７０は、単に参考のためであり、目的地Ｄの物理的位置を識別する。
【００７４】
［0083］  目的地Ｄで乗客を降ろした後で、車両１００は、タスクキューに次のものが何も入っていない場合がある。これは、近くに駐車してさらなる命令を待つフォールバックタスクをトリガしてよい。この例では、車両１００は、駐車スペース６４０及び６４２が満車であると判断してよい。車両１００は、次いで、駐車スペース６４４及び６４６がある車線６１４へ走行し、空き駐車スペース６４４内の位置６２０に駐車してよい。
【００７５】
［0084］  中緊急度レベルのトリガを有するフォールバックタスクは、キューに入っている任意の乗客に関係したタスクの完了後に、しかしまだキューに入っている任意の乗客に関係していないタスクが行われる前にトリガされてよい。中緊急度レベルを有するトリガは、車両１００の燃料レベルが１０％以下に達していることを含んでよい。これが起こるときに、充電又は燃料補給のフォールバックタスクがトリガされてよい。
【００７６】
［0085］  図７に示すように、燃料補給のフォールバックタスクがトリガされた後で、車両のコンピューティングデバイス１１０は、目的地Ｄで終わる現在の乗客に関係したタスクを完了し、次いで燃料供給ステーション６３８へ走行するのに十分な燃料があると判断してよい。結果として、燃料補給のフォールバックタスクは、目的地Ｄで乗客を降ろした後で実行される。車両のコンピューティングデバイス１１０は、次いで、燃料供給ステーション６３８へ走行する命令を車両セルフドライビングシステム１６０〜１７２に送信してよい。
【００７７】
［0086］  高緊急度レベルのトリガを有するフォールバックタスクは、任意の乗客に関係した又は乗客に関係していないタスクに割り込んですぐに実行されてよい。例えば、トリガの緊急度レベルが高のとき、車両のコンピューティングデバイス１１０のフォールバックセレクタモジュール１３７が、トリップを早期に中止する命令を送信し、フォールバックタスクの実行に進んでよい。高緊急度レベルを有するトリガは、車両１００がトリップを完了することを妨げ得る車両１００に伴う問題が存在するときを含んでよい。単なる例として、パンクしたタイヤを検出する条件に基づくトリガは、車両１００がパンクしたタイヤであまり遠くへ走行することができないかもしれないので、高緊急度レベルを有するであろう。これは、したがって、最も近いメンテナンスガレージへ走行するフォールバックタスクをトリガしてよい。
【００７８】
［0087］  フォールバックタスクがトリガされるが、実行することができない場合、フォールバックセレクタモジュール１３７が、図８に示すように自律車両１００をベース位置へ操縦する命令を送信してよい。フォールバックタスクを実行することができない理由は、フォールバックタスクを行うためのフォールバック命令の形式が誤っていること、フォールバック命令が送信された車両のタイプではフォールバック命令を行うことができないこと、又はいくつかの他の理由である場合がある。代替的に、車両１００は、他のフォールバック命令が受信されておらず、且つキューが空であるときに、ベース位置へ走行されてよい。
【００７９】
［0088］  図８に移ると、タスク要求、フォールバック命令、タスク要求命令、及びステータス更新が、図５で前述したように伝送及び受信されてよい。しかしながら、ステップ５５０の後で、車両のコンピューティングデバイス１１０がトリガ条件を検出するときに、車両のコンピューティングデバイス１１０は、ステップ８６０でフォールバック命令の形式が誤っている又は何らかの理由で車両１００によって実行することができないと判断してよい。車両のコンピューティングデバイス１１０は、次いで、ステップ８７０で指定されたベース位置へ走行し、且つ前と同じフォールバックタスクを実行しないように命令を車両セルフドライビングシステム１６０〜１７２に送信してよい。
【００８０】
［0089］  ベース位置のアドレス又は位置座標は、車両にハードコードされてよい。或る例では、複数のベース位置のアドレス又は位置座標がハードコードされてよく、これにより、車両のコンピューティングデバイス１１０のフォールバックセレクタモジュール１３７が、車両１００を選択し、フォールバックタスクがいつトリガされるかに応じて最も近い又は最も便利なベース位置へ操縦することが可能となる。一例では、車両１００は、車両に関するベース位置が設定されていない場合に出発せず、これにより、車両１００が動作中のときにはいつでも最後の行先として車両１００が行くべき場所が確実に存在し、したがって、自律車両が立ち往生するリスクが低減する。
【００８１】
［0090］  車両１００があまり遠くへ走行することができないかもしれない状況では、車両１００を道の脇に止め、助けを求めるサインを出してよい。このオプションは、いくつかの外部因子及び／又は内部因子のために自律車両がフォールバック命令において指定された場所又はベース位置へ到着することができない場合にとられてよい。車両のコンピューティングデバイス１１０のフォールバックセレクタモジュール１３７は、車両セルフドライビングシステム１６０〜１７２に車を脇に止める命令を送信し、１つ以上のサーバコンピューティングデバイス２１０にメッセージを送信してよい。メッセージは、車両の位置及び／又は外部因子及び／又は内部因子のリストを含んでよい。
【００８２】
［0091］  或る例では、条件が、現在行われているフォールバックタスクのトリガの１つ又は複数の条件がもはや満たされないように変化する場合に、車両はフォールバックタスクの実行を止めてよい。この判断は、フォールバックセレクタモジュール１３７によってなされてよい。その後、車両は、割り込まれたタスクの実行に戻ってよく、又はタスクキューに入っている次のタスクを実行してよい。代替的に、車両は、正常動作を再開する前にフォールバックタスクを完了してよい。
【００８３】
［0092］  加えて又は代替的に、ステータス更新レポートが、図９に示すように１つ以上のサーバコンピューティングデバイス２１０に送信されてよい。タスク要求、フォールバック命令、及びステータス更新が、前述のように伝送及び受信されてよい。ステップ５４０でステータス更新を受信した後に、車両のコンピューティングデバイス１１０は、次いで、ステップ９５０でステータス更新レポートを１つ以上のサーバコンピューティングデバイス２１０に送信してよい。これは、ステータス更新の各受信後に行われてよく、又はより低頻度で行われてよい。ステップ９６０で、ステータス更新レポートに基づいて、１つ以上のサーバコンピューティングデバイス２１０は、更新されたフォールバック命令を車両のコンピューティングデバイス１１０に送信してよい。車両のコンピューティングデバイス１１０におけるフォールバックセレクタモジュール１３７は、以前に受信されたフォールバック命令を更新されたフォールバックタスク情報に置き換えてよい。他の例では、更新されたフォールバックタスクは、以前に送信されたフォールバックタスクと共に車両のコンピューティングデバイスに記憶されてよい。
【００８４】
［0093］  代替的な実施形態では、フォールバックタスクのセットに関する命令が車両１００に送信されてよい。上記の例と同様に、各フォールバックタスクは、特定のトリガと関連付けられてよい。命令はまた、対応するフォールバックタスクへの各トリガのマッピングを含んでよい。フォールバックセレクタモジュール１３７は、マッピングを自律車両１００でローカルに受信及び記憶してよい。したがって、トリガの１つ又は複数の条件が発生するときに、フォールバックセレクタモジュール１３７は、マッピングを実行するべく対応するフォールバックタスクを参照してよい。マッピングはまた、各トリガの緊急度レベルの詳細を含んでよい。フォールバックタスクを参照するときに、フォールバックセレクタモジュール１３７は、トリガの緊急度レベルも参照してよい。フォールバックセレクタモジュール１３７は、次いで、上記の例と同様にトリガの緊急度レベルに基づいてフォールバックタスクがいつ実行されるべきかを決定してよい。
【００８５】
［0094］  図１０は、１つ以上のサーバコンピューティングデバイス２１０などの１つ以上のコンピューティングデバイスによって行われ得る前述の態様のうちのいくつかに係る例示的な流れ図１０００である。しかしながら、説明される特徴は、異なる構成を有する様々なシステムのいずれかによって実装されてよい。加えて、方法に関係する動作は、説明される正確な順序で行われる必要はない。むしろ、種々の動作は、異なる順序で又は同時に取り扱われてよく、動作は追加又は省略されてよい。
【００８６】
［0095］  ブロック１０１０で、少なくとも１つのフォールバックタスクが、一次タスクの要求及び各フォールバックタスクの少なくとも１つのトリガに関連して受信されてよい。ブロック１０２０で、一次タスクを実行するべく命令の第１セットが１つ以上のセルフドライビングシステムに送信されてよい。ブロック１０３０で、セルフドライビングシステムからステータス更新が受信されてよい。ブロック１０４０で、ステータス更新に少なくとも部分的に基づいて、トリガの条件セットが満たされていることが判定されてよい。ブロック１０５０で、トリガに関連したフォールバックタスクに基づいて命令の第２セットが１つ以上のセルフドライビングシステムに送信されてよい。
【００８７】
［0096］  前述の特徴は、自律車両におけるフォールバックタスクの包括的なシステムを提供し得る。これは次に、車両の動作が人間のオペレータからの入力なしでは或る程度に妥協される種々の状況で又は車両のコンピューティングデバイスが１つ以上のサーバコンピューティングデバイスと接続できない場合に車両が適切なステップを確実にとることができるようにし得る。特に、特定のフォールバックタスクは、まだ或る距離は走行することができる車両が、指定された又は決定された場所へ自律走行することを可能にする。場所は、車両がフル動作能力に回復され得る場所であってよい。前述のフォールバックタスクの設定は、車両がセルデッドゾーンに入って動きが取れなくなる可能性をかなり低くする。結果として、車両を取りに行くのに費やされていたであろう時間、お金、及び人手が節約される。
【００８８】
［0097］  前述の特徴はまた、トリガが車両の動作に大きく影響する又はあらゆる他の理由で急を要するかどうかに基づいてフォールバックタスクがいつ実行されるべきかを決定する方法を提供し得る。そのように、タスクは、不必要に割り込まれないが、車両に伴う問題が直ちに対処を必要とするのに十分なだけ急を要するときに割り込まれる。１つ以上のフォールバックタスクを各タスク要求と共に送信すること及びベース位置をハードコードすることは、車両が知らない場所に立ち往生したままとなる可能性を低くし得る。また、車両は、必要なときに点検を受けてよく、メンテナンスのために不必要なトリップをすることを回避してよく、又は必要なときに対処を受けなくてよい。したがって、これらの特徴は、単一の自律車両又は自律車両のフリートを維持及び追跡するための簡単且つ効果的な方法を提供する。
【００８９】
［0098］  加えて、前述の特徴は、リモートサーバへの継続的な接続なしに動作し得るシステムを提供し得る。タスクが受信されると、開示された自律車両のシステムは、管理システムと通信しない状態で乗客に関係したタスク、乗客に関係していないタスク、及びフォールバックタスクを実行してよい。車両は、リモートサーバへの強い接続が存在しない可能性がある場所でタスクを自由に実行する。タスクは、リモートサーバでチェックする必要なしに迅速に連続して実行されてよい。これらの特徴は、すべての車両がすべての瞬間にしていることを微細に管理する代わりに、自律車両を管理するシステムが他のタスクを行うことを可能にする。
【００９０】
［0099］  本明細書で本発明が特定の実施形態を参照して説明されているが、これらの実施形態は本発明の原理及び用途の単なる例示であることが理解される。したがって、例証となる実施形態に多くの修正がなされ得ることと、付属の特許請求の範囲によって定義される場合の本発明の精神及び範囲から逸脱することなく他の構成が考案され得ることが理解される。
【図１】
2019067439.tif 000003
【図２】
2019067439.tif 000004
【図３】
2019067439.tif 000005
【図４】
2019067439.tif 000006
【図５】
2019067439.tif 000007
【図６】
2019067439.tif 000008
【図７】
2019067439.tif 000009
【図８】
2019067439.tif 000010
【図９】
2019067439.tif 000011
【図１０】
2019067439.tif 000012
【外国語明細書】
2019067439000001.pdf