(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-10
(45)【発行日】2024-07-19
(54)【発明の名称】目標車両速度を決定するためのシステム及び方法
(51)【国際特許分類】
B60W 30/10 20060101AFI20240711BHJP
B60W 30/095 20120101ALI20240711BHJP
B60W 40/02 20060101ALI20240711BHJP
B60W 40/105 20120101ALI20240711BHJP
B60W 40/12 20120101ALI20240711BHJP
B60W 50/08 20200101ALI20240711BHJP
B60W 60/00 20200101ALI20240711BHJP
G06T 7/00 20170101ALI20240711BHJP
G08G 1/16 20060101ALI20240711BHJP
【FI】
B60W30/10
B60W30/095
B60W40/02
B60W40/105
B60W40/12
B60W50/08
B60W60/00
G06T7/00 650Z
G06T7/00 350B
G08G1/16 A
(21)【出願番号】P 2021576550
(86)(22)【出願日】2020-06-26
(86)【国際出願番号】 US2020039993
(87)【国際公開番号】W WO2020264428
(87)【国際公開日】2020-12-30
【審査請求日】2022-02-07
(32)【優先日】2019-06-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518156417
【氏名又は名称】ズークス インコーポレイテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】エーケラ、アビシェク クリシュナ
【審査官】藤村 泰智
(56)【参考文献】
【文献】特表2018-510373(JP,A)
【文献】特開2018-151287(JP,A)
【文献】特開2019-034648(JP,A)
【文献】特開2017-128191(JP,A)
【文献】国際公開第2017/022448(WO,A1)
【文献】特開2016-203894(JP,A)
【文献】国際公開第2018/220851(WO,A1)
【文献】国際公開第2018/147872(WO,A1)
【文献】特開2019-084936(JP,A)
【文献】特開2018-158711(JP,A)
【文献】特開2018-154304(JP,A)
【文献】特開2018-087004(JP,A)
【文献】特開2018-025898(JP,A)
【文献】特開2006-251888(JP,A)
【文献】国際公開第2017/022488(WO,A1)
【文献】特開2013-025898(JP,A)
【文献】国際公開第2019/103836(WO,A1)
【文献】米国特許出願公開第2019/0025843(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B60W 30/00 ~ 60/00
G06T 7/00
G08G 1/00 ~ 1/16
(57)【特許請求の範囲】
【請求項1】
1つ以上のプロセッサと、コンピュータ実行可能命令を記憶する物理メモリとを含むシステムであって、前記コンピュータ実行可能命令は、前記1つ以上のプロセッサによって実行される結果、前記システムに、
前記システムに付随するセンサから受け取ったセンサデータに基づいて、車両の運転環境に付随する状態の組を決定することと、
前記状態の組を機械学習済みモデルに与えて目標速度を作成することであって、前記機械学習済みモデルは、グラウンドトゥルース出力として人間運転者が運転する車両の速度、及び、人間運転中に収集されたセンサデータの関連する入力を用いて生成されたトレーニングデータを用いてトレーニングされる、前記作成することと、
少なくとも部分的に前記センサデータ及び前記目標速度に基づいて、前記車両に対する軌跡を決定することと、
前記車両を制御するために用いるべき軌跡を提供することと、を行わせるシステム。
【請求項2】
前記状態の組には、
前記運転環境に付随する天気と、
前記車両に近接する更なる車両の数と、
前記更なる車両に付随する1つ以上の範囲と、
前記更なる車両に付随する1つ以上の相対速度と、
前記運転環境に付随するマップデータに少なくとも部分的に基づいて決定される前記運転環境に付随する法定制限速度と、が含まれる請求項1に記載のシステム。
【請求項3】
前記コンピュータ実行可能命令には更に、実行されると、前記1つ以上のプロセッサに、
前記センサデータから、緊急車両が存在すると決定することを行わせる命令が含まれ、
前記状態の組には前記緊急車両の存在が含まれる、請求項1又は2に記載のシステム。
【請求項4】
前記コンピュータ実行可能命令には更に、実行されると、前記1つ以上のプロセッサに、
前記センサデータから車輪スリップの度合を決定することを行わせる命令が含まれ、
前記状態の組には車両トラクションの度合が含まれる請求項1から3のいずれか一項に記載のシステム。
【請求項5】
前記コンピュータ実行可能命令には更に、実行されると、前記1つ以上のプロセッサに、
前記センサデータから、歩行者が前記車両の経路の閾値距離内にいると決定することによって前記歩行者が存在すると決定することを行わせる命令が含まれ、
前記状態の組には歩行者の存在が含まれる、請求項1から4のいずれか一項に記載のシステム。
【請求項6】
前記状態の組には更に、前記車両によって検知されない前記車両の周りの領域を特定するオクルージョングリッドが含まれる請求項1から5のいずれか一項に記載のシステム。
【請求項7】
前記コンピュータ実行可能命令には更に、実行されると、前記1つ以上のプロセッサに、
前記目標速度が以前の目標速度の閾値内にあると決定することと、
前記目標速度が前記以前の目標速度の前記閾値内にあると決定することに少なくとも部分的に基づいて、前記車両を制御することと、を行わせる命令が含まれる、請求項1から6のいずれか一項に記載のシステム。
【請求項8】
前記トレーニングデータには複数のデータサンプルが含まれ、前記複数のデータサンプル中のサンプルには、前記状態の組の中の状態に対する値及び人間運転者が運転する付随する速度が含まれる請求項1から7のいずれか一項に記載のシステム。
【請求項9】
前記コンピュータ実行可能命令は、前記システムに、
制御している前記車両の速度能力を決定することであって、前記速度能力は、前記車両の馬力、前記車両の重量、前記車両が運ぶ任意の積荷の重量、前記車両が曳航する任意の積荷の重量、周囲空気温度、及び内部車両コンポーネントの温度に基づいている、決定することと、
前記速度能力が前記目標速度よりも小さい場合、前記目標速度を前記速度能力に設定することと
をさらに行わせる、請求項1から8のいずれか一項に記載のシステム。
【請求項10】
前記内部車両コンポーネントの温度は、バッテリ温度、モータ温度、エンジン温度、冷媒温度及び/又はトランスミッション温度を含む、請求項9に記載のシステム。
【請求項11】
前記コンピュータ実行可能命令は、前記システムに、
前記センサデータから、緊急車両が存在すると決定すること
をさらに行わせ、
前記状態の組は、前記緊急車両の存在を含み、
アクティブな前記緊急車両は、前記緊急車両上の点滅光を検出することによって検出される、請求項1から10のいずれか一項に記載のシステム。
【請求項12】
方法であって、
車両上の1つ以上のセンサからセンサデータを受け取ることと、
前記センサデータに基づいて、前記車両が走行する環境の特性を表す1つ以上のパラメータを決定することと、
少なくとも部分的に前記センサデータ及び前記1つ以上のパラメータに基づいて、グラウンドトゥルース出力として人間運転者が運転する車両の速度、及び、人間運転中に収集されたセンサデータの関連する入力を用いて生成されたトレーニングデータを用いてトレーニングされた機械学習済みモデルを用いて目標速度を決定することと、
少なくとも部分的に前記センサデータ及び前記目標速度に基づいて、前記車両に対する軌跡を決定することと、
前記車両を制御するために用いるべき軌跡を提供することと、を含む方法。
【請求項13】
前記1つ以上のパラメータには、同じ方向に走行する車両の量、反対方向に走行する車両の量、停車中の車両の数、前記環境に付随するマップデータ、速度制限、車線幅、支配的走行速度、又は接近する走行速度のうちの1つ以上が含まれる請求
項12に記載の方法。
【請求項14】
前記トレーニングデータは、前記車両の速度がゼロであるか又は前記車両の経路が別の車両、物体、又は交通ジャンクションに妨げられている運転シナリオを除外する請求
項12又は13に記載の方法。
【請求項15】
前記車両の速度を、前記目標速度の下限値と、少なくとも部分的にマップデータに基づいて決定された前記環境に付随する制限速度とに限定することを更に含む請求
項12から14のいずれか一項に記載の方法。
【請求項16】
更に、
少なくとも部分的に自律車両の性能限界に基づいて制限速度を決定することと、
前記制限速度に基づいて前記目標速度を下げることと、を含む請求
項12から15のいずれか一項に記載の方法。
【請求項17】
更に、
前記機械学習済みモデルに対して前記車両の車種を特定することを含み、
前記1つ以上のパラメータには前記車種が含まれる請求
項12から16のいずれか一項に記載の方法。
【請求項18】
制御している前記車両の速度能力を決定する段階であって、前記速度能力は、前記車両の馬力、前記車両の重量、前記車両が運ぶ任意の積荷の重量、前記車両が曳航する任意の積荷の重量、周囲空気温度、及び内部車両コンポーネントの温度に基づいている、決定する段階と、
前記速度能力が前記目標速度よりも小さい場合、前記目標速度を前記速度能力に設定する段階と
を更に備える、請求項12から17のいずれか一項に記載の方法。
【請求項19】
前記内部車両コンポーネントの温度は、バッテリ温度、モータ温度、エンジン温度、冷媒温度及び/又はトランスミッション温度を含む、請求項18に記載の方法。
【請求項20】
前記センサデータから、緊急車両が存在すると決定する段階であって、アクティブな前記緊急車両は、前記緊急車両上の点滅光を検出することによって検出される、段階を更に備える、請求項12から19のいずれか一項に記載の方法。
【請求項21】
1つ以上のプロセッサに請求
項12から20のいずれか一項に記載の方法を行わせるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、米国特許出願第16/457,643号、発明の名称「SYSTEM AND METHOD FOR DETERMINING A TARGET VEHICLE SPEED」(2019年6月28日に出願)に対する優先権を主張する。なおこの文献の完全な開示は、その全体において及びすべての目的に対して、参照により組み込まれている。
【背景技術】
【0002】
自律車両の開発には人々の生活を向上させる大きい可能性がある。初期の例では、車両速度を設定速度に維持する速度制御が設けられていた。後の実施態様では、視覚、レーザ、又はレーダセンサを加えて、クルーズコントロールシステムが、制御している車両の前を走る車の流れからの距離を維持できるようにしていた。更に後の実施態様では、車両の操縦を支援するために、車線逸脱警報システム及び車線維持システムも加えられた。人間の介入を最小に、できればゼロにして車両を操作できることを期待して、多くの企業及び個人が完全自律システムに取り組んでいる。このようなシステムの経済的利益は魅力的であるが、完全自律車両をマス市場に展開することに成功した大手メーカーはない。自律運転の問題は、応用物理の単純な問題よりもはるかに複雑で微妙な違いがあることが分かっている。例えば、どんな自律車両も、人間オペレータが人間の意思決定を行うことによって操作している他の多くの車両と相互に作用しなければならない。したがって、どんな自律型運転システムも、車両の乗員及び他の車両のオペレータと適切に相互作用するように動作することが重要である。
【図面の簡単な説明】
【0003】
図面を参照して、種々の技術について説明する。
【
図1】運転環境で動作する自律車両の例を例示する図である。
【
図2】人間運転データに基づいて望ましい速度を決定するための機械学習済みモデルを作成するシステムの例を例示する図である。
【
図3】運転環境特性の組を考慮して望ましい車両速度を出力する機械学習済みモデルを作成するプロセスの例を例示する図である。
【
図4】機械学習済みモデルを用いて望ましい車両速度を決定する車両制御システムの例を例示する図である。
【
図5】自律型車両制御システムによる実行の結果、機械学習済みモデルが生成した望ましい速度に従って車両速度を制御するプロセスの例を例示する図である。
【
図6】自律型車両制御システムによる実行の結果、少なくとも部分的に機械学習済みモデルが生成した速度に基づいて生成された好ましい車両速度を決定するプロセスの例を例示する図である。
【
図7】本明細書で説明する種々の技術を実施することができるシステムを例示する図である。
【発明を実施するための形態】
【0004】
本文献では、人間が運転する例を用いてトレーニングされた機械学習済みモデルを用いて自律車両に対する望ましい速度を決定するシステムを説明する。種々の例において、機械学習済みモデルはニューラルネットワークである。人間が運転する例を用いてニューラルネットワークをトレーニングする。これは、運転環境の種々の特性を特定した後に、それらの特性を人間オペレータが運転する速度とともにニューラルネットワークに与えることによって行う。一例では、特性には、車線幅、標示された制限速度、接近する走行速度、道路の垂直及び水平曲率、他の近くの車両の速度、及び視界が含まれる。トレーニング後に、いくつかの例では、ニューラルネットワークのトレーニング済みの状態は、人間オペレータが同様の状態の下で選択するであろう速度と同様の、自律車両にとって適切な速度を決定するために用いることができる機械学習済みモデルである。
【0005】
一例では、自律車両には車両制御システムが含まれる。車両制御システムは、1つ以上のプロセッサと実行可能命令を記憶するメモリとを含むコンピュータシステムであり、命令は、1つ以上のプロセッサによって実行される結果、システムに車両を制御させる。車両制御システムには、ステアリング、スロットル、及び他の車両システムの制御を可能にする種々のサーボ、並びにセンサの組、例えばカメラ、レーダ、グローバルポジショニング受信機及びナビゲーショナルデータベース、姿勢センサ、及びセンサデータを収集する加速度計が含まれる。一例では、車両制御システムが収集したセンサデータを用いて、トレーニングデータ中に表された特性と一致する特性の組を推定する。推定した特性の組を機械学習済みモデルに与えて、機械学習済みモデルが特性に基づいて望ましい速度を生成する。いくつかの例では、機械学習済みモデルをセンサデータからトレーニングし、結果として得られる機械学習済みモデルが、車両制御システムが取得したセンサデータから望ましい速度を生成する。
【0006】
種々の例では、トレーニングデータ中に表された更なる特性を、他のサービスによって車両制御システムに与えてもよい。例えば、マップデータ、気象情報、温度情報、時刻、及び年の日付が、トレーニングデータ中に存在していてもよく、望ましい速度を生成するために車両制御システムが用いてもよい。別の例では、車両特性、例えば車種、車両重量、車両ペイロード、曳航荷重、馬力、バッテリ温度、及び冷媒温度が特性に含まれていてもよい。更に別の例では、道路状態(粗さ及び/又は表面種類)、工事看板又は信号の存在、交通信号機の故障につながる電力網障害、道路上の雪又は氷又は他の材料の存在を(トレーニングデータ中に存在する場合には)、車両制御システムとともに用いて望ましい車両速度を生成することができる。
【0007】
本明細書で説明する車両速度学習システムの1つの利点は、機械学習済みモデルが計算した望ましい速度が、人間オペレータが予想できるものであるということである。これは、予測できる人間のような挙動を見積もる自律制御を可能にすることによって車両安全性を助ける。別の利点は、本明細書で説明する車両速度学習システムが、多くの運転環境特性を組み合わせて、全体的な文脈を考慮して安全速度を生成することができることである。機械学習済みモデルが決定する望ましい速度は、法定制限速度の制限、車両の物理的限界、及び車両制御システムの制御能力のみを考慮に入れた物理モデルが計算する望ましい速度とは、実質的に異なる場合がある。例えば、可能な車両制御システムであれば、霧の中の狭い湾曲した道路を、レーダ及び高性能センサを用いて、標示された制限速度で完全に安全に進むことができると判断し得るが、このような車両に人間が乗る場合、極めて不快であり得る。なぜならば、このような状態の下では見ることができないからである。
【0008】
当業者であれば本開示を考慮して分かるように、特定の例によって、以下の一部又は全部を含む特定の利点を実現することができ得る。(1)目標車両速度をより正確に決定することによって、運転環境特性の組み合わせを補償する、(2)より人間のような速度選択に改善することによって、人間が操作する車両との相互作用を改善することができる、(3)人間の運転助手との連携の改善、(4)安全性の向上。
【0009】
図1は、運転環境で動作する自律車両の例を例示する図である。運転環境100には、多くの他の車両とともに道路上で動作する自律車両102が含まれる。種々の例において、自律車両102は自動車、トラック、フォークリフト、牽引器、農業車両とすることができる。一例では、自律車両102は、運転者支援機能(例えば、アダプティブクルーズコントロール及び/又は車線維持機能)を伴う準自律車両である。自律車両102には車両制御システムが含まれる。車両制御システムには、プロセッサと、実行可能命令を含むメモリとが含まれる。実行可能命令は、実行される結果、車両制御システムに、車両上の1つ以上のセンサからセンサデータを取得すること、センサデータを処理して運転環境特性の組を決定すること、そして、少なくとも部分的にこれらの運転環境特性に基づいて車両を制御することを行わせる。種々の例において、運転環境特性には、車両が走行している道路の幅、自律車両の周りの他の車両の位置及び相対速度、道路の垂直及び水平曲率、並びに支配的な道路摩擦、視界、及び感覚の鋭敏さを含めることができる。
【0010】
少なくともいくつかの例では、すべてのセンサからのシーンの視界に関する情報を決定してもよい(例えば、オクルージョンマップを構築することによって)。このようなオクルージョン情報を、機械学習済みモデルに対する入力として用いて、提案又は要求される速度を更に決定してもよい。このようなオクルージョングリッド生成の例を、米国特許出願第16/11,436号(2018年6月18日に出願)、発明の名称「Occlusion Aware Planning」に見出すことができる。なおこの文献は参照により本明細書に組み込まれている。
【0011】
一実施態様では、他の車両、歩行者、自転車、又は物体を、センサ(例えば、自律車両上のカメラを介して取得したビデオ)を用いて追跡(記録)する。一例では、物体を、自律車両上のカメラを用いて取り込んだビデオ画像を用いて追跡(記録)してもよい。データを車両制御システムが処理して、他の環境データ(速度、加速度など)の他に、各認識された物体に付随する範囲又は境界ボックスを特定する。マップデータを受け取ってもよい。このような情報を多チャンネル画像にエンコードしてもよい(例えば、各「画像」は異なる環境データに対応する-例えば、1つのチャンネルは境界ボックスの範囲をエンコードし、1つのチャンネルは速度をエンコードし、1つはマップデータ用など)。更なる情報を米国特許出願第16/151,607号(2018年10月4日に出願)、発明の名称「Trajectory Prediction Based On Top-Down Scenes」に見出すことができる。なお、この文献の全体の内容は参照により本明細書に組み込まれている。
【0012】
図1に例示した例では、自律車両102は、2車線道路の第1の車線116に沿って走行しており、その後を第1の車両104がついている。第2の車両106及び第3の車両108は、第2の車線118を自律車両102とほぼ反対方向に走行している。道路には第1の路肩領域120及び第2の路肩領域122が含まれる。第1の停車車両110は第2の路肩領域122に停車しており、第2の停車車両112は第1の路肩領域120に停車している。例示した例では、道路に対する支配的な制限速度は時速55マイルであり、道路標識114に示されている。
【0013】
例では、車両制御システムは、運転環境特性の組及び発見的な測定値、法定限度、及び車両の動的限界に基づいて計算された望ましい速度に従って自律車両102を制御する。例では、法定限度を、道路標識114を視認して制限速度を読む自律車両102上のカメラによって決定してもよい。別の例では、法定限度を、道路情報のデータベース(車両制御システム上に記憶されるか又は無線ネットワーク接続を介して遠隔にアクセス可能である(例えば、マップ内でのエンコーディングから利用可能であり得る))から決定してもよい。車両の動的限界は、いくつかの例では、車種、周囲温度、トランスミッション温度、冷媒温度、又は推定される馬力出力に基づいて決定してもよい。いくつかの例では、発見的な限界を、推定される車両トラクション、道路曲率、及びセンサの鋭敏さに基づいて決定する。
【0014】
ある場合には、車両制御システムには、望ましい車両速度を生成するために用いられる機械学習済みモデルが含まれる。機械学習済みモデルを、人間運転者が種々の運転環境特性及び種々の速度の下で車両を運転するデータを用いてトレーニングする。機械学習済みモデルは、運転環境特性の組を考慮して望ましい速度を生成することを学習する。トレーニングデータに基づいて、機械トレーニング済みモデルが生成した速度は、人間オペレータが運転するであろう速度を表す。この速度は、例えば、法定速度、又は発見的アルゴリズムを介して決定される速度とは異なっていてもよい。少なくともいくつかの例では、このような機械学習済みモデルに基づいて望ましい速度を決定することには、このような機械に容易にエンコードされない更なる情報についての推論が含まれていてもよい。いくつかの例では、センサデータを運転環境特性の組に変換し、特性を機械学習済みモデルに入力して目標車両速度を生成する。センサデータを前処理して運転環境特性にすることによって、必要なニューラルネットワークのサイズ及び/又は深さが低減される。これにより、種々の実施態様では、システムのコンピューティング資源フットプリントが減り、トレーニング負担が減ってもよい。
【0015】
例では、自律車両102を車両制御システムが操作するときに、車両制御システムは車両センサからセンサデータを取得する。車両センサには、種々の例において、デジタルカメラ、超音波センサ、光検出及び測距(「LIDAR」)センサ、レーダセンサ、温度センサ、湿度センサ、水分センサ、加速度計、エンジンセンサ、及び車両状態センサが含まれる。車両制御システムは、センサデータを、機械学習済みモデルの入力に対応する運転環境特性の組に統合する。そして、運転環境特性を用いて、車両制御システムは機械学習済みモデルに基づいて望ましい速度を決定する。運転環境特性には、車線幅、車線曲率、同じ方向に走行する自動車の数、同じ方向に走行する自動車の相対速度、反対方向に走行する自動車の数、停車中の自動車の数、標示された制限速度、支配的な視界、日光の量、及び歩行者、自転車、又は他の車両の存在などの特性が含まれていてもよい。
【0016】
いくつかの例では、機械学習済みモデルが生成した速度は、車両に対する最終的な望ましい速度を決定するために車両制御システムが用いるいくつかの制限速度候補のうちの1つである。いくつかの例では、車両速度の変化は、現在の速度をローパスフィルタでフィルタリングすることによって決定される。いくつかの例では、シュミットトリガ又はヒステリシスフィルタを用いて、車両速度の「ハンチング」又は頻繁な小さいシフトを防ぐ。このような例では、モデルが出力する望ましい速度を直前に要求された望ましい速度と比較して、任意の変化が閾値内にあることを確実にしてもよい。
【0017】
図2に、例において人間運転データに基づいて望ましい速度を決定するための機械学習済みモデルを作成するシステム200の例を例示する。トレーニングコンピュータシステム206は、運転トレーニングデータ202の組を用いて、車両に対する望ましい速度を生成する機械学習済みモデルを、運転トレーニングデータ202中に存在する運転環境特性の組204に対応する運転環境特性の組を考慮して作成する。一例では、運転トレーニングデータ202には、法定制限速度、車線幅、走行速度、運転している自動車と同じ方向に進む自動車の速度、反対方向に走行する自動車の速度、歩行者の場所、及び停車中の自動車の場所などの情報が含まれる。少なくともいくつかのこのような運転トレーニングデータ202は、少なくとも部分的に、対応する車両(実体の場所、速度、範囲など)に付随する知覚システム、並びに位置測定システム(例えば、車線幅、制限速度など)によって決定した車両の位置に付随するマップデータ内で符号化されたデータに基づいて決定してもよい。いくつかの例では、更なる運転環境特性がトレーニングデータ中に存在していてもよく、緊急車両の存在などの速度、及び霧、雨、雪、又は氷の状態などの不都合な天候条件を生成するために用いてもよい。いくつかの例では、運転トレーニングデータ202には、車両状態情報、例えばトラクションデータ、車種、馬力、総重量、曳航データ、エンジン温度、トランスミッション温度、時刻、週の日、年の月、バッテリーレベル、及びバッテリ温度が含まれる。運転トレーニングデータ202中の各組の運転環境特性に対して、付随する車両速度が存在する。多くの例では、運転トレーニングデータ202は、人間が操作する車両又は車両シミュレータによって生成され、運転トレーニングデータ202中の車両速度は、付随する運転環境特性下で人間オペレータが運転する速度である。少なくとも、車両を人間が操作しないいくつかの例では、参照物体の速度をトレーニングに対して用いてもよい。非限定的な例として、自律運転する車両は、第2の車両の運転を認識し、他のすべての実体(自律的に運転される車両を含む)の速度及び第2の車両に対する相対場所を、運転トレーニングデータ202として用いてもよい。
【0018】
例では、運転トレーニングデータ202を、トレーニングコンピュータシステム206からアクセス可能なディスクドライブ又は他のコンピュータ可読記憶媒体上に格納されたデータベースに記憶する。いくつかの例では、運転トレーニングデータ202をリレーショナルデータベースに記憶する。いくつかの例では、運転トレーニングデータ202を、メモリ内に、リンクリスト、ハッシュテーブル、又はアレイなどの値ペアを記憶することができるデータ構造を用いて、運転環境特性及び付随する速度のペアとして記憶する。種々の例において、このようなデータをトップダウン多チャンネル画像にエンコードしてもよい。ここでは、画像の各チャンネルが環境のデータをエンコードする。更なる情報を、前述したように米国特許出願第16/151,607号に見出し得る。本明細書で説明する任意の数の例において、運転トレーニングデータ202には、ある時間に渡って蓄積された一連のこのようなデータ(例えば、一連の多チャンネル画像、例えば、1つ、2つ、3つ、又はそれ以上)が含まれていてもよい。
【0019】
トレーニングコンピュータシステム206は運転トレーニングデータ202を機械学習システムに与えて、機械学習済みモデル208を作成する。種々の例において、トレーニングコンピュータシステム206は、機械学習済みモデル208のトレーニングを、運転トレーニングデータ202中の運転環境特性を機械学習済みモデル208に与え、人間オペレータが運転する付随する車両速度の報酬又は例を用いることによって行う。一例では、機械学習済みモデル208は普遍近似器である。いくつかの実施態様では、運転トレーニングデータ202を処理してデータをフィルタリングし、運転する車両が動いていないか又は車両が別の車両に妨げられている場合を除外する。いくつかの例では、運転トレーニングデータ202には種々の車種からのデータが含まれ、運転トレーニングデータ202をフィルタリングして機械学習済みモデル208が制御すべき車種のみを含むようにする。少なくともいくつかの例では、このような機械学習済みモデル208には、人工的な又は深層学習されたニューラルネットワーク(例えば、限定することなく、畳み込みニューラルネットワーク)が含まれる。ここでは、望ましい速度をグラウンドトゥルースとして設定し、内部パラメータを、予想される成果と実際の出力との違いに付随する損失又はコストを計算して勾配降下法を行うことに基づいて調整する。
【0020】
例では、トレーニングコンピュータシステム206が機械学習済みモード208のトレーニングを終了したら、機械学習済みモデル208は運転環境特性を取って、人間オペレータが選択する可能性がある速度を生成することができる。機械学習済みモデル208が提案する速度を、車両に対する望ましい速度として用いてもよいし、又は他のデータと組み合わせて処理して車両に対する最終的な望ましい速度を生成してもよい。例えば、車両機械学習済みモデル208が提案する速度を、法定制限速度によって制限してもよい。別の例では、機械学習済みモデル208が提案する速度を更に、少なくとも部分的に車両の能力に基づいて、車両制御システムによって限定してもよい。少なくともいくつかの例では、法定制限速度は、それを超えて車両が進むことが許されない閾値であってもよい。例えば、車の流れが標示の制限速度よりも速い(及び対応する望ましい速度出力がこのような制限速度よりも大きい)にもかかわらず、車両にはこのような制限によって上限を設けてもよい。
【0021】
種々の例において、機械学習済みモデル208は、運転トレーニングデータ202を用いてトレーニングされるニューラルネットワーク又は学習システムとすることができる。いくつかの例では、機械学習済みモデル208は、回帰法を用いて曲線に運転トレーニングデータ202をフィッティングすることで生成される機能とすることができる。
【0022】
図3に、運転環境特性の組を考慮して望ましい車両速度を出力する機械学習済みモデルを作成するプロセス300の例を例示する。少なくとも1つの例では、機械学習済みモデルを、記憶装置と命令を記憶するメモリとを含むコンピュータシステムに基づいてトレーニングしてもよい。命令は、機械学習システムの1つ以上のプロセッサによって実行される結果、システムに、
図3に例示したプロセスを行わせる。機械学習コンピュータシステムは、機械学習済みモデルを実施して、機械学習済みモデルのトレーニングを、運転環境特性を望ましい速度に変換するデータを用いて管理する。
【0023】
プロセス300はブロック302から始まる。ここでは、トレーニングコンピュータシステムは、人間オペレータが運転する車両に対する運転データを取得する。いくつかの例では、運転データには、機器を備えた車両から収集されたデータが含まれる。別の例では、運転データには、シミュレートされた車両を人間オペレータが操作することによって生成されるデータが含まれる。更に別の例では、運転データには、交通カメラ又は交通信号機カメラなどの車両モニタリングシステムによって観察されたデータが含まれる。更に別の例では、運転データは、携帯電話追跡から生じる交通監視アプリケーション又はソーシャルメディア運転アプリケーションから収集される。種々の例において、運転データは、機械学習システムからアクセス可能な局所又は遠隔データベース上に記憶される。
【0024】
ブロック304において、機械学習コンピュータシステムは運転データを処理して、関連性のあるトレーニングデータを特定する。いくつかの例では、機械学習コンピュータシステムは、車両が動いていない運転データを除外する。他の例では、機械学習コンピュータシステムは、特定の車両の速度が別の車両又は物体に妨げられる(例えば、別の車両に接近してついて行く)運転データを除外する。別の例では、機械学習コンピュータシステムは、対象とする車両と車種が著しく異なる運転データを除外する。機械学習済みモデルが乗用車に対する望ましい速度を決定するようにトレーニングされている場合には、機械学習コンピュータシステムは、曳航トレーラー、又は大きなトラックである車両をデータセットから除外してもよい。一実施態様では、機械学習コンピュータシステムは、車両が交差点、交通ジャンクション、又はグリッドオクルージョンにいる運転データを除去する。種々の例において、オクルージョンに関する情報(例えば、オクルージョングリッドにおいてエンコードされ得るような)を、このようなモデルに入力して決定を行ってもよい。非限定的な例として、車両が(霧などのせいで)見えない場合には、(少なくとも要因として)視界不良に基づいて速度を落としてもよい。
【0025】
ブロック306において、機械学習コンピュータシステムは、機械学習済みモデルをトレーニングするために用いるべき特定の時間に個々の車両を選択することによって、残りの運転データをサンプリングする。ブロック308において、各サンプルに対して、機械学習コンピュータシステムは当該の車両に対する運転環境特性の組を決定する。運転環境特性の組は前述した特性のいずれかであってもよい。例えば、運転環境特性の組には、法定制限速度、車線幅、支配的な視界、天候条件、車両の閾値距離内にある他の車両の数、車両の閾値距離の外にある他の車両の数、停車中の自動車の数及び場所、歩行者の存在、自転車又は非電動車両の存在、道路曲率、及び丘の存在が含まれていてもよい。いくつかの例では、運転環境特性には路面品質の表示が含まれていてもよい。例えば、運転環境特性には、道路が砂利、緩い砂利、土、アスファルト、コンクリート、工事中、新しくチップシールされている、氷に覆われている、雪に覆われている、又は新しくタールが塗られていることが含まれていてもよい。一例では、運転環境特性には自動車が道路建設領域にいるか否かの表示が含まれている。
【0026】
例では、ブロック310において、機械学習コンピュータシステムは、各サンプルに対して、サンプル及び運転環境特性に付随する車両の速度を決定する。種々の例において、車両の速度をデータ内に直接又は間接的に与えてもよい。車両に付随する速度は、いくつかの例では車両上の速度計又は車輪速センサを読むことによって決定することができる。他の例では、車両の速度を、車両の位置の変化を測定して位置測定間の時間で割ることによって、間接的に決定することができる。いくつかの実施態様では、車両速度をレーダを用いて直接測定する。他の物体の速度を、視覚追跡、レーダ、又はLIDARからの入力を、自律車両の速度及び方向を測定する入力と組み合わせることによって決定してもよい。
【0027】
ブロック312において、機械学習コンピュータシステムは、運転環境特性の組及び付随する車両速度を含む処理した運転データを、機械学習済みモデルに与える。機械学習済みモデルをこのデータを用いてトレーニングし、トレーニング後に、制御している車両から測定された対応する運転環境特性の組が与えられると、望ましい車両速度を生成することができる。例えば、自律車両は、種々のカメラ、超音波センサ、レーダ、LIDAR、及び他のセンサを使用し、センサデータを用いて、自律車両に対する運転環境特性の組を統合する。トレーニングされた機械学習済みモデルの運転環境特性の組を与えることによって、機械学習済みモデルは、望ましい車両速度をトレーニングデータに基づいて生成することができる。種々の例において、機械学習済みモデルが生成する車両速度は、トレーニングデータが主に人間制御下の車両からなる場合には、人間運転者のそれによく似ている。
【0028】
種々の例において、機械学習済みモデルは、トレーニングされたら、車両制御システムに移して、人間のような速度選択を自律車両に対して行うために用いることができる。種々の例において、機械学習済みモデルが決定した速度を他の制限と結合して、下方の車両速度を生成してもよい。人間が運転するトレーニングから推定される速度に車両を制限することで、車両安全性が、環境特性全体に基づいてより正確な速度を与えることによって向上する。例えば、機械学習済みモデルは、目標車両速度を過酷な天候条件、視界の低下、表面の異なる摩擦係数などに、複雑な(及びしばしば不可能な)物理モデルを必要とすることなく適応させることができる。加えて、人間が運転するトレーニングデータから推定される速度に車両を制限することで、種々の例において、現時点で自律制御下にある車両に乗るときに車両乗客及び運転助手をもっと安心させてもよい。
【0029】
図4に、機械学習済みモデルを用いて望ましい車両速度を決定する車両制御システム400の例を例示する。一実施態様では、車両制御システム400には、自律車両制御システム402、車両センサインターフェース404、車両制御インターフェース406、及び機械学習済みモデル408が含まれている。自律車両制御システム402は、1つ以上のプロセッサと命令を含むメモリとを含むコンピュータシステムである。命令は、1つ以上のプロセッサによって実行される結果、自律車両制御システム402に、車両センサインターフェース404を介してセンサデータを取得すること、種々の制御動作を行うこと、車両制御インターフェース406を介して自律車両に制御信号を出力することを行わせる。いくつかの例では、自律車両制御システム402は、マイクロプロセッサ、GPU、プロセッサ、又は埋め込まれた論理回路である。自律車両制御システム402のいくつかの実施態様では、プロセッサ(例えば、
図7に記載して図示するもの)を用いてもよい。
【0030】
種々の例において、自律車両制御システム402を完全自律型又は部分自律型車両制御システムの一部として用いてもよい。例えば、自律車両制御システム402は、人間オペレータが方向制御を与える一方で車両に速度制御を与えてもよい。別の例では、人間オペレータが特定の複雑な運転状況を引き継ぐために存在しながら、自律車両制御システム402が車両に自律制御を与えてもよい。種々の例において、自律車両制御システム402を用いて、乗用車、トラック、セミトラクタートレイラー、フォークリフト、配達用バン、牽引器、農業車両、又は鉱山トラックを制御してもよい。いくつかの実施態様では、トレーニングデータには車種を特定することが含まれ、モデルは、特定した車種にとって適切な目標速度を生成する。
【0031】
種々の例において、車両センサインターフェース404には、車両に直接又は間接的に接続されるセンサの組によって自律車両制御システム402に接続して機能する電子ハードウェアが含まれている。一例では、車両センサインターフェース404には、ビデオカメラ410の組、超音波センサ412の組、レーダセンサ414、LIDARセンサ416、及び1つ以上の環境センサ418が含まれている。ビデオカメラ410の組には、カラー、白黒、又は赤外線カメラが含まれていてもよい。カメラを車両の前方、後方、頂部、又は底部に位置付けてもよい。いくつかの例では、可視及び赤外線カメラをカバー領域を重複させて位置付けてもよい。超音波センサ412の組には、パーキングセンサ及び近接物体検出センサも含まれていてよい。いくつかの例では、レーダセンサ414は前方監視レーダである。他の例では、レーダセンサ414は、車両の周りの円弧又は一周にわたる視界を与える。LIDARセンサ416は車両の周りの物体までの距離を示す。
【0032】
種々の例では、1つ以上の環境センサ418には、大気センサ、例えば外部温度センサ、水分センサ、湿度センサ、風センサ、大気圧センサ、及び高度計が含まれていてもよい。いくつかの例では、1つ以上の環境センサ418には、自律車両制御システム402によって遠隔にアクセスされる1つ以上のサービスが含まれていてもよい。例えば、1つ以上の環境センサ418には、無線ネットワーク例えばセルラーネットワークを介して自律車両制御システムによってアクセスされる気象サービスが含まれていてもよい。いくつかの例では、1つ以上の環境センサ418には、道路建設、道路修正、事故、道路オクルージョン、又は他の道路状況情報であって、行政機関又は他の実体によって与えられるものを示す道路状況サービスが含まれていてもよい。
【0033】
例では、車両制御インターフェース406には、自律車両制御システム402が自律車両を制御できるようにする電気機械インターフェースが含まれている。一例では、車両制御インターフェース406には、スロットル制御420、ステアリング制御422、ブレーキ制御424、及びアクセサリ制御426が含まれている。種々の例において、自律車両制御システム402は、デジタル制御信号を、より高電力の電気信号に変換する電気的インターフェースによって種々の態様の車両を制御する。より高電力の電気信号は、車両の機械制御に結合されたステッピングモーター、アクチュエータ、ソレノイド、又は起電デバイスを駆動するために用いることができる。例えば、一実施態様では、スロットル制御420を、車両のエンジンのスロットル制御に結合されたリニアアクチュエータ及び位置センサを用いて実施する。別の例では、スロットル制御420を、電気車両の電動モータコントローラに送られる電気信号によって実施する。例では、ステアリング制御422を、ラックアンドピニオンメカニズムを介して車両のステアリングを駆動するステッピングモーターを用いて実施する。例では、ブレーキ制御424は、油圧ピストンを動作させて油圧ブレーキシステムを加圧する電気アクチュエータである。いくつかの例では、ブレーキ制御424は、回生ブレーキングを含む電子ブレーキコントローラにリンクされている。いくつかの例では、ブレーキ制御424には、空気ブレーキ、ジェイクブレーキ、回生ブレーキング、トレーラーブレーキ、及び摩擦ブレーキを含む多段式ブレーキングが含まれる。例では、アクセサリ制御426には、更なる車両制御、例えば電気車両に対するバッテリ充電システム、冷却システム、タイヤ圧力モニタリングシステム、又は燃費モニタリングシステムが含まれている。例えば、アクセサリ制御426には、電気車両バッテリパックの充電レベル及び温度を示すバッテリモニタリングシステムが含まれていてもよい。
【0034】
種々の例において、自律車両制御システム402は車両センサインターフェース404上の種々のセンサからセンサデータを回収する。センサデータは、自律車両制御システム402によって処理されて、運転環境特性の組428を生成する。いくつかの例では、運転環境特性の組は、機械学習済みモデル408をトレーニングするために用いるべき特性の組に一致する。自律車両制御システム402は、運転環境特性の組428を機械学習済みモデル408に与える。それに応じて、機械学習済みモデル408は望ましい速度を計算して、この望ましい速度を自律車両制御システム402に与える。自律車両制御システム402は、いくつかの例では、機械学習済みモデル408が生成した望ましい速度を、他の制限、例えば法定制限速度、物理的な制限速度、又は発見的に計算された制限速度と組み合わせて、自律車両にとって最終的な望ましい速度を決定してもよい。少なくとも部分的に、機械学習済みモデル408が生成した望ましい速度に基づいて、自律車両システムは車両制御インターフェース406を介して自律車両を制御する。例えば、望ましい速度が、現時点で車両センサインターフェース404が検知している速度よりも速い場合、自律車両制御システム402は、スロットル制御420を増加させるか又はブレーキ制御424(現時点で印加されている場合)を減少させてもよい。別の例では、望ましい速度が、現時点で車両センサインターフェース404が検知している速度よりも遅い場合、自律車両制御システム402は、車両制御インターフェース462を用いて、スロットル制御420を減少させるか又はブレーキ制御424を増加させてもよい(スロットルが閉じている場合)。
【0035】
図5に、自律型車両制御システムによる実行の結果、機械学習済みモデルが生成した望ましい速度に従って車両速度を制御するプロセス500の例を例示する。いくつかの例では、自律型車両制御システムは、
図4及び関連する説明に示すようなシステムである。いくつかの例では、プロセスはブロック502から始まる。ここでは、自律型車両制御システムが自律車両のセンサからセンサデータを取得する。いくつかの例では、センサデータをサンプリングレートに従って周期的に取得する。他の例では、センサデータを、センサを介して信号を受け取ったことに応じて取得する。更に他の例では、センサデータを、センサで受け取った信号の変化に応じて取得する。
【0036】
例では、ブロック504において、自律型車両制御システムはセンサデータを処理して、車両に対する運転環境特性の組を決定する。例では、運転環境特性は機械学習済みモデルに対する入力パラメータの組に対応する。いくつかの例では、いくつかの運転環境特性、例えば法定速度、道路曲率、及び道路幅を(例えば、環境内の位置に付随するマップデータから)直接決定してもよい。他の例では、特定の運転環境特性をセンサ信号、例えば停車車両の場所、他の車両の速度、及び車線幅から間接的に計算する。いくつかの運転環境特性では、画像処理、例えば緊急車両の検出が必要となる場合がある。例えば、緊急走行中の緊急車両を、緊急車両上の点滅光を検出することによって検出することができ、このような分類を、速度を決定するための別の特徴としてネットワーク内に入力することができる(例えば、このような車両がある場合に、車の流れが減速することを認識する)。いくつかの例では、自律型車両制御システムは無線ネットワークを介して遠隔データサービスにアクセスし、センサデータを遠隔サービス例えば気象サービス又は道路状況サービスから取得する。
【0037】
例では、ブロック506において、自律型車両制御システムは運転環境特性を本出願の他の場所で説明した機械学習済みモデルに与える。一例では、機械学習済みモデルは、少なくとも部分的に、与えられた運転環境特性に基づいて、望ましい車両速度を生成する。別の例では、機械学習済みモデルは、車両に対する直線又は角加速度制限を生成する。更に別の例では、機械学習済みモデルは、望ましい速度、加速限界、旋回限界、又は他の制御限界のうちの1つ以上が含まれていてもよい複数の出力を生成する。種々の例において、機械学習済みモデルは、更なるアクチュエータコマンドを直接出力しなくてもよく、このようなコマンドを出力速度から推測してもよい。非限定的な例として、このようなモデルが、40mphの制限速度があると指定された領域で30mphの制限速度を出力した場合、すべての駆動に、それらの公称閾値の75%(例えば、最大の加速度、ステアリング角レートなどの75%)の上限を設けてもよい(例えば、満たしても超えてもいけない閾値を有する)。ブロック508において、自律型車両制御システムは、機械学習済みモデルが与えた望ましい速度を用いて、車両に対する目標速度を決定する。いくつかの例では、機械学習済みモデルが与える望ましい速度を、発見的な速度に課される制限として用いる。発見的な速度は、いくつかの例では、自律車両のセンサの鋭敏さ、制御している車両の能力、及び制御システムの精度に基づいて計算してもよい。いくつかの例では、目標車両速度は、機械学習済みモデルが生成した望ましい速度の下限値、発見的な速度、及び法定制限速度であってもよい。
【0038】
いくつかの例では、ブロック510において、自律型車両制御システムは車両速度を前記で決定した目標速度に調整する。車両速度に対する調整は徐々に行ってもよい。例えば、いくつかの実施態様では、フィルタリングを、目標速度に基づいて、ローパスフィルタを用いて現在の車両速度に適用してもよい。別の例では、速度変化は1秒あたり時速1マイルに限定される。車両速度の調整は、スロットル、ブレーキング、回生ブレーキング、エンジンブレーキング、摩擦ブレーキ、又は電気車両の電動モータへの電流を調整することによって行ってもよい。目標速度と現在の速度との違いが閾値を超えない限り、車両速度に対する変更を速度を変えないように処理してもよい。
【0039】
図6に、自律型車両制御システムによる実行の結果、少なくとも部分的に、機械学習済みモデルが生成した速度に基づいて、好ましい車両速度を決定するプロセス600の例を例示する。いくつかの例では、プロセス600はブロック602から始まる。ここでは、自律型車両制御システムが機械学習済みモデルを用いて望ましい速度を生成する。いくつかの例では、望ましい速度を、
図5及び関連する説明に示すプロセスを用いて決定する。ブロック602において、自律車両に対する目標速度を、機械学習済みモデルが決定する望ましい速度に設定する。
【0040】
判定ブロック604において、自律型車両制御システムは法定制限速度を判定する。いくつかの例では、法定制限速度を、グローバルポジショニングシステムを用いて車両の位置を決定し、ナビゲーションデータベースを用いて車両が走行している道路を特定し、そして、ナビゲーションデータベース内で道路に対する制限速度を検索すること(例えば、マップデータ内でエンコードされ得るような)によって決定する。いくつかの例では、法定制限速度を、自律車両上のカメラを用いて道路標識の画像を取り込み、取り込んだ画像から制限速度標識を特定することによって決定する。機械学習済みモデルが生成した望ましい速度が法定制限速度よりも大きい場合、実行はブロック606に進んで、目標車両の速度を法定制限速度に設定する。次に実行は判定ブロック608に進む。
【0041】
判定ブロック608において、自律型車両制御システムは、制御している車両の速度能力を決定する。いくつかの例では、速度能力は、車両の馬力、車両の重量、車両が運ぶ任意の積荷の重量、車両が曳航する任意の積荷の重量、周囲空気温度、及び内部車両コンポーネントの温度、例えばバッテリ温度、モータ温度、エンジン温度、冷媒温度、トランスミッション温度に基づく。いくつかの例では、ブレーキ温度及びブレーキ容量は車両速度能力を制限する要因である。車両速度能力が目標速度よりも小さい場合、実行はブロック610に進んで、目標速度を車両速度能力に設定する。次に実行は判定ブロック612に進む。
【0042】
判定ブロック612において、自律型車両制御システムは発見的な制限速度を決定する。いくつかの例では、発見的な制限速度を本出願で前述したように計算する。他の例では、発見的な制限速度を、自律車両の道路トラクション、ブレーキング能力、及びセンサの鋭敏さを含む数式に基づいて決定する。発見的な制限速度が目標制限速度よりも小さい場合、実行はブロック614に進んで、目標速度を発見的な制限速度に設定する。次に実行はブロック616に進む。ブロック616において、自律型車両制御システムは目標速度に従って自律車両を制御する。
【0043】
図7に、自律車両のアーキテクチャにおいて用いることができる自律車両コンポーネント700の例を例示する。例えば、前述の自律車両制御システムを後述の自律車両動作システム702として実施してもよい。自律車両は、自律車両動作システム702であって、種々のコントローラに結合され、コントローラ自体は、移動運動、電力管理などを扱う自律車両の種々のコンポーネントに結合される自律車両動作システム702を有すると特徴付けてもよい。自律車両動作システム702の要素は、本明細書で説明したような物体識別及び環境分析を実施するためのコンピュータシステムをもたらす。これらの要素は、自律車両以外の他の応用例に用途が見出される得る。
【0044】
アーキテクチャ700は、本明細書で説明したシステム、方法、及び装置の態様を実施する種々のハードウェア、ソフトウェア、ファームウェアなどを含む1つ以上のコンピュータシステム(複数可)を規定してもよい。例えば、自律車両動作システム702には、周囲状況分析システム703及び他のコンポーネントであって自律車両の種々の態様に対して利用できるものが含まれていてもよい。周囲状況分析システム703を用いて、モータ、ステアリング、物体回避などのためのコントローラを操作するために自律車両動作システム702が用い得る情報を取得してもよい。
【0045】
周囲状況分析システム703は、実施態様を単純にするために複数のサブシステムとして構成され得る。いくつかの例では、サブシステムは独立に実施されるが、他の例では、2つ以上のサブシステムは部分的に又は完全に互いに一体化される。サブシステムには、LIDARサブシステム、カメラサブシステム、レーダサブシステム、ソーナサブシステム、認知及び予測サブシステム712、位置測定及びマッピングサブシステム714、追跡サブシステム726、プランニングサブシステム728、センサ較正サブシステム730、及び可能性として、他のサブシステム734が含まれていてもよい。認知及び予測サブシステム712は、種々の種類のセンサデータ(LIDAR、レーダ、及び視覚画像など)から物体検出、セグメント化、及び物体の分類を行う。
【0046】
所与のサブシステムを、他のサブシステムと通信するためのプログラムコード又はハードウェアによって実施して、入力を受け取り、出力を与えてもよい。入力のいくつかはセンサからであってもよい。本明細書のいくつかの説明では、読みやすくするために、サブシステムには、サブシステムがデータ又は信号を取得するセンサ及び/又はサブシステムがデータ又は信号を出力する発生器が含まれると説明する場合がある。例えば、ソーナサブシステムを、超音波センサを有すると説明する場合があるか、又は超音波センサから信号を受け取ると説明する場合がある。別の例として、カメラサブシステムを、カメラ及びディスプレイを有すると説明する場合があるか、又はカメラから信号又はデータを受け取り、ディスプレイに信号又はデータを送ると説明する場合がある。
【0047】
図7には示さないが、必要に応じて、サブシステム間の通信をもたらすことができることを理解されたい。所与のサブシステムが、いくつかのチャンネルを介して他方のサブシステムに直接データを送ることによって別のサブシステムと通信してもよいし、又は周囲状況分析システム703には、サブシステムが互いにデータ及び/又は信号を送ることによって通信できる際に経由するバスサブシステム又は通信インフラストラクチャが含まれていてもよい。また周囲状況分析システム703は、外部データを受け取って周囲状況分析システム703の外側に情報を伝達するように構成してもよい。
【0048】
所与のサブシステムが、その独自の計算処理のうちのいくつかが、その所与のサブシステム専用のハードウェアによって行われ得るか、又はそのサブシステムの計算を行うように割り当てられたプロセッサ又は回路によって行われ得るものであってもよい。これは、サブシステムを完全にソフトウェアで実施し、メモリ738(例えば、プログラムコードメモリ及びデータ記憶メモリ)を用いて1つ以上のプロセッサ(複数可)736によって実行する場合と同様であり得る。メモリは変数及びデータの一時記憶用であってもよく(例えば、RAM)、永久記憶(すなわち、リフレッシュ、電力などを必要とせずにある持続期間、存続するデータ)用のメモリであってもよく、示している場合には、明示的に言及していない場合であっても、そういうことを意味するはずである。例えば、サブシステムがデータベース上で動作するか又はデータを記憶すると説明している場合、電子的に読取可能な形態でデータを記憶するためのある形態のメモリが存在するであろう。場合によっては、メモリ内のデータベース又はデータ記憶は特定のものではなく、1つのサブシステムの内部にある。このような場合、メモリは2つ以上のサブシステムからアクセス可能である。例えば、1つのサブシステムが、そのサブシステムが取得したセンサデータに基づいて記録を形成して、その記録をデータベース又は他のデータ構造に書き込んでもよく、そして次に、別のサブシステムがそのデータを読み出して用いることができる。サブシステムをソフトウェアで実施する場合、サブシステムには、そのサブシステムに固有のプロセッサに結合されたプログラムコード又はより一般的なプログラムコードメモリ及びプロセッサが含まれていてもよい。
【0049】
ある場合には、周囲状況分析システム703を自律車両において用いる。ある場合には、周囲状況分析システム703は自律車両に対する認知及びプランニング機能をもたらしてもよい。全般的に、周囲状況分析システム703は、LIDAR認知、レーダ認知、視覚(カメラ)認知、音響認知、セグメント化及び分類、追跡及び融合、及び予測/プランニング、並びに他のコントローラ(例えば、駆動コントローラ、パワーコントローラ、環境コントローラ、及び通信コントローラ)に接続して機能することをもたらしてもよい。
【0050】
自律車両動作システム702には、道路ナビゲーションシステム742、マニフェストマネージャ744、及び検査/故障自動記録装置746が含まれていてもよい。また自律車両動作システム702には、種々のセンサ750及び発生器752が含まれているか又はこれらに接続して機能してもよい。
【0051】
自律車両動作システム702は以下のものと接続して機能してもよい。モータ780、ステアリング782、ブレーキ784、及びサスペンション786と相互に作用する駆動コントローラ770;バッテリ788及びインバータ/充電器790と相互に作用するパワーコントローラ772;ヒーティング、ベンティング、空気調節(HVAC)コンポーネント792、及び照明794と相互に作用する環境コントローラ774;自律車両、自律車両で使用されているデバイス、及び外部デバイスの間の通信(例えば、ネットワーク、セルラーチャンネル、又はWi-Fi(登録商標)チャンネル796を介して)を扱う通信コントローラ776。自律車両動作システム702、コントローラ、及び自律車両に取り付けられた車両コンポーネントを組み合わせることで、人間が絶え間なく介入することなく安全に進むことができる車両をもたらすことができる。
【0052】
自律車両動作システム702には、例示したもの以外に、自律車両で用いるのに適した任意の数又は種類のセンサが含まれていてもよい。種々のセンサ750には以下のものが含まれていてもよい(しかし、これらに限定されない)。超音波トランスデューサ、ホイールエンコーダ、環境センサ、マイクロフォン、慣性計測ユニット(複数可)(IMU)、加速度計、ジャイロスコープ、磁気計、温度センサ、湿度センサ、光センサ、グローバルポジショニングシステム(GPS)センサ、圧力センサ、場所センサなど。
【0053】
LIDARサブシステムには、本明細書で説明したようにセグメント化用にLIDARデータを取り込む1つ以上のLIDARセンサが含まれていてもよく、本明細書で詳細に説明するように任意の1つ以上の深度センサが含まれていてもよい。ある場合には、LIDARサブシステム704には、複数のLIDARセンサからのLIDARデータを組み合わせるか又は統合して、LIDARデータのメタスピンを生成する機能が含まれていてもよい。これは、複数のLIDARセンサに基づいてLIDARデータを指し得る。LIDARデータのメタスピンの場合、LIDARサブシステムには、メタスピンデータの仮想原点(例えば、すべてのLIDARセンサに共通の座標参照フレーム)を決定し、1つ以上のLIDARセンサそれぞれからのLIDARデータが仮想原点に対して表現されるようにデータ変換を行う機能が含まれていてもよい。本開示の文脈の中で理解され得るように、LIDARサブシステムはデータを取り込んでもよく、データセットを他のサブシステムに送信して以後の処理を図ってもよい。
【0054】
カメラサブシステムには、画像セグメント化及び/又は分類用に視覚データを取り込む1つ以上のカメラセンサが含まれていてもよいし、又はこれに接続して機能してもよい。カメラサブシステムには、任意の数及び種類のカメラセンサが含まれていてもよい。例えば、カメラサブシステムには、任意のカラーカメラ、モノクロームカメラ、深度カメラ、RGB-Dカメラ、ステレオカメラ、赤外線(IR)カメラ、紫外線(UV)カメラなどが含まれていてもよい。本開示の文脈の中で理解され得るように、カメラサブシステムはデータを取り込んでもよく、データセットを他のサブシステムに送信して以後の処理を図ってもよい。例えば、カメラサブシステムからのデータは、別のサブシステムによってそのように処理される多チャンネル画像の1つ以上のチャンネルとして含まれていてもよい。
【0055】
レーダサブシステムには、環境内の物体の範囲、角度、及び/又は速度を取り込む1つ以上のレーダセンサが含まれていてもよい。本開示の文脈の中で理解され得るように、レーダサブシステムは、データを取り込んでもよく、データセットを他のサブシステムに送信して以後の処理を図ってもよい。例えば、レーダサブシステムからのデータは、別のサブシステムに与えられる多チャンネル画像の1つ以上のチャンネルとして含まれてもよい。
【0056】
ソーナサブシステムには、1つ以上のスピーカ又は発音器と、環境内の物体から音響情報を取り込む1つ以上のマイクロフォン(例えばマイクロフォンアレイ)とが含まれていてもよいし、又はこれに接続して機能してもよい。更に、又は代替的に、このようなソーナサブシステムには種々の超音波トランスデューサが含まれていてもよい。例えば、ソーナサブシステムは、超音波トランスデューサに音のパルスを発生させてもよく、エコーを聞いて環境内の物体に付随する位置及び/又は移動情報を決定してもよい。本開示の文脈の中で理解され得るように、ソーナサブシステムは、データを取り込んでもよく、データセットを他のサブシステムに送信して以後の処理を図ってもよい。例えば、別のサブシステムは、物体をより正確にセグメント化し及び/又は物体についての情報を決定するために、又は他の目的のために、ソーナサブシステムから取得したデータをLIDARサブシステムから取得したデータと融合することができる。
【0057】
ある場合には、LIDARサブシステム、カメラサブシステム、レーダサブシステム、及び/又はソーナサブシステムは、データを組み合わせて及び/又は統合するための周囲状況分析システムの他のサブシステムに対する1つ以上のデータセットをもたらしてもよい。
【0058】
周囲状況分析システム703には更に、テストで部分的に用いるために、コンピュータシミュレーションアルゴリズムが生成した模擬データ用の記憶装置が含まれていてもよい。ある場合には、模擬データには、任意の種類の模擬データ、例えばカメラデータ、LIDARデータ、レーダデータ、ソーナデータ、慣性データ、GPSデータなどが含まれていてもよい。ある場合には、周囲状況分析システム703は、本明細書で説明したように、動作を検証し及び/又は機械学習アルゴリズムをトレーニングするために、模擬データを変更し、変換し、及び/又は本明細書で説明した変換動作を行うことができる。例えば、実験室でいくつかの機能をテストするために、模擬センサデータ/信号を、それが実際のセンサデータであるかのようにサブシステムに供給して、いくつかのサブシステムの性能をテストしてもよい。いくつかの実施態様では、模擬データには、自律車両動作システム702に送られるメッセージ、事象、及びシステムアラートを含めることができる。
【0059】
位置測定及びマッピングサブシステム714には、データをボクセルマップに変換又はマッピングする機能が含まれていてもよい。例えば、位置測定及びマッピングサブシステム714は、LIDARデータ、カメラデータ、レーダデータ、ソーナデータなどを受け取ることができ、また個々のデータポイントを、環境内の3次元空間を表すボクセルマップにマッピングし、変換し、又は対応付けることができる。ボクセル空間は、別個の小体積(例えば、ボクセル)として表される3次元環境(例えば、自律車両を囲む空間)の論理的表現である。ボクセルマップは、ボクセル空間内の個々のボクセルに対するデータ又は値を与える。3次元環境の表現として、ボクセルマップをメモリ内に記憶してプロセッサが操作することができる。
【0060】
ある場合には、位置測定及びマッピングサブシステム714は、ボクセル空間の寸(例えば、ボクセル空間の長さ、幅、及び高さ)を規定することができる。更に、位置測定及びマッピングサブシステム714は個々のボクセルのサイズを決定してもよい。ある場合には、ボクセルは、ボクセル空間の全体にわたって均一サイズ及び形状であってもよく、ある場合には、ボクセルのサイズ及び/又は密度は、ボクセル空間内の相対場所に基づいて変化してもよい。例えば、ボクセルのサイズは、ボクセル空間の原点又は中心からのボクセルの距離に比例して増加又は減少してもよい。更に、又は代替的に、このような位置測定及びマッピングサブシステム714には、仮想原点とボクセル空間の原点との間の変換が含まれていてもよい。ある場合には、位置測定及びマッピングサブシステム714には、希薄なボクセル空間を生成する機能が含まれていてもよい。ここでは、データを含まないか又はデータ閾値を下回るデータ量を含むボクセルは、ボクセルマップ内に存在する必要はなく、これらのボクセルの値は仮定するか又は無視することができる。このような場合には、ボクセルマップはオクトマップ、ボクセルハッシングなどと構成してもよい。ある場合には、位置測定及びマッピングサブシステム714には、ボクセル空間にマッピングし、またボクセルマップに記憶するときに、ボクセルマップのデータ又はボクセルマップを生成するために用いるデータ内のノイズ量を、データをフィルタリングすることによって減らす機能が含まれていてもよい。例えば、フィルタリングには、ボクセルあたりのデータの閾値(例えば、ボクセルに付随するLIDARデータポイントの数)を下回るデータ、又はボクセルの所定の数(例えば、近接するボクセルの数に付随するLIDARデータポイントの数)を上回るデータを取り除くことが含まれていてもよい。ある場合には、位置測定及びマッピングサブシステム714は、時間とともにデータを収集するときに、及び/又はボクセル空間が対応する実環境内を自律車両が進むことに応じて、ボクセルマップを更新することができる。例えば、位置測定及びマッピングサブシステム714は、自律車両が環境内を進むときに、ボクセルマップにデータを加えて及び/又はデータを廃棄してもよい。
【0061】
ある場合には、位置測定及びマッピングサブシステム714は、ボクセルマップ及び他のボクセル空間パラメータ(例えば、ボクセルサイズ、方位、及び範囲)を初期化して、初期のボクセルマップは何もない空間を表しているとして扱うことができ、また位置測定及びマッピングサブシステム714は、LIDARデータが時間とともに取り込まれるときに物体の表現を形成することができる。他の場合では、位置測定及びマッピングサブシステム714は、グローバルマップデータを用いてボクセルマップ及びボクセル空間パラメータを初期化することができる。
【0062】
追跡サブシステム726には、1つ以上の動的物体の表示を受け取って、物体を追跡するために更なる処理を行う機能が含まれていてもよい。例えば、追跡サブシステム726は、動的物体の速度を決定してもよく、及び/又は時間とともに動的物体の軌跡を決定して記憶してもよい。ある場合には、追跡サブシステム726を、追跡すべき物体の経路を物体の以前の動きに基づいて予測し得る予測アルゴリズムを行うようにプログラムしてもよい。種々の例において、追跡サブシステム726は、ある物体が以前に検出した物体と同じであるデータ結合を行う。いくつかの例では、追跡サブシステムは、物体の範囲を維持し、速度を計算し、及び方位を決定する。
【0063】
プランニングサブシステム728には、基平面、静的物体、及び/又は動的物体のセグメント化されたデータ及び/又は表示を受け取って、自律車両の軌跡を決定する機能が含まれていてもよい。例えば、プランニングサブシステム728は、基平面を特定するセグメント化情報を受け取ってもよく、また自律車両がたどる軌跡を生成してもよい。
【0064】
センサ較正サブシステム730には、少なくとも部分的に、環境に対して決定されたセグメント化情報に基づいて、1つ以上のセンサ750を較正する機能が含まれていてもよい。例えば、LIDAR、カメラ、レーダ、及び/又はソーナセンサ又はサブシステムからのセンサデータを用いて、場所及び/又は方位を推定してもよいが(例えば、位置測定及びマッピングの同時実行(SLAM)を用いて)、自律車両にはまた、環境内の自律車両の場所を決定するために、更なるセンサ(例えば、慣性計測ユニット(IMU)及び/又はGPSユニット)が含まれていてもよい。ある場合には、IMUが示すところによれば、自律車両は第1の場所にあるが、本明細書で説明したLIDARデータの分析では、車両が第1の場所とは異なる第2の場所にあることを示している。センサ較正サブシステム730は、場所の違いを決定してもよく、また自律車両の場所を更新する1つ以上のセンサ、又は1つ以上のセンサの固有特性若しくは外因性特性を調整若しくは較正してもよい。
【0065】
例えば、カメラセンサの特性には、焦点距離、画像中心、歪みパラメータ、シャッタ速度、解像度、及びスペクトルが含まれていてもよい。レーダの特性には、出力電力及び入力感度が含まれていてもよい。LIDARセンサの特性には、解像度及びサンプリングレートが含まれていてもよい。典型的なニューラルネットワークは、入力データを一連の接続層を通して送って出力を生成し得る。ニューラルネットワークの一例には、畳み込みニューラルネットワーク又はCNNが含まれていてもよい。またCNN内の各層には、別のCNNが含まれていてもよいし、又は多くの層が含まれていてもよい。本開示の文脈の中で理解され得るように、ニューラルネットワークは機械学習を用いてもよい。これは、学習されたパラメータに基づいて出力が生成される幅広い種類のアルゴリズムを指してもよい。
【0066】
ニューラルネットワークの文脈の中で説明したように、本開示と整合する多くの種類の機械学習を用いてもよい。例えば、機械学習アルゴリズムには以下のものが含まれていてもよい(しかし、これらに限定されない)。回帰アルゴリズム(例えば、最小2乗回帰(OLSR)、線形回帰、ロジスティック回帰、段階的回帰、多変量適応型回帰スプライン(MARS)、局所的推定散布図平滑化(LOESS))、インスタンスベースのアルゴリズム(例えば、リッジ回帰、最小絶対値縮小選択演算子(LASSO)、弾性ネット、最小角度回帰(LARS))、決定木アルゴリズム(例えば、分類及び回帰木(CART)、反復二分法3(ID3)、カイ二乗自動相互作用検出(CHAID)、決定株、条件付き決定木)、ベイジアンアルゴリズム(例えば、単純ベイズ、ガウシアン単純ベイズ、多項単純ベイズ、平均化された1依存性推定器(AODE)、ベイジアンビリーフネットワーク(BNN)、ベイジアンネットワーク)、クラスタリングアルゴリズム(例えば、k平均法、k中央値、期待値最大化(EM)、階層的クラスタリング)、相関ルール学習アルゴリズム(例えば、パーセプトロン、逆伝搬、ホップフィールドネットワーク、動径基底関数ネットワーク(RBFN))、深層学習アルゴリズム(例えば、深層ボルツマンマシン(DBM)、深層信頼ネットワーク(DBN)、畳み込みニューラルネットワーク(CNN)、積層オートエンコーダ)、次元削減アルゴリズム(例えば、主成分分析(PCA)、主成分回帰(PCR)、部分的最小二乗回帰(PLSR)、サモンマッピング、多次元尺度法(MDS)、射影追跡、線形判別分析(LDA)、混合判別分析(MDA)、二次判別分析(QDA)、柔軟判別分析(FDA))、アンサンブルアルゴリズム(例えば、ブースティング、ブートストラップアグリゲーション(バギング)、アダブースト、スタック一般化(ブレンディング)、勾配ブースティングマシン(GBM)、勾配ブースティング回帰木(GBRT)、ランダムフォレスト)、SVM(サポートベクターマシン)、教師あり学習、教師なし学習、半教師あり学習など。
【0067】
図7に示す環境を、記憶装置、1つ以上のプロセッサ(複数可)、メモリ、及び可能性としてオペレーティングシステムを含む1つ以上のコンピュータシステムを用いて実施してもよい。
【0068】
本明細書で説明したシステム及び方法は、ソフトウェア又はハードウェア又はそれらの任意の組み合わせで実施することができる。本明細書で説明したシステム及び方法は、互いと物理的又は論理的に分離していてもよいしそうでなくてもよい1つ以上のコンピューティングデバイスを用いて実施することができる。本方法は、オンプレミスハードウェア、オンプレミス仮想システム、又はホステッドプライベートインスタンスとして配置されたコンポーネントによって行ってもよい。更に、本明細書で説明した方法の種々の態様を、他の機能に結合又はマージしてもよい。
【0069】
システム及び方法を実施するための典型的な環境及びコンピュータ化システムには、特に、本明細書で説明した方法の一部又は全部を行うように構成することができるプロセッサ又はコンピュータシステムが含まれていてもよい。いくつかの例では、本方法は1つ以上のコンピュータ又はプロセッサによって部分的又は完全に自動化することができる。本明細書で説明したシステム及び方法を、ハードウェア、ファームウェア、及び/又はソフトウェアのいずれかの組み合わせを用いて実施してもよい。本本明細書で説明したシステム及び方法(又はその任意の一部(複数可)又は機能(複数可))を、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせを用いて実施してもよく、1つ以上のコンピュータシステム又は他の処理システムにおいて実施してもよい。いくつかの例では、例示したシステム要素を、単一のハードウェアデバイスに結合することもできるし、又は複数のハードウェアデバイスに分離することもできる。複数のハードウェアデバイスを用いる場合、ハードウェアデバイスを互いに近接して又は互いから遠隔に物理的に配置することができるた。説明及び例示した方法の例は、例示を意図しており、限定を意図するものではない。例えば、異なる例において、方法のステップの一部又は全部を結合し、並べ替え、及び/又は省略することができる。
【0070】
一例では、本明細書で説明したシステム及び方法は、本明細書で説明した機能を行うことができる1つ以上のコンピュータシステムに向けられていてもよい。コンピューティングデバイス例は、任意のオペレーティングシステム(例えば、限定することなく、OS X(登録商標)、iOS(登録商標)、Linux(登録商標)、Android(登録商標)、及びMicrosoft(登録商標)Windows(登録商標))を実行するパーソナルコンピュータ(PC)システムであってもよいが、これらに限定されない。しかし、本明細書で説明したシステム及び方法は、これらのプラットフォームに限定されなくてもよい。その代わりに、本明細書で説明したシステム及び方法は、任意の適切なオペレーティングシステムを実行する任意の適切なコンピュータシステム上で実施してもよい。本明細書で説明したシステム及び方法の他のコンポーネント、例えば限定することなく、コンピューティングデバイス、通信デバイス、携帯電話、スマートフォン、テレフォニーデバイス、電話機、携帯情報端末(PDA)、パーソナルコンピュータ(PC)、ハンドヘルドPC、双方向テレビジョン(iTV)、デジタルビデオレコーダ(DVD)、クライアントワークステーション、シンクライアント、シッククライアント、プロキシサーバ、ネットワーク通信サーバ、リモートアクセスデバイス、クライアントコンピュータ、サーバコンピュータ、ルータ、ウェブサーバ、データ、媒体、オーディオ、ビデオ、テレフォニ又はストリーミング技術サーバなども、コンピューティングデバイスを用いて実施してもよい。サービスを、例えば限定することなく、双方向テレビジョン(iTV)、ビデオオンデマンドシステム(VOD)を用いて、またデジタルビデオレコーダ(DVR)、又は他のオンデマンド視認システムを介して、オンデマンドで提供してもよい。
【0071】
システムには、1つ以上のプロセッサが含まれていてもよい。プロセッサ(複数可)を、通信インフラストラクチャ、例えば限定することなく、通信バス、クロスオーバーバー、又はネットワークなどに接続してもよい。プロセス及びプロセッサは同じ物理的場所に配置する必要はない。言い換えれば、プロセスを、例えばLAN又はWAN接続を介して1つ以上の地理的に遠方のプロセッサにおいて実行することができる。コンピューティングデバイスには、グラフィックス、テキスト、及び他のデータを通信インフラストラクチャから転送してディスプレイユニット上に表示するためのディスプレイインターフェースが含まれていてもよい。
【0072】
またコンピュータシステムには、限定することなく、メインメモリ、ランダムアクセスメモリ(RAM)、及び補助記憶装置などが含まれていてもよい。補助記憶装置には、例えば、ハードディスクドライブ及び/又はリムーバブル記憶ドライブ、例えばコンパクトディスクドライブCD-ROMなどが含まれていてもよい。リムーバブル記憶ドライブは、リムーバブル記憶ユニットから読み出して及び/又はリムーバブル記憶ユニットに書き込んでもよい。理解され得るように、リムーバブル記憶ユニットには、コンピュータソフトウェア及び/又はデータが記憶されたコンピュータ利用可能な記憶媒体が含まれていてもよい。いくつかの例では、機械アクセス可能媒体は、コンピュータからアクセス可能なデータを記憶するために用いられる任意の記憶デバイスを指してもよい。機械アクセス可能媒体の例には、例えば、磁気ハードディスク;フロッピーディスク;光ディスク、例えば、コンパクトディスク読み出し専用メモリ(CD-ROM)又はデジタル多用途ディスク(DVD);磁気テープ;及び/又はメモリチップなどが含まれていてもよいが、これらに限定されない。
【0073】
またプロセッサは、データを記憶するための1つ以上のデータ記憶デバイスを含んでいてもよいし、又はこれらと通信するために動作可能に結合されていてもよい。このようなデータ記憶デバイスには、非限定的な例として、磁気ディスク(内蔵ハードディスク及びリムーバブルディスクを含む)、光磁気ディスク、光ディスク、読み出し専用メモリ、ランダムアクセスメモリ、及び/又はフラッシュ記憶装置を含めることができる。またコンピュータプログラム命令及びデータを明確に具現化するのに適した記憶デバイスには、すべての形態の不揮発性メモリを含めることができる、例えば、半導体メモリデバイス、例えばEPROM、EEPROM、及びフラッシュメモリデバイス;磁気ディスク例えば内蔵ハードディスク及びリムーバブルディスク;光磁気ディスク;及びCD-ROM及びDVDROMディスクである。プロセッサ及びメモリを、ASIC(特定用途向け集積回路)、又はFPGA(フィールドプログラマブルゲートアレイ)によって補うこともできるし、これらに組み込むこともできる。
【0074】
処理システムはコンピュータ化されたデータ記憶システムと通信することができる。データ記憶システムには、非リレーショナル又はリレーショナルデータストア、例えば、MySQL(商標)又は他のリレーショナルデータベースを含めることができる。他の物理及び論理データベースの種類を用いることができる。データストアは、データベースサーバ、例えば、Microsoft(登録商標) SQL Server(商標)、Oracle(商標)、IBM DB2(商標)、SQLITE(商標)、又は任意の他のデータベースソフトウェア、リレーショナル又はその他であってもよい。データストアは、構文タグを特定する情報及び構文タグ上で動作するために必要な任意の情報を記憶してもよい。いくつかの例では、処理システムは、オブジェクト指向プログラミングを用いてもよく、オブジェクトにデータを記憶してもよい。これらの例では、処理システムは、オブジェクトリレーショナルマッパー(ORM)を用いて、データオブジェクトをリレーショナルデータベースに記憶してもよい。本明細書で説明したシステム及び方法は、任意の数の物理データモデルを用いて実施することができる。一例では、リレーショナルデータベース管理システム(RDBMS)を用いることができる。これらの例では、RDBMS内のテーブルには、座標を表す列を含めることができる。テーブルは、それらの間に所定の関係を有することができる。またテーブルは、座標に付随する付加物を有することもできる。
【0075】
代替的な例では、補助記憶装置には、コンピュータプログラム又は他の命令をコンピュータシステムにロードすることを可能にするための他の同様のデバイスが含まれていてもよい。このようなデバイスには、例えば、リムーバブル記憶ユニット及びインターフェースが含まれていてもよい。このようなものの例には以下が含まれていてもよい。プログラムカートリッジ及びカートリッジインターフェース(例えば、限定することなく、ビデオゲームデバイスに見られるもの)、リムーバブルメモリチップ(例えば、限定することなく消去可能プログラマブル読み出し専用メモリ(EPROM)、又はプログラム可能な読み出し専用メモリ(PROM)及び付随するソケット)、並びに他のリムーバブル記憶ユニット及びインターフェース(ソフトウェア及びデータをリムーバブル記憶ユニットからコンピュータシステムに伝達することができ得る)。
【0076】
またコンピューティングデバイスには、入力デバイス、例えば限定することなく、音声入力デバイス例えばマイクロフォン、タッチスクリーン、ジェスチャー認識デバイス例えばカメラ、他の自然なユーザインターフェース、マウス又は他のポインティングデバイス例えばデジタイザ、及びキーボード又は他のデータ入力デバイスが含まれていてもよい。コンピューティングデバイスにはまた、出力デバイス、例えば限定することなく、ディスプレイ及びディスプレイインターフェースが含まれていてもよい。コンピューティングデバイスには、入出力(I/O)デバイス、例えば限定することなく、通信インターフェース、ケーブル、及び通信経路などが含まれていてもよい。これらのデバイスには、ネットワークインターフェースカード及びモデムが含まれていてもよいが、これらに限定されない。通信インターフェース(複数可)によって、ソフトウェア及びデータを、コンピュータシステムと1つ以上の外部デバイスとの間で伝達することが可能になり得る。
【0077】
1つ以上の例において、コンピューティングデバイスを自動車システムに動作可能に結合してもよい。このような自動車システムは、手動操作型、準自律型、又は完全自律型のいずれかであってもよい。このような例では、入力及び出力デバイスには、1つ以上の画像取り込みデバイス、コントローラ、マイクロコントローラ、及び/又は他のプロセッサであって、自動車機能(例えば、限定することなく、加速、ブレーキング、及びステアリング)を制御するものが含まれていてもよい。更に、このような例における通信インフラストラクチャにはまた、コントローラエリアネットワーク(CAN)バスが含まれていてもよい。
【0078】
1つ以上の例において、コンピューティングデバイスを、任意の機械ベースの視認システムに動作可能に結合してもよい。例えば、このような機械ベースの視認システムには、手動操作型、準自律型、又は全自律型の産業又は農業ロボット、家庭用ロボット、検査システム、セキュリティシステムなどが含まれるが、これらに限定されない。すなわち、本明細書で説明する例は、1つの特定の文脈には限定されず、マシンビジョンを用いる任意の応用例に適用可能であり得る。
【0079】
1つ以上の例において、本実施例をコンピュータネットワーク又はネットワークの環境で実施することができる。ネットワークには、プライベートネットワーク、又はパブリックネットワーク(例えば、後述するようにインターネット)、又は両方の組み合わせを含めることができる。ネットワークには、ハードウェア、ソフトウェア、又は両方の組み合わせが含まれていてもよい。
【0080】
電気通信指向の観点から言うと、ネットワークは、通信設備によって相互接続されたハードウェアノードの組であって、1つ以上のプロセス(ハードウェア、ソフトウェア、又はそれらの組み合わせ)がこのようなノードのそれぞれにおいて機能しているものと説明することができる。プロセスは、それらの間の通信経路を介してプロセス間通信経路を用いて、互いに通信し合って情報を交換することができる。これらの経路上では、適切な通信プロトコルが用いられる。操作コマンド(テレオペレーション)を、セルラー、赤外線、ラジオ、又は無線ネットワーキングを介してシステムが受け取ってもよい。
【0081】
本実施例による典型的なコンピュータ及び/又は電気通信ネットワーク環境には、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの組み合わせが含まれ得るノードが含まれていてもよい。ノードを通信ネットワークを介して相互接続してもよい。各ノードには、ノードに組み込まれたプロセッサによって実行可能な1つ以上のプロセスが含まれていてもよい。例えば、単一プロセスを複数のプロセッサによって実行してもよいし、又は複数のプロセスを単一プロセッサによって実行してもよい。更に、各ノードは、ネットワークと外部世界との間のインターフェースポイントを与えてもよく、サブネットワークの集まりを組み込んでもよい。
【0082】
例では、プロセスは、任意の通信プロトコルを通る通信をサポートするプロセス間通信経路を通して互いに通信してもよい。経路は、順次又は並列に、連続的又は断続的に機能してもよい。経路は、多くのコンピュータが使用する標準並列命令セットに加えて、通信ネットワークに対して本明細書で説明した通信規格、プロトコル、又は技術のいずれかを用いることができる。
【0083】
ノードには、処理機能を行うことができる任意の実体が含まれていてもよい。例とともに用いることができるノードの例としては以下が挙げられる。コンピュータ(例えばパーソナルコンピュータ、ワークステーション、サーバ、又はメインフレーム)、ハンドヘルド無線デバイス及び有線デバイス(例えば携帯情報端末(PDA)、処理能力を伴うモデム携帯電話、無線電子メールデバイス、例えばBlackBerry(登録商標)デバイス)、ドキュメント処理デバイス(例えばスキャナ、プリンター、ファクシミリ装置、又は多機能ドキュメントマシン)、又は説明したようにプロセッサの集まりが接続される複雑な実体(例えばローカルエリアネットワーク又はワイドエリアネットワーク)。例えば、本開示の文脈において、ノード自体をワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、プライベートネットワーク(例えば仮想プライベートネットワーク(VPN))、又はネットワークの集まりとすることができる。
【0084】
ノード間の通信は通信ネットワークによって可能になり得る。ノードを通信ネットワークと連続的又は断続的に接続してもよい。一例としては、本開示の文脈において、通信ネットワークを、適切な帯域幅及び情報セキュリティをもたらすデジタル通信インフラストラクチャとすることができる。
【0085】
通信ネットワークとしては、任意の種類の標準、プロトコル、又は技術を用いた任意の周波数における有線通信機能、無線通信機能、又は両方の組み合わせを挙げることができる。加えて、本実施例では、通信ネットワークは、プライベートネットワーク(例えば、VPN)又はパブリックネットワーク(例えば、インターネット)とすることができる。
【0086】
通信ネットワークが用いる典型的な無線プロトコル及び技術の非包括的なリストには、以下を含めてもよい。ブルートゥース(登録商標)、汎用パケット無線サービス(GPRS)、セルラーデジタルパケットデータ(CDPD)、モバイルソリューションプラットフォーム(MSP)、マルチメディアメッセージング(MMS)、ワイヤレスアプリケーションプロトコル(WAP)、符号分割多元接続(CDMA)、ショートメッセージサービス(SMS)、ワイヤレスマークアップ言語(WML)、ハンドヘルドデバイスマークアップ言語(HDML)、ワイヤレス用バイナリランタイム環境(BREW)、無線アクセスネットワーク(RAN)、及びパケットスイッチコアネットワーク(PSCN)。また種々の世代の無線技術も含まれる。通信ネットワークが用いる主に有線プロトコル及び技術の典型的な非包括的リストには以下が含まれる。非同期転送モード、エンハンストインテリアゲートウェイルーティングプロトコル(EIGRP)、フレームリレー(FR)、高レベルデータリンク制御(HDLC)、インターネット制御メッセージプロトコル(ICMP)、インテリアゲートウェイルーティングプロトコル(IGRP)、インターネットワークパケット交換(IPX)、ISDN、ポイントツーポイントプロトコル(PPP)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、ルーティング情報プロトコル(RIP)、及びユーザデータグラムプロトコル(UDP)。当業者であれば分かるように、任意の他の知られているか又は予想される無線又は有線プロトコル及び技術を用いることができる。
【0087】
本開示の例には、本明細書の動作を行うための装置が含まれ得る。装置を望ましい目的に対して特別に構成してもよいし、又は装置に、デバイスに記憶されたプログラムによって選択的に起動されるか又は再構成される汎用デバイスが含まれていてもよい。
【0088】
1つ以上の例において、本実施例は機械実行可能命令において具体化される。命令を用いて、処理デバイス(例えば、命令によってプログラムされた汎用又は専用プロセッサ)に本開示のステップを行わせることができる。代替的に、本開示のステップは、ステップを行うためのハードワイヤードロジックを含む特定のハードウェアコンポーネントによってか、又はプログラムされたコンピュータコンポーネント及びカスタムハードウェアコンポーネントの任意の組み合わせによって、行うことができる。例えば、本開示は、上記で概略したように、コンピュータプログラム製品として与えることができる。この環境では、例には、命令が記憶された機械可読媒体を含めることができる。命令を用いて、本実施例によるプロセス又は方法を行うように任意のプロセッサ又はプロセッサ(複数)(又は他の電子デバイス)をプログラムすることができる。加えて、本開示をダウンロードして、コンピュータプログラム製品上に記憶することもできる。ここで、プログラムをリモートコンピュータ(例えば、サーバ)から要求元コンピュータ(例えば、クライアント)へ伝達することが、搬送波又は他の伝搬媒体内で具体化されたデータ信号によって、通信リンク(例えば、モデム又はネットワーク接続)を介して可能であり、最終的にこのような信号をコンピュータシステム上に記憶して、後続の実行を図ることができる。
【0089】
方法は、コンピュータ又は任意の命令実行システムによって又はそれらと共に使用するためのプログラムコードをもたらすコンピュータ利用可能又はコンピュータ可読な記憶媒体からアクセス可能なコンピュータプログラム製品において実施することができる。コンピュータ利用可能又はコンピュータ可読な記憶媒体は、コンピュータ若しくは命令実行システム、装置、若しくはデバイスによって又はそれらと共に使用するためのプログラムを含むか又は記憶することができる任意の装置とすることができる。
【0090】
対応するプログラムコードを記憶及び/又は実行することに適したデータ処理システムには、コンピュータ化されたデータ記憶デバイス(例えば、メモリ素子)に直接又は間接的に結合された少なくとも1つのプロセッサを含めることができる。入出力(I/O)デバイス(例えば、限定することなく、キーボード、ディスプレイ、ポインティングデバイスなど)をシステムに結合することができる。またネットワークアダプタをシステムに結合して、データ処理システムを他のデータ処理システム又はリモートプリンター又は記憶デバイスに、介在するプライベート又はパブリックネットワークを通して結合させることもできる。ユーザとのやり取りを行うために、機能を、コンピュータであって、ディスプレイデバイス例えばLCD(液晶ディスプレイ)又は別の種類のモニタであってユーザに情報を表示するもの、及びユーザがコンピュータに入力を与えることができるキーボード及び入力デバイス(例えば、マウス又はトラックボール)を伴うコンピュータ上で実施することができる。
【0091】
コンピュータプログラムは、コンピュータ内で直接又は間接的に用いることができる命令のセットとすることができる。本明細書で説明したシステム及び方法は、プログラミング言語、例えばCUDA、OpenCL、Flash(登録商標)、Java(登録商標)、C++、C、C#、Python、Visual Basic(登録商標)、JavaScript(登録商標)PHP、XML、HTMLなど、又はコンパイル若しくはインタープリットされた言語を含むプログラミング言語の組み合わせを用いて実施することができ、またコンポーネント、サブルーチン、又は他のユニットであってコンピューティング環境内で用いるのに適したものを、スタンドアロンプログラム又はサブシステムとして含む任意の形態で配置することができる。ソフトウェアとしては、限定することなく、ファームウェア、常駐ソフトウェア、マイクロコードなどを挙げることができる。SOAP/HTTPなどのプロトコルを、プログラミングサブシステム間のインターフェースを実施する前に用いてもよい。本明細書で説明するコンポーネント及び機能を、仮想化又は非仮想化環境で実行する任意のデスクトップオペレーティングシステム上で、ソフトウェア開発に適した任意のプログラミング言語を用いて実施してもよい。プログラミング言語としては、限定することなく、異なるバージョンのMicrosoft(登録商標) Windows(登録商標)、Apple(商標)Mac(商標)、iOS(登録商標)、Unix(登録商標)/X-Windows(登録商標)、Linux(登録商標)、VMS(商標)、Android(登録商標)、QNXなどが挙げられる。システムは、Ruby on Railsなどのウェブアプリケーションフレームワークを用いて実施することができる。
【0092】
命令のプログラムを実行するのに好適なプロセッサとしては、汎用及び専用マイクロプロセッサ、並びに任意の種類のコンピュータの単一プロセッサ又は複数のプロセッサ若しくはコアのうちの1つが挙げられるが、これらに限定されない。プロセッサは、コンピュータ化されたデータ記憶デバイス(例えば、読み出し専用メモリ、ランダムアクセスメモリ、両方、又は本明細書で説明したデータ記憶デバイスの任意の組み合わせ)から命令及びデータを受け取って記憶してもよい。プロセッサには、電子デバイスの動作及び性能を制御する働きをする任意の処理回路又は制御回路が含まれていてもよい。
【0093】
本明細書で説明したシステム、サブシステム、及び方法は、ソフトウェア又はハードウェア要素の任意の組み合わせを用いて実施することができる。本明細書で説明したシステム、サブシステム、及び方法は、単独で又は互いに組み合わせて動作する1つ以上の仮想マシンを用いて実施することができる。物理計算機プラットフォームを、ハードウェア計算プラットフォーム又はホスト上で実行される仮想化ソフトウェアの制御下で実行される仮想マシンに封入するために、任意の適用可能な仮想化ソリューションを用いることができる。仮想マシンは、仮想システムハードウェア及びゲストオペレーティングシステムソフトウェアの両方を有することができる。
【0094】
本明細書で説明したシステム及び方法は、コンピュータシステムとして、バックエンドコンポーネント(例えば、データサーバ)を含むもの、又はミドルウェアコンポーネント(例えば、アプリケーションサーバー又はインターネットサーバ)を含むもの、又はフロントエンドコンポーネント(例えば、グラフィカルユーザインターフェース又はインターネットブラウザを有するクライアントコンピュータ)を含むもの、又はこれらの任意の組み合わせにおいて実施することができる。システムのコンポーネントは、デジタルデータ通信の任意の形態又は媒体(例えば、通信ネットワーク)によって接続することができる。通信ネットワークの例としては、例えば、LAN、WAN、並びにインターネットを形成するコンピュータ及びネットワークが挙げられる。
【0095】
本開示の1つ以上の例を、他のコンピュータシステム構成、例えば、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベース又はプログラマブル民生用エレクトロニクス、ミニコンピュータ、メインフレームコンピュータなどを用いて実施してもよい。また本明細書で説明したシステム及び方法を、ネットワークを通してリンクされた遠隔処理デバイスによってタスクを行う分散コンピューティング環境で実施してもよい。
【0096】
用語「コンピュータプログラム媒体」及び「コンピュータ可読媒体」を用いて、全般的に、媒体(例えば、限定することなく、リムーバブル記憶ドライブ、及び/又はハードディスクドライブにインストールされたハードディスク)を指してもよい。これらのコンピュータプログラム製品はコンピュータシステムにソフトウェアを与えてもよい。本明細書で説明したシステム及び方法をこのようなコンピュータプログラム製品に送ってもよい。
【0097】
「一実施形態」「実施形態」「実施形態例」「種々の実施形態」などに言及した場合、本開示の実施形態(複数可)には特定の特徴、構造、又は特性が含まれ得るが、必ずしもすべての実施形態に特定の特徴、構造、又は特性が含まれるわけではないことを示してもよい。更に、語句「一実施形態では」又は「典型的な実施形態では」を繰り返して用いた場合、必ずし同じ実施形態を指すわけではないが、指す場合もある。同様に、「場合」に言及した場合、本開示の種々の場合(複数可)には特定の特徴、構造、又は特性が含まれ得るが、必ずしもすべての場合に特定の特徴、構造、又は特性が含まれるわけではないことを示してもよい。更に、語句「ある場合には」を繰り返して用いた場合、必ずしも同じ場合を指すわけではないが、指す場合もある。
【0098】
アルゴリズムは全般的に、望ましい結果に至る作用又は動作の自己矛盾のないシーケンスであると考えてもよい。これらには物理量の物理的な操作が含まれる。通常、必ずしもそうではないが、これらの量は、記憶、伝達、結合、比較、その他の操作を行うことができる電気又は磁気信号という形を取る。主に一般的な用法の理由で、これらの信号をビット、値、要素、シンボル、文字、用語、数などと言うことが時々便利であることが分かっている。しかし、これらの用語及び同様の用語はすべて、適切な物理量に対応付けられるべきであり、これらの量に適用される単に好都合な標識であることを理解されたい。
【0099】
特に記載のない限り、明細書の全体に渡って、「処理する」「計算する」「算出する」「決定する」などの用語は、コンピュータ又はコンピューティングシステム(又は同様の電子コンピューティングデバイス)であって、コンピューティングシステムのレジスタ及び/又はメモリ内の物理(例えば、電子)量として表されたデータを操作し、及び/又はコンピューティングシステムのメモリ、レジスタ、又は他のこのような情報記憶、送信、又は表示デバイス内の物理量として同様に表された他のデータに変換するものの操作及び/又はプロセスを指すことが理解され得る。
【0100】
同様に、用語「プロセッサ」は、レジスタ及び/又はメモリからの電子データを処理し、その電子データを、レジスタ及び/又はメモリに記憶され得る他の電子データに変換する任意のデバイス又はデバイス部分を指し得る。非限定的な例として、「プロセッサ」は中央演算処理装置(CPU)又はグラフィックス処理装置(GPU)であってもよい。「計算プラットフォーム」には1つ以上のプロセッサが含まれ得る。本明細書で用いる場合、「ソフトウェア」プロセスには、例えば、時間とともに作業(例えば、タスク、スレッド、及び知的エージェント)を行うソフトウェア及び/又はハードウェアエンティティが含まれていてもよい。また各プロセスは、命令を順次又は並列に、連続的又は断続的に行うための複数のプロセスを指してもよい。本明細書では、用語「システム」及び「方法」を、システムが1つ以上の方法を具体化し得る限り、交換可能に使用し、方法はシステムと考えてもよい。
【0101】
本文献では、アナログ又はデジタルデータを得ること、取得すること、受け取ること、又はサブシステム、コンピュータシステム、又はコンピュータ実装機械に入力することに言及してもよい。アナログ及びデジタルデータを得る、取得する、受け取る、又は入力するプロセスは、種々の方法で、例えば、関数呼び出し又はアプリケーションプログラミングインターフェースに対する呼び出しのパラメータとしてデータを受け取ることによって、達成することができる。いくつかの実施態様では、アナログ又はデジタルデータを得る、取得する、受け取る、又は入力するプロセスは、直列又は並列インターフェースを介してデータを転送することによって達成することができる。別の実施態様では、アナログ又はデジタルデータを得る、取得する、受け取る、又は入力するプロセスは、コンピュータネットワークを介して提供実体から取得実体へデータを転送することによって達成することができる。また、アナログ又はデジタルデータを与えること、出力すること、送信すること、送ること、又は示すことにも言及してよい。種々の例において、アナログ又はデジタルデータを与える、出力する、送信する、送る、又は示すプロセスは、関数呼び出しの入力又は出力パラメータ、アプリケーションプログラミングインターフェース又はプロセス間通信メカニズムのパラメータとして、データを転送することによって達成することができる。
【0102】
1つ以上の実施形態について説明してきたが、それらの種々の変更、付加、置換、及び均等物が本開示の範囲に含まれる。
【0103】
実施形態の説明において、本明細書の一部を形成し、特許請求の範囲に記載された主題の特定の実施形態を例として示す添付図面に言及している。当然のことながら、他の実施形態を用いてもよく、変更又は変形、例えば構造的変化を行ってもよい。このような実施形態、変更、又は変形は必ずしも、意図する特許請求の範囲に記載された主題に対する範囲から逸脱してはいない。本明細書におけるステップを特定の順序で示している場合があるが、場合によっては、説明したシステム及び方法の機能を変えることなく特定の入力を異なる時間又は異なる順序で与えるように、順序付けを変更してもよい。また開示した手順を異なる順序で実行することもできる。更に、本明細書における種々の計算は、開示した順序で行う必要はなく、計算の代替的な順序付けを用いた他の実施形態を容易に実施することができる。並べ直すことに加えて、計算をサブ計算に分解して同じ結果を得ることもできる。いくつかの例では、示した動作を並列及び実質的に同時に行ってもよい。全般的に、一連のブロックを示している場合があるが、示したプロセスを行うのにすべてのステップが必要なわけではない場合もある。
【0104】
上述の説明では、説明した技術の実施例について述べているが、他のアーキテクチャを用いて、説明した機能を実施してもよく、本開示の範囲内であることが意図されている。更に、説明の目的上、責任の特定の配分が前述で規定されているが、状況に応じて、種々の機能及び責任を異なる方法で配分及び分割してもよい。
【0105】
更に、主題の説明を、構造的特徴及び/又は方法行為に固有の言語で行っているが、当然のことながら、添付の特許請求の範囲に規定された主題は必ずしも、説明した具体的な特徴又は行為には限定されない。むしろ、具体的な特徴及び行為は、特許請求の範囲を実施する典型的な形態として開示している。
【0106】
例示的条項
【0107】
開示した実施形態を以下の条項を考慮して説明することができる。
【0108】
1.方法であって、自律車両上のセンサから、前記自律車両の運転環境に関係するセンサデータを受け取ることと、少なくとも部分的に前記センサデータに基づいて、前記運転環境の運転環境特性を決定することと、人間運転者が運転する車両から収集したトレーニングデータを用いて速度を決定するようにトレーニングされた機械学習済みモデルに前記運転環境特性を入力することと、前記機械学習済みモデルから、前記自律車両に対する目標速度を受け取ることと、少なくとも部分的に前記センサデータ及び前記目標速度に基づいて、前記自律車両に対する軌跡を決定することと、前記軌跡により前記自律車両を制御することと、を含む前記方法。
【0109】
2.前記運転環境状態には、法定制限速度、車線幅、支配的走行速度、又は接近する走行速度が含まれる条項1に記載の方法。
【0110】
3.少なくとも部分的に前記車両の性能限界に基づいて制限速度を決定することと、前記制限速度に基づいて前記目標速度を下げることと、を更に含む条項1又は2に記載の方法。
【0111】
4.前記センサには、カメラ、超音波センサ、レーダセンサ、LIDARセンサ、温度計、水分センサ、湿度センサ、又は周辺光センサのうちの1つ以上が含まれ、前記機械学習済みモデルには、3つ以下の全結合層を有するニューラルネットワークが含まれる条項1~3のいずれかに記載の方法。
【0112】
5.1つ以上のプロセッサと物理命令を記憶するメモリとを含ムシステムであって、前記物理命令は、前記1つ以上のプロセッサによって実行される結果、前記システムに、前記システム上のセンサを用いて取得したセンサデータに少なくとも部分的に基づいて、車両の運転環境に付随する状態の組を決定することと、前記状態の組を機械学習済みモデルに与えて目標速度を作成することであって、前記機械学習済みモデルは人間運転者が運転する車両から生成されたトレーニングデータを用いてトレーニングされている、前記作成することと、少なくとも部分的に前記センサデータ及び前記目標速度に基づいて、前記自律車両に対する軌跡を決定することと、前記車両を制御するために用いるべき前記軌跡を提供することと、を行わせる前記システム。
【0113】
6.前記状態の組には、前記運転環境に付随する天気、前記車両に近接する更なる車両の数、前記更なる車両に付随する1つ以上の範囲、前記更なる車両に付随する1つ以上の相対速度、前記運転環境に付随するマップデータに少なくとも部分的に基づいて決定される前記運転環境に付随する法定制限速度が含まれる条項5に記載のシステム。
【0114】
7.前記コンピュータ実行可能命令には更に、実行されると、前記1つ以上のプロセッサに、前記センサデータから、緊急車両が存在すると決定することを行わせる命令が含まれ、前記状態の組には緊急車両の存在が含まれる条項5又は6に記載のシステム。
【0115】
8.前記コンピュータ実行可能命令には更に、実行されると、前記1つ以上のプロセッサに、前記センサデータから、車輪スリップの度合を決定することを行わせる命令が含まれ、前記状態の組には車両トラクションの度合が含まれる条項5~7のいずれかに記載のシステム。
【0116】
9.前記コンピュータ実行可能命令には更に、実行されると、前記1つ以上のプロセッサに、前記センサデータから、前記歩行者が前記車両の前記経路の閾値距離内にいると決定することによって歩行者が存在すると決定することを行わせる命令が含まれ、前記状態の組には歩行者の存在が含まれる条項5~8のいずれかに記載のシステム。
【0117】
10.前記状態の組には更に、前記車両によって検知されない前記車両の周りの領域を特定するオクルージョングリッドが含まれる条項5~9のいずれかに記載のシステム。
【0118】
11.前記コンピュータ実行可能命令には更に、実行されると、前記1つ以上のプロセッサに、前記目標速度が以前の目標速度の閾値内にあると決定することと、前記目標速度が以前の目標速度の閾値内にあると決定することに少なくとも部分的に基づいて前記車両を制御することと、を行わせる命令が含まれる条項5~10のいずれかに記載のシステム。
【0119】
12.前記トレーニングデータには複数のデータサンプルが含まれ、前記複数のデータサンプル中の各サンプルには、前記状態の組の中の各状態に対する値及び人間運転者が運転する付随する速度が含まれる条項5~11のいずれかに記載のシステム。
【0120】
13.実行可能命令が記憶された非一時的コンピュータ可読記憶媒体であって、前記実行可能命令は、コンピュータシステムの1つ以上のプロセッサによって実行される結果、前記コンピュータシステムに、車両上の1つ以上のセンサからセンサデータを取得することと、少なくとも部分的に前記センサデータに基づいて、前記車両が走行する環境の特性を表す1つ以上のパラメータを決定することと、少なくとも部分的に前記センサデータ及び前記パラメータに基づいて、機械学習済みモデルによって制御されたネットワークを用いて目標速度を決定することであって、前記機械学習済みモデルは人間運転者が運転する車両から生成されたトレーニングデータを用いてトレーニングされている、前記決定することと、少なくとも部分的に前記センサデータ及び前記目標速度に基づいて、前記車両に対する軌跡を決定することと、前記車両を制御するために用いるべき前記軌跡を提供することと、を含む動作を行わせる前記非一時的コンピュータ可読記憶媒体。
【0121】
14.前記ネットワークは全結合層の3層のニューラルネットワークである条項13に記載の非一時的コンピュータ可読記憶媒体。
【0122】
15.前記1つ以上のパラメータには、同じ方向に走行する車両の量、反対方向に走行する車両の量、停車中の車両の数、及び前記環境に付随するマップデータが含まれる条項13又は14に記載の非一時的コンピュータ可読記憶媒体。
【0123】
16.前記機械学習済みモデルは前記車両に対する線形加速限界を作成する条項13~15のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【0124】
17.前記トレーニングデータは、前記車両速度がゼロであるか又は前記車両の前記経路が別の車両、物体、又は交通ジャンクションに妨げられている運転シナリオを除外する条項13~16のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【0125】
18.前記動作には更に、前記車両の前記速度を、前記目標速度の前記下限値と、少なくとも部分的にマップデータに基づいて決定された、前記環境に付随する制限速度とに限定することが含まれる条項13~17のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【0126】
19.一連の目標速度をローパスフィルタを通して処理することによって前記目標速度を作成する条項13~18のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【0127】
20.前記命令には更に、前記1つ以上のプロセッサによって実行される結果、前記コンピュータシステムに前記機械学習済みモデルに対して前記車両の車種を特定することを行わせる命令が含まれ、前記1つ以上のパラメータには前記車種が含まれる条項19に記載の非一時的コンピュータ可読記憶媒体。