JP2024079920A - Optimal computing device - Google Patents

Optimal computing device Download PDF

Info

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
Application number
JP2022192610A
Other languages
Japanese (ja)
Inventor
沙織 和田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2022192610A priority Critical patent/JP2024079920A/en
Publication of JP2024079920A publication Critical patent/JP2024079920A/en
Pending legal-status Critical Current

Links

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 Patent Document 1 sets the initial values and prediction period when solving the optimal control problem according to changes in the state of the vehicle itself and changes in the surrounding conditions.

特開2020-8889号公報JP 2020-8889 A

しかし、特許文献1の技術では、自車両の状態の変化、及び周辺の状態の変化が大きい場合に、乱数を用いて初期値を設定しているので、初期値が、最終的に演算される最適値から離れ、最適化問題を解く処理負荷が増加する。また、最適化問題を解く際の初期値を用いた初期の演算において、初期値の変動が大きいと、状態変数が、制約条件に制約される場合がある。初期の演算において、制約条件により制約されると、最適化問題を解く処理負荷が増加する。 However, in the technology of Patent Document 1, when there is a large change in the state of the vehicle itself and in the surrounding conditions, the initial values are set using random numbers, so the initial values deviate from the optimal values finally calculated, and the processing load for solving the optimization problem increases. Also, in the initial calculations using the initial values when solving the optimization problem, if there is a large fluctuation in the initial values, the state variables may be restricted by the constraint conditions. If the initial calculations are restricted by the constraint conditions, the processing load for solving the optimization problem increases.

そこで、本願は、状態変数、入力変数、及び環境条件の変化が大きい場合でも、入力変数の初期値を、最終的に演算される入力変数の最適値に近づけて設定することができる最適演算装置を提供することを目的とする。 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 is a schematic block diagram of a vehicle control device and a vehicle system incorporating an optimization arithmetic device according to a first embodiment. 実施の形態1に係る車両制御装置のハードウェア構成図である。1 is a hardware configuration diagram of a vehicle control device according to a first embodiment. 実施の形態1に係る車両制御装置の別例のハードウェア構成図である。FIG. 11 is a hardware configuration diagram of another example of the vehicle control device according to the first embodiment. 実施の形態1に係る最適値の演算処理を説明するフローチャートである。4 is a flowchart illustrating a calculation process of an optimum value according to the first embodiment. 実施の形態1に係る最適値の増加時の入力変数の最適値の演算処理を説明する図である。10A to 10C are diagrams illustrating a calculation process of an optimal value of an input variable when the optimal value is increased according to the first embodiment. 実施の形態1に係る最適値の減少時の入力変数の最適値の演算処理を説明する図である。10A and 10B are diagrams illustrating a calculation process of optimal values of input variables when the optimal values are decreased according to the first embodiment. 実施の形態1に係る最適値の増減時の入力変数の最適値の演算処理を説明する図である。10A and 10B are diagrams illustrating a calculation process of an optimal value of an input variable when the optimal value is increased or decreased according to the first embodiment. 実施の形態1に係る自車両の座標系を説明する図である。FIG. 2 is a diagram for explaining a coordinate system of a host vehicle according to the first embodiment;

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 vehicle control device 50. The vehicle system 1 and the vehicle control device 50 are mounted on the vehicle.

図1に示すように、車両システム1は、車両状態検出装置31、周辺監視装置32、位置検出装置33、地図情報データベース34、無線通信装置35、車両制御装置50、駆動制御装置36、動力機8、及び電動操舵装置7等を備えている。 As shown in FIG. 1, the vehicle system 1 includes a vehicle condition detection device 31, a surroundings monitoring device 32, a position detection device 33, a map information database 34, a wireless communication device 35, a vehicle control device 50, a drive control device 36, a power unit 8, and an electric steering device 7.

車両状態検出装置31は、自車両の走行状態を検出する検出装置である。自車両の走行状態として、自車両の車両速度V、加速度α、自車両のロール角速度、ピッチ角速度、及びヨー角速度γが検出される。例えば、車両状態検出装置31として、自車両に働くロール角速度、ピッチ角速度、及びヨー角速度を検出する3軸の角速度センサ、加速度センサ、及び車輪の回転速度を検出する速度センサが設けられる。なお、自車両の速度は、加速度を積分するなど、他の方法により検出されてもよい。 The vehicle state detection device 31 is a detection device that detects the running state of the host vehicle. As the running state of the host vehicle, the vehicle speed V, acceleration α, roll angular velocity, pitch angular velocity, and yaw angular velocity γ of the host vehicle are detected. For example, the vehicle state detection device 31 is provided with a three-axis angular velocity sensor that detects the roll angular velocity, pitch angular velocity, and yaw angular velocity acting on the host vehicle, an acceleration sensor, and a speed sensor that detects the rotational speed of the wheels. Note that the speed of the host vehicle may be detected by other methods, such as integrating acceleration.

周辺監視装置32は、車両の周辺を監視するカメラ、レーダ等の装置である。レーダには、ミリ波レーダ、レーザレーダ、超音波レーダ等が用いられる。無線通信装置35は、4G、5G等のセルラー方式の無線通信の規格を用いて、基地局と無線通信を行う。 The surroundings monitoring device 32 is a device such as a camera or radar that monitors the surroundings of the vehicle. The radar may be a millimeter wave radar, a laser radar, or an ultrasonic radar. The wireless communication device 35 performs wireless communication with a base station using a cellular wireless communication standard such as 4G or 5G.

位置検出装置33は、自車両の現在位置(緯度、経度、高度)を検出する装置であり、GNSS(Global Navigation Satellite System)等の人工衛星から出力される信号を受信するGPSアンテナ等が用いられる。なお、自車両の現在位置の検出には、自車両の走行車線番号を用いた方法、マップマッチング法、デッドレコニング法、自車両の周辺の検出情報を用いた方法等の各種の方法が用いられてもよい。 The position detection device 33 is a device that detects the current position (latitude, longitude, altitude) of the vehicle, and may be a GPS antenna that receives signals output from artificial satellites such as the Global Navigation Satellite System (GNSS). Note that various methods may be used to detect the current position of the vehicle, such as a method using the lane number of the vehicle, a map matching method, a dead reckoning method, or a method using detection information around the vehicle.

地図情報データベース34には、道路形状(例えば、道路位置、車線数、各車線の形状、道路種別、制限速度等)、標識、信号等の道路情報が記憶されている。地図情報データベース34は、記憶装置を主体として構成されている。なお、地図情報データベース34は、ネットワーク網に接続された車外のサーバに設けられてもよく、車両制御装置50は、必要な道路情報を、無線通信装置35を介して車外のサーバから取得してもよい。 The map information database 34 stores road information such as road shapes (e.g., road positions, number of lanes, shape of each lane, road type, speed limit, etc.), signs, traffic lights, etc. The map information database 34 is mainly composed of a storage device. The map information database 34 may be provided in a server outside the vehicle connected to a network, and the vehicle control device 50 may obtain the necessary road information from the server outside the vehicle via the wireless communication device 35.

駆動制御装置36として、動力制御装置、ブレーキ制御装置、自動操舵制御装置、及びライト制御装置等が備えられている。動力制御装置は、内燃機関、モータ等の動力機8の出力を制御する。ブレーキ制御装置は、電動ブレーキ装置のブレーキ動作を制御する。自動操舵制御装置は、電動操舵装置7を制御する。ライト制御装置は、方向指示器、ハザードランプ等を制御する。 The drive control device 36 includes a power control device, a brake control device, an automatic steering control device, and a light control device. The power control device controls the output of a power machine 8 such as an internal combustion engine or a motor. The brake control device controls the braking operation of an electric brake device. The automatic steering control device controls the electric steering device 7. The light control device controls a turn signal, hazard lamps, etc.

1-1.車両制御装置50
車両制御装置50は、周辺状況取得部51、走行状態取得部52、目標走行状態設定部53、初期値設定部54、最適値演算部55、及び車両制御部56等の機能部を備えている。車両制御装置50の各機能は、車両制御装置50が備えた処理回路により実現される。具体的には、図2に示すように、車両制御装置50は、CPU(Central Processing Unit)等の演算処理装置90、記憶装置91、演算処理装置90に外部の信号を入出力する入出力装置92等を備えている。
1-1. Vehicle control device 50
The vehicle control device 50 includes functional units such as a surrounding condition acquisition unit 51, a driving state acquisition unit 52, a target driving state setting unit 53, an initial value setting unit 54, an optimal value calculation unit 55, and a vehicle control unit 56. Each function of the vehicle control device 50 is realized by a processing circuit included in the vehicle control device 50. Specifically, as shown in Fig. 2, the vehicle control device 50 includes an arithmetic processing device 90 such as a CPU (Central Processing Unit), a storage device 91, an input/output device 92 that inputs and outputs external signals to the arithmetic processing device 90, and the like.

演算処理装置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 arithmetic processing device 90 may be an ASIC (Application Specific Integrated Circuit), an IC (Integrated Circuit), a DSP (Digital Signal Processor), an FPGA (Field Programmable Gate Array), a GPU (Graphics Processing Unit), an AI (Artificial Intelligence) chip, various logic circuits, and various signal processing circuits. In addition, the arithmetic processing device 90 may be multiple devices of the same type or different types, and each process may be shared and executed. As the storage device 91, various storage devices such as a RAM (Random Access Memory), a ROM (Read Only Memory), a flash memory, an EEPROM (Electrically Erasable Programmable Read Only Memory), a hard disk, a DVD device, etc. may be used.

入出力装置92には、通信装置、A/D変換器、入出力ポート、駆動回路等が備えられる。入出力装置92は、車両状態検出装置31、周辺監視装置32、位置検出装置33、地図情報データベース34、無線通信装置35、及び駆動制御装置36等に接続され、これらの装置と通信を行う。 The input/output device 92 is equipped with a communication device, an A/D converter, an input/output port, a drive circuit, etc. The input/output device 92 is connected to the vehicle condition detection device 31, the surroundings monitoring device 32, the position detection device 33, the map information database 34, the wireless communication device 35, and the drive control device 36, etc., and communicates with these devices.

そして、車両制御装置50が備える各機能部51から56等の各機能は、演算処理装置90が、記憶装置91に記憶されたソフトウェア(プログラム)を実行し、記憶装置91及び入出力装置92等の車両制御装置50の他のハードウェアと協働することにより実現される。なお、各機能部51から56等が用いる制約条件等の設定データは、ソフトウェア(プログラム)の一部として、EEPROM等の記憶装置91に記憶されている。 The functions of the functional units 51 to 56 of the vehicle control device 50 are realized by the arithmetic processing device 90 executing software (programs) stored in the storage device 91 and cooperating with other hardware of the vehicle control device 50, such as the storage device 91 and the input/output device 92. Note that setting data such as constraint conditions used by the functional units 51 to 56 are stored in the storage device 91, such as an EEPROM, as part of the software (programs).

或いは、車両制御装置50は、処理回路として、図3に示すように、専用のハードウェア93、例えば、単一回路、複合回路、プログラム化されたプロセッサ、並列プログラム化されたプロセッサ、ASIC、FPGA、GPU、AIチップ、又はこれらを組み合わせた回路等が備えられてもよい。以下、車両制御装置50の各機能について詳細に説明する。 Alternatively, the vehicle control device 50 may be equipped with dedicated hardware 93 as a processing circuit, as shown in FIG. 3, such as a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC, an FPGA, a GPU, an AI chip, or a circuit that combines these. Each function of the vehicle control device 50 will be described in detail below.

1-1-1.周辺状況取得部51
周辺状況取得部51は、自車両の周辺状況を取得する。例えば、周辺状況取得部51は、自車両の周囲に存在する他車両等を検知する。周辺状況取得部51は、周辺監視装置32から取得した検知情報、及び位置検出装置33から取得した自車両の位置情報に基づいて、他車両の位置、移動方向、移動速度などを検知する。また、周辺状況取得部51は、他車両以外にも、道路区画線等の車線形状、障害物、歩行者、標識なども検知する。
Surrounding situation acquisition unit 51
The surrounding condition acquisition unit 51 acquires the surrounding conditions of the vehicle. For example, the surrounding condition acquisition unit 51 detects other vehicles and the like present around the vehicle. The surrounding condition acquisition unit 51 detects the positions, moving direction, moving speed, and the like of the other vehicles based on the detection information acquired from the surroundings monitoring device 32 and the position information of the vehicle acquired from the position detection device 33. Furthermore, the surrounding condition acquisition unit 51 detects lane shapes such as road dividing lines, obstacles, pedestrians, signs, and the like in addition to other vehicles.

1-1-2.走行状態取得部52
走行状態取得部52は、自車両の走行状態を取得する。走行状態取得部52は、車両状態検出装置31から、自車両の走行状態として、自車両の車両速度V、加速度α、自車両のロール角速度、ピッチ角速度、及びヨー角速度γを取得する。また、走行状態取得部52は、位置検出装置33から取得した自車両の位置情報に基づいて、自車両の位置、移動方向などを取得する。また、走行状態取得部52は、周辺状況取得部51から取得した車線の形状に基づいて、車線に対する自車両の走行位置の情報を取得する。また、走行状態取得部52は、車両制御部56から操舵角δ、内燃機関等の動力機の出力、及びブレーキの動作状態などの運転操作状態を取得する。
1-1-2. Traveling condition acquisition unit 52
The running state acquisition unit 52 acquires the running state of the host vehicle. The running state acquisition unit 52 acquires the vehicle speed V, acceleration α, roll angular velocity, pitch angular velocity, and yaw angular velocity γ of the host vehicle as the running state of the host vehicle from the vehicle state detection device 31. The running state acquisition unit 52 also acquires the position and moving direction of the host vehicle based on the position information of the host vehicle acquired from the position detection device 33. The running state acquisition unit 52 also acquires information on the running position of the host vehicle relative to the lane based on the shape of the lane acquired from the surrounding situation acquisition unit 51. The running state acquisition unit 52 also acquires driving operation states such as steering angle δ, output of a power machine such as an internal combustion engine, and operating state of the brakes from the vehicle control unit 56.

1-1-3.目標走行状態設定部53
目標走行状態設定部53は、自車両の目標走行状態を設定する。目標走行状態設定部53は、周辺状況取得部51により検知された自車両の周辺の他車両、道路形状、障害物、及び歩行者等の状態に合わせた、目標走行状態を演算する。本実施の形態では、目標走行状態は、目標走行軌道であり、将来の各時点における自車両の位置、自車両の進行方向、及び自車両の速度等の時系列の走行計画である。目標走行軌道の演算には、公知の各種の方法が用いられる。
1-1-3. Target driving state setting unit 53
The target driving state setting unit 53 sets a target driving state of the vehicle. The target driving state setting unit 53 calculates a target driving state according to the state of other vehicles, road shapes, obstacles, pedestrians, etc. around the vehicle detected by the surrounding condition acquisition unit 51. In this embodiment, the target driving state is a target driving trajectory, which is a time-series driving plan including the position of the vehicle, the traveling direction of the vehicle, the speed of the vehicle, etc. at each future point in time. Various known methods are used to calculate the target driving trajectory.

1-1-4.車両制御部56
車両制御部56は、後述する最適値演算部55により設定された車両制御量の目標値に基づいて、自車両を制御する。本実施の形態では、車両制御量の目標値は、各時点の操舵角δの目標値、各時点の加速度αの目標値である。
1-1-4. Vehicle control unit 56
The vehicle control unit 56 controls the host vehicle based on the target values of the vehicle control variables set by the optimum value calculation unit 55 described later. In this embodiment, the target values of the vehicle control variables are the target value of the steering angle δ at each time point and the target value of the acceleration α at each time point.

車両制御部56は、各時点の操舵角δの目標値、及び各時点の加速度αに基づいて、動力制御装置への指令値、ブレーキ制御装置への指令値、自動操舵制御装置への指令値を算出し、各装置に伝達する。 The vehicle control unit 56 calculates a command value for the power control device, a command value for the brake control device, and a command value for the automatic steering control device based on the target value of the steering angle δ at each time point and the acceleration α at each time point, and transmits these to each device.

動力制御装置は、指令値に従って、内燃機関、モータ等の動力機の出力を制御する。ブレーキ制御装置は、指令値に従って、電動ブレーキ装置のブレーキ動作を制御する。自動操舵制御装置は、指令値に従って、電動操舵装置を制御する。 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 value setting unit 54 and optimal value calculation unit 55
The initial value setting unit 54 sets an initial value u0(k) of the input variable u(k) at each time point k of the prediction period. The optimal value calculation unit 55 updates the input variable u from the initial value u0 by repeated calculations in each calculation cycle using a state equation that calculates a state variable x using the input variable u as an input, so as to solve an optimization problem having an evaluation function that evaluates the input variable u and the state variable x, and one or more constraint conditions that restrict the input variable u or the state variable x, and calculates an optimal value u*(k) of the input variable at each time point k of the prediction period.

<状態変数の状態方程式>
次式に示すように、状態変数xの状態方程式は、各時点kの状態変数の時間微分dx/dt(k)が、各時点kの状態変数x(k)及び入力変数u(k)を入力とする関数fで表される。状態変数が複数の場合は、xはベクトルになり、入力変数が複数の場合は、uはベクトルになる。ここで、kは、予測期間の各時点を表し、k=0が、現在であり、k=Nが予測期間の終点であり、ホライズンと呼ばれる。

Figure 2024079920000002
<State equation of state variables>
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.
Figure 2024079920000002

次式に示すように、次の時点の状態変数x(k+1)は、現時点の状態変数x(k)に、現時点の状態変数の時間微分dx(k)/dtに予測期間の時点間の時間間隔ΔTを乗算した値を加算して算出される。

Figure 2024079920000003
As shown in the following equation, the state variable x(k+1) at the next time point is calculated by adding the time derivative dx(k)/dt of the state variable at the current time point x(k) to the time interval ΔT between time points in the prediction period.
Figure 2024079920000003

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).

<最適化問題>
次式のような、一般的な最適化問題を考える。

Figure 2024079920000004
<Optimization problem>
Consider the general optimization problem:
Figure 2024079920000004

ここで、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)を有する。

Figure 2024079920000005
The general optimization problem of equation (3) may be solved as is. In this embodiment, however, as shown in the following equation, the optimization problem has a Karush-Kuhn-Tucker condition (KKT condition), which is an optimization condition that the optimal value should satisfy, and is obtained by linearly combining the gradient ∇J of the evaluation function J and the gradient ∇g of one or more constraint conditions g with a Lagrange multiplier λ.
Figure 2024079920000005

ここで、∇は、動作点で偏微分を行い、勾配を計算する演算子である。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 value setting unit 54 sets the initial values u0(k) of the input variables at each time point k of the prediction period.

今回の演算周期では、前回の演算周期から、状態変数及び入力変数が変化しており、また、状態変数及び入力変数に影響する環境条件が変化している。そのため、単に、前回の演算周期の入力変数の最適値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 value setting unit 54 sets the initial value u0 of the input variable for the current calculation cycle based on the difference value Δu*old12 between the optimal value u*old2 of the input variable for the calculation cycle before last and the optimal value u*old1 of the input variable for the previous calculation cycle, and the optimal value u*old1 of the input variable for the previous calculation cycle.

この構成によれば、前々回の演算周期の最適値と前回の演算周期の最適値との差分値Δ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 value setting unit 54 sets an initial value u0(k) of the input variable for the current calculation cycle for each time point k in the prediction period based on the difference value Δu*old12(k) between the optimal value u*old2(k) of the input variable for the calculation cycle before last and the optimal value u*old1(k) of the input variable for the previous calculation cycle, and the optimal value u*old1(k) of the input variable for the previous calculation cycle. Here, the absolute time is shifted by one calculation cycle between the time point k of the calculation cycle before last, the time point k of the previous calculation cycle, and the time point k of the current calculation cycle, but the initial value of the input variable for the current calculation cycle at the same time point k in the prediction period is calculated using the optimal values of the input variables for the calculation cycle before last and the previous calculation cycle, which are shifted in absolute time from each other.

この構成によれば、各時点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)を設定する。

Figure 2024079920000006
As shown in the following equation, for each point in time k, the initial value setting unit 54 adds the difference value Δu*old12(k) obtained by subtracting the optimal value u*old2(k) of the input variable in the calculation cycle before last from the optimal value u*old1(k) of the input variable in the previous calculation cycle to the optimal value u*old1(k) of the input variable in the previous calculation cycle, thereby setting the initial value u0(k) of the input variable in the current calculation cycle.
Figure 2024079920000006

この構成によれば、前回の最適値から前々回の最適値を減算した差分値を、前回の最適値に加算する簡単な処理により、演算周期の間に変化した状態変数、入力変数、及び環境条件の変化量の影響を考慮して、今回の演算周期の初期値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条件に追加(有効)する。

Figure 2024079920000007
<Initial setting of valid/invalid for each constraint condition g>
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.
Figure 2024079920000007

この構成によれば、精度よく設定された入力変数の初期値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を演算する車両モデルの状態方程式を用いる。車両モデルに、二輪モデルを用いる。車両モデルの状態方程式は、次式に示すように、自車両の挙動を表す各状態変数の微分方程式で表せられる。なお、車両モデルの状態方程式として、公知の各種の状態方程式が用いられてもよい。

Figure 2024079920000008
<Vehicle model>
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.
Figure 2024079920000008

ここで、左辺の各変数の上部のドット符号は、各状態変数の時間微分値であることを示す。状態変数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)から変形されたものが用いられてもよい。

Figure 2024079920000009
<Evaluation function>
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).
Figure 2024079920000009

ここで、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により下限制限する。乗り心地をよくするためである。

Figure 2024079920000010
<Constraints>
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.
Figure 2024079920000010

また、第3及び第4の制約条件g3、g4として、次式に示すように、横方向の位置Xを、正の上限値XHにより上限制限すると共に、負の下限値XLにより下限制限する。予定している走行範囲からの逸脱を防止するためである。目標走行軌道がカーブしている場合は、各時点の上限値XH及び下限値XLが、各時点の目標走行軌道に応じて変化されてもよい。

Figure 2024079920000011
As the third and fourth constraint conditions g3 and g4, the lateral position X is limited by a positive upper limit value XH and a negative lower limit value XL as shown in the following equation. This is to prevent deviation from the planned driving range. If the target driving trajectory is curved, the upper limit value XH and the lower limit value XL at each time point may be changed according to the target driving trajectory at each time point.
Figure 2024079920000011

<車両制御の初期値設定の課題>
今回の演算周期では、前回の演算周期から、自車両が移動しており、また、自車両の移動に関係し又は関係なく周辺車両及び周辺環境が変化している。その結果、自車両の走行状態だけでなく、目標走行状態も変化している。そのため、単に、前回の演算周期の入力変数の最適値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 value setting unit 54 sets an initial value j0 of the jerk for the current calculation cycle based on the difference value Δj*old12 between the optimal jerk value j*old2 for the calculation cycle before last and the optimal jerk value j*old1 for the previous calculation cycle, and the optimal jerk value j*old1 for the previous calculation cycle.

本実施の形態では、次式に示すように、初期値設定部54は、予測期間の各時点kについて、前回の演算周期の加加速度の最適値j*old1(k)から前々回の演算周期の加加速度の最適値j*old2(k)を減算した差分値Δj*old12(k)を、前回の演算周期の加加速度の最適値j*old1(k)に加算して、今回の演算周期の加加速度の初期値j0(k)を設定する。

Figure 2024079920000012
In this embodiment, as shown in the following equation, initial value setting unit 54 adds a difference value Δj*old12(k) obtained by subtracting the optimal value j*old2(k) of the jerk for the calculation cycle before last from the optimal value j*old1(k) of the jerk for the previous calculation cycle to the optimal value j*old1(k) of the jerk for the previous calculation cycle, to set an initial value j0(k) of the jerk for the current calculation cycle.
Figure 2024079920000012

<加速度に係る制約条件の有効/無効の初期設定>
式(16)を用い、各時点kの加加速度の初期値j0(k)に基づいて、各時点kの加速度の初期値α0(k)を演算する。なお、k=0の加速度の初期値α0(0)は、現在の加速度の検出値に設定される。そして、各時点kの加速度の初期値α0(k)の状態で、加速度αに係る式(13)の第1及び第2の制約条件g1、g2がそれぞれ満たされているか否かを判定する。そして、満たされている制約条件gをKKT条件から削除(無効)し、満たされていない制約条件gをKKT条件に追加(有効)する。

Figure 2024079920000013
<Initial setting of enable/disable of acceleration constraint conditions>
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.
Figure 2024079920000013

<操舵角速度の初期値の設定>
初期値設定部54は、前々回の演算周期の操舵角速度の最適値ω*old2と前回の演算周期の操舵角速度の最適値ω*old1との差分値Δω*old12と、前回の演算周期の操舵角速度の最適値ω*old1とに基づいて、今回の演算周期の操舵角速度の初期値ω0を設定する。
<Setting the initial value of steering angular velocity>
The initial value setting unit 54 sets an initial value ω0 of the steering angular velocity for the current calculation cycle based on the difference value Δω*old12 between the optimal value ω*old2 of the steering angular velocity for the calculation cycle before last and the optimal value ω*old1 of the steering angular velocity for the previous calculation cycle, and the optimal value ω*old1 of the steering angular velocity for the previous calculation cycle.

本実施の形態では、次式に示すように、初期値設定部54は、予測期間の各時点kについて、前回の演算周期の操舵角速度の最適値ω*old1(k)から前々回の演算周期の操舵角速度の最適値ω*old2(k)を減算した差分値Δω*old12(k)を、前回の演算周期の操舵角速度の最適値ω*old1(k)に加算して、今回の演算周期の操舵角速度の初期値ω0(k)を設定する。

Figure 2024079920000014
In this embodiment, as shown in the following equation, the initial value setting unit 54 adds a difference value Δω*old12(k) obtained by subtracting the optimal value ω*old2(k) of the steering angular velocity of the calculation cycle before last from the optimal value ω*old1(k) of the steering angular velocity of the previous calculation cycle to the optimal value ω*old1(k) of the steering angular velocity of the previous calculation cycle, to set an initial value ω0(k) of the steering angular velocity of the current calculation cycle.
Figure 2024079920000014

<操舵角に係る制約条件の有効/無効の初期設定>
式(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 above embodiment 1, a vehicle model is used in the state equations to solve an optimization problem for vehicle control. However, equations for various controlled objects may be used in the state equations, and the optimization calculation device may be applied to optimization problems for various controlled objects.

また、状態方程式に車両モデルが用いられる場合でも、式(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 above embodiment 1, an example has been described in which a constraint condition for acceleration α and a constraint condition for lateral position X are used. However, various types of single or multiple constraint conditions may be used. For example, only the constraint condition for acceleration α may be used, only the constraint condition for lateral position X may be used, or constraint conditions for other state variables or input variables may be used.

上記の実施の形態1では、最適化問題には、カルーシュ・クーン・タッカー条件(KTK条件)が用いられる場合を例に説明した。しかし、最適化問題の解法として、各種の解法が用いられもよい。この場合でも、入力変数の初期値u0を、最終的に演算される入力変数の最適値u*に近づけて設定することができ、最適化問題を解く演算処理負荷を低減できる。 In the above embodiment 1, an example was described in which the Karush-Kuhn-Tucker condition (KTK condition) is used to solve the optimization problem. However, various solving methods may be used to solve the optimization problem. Even in this case, the initial value u0 of the input variable can be set close to the optimal value u* of the input variable that is finally calculated, thereby reducing the computational processing load for solving the optimization problem.

<本願の諸態様のまとめ>
以下、本願の諸態様を付記としてまとめて記載する。
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 claim 1, wherein the initial value setting unit sets the initial value for the current calculation cycle for each point in the prediction period 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.

(付記3)
前記初期値設定部は、前回の前記演算周期の前記入力変数の前記最適値から前々回の前記演算周期の前記入力変数の前記最適値を減算した前記差分値を、前回の前記演算周期の前記入力変数の前記最適値に加算して、今回の前記演算周期の前記初期値を設定する付記1又は2に記載の最適演算装置。
(Appendix 3)
The optimization calculation device according to claim 1 or 2, wherein the initial value setting unit adds the difference value obtained by subtracting the optimal value of the input variable in the calculation cycle before last from the optimal value of the input variable in the previous calculation cycle to the optimal value of the input variable in the previous calculation cycle to set the initial value for the current calculation cycle.

(付記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に記載の最適演算装置。 The optimization calculation device according to claim 1, wherein the initial value setting unit sets the initial value for the current calculation cycle for each point in the prediction period 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. 前記初期値設定部は、前回の前記演算周期の前記入力変数の前記最適値から前々回の前記演算周期の前記入力変数の前記最適値を減算した前記差分値を、前回の前記演算周期の前記入力変数の前記最適値に加算して、今回の前記演算周期の前記初期値を設定する請求項1又は2に記載の最適演算装置。 The optimization calculation device according to claim 1 or 2, wherein the initial value setting unit adds the difference value obtained by subtracting the optimal value of the input variable in the calculation cycle before last from the optimal value of the input variable in the previous calculation cycle to the optimal value of the input variable in the previous calculation cycle, thereby setting the initial value for the current 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.
前記最適化問題は、前記評価関数の勾配、及び1つ以上の前記制約条件の勾配をラグランジュ乗数で線形結合した、前記最適値が満たすべき最適条件であるカルーシュ・クーン・タッカー条件を有する請求項1に記載の最適演算装置。 The optimization calculation device according to claim 1, wherein the optimization problem has a Karush-Kuhn-Tucker condition, which is an optimality condition that the optimal value must satisfy, and is a linear combination of the gradient of the evaluation function and the gradient of one or more of the constraint conditions using Lagrange multipliers.
JP2022192610A 2022-12-01 2022-12-01 Optimal computing device Pending JP2024079920A (en)

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)

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