(57)【要約】  自動運転車（ＡＤＶ）の操作で利用可能なキャリブレーションテーブルを更新する。操作は、制御コマンドを実行する前の第１の時間において、第１のトルク値を決定することと、ＡＤＶの速度、所望の加速度、及びキャリブレーションテーブルの関連エントリに基づいて、制御コマンドを決定することと、制御コマンドを実行することと、制御コマンドを実行した後の第２の時間において、第２のトルク値を決定することと、トルク誤差値を、第１のトルク値と第２のトルク値との差として決定することと、トルク誤差値に少なくとも部分的に基づいてキャリブレーションテーブルの関連エントリを更新することと、更新されたキャリブレーションテーブルに少なくとも部分的に基づいて、ＡＤＶの操作を制御するために駆動信号を生成することとを含む。【選択図】図６
2021511996.tif 000002
【特許請求の範囲】
【請求項１】
自動運転車ＡＤＶを操作するためのコンピュータ実装の方法であって、
前記ＡＤＶを制御するための制御コマンドを発行することであって、前記制御コマンドは、前記ＡＤＶの速度および所望の加速度に関するキャリブレーションテーブルのエントリから取得されることと、
前記ＡＤＶへの前記制御コマンドの発行に応答して、第１のトルク値を測定することと、
トルク誤差値を、前記第１のトルク値と、前記制御コマンドを発行する前に測定した第２のトルク値との差として決定することと、
前記トルク誤差値に少なくとも部分的に基づいて前記キャリブレーションテーブルの関連エントリを更新することであって、更新されたキャリブレーションテーブルは前記ＡＤＶを制御するための後続制御コマンドを決定するために用いられるものである、更新することと
を含む、コンピュータ実装の方法。
【請求項２】
前記キャリブレーションテーブルは、多くのエントリを含み、前記エントリの各々は、速度、加速度、及びスロットルまたはブレーキの割合を含む制御コマンドを含む、請求項１に記載の方法。
【請求項３】
前記キャリブレーションテーブルの関連エントリを更新することは、前記関連エントリの中の加速度を更新することを含む、請求項２に記載の方法。
【請求項４】
更新前の前記関連エントリの中の加速度、前記トルク誤差値、およびコスト値に少なくとも部分的に基づいて、更新される加速度を決定する、請求項３に記載の方法。
【請求項５】
前記関連エントリの制御コマンドと実行された制御コマンドとの間の第１の差異、および前記関連エントリの速度と前記ＡＤＶの現在の速度との間の第２の差異に基づいて、前記コスト値を決定する、請求項４に記載の方法。
【請求項６】
前記ＡＤＶの有効質量、前記ＡＤＶの加速度、前記ＡＤＶの質量、前記ＡＤＶのピッチ角、転がり抵抗、空気抵抗係数、前記ＡＤＶの速度、および前記ＡＤＶのタイヤ半径に少なくとも部分的に基づいて、第１トルク値または第２トルク値を決定する、請求項１に記載の方法。
【請求項７】
前記ＡＤＶの質量、前記ＡＤＶの慣性モーメント、および前記ＡＤＶのタイヤ半径に少なくとも部分的に基づいて、前記ＡＤＶの有効質量を決定する、請求項６に記載の方法。
【請求項８】
命令を記憶している非一時性機器可読媒体であって、
前記命令は、プロセッサによって実行されるときに、前記プロセッサを、自動運転車ＡＤＶを操作するための操作を実行するようにさせ、前記操作は、
前記ＡＤＶを制御するための制御コマンドを発行することであって、前記制御コマンドは、前記ＡＤＶの速度および所望の加速度に関するキャリブレーションテーブルのエントリから取得されることと、
前記ＡＤＶへの前記制御コマンドの発行に応答して、第１のトルク値を測定することと、
トルク誤差値を、前記第１のトルク値と、前記制御コマンドを発行する前に測定した第２のトルク値との差として決定することと、
前記トルク誤差値に少なくとも部分的に基づいて前記キャリブレーションテーブルの関連エントリを更新することであって、更新されたキャリブレーションテーブルは前記ＡＤＶを制御するための後続制御コマンドを決定するために用いられることと
を含む、非一時性機器可読媒体。
【請求項９】
前記キャリブレーションテーブルは、多くのエントリを含み、前記エントリの各々は、速度、加速度、及びスロットルまたはブレーキの割合を含む制御コマンドを含む、請求項８に記載の機器可読媒体。
【請求項１０】
前記キャリブレーションテーブルの関連エントリを更新することは、前記関連エントリの中の加速度を更新することを含む、請求項９に記載の機器可読媒体。
【請求項１１】
更新前の前記関連エントリの中の加速度、前記トルク誤差値、およびコスト値に少なくとも部分的に基づいて、更新される加速度を決定する、請求項１０に記載の機器可読媒体。
【請求項１２】
前記関連エントリの制御コマンドと実行された制御コマンドとの間の第１の差異、および前記関連エントリの速度と前記ＡＤＶの現在の速度との間の第２の差異に基づいて、前記コスト値を決定する、請求項１１に記載の機器可読媒体。
【請求項１３】
前記ＡＤＶの有効質量、前記ＡＤＶの加速度、前記ＡＤＶの質量、前記ＡＤＶのピッチ角、転がり抵抗、空気抵抗係数、前記ＡＤＶの速度、および前記ＡＤＶのタイヤ半径に少なくとも部分的に基づいて、第１トルク値または第２トルク値を決定する、請求項８に記載の機器可読媒体。
【請求項１４】
前記ＡＤＶの質量、前記ＡＤＶの慣性モーメント、および前記ＡＤＶのタイヤ半径に少なくとも部分的に基づいて、前記ＡＤＶの有効質量を決定する、請求項１３に記載の機器可読媒体。
【請求項１５】
プロセッサと、前記プロセッサに接続され、命令を記憶するメモリとを含むデータ処理システムであって、
前記命令は、プロセッサによって実行されるときに、
前記ＡＤＶを制御するための制御コマンドを発行し、前記制御コマンドは、前記ＡＤＶの速度および所望の加速度に関するキャリブレーションテーブルのエントリから取得されることと、
前記ＡＤＶへの前記制御コマンドの発行に応答して、第１のトルク値を測定することと、
トルク誤差値を、前記第１のトルク値と、前記制御コマンドを発行する前に測定した第２のトルク値との差として決定することと、
前記トルク誤差値に少なくとも部分的に基づいて前記キャリブレーションテーブルの関連エントリを更新し、更新されたキャリブレーションテーブルは前記ＡＤＶを制御するための後続制御コマンドを決定するために用いられることと
を含む、自動運転車ＡＤＶを操作するための操作を前記プロセッサに実行させる、データ処理システム。
【請求項１６】
前記キャリブレーションテーブルは、多くのエントリを含み、前記エントリの各々は、速度、加速度、及びスロットルまたはブレーキの割合を含む制御コマンドを含む、請求項１５に記載のシステム。
【請求項１７】
前記キャリブレーションテーブルの関連エントリを更新することは、前記関連エントリの中の加速度を更新することを含む、請求項１６に記載のシステム。
【請求項１８】
更新前の前記関連エントリの中の加速度、前記トルク誤差値、およびコスト値に少なくとも部分的に基づいて、更新される加速度を決定する、請求項１５に記載のシステム。
【請求項１９】
前記関連エントリの制御コマンドと実行された制御コマンドとの間の第１の差異、および前記関連エントリの速度と前記ＡＤＶの現在の速度との間の第２の差異に基づいて、前記コスト値を決定する、請求項１８に記載のシステム。
【請求項２０】
前記ＡＤＶの有効質量、前記ＡＤＶの加速度、前記ＡＤＶの質量、前記ＡＤＶのピッチ角、転がり抵抗、空気抵抗係数、前記ＡＤＶの速度、および前記ＡＤＶのタイヤ半径に少なくとも部分的に基づいて、第１トルク値または第２トルク値を決定する、請求項１５に記載のシステム。
【請求項２１】
前記ＡＤＶの質量、前記ＡＤＶの慣性モーメント、および前記ＡＤＶのタイヤ半径に少なくとも部分的に基づいて、前記ＡＤＶの有効質量を決定する、請求項２０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願の実施形態は、総体的に自動運転車の操作に関し、具体的には、自動運転車の制御システムにおける自動キャリブレーションに関する。
【背景技術】
【０００２】
自動運転モード（例えば、無人運転）で運行する車両は、乗員を、特に運転手を、幾つかの運転関連の責務から解放することができる。自動運転モードで運行する時、車両は、車載センサを使用して各位置にナビゲートされることができ、故に車両を最小のマン・マシン・インタラショションの状況で、または乗客がまったくいない状況で運行させることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
車両キャリブレーション情報は、自動運転車の制御システムにおける縦方向の制御に不可欠である。既知の手動キャリブレーション方法は、大規模に使用できない。
【課題を解決するための手段】
【０００４】
本願の１つの側面においては、本願は、自動運転車（ＡＤＶ）を操作するためのコンピュータ実装の方法を提供する。当該方法は、ＡＤＶを制御するための制御コマンドを発行し、当該制御コマンドは、ＡＤＶの速度および所望の加速度に関するキャリブレーションテーブルのエントリから取得されることと、ＡＤＶへの制御コマンドの発行に応答して、第１のトルク値を測定することと、トルク誤差値を、第１のトルク値と、制御コマンドを発行する前に測定した第２のトルク値との差として決定することと、トルク誤差値に少なくとも部分的に基づいてキャリブレーションテーブルの関連エントリを更新し、更新されたキャリブレーションテーブルはＡＤＶを制御するための後続制御コマンドを決定するために用いられることとを含む。
【０００５】
本願のもう１つの側面においては、本願は、命令を記憶している非一時性機器可読媒体を提供する。前記命令は、プロセッサによって実行されるときに、ＡＤＶを制御するための制御コマンドを発行し、当該制御コマンドは、ＡＤＶの速度および所望の加速度に関するキャリブレーションテーブルのエントリから取得されることと、ＡＤＶへの制御コマンドの発行に応答して、第１のトルク値を測定することと、トルク誤差値を、第１のトルク値と、制御コマンドを発行する前に測定した第２のトルク値との差として決定することと、トルク誤差値に少なくとも部分的に基づいてキャリブレーションテーブルの関連エントリを更新し、更新されたキャリブレーションテーブルはＡＤＶを制御するための後続制御コマンドを決定するために用いられることとを含む、自動運転車（ＡＤＶ）を操作するための操作を前記プロセッサに実行させる。
【０００６】
本願のもう１つの側面においては、本願は、データ処理システムを提供する。当該データ処理システムは、プロセッサと、前記プロセッサに接続され、命令を記憶するメモリとを含み、前記命令は、プロセッサによって実行されるときに、ＡＤＶを制御するための制御コマンドを発行し、当該制御コマンドは、ＡＤＶの速度および所望の加速度に関するキャリブレーションテーブルのエントリから取得されることと、ＡＤＶへの制御コマンドの発行に応答して、第１のトルク値を測定することと、トルク誤差値を、第１のトルク値と、制御コマンドを発行する前に測定した第２のトルク値との差として決定することと、トルク誤差値に少なくとも部分的に基づいてキャリブレーションテーブルの関連エントリを更新し、更新されたキャリブレーションテーブルはＡＤＶを制御するための後続制御コマンドを決定するために用いられることとを含む、自動運転車（ＡＤＶ）を操作するための操作を前記プロセッサに実行させる。
【図面の簡単な説明】
【０００７】
本願の実施形態は、各図面の中で限定の方式ではなく、例をあげる方式で示されている。図面の中の同じ参照表記は、似ている部材を示す。
【図１】一実施形態によるネットワーク化システムを示すブロック図である。
【図２】一実施形態による自動運転車の例示を示すブロック図である。
【図３Ａ】一つの実施形態による、自動運転車で使用される感知・計画システムの例示を示すブロック図である。
【図３Ｂ】一つの実施形態による、自動運転車で使用される感知・計画システムの例示を示すブロック図である。
【図４】一実施形態による各種モジュールを示すブロック図である。
【図５】一実施形態による、自動運転車（ＡＤＶ）の操作で利用可能なキャリブレーションテーブルを更新するために使用される例示的な方法のフローチャート図である。
【図６】一実施形態によるデータ処理システムを示すブロック図である。
【図７】本願の一実施形態とともに使用できるデータ処理システムの例示を示すブロック図である。
【発明を実施するための形態】
【０００８】
以下、討論の細部を参照しながら、本願の各実施形態と各側面について説明し、図面は、各実施形態を示す。以下の説明と図面は、本願に対する解釈であり、本願に対する限定ではないことが理解される。本願の各実施形態に対する全面的な理解をさせるために、多数の特定な細部を説明するが、場合によっては、本願の実施形態に対する簡潔な討論を行わせるために、周知の細部または通常の細部については、説明を省く時もある。
【０００９】
本明細書における「一つの実施形態」または「実施形態」の言及は、当該実施形態に関連して説明する特定の特徴、構造または特性が、本願の少なくとも一つの実施形態に含まれることを意味する。本明細書の各箇所に現れる短句「一つの実施形態において」は、必ずしも全部同一の実施形態を指すものではない。
【００１０】
幾つかの実施形態により、自動運転車（ＡＤＶ）の操作で利用可能なキャリブレーションテーブルを更新する。まず、制御コマンドを実行する前の第１の時間において、第１のトルク値を決定する。ＡＤＶの速度、所望の加速度、及びキャリブレーションテーブルの関連エントリに基づいて、制御コマンドを決定する。キャリブレーションテーブルは、ＡＤＶの速度を制御するために使用され、多くのエントリを含み、各エントリには、速度、加速度、及びスロットルまたはブレーキの割合を含む制御コマンドが含まれる。関連エントリは、速度がＡＤＶの現在の速度に対応し、加速度が所望の加速度に対応するエントリである。従って、キャリブレーションテーブルは、制御コマンドを生成し、当該制御コマンドは、ＡＤＶの現在の速度とＡＤＶの所望の加速度に基づくスロットルまたはブレーキの割合を含む。
【００１１】
次に、制御コマンドを実行する。制御コマンドを実行した後の第２の時間において、第２のトルク値を決定する。トルク誤差値を、第１のトルク値と第２のトルク値との差として決定する。その後、トルク誤差値に少なくとも部分的に基づいてキャリブレーションテーブルの関連エントリを更新する。さらに、更新されたキャリブレーションテーブルに少なくとも部分的に基づいて、ＡＤＶの操作を制御するために駆動信号を生成する。
【００１２】
一つの実施形態において、キャリブレーションテーブルの関連エントリを更新することは、関連エントリの中の加速度を更新することを含む。一つの実施形態において、更新前の関連エントリの中の加速度、トルク誤差値、およびコスト値に少なくとも部分的に基づいて、更新される加速度を決定する。一つの実施形態において、ＡＤＶの有効質量、ＡＤＶの加速度、ＡＤＶの質量、ＡＤＶのピッチ角、転がり抵抗（ｒｏｌｌｉｎｇ  ｒｅｓｉｓｔａｎｃｅ）、空気抵抗係数、ＡＤＶの速度、およびＡＤＶのタイヤ半径に少なくとも部分的に基づいて、第１トルク値または第２トルク値を決定する。一つの実施形態において、ＡＤＶの質量、ＡＤＶの慣性モーメント、およびＡＤＶのタイヤ半径に少なくとも部分的に基づいて、ＡＤＶの有効質量を決定する。
【００１３】
図１は、本願の一つの実施形態による自動運転車のネットワーク配置を示すブロック図である。図１に示すように、ネットワーク配置１００は、ネットワーク１０２を通じて一つまたは複数のサーバ１０３〜１０４に通信可能に接続する自動運転車１０１を含む。一台の自動運転車しか示されていないが、複数台の自動運転車がネットワーク１０２を通じて互いに接続し、及び／またはサーバ１０３〜１０４に接続しても良い。ネットワーク１０２は、任意のタイプのネットワークであっても良く、例えば、有線または無線のローカルエリアネットワーク（ＬＡＮ）、インターネットのようなワイドエリアネットワーク（ＷＡＮ）、移動体通信ネットワーク、衛星ネットワークまたはその組み合わせであっても良い。サーバ１０３〜１０４は、任意のタイプのサーバまたはサーバクラスタであっても良く、例えば、ネットワークまたはクラウドサーバ、アプリケーションサーバ、バックエンドサーバまたはその組み合わせであっても良い。サーバ１０３〜１０４は、データ分析サーバ、コンテンツサーバ、交通情報サーバ、地図と関心地点（ＭＰＯＩ）サーバまたは位置サーバ等であっても良い。
【００１４】
自動運転車は、自動運転モードで配置できる車両を指し、前記自動運転モードにおいて、運転手からの入力が非常に少ない状況、または運転手からの入力がない状況において車両が環境を通過するようにナビゲートされる。このような自動運転車は、センサシステムを含むことができ、前記センサシステムは、車両の運行環境と関係のある情報を計測する一つまたは複数のセンサを有するように配置される。前記車両と関連するコントローラは、計測した情報を使用して車両が前記環境を通過するようにナビゲートを行う。自動運転車１０１は、手動モード、全自動運転モードまたは部分自動運転モードで走行することができる。
【００１５】
一つの実施形態において、自動運転車１０１は、感知・計画システム１１０と、車両制御システム１１１と、無線通信システム１１２と、ユーザーインターフェースシステム１１３と、センサシステム１１５とを含むが、これらに限定されない。自動運転車１０１は、さらに普通の車両に含まれる通常の部材、例えば、エンジン、ホイール、ステアリングホイール、トランスミッション等を含むことができ、前記部材は、複数の種類の通信信号及び／または命令を使って車両制御システム１１１及び／または感知・計画システム１１０によってコントロールされることができる。当該複数の種類の通信信号及び／または命令は、例えば、加速信号または命令、減速信号または命令、方向転換信号または命令、ブレーキ信号または命令等である。
【００１６】
部材１１０〜１１５は、インターコネクト、バス、ネットワークまたはその組み合わせを通じて互いに通信可能に接続することができる。部材１１０〜１１５は、コントローラエリアネットワーク（ＣＡＮ）バスを通じて互いに通信可能に接続することができる。ＣＡＮバスは、ホストコンピュータがない応用においてマイクロコントローラーと装置が互いに通信できるように設計された車両バス規格である。ＣＡＮバスは、最初は自動車内部の多重化電気配線用に設計されたメッセージベースのプロトコルであるが、多数のその他の環境においても使用される。
【００１７】
図２に示すように、一つの実施形態において、センサシステム１１５は、一つまたは複数のカメラ２１１と、グローバル・ポジショニング・システム（ＧＰＳ）ユニット２１２と、慣性計測装置（ＩＭＵ）２１３と、レーダユニット２１４と、光検出と測距（ＬＩＤＡＲ）ユニット２１５とを含むが、これらに限定されない。ＧＰＳユニット２１２は、自動運転車の位置に関する情報を提供するように操作可能なトランシーバを含んでも良い。ＩＭＵユニット２１３は、慣性加速度に基づいて自動運転車の位置と向く方向の変化をセンシングすることができる。レーダユニット２１４は、無線信号を使って自動運転車のローカル環境内のオブジェクトをセンシングするシステムを表すことができる。幾つかの実施形態において、オブジェクトをセンシングする以外に、レーダユニット２１４は、さらにオブジェクトの速度及び／または進行方向をセンシングすることができる。ＬＩＤＡＲユニット２１５は、レーザーを使って自動運転車を取り巻く環境の中のオブジェクトをセンシングすることができる。その他のシステム部材以外に、ＬＩＤＡＲユニット２１５は、一つまたは複数のレーザー光源、レーザースキャンナー及び一つまたは複数の検出器を更に含むことができる。カメラ２１１は、自動運転車の周辺環境の画像を採集するために使う一つまたは複数の装置を含むことができる。カメラ２１１は、スチールカメラ及び／またはビデオカメラであっても良い。カメラは、機械的に移動できるものであっても良く、例えば、カメラを回転及び／または傾斜するプラットフォームに取り付けても良い。
【００１８】
センサシステム１１５は、ソナーセンサ、赤外センサ、方向転換センサ、スロットルセンサ、ブレーキセンサ、及びオーディオセンサ（例えば、マイクロホン）のようなその他のセンサを更に含むことができる。オーディオセンサは、自動運転車の周辺環境から音声を採集するように配置されても良い。方向転換センサは、ステアリングホイール、車両のホイールまたはその組み合わせの方向転換角度をセンシングするように配置されても良い。スロットルセンサとブレーキセンサは、それぞれ車両のスロットル位置とブレーキ位置をセンシングする。幾つかの状況において、スロットルセンサとブレーキセンサは、集積式スロットル／ブレーキセンサとして集積されても良い。
【００１９】
一つの実施形態において、車両制御システム１１１は、ステアリングユニット２０１と、スロットルユニット２０２（加速ユニットとも呼ばれる）と、ブレーキユニット２０３とを含むが、これらに限定されない。ステアリングユニット２０１は、車両の方向または進行方向を調整するために使用される。スロットルユニット２０２は、モーターまたはエンジンの速度をコントロールするために使用され、モーターまたはエンジンの速度は、車両の速度と加速度を更にコントロールする。ブレーキユニット２０３は、摩擦を提供することによって車両のホイールまたはタイヤを減速させ、ひいては車両を減速させる。図２に示す部材は、ハードウェア、ソフトウェアまたはその組み合わせとして実装できることに注意すべきである。
【００２０】
図１の参照に戻り、無線通信システム１１２は、自動運転車１０１が例えば装置、センサ、その他の車両等の外部システムとの間で通信できるように許可する。例えば、無線通信システム１１２は、一つまたは複数の装置と直接的に無線通信することができ、または通信ネットワークを通じて無線通信することができ、例えば、ネットワーク１０２を通じてサーバ１０３〜１０４と通信することができる。無線通信システム１１２は、任意の移動体通信ネットワークまたは無線ローカルエリアネットワーク（ＷＬＡＮ）を使用することができ、例えば、ＷＩＦＩを使って他の部材またはシステムと通信する。無線通信システム１１２は、例えば赤外線リンク、ブルートゥース等を使って装置（例えば、乗客のモバイル装置、ディスプレイ装置、車両１０１の内部のスピーカー）と直接通信することができる。ユーザーインターフェースシステム１１３は、車両１０１の内部で実装された周辺装置の部分であっても良く、例えば、キーボード、タッチパネルディスプレイ装置、マイクロホンとスピーカー等である。
【００２１】
特に自動運転モードで操作するとき、自動運転車１０１の機能の幾つかまたは全部は、感知・計画システムによってコントロールまたは管理されることができる。感知・計画システム１１０は、センサシステム１１５、制御システム１１１、無線通信システム１１２及び／またはユーザーインターフェースシステム１１３から情報を受信し、受信した情報を処理し、起点から目的地点までのルートまたは経路を計画し、そして計画と制御情報に基づいて車両１０１を運転するように、必要なハードウェア（例えば、プロセッサ、メモリ、記憶装置）とソフトウェア（例えば、オペレーティングシステム、計画とルーティングプログラム）を含む。代替できるように、感知・計画システム１１０は、車両制御システム１１１と一体に集積されても良い。
【００２２】
例えば、乗客としてのユーザーは、例えばユーザーインターフェースを通じて行程のスタート位置と目的地を指定することができる。感知・計画システム１１０は、行程に関するデータを獲得する。例えば、感知・計画システム１１０は、サーバ１０３〜１０４の一部分であるＭＰＯＩサーバから位置とルートの情報を獲得することができる。位置サーバは、位置サービスを提供し、ＭＰＯＩサーバは、地図サービスと幾つかの位置のＰＯＩを提供する。代替できるように、この種類の位置とＭＰＯＩ情報は、感知・計画システム１１０の永続的記憶装置にローカル的にキャッシュされても良い。
【００２３】
自動運転車１０１がルートに沿って移動する時、感知・計画システム１１０は、交通情報システムまたはサーバ（ＴＩＳ）からリアルタイムの交通情報を更に獲得することができる。サーバ１０３〜１０４は、サードパーティーによって操作されることができることに注意すべきである。代替できるように、サーバ１０３〜１０４の機能は、感知・計画システム１１０と一体に集積されても良い。安全でかつ効率よく指定の目的地に到達するように、リアルタイムの交通情報、ＭＰＯＩ情報、位置情報及びセンサシステム１１５によって計測またはセンシングされたリアルタイムのローカル環境データ（例えば、障害物、オブジェクト、付近車両）に基づいて、感知・計画システム１１０は、最適なルートを計画し、そして計画されたルートに基づき、例えば制御システム１１１を通じて車両１０１を運転する。
【００２４】
サーバ１０３は、各種の顧客のためにデータ分析サービスを実行するデータ分析システムであっても良い。一つの実施形態において、データ分析システム１０３は、データ収集器１２１と機械学習エンジン１２２を含む。データ収集器１２１は、各種車両（自動運転車または人間の運転手によって運転される通常の車両）から運転統計データ１２３を収集する。運転統計データ１２３は、出された運転命令（例えば、スロットル、ブレーキ、方向転換命令）及び車両のセンサが異なる時刻で捕捉した車両の反応（例えば、速度、加速、減速、方向）を表す情報を含む。運転統計データ１２３は、異なる時刻における運転環境を表す情報、例えば、ルート（スタート位置と目的地位置を含む）、ＭＰＯＩ、道路状況、気候状況等を更に含むことができる。
【００２５】
運転統計データ１２３に基づき、各種の目的のために、機械学習エンジン１２２は、ワンセットのルール、アルゴリズム及び／または予測モデル１２４を生成またはトレーニングする。一つの実施形態において、アルゴリズム１２４は、一つの実施形態による、トルクフィードバックに基づいてキャリブレーションテーブルを自動更新するアルゴリズムを含むことができる。そのあと、アルゴリズム１２４を、自動運転の期間でリアルタイムに使用されるように、ＡＤＶにアップロードすることができる。
【００２６】
図３Ａと図３Ｂは、一つの実施形態による自動運転車と一緒に使用される感知・計画システムの例示を示すブロック図である。システム３００は、図１の自動運転車１０１の一部分として実装することができ、感知・計画システム１１０と、制御システム１１１と、センサシステム１１５とを含むが、これらに限定されない。図３Ａと図３Ｂに示すように、感知・計画システム１１０は、測位モジュール３０１と、感知モジュール３０２と、予測モジュール３０３と、決定モジュール３０４と、計画モジュール３０５と、制御モジュール３０６と、ルーティングモジュール３０７と、キャリブレーションモジュール３０８を含むが、これらに限定されない。
【００２７】
モジュール３０１〜３０８の中の幾つかまたは全部は、ソフトウェア、ハードウェアまたはその組み合わせとして実装することができる。例えば、これらのモジュールは、永続的記憶装置３５２にインストールされ、メモリ３５１にロードされ、一つまたは複数のプロセッサ（図示せず）によって実行されても良い。これらのモジュールの中の幾つかまたは全部は、図２の車両制御システム１１１の幾つかまたは全部のモジュールと通信可能的に接続され、または一体に集積されることができることに注意すべきである。モジュール３０１〜３０８の中の幾つかは、一体に集積モジュールとして集積されても良い。例えば、キャリブレーションモジュール３０８は、制御モジュール３０６と一緒に実装または集積されても良い。
【００２８】
測位モジュール３０１は、自動運転車３００の目下位置（例えば、ＧＰＳユニット２１２を使って）を決め、ユーザーの行程またはルートに関する任意のデータを管理する。測位モジュール３０１（地図・ルートモジュールとも呼ばれる）は、ユーザーの行程またはルートに関する任意のデータを管理する。ユーザーは、例えばユーザーインターフェースを通じてログインし、行程のスタート位置と目的地を指定することができる。測位モジュール３０１は、行程に関するデータを獲得するために、地図・ルート情報３１１のような、自動運転車３００のその他の部材と通信する。例えば、測位モジュール３０１は、位置サーバと、地図とＰＯＩ（ＭＰＯＩ）サーバから位置とルートの情報を獲得できる。位置サーバは、位置サービスを提供し、ＭＰＯＩサーバは、地図サービスと幾つかの位置のＰＯＩを提供し、よって地図・ルート情報３１１の一部分としてキャッシュできる。自動運転車３００がルートに沿って移動する時、測位モジュール３０１は、交通情報システムまたはサーバからリアルタイムの交通情報を獲得することができる。
【００２９】
センサシステム１１５から提供されたセンサデータと測位モジュール３０１から獲得した測位情報に基づき、感知モジュール３０２は、周囲環境に対する感知を決める。感知情報は、普通の運転手が運転している車両の周辺から感知する情報を表すことができる。感知は、オブジェクトの形で、例えば、車線配置、交通信号、もう一つの車両の相対位置、歩行者、建築物、横断歩道またはその他の交通関連標識（例えば、停止標識、譲れ標識）等を含むことができる。車線配置は、例えば車線の形状（例えば、直線または曲線）、車線の幅、道路内の車線数、一方通行または双方向車線、合流または分離車線、出口車線などのような、１つまたは複数の車線を記述する情報を含む。
【００３０】
感知モジュール３０２は、一つまたは複数のカメラから採集した画像を処理分析し、自動運転車の環境の中のオブジェクト及び／または特徴を識別するように、コンピュータビジョンシステムまたはコンピュータビジョンシステムの機能を含むことができる。前記オブジェクトは、交通信号、道路の境界、他の車両、歩行者及び／または障害物等を含むことができる。コンピュータビジョンシステムは、オブジェクト識別アルゴリズム、ビデオトラッキング及びその他のコンピュータビジョン技術を使うことができる。幾つかの実施形態においては、コンピュータビジョンシステムは環境地図を描き、オブジェクトを追跡し、オブジェクトの速度を見積もることができる。感知モジュール３０２は、さらに、例えば、レーダ及び／またはＬＩＤＡＲ等のようなその他のセンサから提供されたその他のセンターデータに基づき、オブジェクトを検出することができる。
【００３１】
各々のオブジェクトに対して、予測モジュール３０３は、オブジェクトがこの状況においてどう振舞うかを予測する。予測は、地図／ルート情報３１１と交通ルール３１２を考慮した、運転環境をその時刻で感知した感知データに基づいて実行される。例えば、オブジェクトは反対方向の車両であり、かつ目下の運転環境は交差点を含むなら、予測モジュール３０３は、車両が真っすぐに前へ移動するか、または曲がるかを予測する。感知データは、交差点に交通信号がないと表しているなら、予測モジュール３０３は、車両は交差点に進入する前に完全停車する必要があるかもしれないと予測する。感知データは、車両が左折専用車線または右折専用車線にあると表しているなら、予測モジュール３０３は、車両が左折または右折する可能性がより大きいと予測する。
【００３２】
各々のオブジェクトに対して、決定モジュール３０４は、オブジェクトをどう処置するかの決定を下す。例えば、特定のオブジェクト（例えば、交差するルートの中のもう一つの車両）及びオブジェクトを記述する元データ（例えば、速度、方向、曲がる角度）に対して、決定モジュール３０４は、如何にしてオブジェクトと遭遇するか（例えば、追い越し、譲り、停止、通過）を決定する。決定モジュール３０４は、永続的記憶装置に記憶されている、例えば交通ルールまたは運転ルール３１２のようなルール集に従ってこれらの決定を下すことができる。
【００３３】
ルーティングモジュール３０７は、起点から目的地までの一つまたは複数のルートまたは経路を提供するように配置される。スタート位置から目的地の位置までの所与の行程に対して、例えば、ユーザーから受け取った所与の行程に対して、ルーティングモジュール３０７は、ルートと地図情報３１１を獲得し、スタート位置から目的地の位置に到達するまでの全ての可能なルートまたは経路を決める。ルーティングモジュール３０７は、スタート位置から目的地の位置に到達するまでの各ルートを決定するための、地形図形式の参考線を生成することができる。参考線は、例えばその他の車両、障害物または交通状況の如何なる邪魔も受けない理想なルートまたは経路を指す。すなわち、道路にその他の車両、歩行者または障害物がないなら、ＡＤＶは、精確でまたはぴったりと参考線に従うべきである。そして、地形図は、決定モジュール３０４及び／または計画モジュール３０５に提供される。決定モジュール３０４及び／または計画モジュール３０５は、例えば、測位モジュール３０１からの交通状況、感知モジュール３０２によって感知された運転環境、及び予測モジュール３０３によって予測された交通状況等のような、その他のモジュールによって提供されたその他のデータを考慮して、最適なルートの中から一つのルートを選択して修正するように、全ての可能なルートを検査する。その時刻における特定の運転環境に従って、ＡＤＶをコントロールするための実際ルートまたは経路は、ルーティングモジュール３０７によって提供された参考線と接近することも、異なることもできる。
【００３４】
感知されたオブジェクトの中の各々に対する決定に基づき、計画モジュール３０５は、ルーティングモジュール３０７の提供した参考線をベースに、自動運転車のためにルートまたは経路及び運転パラメータ（例えば、距離、速度及び／または曲がる角度）を計画する。言い換えれば、所与のオブジェクトに対して、決定モジュール３０４は、当該オブジェクトに対して何をするかを決定し、計画モジュール３０５は、どうやってそれをするかを決める。例えば、所与のオブジェクトに対して、決定モジュール３０４は、前記オブジェクトを通過すると決定し、計画モジュール３０５は、前記オブジェクトの左側から通過するか、または右側から通過するかを決める。車両３００が次の移動サイクル（例えば、次のルート／経路セグメント）でどのように移動するかに関する情報を含む計画と制御データは、計画モジュール３０５によって生成される。例えば、計画と制御データは、車両３００が１時間３０マイル（ｍｐｈ）の速度で１０メートルを移動してから、２５ｍｐｈの速度へ右側車線に変更すると指示する。
【００３５】
計画と制御データに基づき、制御モジュール３０６は、計画と制御データによって限定されたルートまたは経路に従って、適切な命令または信号を車両制御システム１１１に送信することを通じて、自動運転車を制御し運転する。経路またはルートに沿って異なる時刻において適切な車両設置または運転パラメータ（例えば、スロットル、ブレーキと操縦命令）を使用し、車両をルートまたは経路の第１の地点から第２の地点まで運転できるように、前記計画と制御データは、十分の情報を含む。
【００３６】
一つの実施形態において、計画段階は、多数の計画周期（走行周期とも呼ばれる）の中で実行され、例えば、各時間間隔が１００ミリ秒（ｍｓ）の周期の中で実行される。計画周期または走行周期の中の各々に対して、計画と制御データに基づいて一つまたは複数の制御命令を発行する。すなわち、各々の１００ｍｓに対して、計画モジュール３０５は、次のルートセグメントまたは経路セグメントを計画する。代替できるように、計画モジュール３０５は、具体的な速度、方向及び／または曲がる角度等を規定できる。一つの実施形態において、計画モジュール３０５は、次の予定時間間隔（例えば、５秒）のためにルートセグメントまたは経路セグメントを計画する。各計画周期に対して、計画モジュール３０５は、前の周期で計画した目標位置に基づき、目下の周期（例えば、次の５秒）に使用される目標位置を計画する。そして制御モジュール３０６は、目下の周期の計画と制御データに基づき、一つまたは複数の制御命令（例えば、スロットル、ブレーキ、方向転換制御命令）を生成する。
【００３７】
決定モジュール３０４と計画モジュール３０５は、集積モジュールとして集積されることができることに注意すべきである。自動運転車の運転経路を決めるように、決定モジュール３０４／計画モジュール３０５は、ナビゲーションシステムまたはナビゲーションシステムの機能を含むことができる。例えば、自動運転車がしっかりと感知した障害物を避けながら、大体最終目的地に到達するような、車線に基づく経路に沿って進むように、ナビゲーションシステムは、一連の速度と進行方向を決めることができる。目的地は、ユーザーインターフェースシステム１１３を経由して行われたユーザーの入力に従って設定することができる。ナビゲーションシステムは、自動運転車が運行していると同時に、動的に運転経路を更新できる。自動運転車の運転経路を決めるために、ナビゲーションシステムは、ＧＰＳシステムからのデータと、一つまたは複数の地図のデータとを合併することができる。
【００３８】
一つの実施形態により、キャリブレーションモジュール３０８は、車両に発行された各種の制御コマンドに応答して、車両から受信したフィードバックに基づいてキャリブレーションテーブル３１３を自動的にキャリブレートまたは更新するように配置される。図４は、キャリブレーションテーブル３１３の例示を示している。一つの実施形態においては、車両にスロットルコマンドまたはブレーキコマンドなどの制御コマンドを発行すると、１つまたは複数のセンサを通じて車両からトルクフィードバックを受信する。トルクフィードバックと、所望の加速度から得られたトルク値に基づいて、トルクフィードバックとトルク値の間の誤差または差異を決定できる。所定のアルゴリズムを使用して、トルク誤差に基づいて、キャリブレーションテーブルの中の対応する加速度値を自動的に更新することができる。
【００３９】
当該方法の背後にある原理は以下の通りである。キャリブレーションテーブルに誤差がある場合、キャリブレーションテーブルから取得した制御コマンドが誤った結果、つまりトルク誤差をもたらす。予想トルク値と車両から測定した実際のフィードバックとの差を測定することによって、キャリブレーションテーブルを調整することができる。従って、適切な制御コマンドを発行することにより、後続のルックアップをより低いエラー率で実行できる。その時点で測定されたフィードバックに基づいてキャリブレーションテーブルを自動的に更新することにより、特定の運転環境および／または特定のタイプの車両に適応するようにキャリブレーションテーブルを調整または「トレーニング」することができる。
【００４０】
図５は、一つの実施形態による各種モジュールを示すブロック図４００を示す。速度制御モジュール４１０は、例えば計画モジュールの出力に基づいて所望の加速度４２０を決定する。制御コマンド４４０の実行前の第１の時点で、第１のトルク値４３２を決定する。ＡＤＶ４４２の速度、所望の加速度４２０、およびキャリブレーションテーブル４３０の中の関連エントリに基づいて、制御コマンド４４０を決定し、キャリブレーションテーブル４３０は、図３Ａおよび３Ｂのキャリブレーションテーブル３１３の一部として実装することができる。キャリブレーションテーブル４３０は、ＡＤＶ４４２の速度を制御するために使用され、図４に示すように複数のエントリを含み、各エントリは、速度、加速度、およびスロットルまたはブレーキ割合を含む制御コマンドを含む。換言すれば、ｎ個のエントリを有するキャリブレーションテーブル４２０は、
【数１】
2021511996.tif 000003
として表すことができ、ここで、
【数２】
2021511996.tif 000004
である。
【００４１】
関連エントリは、速度がＡＤＶ４４２の現在の速度に対応し、加速度が所望の加速度４２０に対応するエントリである。従って、キャリブレーションテーブル４３０は、ＡＤＶ４４２の現在の速度とＡＤＶ４４２の所望加速度４２０に基づいて、スロットルまたはブレーキの割合を含む制御コマンド４４０を生成する。具体的には、ここで図４を参照し、車両の現在の速度および所望の加速度を与えると、キャリブレーションテーブル３１３でルックアップ操作を実行して、車両の現在の速度及び所望の加速度にそれぞれマッチングする速度フィールド４６１および加速度フィールド４６２を見つけることができる。そして、マッチングするエントリのフィールド４６３から制御コマンドを取得できる。
【００４２】
次に、制御コマンド４４０を実行する。制御コマンド４４０を実行した後の第２の時間において、第２のトルク値４４４を決定する。トルク誤差値を、第１のトルク値４３２と第２のトルク値４４４との差として決定する。その後、トルク誤差値に少なくとも部分的に基づいて、キャリブレーションテーブル更新モジュール４３４は、キャリブレーシテーブル４３０の関連エントリを更新する。さらに、ＡＤＶの動作を制御するために、更新されたキャリブレーションテーブルに少なくとも部分的に基づいて、ＡＤＶの操作を制御するために駆動信号を生成する。
【００４３】
一つの実施形態において、キャリブレーションテーブルの関連エントリを更新することは、関連エントリの中の加速度を更新することを含む。更新された加速度は、更新前の関連エントリの中の加速度、トルク誤差値、およびコスト値に少なくとも部分的に基づいて決定される。具体的には、たとえば、ｉ番目のエントリの加速度を次のように
【数３】
2021511996.tif 000005
と更新することができる。
その中で、コスト値
【数４】
2021511996.tif 000006
および
【数５】
2021511996.tif 000007
は更新前の加速度、
【数６】
2021511996.tif 000008
はトルク誤差値であり、
【数７】
2021511996.tif 000009
は経験的に決定できる調整可能なパラメータである。コマンド
【数８】
2021511996.tif 000010
は実行されたばかりのコマンドを指し、
【数９】
2021511996.tif 000011
は車両の現在の速度を指す。
【００４４】
一つの実施形態において、第１トルク値または第２トルク値は、ＡＤＶの有効質量、ＡＤＶの加速度、ＡＤＶの質量、ＡＤＶのピッチ角、転がり抵抗、空気抵抗係数、ＡＤＶの速度、およびＡＤＶのタイヤ半径に少なくとも部分的に基づいて決定される。ＡＤＶの有効質量は、ＡＤＶの質量、ＡＤＶの慣性モーメント、およびＡＤＶのタイヤ半径に少なくとも部分的に基づいて決定される。具体的には、トルク値は次のように
【数１０】
2021511996.tif 000012
と計算でき、ここで、
【数１１】
2021511996.tif 000013
はＡＤＶの加速度、
【数１２】
2021511996.tif 000014
はＡＤＶの質量、
【数１３】
2021511996.tif 000015
は重力加速度、
【数１４】
2021511996.tif 000016
はピッチ角、
【数１５】
2021511996.tif 000017
は転がり抵抗、
【数１６】
2021511996.tif 000018
は空気抵抗係数、
【数１７】
2021511996.tif 000019
はタイヤ半径であり、また、ＡＤＶの有効質量は、
【数１８】
2021511996.tif 000020
として計算でき、ここで、
【数１９】
2021511996.tif 000021
はＡＤＶの慣性モーメントである。
【００４５】
図６は、一つの実施形態による、自動運転車（ＡＤＶ）の操作で利用可能なキャリブレーションテーブルを更新するために使用される例示的な方法５００を示すフローチャート図である。方法５００は、ソフトウェア、ハードウェアまたはその組み合わせによって実現することができる。方法５００は、部分的にキャリブレーシモジュール３０８によって実現することができる。ブロック５１０において、ＡＤＶへ制御コマンドを発行し、当該制御コマンドは、キャリブレーションテーブルのエントリから取得される。当該エントリは、ＡＤＶの速度とＡＤＶの所望の（あるいは目標の）加速度に関連している。ブロック５２０において、（例えば、各種のセンサを使用して）車両プラットフォームから第１のトルク値を測定する。ブロック５３０において、トルク誤差値を計算し、当該トルク誤差値は、第１のトルク値と、制御コマンドを発行する前に測定した第２のトルク値との差を表す。ブロック５４０において、トルク誤差値に基づいてキャリブレーションテーブルの関連エントリを更新する。次にブロック５５０において、更新されたキャリブレーションテーブルを利用して、後続の制御コマンドを取得および発行する。
【００４６】
なお、前記文章で示され、説明された部材の中の幾つかまたは全部は、ソフトウェア、ハードウェアまたはその組み合わせとして実装することができる。例えば、この種類の部材は、永続的な記憶装置にインストールされ、かつ記憶されるソフトウェアとして実装することができる。当該ソフトウェアは、プロセッサ（図示せず）を通じてメモリにロードし、メモリの中で本願を貫いて説明したプロセスまたは操作を実行する。代替できるように、この種類の部材は、専用ハードウェア（例えば、集積回路（例えば、専用集積回路またはＡＳＩＣ）、デジタルシグナルプロセッサ（ＤＳＰ）または現場でプログラム可能なゲートアレイ（ＦＰＧＡ））にプログラムされたまたは埋め込まれた実行可能なコードとして実装することができる。当該実行可能なコードは、アプリケーションからの対応する駆動プログラム及び／またはオペレーティングシステムを通じてアクセスすることができる。さらに、この種類の部材は、ソフトウェアが一つまたは複数の特定の命令でアクセスできる命令集の一部分となるように、プロセッサまたはプロセッサのコアの中の特定のハードウェアロジックとして実装することができる。
【００４７】
図７は、本願の一つの実施形態と共に使用されるデータ処理システムの例示を示すブロック図である。例えば、システム１５００は、図１の感知・計画システム１１０またはサーバ１０３〜１０４の中の任意の一つのような、前記のプロセスまたは方法を実行する前記の任意のデータ処理システムの中の任意の一つを表すことができる。システム１５００は、多数の異なる部材を含むことができる。これらの部材は、集積回路（ＩＣ）、集積回路の一部分、独立な電子装置、または回路基板（例えば、コンピュータシステムのマザーボードまたはアドインカード）に用いられるその他のモジュールとして実装することができ、またはその他の方式でコンピュータシステムのシャーシに組み入れられる部材として実装することができる。
【００４８】
なお、システム１５００の趣旨は、コンピュータシステムの複数の部材の高レベルの様子を示すことにあることに注意すべきである。幾つかの実施形態においては、付加的部材を有することができ、また、他の実施形態においては、図示部材の異なる配置を有することができる。システム１５００は、デスクトップコンピュータ、ラップトップコンピューター、タブレットコンピュータ、サーバ、携帯電話、メディアプレーヤー、パーソナルデジタルアシスタント（ＰＤＡ）、スマートウォッチ、パーソナルコミュニケータ、ゲーム装置、ネットワークルーターまたはハブ、ワイヤレスアクセスポイント（ＡＰ）またはリピーター、セットトップボックスまたはこれらの組み合わせを表すことができる。さらに、シングルの機器またはシステムしか示されていないが、用語「機器」または「システム」は、本願で検討した任意の一つまたは複数の方法を実行するように、単独的にまたは共同的に一つ（または複数の）命令集を実行する機器またはシステムの任意の集まりであると理解されるべきである。
【００４９】
一つの実施形態において、システム１５００は、バスまたはインターコネクト１５１０と通じて連結されるプロセッサ１５０１、メモリ１５０３及び装置１５０５〜１５０８を含む。プロセッサ１５０１は、シングルのプロセッサコアまたは複数のプロセッサコアを含むシングルのプロセッサまたは複数のプロセッサを表すことができる。プロセッサ１５０１は、一つまたは複数の、例えばマイクロプロセッサ、中央処理装置（ＣＰＵ）などのような汎用プロセッサを表すことができる。より具体的に、プロセッサ１５０１は、複合命令セットコンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小命令セットコンピューティング（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、またはその他の命令集を実行するプロセッサ、または命令集の組み合わせを実行するプロセッサであっても良い。プロセッサ１５０１は、例えば、専用集積回路（ＡＳＩＣ）、移動体またはベースバンドプロセッサ、現場でプログラム可能なゲートアレイ（ＦＰＧＡ））、デジタルシグナルプロセッサ（ＤＳＰ）、ネットワークプロセッサ、グラフィックスプロセッサ、通信プロセッサ、暗号化プロセッサ、コプロセッサ、組み込みプロセッサ、または命令を処理できる任意のその他のタイプのロジックのような、一つまたは複数の専用プロセッサであっても良い。
【００５０】
プロセッサ１５０１（低電力マルチコアプロセッサソケットであっても良く、例えば、超低電圧プロセッサ）は、前記システムの各種部材との通信の主プロセッサユニットと中央ハブとして振舞うことができる。この種類のプロセッサは、システムオンチップＩ（ＳｏＣ）として実装することができる。プロセッサ１５０１は、本願で議論した操作とプロセスを実行するための命令を実行するように配置される。システム１５００は、ディスプレイコントローラ、図形プロセッサ及び／またはディスプレイ装置を含む、オプションの図形サブシステム１５０４と通信する図形インターフェースをさらに含むことができる。
【００５１】
プロセッサ１５０１は、メモリ１５０３と通信することができる。一つの実施形態において、メモリ１５０３は、複数のメモリ装置によって規定の量のシステムメモリを提供するように実装されることができる。メモリ１５０３は、例えば、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、またはその他のタイプのメモリ装置のような、一つまたは複数の揮発性ストレージ（またはメモリ）装置を含むことができる。メモリ１５０３は、プロセッサ１５０１またはその他の任意の装置によって実行する命令シーケンスを含む情報を保存することができる。例えば、各種のオペレーティングシステム、デバイスドライバ、ファームウェア（例えば、入出力基本システムまたはＢＩＯＳ）、および／またはアプリケーションの実行可能なコード及び／またはデータは、メモリ１５０３にロードされ、プロセッサ１５０１に実行されることができる。オペレーティングシステムは、任意タイプのオペレーティングシステムであっても良く、例えば、ロボットオペレーティングシステム（ＲＯＳ）、Ｍｉｃｒｏｓｏｆｔ（登録商標）のＷｉｎｄｏｗｓ(R)オペレーティングシステム、ＡｐｐｌｅのＭａｃＯＳ（登録商標）／ｉＯＳ（登録商標）、Ｇｏｏｇｌｅ（登録商標）のＡｎｄｒｏｉｄ（登録商標）、ＬＩＮＵＸ、ＵＮＩＸ、その他のリアルタイムまたは組み込みオペレーティングシステムであっても良い。
【００５２】
システム１５００は、例えば、オプションのネットワークインターフェース装置１５０５、オプションの入力装置１５０６、及びその他のオプションのＩＯ装置１５０７を含む装置１５０５〜１５０８のようなＩＯ装置を更に含むことができる。ネットワークインターフェース１５０５は、無線トランシーバ及び／またはネットワークインターフェースカード（ＮＩＣ）を含むことができる。前記無線トランシーバは、ＷＩＦＩトランシーバ、赤外トランシーバ、ブルートゥーストランシーバ、ＷｉＭａｘトランシーバ、無線移動体電話トランシーバ、衛星トランシーバ（例えば、グローバル・ポジショニング・システム（ＧＰＳ））、またはその他の無線周波数（ＲＦ）トランシーバまたはそれらの組み合わせであっても良い。ＮＩＣは、イーサネットカードであっても良い。
【００５３】
入力装置１５０６は、マウス、タッチパッド、タッチセンシティブ画面（表示装置１５０４と一体に集積されて）、ポインター装置（例えば、スタイラスペン）、および／またはキーボード（例えば物理的キーボード、またはタッチセンシティブ画面の一部分として表示される仮想キーボード）を含むことができる。例えば、入力装置１５０６は、タッチパネルに接続するタッチパネルコントローラを含むことができる。タッチパネルとタッチパネルコントローラは、例えば、複数の種類のタッチセンシティブ技術（キャパシタンス、抵抗、赤外線および表面音波技術を含むが、これらに限定されない）を使用することができ、またはその他の類似するセンサアレイまたはタッチパネルと接触する一つまたは複数の点を決めるために用いられるその他のデバイスを使用し、接触、移動または中断を検出することができる。
【００５４】
ＩＯ装置１５０７は、オーディオ装置を含むことができる。オーディオ装置は、例えば、音声識別、音声複製、デジタル記録及び／または電話機能等の音の機能のサポートを促進するために、スピーカー及び／またはマイクロホンを含むことができる。その他のＩＯ装置１５０７は、ユニバーサル・シリアル・バス（ＵＳＢ）ポート、パラレルポート、シリアルポート、プリンタ、ネットワークインターフェース、バスブリッジ（例えばＰＣＩ−ＰＣＩブリッジ）、センサ（例えば、加速度計運動センサ、ジャイロ、磁力計、光センサ、コンパス、近接センサ等）またはその組み合わせを更に含むことができる。装置１５０７は、画像処理サブシステム（例えば、カメラ）を更に含むことができる。当該画像処理サブシステムは、例えば、電荷結合素子（ＣＣＤ）または相補型金属酸化物半導体（ＣＭＯＳ）光センサのような、カメラ機能（例えば、写真やビデオクリップを記録する）を促進するために使用される光センサを含むことができる。幾つかのセンサは、センサハブ（図示せず）を経由してインターコネクト１５１０に接続しても良く、例えば、キーバードまたは熱センサのようなその他の装置は、システム１５００の具体的な配置または設計に従って埋め込み式コントローサ（図示せず）によってコントロールされても良い。
【００５５】
データ、アプリケーション、一つまたは複数のオペレーティングシステム等の情報に対する永続的な保存を提供するために、大容量記憶装置（図示せず）は、プロセッサ１５０１に接続しても良い。各種の実施形態において、より薄くより軽いシステム設計を実現し、システム応答性を改善するために、この種の大容量記憶装置は、ソリッドステートドライブ（ＳＳＤ）によって実装しても良い。しかし、その他の実施形態において、大容量記憶装置は、主にハードディスクドライブ（ＨＤＤ）を使用して実装し、それに加えて容量の比較的に小さいＳＳＤ記憶装置をＳＳＤキャッシとして使用し、これによって電源が切られたイベントにおいて文脈状態及びその他のこの種類の情報の非揮発性保存を実現し、システムの活動が再び起動する時に素早い電源投入を実現する。なお、フラッシュメモリ装置は、例えばシリアル・ペリフェラル・インタフェース（ＳＰＩ）を経由してプロセッサ５０１に接続しても良い。この種類のフラッシュメモリ装置は、前記システムのＢＩＯＳ及びその他のファームウェアを含むシステムソフトウェアの非揮発性保存を提供する。
【００５６】
記憶装置１５０８は、本願で記述した一つまたは複数の方法または機能を具体的に表現する一つまたは複数の命令集またはソフトウェア（例えば、モジュール、ユニットまたはロジック１５２８）を記憶する、コンピュータのアクセス可能な記憶媒体１５０９（機器可読媒体、コンピュータ可読媒体とも呼ばれる）を含むことができる。処理モジュール／ユニット／ロジック１５２８は、例えば計画モジュール３０５、制御モジュール３０６、キャリブレーションモジュール３０８のような、前記部材の中の任意の一つを表すことができる。処理モジュール／ユニット／ロジック１５２８は、データ処理システム１５００、メモリ１５０３とプロセッサ１５０１によって実行されている期間において、完全にまたは少なくとも部分的にメモリ１５０３及び／またはプロセッサ１５０１の中に駐留することができ、データ処理システム１５００、メモリ１５０３とプロセッサ１５０１もコンピュータのアクセス可能な記憶媒体を構成する。処理モジュール／ユニット／ロジック１５２８は、ネットワークを通じて、ネットワークインターフェース装置１５０５を経由して送信と受信を行うことができる。
【００５７】
コンピュータ可読媒体１５０９は、前記で説明した幾つかのソフトウェア機能を永続的に記憶するためにも使用される。コンピュータ可読媒体１５０９は、例示的な実施形態においては単一の媒体として示されているが、用語「コンピュータ可読媒体」は、前記一つまたは複数の命令集を記憶する単一の媒体または複数の媒体（例えば、集中式または分布式データベース及び／または関連するキャッシュとサーバ）を含むと理解すべきである。用語「コンピュータ可読媒体」は、機器によって実行され、かつ本願の任意の一つまたは複数の方法を当該機器に実行させる命令集を、記憶するまたはエンコードすることができる任意の媒体を含むと理解すべきである。故に、用語「コンピュータ可読媒体」は、ソリッド・ステート・メモリ、光媒体と磁気媒体、または任意のその他の非一時的な機器可読媒体を含むが、これらに限定されないと理解すべきである。
【００５８】
本願で説明する処理モジュール／ユニット／ロジック１５２８、部材及びその他の特徴は、独立なハードウェア部材として実装しても良く、ハードウェア部材（例えば、ＡＳＩＣＳ、ＦＰＧＡ、ＤＳＰまたは類似の装置）の機能の中に集積しても良い。さらに、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置の中のファームウェアまたは機能回路として実装しても良い。なお、処理モジュール／ユニット／ロジック１５２８は、ハードウェア装置とソフトウェア部材との任意の組み合わせとして実装しても良い。
【００５９】
システム１５００は、データ処理システムの各種の部材を有するように示されているが、部材が互いに接続する任意の特定のアーキテクチャまたは方式を表すことではない。これは、この種類の細部は本願の実施形態と密接な関係がないからである。より少ない部材またはより多い部材を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ、および／または他のデータ処理システムは、本願の実施形態と一緒に使用しても良いと認識すべきである。
【００６０】
前述の詳細な説明の中の一部分は、コンピュータメモリ内のデータビットに対する演算のアルゴリズムおよび記号表現に従って提示した。これらのアルゴリズム記述および表現は、データ処理領域の当業者が、仕事の本質を最も有効的に同じ領域の当業者に伝えるように、使用する方式である。本願において、アルゴリズムは、予期の結果をもたらす、自己矛盾のない操作のシーケンスであると一般的に認識される。これらの操作は、物理量に対して物理操縦を行う必要がある操作であることを指す。
【００６１】
これらのすべての用語と類似の用語は、適切な物理量と関連し、これらの量に応用されるのみの便宜上の標識であることをしっかりと忘れずにすべきである。以上の議論においてその他の方式で明確的に表明している時以外に、本願全体において、用語（例えば付属の特許請求の範囲の中で説明する用語）を利用して行った討論は、コンピュータシステムまたは類似の電子計算装置の動作と処理を指す。前記コンピュータシステムまたは類似の電子計算装置は、コンピュータシステムのレジスターとメモリの中の、物理（電子）量として表されているデータを操縦し、前記データを、コンピュータシステムのメモリまたはレジスターまたはその他のこの種類の情報の記憶装置、転送またはディスプレイ装置の中の、類似的に物理量として表されているその他のデータへ変換する。
【００６２】
本願の実施形態は、本願文章の中の操作を実行するために用いられる設備にも関わる。この種のコンピュータプログラムは、非一時的なコンピュータ可読媒体の中に記憶される。機器可読媒体は、機器（例えば、コンピュータ）可読な形式で情報を記憶する任意の機構を含む。例えば、機器可読（例えば、コンピュータ可読）媒体は、機器（例えば、コンピュータ）可読な記憶媒体（例えば、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶メティア、フラッシュメモリ装置）を含む。
【００６３】
前記図面の中で説明されたプロセスまたは方法は、ハードウェア（例えば、回路、専用ロジックなど）、ソフトウェア（例えば、非一時性コンピュータ読み取り媒体に具現化して）またはその組み合わせを含む処理ロジックによって実行しても良い。前記プロセスまたは方法は、上記の文章おいて幾つかの順序操作によって説明されているが、前記操作の中の幾つかは異なる順序で実行しても良いと理解すべきである。さらに、幾つかの操作は、順序で実行されるのではなく、並列的に実行されても良い。
【００６４】
本願の実施形態は、何らかの特定のプログラミング言語を参考にして説明されているのではない。説明した本願の実施形態の教えは、複数のプログラミング言語を使って実装することができると認識すべきである。
【００６５】
以上の明細書において、本願の具体的で例示性のある実施形態を参照して、本願の実施形態に対して説明を行った。添付する特許請求の範囲の中で論述した本願のより広範な精神と範囲を逸脱しない限り、本発明に対して各種の修正をすることができる。故に、制限する意味ではなく、説明する意味として本明細書と図面を理解すべきである。
【図１】
2021511996.tif 000022
【図２】
2021511996.tif 000023
【図３Ａ】
2021511996.tif 000024
【図３Ｂ】
2021511996.tif 000025
【図４】
2021511996.tif 000026
【図５】
2021511996.tif 000027
【図６】
2021511996.tif 000028
【図７】
2021511996.tif 000029
【手続補正書】
【提出日】令和2年2月20日(2020.2.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
自動運転車ＡＤＶを操作するためのコンピュータ実装の方法であって、
前記ＡＤＶを制御するための制御コマンドを発行することであって、前記制御コマンドは、前記ＡＤＶの速度および所望の加速度に関するキャリブレーションテーブルのエントリから取得されることと、
前記ＡＤＶへの前記制御コマンドの発行に応答して、第１のトルク値を測定することと、
トルク誤差値を、前記第１のトルク値と、前記制御コマンドを発行する前に測定した第２のトルク値との差として決定することと、
前記トルク誤差値に少なくとも部分的に基づいて前記キャリブレーションテーブルの関連エントリを更新することであって、更新されたキャリブレーションテーブルは前記ＡＤＶを制御するための後続制御コマンドを決定するために用いられるものである、更新することと
を含む、コンピュータ実装の方法。
【請求項２】
前記キャリブレーションテーブルは、多くのエントリを含み、前記エントリの各々は、速度、加速度、及びスロットルまたはブレーキの割合を含む制御コマンドを含む、請求項１に記載の方法。
【請求項３】
前記キャリブレーションテーブルの関連エントリを更新することは、前記関連エントリの中の加速度を更新することを含む、請求項２に記載の方法。
【請求項４】
更新前の前記関連エントリの中の加速度、前記トルク誤差値、およびコスト値に少なくとも部分的に基づいて、更新される加速度を決定する、請求項３に記載の方法。
【請求項５】
前記関連エントリの制御コマンドと実行された制御コマンドとの間の第１の差異、および前記関連エントリの速度と前記ＡＤＶの現在の速度との間の第２の差異に基づいて、前記コスト値を決定する、請求項４に記載の方法。
【請求項６】
前記ＡＤＶの有効質量、前記ＡＤＶの加速度、前記ＡＤＶの質量、前記ＡＤＶのピッチ角、転がり抵抗、空気抵抗係数、前記ＡＤＶの速度、および前記ＡＤＶのタイヤ半径に少なくとも部分的に基づいて、第１トルク値または第２トルク値を決定する、請求項１に記載の方法。
【請求項７】
前記ＡＤＶの質量、前記ＡＤＶの慣性モーメント、および前記ＡＤＶのタイヤ半径に少なくとも部分的に基づいて、前記ＡＤＶの有効質量を決定する、請求項６に記載の方法。
【請求項８】
命令を記憶している非一時性機器可読媒体であって、
前記命令は、プロセッサによって実行されるときに、前記プロセッサを、自動運転車ＡＤＶを操作するための操作を実行するようにさせ、前記操作は、
前記ＡＤＶを制御するための制御コマンドを発行することであって、前記制御コマンドは、前記ＡＤＶの速度および所望の加速度に関するキャリブレーションテーブルのエントリから取得されることと、
前記ＡＤＶへの前記制御コマンドの発行に応答して、第１のトルク値を測定することと、
トルク誤差値を、前記第１のトルク値と、前記制御コマンドを発行する前に測定した第２のトルク値との差として決定することと、
前記トルク誤差値に少なくとも部分的に基づいて前記キャリブレーションテーブルの関連エントリを更新することであって、更新されたキャリブレーションテーブルは前記ＡＤＶを制御するための後続制御コマンドを決定するために用いられることと
を含む、非一時性機器可読媒体。
【請求項９】
前記キャリブレーションテーブルは、多くのエントリを含み、前記エントリの各々は、速度、加速度、及びスロットルまたはブレーキの割合を含む制御コマンドを含む、請求項８に記載の機器可読媒体。
【請求項１０】
前記キャリブレーションテーブルの関連エントリを更新することは、前記関連エントリの中の加速度を更新することを含む、請求項９に記載の機器可読媒体。
【請求項１１】
更新前の前記関連エントリの中の加速度、前記トルク誤差値、およびコスト値に少なくとも部分的に基づいて、更新される加速度を決定する、請求項１０に記載の機器可読媒体。
【請求項１２】
前記関連エントリの制御コマンドと実行された制御コマンドとの間の第１の差異、および前記関連エントリの速度と前記ＡＤＶの現在の速度との間の第２の差異に基づいて、前記コスト値を決定する、請求項１１に記載の機器可読媒体。
【請求項１３】
前記ＡＤＶの有効質量、前記ＡＤＶの加速度、前記ＡＤＶの質量、前記ＡＤＶのピッチ角、転がり抵抗、空気抵抗係数、前記ＡＤＶの速度、および前記ＡＤＶのタイヤ半径に少なくとも部分的に基づいて、第１トルク値または第２トルク値を決定する、請求項８に記載の機器可読媒体。
【請求項１４】
前記ＡＤＶの質量、前記ＡＤＶの慣性モーメント、および前記ＡＤＶのタイヤ半径に少なくとも部分的に基づいて、前記ＡＤＶの有効質量を決定する、請求項１３に記載の機器可読媒体。
【請求項１５】
プロセッサと、前記プロセッサに接続され、命令を記憶するメモリとを含むデータ処理システムであって、
前記命令は、プロセッサによって実行されるときに、
前記ＡＤＶを制御するための制御コマンドを発行し、前記制御コマンドは、前記ＡＤＶの速度および所望の加速度に関するキャリブレーションテーブルのエントリから取得されることと、
前記ＡＤＶへの前記制御コマンドの発行に応答して、第１のトルク値を測定することと、
トルク誤差値を、前記第１のトルク値と、前記制御コマンドを発行する前に測定した第２のトルク値との差として決定することと、
前記トルク誤差値に少なくとも部分的に基づいて前記キャリブレーションテーブルの関連エントリを更新し、更新されたキャリブレーションテーブルは前記ＡＤＶを制御するための後続制御コマンドを決定するために用いられることと
を含む、自動運転車ＡＤＶを操作するための操作を前記プロセッサに実行させる、データ処理システム。
【請求項１６】
前記キャリブレーションテーブルは、多くのエントリを含み、前記エントリの各々は、速度、加速度、及びスロットルまたはブレーキの割合を含む制御コマンドを含む、請求項１５に記載のシステム。
【請求項１７】
前記キャリブレーションテーブルの関連エントリを更新することは、前記関連エントリの中の加速度を更新することを含む、請求項１６に記載のシステム。
【請求項１８】
更新前の前記関連エントリの中の加速度、前記トルク誤差値、およびコスト値に少なくとも部分的に基づいて、更新される加速度を決定する、請求項１７に記載のシステム。
【請求項１９】
前記関連エントリの制御コマンドと実行された制御コマンドとの間の第１の差異、および前記関連エントリの速度と前記ＡＤＶの現在の速度との間の第２の差異に基づいて、前記コスト値を決定する、請求項１８に記載のシステム。
【請求項２０】
前記ＡＤＶの有効質量、前記ＡＤＶの加速度、前記ＡＤＶの質量、前記ＡＤＶのピッチ角、転がり抵抗、空気抵抗係数、前記ＡＤＶの速度、および前記ＡＤＶのタイヤ半径に少なくとも部分的に基づいて、第１トルク値または第２トルク値を決定する、請求項１５に記載のシステム。
【請求項２１】
前記ＡＤＶの質量、前記ＡＤＶの慣性モーメント、および前記ＡＤＶのタイヤ半径に少なくとも部分的に基づいて、前記ＡＤＶの有効質量を決定する、請求項２０に記載のシステム。
【請求項２２】
コンピュータプログラムであって、
前記コンピュータプログラムがプロセッサにより実行されると、請求項１〜７のいずれか一項に記載の方法を実現させるコンピュータプログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本願の実施形態は、各図面の中で限定の方式ではなく、例をあげる方式で示されている。図面の中の同じ参照表記は、似ている部材を示す。
【図１】一実施形態によるネットワーク化システムを示すブロック図である。
【図２】一実施形態による自動運転車の例示を示すブロック図である。
【図３Ａ】一つの実施形態による、自動運転車で使用される感知・計画システムの例示を示すブロック図である。
【図３Ｂ】一つの実施形態による、自動運転車で使用される感知・計画システムの例示を示すブロック図である。
【図４】一実施形態によるキャリブレーションテーブルの例示を示すブロック図である。
【図５】一実施形態による、各種モジュールを示すブロック図である。
【図６】一実施形態による、自動運転車（ＡＤＶ）の操作で利用可能なキャリブレーションテーブルを更新するために使用される例示的な方法のフローチャート図である。
【図７】本願の一実施形態とともに使用できるデータ処理システムの例示を示すブロック図である。
【国際調査報告】
2021511996.tif 000030
2021511996.tif 000031