(58)【調査した分野】(Int.Cl.,DB名)
前記車線変位補正に基いて、少なくとも前記第一軌跡の起点を補正するステップは、前記車線変位補正に基いて、前記自動運転車の現在位置から横方向に前記第一軌跡の起点を変位するステップを含む請求項1に記載の方法。
前記車線変位補正に基いて、少なくとも前記第一軌跡の起点を補正するステップは、前記車線変位補正に基いて、前記自動運転車の現在位置から横方向に前記第一軌跡の起点を変位するステップを含む請求項8に記載の機械可読媒体。
所定計画頻度Aに基づいて配置される複数の計画周期毎に前記第一軌跡を生成するように実行し、及び前記所定計画頻度に基づいて前記車線変位補正を更に算出する請求項12に記載の機械可読媒体。
前記車線変位補正に基いて、少なくとも前記第一軌跡の起点を補正するステップは、前記車線変位補正に基いて、前記自動運転車の現在位置から横方向に前記第一軌跡の起点を変位するステップを含む請求項15に記載のシステム。
【発明を実施するための形態】
【0016】
以下、説明の詳細を参照しながら本願の様々な実施形態及び態様を説明し、図面には、上記様々な実施形態が示される。以下の説明及び図面は、本願を例示するためのものであり、限定するものとして解釈されるべきではない。本願の様々な実施形態を全面的に理解するために、多くの特定の詳細を説明する。ところが、いくつかの場合には、本願の実施形態に対する簡単な説明を提供するために、周知又は従来技術の詳細について説明していない。
【0017】
本明細書において、「一実施形態」又は「実施形態」とは、当該実施形態に組み合わせて説明された特定の特徴、構造又は特性が本願の少なくとも一実施形態に含まれてもよいと意味する。「一実施形態では」という表現は、本明細書全体において同一の実施形態を指すとは限らない。
【0018】
一実施形態によれば、自動運転車(ADV)の自動運転の計画段階において、ADVに車線を元車線(例えば、現在車線)から目標車線(例えば、目的地車線)へ変更させる必要があると確定する。元車線におけるADVの現在位置から目標車線(例えば、目標車線の中心線)まで第一軌跡を生成する。元車線におけるADVの現在位置から目標車線の中心線の目標点まで第一軌跡を形成する。そして、少なくとも元車線及び/又は目標車線の車線配置及びADVの現在状態(例えば、位置、速度、進行方向など)に基づいて車線変位補正を算出する。車線変位補正に基づいて、少なくとも第一軌跡の起点を補正して第二軌跡を生成する。一実施形態において、車線変位補正に基づいて、第一軌跡の起点を元車線の進行方向に対して横方向に変位させる。
【0019】
その後に、制御段階において、第二軌跡を使用して、車線を元車線から目標車線へ変更するようにADVを制御する。制御段階において、一実施形態によれば、制御モジュールは計画段階からの第二軌跡を受信する。制御モジュールは、第二軌跡に基いて各種の制御指令(例えば、アクセル指令、ブレーキ指令、操舵指令)を発して、車線を元車線から目標車線へ変更するようにADVを制御するように配置される。制御モジュールは、第二軌跡に応じて、少なくともADVの現在位置に対する第二軌跡の起点のずれを検出することができ、これは、計画段階において算出された車線変位補正により示されてもよい。従って、制御モジュールは、第二軌跡の起点とADVの現在位置との間の差又は誤差に基いて操舵制御指令を発してADVの進行方向を補正することができる。当該配置において、制御モジュールは、当該誤差をドリフトエラーとする。制御モジュールは、付加的な操舵制御指令を発することにより、誤差を補償し、更に車線変更の時間を補正する。
【0020】
一実施形態において、元車線及び/又は目標車線の車線幅、ADVの速度に基いて、車線変更の所望時間又は予期時間及び計画モジュールにより実行される計画周期の連続時間における少なくとも一つの車線変位補正の確定を完成する。例えば、計画モジュールが車線変更時間の短縮を希望すれば、計画モジュールは、車線変位補正に基いて少なくとも軌跡の起点を目標車線に向けて横方向に変位させることができる。制御モジュールは、補正された軌跡が受信されると、ADVが右へドリフトしたと検出する。制御モジュールは、応答として、操舵制御指令を生成し、又は計画された操舵指令の操舵角度を補正して、ADVを目標車線に向けて旋回させ、或いは更に目標車線へ旋回させる。これにより、ADVが車線をより早く変更することができる。同様に、計画モジュールが車線変更を遅くするように希望すれば、計画モジュールは、少なくとも軌跡の起点を目標車線からずらし、且つ、制御モジュールは、操舵指令を生成してADVの進行方向を目標車線から離れるように補正することにより、更に車線変更を遅くさせることができる。
【0021】
図1は、本願の一実施形態による自動運転車のネットワーク構造を示すブロック図である。
図1を参照し、ネットワーク構造100には、ネットワーク102を介して一つ又は複数のサーバ103〜104に通信接続される自動運転車101が備えられる。一つの自動運転車が示されたが、複数の自動運転車がネットワーク102を介して互いに接続され、及び/又はサーバ103〜104に接続可能である。ネットワーク102は、例えば、有線又は無線のローカルエリアネットワーク(LAN)、インターネットのようなワイドエリアネットワーク(WAN)、セルラーネットワーク、衛星ネットワーク又はそれらの組み合わせのような任意のタイプのネットワークであってもよい。サーバ103〜104は、例えば、ネットワーク又はクラウドサーバ、アプリサーバ、バックエンドサーバ又はそれらの組み合わせのような任意のタイプのサーバ又はサーバグループであってもよい。サーバ103〜104は、データ解析サーバ、コンテンツサーバ、交通情報サーバ、地図/興味点(MPOI)サーバ又は位置サーバなどであってもよい。
【0022】
自動運転車は、自動運転モードとして配置可能な車両であり、前記自動運転モードにおいて運転者からの入力が非常に少なく又はない場合に車両が環境をナビゲーションし通過する。このような自動運転車はセンサシステムを備えてもよい。前記センサシステムは、車両の走行環境に関する情報を検出するように配置される一つ又は複数のセンサを備える。前記車両と関連するコントローラとは、検出された情報を使用して前記環境をナビゲーションし通過する。自動運転車101は、手動モード、オートマチック運転モード、又は一部の自動運転モードで走行することができる。
【0023】
一実施形態において、自動運転車101には、感知/計画システム110と、車両制御システム111と、無線通信システム112と、ユーザインターフェースシステム113と、センサシステム115とが含まれるが、それらに限定されない。自動運転車101には、通常の車両に備えられている幾つかの常用的な部品、例えばエンジン、車輪、ハンドル、変速機などが更に備えられてもよい。前記部品は、車両制御システム111及び/又は感知/計画システム110により複数種の通信信号及び/又は指令を使用して制御可能である。当該複数種の通信信号及び/又は指令は、例えば、加速信号又は指令、減速信号又は指令、操舵信号又は指令、ブレーキ信号又は指令などである。
【0024】
部品110〜115は、インターコネクタ、バス、ネットワーク或いはそれらの組み合わせにより互いに通信接続することができる。例えば、部品110〜115は、コントローラローカルエリアネットワーク(CAN)バスを介して互いに通信接続することができる。CANバスは、ホストコンピュータなしのアプリケーションでマイクロコントローラ及びデバイスが相互に通信できるように設計された車両バス規格である。これは、もともと自動車内の多重電気配線のために設計されたメッセージベースのプロトコルであるが、他の多くの環境でも使用される。
【0025】
ここで、
図2を参照し、一実施形態において、センサシステム115は、一つ又は複数のカメラ211、全地球位置決めシステム(GPS)ユニット212、慣性計測ユニット(IMU)213、レーダユニット214及び光検出及び測距(LIDAR)ユニット215を含むが、それらに限定されない。GPSユニット212は送受信機を含むことができる。前記送受信機は、操作により自動運転車の位置に関する情報を提供可能である。IMUユニット213は、慣性加速度に基いて自動運転車の位置及び方位変化を検知することができる。レーダユニット214は、無線電気信号を利用して自動運転車のローカル環境におけるオブジェクトを感知するシステムとして表すことができる。幾つかの実施形態において、オブジェクトの感知以外、レーダユニット214は、付加的にオブジェクトの速度及び/又は進行方向も感知することができる。LIDARユニット215は、レーザを使用して自動運転車の位置する環境におけるオブジェクトを感知することができる。他のシステム部品以外に、LIDARユニット215は、一つ又は複数のレーザ光源、レーザスキャナ及び一つ又は複数の検出器を更に含んでも良い。カメラ211は、自動運転車の周囲環境の画像を採集する一つ又は複数の装置を含んでも良い。カメラ211は、静止物カメラ及び/又はビデオカメラであってもよい。カメラは、例えば、回転及び/又は傾斜のプラットフォームにカメラを取り付けることによって、機械的に移動されてもよい。
【0026】
センサシステム115には、例えばソナーセンサ、赤外線センサ、操舵センサ、アクセルセンサ、ブレーキセンサ及びラジオセンサ(例えば、マイクロフォン)のような他のセンサが含まれてもよい。ラジオセンサは、自動運転車の周囲の環境から音声を取得するように配置されてもよい。操舵センサは、ハンドル、車両の車輪又はそれらの組み合わせの操舵角を検出するように配置されてもよい。アクセルセンサとブレーキセンサは、車両のアクセル位置とブレーキ位置をそれぞれ検出する。ある場合に、アクセルセンサとブレーキセンサは、集積型のアクセル/ブレーキセンサとして集積されてもよい。
【0027】
一実施形態において、車両制御システム111は、操舵ユニット201、アクセルユニット202(加速ユニットとも呼ばれる)とブレーキユニット203を含むが、それらに限定されない。操舵ユニット201は、車両の方向又は進行方向を調整するために用いられる。アクセルユニット202は、モータ又はエンジンの速度を制御するために用いられ、モータ又はエンジンの速度は、更に車両の速度と加速度を制御するために用いられる。ブレーキユニット203は、摩擦を提供して車両の車輪又はタイヤを減速させることにより車両を減速させる。なお、
図2に示された部品はハードウェア、ソフトウェア或いはそれらの組み合わせで実施することができる。
【0028】
図1に戻し、無線通信システム112は、自動運転車101と装置、センサ、他の車両などのような外部システムとの通信を許す。例えば、無線通信システム112は、一つ又は複数の装置と直接的に無線通信しても良く、或いは通信ネットワークを経由して無線通信し、例えばネットワーク102を経由してサーバ103〜104と通信してもよい。無線通信システム112は、如何なるセルラー通信ネットワーク又は無線ローカルエリアネットワーク(WLAN)、例えばWiFi(登録商標)を使用して他の部品又はシステムと通信することができる。無線通信システム112は、例えば赤外線リンク、ブルートゥース(登録商標)などを使用して装置(例えば、乗客の携帯装置、表示装置、車両101内のスピーカ)と直接的に通信する。ユーザインターフェースシステム113は、車両101内に実施される周辺機器の部分であっても良く、例えばキーボード、タッチパネル表示装置、マイクロフォン及びスピーカなどを含む。
【0029】
自動運転車101の機能のうちの一部又は全部は、特に自動運転モードで操作される場合に、感知/計画システム110により制御し又は管理されることができる。感知/計画システム110は、センサシステム115、制御システム111、無線通信システム112及び/又はユーザインターフェースシステム113から情報を受信し、受信された情報を処理し、開始点から目標点までの路線又は経路を計画した後に、計画と制御情報に基づいて車両101を運転するように、必要なハードウェア(例えば、プロセッサ、メモリ、記憶デバイス)とソフトウェア(例えば、操作システム、計画と路線設定プログラム)を含む。その代わりに、感知/計画システム110は、車両制御システム111と一体に集積されてもよい。
【0030】
例えば、乗客であるユーザは、例えばユーザインターフェースを介してトリップの開始位置と目的地を指定することができる。感知/計画システム110は、トリップに関連するデータを取得する。例えば、感知/計画システム110は、MPOIサーバから位置と路線情報を取得することができる。前記MPOIサーバは、サーバ103〜104の一部であってもよい。位置サーバは位置サービスを提供し、MPOIサーバは地図サービスとある位置のPOIを提供する。その代わりに、このような位置とMPOI情報は、感知/計画システム110の不揮発性記憶装置にローカルキャッシュされてもよい。
【0031】
自動運転車101が路線に沿って移動する場合に、感知/計画システム110は、交通情報システム又はサーバ(TIS)からリアルタイムの交通情報を取得することもできる。なお、サーバ103〜104は、第三者エンティティに操作されてもよい。その代わりに、サーバ103〜104の機能は、感知/計画システム110と一体に集積されてもよい。リアルタイム交通情報、MPOI情報と位置情報、及びセンサシステム115により検出又は感知されたリアルタイムのローカル環境データ(例えば、障害物、オブジェクト、付近の車両)に基いて、感知/計画システム110は、最適な路線を計画し且つ計画された路線に従って例えば制御システム111を介して車両101を運転することにより、所定の目的地まで安全的且つ効率的に到達可能である。
【0032】
サーバ103は、様々なクライアントに対してデータ解析サービスを実行するデータ解析システムであってもよい。一実施形態において、データ解析システム103は、データ採集器121と、機器学習エンジン122とを含む。データ採集器121は、複数種の車両(自動運転車、又は人間の運転者により運転される通常の車両)から運転統計データ123を採集する。運転統計データ123には、異なるタイミングで車両のセンサにより採集された、発出された運転指令(例えば、アクセル指令、ブレーキ指令、操舵指令)を示す情報及び車両の応答(例えば、速度、加速度、減速度、方向)を示す情報が含まれる。運転統計データ123は、異なるタイミングにおける走行環境を記述する情報、例えば、路線(出発位置と目的地の位置を含む)、MPOI、天気状況及び道路状況を更に含んでも良い。
【0033】
運転統計データ123に基いて、機器学習エンジン122は、各種の目的のために用いられるルールセット、アルゴリズム及び/又は予測モデル124を生成し訓練する。一実施形態において、アルゴリズム124には、車線配置と車両の現在状態に基いて車線変更軌跡を調整するための車線変位誤差又は補正を算出するアルゴリズムが含まれる。そして、アルゴリズム124は、リアルタイムな自動運転においてドリフト補正に用いられるように、ADVにアップロードされてもよい。
【0034】
図3Aと
図3Bは、一実施形態による自動運転車と共に使用される感知/計画システムの例示を示すブロック図である。システム300は、
図1の自動運転車101の一部として実施されても良く、感知/計画システム110、制御システム111とセンサシステム115を含むが、それらに限定されない。
図3A〜
図3Bを参照し、感知/計画システム110には、位置決めモジュール301、感知モジュール302、予測モジュール303、決定モジュール304、計画モジュール305、制御モジュール306、路線設定モジュール307及び車線変更変位補正モジュール308が含まれるが、それらに限定されない。
【0035】
モジュール301〜308のうち一部又は全部は、ソフトウェア、ハードウェア或いはそれらの組み合わせで実施されてもよい。例えば、これらのモジュールは、不揮発性記憶装置352にインストールされ、メモリ351にロードされ、且つ一つ又は複数のプロセッサ(図示しない)により実行されてもよい。なお、これらのモジュールのうち一部又は全部は、
図2の車両制御システム111の一部又は全部のモジュールに通信可能に接続され、或いはそれらと一体に集積されてもよい。モジュール301〜308のうち一部は、一体に集積モジュールとして集積可能である。
【0036】
位置決めモジュール301は、自動運転車300の現在位置を確定し(例えば、GPSユニット212を利用し)、ユーザのトリップ又は路線に関する如何なるデータを管理する。位置決めモジュール301(地図/路線モジュールと呼ばれる)は、ユーザのトリップ又は路線に関連する如何なるデータを管理する。ユーザは、例えばユーザインターフェースを経由して登録してトリップの開始位置と目的地を指定することができる。位置決めモジュール301は、自動運転車300における地図及び路線情報311のような他の要素と通信してトリップに関するデータを取得する。例えば、位置決めモジュール301は、位置サーバと地図/POI(MPOI)サーバから位置と路線情報を取得することができる。位置サーバは位置サービスを提供し、MPOIサーバは地図サービスとある位置のPOIを提供することにより、地図及び路線情報311の一部としてキャッシュされることができる。自動運転車300が路線に沿って移動する際に、位置決めモジュール301は、交通情報システム又はサーバからリアルタイムな交通情報を取得することもできる。
【0037】
感知モジュール302は、センサシステム115により提供されたセンサデータと、位置決めモジュール301により取得された測位情報に基づいて、周囲の環境への感知を確定する。感知情報は、ドライバーにより運転されている車両周囲において通常のドライバーが感知すべきものを示すことができる。感知は、例えばオブジェクトの形態を採用する車線構成(例えば、直線車線又は湾曲車線)、信号機信号、他の車両の相対位置、歩行者、建築物、横断歩道、又は他の交通関連標識(例えば、止まれ標識、ゆずれ標識)を含むことができる。
【0038】
感知モジュール302は、1つ以上のカメラによって取得された画像を処理及び解析して、自動運転車の環境内のオブジェクト及び/又は特徴を認識するコンピュータビジョンシステム又はコンピュータビジョンシステムの機能を含むことができる。上記オブジェクトは、交通信号、道路境界、他の車両、歩行者及び/又は障害物などを含むことができる。コンピュータビジョンシステムは、オブジェクト認識アルゴリズム、ビデオトラッキング、及び他のコンピュータビジョン技術を使用することができる。いくつかの実施形態では、コンピュータビジョンシステムは、環境地図を描き、オブジェクトを追跡し、オブジェクトの速度などを推定することができる。感知モジュール302は、レーダ及び/又はLIDARのような他のセンサによって提供される他のセンサデータに基づいてオブジェクトを検出することもできる。
【0039】
オブジェクトごとについて、予測モジュール303は、この場合にオブジェクトがどのように動くかを予測する。この予測は、地図及び路線情報311と交通ルール312のセットに基いて、当該タイミングで走行環境が感知された感知データに従って実行される。例えば、オブジェクトが反対方向における車両であって且つ現在の走行環境に交差点が含まれている場合に、予測モジュール303は、車両が直進する、又はカーブ走行する可能性を予測する。感知データにより交差点において信号機がないと示された場合に、予測モジュール303は、車両が交差点に入る前に完全に駐車する必要があると予測可能である。感知データにより車両が現在に左折車線又は右折車線に位置すると示された場合に、予測モジュール303は、車両が左折又は右折の可能性が大きいと予測可能である。
【0040】
オブジェクトごとに対して、決定モジュール304は、オブジェクトをどのように対応するかを決定する。例えば、特定のオブジェクト(例えば、交差のルートにおける他の車両)及びオブジェクトを記述するメタデータ(例えば、速度、方向、操舵角)について、決定モジュール304は上記オブジェクトと遇うときに如何に対応するか(例えば、追い越し、道譲り、停止、追い抜き)を決定する。決定モジュール304は、交通ルール又は運転ルール312のようなルールセットに基づいてそのような決定を行うことができ、上記ルールセットは不揮発性記憶装置352に記憶されることができる。
【0041】
路線設定モジュール307は、起点から目的地までの一つ又は複数の路線又は経路を提供するように配置される。(例えばユーザから受け取られた)開始位置から目標位置までの所定のトリップについて、路線設定モジュール307は、路線と地図情報311を取得し、開始位置から目標位置までの全ての走行可能な路線又は経路を確定する。路線設定モジュール307は、開始位置から目標位置までの各路線が確定された地形図による参照線を生成することができる。参照線は、例えば他の車両、障碍物又は交通状況からの干渉を受けない理想的な路線又は経路である。つまり、道路において他の車両、歩行者又は障害物がない場合に、ADVは参照線に従って精確的に又は緊密的に追随すべきである。そして、地形図を決定モジュール304及び/又は計画モジュール305に提供する。決定モジュール304及び/又は計画モジュール305は、他のモジュールにより提供された他のデータ(例えば、位置決めモジュール301からの交通状況、感知モジュール302により感知された走行環境及び予測モジュール303により予測された交通状況)に基いて、全ての走行可能な路線を検査して最適路線のうちの何れか一つを選択し更新する。タイミングにおける特定の走行環境に従って、ADVを制御するための実際の経路又は路線は、路線設定モジュール307から提供された参照線と異なり又は近い可能性がある。
【0042】
計画モジュール305は、感知されたオブジェクトのそれぞれに対する決定に基づいて、路線設定モジュール307により提供された参照線を基礎として、自動運転車に対して経路又は路線及び運転パラメータ(例えば、距離、速度及び/又は操舵角度)を計画する。言い換えれば、所定のオブジェクトについて、決定モジュール304は、当該オブジェクトに対してなにをするかを決定し、計画モジュール305はどのようにするかを確定する。例えば、所定のオブジェクトについて、決定モジュール304は前記オブジェクトを追い越すことを決定することができ、計画モジュール305は前記オブジェクトの左側か右側に追い越すことを確定することができる。計画と制御データは、計画モジュール305により生成され、車両300が次の移動循環(例えば、次の路線/経路区間)においてどのように移動するかを記述する情報を含む。例えば、計画と制御データは、車両300が30マイル/時間(mph)の速度で10メートルだけ移動し、その後に25mphの速度で右側の車線に変更するように示すことができる。
【0043】
計画と制御データに基づいて、制御モジュール306は、計画と制御データにより限定された路線又は経路に応じて、適当な指令又は信号を車両制御システム111に送信することにより自動運転車を制御し運転するようにする。前記計画と制御データは、経路又は路線に沿って異なるタイミングで適当な車両設置又は運転パラメータ(例えば、アクセル、ブレーキと操舵指令)を使用することにより車両を路線又は経路の第一の点から第二の点まで運転するのに十分な情報を有する。
【0044】
一実施形態において、計画段階は、複数の計画周期(運転周期とも呼ばれる)(例えば、100ミリ秒(ms)ないし200ミリ秒(ms)の時間間隔毎)に実行される。各計画周期又は運転周期について、計画データと制御データに基いて一つ又は複数の制御指令を発する。つまり、100ms毎に、計画モジュール305は次の路線区間又は経路区間を計画し、例えば、目標位置とADVが目標位置まで到着するのに必要な時間とが含まれる。その代わりに、計画モジュール305は、具体的な速度、方向及び/又は操舵角などを更に規定することもできる。一実施形態において、計画モジュール305は、次の予定時間帯(例えば、5秒)に対して路線区間又は経路区間を計画する。各計画周期について、計画モジュール305は、前の周期において計画された目標位置に基いて、現在の周期(例えば、次の5秒)に用いる目標位置を計画する。そして、制御モジュール306は、現在の周期における計画データと制御データに基いて、一つ又は複数の制御指令(例えば、アクセル、ブレーキ、操舵の制御指令)を生成する。
【0045】
なお、決定モジュール304と計画モジュール305は、集積モジュールとして集積することができる。決定モジュール304/計画モジュール305は、自動運転車の運転経路を確定するように、ナビゲーションシステム又はナビゲーションシステムの機能を具備することができる。例えば、ナビゲーションシステムは、自動運転車が下記の経路に沿って移動することを実現する一連の速度と進行方向を確定することができる。前記経路において、自動運転車を最終の目的地まで走行させる車線による経路に沿って進行させると共に、感知された障害物を実質的に回避する。目的地は、ユーザインターフェースシステム113を経由して行われたユーザ入力に基づいて設定されてもよい。ナビゲーションシステムは、自動運転車が運転していると同時に動的に運転経路を更新することができる。ナビゲーションシステムは、自動運転車のための運転経路を確定するように、GPSシステムと一つ又は複数の地図からのデータを合併することができる。
【0046】
一実施形態によれば、車線を元車線から目標車線へ変更する必要がある場合に、計画モジュール305は、車線変更変位補正モジュール308を呼び出して、例えば車線変更変位補正アルゴリズム314により車線変位補正を確定し算出することができる。各種の車両の多くの運転統計データに基づいて車線変更変位補正アルゴリズム314を生成することができる。なお、
図1のアルゴリズム124の一部とするアルゴリズム314は、例えばサーバ103のデータ解析システムにより生成することができる。計画段階において、車線変位補正により少なくとも車線変更軌跡の起点を変位可能である。このような変位された車線変更軌跡により、制御段階において制御モジュール306が一つ又は複数の操舵制御指令を発し、ドリフト補正に類似する補正動作を実行させて、変位/ドリフトエラーを補償し、更に車線変更のイベントを速くし又は遅くすることができる。従って、平滑な車線変更軌跡を生成する本発明の実施形態には、車線変更を速くし又は遅くするように、計画段階において車線変更軌跡を計画し、及び制御段階において変位補正を行うことが含まれる。注意すべきなのは、車線変更変位補正モジュール308の機能は、計画モジュール305及び/又は制御モジュール306の一部として集積されてもよい。
【0047】
図3A〜
図3Bに戻して参照し、一実施形態によれば、特定の運転周期において、例えば決定モジュール304から、ADVの車線を元車線から目標車線へ変更する要求を受信する。これは、この場合に走行環境を考慮した上で車線を変更する必要があると確定される。計画モジュール305は、車線変更の要求に応じて、元車線から目標車線までの第一車線変更軌跡を計画し生成する。第一車線変更軌跡は、一般的に元車線におけるADVの現在位置から目標車線の中心線までの点である。軌跡は一般的に、接続すると連続曲線を形成する、分布が相対的に均一である一連又は一つのシーケンスの軌跡点が含まれる。軌跡点のそれぞれは、軌跡点データに関連付けられる。軌跡点データには、ADVの所望位置(例えば、x、y座標)、ADVの予期速度、ADVの予期進行方向及び/又はADVの加速度/減速度が含まれる。制御モジュール306は、このような軌跡を参照軌跡として使用して適当な制御指令を発することにより、軌跡にできるだけ近く追跡してADVを運転するようにする。
【0048】
一実施形態において、第一車線変更軌跡が生成されると、計画モジュール305は、車線変更変位補正モジュール308を呼び出して、車線配置とADVの現在状態に基いて車線変位補正又は補正値を確定し算出する。車線配置には、元車線、目標車線及び/又は元車線の車線幅などを記述する情報が含まれる。ADVの現在状態には、ADVの現在位置、速度及び/又は進行方向が含まれる。計画モジュール305は、車線変位補正に基いて少なくとも第一軌跡の起点を変位させ、例えば横方向に起点を変位させることにより(例えば、元車線の縦方向に対して左か右に変位する)、第二軌跡を生成する。
【0049】
一実施形態において、車線変更変位補正モジュール308には、変位比算出装置321と変位補正算出装置322とが備えられる。変位比算出装置321は、元車線又は目標車線の車線幅(元車線と目標車線の車線幅が同一とする)と車線変更距離との間の変位比を算出するように配置される。変位補正算出装置322は、変位比と計画周期の連続時間(計画頻度)に基いて車線変位補正を算出するように配置される。下記の内容において、このような算出の詳細を更に説明する。注意すべきなのは、変位比算出装置321と変位補正算出装置322は一つのモジュールに集積されてもよい。
【0050】
そして、第二軌跡は制御モジュール306に提供される。少なくとも第一軌跡の起点及び第一軌跡がADVの現在位置に基づいて生成されるため、制御モジュール306は、ADVの現在位置が第二軌跡の開始位置で示される予期位置からずれたと検出可能である。この場面において、制御モジュール306はこのようなずれがドリフトエラーであるとする。制御モジュール306は、応答として、横方向における誤差補正又はドリフトエラー補正に類似する車線変位補正を実行する。一実施形態において、制御モジュール306は、付加的な操舵制御指令を発し、或いは計画された操舵指令の操舵角度を補正することにより、ADVの向き、又は目標車線から離れる進行方向又は進行方向の変化率を補正することができる。このような補正により、目標車線への進入を加速し又は減速するようにADVの車線を変更することができる。
【0051】
ここで、
図4を参照する。本例示において、ADV400に車線を元車線である車線411から目標車線である車線412へ変更させる必要があると確定される。計画モジュール305は、応答として、元車線411の現在位置401から目標車線412の目標位置402までの車線変更軌跡415を計画し生成する。軌跡415を生成する場合、最適化を行って軌跡を平滑化することができ、例えば、多項式関数により現在位置401から目標位置402までの平滑曲線をフィッテングすることができる。
【0052】
また、一実施形態によれば、計画モジュール305は、車線変更変位補正モジュール308を呼び出して車線変位補正を確定し算出することができる。また、車線変更変位補正モジュール308は、計画モジュール305と集積されてもよい。一実施形態において、変位比算出装置321は、車線配置とADV400の現在状態に基づいて車線変位比を算出するように配置される。車線配置には、少なくとも元車線411と目標車線412の車線幅が含まれる。多くの場合に、元車線411と目標車線412との両者が同一の車線幅を有するとしてもよい。従って、車線幅は、元車線411の中心線と目標車線412の中心線との間の距離を示すことができる。その代わりに、例えばセンサ(例えば、カメラ)から取得されたセンサデータに基づいて、元車線411の中心線と目標車線412の中心線との距離を測定することができる。ADV400の現在状態には、少なくともADV400の現在速度及び/又は現在位置が含まれる。
【0053】
一実施形態において、車線変位比は、元車線411の中心線と目標車線412の中心線間の横方向距離Xと、現在位置401と目標位置402間の縦方向距離Yとの比を指す。ADV400の現在速度Vを考慮した上で、ADV400の現在速度Vと、現在位置401から目標位置402まで到達する所望の車線変更時間Tとに基づいて、縦方向距離Yを取得することができる。即ち、Y=T*Vである。従って、変位比算出装置321により以下のように車線変位比Rを算出可能である。
R=X/Y=X/(T*V)。
【0054】
一実施形態において、ADVの現在速度Vが10メートル/秒(m/s)よりも小さい場合に、車線変位比を算出するために、ADVの速度を10m/sに指定する。従って、車線変更変位のために算出された最小速度が少なくとも10m/sに制限される。一実施形態において、所望の車線変更時間Tの範囲は、ほぼ2秒〜5秒である。具体的な実施形態において、所望の車線変更時間としてT=4秒である。
【0055】
一実施形態によれば、車線変位比Rが確定されると、変位補正算出装置322を呼び出して、車線変位比に基づいて車線変位補正Sを算出する。計画周期に関する計画頻度Aに基づいて車線変位補正Sを算出することができる。前記のように、計画周期又は運転周期において軌跡計画過程を実行する。従って、ほぼ100ミリ秒(ms)(ほぼ10Hzに対応する)毎に計画過程を一回実行する。一実施形態において、以下のように車線変位補正Sを算出可能である。
S=R/A=X*(1/A)/(T*V)
【0056】
車線変位補正Sが確定されると、車線変位補正Sに基づいて、少なくとも車線変更軌跡の起点を横方向で変位させることにより車線変更時間を調整することができる。例えば、車線変更時間を短縮する(例えば、車線変更を速くする)必要があれば、少なくとも車線変更軌跡の起点が
図5Aに示されたように目標車線412に向けて変位してもよい。その代わりに、
図5Bに示されたように、車線変位補正に基づいて軌跡の全体を横方向に変位させる。そして、変位された車線変更軌跡を制御モジュール306に提供可能である。
【0057】
変位し又は補正された車線変更軌跡に応じて、制御モジュール306は、ADV400のドリフトエラーに類似する横方向のずれを検出可能である。前記のように、制御モジュール306は、計画モジュール305により生成された軌跡を参照として、ADVを軌跡にできるだけ近く追跡するように制御する。軌跡が横方向に変位されると、制御モジュール306はADVの現在位置が軌跡から著しく「ずれた」と検出する。制御モジュール306は当該誤差がドリフトエラーであるとしてもよい。従って、制御モジュール306は、このような誤差を補償して補正するために、別の操舵制御指令を発し又は計画された操舵制御指令の操舵角度を増加して、ADVの進行方向を補正することにより、ADVを軌跡に近く移動させるように試し、即ちドリフトエラーを補正する。
【0058】
一実施形態において、制御モジュール306は、軌跡の変位方向に向けてADVの進行方向を補正するように一つ又は複数の操舵制御指令を生成することにより、ADVを軌跡の変位方向に応じて移動させる。例えば、車線変更軌跡が目標車線412(例えば、左に向ける)に向けて変位した場合に、制御モジュール306は、ドリフトエラーが目標車線412(例えば、右に向ける)から離れる車線変位補正に対応するとする。従って、制御モジュール306は、ADVを左へ移動するように操舵制御指令を生成する。これにより、速く且つ平滑な車線変更過程が提供される。その一方、車線変更軌跡が目標車線412からずれた場合に、ADVの現在位置が現在に軌跡と目標車線との間にある(例えば、軌跡の左側にある)ため、制御モジュール306は、それを目標車線に向ける(例えば、左に向ける)ドリフトエラーとする。従って、制御モジュール306は、ADVを運転して目標車線から離れるように一つ又は複数の操舵制御指令を生成することにより、ドリフトエラーを補正する(例えば、ADVを右へ旋回させる)ことを試す。これにより、遅い車線変更過程が提供される。
【0059】
図6は、本発明の一実施形態による自動運転車の車線変更を実行するフローの例示を示すフローチャートである。フロー600は、処理ロジックにより実行可能である。処理ロジックには、ソフトウェア、ハードウェア又はそれらの組合わせが含まれてもよい。例えば、フロー600は、計画モジュール305、制御モジュール306及び/又は車線変更変位補正モジュール308により実行可能である。
図6を参照し、操作601において、処理ロジックは、ADVの周囲の走行環境を記述する感知データに基いて、車線を元車線から目標車線へ変更するためのADVの第一軌跡を確定する。操作602において、処理ロジックは、車線配置とADVの現在状態に基いて車線変位補正を算出する。車線配置には、少なくとも元車線及び/又は目標車線の車線幅を示す情報が含まれる。ADVの現在状態には、少なくともADVの現在位置及び/又は速度が含まれる。一実施形態において、処理ロジックは、車線幅、所望の車線変更時間とADVの現在速度に基いて車線変位比を算出する。車線変位比と計画周期に基いて、車線変位補正を算出する。
【0060】
操作603において、車線変位補正に基いて少なくとも車線変更軌跡の起点を補正する。例えば、車線変位補正に基いて、少なくとも横方向に軌跡の起点を変位させる。その代わりに、横方向に軌跡の全体を変位させる。操作604において、処理ロジックは、補正された軌跡に基いて、車線変位補正操作を実行して車線を元車線から目標車線へ変更することを含むようにADVを制御する。車線変位補正操作には、操舵制御指令を発してADVの進行方向を補正し、更に車線変更過程を速くし又は遅くすることが含まれる。例えば、軌跡が左へ変位された場合に、車両が軌跡の右側にあるため、処理ロジックは、車両が右へドリフトしたと解釈可能である。従って、処理ロジックは、車両の進行方向を補正するように操舵制御指令を発することにより、軌跡へより近くなるように車両を左へ移動させる。制御段階において実行されるこのようなドリフト補正により、車線変更の速度と時間が変更される。
【0061】
図7は、一実施形態による車線変位補正を確定するフローを示すフローチャートである。フロー700は、
図6の操作602の一部として実行可能である。
図7を参照し、操作701において、処理ロジック(例えば、計画モジュール305)は、車線配置に基いて元車線及び/又は目標車線の車線幅Xを確定する。車線配置は、ADVの周囲の走行環境を記述する感知データに基いて確定される。上記のように、多くの場合に、元車線と目標車線との車線幅が同一であると想定する。言い換えれば、本文において車線変更のために用いられる車線幅という専門用語は、元車線の中心線と目標車線の中心線との間の距離を指す。操作702において、処理ロジックはADVの現在状態に基いてADVの現在速度Vを確定する。操作703において、処理ロジックは、車線幅、ADVの現在速度と所望の車線変更時間Tに基いて、変位比R(R=X/(T*V))を算出する。操作704において、処理ロジックは、変位比に基いて、計画頻度Aを考慮した上で車線変位補正Sを(S=X*(1/A)/(T*V))算出する。
【0062】
なお、以上に例示及び説明された構成要素の一部又は全ては、ソフトウェア、ハードウェア、又はこれらの組み合わせで実現されることができる。例えば、このような構成要素は、永続性記憶装置にインストールされ記憶されたソフトウェアとして実現されてもよく、上記ソフトウェアは、本願にわたって記載されたプロセス又は動作を実現するように、プロセッサ(図示せず)でメモリにロードして実行されてもよい。あるいは、このような構成要素は、集積回路(例えば、特定用途向け集積回路又はASIC)、デジタルシグナルプロセッサ(DSP)、又はフィールドプログラマブルゲートアレイ(FPGA)のような専用ハードウェアにプログラミング又は埋め込まれた実行可能なコードとして実現されてもよく、上記実行可能なコードはアプリケーションからの対応するドライバー及び/又はオペレーティングシステムを介してアクセスすることができる。さらに、このような構成要素は、ソフトウェア構成要素が一つ以上の特定のコマンドによってアクセス可能なコマンドセットの一部として、プロセッサ又はプロセッサコアにおける特定のハードウェアロジックとして実現されることができる。
【0063】
図8は、本願の一実施形態と共に使用可能なデータ処理システムの例を示すブロック図である。例えば、システム1500は、上記プロセス又は方法のいずれかを実行する上記データ処理システムのいずれか(例えば、
図1の感知及び計画システム110、又はサーバ103〜104のいずれか)を表すことができる。システム1500は、複数の異なる構成要素を含むことができる。これらの構成要素は、集積回路(IC)、集積回路の一部、ディスクリート型電子デバイス、又は回路基板(例えば、コンピュータシステムのマザーボード若しくはアドインカード)に適するその他のモジュールとして実現されることができ、又は、他の形態でコンピュータシステムのシャーシ内に組み込まれる構成要素として実現されることができる。
【0064】
なお、システム1500は、コンピュータシステムの複数の構成要素の高レベルビューを示すことを意図している。しかしながら、理解すべきことは、特定の実施例において付加的構成要素が存在してもよく、また、その他の実施例において示された構成要素を異なる配置にすることが可能である。システム1500は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、サーバ、携帯電話、メディアプレヤー、パーソナルデジタルアシスタント(PDA)、スマートウォッチ、パーソナルコミュニケーター、ゲーム装置、ネットワークルーター又はハブ、無線アクセスポイント(AP)又はリピーター、セット・トップボックス、又はこれらの組み合わせを表すことができる。さらに、単一の機器又はシステムのみが示されたが、「機器」又は「システム」という用語は、本明細書で説明されるいずれか一種以上の方法を実現するための、単独で又は共同で1つ(又は複数)のコマンドセットを実行する機器又はシステムのいずれかの組み合わせも含まれると解釈されるものとする。
【0065】
一実施形態では、システム1500は、バス又はインターコネクト1510を介して接続される、プロセッサ1501と、メモリ1503と、装置1505〜1508とを含む。プロセッサ1501は、単一のプロセッサコア又は複数のプロセッサコアが含まれる単一のプロセッサ又は複数のプロセッサを表すことができる。プロセッサ1501は、マイクロプロセッサ、中央処理装置(CPU)などのような、一つ以上の汎用プロセッサを表すことができる。より具体的には、プロセッサ1501は、複雑コマンドセットコンピューティング(CISC)マイクロプロセッサ、縮小コマンドセットコンピューティング(RISC)マイクロプロセッサ、超長コマンド語(VLIW)マイクロプロセッサ、又はその他のコマンドセットを実行するプロセッサ、又はコマンドセットの組み合わせを実行するプロセッサであってもよい。プロセッサ1501は更に、例えば、特定用途向け集積回路(ASIC)、セルラー又はベースバンドプロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、デジタルシグナルプロセッサ(DSP)、ネットワークプロセッサ、グラフィックプロセッサ、通信プロセッサ、暗号化プロセッサ、コプロセッサ、組込みプロセッサ、又はコマンドを処理可能な任意の他のタイプのロジックのような、一つ以上の専用プロセッサであってもよい。
【0066】
プロセッサ1501は、超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってもよく、上記システムの様々な構成要素と通信するための主処理ユニット及び中央ハブとして機能することができる。このようなプロセッサは、システムオンチップ(SoC)として実現されることができる。プロセッサ1501は、本明細書で説明される動作及びステップを実行するためのコマンドを実行するように構成される。システム1500は、さらに所望によるグラフィックサブシステム1504と通信するグラフィックインターフェースを含むことができ、グラフィックサブシステム1504は、表示コントローラ、グラフィックプロセッサ、及び/又は表示装置を含むことができる。
【0067】
プロセッサ1501は、メモリ1503と通信することができ、メモリ1503は、一実施形態では、所定量のシステムメモリを提供するための複数のメモリ装置によって実現されることができる。メモリ1503は、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、スタティックRAM(SRAM)、又はその他のタイプの記憶装置のような、一つ以上の揮発性記憶(又はメモリ)装置を含むことができる。メモリ1503は、プロセッサ1501又はその他の任意の装置により実行されるコマンドシーケンスを含む情報を記憶することができる。例えば、様々なオペレーティングシステム、デバイスドライバ、ファームウェア(例えば、ベーシックインプット/アウトプットシステム又はBIOS)、及び/又はアプリケーションの実行可能なコード及び/又はデータは、メモリ1503にロードされ、プロセッサ1501により実行されることができる。オペレーティングシステムは、例えば、ロボットオペレーティングシステム(ROS)、Microsoft(登録商標)社のWindows(登録商標)オペレーティングシステム、アップル社のMacOS(登録商標)/iOS(登録商標)、Google(登録商標)社のAndroid(登録商標)、LINUX(登録商標)、UNIX(登録商標)、又はその他のリアルタイム若しくは組込みオペレーティングシステムのような、任意のタイプのオペレーティングシステムであってもよい。
【0068】
システム1500は、さらに、ネットワークインターフェース装置1505、所望による入力装置1506、及びその他の所望によるI/O装置1507を含む装置1505〜1508のようなI/O装置を含むことができる。ネットワークインターフェース装置1505は、無線送受信機及び/又はネットワークインターフェースカード(NIC)を含むことができる。上記無線送受信機は、WiFi送受信機、赤外線送受信機、ブルートゥース送受信機、WiMax送受信機、無線携帯電話送受信機、衛星送受信機(例えば、全地球位置決めシステム(GPS)送受信機)、又はその他の無線周波数(RF)送受信機、又はこれらの組み合わせであってもよい。NICは、イーサネット(登録商標)カード(Ethernet(登録商標)card)であってもよい。
【0069】
入力装置1506は、マウス、タッチパネル、タッチスクリーン(表示装置1504と統合されてもよい)、ポインター装置(例えば、スタイラス)、及び/又はキーボード(例えば、物理キーボード又はタッチスクリーンの一部として表示された仮想キーボード)を含むことができる。例えば、入力装置1506は、タッチスクリーンと接続するタッチスクリーンコントローラを含むことができる。タッチスクリーン及びタッチスクリーンコントローラは、例えば、様々なタッチ感応技術(コンデンサ、抵抗、赤外線、及び表面音波の技術を含むが、これらに限定されない)のいずれか、並びにその他の近接センサアレイ、又は、タッチスクリーンと接触する一つ以上の点を決定するためのその他の素子を用いて、それらの接触及び移動又は間欠を検出することができる。
【0070】
I/O装置1507は、音声装置を含むことができる。音声装置は、音声認識、音声複製、デジタル記録、及び/又は電話機能のような音声サポート機能を促進するために、スピーカ及び/又はマイクロフォンを含んでもよい。その他のI/O装置1507は、さらに、ユニバーサルシリアルバス(USB)ポート、パラレルポート、シリアルポート、プリンタ、ネットワークインターフェース、バスブリッジ(例えば、PCIーPCIブリッジ)、センサ(例えば、加速度計のようなモーションセンサ、ジャイロスコープ、磁力計、光センサ、コンパス、近接センサなど)、又はこれらの組み合わせを含むことができる。装置1507は、さらに結像処理サブシステム(例えば、カメラ)を含むことができ、上記結像処理サブシステムは、写真及びビデオ断片の記録のようなカメラ機能を促進するための、電荷結合素子(CCD)又は相補型金属酸化物半導体(CMOS)光学センサのような光学センサを含むことができる。特定のセンサは、センサハブ(図示せず)を介してインターコネクト1510に接続されることができ、キーボード又はサーマルセンサのようなその他の装置はシステム1500の具体的な配置又は設計により、組込みコントローラ(図示せず)により制御されることができる。
【0071】
データ、アプリケーション、一つ以上のオペレーティングシステムなどの情報の永続性記憶を提供するために、プロセッサ1501には、大容量記憶装置(図示せず)が接続されることができる。様々な実施形態において、より薄くて軽量なシステム設計を可能にしながら、システムの応答性を向上するために、このような大容量記憶装置は、ソリッドステート装置(SSD)によって実現されることができる。しかしながら、その他の実施形態において、大容量記憶装置は、主にハードディスクドライブ(HDD)を使用して実現することができ、より小さい容量のSSD記憶装置をSSDキャッシュとして機能することで、停電イベントの間にコンテキスト状態及び他のそのような情報の不揮発性記憶を可能にし、それによりシステム動作が再開するときに通電を速く実現することができる。また、フラッシュデバイスは、例えば、シリアルペリフェラルインターフェース(SPI)を介してプロセッサ1501に接続されることができる。このようなフラッシュデバイスは、上記システムのBIOS及びその他のファームウェアを含むシステムソフトウェアの不揮発性記憶のために機能することができる。
【0072】
記憶装置1508は、コンピュータ読取可能な媒体1509(機械可読記憶媒体又はコンピュータ可読媒体ともいう)を含むことができ、上記コンピュータ読取可能な媒体1509には、本明細書で記載されたいずれか一種以上の方法又は機能を具体化する一つ以上のコマンドセット又はソフトウェア(例えば、モジュール、ユニット、及び/又はロジック1528)が記憶されている。処理モジュール/ユニット/ロジック1528は、計画モジュール305、制御モジュール306及び/又は車線変更変位補正モジュール308などの上記構成要素のいずれかを表すことができる。処理モジュール/ユニット/ロジック1528は、さらに、データ処理システム1500、メモリ1503、及びプロセッサ1501による実行中に、メモリ1503内及び/又はプロセッサ1501内に完全的に又は少なくとも部分的に存在してもよく、データ処理システム1500、メモリ1503、及びプロセッサ1501も機械アクセス可能な記憶媒体を構成する。処理モジュール/ユニット/ロジック1528は、さらに、ネットワークによってネットワークインターフェース装置1505を経由して送受信されてもよい。
【0073】
コンピュータ可読記憶媒体1509は、以上に説明されたいくつかのソフトウェア機能を永続的に記憶するために用いることができる。コンピュータ可読記憶媒体1509は、例示的な実施形態において単一の媒体として示されるが、「コンピュータ可読記憶媒体」という用語は、上記一つ以上のコマンドセットが記憶される単一の媒体又は複数の媒体(例えば、集中型又は分散型データベース、及び/又は関連するキャッシュとサーバ)を含むと解釈されるものとする。また、「コンピュータ可読記憶媒体」という用語は、コマンドセットを記憶又は符号化できる任意の媒体を含むと解釈されるものであり、上記コマンドセットは機械により実行され、本願のいずれか一種以上の方法を上記機械に実行させるためのものである。それゆえに、「コンピュータ可読記憶媒体」という用語は、ソリッドステートメモリ、光学媒体及び磁気媒体、又はその他の任意の非一時的な機械可読媒体を含むが、これらに限定されないと解釈されるものとする。
【0074】
本明細書に記載の処理モジュール/ユニット/ロジック1528、構成要素及びその他の特徴は、ディスクリートハードウェア構成要素として実現されてもよく、又はハードウェア構成要素(例えば、ASICS、FPGA、DSP又は類似の装置)の機能に統合されてもよい。さらに、処理モジュール/ユニット/ロジック1528は、ハードウェア装置におけるファームウェア又は機能性回路として実現されてもよい。さらに、処理モジュール/ユニット/ロジック1528は、ハードウェア装置とソフトウェア構成要素の任意の組み合わせで実現されてもよい。
【0075】
なお、システム1500は、データ処理システムの様々な構成要素を有するものとして示されているが、構成要素を相互接続する任意の特定のアーキテクチャ又は方式を表すことを意図するものではなく、そのような詳細は、本願の実施形態と密接な関係がない。また、より少ない構成要素又はより多くの構成要素を有するネットワークコンピュータ、ハンドヘルドコンピュータ、携帯電話、サーバ、及び/又はその他のデータ処理システムも、本願の実施形態と共に使用することができることを理解されたい。
【0076】
上記具体的な説明の一部は、既に、コンピュータメモリにおけるデータビットに対する演算のアルゴリズムと記号表現で示される。これらのアルゴリズムの説明及び表現は、データ処理分野における当業者によって使用される、それらの作業実質を所属分野の他の当業者に最も効果的に伝達する方法である。本明細書では、一般的に、アルゴリズムは、所望の結果につながるセルフコンシステントシーケンスと考えられる。これらの動作は、物理量の物理的処置が必要なものである。
【0077】
しかしながら、念頭に置くべきことは、これらの用語及び類似の用語の全ては、適切な物理量に関連付けられるものであり、これらの量を標識しやすくするためのものに過ぎない。以上の説明で他に明示的に記載されていない限り、本明細書の全体にわたって理解すべきことは、用語(例えば、添付された特許請求の範囲に記載のもの)による説明とは、コンピュータシステム、又は類似の電子計算装置の動作又はプロセスを指し、上記コンピュータシステム又は電子計算装置は、コンピュータシステムのレジスタ及びメモリにおける物理(電子)量として示されたデータを制御するとともに、上記データをコンピュータシステムメモリ又はレジスタ又はこのようなその他の情報記憶装置、伝送又は表示装置において同様に物理量として示された別のデータに変換する。
【0078】
本願の実施形態は、本明細書の動作を実行するための装置にも関する。このようなコンピュータプログラムは、非一時的なコンピュータ可読媒体に記憶される。機械可読媒体は、機械(例えば、コンピュータ)により読み取り可能な形式で情報を記憶するための任意のメカニズムを含む。例えば、機械可読(例えば、コンピュータ可読)媒体は、機械(例えば、コンピュータ)可読記憶媒体(例えば、読み出し専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光学記憶媒体、フラッシュメモリ装置)を含む。
【0079】
上述した図面において説明されたプロセス又は方法は、ハードウェア(例えば、回路、専用ロジックなど)、ソフトウェア(例えば、非一時的なコンピュータ可読媒体に具現化されるもの)、又は両方の組み合わせを含む処理ロジックにより実行されることができる。上記プロセス又は方法は、以上で特定の順序に応じて説明されたが、上記動作の一部が異なる順序で実行されてもよいことを理解されたい。また、一部の動作は、順番ではなく並行して実行されてもよい。
【0080】
本願の実施形態は、いずれの特定のプログラミング言語を参照することなく記載されている。理解すべきことは、本明細書に記載の本願の実施形態の教示を実現するために、様々なプログラミング言語を使用することができる。
【0081】
上記明細書において、本願の実施形態は、既にその具体的な例示的な実施形態を参照しながら記載された。明らかなように、添付された特許請求の範囲に記載された本願のより広い趣旨及び範囲を逸脱しない限り、本発明に対して様々な変更を行うことができる。それゆえに、本明細書及び図面は、限定的な意味でなく、例示的な意味で理解されるべきである。