JP2015194917A - Control input value generation device, control input value generation method, and program - Google Patents
Control input value generation device, control input value generation method, and program Download PDFInfo
- Publication number
- JP2015194917A JP2015194917A JP2014072623A JP2014072623A JP2015194917A JP 2015194917 A JP2015194917 A JP 2015194917A JP 2014072623 A JP2014072623 A JP 2014072623A JP 2014072623 A JP2014072623 A JP 2014072623A JP 2015194917 A JP2015194917 A JP 2015194917A
- Authority
- JP
- Japan
- Prior art keywords
- precondition
- input value
- control input
- condition
- control
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
- Feedback Control In General (AREA)
Abstract
Description
本発明は、制御入力値生成装置、制御入力値生成方法、および、プログラムに関する。 The present invention relates to a control input value generation device, a control input value generation method, and a program.
近年、自動車、飛行機、衛星等の重要なシステムが、デジタルコントローラが物理プラントを制御する、物理情報システムとして実現されるようになっている。 In recent years, important systems such as automobiles, airplanes, and satellites have been realized as physical information systems in which a digital controller controls a physical plant.
物理情報システムの品質向上のための形式的手法として、現在、最も活発に開発が行われているのが、到達可能性の計算によるシステム検証である。例えば、SpaceExやHyTech等は、与えられた初期条件から終了条件に到達しうるかどうかを到達可能な領域の計算によって判定する技術である。また、同様にプログラム論理を用いたシステム検証のツールとしてKeYmaeraが開発されている。 As a formal method for improving the quality of physical information systems, the most active development is system verification by reachability calculation. For example, SpaceEx, HyTech, and the like are techniques for determining whether an end condition can be reached from a given initial condition by calculating a reachable area. Similarly, KeYmaera has been developed as a system verification tool using program logic.
同様に、非特許文献1では、物理情報システムの入力列の生成手法が開示されている。この手法は、物理プラントのダイナミクスに着目し、与えられた条件を満たす入力列を連続関数の最適化問題に帰着して生成する手法である。
Similarly, Non-Patent
しかしながら、従来のシステム検証の技術では、物理情報システムへの入力を明示的に扱えず、したがって入力列生成の問題にそのまま適用することはできない、という問題点を有していた。 However, the conventional system verification technique has a problem that it cannot explicitly handle the input to the physical information system, and therefore cannot be directly applied to the problem of input string generation.
また、非特許文献1に記載の入力列生成方法では、デジタルコントローラの挙動が支配的ではなく、物理情報システムの挙動がシステム全体の挙動を支配する場合にのみ有効であり、物理情報システムのダイナミクスがほぼ全域にわたって連続である場合にしか良好な性能を発揮し得ない。そのため、デジタルコントローラの挙動が支配的な物理情報システムでは、その不連続性や離散的挙動をうまく扱うことができず、比較的シンプルなシステムに対しても入力値列を求めることができない、という問題点を有していた。
Further, the input string generation method described in Non-Patent
本発明は、上記問題点に鑑みてなされたもので、デジタルコントローラの離散的な挙動が支配的な物理情報システムであっても、与えられた初期条件と終了条件を満たすような制御入力値を生成することができる、制御入力値生成装置、制御入力値生成方法、および、プログラムを提供することを目的とする。 The present invention has been made in view of the above problems, and even in a physical information system in which the discrete behavior of a digital controller is dominant, control input values that satisfy given initial conditions and termination conditions are set. It is an object to provide a control input value generation device, a control input value generation method, and a program that can be generated.
このような目的を達成するため、本発明の制御入力値生成装置は、初期条件から終了条件に至るように物理情報システムを動作させるための制御入力値を生成する制御入力値生成装置であって、プログラム論理を用いて、上記初期条件から時間順に、上記物理情報システムの各制御サイクルにおける事後条件を演算する事後条件演算手段と、プログラム論理を用いて、上記終了条件から時間逆順に、上記各制御サイクルにおける事前条件を演算する事前条件演算手段と、上記事前条件演算手段により演算された上記事前条件から、上記各制御サイクルにおける制御入力値を抽出することにより、上記初期条件から上記終了条件に至るような上記制御入力値の入力列を取得する入力列取得手段と、を備え、上記事前条件演算手段は、上記事後条件演算手段により演算された上記事後条件を用いて、上記各制御サイクルにおける上記事前条件の探索範囲を限定して、当該事前条件を演算することを特徴とする。 In order to achieve such an object, a control input value generation device of the present invention is a control input value generation device that generates a control input value for operating a physical information system so as to reach an end condition from an initial condition. , Using program logic, post-condition calculation means for calculating post-conditions in each control cycle of the physical information system in time order from the initial conditions, and program logic, in order from the end condition in reverse time order A precondition calculating means for calculating a precondition in the control cycle, and a control input value in each control cycle is extracted from the precondition calculated by the precondition calculating means, thereby changing the initial condition to the end condition. Input sequence acquisition means for acquiring an input sequence of the control input values, and the precondition calculation means includes the postcondition Using upper posterior condition calculated by the calculating means, by limiting the search range of the pre-conditions in the above respective control cycle, characterized by calculating the precondition.
また、本発明の制御入力値生成装置は、上記記載の制御入力値生成装置において、上記物理情報システムは、コントローラが、センサからのフィードバックを利用してプラントを制御するシステムであって、上記各制御サイクルにおいて、上記センサは、入力される上記制御入力値と、検出される上記プラントの物理量と、所定のセンサプログラムとに従って、上記コントローラの状態変数を更新し、上記コントローラは、上記更新された状態変数と、所定のコントローラプログラムとに従って、当該コントローラの状態変数と、上記プラントと上記センサで共有される変数zとを更新し、上記プラントは、次の上記制御サイクルにおいて、更新された上記変数zの微分方程式M[z]に従って、上記物理量を更新しながら動作することを特徴とする。 The control input value generation device of the present invention is the control input value generation device described above, wherein the physical information system is a system in which a controller controls a plant using feedback from a sensor, In the control cycle, the sensor updates the controller state variable according to the input control input value, the detected physical quantity of the plant, and a predetermined sensor program, and the controller According to the state variable and a predetermined controller program, the state variable of the controller and the variable z shared by the plant and the sensor are updated, and the plant is updated in the next control cycle. It operates in accordance with the differential equation M [z] of z while updating the physical quantity. To.
また、本発明は制御入力値生成方法に関するものであり、本発明の制御入力値生成方法は、初期条件から終了条件に至るように物理情報システムを動作させるための制御入力値を生成する制御入力値生成方法であって、プログラム論理を用いて、上記初期条件から時間順に、上記物理情報システムの各制御サイクルにおける事後条件を演算する事後条件演算ステップと、プログラム論理を用いて、上記終了条件から時間逆順に、上記各制御サイクルにおける事前条件を演算する事前条件演算ステップと、上記事前条件演算ステップにて演算された上記事前条件から、上記各制御サイクルにおける制御入力値を抽出することにより、上記初期条件から上記終了条件に至るような上記制御入力値の入力列を取得する入力列取得ステップと、を備え、上記事前条件演算ステップは、上記事後条件演算手段にて演算された上記事後条件を用いて、上記各制御サイクルにおける上記事前条件の探索範囲を限定して、当該事前条件を演算することを特徴とする。 The present invention also relates to a control input value generation method. The control input value generation method of the present invention is a control input for generating a control input value for operating a physical information system so as to reach an end condition from an initial condition. A value generation method, which uses program logic to calculate post-conditions in each control cycle of the physical information system in chronological order from the initial conditions, and from the end condition using program logic By extracting the control input value in each control cycle from the precondition calculation step for calculating the precondition in each control cycle in reverse order of time and the precondition calculated in the precondition calculation step, An input string acquisition step of acquiring an input string of the control input value that extends from the initial condition to the end condition. The precondition calculating step is to calculate the precondition by limiting the search range of the precondition in each control cycle using the postcondition calculated by the postcondition calculating means. Features.
また、本発明はプログラムに関するものであり、本発明のプログラムは、初期条件から終了条件に至るように物理情報システムを動作させるための制御入力値を生成する方法をコンピュータに実行させるためのプログラムであって、プログラム論理を用いて、上記初期条件から時間順に、上記物理情報システムの各制御サイクルにおける事後条件を演算する事後条件演算ステップと、プログラム論理を用いて、上記終了条件から時間逆順に、上記各制御サイクルにおける事前条件を演算する事前条件演算ステップと、上記事前条件演算ステップにて演算された上記事前条件から、上記各制御サイクルにおける制御入力値を抽出することにより、上記初期条件から上記終了条件に至るような上記制御入力値の入力列を取得する入力列取得ステップと、を実行させるためのプログラムであって、上記事前条件演算ステップは、上記事後条件演算手段にて演算された上記事後条件を用いて、上記各制御サイクルにおける上記事前条件の探索範囲を限定して、当該事前条件を演算することを特徴とする。 The present invention also relates to a program. The program according to the present invention is a program for causing a computer to execute a method of generating a control input value for operating a physical information system from an initial condition to an end condition. Then, using program logic, a post-condition calculation step for calculating post-conditions in each control cycle of the physical information system in time order from the initial conditions, and using program logic, from the end conditions in reverse time order, The precondition calculation step for calculating the precondition in each control cycle, and the control input value in each control cycle is extracted from the precondition calculated in the precondition calculation step. Input string acquisition step for acquiring the input string of the control input value that reaches the end condition. The precondition calculation step uses the postcondition calculated by the postcondition calculation means to determine the search range for the precondition in each control cycle. In a limited manner, the precondition is calculated.
また、本発明は記録媒体に関するものであり、上記記載のプログラムを記録したことを特徴とする。 The present invention also relates to a recording medium, wherein the program described above is recorded.
この発明によれば、初期条件から終了条件に至るように物理情報システムを動作させるために、プログラム論理を用いて、初期条件から時間順に、物理情報システムの各制御サイクルにおける事後条件を演算し、プログラム論理を用いて、終了条件から時間逆順に、各制御サイクルにおける事前条件を演算し、演算された事前条件から、各制御サイクルにおける制御入力値を抽出することにより、初期条件から終了条件に至るような制御入力値の入力列を取得する場合において、事前条件を演算する際に、演算された事後条件を用いて、各制御サイクルにおける事前条件の探索範囲を限定して、当該事前条件を演算する。これにより、本発明は、デジタルコントローラの離散的な挙動が支配的な物理情報システムであっても、与えられた初期条件と終了条件を満たすような制御入力値を生成することができる、という効果を奏する。特に、従来手法では、物理プラントのダイナミクスに基づいた最適化ベースのアプローチを採用しており、分岐処理などデジタルコントローラの離散的挙動に対して、探索空間が爆発し制御入力値を求めることが出来ないことがあったが、本発明によれば、探索空間を的確に限定して制御入力値を求めることができる。 According to the present invention, in order to operate the physical information system from the initial condition to the end condition, the program logic is used to calculate the postconditions in each control cycle of the physical information system in order of time from the initial condition, Using program logic, the precondition in each control cycle is calculated in reverse order from the end condition, and the control input value in each control cycle is extracted from the calculated precondition to reach the end condition from the initial condition. When acquiring an input string of such control input values, the precondition is calculated by limiting the search range of the precondition in each control cycle using the calculated postcondition when calculating the precondition. To do. As a result, the present invention can generate a control input value that satisfies given initial conditions and end conditions even in a physical information system in which the discrete behavior of the digital controller is dominant. Play. In particular, the conventional method adopts an optimization-based approach based on the dynamics of the physical plant, and the search space explodes for the discrete behavior of the digital controller such as branch processing, and the control input value can be obtained. However, according to the present invention, the control input value can be obtained by accurately limiting the search space.
また、本発明によれば、物理情報システムは、コントローラが、センサからのフィードバックを利用してプラントを制御するシステムであって、各制御サイクルにおいて、センサは、入力される制御入力値と、検出されるプラントの物理量と、所定のセンサプログラムとに従って、コントローラの状態変数を更新し、コントローラは、更新された状態変数と、所定のコントローラプログラムとに従って、当該コントローラの状態変数と、プラントとセンサで共有される変数zとを更新し、プラントは、次の制御サイクルにおいて、更新された変数zの微分方程式M[z]に従って、物理量を更新しながら動作する。これにより、本発明は、物理情報システムを的確にモデリングすることにより、プログラム論理を適用して、制御入力値を求めることができるという効果を奏する。 Further, according to the present invention, the physical information system is a system in which the controller controls the plant using feedback from the sensor, and in each control cycle, the sensor detects the input control input value and the detection value. The state variable of the controller is updated according to the physical quantity of the plant to be executed and the predetermined sensor program, and the controller uses the state variable of the controller, the plant and the sensor according to the updated state variable and the predetermined controller program. The shared variable z is updated, and the plant operates while updating the physical quantity according to the differential equation M [z] of the updated variable z in the next control cycle. Thus, the present invention produces an effect that the control input value can be obtained by applying the program logic by accurately modeling the physical information system.
以下に、本発明にかかる制御入力値生成装置、制御入力値生成方法、および、プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。例えば、本実施の形態では、物理情報システムの例としてハイブリッドシステムに適用した例を挙げて説明することがあるが、本発明はこれに限られず、サイバーフィジカルシステムなど他の物理情報システムに適用してもよい。また、以下の実施の形態では、自動車の速度制御系に適用した例について説明する場合があるが、これに限られず、飛行機、衛星など様々な制御系に適用してもよい。 Embodiments of a control input value generation device, a control input value generation method, and a program according to the present invention will be described below in detail with reference to the drawings. Note that the present invention is not limited to the embodiments. For example, in this embodiment, an example applied to a hybrid system may be described as an example of a physical information system. However, the present invention is not limited to this, and is applied to other physical information systems such as a cyber physical system. May be. In the following embodiments, an example applied to a speed control system of an automobile may be described. However, the present invention is not limited to this and may be applied to various control systems such as airplanes and satellites.
[制御入力値生成装置の構成]
次に、本制御入力値生成装置の構成について図1を参照して説明する。図1は、本実施の形態が適用される本制御入力値生成装置100の一例を示すブロック図であり、該構成のうち本実施の形態に関係する部分のみを概念的に示している。
[Configuration of control input value generator]
Next, the configuration of the control input value generation device will be described with reference to FIG. FIG. 1 is a block diagram showing an example of the control input
図1に示すように、本実施の形態における制御入力値生成装置100は、概略的に、制御部102と記憶部106を少なくとも備え、本実施の形態において、更に、入出力制御インターフェース部108を備える。ここで、制御部102は、制御入力値生成装置100の全体を統括的に制御するCPU等である。また、本実施の形態において、入出力制御インターフェース部108は、ハイブリッドシステムに接続されるインターフェースである。また、記憶部106は、各種のデータベースやテーブルなどを格納する装置である。これら制御入力値生成装置100の各部は任意の通信路を介して通信可能に接続されている。
As shown in FIG. 1, the control input
また、入出力制御インターフェース部108は、本実施の形態において、ハイブリッドシステムの制御を行う。本実施の形態において、ハイブリッドシステムとは、状態に離散的な状態(例えばCPUのレジスタの値)と連続的な状態(たとえば温度)を含むシステムである。例えば、ソフトウェアで制御を行う自動車等もハイブリッドシステムである。なお、図示のハイブリッドシステムに限られず、サイバーフィジカルシステムやサンプルデータシステム等の物理情報システムに本実施の形態を適用することもできる。サイバーフィジカルシステムとは、プラント等の物理システムと情報システムを組み合わせたシステムであり、多くの場合、ハイブリッドシステムとしての側面を持つ。すなわち、様々な物理システムの制御がICTシステムによって行われる現在、サイバーフィジカルシステムは重要性を増しているが、サイバーフィジカルシステムはその性質上、離散的遷移と連続的遷移が両方存在するハイブリッドシステムとして実現されることが多い。なお、以下の実施の形態においては、プラントからコントローラへのフィードバックが一定時間ごとに起こるハイブリッドシステムであるサンプルデータシステムを例示することがあるが、本発明は、これに限られない。
The input / output
図1に示すように、本実施の形態においては、物理情報システムの例としてハイブリッドシステムを用いる。本実施の形態のハイブリッドシステムは、コントローラCと、プラントPと、センサSを備える。ここで、プラントとは、連続値で記述されるシステムであって、例えば自動車の内燃機関などである。また、コントローラは、プラントからのフィードバックを受け取り、プラントへの信号を与えるようなソフトウェアである。自動車の内燃機関を制御するECU(Engine Control Unit)もコントローラの例である。 As shown in FIG. 1, in this embodiment, a hybrid system is used as an example of a physical information system. The hybrid system of the present embodiment includes a controller C, a plant P, and a sensor S. Here, the plant is a system described by continuous values, for example, an internal combustion engine of an automobile. The controller is software that receives feedback from the plant and provides a signal to the plant. An ECU (Engine Control Unit) that controls an internal combustion engine of an automobile is also an example of a controller.
概略として、制御入力値生成装置100は、ハイブリッドシステムの入力値生成のためのアルゴリズムを実行する。このアルゴリズムは、外部入力(制御理論では外乱やノイズとも呼ばれる。)を受け取るハイブリッドシステムの記述と初期条件と終了条件を与えると、その初期条件と終了条件を満たすようにシステムを動かす入力の列を生成する。このアルゴリズムのメインとなるアイデアは、プログラム論理に基づいて事前条件計算と事後条件計算を行うことにより、可能な入力のうち探索すべき入力の大きさを減らすことである。なお、後述するように、この手法が実際に有効であることを実験して確認した。
As an outline, the control input
制御入力値生成装置100は、入出力制御インターフェース部108を介して、求めた制御入力値iをセンサSに入力することにより、与えられた初期条件と終了条件を満たすような制御を実現することができる。
The control input
記憶部106に格納される各種のデータベースやテーブル(モデル記憶部106a等)は、固定ディスク装置等のストレージ手段である。例えば、記憶部106は、各種処理に用いる各種のプログラム、テーブル、ファイル、データベース、および、ウェブページ等を格納する。
Various databases and tables (such as the
これら記憶部106の各構成要素のうち、モデル記憶部106aは、物理情報システムのモデルを記憶するモデル記憶手段である。例えば、モデル記憶部106aは、コントローラCが、センサSからのフィードバックを利用してプラントPを制御する物理情報システムのモデルを記憶する。物理情報システムのモデリング例として、Sense−Think−Actループによるモデリングを挙げる。このモデルでは、各制御サイクルにおいて、センサSが、入力される制御入力値iと、検出されるプラントPの物理量と、所定のセンサプログラムPSとに従って、コントローラCの状態変数xsを更新するSense過程と、コントローラCが、更新された状態変数xsと、所定のコントローラプログラムPCとに従って、当該コントローラの状態変数xaと、プラントPとセンサSで共有される変数zとを更新するThink過程と、プラントPが、次の制御サイクルにおいて、更新された変数zの微分方程式M[z]に従って、物理量vを更新しながら動作するAct過程を含む。このSense−Think−Actループによるモデルにより、産業界にみられる一般的な物理情報システムと同様に、コントローラの振る舞いをプログラミング言語によりモデリングすることができる。なお、センサプログラムPSやコントローラプログラムPC等のプログラムとは、一例として、本実施の形態において、C言語やJava(登録商標)言語等の高級言語で書かれたプログラムテキストを指している。
Among the components of the
また、図1において、制御部102は、OS(Operating System)等の制御プログラムや、各種の処理手順等を規定したプログラム、および、所要データを格納するための内部メモリを有する。そして、制御部102は、これらのプログラム等により、種々の処理を実行するための情報処理を行う。制御部102は、機能概念的に、事後条件演算部102a、事前条件演算部102b、および、入力列取得部102cを備える。
In FIG. 1, the
このうち、事後条件演算部102aは、プログラム論理を用いて、初期条件から時間順に、物理情報システムの各制御サイクルにおける事後条件を演算する事後条件演算手段である。
Among these, the
ここで、本実施の形態において、条件は、物理情報システムの状態に関する論理式等のように、何らかの形式的な記述方式で扱うことができる。例えば、vをシステムの速度、xをシステムのx座標としたときに、v>0 && x>0(速度と位置が共に正)等のような論理積として表現することでプログラム論理による演算を行うことができる。 Here, in the present embodiment, the condition can be handled in some form of description method, such as a logical expression related to the state of the physical information system. For example, when v is the speed of the system and x is the x coordinate of the system, it is expressed as a logical product such as v> 0 && x> 0 (both speed and position are positive). It can be carried out.
事後条件は、物理情報システム終了時に満たさなければならない条件である。ここで、本実施の形態においては、特に、物理情報システムの各制御サイクルにおける終了時に満たさなければならない条件を事後条件と呼び、物理情報システム全体の終了時に満たさなければならない事後条件は終了条件と呼んで区別する。 The post-condition is a condition that must be satisfied when the physical information system is terminated. Here, in this embodiment, in particular, a condition that must be satisfied at the end of each control cycle of the physical information system is referred to as a postcondition, and a postcondition that must be satisfied at the end of the entire physical information system is an end condition. Call and distinguish.
また、事前条件演算部102bは、プログラム論理を用いて、終了条件から時間逆順に、各制御サイクルにおける事前条件を演算する事前条件演算手段である。事前条件は、物理情報システム開始時に満たさなければならない条件である。ここで、本実施の形態においては、特に、物理情報システムの各制御サイクルにおける開始時に満たさなければならない条件を事前条件と呼び、物理情報システム全体の開始時に満たさなければならない事前条件は初期条件と呼んで区別する。
The
なお、事前条件演算部102bは、事後条件演算部102aにより演算された事後条件を用いて、各制御サイクルにおける事前条件の探索範囲を限定する。これにより、コントローラCの分岐処理等のように離散的挙動を示す場合であっても、探索範囲の指数関数的な爆発を抑えることができる。
Note that the
事後条件演算部102aや事前条件演算部102b等により用いられるプログラム論理は、一例として、事前条件や事後条件が論理式で与えられる場合において、センサプログラムPSやコントローラプログラムPC等のプログラムが事前条件・事後条件を満たすことを証明するための演繹的手法である。例えば、プログラム論理として、公知のHoare論理を用いることができる(http://www−mmm.is.s.u−tokyo.ac.jp/〜ichiro/talks/komabaSogo2011Handout.pdf参照)。プログラム論理を用いることにより、以下の二つの条件が効率よく計算できる。
・事後条件Aとプログラムcから、cの実行後にAが成り立つための事前条件Pre(c,A)
・事前条件Aとプログラムcから、Aが成り立つ状態からcを実行した後に成り立つ事後条件 Post(A,c)
As an example, the program logic used by the
-From the postcondition A and the program c, a precondition Pre (c, A) for A to hold after execution of c
-Post-conditions that are satisfied after executing c from the state where A is satisfied from the pre-conditions A and program c Post (A, c)
さらに、本実施の形態において、事前条件演算部102bは、上記の事前条件の計算Pre(c,A)を少し精密化したPre(c,A,B)が容易に求まることを利用して演算を行ってもよい。
・事後条件Aとプログラムcと条件Bから、cの実行後にAが成り立つための事前条件でB&&Pre(c,A)よりも強い条件Pre(c,A,B)
Further, in the present embodiment, the
A condition Pre (c, A, B) that is stronger than B && Pre (c, A) as a pre-condition for A to hold after execution of c from post-condition A, program c, and condition B
また、入力列取得部102cは、事前条件演算部102bにより演算された事前条件から、各制御サイクルにおける制御入力値を抽出することにより、初期条件から終了条件に至るような制御入力値の入力列を取得する入力列取得手段である。
Further, the input sequence acquisition unit 102c extracts the control input value in each control cycle from the precondition calculated by the
以上が、本実施の形態における制御入力値生成装置100の構成の一例である。
The above is an example of the configuration of the control input
[本実施の形態の処理]
次に、このように構成された本実施の形態における処理の例について、以下に図2〜図5を参照して詳細に説明する。
[Process of this embodiment]
Next, an example of processing in the present embodiment configured as described above will be described in detail with reference to FIGS.
[例1]
ハイブリッドシステムの品質向上は産業的にも学術的にも興味のある問題である。本実施形態においては、ハイブリッドシステムの入力生成問題を扱う。すなわち、外部入力(制御理論では外乱やノイズとも呼ばれる。)を受け付けるハイブリッドシステムについて、ある初期条件と終了条件を満たすようにハイブリッドシステムの状態を遷移させる入力が存在するならば、その入力を求める、という問題である。ここで、図2は、自動車産業等においてよく現れる入力生成問題を説明するためのハイブリッドシステムの例1を模式的に示した図である。
[Example 1]
Improving the quality of hybrid systems is an interesting issue both industrially and academically. In this embodiment, the input generation problem of a hybrid system is dealt with. That is, for a hybrid system that accepts an external input (also called disturbance or noise in the control theory), if there is an input that changes the state of the hybrid system to satisfy a certain initial condition and termination condition, the input is obtained. It is a problem. Here, FIG. 2 is a diagram schematically showing a hybrid system example 1 for explaining an input generation problem that often appears in the automobile industry and the like.
例1は、自動車産業等においてよく現れる問題を抽象化した入力生成問題の典型例である。図2に示すように、速度vで走行する自動車をモデル化している。このモデルは、外部入力を受け付けるセンサS、自動車の速度をモデル化したプラントP、制御ソフトウェアをモデル化したコントローラCから成る。変数vは自動車の速度を表す。 Example 1 is a typical example of an input generation problem that abstracts a problem that often appears in the automobile industry or the like. As shown in FIG. 2, an automobile traveling at a speed v is modeled. This model is composed of a sensor S that accepts an external input, a plant P that models the speed of an automobile, and a controller C that models control software. The variable v represents the speed of the car.
このモデルでは、一定時間ごとに制御ソフトウェアが起動され、制御ソフトウェアCはセンサSから読み取った現在のvの値に関する情報から、次の一定時間にプラントPをどのモードで動作させるかを決定する。コントローラCは、cntという内部変数を持っており、この変数には速度vが入力iに一定の範囲(この例では差が0.25以下)で追従していれば1が加えられる。解くべき入力生成問題は、
初期条件:cnt=0, −0.1<=v<=0.1
終了条件:cnt=100, true
を満たす入力iの列を求めることである。ここに、tは制御ソフトウェアが起動された回数を表す。すなわち、cnt=0 && −0.1<=v<=0.1を満たす状態からシステムを動作させ、1000単位時間後に「vがiに100単位時間の間追従していた」という状態に至るような入力列を生成するのが目的である。
In this model, the control software is started at regular time intervals, and the control software C determines from which information about the current value of v read from the sensor S which mode the plant P is to be operated in the next constant time. The controller C has an internal variable cnt, and 1 is added to this variable if the speed v follows the input i within a certain range (in this example, the difference is 0.25 or less). The input generation problem to be solved is
Initial conditions: cnt = 0, −0.1 <= v <= 0.1
Termination condition: cnt = 100, true
To obtain a column of input i satisfying. Here, t represents the number of times the control software has been activated. That is, the system is operated from a state where cnt = 0 && −0.1 <= v <= 0.1, and after 1000 unit time, “v has followed i for 100 unit time” is reached. The purpose is to generate such an input string.
ここで、モデル例1の動作を説明する。センサSは毎時刻に速度vを測定し、その値と入力iとの差が0.25以下であればtrue、そうでなければfalseを変数xsにセットする。コントローラCは、毎時刻にxaの値がtrueであればcntを1増加させ、falseであればcntを0にセットする。また、cntの値によって、xaの値をm1,m2,m3のいずれかにセットする。このxaの値が、次の単位時間中プラントが従う微分方程式を決める。 Here, the operation of the model example 1 will be described. The sensor S measures the velocity v every time, and sets true to the variable xs if the difference between the value and the input i is 0.25 or less, otherwise false. The controller C increments cnt by 1 if the value of xa is true every time, and sets cnt to 0 if false. Further, the value of xa is set to one of m1, m2, and m3 depending on the value of cnt. The value of xa determines the differential equation that the plant follows during the next unit time.
以上がハイブリッドシステムのモデル例1である。本実施の形態では、一例として、このモデル例1のような入力生成問題から、適切な入力列を求める。以下に、具体的処理について説明する。 The above is model example 1 of the hybrid system. In the present embodiment, as an example, an appropriate input string is obtained from the input generation problem as in this model example 1. Specific processing will be described below.
[Sense−Think−Actループ]
本実施形態において、制御入力値生成装置100は、ハイブリッドシステムが例1のようにセンサS、コントローラC、プラントPに分けて記述されていると仮定してモデル化する。ここで、コントローラCは、離散的なm個の変数からなる状態x1,...,xmを持つ。プラントPは、n個の物理量からなる状態y1,...,ynを持ち、y1,...,ynに関するa個の微分方程式M[1],...,M[a]を持つ。プラントPとセンサSで共有される特別な変数zは、1,...,aのうち一個の値を保持する。
[Sense-Think-Act loop]
In the present embodiment, the control input
センサSは、外部からb個の物理量i1,...,ibを受け取る。センサS、コントローラCには、それぞれ入力と現在の状態から次の状態を計算するプログラムPS,PCが関連付けられている。また、i1,...,ibが満たすべき条件I(i1,...,ib)が指定されている。ここで、図3は、Sense−Think−Actループモデルにおける処理の一例を示すフローチャートである。 The sensor S has b physical quantities i1,. . . , Ib are received. The sensors S and C are associated with programs PS and PC for calculating the next state from the input and the current state, respectively. I1,. . . , Ib specifies a condition I (i1,..., Ib) to be satisfied. Here, FIG. 3 is a flowchart showing an example of processing in the Sense-Think-Act loop model.
図3に示すように、ハイブリッドシステムHは、各単位時刻に以下の処理SA−1〜SA−5(Sense−Think−Actループ)を順番に繰り返しながら動作することを仮定する。 As shown in FIG. 3, it is assumed that the hybrid system H operates while sequentially repeating the following processes SA-1 to SA-5 (Sense-Think-Act loop) at each unit time.
すなわち、まず、センサSは、入力i1,...,ibとプラントPの物理量y1,...,ynとプログラムPSとに従って、コントローラCの状態変数x1,...,xmを更新する(ステップSA−1:Sense)。ここで、i1,...,ibは、I(i1,...,ib)を満たす値である。 That is, first, the sensor S has inputs i1,. . . , Ib and the physical quantity y1,. . . , Yn and the program PS, state variables x1,. . . , Xm are updated (step SA-1: Sense). Here, i1,. . . , Ib is a value satisfying I (i1,..., Ib).
そして、コントローラCは、更新された状態変数x1,...,xmとプログラムPCに従って、自らの状態変数x1,...,xm,変数zを更新する(ステップSA−2:Think)。ただし、zは、1,...,aのうち一個の値を保持する。 The controller C then updates the updated state variables x1,. . . , Xm and the program PC, its own state variables x1,. . . , Xm, and variable z are updated (step SA-2: Think). However, z is 1,. . . , A holds one value.
そして、プラントPは、次の単位時間t+1の間(ステップSA−3)、微分方程式M[z]に従って、物理量y1,...,ynを更新しながら動作する(ステップSA−4:Act)。 The plant P then follows the physical quantities y1,... According to the differential equation M [z] during the next unit time t + 1 (step SA-3). . . , Yn are updated (step SA-4: Act).
そして、所定の条件を満たさない限り(ステップSA−5,No)、ハイブリッドシステムHは、上述の処理SA−1〜SA−5(Sense−Think−Actループ)を繰り返す。 As long as the predetermined condition is not satisfied (step SA-5, No), the hybrid system H repeats the above-described processing SA-1 to SA-5 (Sense-Think-Act loop).
このような仮定は、すべてのハイブリッドシステムについて当てはまるわけではないが、産業界でよく用いられる典型的なハイブリッドシステムを広く扱うことができる。なお、この仮定に当てはまらない形で記述されたハイブリッドシステムであっても、この仮定を満たすように変換することが可能である。 Such assumptions do not apply to all hybrid systems, but can handle a wide range of typical hybrid systems commonly used in industry. Note that even a hybrid system described in a form that does not apply to this assumption can be converted to satisfy this assumption.
このように、制御入力値生成装置100は、センサS・コントローラC・プラントPに分けてハイブリッドシステムを記述したモデルをモデル記憶部106aに保持することにより、プログラム論理で扱いやすくなり、以下に示すように、入力生成問題を好適に解くことができるようになる。
As described above, the control input
[制御入力値生成処理]
つづいて、本実施の形態における制御入力値生成装置100の制御入力値生成処理の一例について、図4を参照して説明する。図4は、本実施の形態における制御入力値生成装置100の制御入力値生成処理の一例を示すフローチャートである。
[Control input value generation processing]
Next, an example of the control input value generation process of the control input
ここで、制御入力値生成装置100のモデル記憶部106aには、上述のように、センサS(i1,...,ib),コントローラC,プラントPからなるハイブリッドシステムHのモデルが予め入力され保持されている。
Here, the
ここで、離散変数に関するシステム全体の事前条件を、初期条件P1(x1,...,xm)とし、離散変数に関するシステム全体の事後条件を、終了条件P2(x1,...,xm)とする。また、物理量に関するシステム全体の事前条件を、初期条件Q1(y1,...,yn)とし、物理量に関するシステム全体の事後条件を、終了条件Q2(y1,...,yn)とする。終了条件を満たす時刻を時刻Tとする。 Here, the precondition of the entire system regarding the discrete variable is set as an initial condition P1 (x1,..., Xm), and the postcondition of the entire system regarding the discrete variable is set as an end condition P2 (x1,..., Xm). To do. Further, the precondition of the entire system regarding the physical quantity is an initial condition Q1 (y1,..., Yn), and the postcondition of the entire system regarding the physical quantity is an end condition Q2 (y1,..., Yn). The time satisfying the end condition is defined as time T.
求める出力は、ハイブリッドシステムHを、時刻TにおいてP2,Q2を満たすように動作させる、各単位時刻における入力値である。この入力値を求めるため、一例として、制御入力値生成装置100は、以下の処理を行う。
The output to be obtained is an input value at each unit time at which the hybrid system H is operated to satisfy P2 and Q2 at time T. In order to obtain this input value, as an example, the control input
図4に示すように、まず、事後条件演算部102aは、時刻t:=0、離散変数に関する事後条件R[0]:=P1(離散変数の初期条件)、物理量に関する事後条件S[0]:=Q1(物理量の初期条件)に設定する(ステップSB−1)。
As shown in FIG. 4, first, the
そして、事後条件演算部102aは、t<Tの間、初期条件P1,Q1から順番に、各時刻tにおいて満たされる事後条件の演算処理(ステップSB−3〜SB−5)を行う(ステップSB−2)。
Then, the
すなわち、事後条件演算部102aは、事後条件R[t]、条件I、プログラムPSとプログラムPCを順次実行することに等価なプログラムPS;PCに基づいて、プログラム論理により、離散変数に関する事後条件R[t+1]:=Post(R[t] && I(i1[t],...,ib[t]),PS;PC)を求める(ステップSB−3)。条件の記述方式として論理式が使用される場合、事後条件演算部102aは、Postを効率よく計算できることが知られている。論理式以外の場合でも効率よくPostを計算できる記述方式が知られており、適用する技術領域に応じて任意に記述方式を選択することが可能である。
In other words, the
そして、事後条件演算部102aは、物理量に関する事後条件S[t+1]:=PostODE(R[t] && S[t] && z=1,M[1]) or ... or PostODE(R[t] && S[t] && z=a,M[a])を求める。ここで、X or Yは、XとYのいずれか一方を満たすことに相当する条件を表す。これは、条件の記述方式として論理式を用いた場合は、論理和に対応する。また、PostODE(X,M)は、条件Xを満たす物理量が微分方程式Mに従って単位時間動作した場合に満たされる条件を表す。論理式を用いて条件が記述される場合、事後条件演算部102aは、公知の手法により、効率よく事後条件PostODEを求めることができる。なお、論理式以外にも、効率よくPostやPreを計算できる記述方式が知られているので、事後条件演算部102aや事前条件演算部102bは、適用する技術領域に応じて、論理式以外にも記述方式を選択することが可能である。
Then, the posterior
そして、事後条件演算部102aは、t:=t+1として、時刻tをインクリメントする(ステップSB−5)。
Then, the
以上のように、事後条件演算部102aは、t=Tに至るまで、初期条件P1,Q1から時間順に、プログラム論理を用いて、システムHの各時刻tにおける事後条件を繰り返し演算する(ステップSB−6)。このようにPostとPostODEを用いて求めた事後条件の系列は、以降のステップSB−8〜SB−12の事前条件の演算処理において、終了条件P2,Q2から順番に各時刻における事前条件を求める際に、求めた事後条件と矛盾しないことをチェックするために用いられる。このように、予め事後条件を求めておくことで、求める入力が存在しない場合に、早くその旨を示して、探索範囲から外すことができる。
As described above, the
つづいて、事前条件演算部102bは、時刻t:=T、離散変数に関する事前条件U[T]:=P2(離散変数の終了条件)、物理量に関する事前条件V[T]:=Q2(物理量の終了条件)に設定する(ステップSB−7)。
Subsequently, the
そして、事前条件演算部102bは、t≧0の間、終了条件P2,Q2から時間逆順に、各時刻tにおいて満たされる事前条件の演算処理(ステップSB−9〜SB−11)を行う(ステップSB−8)。
Then, the
すなわち、事前条件演算部102bは、プログラムPS;PC、事前条件U[t]、事後条件R[t−1]に基づいて、プログラム論理により、離散変数に関する事前条件U[t−1]:=Pre(PS;PC,U[t],R[t−1])を求める(ステップSB−9)。条件の記述方式として論理式が使用される場合、事前条件演算部102bは、Preを効率よく計算できることが知られている。論理式以外の場合でも効率よくPreを計算できる記述方式が知られており、適用する技術領域に応じて任意に記述方式を選択することが可能である。
In other words, the
そして、事前条件演算部102bは、以下の式を用いて物理量の事前条件V[t−1]を求める(ステップSB−10)。
V[t−1]:=PreODE(M[1],U[t] && V[t]) and
...
and PreODE(M[a],U[t] && V[t])
Then, the
V [t−1]: = PreODE (M [1], U [t] && V [t]) and
. . .
and PreODE (M [a], U [t] && V [t])
ここで、X and Yは、XとYの両方を満たすことに相当する条件を表す。これは、条件の記述方式として論理式を用いた場合は、論理積に対応する。また、PreODE(M,X)は、Yを満たす物理量がMにしたがって単位時間動作した後にXを満たすような条件Yを表す。論理式を用いて条件が記述される場合、事前条件演算部102bは、公知の手法により、効率よく事前条件PreODEを求めることができる。
Here, X and Y represent a condition corresponding to satisfying both X and Y. This corresponds to a logical product when a logical expression is used as a condition description method. PreODE (M, X) represents a condition Y that satisfies X after a physical quantity that satisfies Y operates for a unit time according to M. When the condition is described using a logical expression, the
なお、事前条件演算部102bは、各時刻tにおけるU[t]、V[t]を幾つかの小さい条件の和集合として表現してもよい(例えば、条件の記述方式として論理式を用いる場合は、論理式を和積標準形(disjunctive normal form)として表現してもよい)。その場合、事前条件演算部102bは、ステップSB−9,10において、それぞれの小さい条件Xについて、Pre(PS;PC,X,R[t−1])やPreODE(M[i],X)を求めることで、より効率的に事前条件を求めることができる。この場合,事前条件演算部102bは、条件がR[t−1]に矛盾するなどの理由で空となった場合は、その条件を探索範囲から外すことができる。後述する実験においては、この探索範囲の削減が規模の大きい入力生成問題に不可欠であることが確認された。
The
そして、事前条件演算部102bは、t:=t−1として、時刻tをデクリメントする(ステップSB−11)。
And the
以上のように、事前条件演算部102aは、t=0に至るまで、終了条件P2,Q2から時間逆順に、プログラム論理を用いて、システムHの各時刻tにおける事前条件を繰り返し演算する(ステップSB−12)。このように、事前条件演算部102bは、終了条件P2,Q2から順番に各時刻における事前条件を求める際に、事後条件演算部102aにより演算された事後条件を利用して、事前条件の探索範囲を効率よく限定して事前条件を演算する。
As described above, the
つづいて、入力列取得部102cは、t=0に設定して、t<Tの間、事前条件演算部102bにより演算された事前条件から、各時刻tにおける制御入力値iを繰り返し抽出する処理(ステップSB−14,SB−15)を行うことにより、初期条件から終了条件に至るような制御入力値iの入力列i[1,...,T−1]を取得する処理を開始する(ステップSB−13)。
Subsequently, the input sequence acquisition unit 102c sets t = 0, and repeatedly extracts the control input value i at each time t from the precondition calculated by the
すなわち、入力列取得部102cは、(i1[t],...,ib[t]):=Pick(V[t])として、時刻tの物理量の事前条件V[t]から入力列を見つける処理を行う(ステップSB−14)。ここで、Pick(X)は、Xを満たすようなi1,...,ibを一つ見つける手続きである。なお、論理式を用いて条件が記述される場合は、入力列取得部102cは、公知の手法により、効率よくPick(X)を求めることができる。 That is, the input sequence acquisition unit 102c sets (i1 [t],..., Ib [t]): = Pick (V [t]) as the input sequence from the physical quantity precondition V [t] at time t. A finding process is performed (step SB-14). Here, Pick (X) is i1,. . . , Ib is a procedure for finding one. When the condition is described using a logical expression, the input string acquisition unit 102c can efficiently obtain Pick (X) by a known method.
そして、入力列取得部102cは、t:=t+1として時刻tをインクリメントして、t=Tに至るまで、上述のステップSB−14の処理を繰り返し、t=Tに至ると入力列の抽出処理を終える(ステップSB―16)。 Then, the input sequence acquisition unit 102c increments the time t by setting t: = t + 1, repeats the process of step SB-14 described above until t = T, and extracts the input sequence when t = T. Is finished (step SB-16).
そして、入力列取得部102cは、求めた各単位時刻における入力値の系列((i1[1],...,ib[1]),...,(i1[T−1],...,ib[T−1]))を返す(ステップSB−17)。 Then, the input string acquisition unit 102c obtains the series of input values ((i1 [1],..., Ib [1]),..., (I1 [T-1],. , Ib [T-1])) (step SB-17).
以上が、制御入力値生成装置100における制御入力値生成処理の一例である。なお、上述したステップSB−4とSB−10において、orとandの計算はできるだけ正確であることが望ましいが、条件のサイズが大きいなど実行効率に悪影響を与える問題がある場合は、ステップSB−4においてはより弱い条件を、ステップSB−10においてはより強い条件を用いることができる。この場合、条件のメモリ上でのサイズに関するしきい値を定めておき、条件のサイズがそのしきい値を超えた場合に条件の弱化や強化を行う等の手法を採用してもよい。このしきい値は、本実施形態を適用する問題領域に応じて適宜調整する。
The above is an example of the control input value generation process in the control input
ここで、制御入力値生成装置100は、以上のように求めた制御入力値の系列を、実際にハイブリッドシステムのセンサSに時刻tに応じて入力することで、理論上求めた制御入力値が実際に機能するか確かめることができる。ここで、上述した例1を簡略化した例2について、求めた制御入力値を適用した際の動作を示す。ここで、図5は、例2で用いた制御モデルを模式的に示した図である。
Here, the control input
図5に示すように、例2では、速度vで走行する自動車をモデル化している。変数vは、自動車の速度を表す。上述の例1とセンサS、プラントP、コントローラCの内容を変更している。このモデルにおいて、以下の条件で制御入力値生成処理を行った。
初期条件:cnt=0, −0.1<=v<=0.1
終了条件:true, 1.5<=v<=2
As shown in FIG. 5, Example 2 models an automobile traveling at a speed v. The variable v represents the speed of the car. The contents of the example 1, the sensor S, the plant P, and the controller C are changed. In this model, control input value generation processing was performed under the following conditions.
Initial conditions: cnt = 0, −0.1 <= v <= 0.1
Termination condition: true, 1.5 <= v <= 2
上述したステップSB−1〜SB−6の処理により、各時刻tにおける事後条件が求まる。R[0],S[0],R[1],R[1]を例示すると以下となる。
R[0]= cnt=0
S[0]= 0<=v<=1
R[1]= (cnt=0 || cnt=1) && z=Acl
S[1]= 1<=v<=1.5
The post-conditions at each time t are obtained by the processing of steps SB-1 to SB-6 described above. Examples of R [0], S [0], R [1], and R [1] are as follows.
R [0] = cnt = 0
S [0] = 0 <= v <= 1
R [1] = (cnt = 0 || cnt = 1) && z = Acl
S [1] = 1 <= v <= 1.5
同様の手続きを繰り返すことで、t=2の場合が以下のように求まる。
R[2]= (cnt=0 || cnt=1 || cnt=2 || cnt=3)
V[2]= (1<=v<=1.5 || 1.75<=v<=1.875)
By repeating the same procedure, the case where t = 2 is obtained as follows.
R [2] = (cnt = 0 || cnt = 1 || cnt = 2 || cnt = 3)
V [2] = (1 <= v <= 1.5 || 1.75 <= v <= 1.875)
次に、上述したステップSB−7〜SB−12の処理により、各時刻tにおける事前条件が以下のように求まる。
U[3] = true
S[3] = 1.5<=v<=2
Next, the preconditions at each time t are obtained as follows by the processing of steps SB-7 to SB-12 described above.
U [3] = true
S [3] = 1.5 <= v <= 2
PS;PCと各微分方程式に基づく事前条件は、以下の条件1〜3の論理和として表される。
条件1. cnt<1 && 1<=v<=2
条件2. 1<=v<=1.2
条件3. cnt>=1 && 2<=v<=2.5
The precondition based on PS; PC and each differential equation is expressed as the logical sum of the following conditions 1-3.
ここで、条件1〜3の論理和は、条件U[2],V[2]の条件を用いることで、以下のように限定される。
条件1: cnt=0 && (1<=v<=1.5 || 1.75<=v<=1.875)
条件2: (cnt=0 || cnt=1 || cnt=2 || cnt=3) && 1<=v<=1.2
条件3: false
Here, the logical sum of the
Condition 1: cnt = 0 && (1 <= v <= 1.5 || 1.75 <= v <= 1.875)
Condition 2: (cnt = 0 || cnt = 1 || cnt = 2 || cnt = 3) && 1 <= v <= 1.2
Condition 3: false
条件1の範囲が限定され、条件3が空集合となり予め求めた事後条件によって探索空間から外すことができる。
The range of the
[実験結果]
本実施形態のアルゴリズムを計算機で動作するソフトウェアとして実装し、例1の問題を含むいくつかのモデルに適用した。その結果が、以下の表に示される実験結果を得た。
The algorithm of this embodiment is implemented as software that runs on a computer, and is applied to several models including the problem of Example 1. As a result, the experimental results shown in the following table were obtained.
上の表は、例1に対して時間を10,20,30,100,1000とした際の実行時間を表している。アルゴリズムの実行時間は、randomと1列目に書いてある2つの行であり、2列目にonと書いてある行は、上述した条件の弱化を行った実験結果、そうでない行は、条件の弱化を行っていない実験結果である。いずれの場合でも本実施形態の有利な効果が実証されたが、T=1000において、後者ではタイムアウトする場合でも、前者では実行できており、条件の弱化を行うことによって制御入力値をより一層的確に求められることが確かめられた。 The above table shows the execution time when the time is 10, 20, 30, 100, and 1000 for Example 1. The execution time of the algorithm is two rows written in random and the first column, the row written on in the second column is the result of the above-mentioned weakening of the conditions, and the other rows are the conditions It is the experimental result which has not weakened. In any case, the advantageous effects of the present embodiment have been demonstrated, but at T = 1000, the former can be executed even when the latter times out, and the control input value can be more accurately determined by weakening the conditions. It has been confirmed that
以上が、本実施の形態の説明を終える。 This is the end of the description of the present embodiment.
[他の実施の形態]
さて、これまで本発明の実施の形態について説明したが、本発明は、上述した実施の形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施の形態にて実施されてよいものである。
[Other embodiments]
Although the embodiments of the present invention have been described so far, the present invention is not limited to the above-described embodiments, but can be applied to various different embodiments within the scope of the technical idea described in the claims. It may be implemented.
また、制御入力値生成装置100がスタンドアローンの形態で処理を行う場合を一例に説明したが、制御入力値生成装置100は、クライアント端末からの要求に応じて処理を行い、その処理結果を当該クライアント端末に返却するようにしてもよい。
Moreover, although the case where the control input
また、実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。 In addition, among the processes described in the embodiment, all or part of the processes described as being automatically performed can be performed manually, or the processes described as being performed manually can be performed. All or a part can be automatically performed by a known method.
このほか、上記文献中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。 In addition, unless otherwise specified, the processing procedures, control procedures, specific names, information including registration data for each processing, parameters such as search conditions, screen examples, and database configurations shown in the above documents and drawings Can be changed arbitrarily.
また、制御入力値生成装置100に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
Further, regarding the control input
例えば、制御入力値生成装置100の各装置が備える処理機能、特に制御部102にて行われる各処理機能については、その全部または任意の一部を、CPU(Central Processing Unit)および当該CPUにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。なお、プログラムは、後述する記録媒体に記録されており、必要に応じて制御入力値生成装置100に機械的に読み取られる。すなわち、ROMまたはHDDなどの記憶部106などには、OS(Operating System)として協働してCPUに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、RAMにロードされることによって実行され、CPUと協働して制御部を構成する。
For example, the processing functions provided in each device of the control input
また、このコンピュータプログラムは、制御入力値生成装置100に対して任意のネットワークを介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。
The computer program may be stored in an application program server connected to the control input
また、本発明に係るプログラムを、コンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、USBメモリ、SDカード、フレキシブルディスク、光磁気ディスク、ROM、EPROM、EEPROM、CD−ROM、MO、DVD、および、Blu−ray(登録商標)Disc等の任意の「可搬用の物理媒体」を含むものとする。 In addition, the program according to the present invention may be stored in a computer-readable recording medium, and may be configured as a program product. Here, the “recording medium” means a memory card, USB memory, SD card, flexible disk, magneto-optical disk, ROM, EPROM, EEPROM, CD-ROM, MO, DVD, and Blu-ray (registered trademark). It includes any “portable physical medium” such as Disc.
また、「プログラム」とは、任意の言語や記述方法にて記述されたデータ処理方法であり、ソースコードやバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、OS(Operating System)に代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施の形態に示した各装置において記録媒体を読み取るための具体的な構成、読み取り手順、あるいは、読み取り後のインストール手順等については、周知の構成や手順を用いることができる。 The “program” is a data processing method described in an arbitrary language or description method, and may be in any format such as source code or binary code. The “program” is not necessarily limited to a single configuration, but is distributed in the form of a plurality of modules and libraries, or in cooperation with a separate program represented by an OS (Operating System). Including those that achieve the function. Note that a well-known configuration and procedure can be used for a specific configuration for reading a recording medium, a reading procedure, an installation procedure after reading, and the like in each device described in the embodiment.
記憶部106に格納される各種のデータベース等(モデル記憶部106a等)は、RAM、ROM等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、および、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、および、ウェブページ用ファイル等を格納する。
Various databases (
また、制御入力値生成装置100は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置として構成してもよく、また、該情報処理装置に任意の周辺装置を接続して構成してもよい。また、制御入力値生成装置100は、該情報処理装置に本発明の方法を実現させるソフトウェア(プログラム、データ等を含む)を実装することにより実現してもよい。
The control input
更に、装置の分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じて、または、機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。すなわち、上述した実施の形態を任意に組み合わせて実施してもよく、実施の形態を選択的に実施してもよい。 Furthermore, the specific form of distribution / integration of the devices is not limited to that shown in the figure, and all or a part of them may be functional or physical in arbitrary units according to various additions or according to functional loads. Can be distributed and integrated. In other words, the above-described embodiments may be arbitrarily combined and may be selectively implemented.
以上詳述に説明したように、本発明によれば、デジタルコントローラの離散的な挙動が支配的な物理情報システムであっても、与えられた初期条件と終了条件を満たすような制御入力値を生成することができる、制御入力値生成装置、制御入力値生成方法、および、プログラムを提供することができ、様々な分野において極めて有用である。例えば、物理情報システムの応用分野は、自動車産業、航空機産業、宇宙産業など多岐にわたっているので、これら物理情報システムの設計・品質向上において、設計したシステムが望ましい振る舞いを行うための制御入力値生成は、非常に大きなニーズを持つ。例えば、差分開発されたシステム(一部のユニットのみ変更)について、変更後のシステム全体での振る舞いを確認するために、変更したユニットにうまく影響を及ぼすようなテスト入力を生成するといった利用例が考えられる。本発明の利用価値は、単なる制御入力値生成にとどまらず、期待しないエラーなどの挙動を実現する制御入力値を得ることでシステム設計にフィードバックするなど、幅広い用途が期待できる。 As described above in detail, according to the present invention, even in a physical information system in which the discrete behavior of a digital controller is dominant, a control input value that satisfies given initial conditions and end conditions is obtained. A control input value generation device, a control input value generation method, and a program that can be generated can be provided, and are extremely useful in various fields. For example, the application fields of physical information systems are diverse, such as the automobile industry, aircraft industry, space industry, etc., so in the design and quality improvement of these physical information systems, control input value generation for the desired behavior of the designed system is not possible Have very big needs. For example, in a differentially developed system (only some units are changed), in order to confirm the behavior of the entire system after the change, there is an example of use such as generating test input that has a good effect on the changed unit. Conceivable. The utility value of the present invention is not limited to simple control input value generation, but can be expected to be used in a wide range of applications, such as feedback to system design by obtaining control input values that realize behavior such as unexpected errors.
上述したモデル例1やモデル例2のような形の入力生成問題は、広い産業上の利用可能性を持つ。その一つとして、上記のシステムのテストが挙げられる。これは、システムが意図通りに動作することを確認するために、様々な入力を用いて実機もしくはシミュレーションによりシステムを動作させる手法である。このとき、確認したいシステムの状態を初期条件・終了条件として記述した上で、本実施形態を適用することにより、テストに用いる入力を効率よく求めることが可能となる。また、本発明によれば、産業界でよく見られる時間割り込みシステムなどに対して比較的大きな例を数分のオーダーで解くことが可能であり、その利用価値は非常に高い。 The input generation problem in the form of model example 1 and model example 2 described above has wide industrial applicability. One example is testing the above system. This is a method of operating a system by an actual machine or simulation using various inputs in order to confirm that the system operates as intended. At this time, by describing the state of the system to be confirmed as the initial condition / end condition and applying this embodiment, it is possible to efficiently obtain the input used for the test. Further, according to the present invention, it is possible to solve a comparatively large example for a time interrupt system or the like often found in the industry on the order of several minutes, and its utility value is very high.
100 制御入力値生成装置
102 制御部
102a 事後条件演算部
102b 事前条件演算部
102c 入力列取得部
106 記憶部
106a モデル記憶部
108 入出力制御インターフェース部
C コントローラ
S センサ
P プラント
DESCRIPTION OF
Claims (4)
プログラム論理を用いて、上記初期条件から時間順に、上記物理情報システムの各制御サイクルにおける事後条件を演算する事後条件演算手段と、
プログラム論理を用いて、上記終了条件から時間逆順に、上記各制御サイクルにおける事前条件を演算する事前条件演算手段と、
上記事前条件演算手段により演算された上記事前条件から、上記各制御サイクルにおける制御入力値を抽出することにより、上記初期条件から上記終了条件に至るような上記制御入力値の入力列を取得する入力列取得手段と、
を備え、
上記事前条件演算手段は、
上記事後条件演算手段により演算された上記事後条件を用いて、上記各制御サイクルにおける上記事前条件の探索範囲を限定して、当該事前条件を演算すること
を特徴とする制御入力値生成装置。 A control input value generation device that generates a control input value for operating a physical information system from an initial condition to an end condition,
Using program logic, post-condition calculation means for calculating post-conditions in each control cycle of the physical information system in time order from the initial conditions;
Precondition calculation means for calculating the precondition in each control cycle in reverse order of time from the end condition using program logic;
An input for acquiring an input string of the control input values from the initial condition to the end condition by extracting the control input value in each control cycle from the precondition calculated by the precondition calculating means. Column acquisition means;
With
The precondition calculating means is:
A control input value generation device, wherein the precondition is calculated by limiting the search range of the precondition in each control cycle using the postcondition calculated by the postcondition calculating means. .
上記物理情報システムは、
コントローラが、センサからのフィードバックを利用してプラントを制御するシステムであって、上記各制御サイクルにおいて、
上記センサは、
入力される上記制御入力値と、検出される上記プラントの物理量と、所定のセンサプログラムとに従って、上記コントローラの状態変数を更新し、
上記コントローラは、
上記更新された状態変数と、所定のコントローラプログラムとに従って、当該コントローラの状態変数と、上記プラントと上記センサで共有される変数zとを更新し、
上記プラントは、
次の上記制御サイクルにおいて、更新された上記変数zの微分方程式M[z]に従って、上記物理量を更新しながら動作すること
を特徴とする制御入力値生成装置。 The control input value generation device according to claim 1,
The physical information system is
A controller is a system that controls a plant using feedback from a sensor, and in each of the above control cycles,
The sensor
In accordance with the input control input value, the detected physical quantity of the plant, and a predetermined sensor program, update the state variables of the controller,
The above controller
According to the updated state variable and a predetermined controller program, the state variable of the controller and the variable z shared by the plant and the sensor are updated,
The plant is
In the next control cycle, the control input value generating device operates while updating the physical quantity according to the updated differential equation M [z] of the variable z.
プログラム論理を用いて、上記初期条件から時間順に、上記物理情報システムの各制御サイクルにおける事後条件を演算する事後条件演算ステップと、
プログラム論理を用いて、上記終了条件から時間逆順に、上記各制御サイクルにおける事前条件を演算する事前条件演算ステップと、
上記事前条件演算ステップにて演算された上記事前条件から、上記各制御サイクルにおける制御入力値を抽出することにより、上記初期条件から上記終了条件に至るような上記制御入力値の入力列を取得する入力列取得ステップと、
を備え、
上記事前条件演算ステップは、
上記事後条件演算手段にて演算された上記事後条件を用いて、上記各制御サイクルにおける上記事前条件の探索範囲を限定して、当該事前条件を演算すること
を特徴とする制御入力値生成方法。 A control input value generation method for generating a control input value for operating a physical information system from an initial condition to an end condition,
A post-condition calculation step of calculating post-conditions in each control cycle of the physical information system in time order from the initial conditions using program logic;
A precondition calculation step for calculating preconditions in each control cycle in reverse order of time from the end conditions using program logic;
By extracting the control input value in each control cycle from the precondition calculated in the precondition calculating step, an input string of the control input value that reaches the end condition from the initial condition is acquired. An input string acquisition step;
With
The precondition calculation step includes
Control input value generation characterized in that the precondition is calculated by limiting the search range of the precondition in each control cycle using the postcondition calculated by the postcondition calculating means. Method.
プログラム論理を用いて、上記初期条件から時間順に、上記物理情報システムの各制御サイクルにおける事後条件を演算する事後条件演算ステップと、
プログラム論理を用いて、上記終了条件から時間逆順に、上記各制御サイクルにおける事前条件を演算する事前条件演算ステップと、
上記事前条件演算ステップにて演算された上記事前条件から、上記各制御サイクルにおける制御入力値を抽出することにより、上記初期条件から上記終了条件に至るような上記制御入力値の入力列を取得する入力列取得ステップと、
を実行させるためのプログラムであって、
上記事前条件演算ステップは、
上記事後条件演算手段にて演算された上記事後条件を用いて、上記各制御サイクルにおける上記事前条件の探索範囲を限定して、当該事前条件を演算すること
を特徴とするプログラム。 A program for causing a computer to execute a method of generating a control input value for operating a physical information system from an initial condition to an end condition,
A post-condition calculation step of calculating post-conditions in each control cycle of the physical information system in time order from the initial conditions using program logic;
A precondition calculation step for calculating preconditions in each control cycle in reverse order of time from the end conditions using program logic;
By extracting the control input value in each control cycle from the precondition calculated in the precondition calculating step, an input string of the control input value that reaches the end condition from the initial condition is acquired. An input string acquisition step;
A program for executing
The precondition calculation step includes
A program for calculating the precondition by limiting the search range of the precondition in each control cycle using the postcondition calculated by the postcondition calculating means.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014072623A JP2015194917A (en) | 2014-03-31 | 2014-03-31 | Control input value generation device, control input value generation method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014072623A JP2015194917A (en) | 2014-03-31 | 2014-03-31 | Control input value generation device, control input value generation method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015194917A true JP2015194917A (en) | 2015-11-05 |
Family
ID=54433860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014072623A Pending JP2015194917A (en) | 2014-03-31 | 2014-03-31 | Control input value generation device, control input value generation method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015194917A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106681139A (en) * | 2016-12-19 | 2017-05-17 | 重庆承亿机电设备有限公司 | Method for automatically controlling analog and designation of frequencies of frequency converter |
WO2022138778A1 (en) * | 2020-12-24 | 2022-06-30 | 大学共同利用機関法人情報・システム研究機構 | Monitoring device and monitoring method |
WO2023204098A1 (en) * | 2022-04-19 | 2023-10-26 | 大学共同利用機関法人情報・システム研究機構 | Safety rule generation device, navigation system, safety rule generation method, navigation method, and program |
-
2014
- 2014-03-31 JP JP2014072623A patent/JP2015194917A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106681139A (en) * | 2016-12-19 | 2017-05-17 | 重庆承亿机电设备有限公司 | Method for automatically controlling analog and designation of frequencies of frequency converter |
WO2022138778A1 (en) * | 2020-12-24 | 2022-06-30 | 大学共同利用機関法人情報・システム研究機構 | Monitoring device and monitoring method |
WO2023204098A1 (en) * | 2022-04-19 | 2023-10-26 | 大学共同利用機関法人情報・システム研究機構 | Safety rule generation device, navigation system, safety rule generation method, navigation method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2019220141A (en) | Branch Coverage Guided Symbolic Execution for Hybrid Fuzz Testing of Software Binaries | |
Duan et al. | Further results on output-feedback stabilization for a class of stochastic nonlinear systems | |
Hall et al. | The state of machine learning methodology in software fault prediction | |
WO2015076084A1 (en) | Method and controller for controlling operation of machine | |
JP2015194917A (en) | Control input value generation device, control input value generation method, and program | |
Wei et al. | Finite‐time stochastic stabilisation of Markovian jump non‐linear quadratic systems with partially known transition probabilities | |
CN105243069A (en) | Intelligent system for big data cognitive decision-making | |
JPWO2013172310A1 (en) | Rule discovery system, method, apparatus and program | |
Chen | The asymptotic behavior for second-order neutral stochastic partial differential equations with infinite delay | |
JP5164920B2 (en) | Test data generation method, apparatus and program | |
Hao et al. | Testing fine-grained parallelism for the admm on a factor-graph | |
CN106126670B (en) | Operation data sorting processing method and device | |
Wu et al. | Experimentally determining passivity indices: Theory and simulation | |
JP6648828B2 (en) | Information processing system, information processing method, and program | |
JP5126694B2 (en) | Learning system | |
Brandão et al. | Nonlinear dynamics and chaos of a nonsmooth rotor-stator system | |
JP2018018197A (en) | Source code evaluation program | |
Elvira-Ceja et al. | Discrete-time inverse optimal control for stochastic nonlinear systems trajectory tracking | |
JP6802109B2 (en) | Software specification analyzer and software specification analysis method | |
Estrada-Vargas et al. | Stepwise identification of automated discrete manufacturing systems | |
Wang et al. | KeenTune: Automated Tuning Tool for Cloud Application Performance Testing and Optimization | |
WO2020235104A1 (en) | Parameter estimating device, parameter estimating method, and parameter estimating program | |
US20140047411A1 (en) | Mechanism for transforming between type-independent and type-specific code | |
Guo et al. | Bayesian network structure learning algorithms of optimizing fault sample set | |
JP6330490B2 (en) | Test case generation program, test case generation apparatus, and test case generation method |