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 PDF

Info

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
Application number
JP2014072623A
Other languages
Japanese (ja)
Inventor
一郎 蓮尾
Ichiro Hasuo
一郎 蓮尾
拓未 赤崎
Takumi Akazaki
拓未 赤崎
幸平 末永
Kohei Suenaga
幸平 末永
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.)
Japan Science and Technology Agency
Original Assignee
Japan Science and Technology Agency
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 Japan Science and Technology Agency filed Critical Japan Science and Technology Agency
Priority to JP2014072623A priority Critical patent/JP2015194917A/en
Publication of JP2015194917A publication Critical patent/JP2015194917A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Feedback Control In General (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a control input value generation device, a control input value generation method, and a program which are capable of generating such a control input value that given initial and termination conditions are satisfied in even a physical information system in which the discrete behavior of a digital control is dominant.SOLUTION: When, in order for a physical information system to be operated so as to go from an initial condition through a termination condition, a postcondition in each control cycle of the physical information system is calculated using program logic in order of time from the initial condition, a precondition in each control cycle is calculated using program logic in order of time from the termination condition, and a control input value in each control cycle is extracted from the calculated precondition, whereby the input sequence of control input values so as to go from the initial condition through the termination condition is acquired, the present invention limits, when calculating the precondition, the search range of the precondition in each control cycle by using the calculated postcondition and calculates the precondition.

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 Document 1 discloses a method for generating an input string of a physical information system. This method focuses on the dynamics of a physical plant and generates an input sequence that satisfies a given condition by reducing it to a continuous function optimization problem.

Annpureddy, Y., Liu, C., Fainekos, G.E., Sankaranarayanan, S.: S−TaLiRo: “A tool for temporal logic falsification for hybrid systems.” In: Abdulla, P.A., Leino, K.R.M. (eds.) TACAS. Lecture Notes in Computer Science, vol. 6605, pp. 254−257. Springer (2011)Annpurdeddy, Y.M. Liu, C .; Fainekos, G .; E. Sankaranarayanan, S. : S-TaLiRo: “A tool for temporal logic falsification for hybrid systems.” In: Abdulla, P .; A. Leino, K .; R. M.M. (Eds.) TACAS. Lecture Notes in Computer Science, vol. 6605, pp. 254-257. Springer (2011)

しかしながら、従来のシステム検証の技術では、物理情報システムへの入力を明示的に扱えず、したがって入力列生成の問題にそのまま適用することはできない、という問題点を有していた。   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 Document 1 is effective only when the behavior of the digital controller is not dominant and the behavior of the physical information system dominates the behavior of the entire system. Can only exhibit good performance when it is continuous over almost the entire area. Therefore, a physical information system in which the behavior of a digital controller is dominant cannot handle discontinuities and discrete behavior well, and it cannot obtain an input value string even for a relatively simple system. Had problems.

本発明は、上記問題点に鑑みてなされたもので、デジタルコントローラの離散的な挙動が支配的な物理情報システムであっても、与えられた初期条件と終了条件を満たすような制御入力値を生成することができる、制御入力値生成装置、制御入力値生成方法、および、プログラムを提供することを目的とする。   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.

図1は、本実施の形態が適用される本制御入力値生成装置100の一例を示すブロック図である。FIG. 1 is a block diagram illustrating an example of the control input value generation device 100 to which the present exemplary embodiment is applied. 図2は、自動車産業等においてよく現れる入力生成問題を説明するためのハイブリッドシステムの例1を模式的に示した図である。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. 図3は、Sense−Think−Actループモデルにおける処理の一例を示すフローチャートである。FIG. 3 is a flowchart illustrating an example of processing in the Sense-Think-Act loop model. 図4は、本実施の形態における制御入力値生成装置100の制御入力値生成処理の一例を示すフローチャートである。FIG. 4 is a flowchart illustrating an example of the control input value generation process of the control input value generation device 100 according to the present embodiment. 図5は、例2で用いた制御モデルを模式的に示した図である。FIG. 5 is a diagram schematically illustrating the control model used in Example 2.

以下に、本発明にかかる制御入力値生成装置、制御入力値生成方法、および、プログラムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。例えば、本実施の形態では、物理情報システムの例としてハイブリッドシステムに適用した例を挙げて説明することがあるが、本発明はこれに限られず、サイバーフィジカルシステムなど他の物理情報システムに適用してもよい。また、以下の実施の形態では、自動車の速度制御系に適用した例について説明する場合があるが、これに限られず、飛行機、衛星など様々な制御系に適用してもよい。   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 value generation device 100 to which the present embodiment is applied, and conceptually shows only the portion related to the present embodiment in the configuration.

図1に示すように、本実施の形態における制御入力値生成装置100は、概略的に、制御部102と記憶部106を少なくとも備え、本実施の形態において、更に、入出力制御インターフェース部108を備える。ここで、制御部102は、制御入力値生成装置100の全体を統括的に制御するCPU等である。また、本実施の形態において、入出力制御インターフェース部108は、ハイブリッドシステムに接続されるインターフェースである。また、記憶部106は、各種のデータベースやテーブルなどを格納する装置である。これら制御入力値生成装置100の各部は任意の通信路を介して通信可能に接続されている。   As shown in FIG. 1, the control input value generation device 100 in the present embodiment schematically includes at least a control unit 102 and a storage unit 106. In the present embodiment, an input / output control interface unit 108 is further provided. Prepare. Here, the control unit 102 is a CPU or the like that comprehensively controls the entire control input value generation device 100. In the present embodiment, the input / output control interface unit 108 is an interface connected to the hybrid system. The storage unit 106 is a device that stores various databases and tables. Each unit of the control input value generation device 100 is connected to be communicable via an arbitrary communication path.

また、入出力制御インターフェース部108は、本実施の形態において、ハイブリッドシステムの制御を行う。本実施の形態において、ハイブリッドシステムとは、状態に離散的な状態(例えばCPUのレジスタの値)と連続的な状態(たとえば温度)を含むシステムである。例えば、ソフトウェアで制御を行う自動車等もハイブリッドシステムである。なお、図示のハイブリッドシステムに限られず、サイバーフィジカルシステムやサンプルデータシステム等の物理情報システムに本実施の形態を適用することもできる。サイバーフィジカルシステムとは、プラント等の物理システムと情報システムを組み合わせたシステムであり、多くの場合、ハイブリッドシステムとしての側面を持つ。すなわち、様々な物理システムの制御がICTシステムによって行われる現在、サイバーフィジカルシステムは重要性を増しているが、サイバーフィジカルシステムはその性質上、離散的遷移と連続的遷移が両方存在するハイブリッドシステムとして実現されることが多い。なお、以下の実施の形態においては、プラントからコントローラへのフィードバックが一定時間ごとに起こるハイブリッドシステムであるサンプルデータシステムを例示することがあるが、本発明は、これに限られない。   The input / output control interface unit 108 controls the hybrid system in the present embodiment. In the present embodiment, the hybrid system is a system including a discrete state (for example, a CPU register value) and a continuous state (for example, temperature). For example, an automobile that is controlled by software is also a hybrid system. The present embodiment is not limited to the illustrated hybrid system, and the present embodiment can be applied to a physical information system such as a cyber physical system or a sample data system. A cyber physical system is a system that combines a physical system such as a plant and an information system, and in many cases, has a side as a hybrid system. In other words, the cyber physical system is gaining importance nowadays when various physical systems are controlled by the ICT system, but the cyber physical system is a hybrid system that has both discrete and continuous transitions due to its nature. Often realized. In the following embodiments, a sample data system that is a hybrid system in which feedback from the plant to the controller occurs every certain time may be exemplified, but the present invention is not limited to this.

図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 value generation device 100 executes an algorithm for generating an input value of the hybrid system. This algorithm gives a description of a hybrid system that receives external inputs (also called disturbances and noise in control theory) and gives an initial condition and an end condition. Generate. The main idea of this algorithm is to reduce the size of the input to be searched among the possible inputs by performing precondition calculation and postcondition calculation based on the program logic. As will be described later, it was experimentally confirmed that this method is actually effective.

制御入力値生成装置100は、入出力制御インターフェース部108を介して、求めた制御入力値iをセンサSに入力することにより、与えられた初期条件と終了条件を満たすような制御を実現することができる。   The control input value generation device 100 realizes control that satisfies the given initial condition and end condition by inputting the obtained control input value i to the sensor S via the input / output control interface unit 108. Can do.

記憶部106に格納される各種のデータベースやテーブル(モデル記憶部106a等)は、固定ディスク装置等のストレージ手段である。例えば、記憶部106は、各種処理に用いる各種のプログラム、テーブル、ファイル、データベース、および、ウェブページ等を格納する。   Various databases and tables (such as the model storage unit 106a) stored in the storage unit 106 are storage means such as a fixed disk device. For example, the storage unit 106 stores various programs, tables, files, databases, web pages, and the like used for various processes.

これら記憶部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 storage unit 106, the model storage unit 106a is a model storage unit that stores a model of the physical information system. For example, the model storage unit 106a stores a model of a physical information system in which the controller C controls the plant P using feedback from the sensor S. As an example of modeling of a physical information system, modeling by a Sense-Think-Act loop is given. In this model, in each control cycle, the sensor S updates the state variable xs of the controller C according to the input control input value i, the detected physical quantity of the plant P, and the predetermined sensor program PS. A Think process in which the controller C updates the state variable xa of the controller and the variable z shared by the plant P and the sensor S according to the updated state variable xs and a predetermined controller program PC, P includes an Act process that operates while updating the physical quantity v according to the updated differential equation M [z] of the variable z in the next control cycle. With the model based on the Sense-Think-Act loop, the behavior of the controller can be modeled by a programming language, as in a general physical information system found in the industry. Note that the programs such as the sensor program PS and the controller program PC refer to program text written in a high-level language such as C language or Java (registered trademark) language in the present embodiment as an example.

また、図1において、制御部102は、OS(Operating System)等の制御プログラムや、各種の処理手順等を規定したプログラム、および、所要データを格納するための内部メモリを有する。そして、制御部102は、これらのプログラム等により、種々の処理を実行するための情報処理を行う。制御部102は、機能概念的に、事後条件演算部102a、事前条件演算部102b、および、入力列取得部102cを備える。   In FIG. 1, the control unit 102 has an internal memory for storing a control program such as an OS (Operating System), a program that defines various processing procedures, and necessary data. And the control part 102 performs the information processing for performing various processes by these programs. The control unit 102 includes a post-condition calculation unit 102a, a precondition calculation unit 102b, and an input string acquisition unit 102c in terms of functional concept.

このうち、事後条件演算部102aは、プログラム論理を用いて、初期条件から時間順に、物理情報システムの各制御サイクルにおける事後条件を演算する事後条件演算手段である。   Among these, the post-condition calculating unit 102a is a post-condition calculating unit that calculates the post-condition in each control cycle of the physical information system in order of time from the initial condition using the program logic.

ここで、本実施の形態において、条件は、物理情報システムの状態に関する論理式等のように、何らかの形式的な記述方式で扱うことができる。例えば、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 precondition calculation unit 102b is a precondition calculation unit that calculates the precondition in each control cycle in reverse order of time from the end condition using the program logic. The precondition is a condition that must be satisfied when the physical information system is started. Here, in this embodiment, in particular, a condition that must be satisfied at the start of each control cycle of the physical information system is called a precondition, and a precondition that must be satisfied at the start of the entire physical information system is an initial condition. Call and distinguish.

なお、事前条件演算部102bは、事後条件演算部102aにより演算された事後条件を用いて、各制御サイクルにおける事前条件の探索範囲を限定する。これにより、コントローラCの分岐処理等のように離散的挙動を示す場合であっても、探索範囲の指数関数的な爆発を抑えることができる。   Note that the precondition calculation unit 102b limits the search range of the precondition in each control cycle by using the postcondition calculated by the postcondition calculation unit 102a. Thereby, even if it shows a discrete behavior as in the branching process of the controller C, an exponential explosion of the search range can be suppressed.

事後条件演算部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 post-condition calculation unit 102a, the pre-condition calculation unit 102b, etc., when the pre-condition or post-condition is given by a logical expression, the program such as the sensor program PS or the controller program PC It is a deductive method to prove that the post-condition is satisfied. For example, publicly known Hoare logic can be used as the program logic (see http://www-mmm.is.s-u-tokyo.ac.jp/˜ichiro/talks/komabaSogo2011Handout.pdf). By using program logic, the following two conditions can be calculated efficiently.
-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 precondition calculation unit 102b calculates by using the fact that Pre (c, A, B) obtained by slightly refining the calculation Pre (c, A) of the above precondition is easily obtained. May be performed.
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 precondition calculation unit 102b, thereby inputting the control input value input sequence from the initial condition to the end condition. Is an input string acquisition means for acquiring.

以上が、本実施の形態における制御入力値生成装置100の構成の一例である。   The above is an example of the configuration of the control input value generation device 100 in the present embodiment.

[本実施の形態の処理]
次に、このように構成された本実施の形態における処理の例について、以下に図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 value generation device 100 models on the assumption that the hybrid system is described as being divided into the sensor S, the controller C, and the plant P as in Example 1. Here, the controller C has states x1,... Consisting of discrete m variables. . . , Xm. The plant P is in a state y1,. . . , Yn and y1,. . . , Yn a differential equations M [1],. . . , M [a]. The special variable z shared by the plant P and sensor S is 1,. . . , A holds one value.

センサ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 value generation apparatus 100 is easy to handle in the program logic by holding the model describing the hybrid system in the sensor S, the controller C, and the plant P in the model storage unit 106a. Thus, the input generation problem can be solved suitably.

[制御入力値生成処理]
つづいて、本実施の形態における制御入力値生成装置100の制御入力値生成処理の一例について、図4を参照して説明する。図4は、本実施の形態における制御入力値生成装置100の制御入力値生成処理の一例を示すフローチャートである。
[Control input value generation processing]
Next, an example of the control input value generation process of the control input value generation device 100 in the present embodiment will be described with reference to FIG. FIG. 4 is a flowchart illustrating an example of the control input value generation process of the control input value generation device 100 according to the present embodiment.

ここで、制御入力値生成装置100のモデル記憶部106aには、上述のように、センサS(i1,...,ib),コントローラC,プラントPからなるハイブリッドシステムHのモデルが予め入力され保持されている。   Here, the model storage unit 106a of the control input value generation apparatus 100 is preliminarily input with the model of the hybrid system H including the sensors S (i1,..., Ib), the controller C, and the plant P as described above. Is retained.

ここで、離散変数に関するシステム全体の事前条件を、初期条件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 value generation device 100 performs the following processing.

図4に示すように、まず、事後条件演算部102aは、時刻t:=0、離散変数に関する事後条件R[0]:=P1(離散変数の初期条件)、物理量に関する事後条件S[0]:=Q1(物理量の初期条件)に設定する(ステップSB−1)。   As shown in FIG. 4, first, the post-condition calculation unit 102a first sets the time t: = 0, the post-condition R [0]: = P1 (initial condition of the discrete variable) regarding the discrete variable, and the post-condition S [0] regarding the physical quantity. : = Q1 (initial condition of physical quantity) (step SB-1).

そして、事後条件演算部102aは、t<Tの間、初期条件P1,Q1から順番に、各時刻tにおいて満たされる事後条件の演算処理(ステップSB−3〜SB−5)を行う(ステップSB−2)。   Then, the post-condition computing unit 102a performs post-condition computation processing (steps SB-3 to SB-5) that is satisfied at each time t in order from the initial conditions P1 and Q1 while t <T (step SB-3). -2).

すなわち、事後条件演算部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 post-condition calculation unit 102a uses the program logic equivalent to the post-condition R [t], the condition I, the program PS, and the program PC sequentially; [T + 1]: = Post (R [t] && I (i1 [t],..., Ib [t]), PS; PC) is obtained (step SB-3). When a logical expression is used as a condition description method, it is known that the post-condition calculation unit 102a can efficiently calculate Post. There is known a description method capable of efficiently calculating Post even in cases other than logical expressions, and it is possible to arbitrarily select a description method according to the technical area to be applied.

そして、事後条件演算部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 condition calculation unit 102a calculates the posterior condition S [t + 1]: = PostODE (R [t] && S [t] && z = 1, M [1]) or. . . or PostODE (R [t] && S [t] && z = a, M [a]). Here, X or Y represents a condition corresponding to satisfying one of X and Y. This corresponds to a logical sum when a logical expression is used as a condition description method. PostODE (X, M) represents a condition that is satisfied when a physical quantity that satisfies the condition X operates in unit time according to the differential equation M. When a condition is described using a logical expression, the post-condition calculation unit 102a can efficiently obtain the post-condition PostODE by a known method. In addition to the logical expression, a description method that can efficiently calculate Post and Pre is known. Therefore, the post-condition calculation unit 102a and the pre-condition calculation unit 102b are not limited to the logical expression depending on the applied technical area. It is also possible to select a description method.

そして、事後条件演算部102aは、t:=t+1として、時刻tをインクリメントする(ステップSB−5)。   Then, the post-condition calculation unit 102a sets t: = t + 1 and increments the time t (step SB-5).

以上のように、事後条件演算部102aは、t=Tに至るまで、初期条件P1,Q1から時間順に、プログラム論理を用いて、システムHの各時刻tにおける事後条件を繰り返し演算する(ステップSB−6)。このようにPostとPostODEを用いて求めた事後条件の系列は、以降のステップSB−8〜SB−12の事前条件の演算処理において、終了条件P2,Q2から順番に各時刻における事前条件を求める際に、求めた事後条件と矛盾しないことをチェックするために用いられる。このように、予め事後条件を求めておくことで、求める入力が存在しない場合に、早くその旨を示して、探索範囲から外すことができる。   As described above, the post-condition calculation unit 102a repeatedly calculates the post-conditions at each time t of the system H using the program logic in time order from the initial conditions P1 and Q1 until t = T (step SB). -6). As described above, the post-condition sequence obtained using Post and PostODE obtains the precondition at each time in order from the end conditions P2 and Q2 in the processing of the precondition in the subsequent steps SB-8 to SB-12. It is used to check that it is consistent with the obtained post-condition. In this way, by obtaining the post-conditions in advance, when there is no input to be obtained, it is possible to quickly indicate that fact and remove it from the search range.

つづいて、事前条件演算部102bは、時刻t:=T、離散変数に関する事前条件U[T]:=P2(離散変数の終了条件)、物理量に関する事前条件V[T]:=Q2(物理量の終了条件)に設定する(ステップSB−7)。   Subsequently, the precondition computing unit 102b performs the time t: = T, the precondition U [T]: = P2 (discrete variable end condition) for the discrete variable, and the precondition V [T]: = Q2 (physical quantity of the physical quantity). End condition) (step SB-7).

そして、事前条件演算部102bは、t≧0の間、終了条件P2,Q2から時間逆順に、各時刻tにおいて満たされる事前条件の演算処理(ステップSB−9〜SB−11)を行う(ステップSB−8)。   Then, the precondition computing unit 102b performs precondition computation processing (steps SB-9 to SB-11) that is satisfied at each time t in reverse order of time from the end conditions P2 and Q2 during t ≧ 0 (step SB-9 to SB-11). SB-8).

すなわち、事前条件演算部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 precondition calculation unit 102b uses the program logic based on the program PS; PC, the precondition U [t], and the postcondition R [t-1] to determine the precondition U [t-1] regarding the discrete variable: = Pre (PS; PC, U [t], R [t-1]) is obtained (step SB-9). It is known that when a logical expression is used as a condition description method, the precondition calculation unit 102b can calculate Pre efficiently. There is known a description method capable of efficiently calculating Pre even in cases other than logical expressions, and it is possible to arbitrarily select a description method according to the technical area to be applied.

そして、事前条件演算部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 precondition calculation unit 102b obtains a physical quantity precondition V [t-1] using the following equation (step SB-10).
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 precondition calculation unit 102b can efficiently obtain the precondition PreODE by a known method.

なお、事前条件演算部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 precondition calculation unit 102b may express U [t] and V [t] at each time t as a union of several small conditions (for example, when a logical expression is used as a condition description method). May be expressed as a logical product form (disjunctive normal form). In this case, the precondition calculation unit 102b performs Pre (PS; PC, X, R [t-1]) or PreODE (M [i], X) for each small condition X in Steps SB-9 and 10. By obtaining the precondition, it is possible to obtain the precondition more efficiently. In this case, when the condition becomes empty because the condition contradicts R [t−1], the precondition calculation unit 102b can remove the condition from the search range. In experiments to be described later, it was confirmed that this search range reduction is indispensable for large-scale input generation problems.

そして、事前条件演算部102bは、t:=t−1として、時刻tをデクリメントする(ステップSB−11)。   And the precondition calculating part 102b decrements the time t as t: = t-1 (step SB-11).

以上のように、事前条件演算部102aは、t=0に至るまで、終了条件P2,Q2から時間逆順に、プログラム論理を用いて、システムHの各時刻tにおける事前条件を繰り返し演算する(ステップSB−12)。このように、事前条件演算部102bは、終了条件P2,Q2から順番に各時刻における事前条件を求める際に、事後条件演算部102aにより演算された事後条件を利用して、事前条件の探索範囲を効率よく限定して事前条件を演算する。   As described above, the precondition calculation unit 102a repeatedly calculates the precondition at each time t of the system H using the program logic in reverse time order from the end conditions P2 and Q2 until t = 0 (step S1). SB-12). As described above, the precondition calculation unit 102b uses the postconditions calculated by the postcondition calculation unit 102a when obtaining the preconditions at each time in order from the end conditions P2 and Q2, and thereby searches the precondition search range. The precondition is calculated by efficiently limiting.

つづいて、入力列取得部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 precondition calculation unit 102b for t <T. (Steps SB-14, SB-15), the input sequence i [1,. . . , T-1] is started (step SB-13).

すなわち、入力列取得部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 value generation device 100. In steps SB-4 and SB-10 described above, it is desirable that or and and be calculated as accurately as possible. However, if there is a problem that adversely affects execution efficiency such as a large condition size, step SB- A weaker condition can be used in 4 and a stronger condition can be used in step SB-10. In this case, a method may be employed in which a threshold value related to the size of the condition on the memory is determined and the condition is weakened or strengthened when the size of the condition exceeds the threshold value. This threshold value is appropriately adjusted according to the problem area to which the present embodiment is applied.

ここで、制御入力値生成装置100は、以上のように求めた制御入力値の系列を、実際にハイブリッドシステムのセンサSに時刻tに応じて入力することで、理論上求めた制御入力値が実際に機能するか確かめることができる。ここで、上述した例1を簡略化した例2について、求めた制御入力値を適用した際の動作を示す。ここで、図5は、例2で用いた制御モデルを模式的に示した図である。   Here, the control input value generating apparatus 100 actually inputs the control input value series obtained as described above to the sensor S of the hybrid system according to the time t, so that the theoretically obtained control input value is obtained. You can see if it really works. Here, the operation when the obtained control input value is applied to Example 2 in which Example 1 described above is simplified will be described. Here, FIG. 5 is a diagram schematically showing the control model used in Example 2. FIG.

図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.
Condition 1. cnt <1 && 1 <= v <= 2
Condition 2. 1 <= v <= 1.2
Condition 3. cnt> = 1 && 2 <= v <= 2.5

ここで、条件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 conditions 1 to 3 is limited as follows by using the conditions U [2] and V [2].
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 condition 1 is limited, and the condition 3 becomes an empty set and can be removed from the search space by the post-conditions obtained in advance.

[実験結果]
本実施形態のアルゴリズムを計算機で動作するソフトウェアとして実装し、例1の問題を含むいくつかのモデルに適用した。その結果が、以下の表に示される実験結果を得た。

Figure 2015194917
[Experimental result]
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.
Figure 2015194917

上の表は、例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 value generation device 100 performs processing in a stand-alone form has been described as an example, the control input value generation device 100 performs processing in response to a request from a client terminal, and the processing result is You may make it return to a client terminal.

また、実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。   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 value generation device 100, each illustrated component is functionally conceptual and does not necessarily need to be physically configured as illustrated.

例えば、制御入力値生成装置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 value generation device 100, in particular, the processing functions performed by the control unit 102, all or any part thereof are performed by a CPU (Central Processing Unit) and the CPU. It may be realized by a program to be interpreted and executed as hardware by wired logic. The program is recorded on a recording medium to be described later, and is mechanically read by the control input value generation device 100 as necessary. That is, in the storage unit 106 such as a ROM or an HDD, computer programs for performing various processes by giving instructions to the CPU in cooperation with an OS (Operating System) are recorded. This computer program is executed by being loaded into the RAM, and constitutes a control unit in cooperation with the CPU.

また、このコンピュータプログラムは、制御入力値生成装置100に対して任意のネットワークを介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。   The computer program may be stored in an application program server connected to the control input value generating apparatus 100 via an arbitrary network, and may be downloaded in whole or in part as necessary. Is possible.

また、本発明に係るプログラムを、コンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、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 (model storage unit 106a and the like) stored in the storage unit 106 are storage units such as a memory device such as a RAM and a ROM, a fixed disk device such as a hard disk, a flexible disk, and an optical disk. And various programs, tables, databases, web page files and the like used for providing websites.

また、制御入力値生成装置100は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置として構成してもよく、また、該情報処理装置に任意の周辺装置を接続して構成してもよい。また、制御入力値生成装置100は、該情報処理装置に本発明の方法を実現させるソフトウェア(プログラム、データ等を含む)を実装することにより実現してもよい。   The control input value generation device 100 may be configured as an information processing device such as a known personal computer or workstation, or may be configured by connecting an arbitrary peripheral device to the information processing device. The control input value generation apparatus 100 may be realized by installing software (including programs, data, and the like) that causes the information processing apparatus to realize the method of the present invention.

更に、装置の分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じて、または、機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。すなわち、上述した実施の形態を任意に組み合わせて実施してもよく、実施の形態を選択的に実施してもよい。   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 SYMBOLS 100 Control input value production | generation apparatus 102 Control part 102a Postcondition calculation part 102b Precondition calculation part 102c Input sequence acquisition part 106 Storage part 106a Model storage part 108 Input / output control interface part C Controller S Sensor P Plant

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. .
請求項1に記載の制御入力値生成装置において、
上記物理情報システムは、
コントローラが、センサからのフィードバックを利用してプラントを制御するシステムであって、上記各制御サイクルにおいて、
上記センサは、
入力される上記制御入力値と、検出される上記プラントの物理量と、所定のセンサプログラムとに従って、上記コントローラの状態変数を更新し、
上記コントローラは、
上記更新された状態変数と、所定のコントローラプログラムとに従って、当該コントローラの状態変数と、上記プラントと上記センサで共有される変数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.
JP2014072623A 2014-03-31 2014-03-31 Control input value generation device, control input value generation method, and program Pending JP2015194917A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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