【課題を解決するための手段】
【0005】
本発明に係る第1の態様では、同一の所定の軌道を繰り返し追従するように自動走行装置を制御する方法を提供するが、この方法は、a)所定の軌道を示す目標軌道信号(ターゲット軌道信号)を受信するステップと、b)所定の軌道に沿って自動走行装置を操舵(操縦)するのに適した制御信号を生成するステップと、を含む。本方法は、さらに、複数の反復の少なくとも1つについて、c)制御信号を自動走行装置に供給することによって、所定の軌道に沿って自動走行装置を操舵するステップと、d)制御信号に従って操舵されることに応答して、自動走行装置によって追従される実際の軌道を測定するステップと、e)測定された実際の軌道を示す実際の軌道信号を記録するステップと、f)少なくとも制御信号と、実際の軌道信号と、目標軌道信号とに基づいて、変更された制御信号を決定するように、反復学習制御装置を使用するステップと、を含む。
【0006】
上記方法は、有利には、同一の所定の軌道に沿って自動走行装置を操舵する後続の反復中に、自動走行装置の追従性能(追跡性能)を向上するために、反復学習制御(ILC:Iterative Learning Control)を活用する。
【0007】
「追従性能」とは、例えば、所定の軌道と実際の軌道との間の追従のエラー(誤差)または偏差でもよく、そして、「追従性能を最適化すること」とは、追従のエラーを減少することを示し得る。
【0008】
自動走行装置は、実際の自動走行車両でもよい。または、自動走行装置は、車両(自動車)のシュミレーションモデルでもよい。本明細書で使用される「自動」とは、人間の介入なしに、自動走行装置が所定の軌道に追従することができる能力を示し得る。
【0009】
用語「信号(シグナル)」は、時系列の読み取りまたは値を示し得る。時系列とは、連続的であってもよく、または離散的であってもよい。離散的な時系列とは、等間隔であってもよく、または非等間隔であってもよい。制御信号において、値は、加速度および操舵角を含み得る。それぞれの軌道信号において、値は、2次元座標または3次元座標を含み得る。それぞれの信号は、さらに、各値についての時間を示すタイムコードを含み得る。
【0010】
所定の軌道は、車両が追従することが想定されている所望の経路または道(ルート)でもよい。所定の軌道の例としては、バレット駐車場(出発点)の入り口から所定の駐車場所(終点)までの軌道、またはレーシング場のラップのスタートライン(出発点)からフィニッシュライン(終点)までの軌道または周回の軌道が挙げられる。
【0011】
ステップa)では、所定の軌道は、例えば、駐車場制御装置および/またはレース場制御装置等の固設型の制御装置から、および/または、車載ナビゲーション制御装置等の自動走行車両の車載型制御装置から、および/または移動装置(携帯装置)から受信することができる。
【0012】
ステップb)では、所定の軌道に沿って自動走行装置を操舵するのに適した制御信号は、目標軌道信号を受信することに応答して、人間の運転者、PID制御装置または同様物等によって車両に与えられる加速度および操舵角等の時系列の制御入力を検出し、記録することによって生成されてもよい。あるいは、制御信号は、計算によって生成されてもよい。
【0013】
本明細書中の「所定の軌道に沿って自動走行装置を操舵する」という用語は、所定の軌道から、許容可能な追従のエラーで逸脱し得る実際の軌道に沿って、追従する、または移動する若しくは運転するように、自動走行装置を制御することを示し得る。
【0014】
「複数の反復」とは、1つまたは複数の数を示し得る。
【0015】
それぞれの反復とは、それぞれの制御信号に従って、所定の軌道の開始点から所定の軌道に沿った終点まで、自動走行装置を操舵する各場合(事例)を示し得る。具体的には、第1の反復において、ステップb)で生成された制御信号に応答して、ステップc)、d)、e)およびf)を実行してもよい。任意のさらなる反復において、ステップc)、d)、e)およびf)は、制御信号として、ステップf)で生成された、変更された制御信号に応答して実行されてもよい。
【0016】
ステップc)において自動走行装置に制御信号を送ることとは、複数の時間の場合の各々で、自動走行装置の操舵装置(ステアリング装置)等の、自動走行装置に対して、制御信号によって構成されるそれぞれの値を提供することを示し得る。
【0017】
同様に、ステップd)における測定およびステップe)における記録も、複数の時間の場合の少なくともいくつかについて繰り返し実施することができる。すなわち、ステップd)およびe)は、ステップc)と並行して、および/または、ステップc)と同期して、実行されてもよい。
【0018】
ステップd)の測定は、二次元座標値および/または三次元座標値を取得するために、所定の軌道または同様物等に沿って配置された標識ポスト(サインポスト)との無線通信を使用して、GPS受信装置等の位置特定装置(ロケーション装置)を使用することを示し得る。
【0019】
ステップe)では、記録することは、複数の時間の場合について、ステップd)で測定された複数の値から信号を形成することを示し得る。
【0020】
ステップf)において、反復学習制御装置は、現在の反復における制御信号および実際の軌道信号(記録された実際の軌道信号)に基づいて、後続の反復のために変更された(更新された、改善された、または最適化された)制御信号を提供するために、反復学習制御(ILC)を使用するように構成された装置でもよい。
【0021】
より具体的には、「制御信号および目標軌道信号に基づく」とは、「実際の軌道信号と目標軌道信号との間の追従のエラーを示す実際の追従のエラー信号に基づくこと」を意味し得る。実際の追従のエラー信号とは、目標軌道信号から実際の軌道信号を差し引くことによって得られてもよい。「追従のエラー」とは、それぞれの信号の間の平均または二乗平均平方根距離等の偏差を示し得る。
【0022】
「信号に基づく」とは、特に、「入力として信号を使用すること」を示し得る。
【0023】
さらに、より具体的には、反復学習制御装置は、追従性能を最適化する最適化制御信号を、反復の各々で繰り返し使用することによって、反復学習するように構成されることができる。特に、追従性能を最適化するとは、実際の追従のエラー信号(エネルギ内容、時間平均値、またはその二乗平均平方根)を減少または最小化することを示し得る。
【0024】
具体的には、「学習する」とは、パラメータ、オペレータまたは制御モデル等、反復学習制御装置内に記憶されたデータを繰り返し変更する(更新するまたは最適化する)ことを示し得る。
【0025】
ステップf)は、制御信号のそれぞれの値、実際の軌道信号の対応する値、および目標値信号の対応する値が、変更された制御信号の対応する値を決定するために使用されて、全ての値が同じ時間の事例に関する値である実施形態に限定されないことに留意されたい。
【0026】
むしろ、ステップf)は、全ての信号を使用して操作することが好ましい。即ち、複数の時間の事例の各々について変更された制御信号の各値は、制御信号、実際の軌道信号および目標値信号および/または実際の追従のエラー信号の各々の時系列の全ての時間の事例または時間のある範囲の事例に対応する一部に基づいて決定されてもよい。
【0027】
一実施形態によると、ステップe)は、自動走行装置が操舵される間に、実際の軌道信号を記憶装置内に記録することを含み、少なくともステップf)が、ステップc)で自動走行装置が操舵された後に、実行される。
【0028】
すなわち、反復学習制御装置は、オフラインで用いられてもよく、すなわち、所定の軌道に沿って自動走行装置を操舵する操作が完了した後に用いられて、所定の軌道に沿って自動走行装置を操舵する後続の反復に備えてもよい。
【0029】
時間が重要なオンラインの操作と比較して、反復学習制御装置のオフラインの操作は、反復学習制御装置内でより高度な制御アルゴリズム(より高度なパラメータ、オペレータ、またはより高度で計算集約的な制御モデル)を使用できるという利点を提供し得る。これにより、追従性能をさらに最適化することが可能になる。
【0030】
特に、実際の軌道信号は、実際の軌道が測定される複数の時間の事例のうちの少なくともいくつかのそれぞれについて、位置の値(座標値)が記憶装置(メモリデバイス)内に記憶することで記録されてもよい。
【0031】
記憶装置は、RAM、フラッシュメモリ、ハードディスクドライブまたは同様物等の揮発性または不揮発性メモリでもよい。
【0032】
さらなる実施形態によれば、本方法はさらに、複数の反復に続く反復について、制御信号として、変更された制御信号を使用することを含む。
【0033】
ステップc)からステップf)までの複数の反復に続く反復について、制御信号として、変更された制御信号を繰り返し使用することによって、複数の反復の後に、有利には、追従性能を最大化するために最適な制御信号を決定することができる。
【0034】
「後続の反復(続く反復)」とは、現在の反復の直後に続く次の反復を示すことができ、および/または、現在の反復より後の時点で実行される一つおいて次、または後続の任意のさらなる反復を示すことができる。
【0035】
複数の反復のステップは、部分的に重複可能なことに留意されたい。例えば、ラップ(LAP)レースにおいて、現在の反復の直後に、所定の軌道に沿って車両を操舵する後続の反復の場合、現在の反復の直後の次の反復では、現在の反復で使用されたものと同じ制御信号uを使用してもよく、そして、ステップf)で決定された、変更された制御信号uuが、次の反復で提供されずに、次の反復の後に続く後続の反復(一つおいて次の反復)で提供されてもよい。
【0036】
このようにステップf)とステップc)、d)、e)とを並列化することにより、ラップレースの場合でも高度なモデルを用いたオフラインの反復学習制御を有利に用いることができる。
【0037】
さらなる実施形態によれば、反復学習制御装置は、制御信号から、予測された軌道信号を生成するのに適した制御モデルを含み、そして、ステップf)は、fl)制御信号および実際の軌道信号に基づいて制御モデルを変更するステップと、f2)変更された制御モデルに基づいて制御信号を変更するステップと、を含む。
【0038】
すなわち、変更された出力信号は、制御信号、実際の軌道信号、目標軌道信号、および変更されたモデルに基づいて決定される。
【0039】
換言すると、本実施形態に係る制御方法は、フィードバック制御、モデルベース(model-based)制御、および学習制御(ラーニング・コントロール)の組合せとして説明することができる。この組合せは、追従性能をより最適化できるという点で有利であり得る。
【0040】
特に、ステップfl)では、制御モデルは、制御信号および実際の軌道信号から導出可能な、自動走行装置に関する情報に基づいて変更されてもよい。
【0041】
このように、ステップfl)は、制御モデルが自動走行装置に関する新しい情報を学習する学習ステップとして説明することができ、そして、ステップf2)は、学習した情報を適用する際に、変更された制御信号を決定するために、学習した情報が使用される適用ステップとして説明することができる。
【0042】
さらなる実施形態によれば、ステップfl)は、制御信号から、制御モデルによって生成された、予測された軌道信号と、実際の軌道信号との間の偏差を減少させるように、制御モデルを変更することを含む。
【0043】
それにより、有利には、反復学習制御装置により構成される制御モデルは、実際の軌道信号をより正確に予測するために最適化される。
【0044】
具体的には、ステップfl)は、最適化問題を解くことを含み得る。最適化問題は、上記偏差を減少または最小化する制御モジュールの変更されたパラメータを決定する際に構成されてもよい。最小化とは、局所的な最小化または広域的な最小化でもよい。
【0045】
さらなる実施形態によれば、ステップf2)は、変更された制御信号から、変更された制御モデルによって生成された、予測された軌道信号と、目標軌道信号との間の偏差を減少させるように、制御信号を変更することを含む。
【0046】
これにより、有利には、変更された制御信号を使用して実施される後続の反復の予測された追従のエラー(予測された軌道信号と目標軌道信号との間の偏差)が減少される。したがって、有利には、後続の反復の実際の追従のエラーも同様に減少され得る。
【0047】
具体的には、ステップf2)は、最適化問題を解くことを含み得る。最適化問題は、偏差を減少または最小化する、変更された制御信号を決定することでもよい。最小化は、局所的な最小化または広域的な最小化でもよい。
【0048】
さらなる実施形態によれば、ステップfl)および/またはステップf2)において実施される上記変更は、自動走行装置に課される制約の下で実施される。
【0049】
制約の例としては、最大舵角、最大加速度、および同様物等が挙げられる。この制約は、それぞれの最適化問題を解くときに適用され得る。
【0050】
それにより、有利には、変更された制御信号は、自動走行装置の所望の挙動および/または特性について調整されてもよい。
【0051】
さらなる実施形態によれば、ステップd)は、実際の軌道に関する実際のパラメータを決定することを含む。制御モデルは、さらに、予測された軌道に関する予測されたパラメータを生成するように適合される。ステップfl)は、制御モデルによって生成された、予測されたパラメータと、実際のパラメータとの間の偏差を減少させるように、制御モデルを変更することを含み;および/または、ステップf2)は、所定のパラメータ目標と、制御モデルによって生成された、予測されたパラメータとの間の偏差を減少させるように、制御信号を変更することを含む。それぞれの軌道に関するそれぞれのパラメータは、それぞれの軌道の物理的特性および/または自動走行装置および/またはそれぞれの軌道に追従するときの自動走行装置の挙動を示すパラメータである。
【0052】
従って、「追従性能の最適化」とは、所定の軌道の座標と実際の軌道の位置座標との間の追従のエラーまたは偏差を減少させることだけを単に指すのではない。むしろ、有利には、それぞれの軌道に関する任意の所望のパラメータ間の偏差を減少できる。所望のパラメータは、追従のエラー、燃料消費量、車両の一部の摩耗、総走行時間および同様物等のうちの1つでもよい。
【0053】
ステップf)が、最適化問題を解くことを含む実施形態では、可能な限り減少されることが望ましい偏差が、最適化問題の目的関数として設定されてもよく、一方、所定の最大限界を超えないことが望ましい偏差が、最適化問題を解くときの制約として設定されてもよいことに留意されたい。例えば、燃料消費量を目的関数として使用してもよく、かつ燃料消費量を最適化するための制約として、追従のエラーを使用してもよい。あるいは、燃費消費量を制約として使用してもよく、かつ追従の精度(正確さ)を最適化するための目的関数として、追従のエラーを使用してもよい。
【0054】
さらなる実施形態によれば、予測された軌道に関する予測されたパラメータおよび実際の軌道に関する実際のパラメータはそれぞれ、それぞれの軌道を追従する際に自動走行装置によって消費される燃料の量と、それぞれの軌道を追従するために自動走行装置が要する時間の少なくとも1つを示す。
【0055】
特に、それぞれのパラメータは、それぞれの軌道の所定の部分、例えば、その開始点からその終点までを追従するときに要する時間または燃料(量)を示すことができる。
【0056】
さらなる実施形態によれば、ステップfl)および/またはステップf2)では、制御モデルおよび/または制御信号は、複数の反復中に変更される。
【0057】
すなわち、ステップfl)および/またはステップf2)で解かれる最適化問題は、非解析的問題であり得る。非解析的最適化問題を解くことは、最適化問題を反復的に解くことを含み得る。反復的に解くことは、最急降下法および同様物等の使用を含み得る。反復は、それぞれの偏差が所定の閾値を下回るまで繰り返されてもよく、および/またはそれぞれの偏差が、連続する反復の間の所定の閾値よりも小さく変化するまで行われてもよく、および/または最急勾配が所定の閾値を下回るまで行われてもよい。換言すれば、広域的または局所的な最小化で収束が達成されるまで、反復を繰り返すことができる。
【0058】
従って、有利には、追従性能をさらに改善するために、解析的に解くことができず、かつ反復解法を必要とすることがある、高度な制御モデルが使用されてもよい。
【0059】
さらなる実施形態によれば、自動走行装置は、自動走行車両(自動車)である。
【0060】
ここで、「自動」とは、完全に自動化された車両、半自動化された車両、または運転補助機能が備えられた従来型の車両を示し得る。
【0061】
自動走行車両は、電気自動車、ハイブリッド自動車、内燃機関自動車および同様物等の自動車(車両)でもよい。
【0062】
本実施形態に係る制御方法は、同一の所定の軌道に沿って車両が操舵されるときは常に有利に実施されてもよい。例えば、車両には、ステップa)において、自動化された、駐車場またはレース場により、目標軌道信号が提供されてもよい。目標軌道信号に応答して、人間またはPID制御装置が、ステップb)において、目標軌道に沿って車両を操舵するための制御信号を生成してもよい。次いで、車両は、制御信号に従って目標軌道に沿って操舵されてもよく、その実際の軌道が、ステップc)、d)およびe)において記録される。その後、追従性能を向上させるために、ステップf)が実行されてもよい。次に、同一の目標軌道が車両に与えられた場合、その車両は、ステップc)〜e)を繰り返して、向上された追従性能で、目標軌道に沿って車両を自動的に操舵し、そして、追従性能をさらに向上させるためにステップf)が実施されてもよい。従って、経時的に、反復学習制御を用いて、所定の軌道に沿って車両を操舵するために要する時間および/または燃料消費量を最適化(減少)することができる。
【0063】
さらなる実施形態によれば、自動走行装置は、設計下の車両をシミュレートするように構成されたシミュレータ装置である。
【0064】
設計下の車両は、自動走行車両または従来型の車両でもよく、後者の場合、「自動走行装置」における「自動」とは、人間の介入なしに、シミュレータ装置(必ずしも最終的な車両である必要はない)が、自動的に操作され得ることを示し得る。
【0065】
シミュレータ装置は、ソフトウェアおよび/またはハードウエアによって実施することができる。特に、シミュレータ装置は、「Siemens Imagine. Lab Amesim」等のシミュレーション・ソフトウェアを用いて作成された、高性能の車両動的モデルでもよい。.
【0066】
エンジニア(技術者)は、本提案の制御方法を使用して、所定の軌道に沿ってシミュレートされた車両の操舵を繰り返しシミュレートして、上記操舵用に最適な制御入力を決定してもよい。これにより、エンジニアは、車両の動的モデルの最適性能を評価することができる。次に、エンジニアは、所望の特性を備えたモデルが得られるまで、シミュレータ装置を変えて(設計下の車両のモデルを変えて)、このプロセスを繰り返してもよい。
【0067】
従って、本提案の方法は、初期段階の車両開発の補助として、有利に使用され得る。
【0068】
さらなる実施形態によれば、ステップb)は、自動走行装置を手動および/または自動で操舵することで得られる制御入力から制御信号を生成することを含む。
【0069】
制御入力は、例えば、操舵角と加速度でもよい。
【0070】
「手動操舵」とは、人間の運転手による操舵を示し得る。
【0071】
「自律操舵」とは、ステップb)を参照する場合、比例積分微分(PID)制御、状態空間制御、フィードバック制御またはモデル予測制御(MPC)等の自動走行制御法(自動運転制御法)を用いた操舵を示し得る。
【0072】
第1の態様に係る任意の実施形態を、第1の態様に係る任意の実施形態と組み合わせることで、第1の態様に係る別の実施形態を得ることができる。
【0073】
本発明に係る第2の態様は、少なくとも1つのコンピュータ上で用いられる場合に、自動走行装置を制御するための、上記方法を実施するためのプログラム・コードを含む、コンピュータ・プログラム製品に関する。
【0074】
コンピュータ・プログラム手段等のコンピュータ・プログラム製品は、メモリ・カード、USBスティック、CD−ROM、DVD、またはネットワーク内のサーバからダウンロード可能なファイルとして実装できる。例えば、このようなファイルは、無線通信ネットワークから、コンピュータ・プログラム製品を含むファイルを転送することで提供されてもよい。
【0075】
本発明に係る第3の態様は、同一の所定の軌道を繰り返し追従するように自動走行装置を制御するシステムであって、
a)所定の軌道を示す目標軌道信号を受信するように構成された第1の装置と、
b)所定の軌道に沿って自動走行装置を操舵するのに適する制御信号を生成するように構成された第2の装置と、
複数の反復の少なくとも1つについて、
c)自動走行装置に対して制御信号を供給することによって所定の軌道に沿って自動走行装置を操縦することと、
d)制御信号に従って自動走行装置が操舵されることに応答して、自動走行装置によって追従される実際の軌道を測定することと、
e)測定された実際の軌道を示す実際の軌道信号を記録することと、
について構成された前記第3の装置(30)と、
f)複数の反復の少なくとも1つについて、反復学習制御を使用して、少なくとも制御信号と、実際の軌道信号と、目標軌道信号とに基づいて、更新された制御信号を決定するように構成された、第4の装置(40)と、
【0076】
第1の態様の方法を参照して説明した実施形態および特徴は、さらなる態様のシステムについて準用できる。第3の態様のシステムは、第1の態様の方法または第1の態様の実施形態の任意の方法を実行するために実装されてもよい。
【0077】
それぞれの装置、例えば、第1の装置、第2の装置、第3の装置および/または第4の装置は、ハードウェアおよび/またはソフトウェアで実施することができる。上記装置がハードウェアとして実施される場合、例えば、コンピュータとして、またはプロセッサとして、あるいはシステムの一部として、例えば、コンピュータシステムの一部としてとして実施されてもよい。上記装置がソフトウェアとして実施される場合、コンピュータ・プログラム製品として、機能(ファンクション)として、ルーチンとして、プログラム・コードとして、または実行可能オブジェクトとして実施されてもよい。
【0078】
本発明のさらなる可能な実装または代替の解決策は、実施形態に関して上述または後述される特徴の(本明細書では必ずしも明示的に言及されない)組合せを包含する。当業者であれば、本発明の最も基本的な形態に対して、個々のまたは別個の態様または特徴を追加できるであろう。
【0079】
本発明のさらなる実施形態、特徴および利点は、添付の図面を参照して、本発明に係る詳細な説明と特許請求の範囲の記載から明らかになる。
なお、図中、特定されない限り、同一の参照番号は、同一の構成要素または機能的に同等の構成要素を示している。