JP2024079920A - Optimal computing device - Google Patents
Optimal computing device Download PDFInfo
- Publication number
- JP2024079920A JP2024079920A JP2022192610A JP2022192610A JP2024079920A JP 2024079920 A JP2024079920 A JP 2024079920A JP 2022192610 A JP2022192610 A JP 2022192610A JP 2022192610 A JP2022192610 A JP 2022192610A JP 2024079920 A JP2024079920 A JP 2024079920A
- Authority
- JP
- Japan
- Prior art keywords
- value
- calculation cycle
- state
- input
- variables
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 claims abstract description 198
- 238000005457 optimization Methods 0.000 claims abstract description 48
- 230000001133 acceleration Effects 0.000 claims description 21
- 238000011156 evaluation Methods 0.000 claims description 20
- 230000036461 convulsion Effects 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 4
- 230000007613 environmental effect Effects 0.000 abstract description 16
- 101100027969 Caenorhabditis elegans old-1 gene Proteins 0.000 description 25
- 238000000034 method Methods 0.000 description 23
- 238000012545 processing Methods 0.000 description 23
- 230000006870 function Effects 0.000 description 20
- 238000001514 detection method Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 12
- 230000008859 change Effects 0.000 description 8
- 230000006399 behavior Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000003247 decreasing effect Effects 0.000 description 5
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 238000012806 monitoring device Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000002485 combustion reaction Methods 0.000 description 3
- 230000007423 decrease Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005484 gravity Effects 0.000 description 3
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000087 stabilizing effect Effects 0.000 description 1
Images
Landscapes
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
Abstract
【課題】状態変数、入力変数、及び環境条件の変化が大きい場合でも、入力変数の初期値を、最終的に演算される入力変数の最適値に近づけて設定することができる最適演算装置を提供する。【解決手段】前々回の演算周期の入力変数の最適値と前回の演算周期の入力変数の最適値との差分値と、前回の演算周期の入力変数の前記最適値とに基づいて、今回の演算周期の入力変数の初期値を設定し、演算周期毎に、最適化問題を解くように、入力変数を初期値から繰り返し演算により更新し、予測期間の各時点の状態変数及び入力変数の最適値を演算する最適演算装置。【選択図】図1[Problem] To provide an optimization calculation device that can set the initial values of input variables close to the optimal values of the input variables that are finally calculated, even when there are large changes in state variables, input variables, and environmental conditions. [Solution] An optimization calculation device that sets initial values of input variables for a current calculation cycle based on the difference between the optimal value of the input variable for the calculation cycle before last and the optimal value of the input variable for the previous calculation cycle, and the optimal value of the input variable for the previous calculation cycle, updates the input variables from their initial values by repeated calculations for each calculation cycle so as to solve an optimization problem, and calculates optimal values of state variables and input variables at each point in time during a prediction period. [Selected Figure] Figure 1
Description
本願は、最適演算装置に関するものである。 This application relates to an optimal computing device.
特許文献1の技術では、自車両の状態の変化、及び周辺の状態の変化に応じて、最適制御問題を解く際の初期値、及び予測期間を設定している。
The technology in
しかし、特許文献1の技術では、自車両の状態の変化、及び周辺の状態の変化が大きい場合に、乱数を用いて初期値を設定しているので、初期値が、最終的に演算される最適値から離れ、最適化問題を解く処理負荷が増加する。また、最適化問題を解く際の初期値を用いた初期の演算において、初期値の変動が大きいと、状態変数が、制約条件に制約される場合がある。初期の演算において、制約条件により制約されると、最適化問題を解く処理負荷が増加する。
However, in the technology of
そこで、本願は、状態変数、入力変数、及び環境条件の変化が大きい場合でも、入力変数の初期値を、最終的に演算される入力変数の最適値に近づけて設定することができる最適演算装置を提供することを目的とする。 The present application aims to provide an optimal calculation device that can set the initial values of input variables close to the optimal values of the input variables that are ultimately calculated, even when there are large changes in state variables, input variables, and environmental conditions.
本願に係る最適演算装置は、
予測期間の各時点の入力変数の初期値を設定する初期値設定部と、
演算周期毎に、前記入力変数を入力として状態変数を演算する状態方程式を用い、前記入力変数及び前記状態変数を評価する評価関数、及び前記入力変数又は前記状態変数を制約する1つ以上の制約条件を有する最適化問題を解くように、前記入力変数を前記初期値から繰り返し演算により更新し、前記予測期間の各時点の前記状態変数及び前記入力変数の最適値を演算する最適値演算部と、を備え、
前記初期値設定部は、前々回の前記演算周期の前記入力変数の前記最適値と前回の前記演算周期の前記入力変数の前記最適値との差分値と、前回の前記演算周期の前記入力変数の前記最適値とに基づいて、今回の前記演算周期の前記入力変数の前記初期値を設定するものである。
The optimization device according to the present application is
an initial value setting unit that sets initial values of input variables at each point in the prediction period;
an optimal value calculation unit that updates the input variables by repeated calculations from the initial values so as to solve an optimization problem having an evaluation function for evaluating the input variables and the state variables, and one or more constraint conditions for constraining the input variables or the state variables, for each calculation cycle, using a state equation that calculates state variables using the input variables as inputs, and calculates optimal values of the state variables and the input variables at each point in time of the prediction period,
The initial value setting unit sets the initial value of the input variable for the current calculation cycle based on a difference value between the optimal value of the input variable for the calculation cycle before last and the optimal value of the input variable for the previous calculation cycle, and the optimal value of the input variable for the previous calculation cycle.
本願に係る最適演算装置によれば、前々回の演算周期の最適値と前回の演算周期の最適値との差分値と、前回の演算周期の最適値とに基づいて、今回の演算周期の初期値を設定することにより、演算周期の間に変化した、状態変数、入力変数、及び環境条件の変化量の影響を考慮して、今回の演算周期の初期値を設定することができる。特に、状態変数、入力変数、及び環境条件が急速に変化している場合に、入力変数の初期値を、最終的に演算される入力変数の最適値に近づけて設定することができる。また、入力変数の初期値が適切に設定されるので、初期の演算において、不必要に制約条件に制約されないようにできる。よって、最適化問題を解く演算処理負荷を低減することができる。 According to the optimization calculation device of the present application, the initial value for the current calculation cycle is set based on the difference between the optimal value for the calculation cycle before the last one and the optimal value for the previous calculation cycle, and on the optimal value for the previous calculation cycle. This makes it possible to set the initial value for the current calculation cycle taking into consideration the influence of the amount of change in the state variables, input variables, and environmental conditions that have changed during the calculation cycle. In particular, when the state variables, input variables, and environmental conditions are changing rapidly, the initial values of the input variables can be set close to the optimal values of the input variables that are ultimately calculated. In addition, because the initial values of the input variables are set appropriately, it is possible to prevent the initial calculation from being unnecessarily restricted by the constraint conditions. This makes it possible to reduce the calculation processing load for solving the optimization problem.
1.実施の形態1
実施の形態1に係る最適演算装置について図面を参照して説明する。本実施の形態では、最適演算装置は、自車両に搭載されており、自車両の制御の最適演算を行う。最適演算装置は、車両制御装置50に組み込まれている。車両システム1及び車両制御装置50は、自車両に搭載されている。
1. First embodiment
An optimization calculation device according to a first embodiment will be described with reference to the drawings. In this embodiment, the optimization calculation device is mounted on a vehicle and performs optimization calculation for controlling the vehicle. The optimization calculation device is incorporated in a
図1に示すように、車両システム1は、車両状態検出装置31、周辺監視装置32、位置検出装置33、地図情報データベース34、無線通信装置35、車両制御装置50、駆動制御装置36、動力機8、及び電動操舵装置7等を備えている。
As shown in FIG. 1, the
車両状態検出装置31は、自車両の走行状態を検出する検出装置である。自車両の走行状態として、自車両の車両速度V、加速度α、自車両のロール角速度、ピッチ角速度、及びヨー角速度γが検出される。例えば、車両状態検出装置31として、自車両に働くロール角速度、ピッチ角速度、及びヨー角速度を検出する3軸の角速度センサ、加速度センサ、及び車輪の回転速度を検出する速度センサが設けられる。なお、自車両の速度は、加速度を積分するなど、他の方法により検出されてもよい。
The vehicle
周辺監視装置32は、車両の周辺を監視するカメラ、レーダ等の装置である。レーダには、ミリ波レーダ、レーザレーダ、超音波レーダ等が用いられる。無線通信装置35は、4G、5G等のセルラー方式の無線通信の規格を用いて、基地局と無線通信を行う。
The
位置検出装置33は、自車両の現在位置(緯度、経度、高度)を検出する装置であり、GNSS(Global Navigation Satellite System)等の人工衛星から出力される信号を受信するGPSアンテナ等が用いられる。なお、自車両の現在位置の検出には、自車両の走行車線番号を用いた方法、マップマッチング法、デッドレコニング法、自車両の周辺の検出情報を用いた方法等の各種の方法が用いられてもよい。
The
地図情報データベース34には、道路形状(例えば、道路位置、車線数、各車線の形状、道路種別、制限速度等)、標識、信号等の道路情報が記憶されている。地図情報データベース34は、記憶装置を主体として構成されている。なお、地図情報データベース34は、ネットワーク網に接続された車外のサーバに設けられてもよく、車両制御装置50は、必要な道路情報を、無線通信装置35を介して車外のサーバから取得してもよい。
The
駆動制御装置36として、動力制御装置、ブレーキ制御装置、自動操舵制御装置、及びライト制御装置等が備えられている。動力制御装置は、内燃機関、モータ等の動力機8の出力を制御する。ブレーキ制御装置は、電動ブレーキ装置のブレーキ動作を制御する。自動操舵制御装置は、電動操舵装置7を制御する。ライト制御装置は、方向指示器、ハザードランプ等を制御する。
The
1-1.車両制御装置50
車両制御装置50は、周辺状況取得部51、走行状態取得部52、目標走行状態設定部53、初期値設定部54、最適値演算部55、及び車両制御部56等の機能部を備えている。車両制御装置50の各機能は、車両制御装置50が備えた処理回路により実現される。具体的には、図2に示すように、車両制御装置50は、CPU(Central Processing Unit)等の演算処理装置90、記憶装置91、演算処理装置90に外部の信号を入出力する入出力装置92等を備えている。
1-1.
The
演算処理装置90として、ASIC(Application Specific Integrated Circuit)、IC(Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)、GPU(Graphics Processing Unit)、AI(Artificial Intelligence)チップ、各種の論理回路、及び各種の信号処理回路等が備えられてもよい。また、演算処理装置90として、同じ種類のもの又は異なる種類のものが複数備えられ、各処理が分担して実行されてもよい。記憶装置91として、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、ハードディスク、DVD装置等の各種の記憶装置が用いられる。
The
入出力装置92には、通信装置、A/D変換器、入出力ポート、駆動回路等が備えられる。入出力装置92は、車両状態検出装置31、周辺監視装置32、位置検出装置33、地図情報データベース34、無線通信装置35、及び駆動制御装置36等に接続され、これらの装置と通信を行う。
The input/
そして、車両制御装置50が備える各機能部51から56等の各機能は、演算処理装置90が、記憶装置91に記憶されたソフトウェア(プログラム)を実行し、記憶装置91及び入出力装置92等の車両制御装置50の他のハードウェアと協働することにより実現される。なお、各機能部51から56等が用いる制約条件等の設定データは、ソフトウェア(プログラム)の一部として、EEPROM等の記憶装置91に記憶されている。
The functions of the
或いは、車両制御装置50は、処理回路として、図3に示すように、専用のハードウェア93、例えば、単一回路、複合回路、プログラム化されたプロセッサ、並列プログラム化されたプロセッサ、ASIC、FPGA、GPU、AIチップ、又はこれらを組み合わせた回路等が備えられてもよい。以下、車両制御装置50の各機能について詳細に説明する。
Alternatively, the
1-1-1.周辺状況取得部51
周辺状況取得部51は、自車両の周辺状況を取得する。例えば、周辺状況取得部51は、自車両の周囲に存在する他車両等を検知する。周辺状況取得部51は、周辺監視装置32から取得した検知情報、及び位置検出装置33から取得した自車両の位置情報に基づいて、他車両の位置、移動方向、移動速度などを検知する。また、周辺状況取得部51は、他車両以外にも、道路区画線等の車線形状、障害物、歩行者、標識なども検知する。
Surrounding
The surrounding
1-1-2.走行状態取得部52
走行状態取得部52は、自車両の走行状態を取得する。走行状態取得部52は、車両状態検出装置31から、自車両の走行状態として、自車両の車両速度V、加速度α、自車両のロール角速度、ピッチ角速度、及びヨー角速度γを取得する。また、走行状態取得部52は、位置検出装置33から取得した自車両の位置情報に基づいて、自車両の位置、移動方向などを取得する。また、走行状態取得部52は、周辺状況取得部51から取得した車線の形状に基づいて、車線に対する自車両の走行位置の情報を取得する。また、走行状態取得部52は、車両制御部56から操舵角δ、内燃機関等の動力機の出力、及びブレーキの動作状態などの運転操作状態を取得する。
1-1-2. Traveling
The running
1-1-3.目標走行状態設定部53
目標走行状態設定部53は、自車両の目標走行状態を設定する。目標走行状態設定部53は、周辺状況取得部51により検知された自車両の周辺の他車両、道路形状、障害物、及び歩行者等の状態に合わせた、目標走行状態を演算する。本実施の形態では、目標走行状態は、目標走行軌道であり、将来の各時点における自車両の位置、自車両の進行方向、及び自車両の速度等の時系列の走行計画である。目標走行軌道の演算には、公知の各種の方法が用いられる。
1-1-3. Target driving
The target driving
1-1-4.車両制御部56
車両制御部56は、後述する最適値演算部55により設定された車両制御量の目標値に基づいて、自車両を制御する。本実施の形態では、車両制御量の目標値は、各時点の操舵角δの目標値、各時点の加速度αの目標値である。
1-1-4.
The
車両制御部56は、各時点の操舵角δの目標値、及び各時点の加速度αに基づいて、動力制御装置への指令値、ブレーキ制御装置への指令値、自動操舵制御装置への指令値を算出し、各装置に伝達する。
The
動力制御装置は、指令値に従って、内燃機関、モータ等の動力機の出力を制御する。ブレーキ制御装置は、指令値に従って、電動ブレーキ装置のブレーキ動作を制御する。自動操舵制御装置は、指令値に従って、電動操舵装置を制御する。 The power control device controls the output of a power source such as an internal combustion engine or a motor according to a command value. The brake control device controls the braking operation of an electric brake device according to a command value. The automatic steering control device controls an electric steering device according to a command value.
1-1-5.初期値設定部54及び最適値演算部55
初期値設定部54は、予測期間の各時点kの入力変数u(k)の初期値u0(k)を設定する。最適値演算部55は、演算周期毎に、入力変数uを入力として状態変数xを演算する状態方程式を用い、入力変数u及び状態変数xを評価する評価関数、及び入力変数u又は状態変数xを制約する1つ以上の制約条件を有する最適化問題を解くように、入力変数uを初期値u0から繰り返し演算により更新し、予測期間の各時点kの入力変数の最適値u*(k)を演算する。
1-1-5. Initial
The initial
<状態変数の状態方程式>
次式に示すように、状態変数xの状態方程式は、各時点kの状態変数の時間微分dx/dt(k)が、各時点kの状態変数x(k)及び入力変数u(k)を入力とする関数fで表される。状態変数が複数の場合は、xはベクトルになり、入力変数が複数の場合は、uはベクトルになる。ここで、kは、予測期間の各時点を表し、k=0が、現在であり、k=Nが予測期間の終点であり、ホライズンと呼ばれる。
As shown in the following equation, the state equation of the state variable x is expressed by a function f in which the time differential dx/dt(k) of the state variable at each time point k is expressed as a function f with the state variable x(k) at each time point k and the input variable u(k) as input. When there are multiple state variables, x becomes a vector, and when there are multiple input variables, u becomes a vector. Here, k represents each time point in the prediction period, k=0 is the present, and k=N is the end point of the prediction period, which is called the horizon.
次式に示すように、次の時点の状態変数x(k+1)は、現時点の状態変数x(k)に、現時点の状態変数の時間微分dx(k)/dtに予測期間の時点間の時間間隔ΔTを乗算した値を加算して算出される。
k=0の状態変数x(0)は、検出された現在の状態変数に設定される。予測期間の各時点k(k=0、・・・、N)の入力変数u(k)は、初期値又は前回の繰り返し演算の更新値になる。時点kを0からNまで1つずつ増加させながら、今回の時点kの入力変数u(k)及び状態変数x(k)に基づいて、式(1)及び式(2)を用い、次の時点k+1の状態変数x(k+1)が順番に演算される。 The state variable x(0) at k=0 is set to the detected current state variable. The input variable u(k) at each point k (k=0, ..., N) in the prediction period becomes the initial value or the updated value of the previous repeated calculation. As the point k is increased by one from 0 to N, the state variable x(k+1) at the next point k+1 is calculated in sequence based on the input variable u(k) and state variable x(k) at the current point k using equations (1) and (2).
<最適化問題>
次式のような、一般的な最適化問題を考える。
Consider the general optimization problem:
ここで、Jは、状態変数x(k)及び入力変数u(k)を評価する評価関数である。本実施の形態では、評価関数Jは2次式とされている。gは、状態変数x(k)及び入力変数u(k)を制約する制約条件であり、設定された数Dの制約条件が存在する。 Here, J is an evaluation function that evaluates the state variable x(k) and the input variable u(k). In this embodiment, the evaluation function J is a quadratic expression. g is a constraint that constrains the state variable x(k) and the input variable u(k), and there are a set number D of constraints.
式(3)の一般的な最適化問題をそのまま解いてもよいが、本実施の形態では、次式に示すように、最適化問題は、評価関数Jの勾配∇J、及び1つ以上の制約条件gの勾配∇gをラグランジュ乗数λで線形結合した、最適値が満たすべき最適条件であるカルーシュ・クーン・タッカー条件(KKT条件:Karush-Kuhn-Tucker condition)を有する。
ここで、∇は、動作点で偏微分を行い、勾配を計算する演算子である。x*は、状態変数の最適値であり、u*は、入力変数の最適値である。λiは、各制約条件giの勾配を、評価関数Jの勾配に線形結合するラグランジュ乗数である。状態変数x及び入力変数uが最適値であれば、式(4)から式(7)の全ての式を満たす、各ラグランジュ乗数λiの値が存在する。KKT条件を満たす最適値を演算する有効制約法などの公知の手法が用いられる。 Here, ∇ is an operator that performs partial differentiation at the operating point and calculates the gradient. x* is the optimal value of the state variable, and u* is the optimal value of the input variable. λi is a Lagrange multiplier that linearly combines the gradient of each constraint condition gi with the gradient of the evaluation function J. If the state variable x and the input variable u are at their optimal values, there exists a value for each Lagrange multiplier λi that satisfies all of equations (4) to (7). A well-known method such as the active constraint method is used to calculate optimal values that satisfy the KKT condition.
<演算処理負荷の低減の課題>
有効制約法では、式(4)から式(6)が満たされる状態変数x*及び入力変数u*を繰り返し演算し、式(7)が満たされた時点で演算を終了し、式(7)が満たされたときの状態変数x*及び入力変数u*を最終的な最適値として算出する。
<Challenges for reducing the computational load>
In the active constraint method, the state variable x* and the input variable u* that satisfy equations (4) to (6) are repeatedly calculated, and the calculation is terminated when equation (7) is satisfied. The state variable x* and the input variable u* when equation (7) is satisfied are calculated as the final optimal values.
具体的には、図4に示すように、ステップS31で、各制約条件gの有効/無効の初期設定が行われる。詳細は後述するが、各時点kの入力変数の初期値u0(k)に基づいて、各時点kの状態変数の初期値x0(k)を演算し、各時点kの入力変数の初期値u0(k)及び状態変数の初期値x0(k)の状態で、各制約条件gの式(5)が満たされているか否かを判定する。そして、満たされている制約条件gをKKT条件から削除(無効)し、満たされていない制約条件gをKKT条件に追加(有効)する。 Specifically, as shown in FIG. 4, in step S31, the valid/invalid status of each constraint condition g is initially set. Details will be described later, but the initial value x0(k) of the state variable at each time point k is calculated based on the initial value u0(k) of the input variable at each time point k, and it is determined whether or not equation (5) of each constraint condition g is satisfied in the state of the initial value u0(k) of the input variable and the initial value x0(k) of the state variable at each time point k. Then, the satisfied constraint condition g is deleted (invalidated) from the KKT condition, and the unsatisfied constraint condition g is added (enabled) to the KKT condition.
そして、ステップS32で、ステップS31又はステップS35で設定された現在の各制約条件gの有効/無効の設定状態で、式(4)から式(6)が満たされる状態変数の最適値x*、入力変数の最適値u*、及びラグランジュ乗数λを演算する。なお、無効な制約条件gの式(5)は、この段階では満たされなくてもよい。 Then, in step S32, the optimal value x* of the state variable, the optimal value u* of the input variable, and the Lagrange multiplier λ that satisfy equations (4) to (6) are calculated in the current valid/invalid setting state of each constraint condition g set in step S31 or step S35. Note that equation (5) of an invalid constraint condition g does not have to be satisfied at this stage.
ステップS33で、ステップS32の演算状態において、λが負になっている制約条件gが存在しておらず、且つ、全ての制約条件gの式(5)が満たされている場合は、式(4)から式(7)の全ての式(KKT条件)が満たされているので、最適値が演算されたと判定し、ステップS34に進み、それ以外の場合は、ステップS35に進む。 In step S33, if there is no constraint condition g in which λ is negative in the calculation state of step S32 and equation (5) for all constraint conditions g is satisfied, it is determined that the optimal value has been calculated because all equations (4) to (7) (KKT conditions) are satisfied, and the process proceeds to step S34; otherwise, the process proceeds to step S35.
ステップS34で、ステップS32で演算された状態変数の最適値x*及び入力変数の最適値u*を、最終的な最適値として設定し、最適値演算処理を終了する。 In step S34, the optimal value x* of the state variable and the optimal value u* of the input variable calculated in step S32 are set as the final optimal values, and the optimal value calculation process is terminated.
一方、ステップS35で、ステップS32の演算状態において、λが負になっている制約条件gは、最適値を制約しておらず、無効な制約条件gであると判定する。その無効な制約条件gをKKT条件から削除する。一方、無効な制約条件gの式(5)が満たされていない場合は、λを0に設定し、その制約条件gをKKT条件に再び追加する。この制約条件gの増減により、解くべき問題が変化するため、制約条件gは、一つだけ増加又は減少される。このように、各制約条件gの有効/無効の再設定を行った後、ステップS32に戻り、再び、状態変数x*及び入力変数u*の演算が行われる。この制約条件の追加/削除に伴う繰り返し演算は、ステップS33で、式(4)から式(7)のKKT条件が満たされるまで繰り返し行われる。 On the other hand, in step S35, it is determined that the constraint condition g in which λ is negative in the calculation state of step S32 does not constrain the optimal value and is an invalid constraint condition g. The invalid constraint condition g is deleted from the KKT condition. On the other hand, if the formula (5) of the invalid constraint condition g is not satisfied, λ is set to 0 and the constraint condition g is added back to the KKT condition. Since the problem to be solved changes depending on the increase or decrease of this constraint condition g, the constraint condition g is increased or decreased by one. After resetting the validity/invalidity of each constraint condition g in this way, the process returns to step S32 and the calculation of the state variable x* and the input variable u* is performed again. The repeated calculations associated with the addition/deletion of this constraint condition are repeated in step S33 until the KKT conditions of formulas (4) to (7) are satisfied.
初期に設定される有効な制約条件gの数と、最終的に残った、有効な制約条件gの数との差が小さいほど、最適値の演算回数を低減でき、演算処理負荷を低減できる。 The smaller the difference between the number of initially set valid constraint conditions g and the number of valid constraint conditions g that remain at the end, the more the number of times the optimal value is calculated can be reduced, and the more the calculation processing load can be reduced.
<初期値の設定>
初期値設定部54は、予測期間の各時点kの入力変数の初期値u0(k)を設定する。
<Initial value settings>
The initial
今回の演算周期では、前回の演算周期から、状態変数及び入力変数が変化しており、また、状態変数及び入力変数に影響する環境条件が変化している。そのため、単に、前回の演算周期の入力変数の最適値u*old1を、今回の演算周期の入力変数の初期値u0に設定するだけでは、演算周期の間に変化した状態変数、入力変数、及び環境条件の変化量の影響が反映されない。或いは、前回の演算周期の入力変数の最適値u*old1を、絶対的な時間のずれを補正して、今回の演算周期の入力変数の初期値u0に設定するだけでは、環境条件の変化による、状態変数及び入力変数の変化量の影響が反映されない。特に、状態変数、入力変数、及び環境条件が急速に変化している場合は、適切な入力変数の初期値u0を設定することができず、最適化問題を解く演算処理負荷が増加する。また、各制約条件gの有効/無効の初期設定の設定精度が悪化し、制約条件の追加/削除に伴う繰り返し演算の回数が増加し、最適化問題を解く演算処理負荷が増加する。その結果、次回の演算周期までに、最適値の演算が終了せずに、制御挙動が不安定になったり、演算周期の間隔を長く設定し、制御のリアルタイム性が悪化したり、高性能で高コストな演算処理装置が必要になったりする。 In the current calculation cycle, the state variables and input variables have changed since the previous calculation cycle, and the environmental conditions that affect the state variables and input variables have also changed. Therefore, simply setting the optimal value u*old1 of the input variable in the previous calculation cycle to the initial value u0 of the input variable in the current calculation cycle does not reflect the influence of the amount of change in the state variables, input variables, and environmental conditions that have changed during the calculation cycle. Alternatively, simply setting the optimal value u*old1 of the input variable in the previous calculation cycle to the initial value u0 of the input variable in the current calculation cycle after correcting the absolute time lag does not reflect the influence of the amount of change in the state variables and input variables due to changes in environmental conditions. In particular, when the state variables, input variables, and environmental conditions are changing rapidly, it is not possible to set an appropriate initial value u0 of the input variables, and the calculation processing load for solving the optimization problem increases. In addition, the setting accuracy of the initial settings of the validity/invalidity of each constraint condition g deteriorates, the number of repeated calculations associated with the addition/deletion of constraint conditions increases, and the calculation processing load for solving the optimization problem increases. As a result, the calculation of the optimal value may not be completed by the time of the next calculation cycle, causing the control behavior to become unstable, or the calculation cycle interval may be set to a long value, deteriorating the real-time nature of the control, or requiring a high-performance, high-cost calculation processing device.
そこで、初期値設定部54は、前々回の演算周期の入力変数の最適値u*old2と前回の演算周期の入力変数の最適値u*old1との差分値Δu*old12と、前回の演算周期の入力変数の最適値u*old1とに基づいて、今回の演算周期の入力変数の初期値u0を設定する。
Therefore, the initial
この構成によれば、前々回の演算周期の最適値と前回の演算周期の最適値との差分値Δu*old12と、前回の演算周期の最適値u*old1とに基づいて、今回の演算周期の初期値u0を設定することにより、演算周期の間に変化した状態変数、入力変数、及び環境条件の変化量の影響を考慮して、今回の演算周期の初期値u0を設定することができる。特に、状態変数、入力変数、及び環境条件が急速に変化している場合に、入力変数の初期値u0を、最終的に演算される入力変数の最適値u*に近づけて設定することができる。また、入力変数の初期値u0が適切に設定されるので、初期の演算において、不必要に制約条件に制約されないようにできる。具体的には、各制約条件gの有効/無効の初期設定の設定精度が良くなり、制約条件の追加/削除に伴う繰り返し演算の回数が減少する。よって、最適化問題を解く演算処理負荷を低減することができる。その結果、次回の演算周期までに、最適値の演算を終了させることができ、制御挙動を安定化させることができたり、演算周期の間隔を短く設定し、制御のリアルタイム性が良くできたり、低コストな演算処理装置を用いることができたりする。 According to this configuration, the initial value u0 of the current calculation cycle is set based on the difference value Δu*old12 between the optimal value of the calculation cycle before the last one and the optimal value of the previous calculation cycle, and the optimal value u*old1 of the previous calculation cycle, so that the initial value u0 of the current calculation cycle can be set taking into account the influence of the change amount of the state variables, input variables, and environmental conditions that have changed during the calculation cycle. In particular, when the state variables, input variables, and environmental conditions are changing rapidly, the initial value u0 of the input variables can be set close to the optimal value u* of the input variables that are finally calculated. In addition, since the initial value u0 of the input variables is appropriately set, it is possible to prevent the initial calculation from being unnecessarily restricted by the constraint conditions. Specifically, the setting accuracy of the initial setting of the validity/invalidity of each constraint condition g is improved, and the number of repeated calculations associated with the addition/deletion of constraint conditions is reduced. Therefore, the calculation processing load for solving the optimization problem can be reduced. As a result, it is possible to complete the calculation of the optimal value by the time of the next calculation cycle, stabilizing the control behavior, setting a short calculation cycle interval, improving the real-time nature of the control, and using a low-cost calculation processing device.
初期値設定部54は、予測期間の各時点kについて、前々回の演算周期の入力変数の最適値u*old2(k)と前回の演算周期の入力変数の最適値u*old1(k)との差分値Δu*old12(k)と、前回の演算周期の入力変数の最適値u*old1(k)とに基づいて、今回の演算周期の入力変数の初期値u0(k)を設定する。ここで、前々回の演算周期の時点kと、前回の演算周期の時点kと、今回の演算周期の時点kとの間では、絶対的な時間は、演算周期ずつずれているが、絶対的な時間が互いにずれた、予測期間における同じ時点kの前々回及び前回の演算周期の入力変数の最適値を用いて、同じ時点kの今回の演算周期の入力変数の初期値が演算される。
The initial
この構成によれば、各時点kについて、前々回と前回の最適値の差分値と、前回の最適値とに基づいて、今回の最適値を設定する簡単な処理により、演算周期の間に変化した状態変数、入力変数、及び環境条件の変化量の影響を考慮して、今回の演算周期の各時点kの初期値u0(k)を設定することができる。また、前々回、前回、及び今回の演算周期の各時点kの絶対的な時間のずれを考慮する必要がないので、演算処理を簡易化できる。 According to this configuration, for each time point k, the initial value u0(k) for each time point k in the current calculation cycle can be set by a simple process of setting the current optimal value based on the difference between the optimal values before last and the previous time and the previous optimal value, taking into account the influence of the state variables, input variables, and changes in the environmental conditions that have changed during the calculation cycle. In addition, since there is no need to consider the absolute time lag between each time point k in the previous, previous, and current calculation cycles, the calculation process can be simplified.
次式に示すように、初期値設定部54は、各時点kについて、前回の演算周期の入力変数の最適値u*old1(k)から前々回の演算周期の入力変数の最適値u*old2(k)を減算した差分値Δu*old12(k)を、前回の演算周期の入力変数の最適値u*old1(k)に加算して、今回の演算周期の入力変数の初期値u0(k)を設定する。
この構成によれば、前回の最適値から前々回の最適値を減算した差分値を、前回の最適値に加算する簡単な処理により、演算周期の間に変化した状態変数、入力変数、及び環境条件の変化量の影響を考慮して、今回の演算周期の初期値u0を予測することができる。 With this configuration, the initial value u0 for the current calculation cycle can be predicted by a simple process of adding the difference value obtained by subtracting the optimal value before last from the previous optimal value to the previous optimal value, taking into account the influence of the state variables, input variables, and changes in the environmental conditions that have changed during the calculation cycle.
<初期値の設定挙動>
図5に、ある時点kの入力変数の最適値u*(k)が、演算周期ごとに増加している場合を示し、図6に、ある時点kの入力変数の最適値u*(k)が、演算周期ごとに減少している場合を示し、図7に、ある時点kの入力変数の最適値u*(k)が、途中で増加から減少に変化している場合を示す。
<Initial value setting behavior>
FIG. 5 shows a case where the optimal value u*(k) of an input variable at a certain point in time k increases with each calculation cycle, FIG. 6 shows a case where the optimal value u*(k) of an input variable at a certain point in time k decreases with each calculation cycle, and FIG. 7 shows a case where the optimal value u*(k) of an input variable at a certain point in time k changes from increasing to decreasing midway.
図5に示すように、最適値u*(k)が、演算周期ごとに増加しているので、各演算周期において、今回の演算周期の初期値u0(k)は、前回の最適値u*old1(k)よりも、前々回と前回の差分値Δu*old12だけ増加されている。その結果、各演算周期において、初期値u0(k)と最適値u*(k)との差は、前回の最適値u*old1(k)と最適値u*(k)との差よりも、小さくなっており、演算周期の間に変化した状態変数、入力変数、及び環境条件の変化量の影響が考慮されて、初期値u0(k)の設定精度が向上している。その結果、最適化問題を解く演算処理負荷を低減することができる。また、各制約条件gの有効/無効の初期設定の設定精度が良くなり、制約条件の追加/削除に伴う繰り返し演算の回数が減少し、演算負荷が減少する。 As shown in FIG. 5, the optimal value u*(k) increases for each calculation cycle, so in each calculation cycle, the initial value u0(k) for the current calculation cycle is increased by the difference value Δu*old12 between the previous and previous calculation cycles, compared to the previous optimal value u*old1(k). As a result, in each calculation cycle, the difference between the initial value u0(k) and the optimal value u*(k) is smaller than the difference between the previous optimal value u*old1(k) and the optimal value u*(k), and the setting accuracy of the initial value u0(k) is improved by taking into account the influence of the state variables, input variables, and changes in the environmental conditions that have changed during the calculation cycle. As a result, the calculation processing load for solving the optimization problem can be reduced. In addition, the setting accuracy of the initial settings for the validity/invalidity of each constraint condition g is improved, the number of repeated calculations associated with the addition/deletion of constraint conditions is reduced, and the calculation load is reduced.
図6に示すように、最適値u*(k)が、演算周期ごとに減少しているので、各演算周期において、今回の演算周期の初期値u0(k)は、前回の最適値u*old1(k)よりも、前々回と前回の差分値Δu*old12だけ減少されている。その結果、各演算周期において、初期値u0(k)と最適値u*(k)との差は、前回の最適値u*old1(k)と最適値u*(k)との差よりも、小さくなっており、演算周期の間に変化した状態変数、入力変数、及び環境条件の変化量の影響が考慮されて、初期値u0(k)の設定精度が向上している。その結果、最適化問題を解く演算処理負荷を低減することができる。また、各制約条件gの有効/無効の初期設定の設定精度が良くなり、制約条件の追加/削除に伴う繰り返し演算の回数が減少し、演算負荷が減少する。 As shown in FIG. 6, the optimal value u*(k) decreases for each calculation cycle, so in each calculation cycle, the initial value u0(k) of the current calculation cycle is reduced by the difference value Δu*old12 between the previous and previous calculation cycles, compared to the previous optimal value u*old1(k). As a result, in each calculation cycle, the difference between the initial value u0(k) and the optimal value u*(k) is smaller than the difference between the previous optimal value u*old1(k) and the optimal value u*(k), and the setting accuracy of the initial value u0(k) is improved by taking into account the influence of the state variables, input variables, and changes in the environmental conditions that have changed during the calculation cycle. As a result, the calculation processing load for solving the optimization problem can be reduced. In addition, the setting accuracy of the initial settings for the validity/invalidity of each constraint condition g is improved, the number of repeated calculations associated with the addition/deletion of constraint conditions is reduced, and the calculation load is reduced.
一方、図7に示すように、最適値u*(k)が、途中で増加から減少に変化した演算周期では、初期値u0(k)と最適値u*(k)との差は、前回の最適値u*old1(k)と最適値u*(k)との差よりも、大きくなっているが、1回の演算周期だけであるので、影響は最小限に抑えられている。また、全ての時点kでこのようになるわけでなく、演算処理負荷の増加が許容できる場合が多い。 On the other hand, as shown in FIG. 7, in a calculation cycle in which the optimal value u*(k) changes from increasing to decreasing midway, the difference between the initial value u0(k) and the optimal value u*(k) is larger than the difference between the previous optimal value u*old1(k) and the optimal value u*(k), but since this is only for one calculation cycle, the impact is kept to a minimum. Also, this is not the case at all points k, and in many cases an increase in the calculation processing load is tolerable.
<各制約条件gの有効/無効の初期設定>
図4のステップS31について詳細に説明する。式(1)及び式(2)と同様の式(9)及び式(10)を用い、各時点kの入力変数の初期値u0(k)に基づいて、各時点kの状態変数の初期値x0(k)を演算する。なお、k=0の状態変数の初期値x0(0)は、現在の状態変数の検出値に設定される。そして、各時点kの入力変数の初期値u0(k)及び状態変数の初期値x0(k)の状態で、各制約条件gの式(5)が満たされているか否かを判定する。そして、満たされている制約条件gをKKT条件から削除(無効)し、満たされていない制約条件gをKKT条件に追加(有効)する。
Step S31 in FIG. 4 will be described in detail. Using equations (9) and (10) similar to equations (1) and (2), the initial value x0(k) of the state variable at each time point k is calculated based on the initial value u0(k) of the input variable at each time point k. The initial value x0(0) of the state variable at k=0 is set to the detection value of the current state variable. Then, in the state of the initial value u0(k) of the input variable at each time point k and the initial value x0(k) of the state variable, it is determined whether or not the equation (5) of each constraint condition g is satisfied. Then, the satisfied constraint condition g is deleted (invalidated) from the KKT condition, and the unsatisfied constraint condition g is added (enabled) to the KKT condition.
この構成によれば、精度よく設定された入力変数の初期値u0を用いられるので、各制約条件gの有効/無効の初期設定の設定精度を向上させることができる。 With this configuration, the initial value u0 of the input variable can be set with high precision, improving the precision of the initial setting of whether each constraint condition g is enabled or disabled.
<車両モデル>
本実施の形態では、状態方程式として、車両制御に係る入力変数uを入力とし、自車両の挙動を表す状態変数xを演算する車両モデルの状態方程式を用いる。車両モデルに、二輪モデルを用いる。車両モデルの状態方程式は、次式に示すように、自車両の挙動を表す各状態変数の微分方程式で表せられる。なお、車両モデルの状態方程式として、公知の各種の状態方程式が用いられてもよい。
In this embodiment, a state equation of a vehicle model is used as the state equation, which inputs an input variable u related to vehicle control and calculates a state variable x representing the behavior of the host vehicle. A two-wheel model is used as the vehicle model. The state equation of the vehicle model is expressed as a differential equation of each state variable representing the behavior of the host vehicle, as shown in the following equation. Note that various known state equations may be used as the state equation of the vehicle model.
ここで、左辺の各変数の上部のドット符号は、各状態変数の時間微分値であることを示す。状態変数xとして、Yは、自車両の前後方向の位置を示し、Xは、自車両の横方向の位置を示し、θは、自車両の前後方向の傾きであり、βは、自車両の重心の横滑り角であり、γは、自車両のヨー角速度であり、δは、自車両の車輪の操舵角であり、Vは、自車両の速度であり、αは、自車両の加速度である。 Here, the dot symbol above each variable on the left side indicates the time differential value of each state variable. As for the state variable x, Y indicates the longitudinal position of the host vehicle, X indicates the lateral position of the host vehicle, θ is the longitudinal inclination of the host vehicle, β is the side slip angle of the host vehicle's center of gravity, γ is the yaw angular velocity of the host vehicle, δ is the steering angle of the host vehicle's wheels, V is the host vehicle's speed, and α is the host vehicle's acceleration.
入力変数uとして、jは、自車両の加加速度であり、ωは、自車両の操舵角速度である。 As the input variable u, j is the jerk of the host vehicle, and ω is the steering angular velocity of the host vehicle.
Iは、車両のヨー慣性モーメントであり、Mは、車両の質量であり、Lfは、車両重心と前輪の車軸との間の距離であり、Lrは、車両重心と後輪の車軸との間の距離である。Yfは、前輪のコーナーリングフォースであり、Yrは、後輪のコーナーリングフォースであり、Cfは、前輪タイヤのコーナーリングスティフネスであり、Crは、後輪タイヤのコーナーリングスティフネスである。 I is the yaw moment of inertia of the vehicle, M is the mass of the vehicle, Lf is the distance between the center of gravity of the vehicle and the front axle, and Lr is the distance between the center of gravity of the vehicle and the rear axle. Yf is the cornering force of the front wheels, Yr is the cornering force of the rear wheels, Cf is the cornering stiffness of the front tires, and Cr is the cornering stiffness of the rear tires.
状態方程式は、現在の自車両の位置を基準にした自車両の座標系X、Yにおいて表せられている。図8に示すように、Xは、自車両の横方向であり、Yは、自車両の前後方向である。なお、自車両の座標系に代えて、目標走行軌道を基準にした座標系が用いられもよい。 The state equation is expressed in the host vehicle's coordinate system X, Y, which is based on the current position of the host vehicle. As shown in FIG. 8, X is the lateral direction of the host vehicle, and Y is the front-rear direction of the host vehicle. Note that instead of the host vehicle's coordinate system, a coordinate system based on the target driving trajectory may be used.
<評価関数>
本実施の形態では、車両挙動の望ましさを評価する評価関数Jとして2次式の次式が用いられる。評価関数Jは、目標走行状態(目標走行軌道)と予測走行状態との差が小さくなるほど評価が高くなる(本例では、値が小さくなる)。なお、評価関数Jには、式(12)から変形されたものが用いられてもよい。
In this embodiment, the following quadratic expression is used as an evaluation function J for evaluating the desirability of the vehicle behavior. The evaluation function J has a higher evaluation (in this example, the value is smaller) as the difference between the target driving state (target driving trajectory) and the predicted driving state becomes smaller. Note that the evaluation function J may be modified from expression (12).
ここで、k(k=0、1、・・・、N-1、N)は、予測期間の各時点を表す時点番号であり、k=0が現在であり、k=Nが、最終の予測時点を表す。時点番号kは、時間間隔ΔT毎に0からNまで1つずつ増加される。よって、k×ΔTが、各時点kの現在からの経過時間である。y(k)は、各時点kにおける状態方程式の出力変数のベクトルであある。yref(k)は、各時点kにおける出力変数の目標値のベクトルであり、各時点kの目標走行軌道の値が設定されている。Pは、最終の予測時点(k=N)における出力変数の目標値からの偏差に対する重みであり、Qは、最終の予測時点を除く将来の各時点(k=1、・・・、N-1)における出力変数の目標値からの偏差に対する重みである。この重みP、Qの項により、各時点における目標走行軌道からの車両の走行状態のズレが評価される。Rは、最終の予測時点を除く将来の各時点(k=1、・・・、N-1)における入力変数の目標値からの偏差に対する重みである。この重みRの項により、自車両の加加速度j及び操舵角速度ωが大きくなり過ぎないように評価される。よって、各重みP、Q、Rの設定により、操舵角度の変動及び車両加速度の変動と、目標走行軌道への追従性とがバランスされ、運転者にとって違和感の少ない車両制御が行われる。 Here, k (k = 0, 1, ..., N-1, N) is a time number representing each time point in the prediction period, k = 0 is the present, and k = N is the final prediction time point. The time point number k is incremented by one from 0 to N at each time interval ΔT. Therefore, k x ΔT is the elapsed time from the present to each time point k. y (k) is a vector of the output variables of the state equation at each time point k. yref (k) is a vector of the target values of the output variables at each time point k, and the value of the target driving trajectory at each time point k is set. P is a weight for the deviation from the target value of the output variable at the final prediction time point (k = N), and Q is a weight for the deviation from the target value of the output variable at each future time point (k = 1, ..., N-1) except for the final prediction time point. The deviation of the vehicle's driving state from the target driving trajectory at each time point is evaluated by the weights P and Q. R is a weight for the deviation of the input variables from the target value at each future point in time (k = 1, ..., N-1) excluding the final prediction point in time. This weight R term is used to evaluate the vehicle's jerk j and steering angular velocity ω so that they do not become too large. Thus, by setting the weights P, Q, and R, the vehicle control is balanced between the fluctuations in the steering angle and vehicle acceleration and the ability to follow the target driving trajectory, resulting in vehicle control that feels less strange to the driver.
各時点kの車両制御量の目標値は、最適化問題が解かれた後の各時点kの状態変数の最適値x*(k)に含まれる操舵角δ*(k)及び加速度α*(k)に設定される。 The target values of the vehicle control quantities at each time point k are set to the steering angle δ*(k) and acceleration α*(k) contained in the optimal value x*(k) of the state variable at each time point k after the optimization problem is solved.
<制約条件>
本実施の形態では、第1及び第2の制約条件g1、g2として、次式に示すように、加速度αを、正の上限値αHにより上限制限すると共に、負の下限値αLにより下限制限する。乗り心地をよくするためである。
In this embodiment, as the first and second constraint conditions g1 and g2, the acceleration α is limited at its upper limit by a positive upper limit value αH and at its lower limit by a negative lower limit value αL as shown in the following equations in order to improve the ride comfort.
また、第3及び第4の制約条件g3、g4として、次式に示すように、横方向の位置Xを、正の上限値XHにより上限制限すると共に、負の下限値XLにより下限制限する。予定している走行範囲からの逸脱を防止するためである。目標走行軌道がカーブしている場合は、各時点の上限値XH及び下限値XLが、各時点の目標走行軌道に応じて変化されてもよい。
<車両制御の初期値設定の課題>
今回の演算周期では、前回の演算周期から、自車両が移動しており、また、自車両の移動に関係し又は関係なく周辺車両及び周辺環境が変化している。その結果、自車両の走行状態だけでなく、目標走行状態も変化している。そのため、単に、前回の演算周期の入力変数の最適値u*old1を、今回の演算周期の入力変数の初期値u0に設定するだけでは、演算周期の間に変化した状態変数、入力変数、及び環境条件の変化量の影響が反映されない。或いは、前回の演算周期の入力変数の最適値u*old1を、絶対的な時間のずれを補正して、今回の演算周期の入力変数の初期値u0に設定するだけでは、自車両の移動に関係なく、演算周期の間に変化した周辺車両及び周辺環境の変化による、目標走行状態の変化量の影響が反映されない。特に、状態変数、入力変数、及び環境条件が急速に変化している場合は、適切な入力変数の初期値u0を設定することができない。
<Issues with setting initial values for vehicle control>
In the current calculation cycle, the vehicle has moved since the previous calculation cycle, and the surrounding vehicles and the surrounding environment have changed, whether related to or unrelated to the movement of the vehicle. As a result, not only the running state of the vehicle but also the target running state has changed. Therefore, simply setting the optimal value u*old1 of the input variable in the previous calculation cycle to the initial value u0 of the input variable in the current calculation cycle does not reflect the influence of the change amount of the state variable, the input variable, and the environmental condition that has changed during the calculation cycle. Alternatively, simply setting the optimal value u*old1 of the input variable in the previous calculation cycle to the initial value u0 of the input variable in the current calculation cycle after correcting the absolute time shift does not reflect the influence of the change amount of the target running state due to the change of the surrounding vehicles and the surrounding environment that has changed during the calculation cycle, regardless of the movement of the vehicle. In particular, when the state variable, the input variable, and the environmental condition are changing rapidly, it is not possible to set an appropriate initial value u0 of the input variable.
<加加速度の初期値の設定>
初期値設定部54は、前々回の演算周期の加加速度の最適値j*old2と前回の演算周期の加加速度の最適値j*old1との差分値Δj*old12と、前回の演算周期の加加速度の最適値j*old1とに基づいて、今回の演算周期の加加速度の初期値j0を設定する。
<Setting the initial value of jerk>
The initial
本実施の形態では、次式に示すように、初期値設定部54は、予測期間の各時点kについて、前回の演算周期の加加速度の最適値j*old1(k)から前々回の演算周期の加加速度の最適値j*old2(k)を減算した差分値Δj*old12(k)を、前回の演算周期の加加速度の最適値j*old1(k)に加算して、今回の演算周期の加加速度の初期値j0(k)を設定する。
<加速度に係る制約条件の有効/無効の初期設定>
式(16)を用い、各時点kの加加速度の初期値j0(k)に基づいて、各時点kの加速度の初期値α0(k)を演算する。なお、k=0の加速度の初期値α0(0)は、現在の加速度の検出値に設定される。そして、各時点kの加速度の初期値α0(k)の状態で、加速度αに係る式(13)の第1及び第2の制約条件g1、g2がそれぞれ満たされているか否かを判定する。そして、満たされている制約条件gをKKT条件から削除(無効)し、満たされていない制約条件gをKKT条件に追加(有効)する。
Using equation (16), an initial value α0(k) of acceleration at each time point k is calculated based on the initial value j0(k) of the jerk at each time point k. The initial value α0(0) of acceleration at k=0 is set to the detected value of the current acceleration. Then, in the state of the initial value α0(k) of acceleration at each time point k, it is determined whether or not the first and second constraint conditions g1 and g2 in equation (13) related to the acceleration α are satisfied. Then, the satisfied constraint condition g is deleted (invalidated) from the KKT condition, and the unsatisfied constraint condition g is added (validated) to the KKT condition.
<操舵角速度の初期値の設定>
初期値設定部54は、前々回の演算周期の操舵角速度の最適値ω*old2と前回の演算周期の操舵角速度の最適値ω*old1との差分値Δω*old12と、前回の演算周期の操舵角速度の最適値ω*old1とに基づいて、今回の演算周期の操舵角速度の初期値ω0を設定する。
<Setting the initial value of steering angular velocity>
The initial
本実施の形態では、次式に示すように、初期値設定部54は、予測期間の各時点kについて、前回の演算周期の操舵角速度の最適値ω*old1(k)から前々回の演算周期の操舵角速度の最適値ω*old2(k)を減算した差分値Δω*old12(k)を、前回の演算周期の操舵角速度の最適値ω*old1(k)に加算して、今回の演算周期の操舵角速度の初期値ω0(k)を設定する。
<操舵角に係る制約条件の有効/無効の初期設定>
式(9)から式(11)を用い、各時点kの操舵角速度の初期値ω0(k)に基づいて、各時点kの横方向の位置の初期値X0(k)を演算する。なお、式(11)には、加加速度jが用いられているので、各時点kの加加速度の初期値j0(k)も用いられる。k=0の横方向の位置の初期値X0(0)を含む各状態変数の初期値x0は、現在の横方向の位置の検出値を含む各状態変数の検出値に設定される。そして、各時点kの横方向の位置の初期値X0(k)の状態で、横方向の位置に係る式(14)の第3及び第4の制約条件g3、g4がそれぞれ満たされているか否かを判定する。そして、満たされている制約条件gをKKT条件から削除(無効)し、満たされていない制約条件gをKKT条件に追加(有効)する。
<Initial setting of enable/disable of constraint conditions related to steering angle>
Using equations (9) to (11), an initial value X0(k) of the lateral position at each time point k is calculated based on the initial value ω0(k) of the steering angular velocity at each time point k. Since the jerk j is used in equation (11), the initial value j0(k) of the jerk at each time point k is also used. The initial value x0 of each state variable including the initial value X0(0) of the lateral position at k=0 is set to the detection value of each state variable including the detection value of the current lateral position. Then, in the state of the initial value X0(k) of the lateral position at each time point k, it is determined whether or not the third and fourth constraint conditions g3 and g4 of equation (14) related to the lateral position are satisfied. Then, the satisfied constraint condition g is deleted (invalidated) from the KKT condition, and the unsatisfied constraint condition g is added (validated) to the KKT condition.
<その他の実施の形態>
上記の実施の形態1では、状態方程式に車両モデルが用いられ、車両制御の最適化問題が解かれる場合を例に説明した。しかし、状態方程式に、各種の制御対象の式が用いられてよく、最適演算装置は、各種の制御対象の最適化問題に適用されてもよい。
<Other embodiments>
In the
また、状態方程式に車両モデルが用いられる場合でも、式(11)とは異なる車両モデルが用いられてもよい。例えば、車両制御量として加速度αのみを制御するための車両モデルが用いられてもよく、車両制御量として操舵角δのみを制御するための車両モデルが用いられてもよく、他の車両制御量を制御するための車両モデルが用いられてもよい。 Even if a vehicle model is used in the state equation, a vehicle model other than that in equation (11) may be used. For example, a vehicle model for controlling only the acceleration α as the vehicle control amount may be used, a vehicle model for controlling only the steering angle δ as the vehicle control amount may be used, or a vehicle model for controlling other vehicle control amounts may be used.
上記の実施の形態1では、加速度αの制約条件、及び横方向の位置Xの制約条件が用いられる場合を例に説明した。しかし、各種の単数又は複数の制約条件が用いられてもよい。例えば、加速度αの制約条件のみが用いられてもよく、横方向の位置Xの制約条件のみが用いられてもよく、他の状態変数又は入力変数の制約条件が用いられてもよい。
In the
上記の実施の形態1では、最適化問題には、カルーシュ・クーン・タッカー条件(KTK条件)が用いられる場合を例に説明した。しかし、最適化問題の解法として、各種の解法が用いられもよい。この場合でも、入力変数の初期値u0を、最終的に演算される入力変数の最適値u*に近づけて設定することができ、最適化問題を解く演算処理負荷を低減できる。
In the
<本願の諸態様のまとめ>
以下、本願の諸態様を付記としてまとめて記載する。
Summary of the Various Aspects of the Present Application
Various aspects of the present application are summarized below as appendices.
(付記1)
予測期間の各時点の入力変数の初期値を設定する初期値設定部と、
演算周期毎に、前記入力変数を入力として状態変数を演算する状態方程式を用い、前記入力変数及び前記状態変数を評価する評価関数、及び前記入力変数又は前記状態変数を制約する1つ以上の制約条件を有する最適化問題を解くように、前記入力変数を前記初期値から繰り返し演算により更新し、前記予測期間の各時点の前記状態変数及び前記入力変数の最適値を演算する最適値演算部と、を備え、
前記初期値設定部は、前々回の前記演算周期の前記入力変数の前記最適値と前回の前記演算周期の前記入力変数の前記最適値との差分値と、前回の前記演算周期の前記入力変数の前記最適値とに基づいて、今回の前記演算周期の前記入力変数の前記初期値を設定する最適演算装置。
(Appendix 1)
an initial value setting unit that sets initial values of input variables at each point in the prediction period;
an optimal value calculation unit that updates the input variables by repeated calculations from the initial values so as to solve an optimization problem having an evaluation function for evaluating the input variables and the state variables, and one or more constraint conditions for constraining the input variables or the state variables, for each calculation cycle, using a state equation that calculates state variables using the input variables as inputs, and calculates optimal values of the state variables and the input variables at each point in time of the prediction period,
The initial value setting unit sets the initial value of the input variable for the current calculation cycle based on the difference value between the optimal value of the input variable for the calculation cycle before last and the optimal value of the input variable for the previous calculation cycle, and the optimal value of the input variable for the previous calculation cycle.
(付記2)
前記初期値設定部は、前記予測期間の各時点について、前々回の前記演算周期の前記入力変数の前記最適値と前回の前記演算周期の前記入力変数の前記最適値との前記差分値と、前回の前記演算周期の前記入力変数の前記最適値とに基づいて、今回の前記演算周期の前記初期値を設定する付記1に記載の最適演算装置。
(Appendix 2)
The optimization calculation device according to
(付記3)
前記初期値設定部は、前回の前記演算周期の前記入力変数の前記最適値から前々回の前記演算周期の前記入力変数の前記最適値を減算した前記差分値を、前回の前記演算周期の前記入力変数の前記最適値に加算して、今回の前記演算周期の前記初期値を設定する付記1又は2に記載の最適演算装置。
(Appendix 3)
The optimization calculation device according to
(付記4)
自車両の周辺状態を取得する周辺状態取得部と、
自車両の走行状態を取得する走行状態取得部と、
自車両の目標走行状態を設定する目標走行状態設定部と、
車両制御量の目標値に基づいて、自車両を制御する車両制御部と、を備え、
前記最適値演算部は、前記演算周期毎に、車両制御に係る前記入力変数を入力として自車両の挙動を表す前記状態変数を演算する前記状態方程式を用い、少なくとも前記目標走行状態と前記状態方程式により算出される予測走行状態との差が小さくなるほど評価が高くなる前記評価関数、及び前記入力変数又は前記状態変数を制約する1つ以上の前記制約条件を有する前記最適化問題を解くように、前記入力変数を前記初期値から繰り返し演算により更新し、前記予測期間の各時点の前記入力変数の最適値を演算し、前記最適値に基づいて、前記車両制御量の目標値を設定する付記1から3のいずれか一項に記載の最適演算装置。
(Appendix 4)
a surrounding condition acquisition unit that acquires a surrounding condition of the host vehicle;
a driving state acquisition unit that acquires a driving state of the host vehicle;
a target driving state setting unit that sets a target driving state of the host vehicle;
A vehicle control unit that controls the host vehicle based on a target value of a vehicle control amount,
the optimum value calculation unit uses the state equation that calculates the state variables representing a behavior of the host vehicle using the input variables related to vehicle control as input for each calculation period, updates the input variables by repeated calculations from the initial values so as to solve the optimization problem having the evaluation function that increases the evaluation as the difference between at least the target driving state and the predicted driving state calculated by the state equation becomes smaller, and one or more constraint conditions that constrain the input variables or the state variables, calculates optimal values of the input variables at each point in time of the prediction period, and sets target values of the vehicle control amounts based on the optimal values.
(付記5)
前記制約条件は、前記入力変数である自車両の加加速度に応じて変化する前記状態変数である自車両の加速度を制約し、
前記初期値設定部は、前記入力変数である前記加加速度の前記初期値を設定する付記4に記載の最適演算装置。
(Appendix 5)
the constraint condition constrains the acceleration of the host vehicle, which is the state variable, that changes in response to the jerk of the host vehicle, which is the input variable;
5. The optimization calculation device according to claim 4, wherein the initial value setting unit sets the initial value of the jerk, which is the input variable.
(付記6)
前記制約条件は、前記入力変数である自車両の操舵角速度に応じて変化する前記状態変数である自車両の横方向の位置を制約し、
前記初期値設定部は、前記入力変数である前記操舵角速度の前記初期値を設定し、
前記最適値演算部は、前記操舵角速度の前記最適値に基づいて、前記車両制御量の目標値である操舵角度を演算する付記4又は5に記載の最適演算装置。
(Appendix 6)
the constraint condition constrains a lateral position of the host vehicle, which is the state variable that changes in response to a steering angular velocity of the host vehicle, which is the input variable;
the initial value setting unit sets the initial value of the steering angular velocity, which is the input variable;
6. The optimum calculation device according to claim 4, wherein the optimum value calculation unit calculates a steering angle, which is a target value of the vehicle control amount, based on the optimum value of the steering angular velocity.
(付記7)
前記最適化問題は、前記評価関数の勾配、及び1つ以上の前記制約条件の勾配をラグランジュ乗数で線形結合した、前記最適値が満たすべき最適条件であるカルーシュ・クーン・タッカー条件を有する付記1から6のいずれか一項に記載の最適演算装置。
(Appendix 7)
7. The optimization problem has a Karush-Kuhn-Tucker condition, which is an optimization condition that the optimal value should satisfy, and is a linear combination of a gradient of the evaluation function and a gradient of one or more of the constraint conditions using a Lagrange multiplier.
本願は、例示的な実施の形態が記載されているが、実施の形態に記載された様々な特徴、態様、及び機能は特定の実施の形態の適用に限られるのではなく、単独で、または様々な組み合わせで実施の形態に適用可能である。従って、例示されていない無数の変形例が、本願明細書に開示される技術の範囲内において想定される。例えば、少なくとも1つの構成要素を変形する場合、追加する場合または省略する場合が含まれるものとする。 Although the present application describes exemplary embodiments, the various features, aspects, and functions described in the embodiments are not limited to application to a particular embodiment, but may be applied to the embodiments alone or in various combinations. Thus, countless variations not illustrated are anticipated within the scope of the technology disclosed in the present application specification. For example, this includes modifying, adding, or omitting at least one component.
51:周辺状況取得部、52:走行状態取得部、53:目標走行状態設定部、54:初期値設定部、55:最適値演算部、56:車両制御部、J:評価関数、g:制約条件、j:加加速度、k:各時点、u:入力変数、u0:入力変数の初期値、u*:入力変数の最適値、u*old1:前回の演算周期の入力変数の最適値、u*old2:前々回の演算周期の入力変数の最適値、Δu*old12:差分値、x*:状態変数の最適値、x:状態変数、x0:状態変数の初期値、X:自車両の横方向の位置、ω:操舵角速度、ω0:操舵角速度の初期値 51: Surrounding condition acquisition unit, 52: Driving state acquisition unit, 53: Target driving state setting unit, 54: Initial value setting unit, 55: Optimal value calculation unit, 56: Vehicle control unit, J: Evaluation function, g: Constraint condition, j: Jerk, k: Each time point, u: Input variable, u0: Initial value of input variable, u*: Optimal value of input variable, u*old1: Optimal value of input variable in the previous calculation cycle, u*old2: Optimal value of input variable in the calculation cycle before last, Δu*old12: Difference value, x*: Optimal value of state variable, x: State variable, x0: Initial value of state variable, X: Lateral position of the vehicle, ω: Steering angular velocity, ω0: Initial value of steering angular velocity
Claims (7)
演算周期毎に、前記入力変数を入力として状態変数を演算する状態方程式を用い、前記入力変数及び前記状態変数を評価する評価関数、及び前記入力変数又は前記状態変数を制約する1つ以上の制約条件を有する最適化問題を解くように、前記入力変数を前記初期値から繰り返し演算により更新し、前記予測期間の各時点の前記状態変数及び前記入力変数の最適値を演算する最適値演算部と、を備え、
前記初期値設定部は、前々回の前記演算周期の前記入力変数の前記最適値と前回の前記演算周期の前記入力変数の前記最適値との差分値と、前回の前記演算周期の前記入力変数の前記最適値とに基づいて、今回の前記演算周期の前記入力変数の前記初期値を設定する最適演算装置。 an initial value setting unit that sets initial values of input variables at each point in the prediction period;
an optimal value calculation unit that updates the input variables by repeated calculations from the initial values so as to solve an optimization problem having an evaluation function for evaluating the input variables and the state variables, and one or more constraint conditions for constraining the input variables or the state variables, for each calculation cycle, using a state equation that calculates state variables using the input variables as inputs, and calculates optimal values of the state variables and the input variables at each point in time of the prediction period,
The initial value setting unit sets the initial value of the input variable for the current calculation cycle based on the difference value between the optimal value of the input variable for the calculation cycle before last and the optimal value of the input variable for the previous calculation cycle, and the optimal value of the input variable for the previous calculation cycle.
自車両の走行状態を取得する走行状態取得部と、
自車両の目標走行状態を設定する目標走行状態設定部と、
車両制御量の目標値に基づいて、自車両を制御する車両制御部と、を備え、
前記最適値演算部は、前記演算周期毎に、車両制御に係る前記入力変数を入力として自車両の挙動を表す前記状態変数を演算する前記状態方程式を用い、少なくとも前記目標走行状態と前記状態方程式により算出される予測走行状態との差が小さくなるほど評価が高くなる前記評価関数、及び前記入力変数又は前記状態変数を制約する1つ以上の前記制約条件を有する前記最適化問題を解くように、前記入力変数を前記初期値から繰り返し演算により更新し、前記予測期間の各時点の前記入力変数の最適値を演算し、前記最適値に基づいて、前記車両制御量の目標値を設定する請求項1に記載の最適演算装置。 a surrounding condition acquisition unit that acquires a surrounding condition of the host vehicle;
A driving state acquisition unit that acquires a driving state of the host vehicle;
a target driving state setting unit that sets a target driving state of the host vehicle;
A vehicle control unit that controls the host vehicle based on a target value of a vehicle control amount,
2. The optimization device according to claim 1, wherein the optimal value calculation unit uses the state equation that calculates the state variables representing the behavior of the vehicle using the input variables related to vehicle control as input, updates the input variables by repeated calculations from the initial values so as to solve the optimization problem having the evaluation function that increases the evaluation as the difference between at least the target driving state and the predicted driving state calculated by the state equation becomes smaller, and one or more constraint conditions that constrain the input variables or the state variables, calculates optimal values of the input variables at each point in time in the prediction period, and sets target values of the vehicle control amounts based on the optimal values.
前記初期値設定部は、前記入力変数である前記加加速度の前記初期値を設定する請求項4に記載の最適演算装置。 the constraint condition constrains the acceleration of the host vehicle, which is the state variable, that changes in response to the jerk of the host vehicle, which is the input variable;
5. The optimization calculation device according to claim 4, wherein the initial value setting unit sets the initial value of the jerk which is the input variable.
前記初期値設定部は、前記入力変数である前記操舵角速度の前記初期値を設定し、
前記最適値演算部は、前記操舵角速度の前記最適値に基づいて、前記車両制御量の目標値である操舵角度を演算する請求項4又は5に記載の最適演算装置。 the constraint condition constrains a lateral position of the host vehicle, which is the state variable that changes in response to a steering angular velocity of the host vehicle, which is the input variable;
the initial value setting unit sets the initial value of the steering angular velocity, which is the input variable;
6. The optimum calculation device according to claim 4, wherein the optimum value calculation unit calculates a steering angle that is a target value of the vehicle control amount based on the optimum value of the steering angular velocity.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022192610A JP2024079920A (en) | 2022-12-01 | 2022-12-01 | Optimal computing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022192610A JP2024079920A (en) | 2022-12-01 | 2022-12-01 | Optimal computing device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024079920A true JP2024079920A (en) | 2024-06-13 |
Family
ID=91431767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022192610A Pending JP2024079920A (en) | 2022-12-01 | 2022-12-01 | Optimal computing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2024079920A (en) |
-
2022
- 2022-12-01 JP JP2022192610A patent/JP2024079920A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109669461B (en) | Decision-making system for automatically driving vehicle under complex working condition and track planning method thereof | |
JP6715899B2 (en) | Collision avoidance device | |
US7212896B2 (en) | Vehicle control | |
US10759425B2 (en) | Autonomous driving system | |
JP6323572B2 (en) | Target vehicle speed generation device and travel control device | |
JP6628843B1 (en) | Obstacle avoidance device and obstacle avoidance route generation device | |
US20030205867A1 (en) | Suspension coordinator subsystem and method | |
JP2019123377A (en) | Vehicle controller | |
JP6315107B2 (en) | Target route generation device and travel control device | |
EP1369288A2 (en) | A Method and System for Controlling a Motor Vehicle | |
US20030225496A1 (en) | Drive train and brakes coordinator subsystem and method | |
CN110799402A (en) | Vehicle control device | |
US20220227391A1 (en) | Systems and methods for scenario dependent trajectory scoring | |
JP2019127081A (en) | Automatic driving control device and automatic driving control method of vehicle | |
JP2022060076A (en) | Vehicle travel control device | |
JP7069624B2 (en) | Position calculation method, vehicle control method and position calculation device | |
JP2024079920A (en) | Optimal computing device | |
JP7466796B2 (en) | Optimal computing device | |
JP2022148163A (en) | Vehicle speed control method and traveling control device | |
JP7430214B2 (en) | control calculation device | |
JP7433363B2 (en) | Vehicle control device and vehicle control method | |
JP7460458B2 (en) | Vehicle motion control device and vehicle motion control method | |
JP7241801B2 (en) | VEHICLE CONTROL DEVICE AND VEHICLE CONTROL METHOD | |
US12049225B2 (en) | Travel control device, travel control method, and travel control program | |
US20230322228A1 (en) | Vehicle control apparatus |