WO2019021898A1 - 開発支援装置 - Google Patents

開発支援装置 Download PDF

Info

Publication number
WO2019021898A1
WO2019021898A1 PCT/JP2018/026819 JP2018026819W WO2019021898A1 WO 2019021898 A1 WO2019021898 A1 WO 2019021898A1 JP 2018026819 W JP2018026819 W JP 2018026819W WO 2019021898 A1 WO2019021898 A1 WO 2019021898A1
Authority
WO
WIPO (PCT)
Prior art keywords
development support
support device
verification
development
simulation
Prior art date
Application number
PCT/JP2018/026819
Other languages
English (en)
French (fr)
Inventor
佑一 小森谷
勇樹 堀田
裕弘 小田
成沢 文雄
林 正人
櫻井 康平
卓也 安積
翔太 徳永
Original Assignee
日立オートモティブシステムズ株式会社
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 日立オートモティブシステムズ株式会社 filed Critical 日立オートモティブシステムズ株式会社
Priority to US16/622,752 priority Critical patent/US20210141710A1/en
Priority to CN201880025562.8A priority patent/CN110546618A/zh
Priority to JP2019532530A priority patent/JPWO2019021898A1/ja
Priority to DE112018002344.3T priority patent/DE112018002344T5/de
Publication of WO2019021898A1 publication Critical patent/WO2019021898A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Definitions

  • the present invention relates to processing for operating different development support apparatuses in cooperation.
  • a library that supports development in the field of robot development such as MATLAB / Simulink (MATLAB (registered trademark), Simulink (registered trademark)), etc. for control algorithm and signal processing development in advanced driving support and advanced development of automatic driving.
  • Development using the ROS (Robot Operating System) of open software that provides tools and tools is mainstream.
  • simulation can be performed by connecting these different development support devices via a network.
  • Patent Document 1 describes an information processing apparatus and a method thereof in which a plurality of simulators cooperate with each other.
  • a scenario execution unit gives a command to each simulator to execute an operation scenario having time information necessary for the simulator and synchronizes the simulator.
  • Patent Document 2 is a simulation apparatus in which time-stamped data is exchanged between both simulators in a co-simulation environment including a system simulator and a CPU simulator of a microcomputer, and the CPU simulator generates an interrupt according to the time-stamped data and synchronizes. Is described.
  • the simulator is coordinated by generating and executing an input from the outside as a scenario. At this time, the input and output required by each simulator need to be set in advance.
  • the CPU simulator synchronizes and emphasizes one of the simulators in synchronization with the synchronization signal.
  • the input and output required by each simulator need to be set in advance.
  • the method of connecting both is a problem Become.
  • one development support device uses the time period as an activation factor, and the other development support device uses an event to transmit / receive to / from the communication partner, the communication support model of both parties and transmission / reception processing with the connection destination to each development support device It needs to be adapted and set.
  • the other development support device generates a communication definition file that can be executed by one development support device in co-simulation of the development support device with different network models of communication partners and messages to be sent and received.
  • the development support apparatus reads the communication definition file to automatically set a message to be transmitted / received by the other development support apparatus.
  • one development support device In co-simulation between development support devices with different network models and messages to be sent and received, one development support device generates a communication definition file, and the other development support device reads a communication definition file, thereby automatically performing a network. And setting of messages to be transmitted and received, and the other development support device can be activated at the timing of one development support device.
  • 5 is a flowchart from the start of development support device 1 and development support device 2 to the start of simulation. 5 is a flowchart showing processing of the development support device 1; 5 is a flowchart showing processing of the development support device 2; It is the schematic of an example of the co-simulation in which several development assistance apparatuses were connected. It is a figure which shows the structure of Simulink1, ROS1, and ROS3. It is an example of a communication definition file. It is an example of a communication definition file.
  • a mechanism for creating a network environment and starting and stopping a partner system in a co-simulation environment using MATLAB / Simulink (MATLAB (registered trademark), Simulink (registered trademark)) and ROS (Robot Operating System) according to the first embodiment Will be described according to the drawings.
  • FIG. 1 is a block diagram of the cooperation system of the development support device in the first embodiment.
  • the development support device 1 is an example using a simulator whose activation factor is a period of a fixed time, and a simulation model 6 operating at a defined sampling period used for model-based development in vehicle control and signal control development is a model It is a personal computer stored in the storage device 7 and provided with the external data transmission / reception device 9.
  • the external data transmission / reception device 9 is, for example, Robotics System Toolbox which can construct a network model of ROS (Robot Operating System) provided by MATLAB / Simulink (MATLAB (registered trademark), Simulink (registered trademark)), etc.
  • the development support device 1 includes an external setting file read execution device 3 and a synchronization device 8.
  • the development support device 2 is an example using a simulator having a communication event as an activation factor, and is a distributed system in which multiple nodes execute software with each function simultaneously as nodes and exchange data with each other.
  • a personal computer having a subscription type network model and implemented such that the simulator 15 is executed by the simulator execution unit 16 and provided with the external data transmission / reception device 17;
  • the development support device 2 further includes a communication definition generation device 10 and a development support device management device 12.
  • FIG. 1 describes the configuration as two development support devices, the number of components is not limited, and the number of components may be larger than that of the present embodiment.
  • the development support device 1 is described as MATLAB / Simulink (MATLAB (registered trademark), Simulink (registered trademark)), and the development support device 2 is described as ROS.
  • the communication definition generation device 10 is a device that generates the communication definition file 11 in advance before verification of the simulation.
  • the communication definition file 11 is a file generated by a script language which is a simple program language.
  • a script language which is a simple program language.
  • MATLAB / Simulink MATLAB®, Simulink®
  • MATLAB®, Simulink® is described as being MATLAB source code that can be read and executed.
  • FIG. 2 is an example of the communication definition file 11 generated by the communication definition generation device 10.
  • the second line indicates the definition of the node type of the development support device 1.
  • the fourth line indicates a definition for the development support device 1 to receive from the outside. Define message name, message data type, etc.
  • the sixth line indicates a definition for the development support device 1 to transmit to the outside. Defines the message name to be sent, the data type of this message, etc.
  • the eighth line points to the definition of the transmission cycle of the message to be transmitted. In the example of FIG. 2, it defines as 10 [Hz].
  • the transmission cycle may define time or the like in addition to the frequency.
  • the communication definition reading unit 5 reads and executes the communication definition file 11, and the development support device 1 automatically reads and executes the defined node, the received message, and the transmitted message. , Automatic setting.
  • the embodiment is not limited to the program, and a graphical user interface or another method may be used.
  • the development support apparatus 1 In the case of communication between the development support apparatus 1 and the development support apparatus 2, it is necessary to manually implement a message to be transmitted and received between the development support apparatus, and the number of development steps is increased. However, since the communication definition file is generated on the development support device 2 and the implementation in the development support device 1 is eliminated, the number of development steps is reduced. Also, the development support device 1 automatically reads the definition file, thereby improving the development efficiency.
  • the development support device management device 12 is composed of an external development support device management unit 13 and a development support device activation unit 14 and mainly manages the system, and is configured by a program or a graphical user interface (GUI). Be done.
  • GUI graphical user interface
  • the development support device activation unit 14 manages the simulator 15 and the external development support device management unit 13.
  • the external development support device management unit 13 is a device that instructs activation and execution to the development support device to be coordinated.
  • the development support device execution unit 4 starts the development support device 1 and the simulation model 6 in response to the request.
  • FIG. 3 is a flowchart from when the development support device 1 and the development support device 2 start simulation until start.
  • the development support device management device 12 is activated (S101).
  • the development support device activation unit 14 is executed (S102) to start the simulator 15 of the development support device 2 (S103), and then the external development support device management unit 13 is executed (S104).
  • the development support device execution unit 4 of the development support device 1 is executed (S106), and the communication definition reading unit 5 reads the communication definition file (S107).
  • Data to be received by the development support device 1 via the external data transmission / reception device 9, data to be transmitted, and a transmission / reception cycle are automatically set.
  • activation of the simulation model 6 (S108) is performed, and co-simulation is started while transmitting and receiving information on both sides. According to the above, it is not necessary for the developer to individually start each development support device, and the operability is improved.
  • the synchronization device 8 is a device that adds time information to a message transmitted and received from the development support device 2 and transmits and receives information in accordance with the execution cycle of the development support device 1.
  • the message received by the development support device 1 by the development support device 2 may have an indeterminate delay, such as an operation result of 1 [s] before. Therefore, the reliability of the simulation result can be improved by performing control so that the difference between the times simulated by the development support device 1 and the development support device 2 is minimized.
  • FIG. 4 A flowchart from the start to the end of the simulation of the development support device 1 is shown in FIG.
  • the development support device execution unit 4 receives a start instruction of the development support device 1 and issues a start instruction to the simulation model 6 (S110). After receiving the start instruction, the simulation model 6 starts the simulation model (S111). After activation of the simulation model 6, communication setting of the external data transmitting / receiving device 9 is automatically performed (S112), and reception processing is started (S113).
  • the simulation model 6 is executed along with the sampling period (S114), and stores the processing result of the simulation model and the like in the model storage device (S115).
  • the information transmitted by the simulation model 6 is stored in the synchronization device 8 (S116).
  • the information to be transmitted stored in the synchronization device 8 is attached with time information (S117), and is transmitted to the development support apparatus 2 according to the transmission cycle set in the communication definition file (S118). The above is repeated until the end signal of the development support device 2 is received.
  • FIG. 5 is a flowchart from the start to the end of the simulation of the development support apparatus 2.
  • the developer activates the development support apparatus management apparatus 12 (S120), and executes the development support apparatus activation unit 14 (S121).
  • the external development support device management unit 13 is executed to transmit a start instruction to the development support device 1 (S122), and then the simulator 15 is started (S123).
  • the external data transmitting / receiving device 17 receives the information, and transmits the received information to the simulator execution unit (S124).
  • the simulator execution unit 16 gives an execution instruction to the simulator 15 from the received information (S125).
  • the simulator 15 executes processing in accordance with the execution instruction from the simulator execution unit 16 (S126), and transmits the execution result of the simulator to the outside (S127). The above is repeated until the simulator 15 ends.
  • an end signal is transmitted to the development support device 1 (S129), and the co-simulator ends.
  • the other development support device automatically takes in the communication definition file by creating a communication definition file in which one development support device defines the communication model of the other development support device.
  • This makes it easy to build an environment that communicates with each other.
  • the synchronization device 8 performs input and output in synchronization with the control cycle between the development support devices, so that highly accurate co-simulation is performed. Can be realized.
  • FIG. 6 is a schematic diagram in which a plurality of development support devices, for example, MATLAB / Simulink (MATLAB (registered trademark), Simulink (registered trademark)) and ROS are connected by a network.
  • Simulink 1 is a vehicle simulator called a plant model that simulates an engine mounted on a vehicle, a brake, steering, etc., and how Simulink 2 travels from the surrounding environment and vehicle conditions Judgment, control and simulation to be integrated control
  • ROS1 is a simulation to simulate the environment in which the vehicle travels
  • ROS2 is a simulation to integrate and recognize information of sensors attached to the vehicle
  • the ROS 3 is a simulation for estimating the position of the vehicle from sensors and maps, and is connected by a TCP / UDP network (a network 19 connecting each development support device).
  • the Simulink 1 and the Simulink 2 have the same configuration as the development support apparatus 1 of the first embodiment. Further, ROS1, ROS2, and ROS3 have the same configuration as the development support device 2 of the first embodiment.
  • the embodiment is not limited to the TCP / UDP network, and other methods may be used.
  • FIG. 7 shows the configuration of Simulink1, ROS1, and ROS3.
  • the Simulink 1 has an external configuration file read / execution device 21, the ROS 1 has a communication definition generation device 23, and the ROS 2 has a communication definition generation device 25.
  • the Simulink 1 has the same configuration as the development support device 2 of FIG. 1 and the ROS 1 and ROS 3 of the development support device 2 of FIG. 1, but is omitted in FIG. 7.
  • ROS 1 generates communication definition file a (24) from communication definition generation device 23, and ROS 3 generates communication definition file b (26) from communication definition generation device 25 and prepares in advance. .
  • Simulink 1 can automatically perform communication setting with two development support devices by reading the communication definition file a (24) and the communication definition file b (26) from the communication definition reading unit 22 at startup. It can. 8 and 9 show examples of the communication definition file 11. 8 is a communication definition file generated by ROS1 and FIG. 9 is generated by ROS3.
  • node names, messages to be transmitted and received, and transmission cycles are defined.
  • node name and send / receive message with the same name an error will occur in Simulink 1 or in the network, so define it as an alias.
  • the message sent to Simulink 1 is the same for ROS 1 and ROS 3, communication is possible because only one development support device generates it.
  • ROS1, ROS2, and ROS3 can use Simulink1 or Simulink2 to send and receive information to the communication definition file.
  • the target MATLAB / Simulink MATLAB (registered trademark), Simulink (registered trademark)
  • MATLAB registered trademark
  • Simulink registered trademark
  • parallel distributed processing that requires a large number of man-hours for implementation can be easily realized by an apparatus that can generate and read a communication definition file, so developers can perform parallel development and reduce development man-hours.
  • the present invention is not limited to the embodiments described above, but includes various modifications.
  • the embodiments described above are described in detail in order to explain the present invention in an easy-to-understand manner, and are not necessarily limited to those having all the configurations described.
  • part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment.
  • each of the configurations, functions, processing devices, etc. described above may be realized by hardware, for example, by designing part or all of them with an integrated circuit. Further, each configuration, function, etc.
  • Information such as a program, a table, and a file for realizing each function may be stored in a memory, a hard disk, a recording device such as a solid state drive (SSD), or a recording medium such as an IC card, an SD card, or a DVD.
  • SSD solid state drive

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

開発支援装置を複数接続した協調シミュレーションにおいて、ネットワークモデルや送受信するメッセージなどを自動設定する開発支援装置を提供し、効率的な開発が行えるようにする。開発支援装置1が読み込みと実行できる形式の通信定義ファイル11を開発支援装置2が生成し、開発支援装置1が通信定義ファイル11を読み込むことで、開発支援装置1が送受信するべきメッセージを自動的に設定することを特徴とする。

Description

開発支援装置
 本発明は、異なる開発支援装置を連携して動作させるための処理に関する。
 先進運転支援や自動運転の先行開発において、制御アルゴリズムや信号処理開発などをするためのMATLAB/Simulink(MATLAB(登録商標)、Simulink(登録商標))等や、ロボット開発分野で開発支援をするライブラリやツールを提供しているオープンソフトウェアのROS(Robot Operating System)を使用した開発が主流である。
 これらの異なる開発支援装置をネットワークで接続して、シミュレーションを行えることが求められている。
 これにより、各開発支援装置の得意分野、特徴を各々で吸収することができ、容易に混合した技術を連携したシミュレーションを行うことができる。
 特許文献1は、複数のシミュレータを連携させる情報処理装置およびその方法を記載する。この装置およびその方法においてシミュレータに必要な時間情報を有する動作シナリオをシナリオ実行部が各シミュレータに実行指示を与え、シミュレータを同期させる装置と方法が記載されている。
 特許文献2は、システムシミュレータとマイコンのCPUシミュレータから構成された協調シミュレーション環境においてタイムスタンプ付データを両シミュレータ間で交換されCPUシミュレータがタイムスタンプ付データに合わせて割り込みを発生させて同期するシミュレーション装置が記載されている。
特開2014-29639号公報 特開2013-84163号公報
 特許文献1の技術においては、外部からの入力をシナリオとして生成し実行することでシミュレータを協調する。この時に各シミュレータが必要とする入出力は、予め設定しておく必要がある。
 特許文献2の技術において、同期信号に合わせてCPUシミュレータが一方のシミュレータの同期をとり強調する。特許文献1と同様に各シミュレータが必要とする入出力は予め設定しておく必要がある。
 以上のように、異なるシミュレーション検証を行える開発支援装置を複数接続した協調シミュレーションにおいて、一方の開発支援装置と他方の開発支援装置のシミュレーションモデルやネットワークモデルが異なる場合、両者の接続の方法が課題となる。一方の開発支援装置が時間周期を起動要因とし、他方の開発支援装置が通信相手との送受信イベントを起動要因としている場合、両者の通信モデルと、接続先との送受信処理を各開発支援装置に適合させて設定する必要がある。
 このために一方の開発支援装置で送受信するメッセージの設定を行い、他方の開発支援装置では、一方の開発支援装置のネットワークモデルの適合や送受信するメッセージの仕様に合わせた設定を手作業で行う必要があり、開発工数を要する点が課題であった。
 上記課題を解決するため、通信相手のネットワークモデルや送受信するメッセージなどが異なる開発支援装置の協調シミュレーションにおいて、一方の開発支援装置が実行できる通信定義ファイルを他方の開発支援装置が生成し、一方の開発支援装置が通信定義ファイルを読み込むことで、他方の開発支援装置が送受信するべきメッセージを自動的に設定することを特徴とする。
 ネットワークモデルや送受信するメッセージなどが異なる開発支援装置同士による協調シミュレーションにおいて、一方の開発支援装置が通信定義ファイルを生成することで、他方の開発支援装置が通信定義ファイルを読み込むことで、自動でネットワークの構築と送受信するメッセージの設定をすることができ、一方の開発支援装置のタイミングで他方の開発支援装置を起動することができる。上記により、他方の開発支援装置の実装をする必要がなくなり、開発効率が向上する。
開発支援装置の協調システムの構成図である。 通信定義ファイルの例である。 開発支援装置1と開発支援装置2の起動からシミュレーションを開始するまでのフローチャートである。 開発支援装置1の処理を示すフローチャートである。 開発支援装置2の処理を示すフローチャートである。 複数の開発支援装置が接続された協調シミュレーションの一例の概略図である。 Simulink1と、ROS1と、ROS3との構成を示す図である。 通信定義ファイルの例である。 通信定義ファイルの例である。
 以下、本発明の実施形態について図面を参照して説明する。
 実施例1によるMATLAB/Simulink(MATLAB(登録商標)、Simulink(登録商標))、ROS(Robot Operating System)を用いた協調シミュレーション環境において、ネットワーク環境の構築と連携先システムの起動と終了を行う機構について、図面に従って説明する。
 図1は、本実施例1における開発支援装置の協調システムの構成図である。開発支援装置1は、一定時間の周期を起動要因とするシミュレータを用いた例であり、車両制御、信号制御の開発においてモデルベース開発に用いられる定められたサンプリング周期で動作するシミュレーションモデル6がモデル記憶装置7に格納され、外部データ送受信装置9を備えたパーソナルコンピュータである。
 外部データ送受信装置9は、例えば、MATLAB/Simulink(MATLAB(登録商標)、Simulink(登録商標))から提供されているROS(Robot Operating System)のネットワークモデルを構築することなどができるRobotics System Toolboxなどが挙げられる、この開発支援装置1には、他に、外部設定ファイル読込実行装置3と、同期装置8と、を備える。
 開発支援装置2は、通信イベントを起動要因とするシミュレータを用いた例であり、各機能を有したソフトウェアをノードとして複数同時実行してノードが互いにデータのやり取りをするような分散システムで、出版-購読型のネットワークモデルを有し、シミュレータ15がシミュレータ実行部16で実行されるように実装され、外部データ送受信装置17を備えたパーソナルコンピュータである。
 例えば、ロボット開発用のライブラリやドライバを多く提供しているオープンソースソフトウェアのロボット用ソフトウェアフレームワークのROS(Robot Operating System)などが挙げられる。本実施例では、シミュレータ15には、検証するシミュレータの他に、開発者が開発した演算機能群やROSが提供するライブラリ群を含んだ構成とする。この開発支援装置2には、他に、通信定義生成装置10と、開発支援装置管理装置12と、を備える。
 図1では、2つの開発支援装置から構成されるように記載しているが、構成数を限定するものではなく、本実施例以上の構成数であってもよい。本実施例では、開発支援装置1は、MATLAB/Simulink(MATLAB(登録商標)、Simulink(登録商標))、開発支援装置2は、ROSであるとして説明する。
 通信定義生成装置10は、シミュレーションの検証前に、あらかじめ、通信定義ファイル11を生成する装置である。通信定義ファイル11は、簡易的なプログラム言語であるスクリプト言語で生成されたファイルである。ここで、スクリプト言語からなるファイルと定義しているが、言語、ファイル、を限定するものではない。この実施例では、MATLAB/Simulink(MATLAB(登録商標)、Simulink(登録商標))が読み込みと実行をすることができるMATLABソースコードであるとして説明する。
 図2は、通信定義生成装置10が生成した通信定義ファイル11の一例である。図2において、2行目は、開発支援装置1のノード種別の定義を指す。4行目は、開発支援装置1が外部から受信するための定義を指す。メッセージ名、メッセージのデータ型などを定義する。6行目は、開発支援装置1が外部へ送信するための定義を指す。送信するメッセージ名、このメッセージのデータ型などを定義する。8行目は、送信するメッセージの送信周期の定義を指す。図2の例では、10[Hz]と定義している。送信周期は、周波数の他に、時間などを定義してもよい。
 通信定義読込部5は、通信定義ファイル11を読み込み、実行することで、開発支援装置1は、定義されたノードと、受信するメッセージと、送信するメッセージと、を自動で読み込み、実行することで、自動設定を行うものである。実施例では、プログラムに限定するものはなく、グラフィカルユーザーインターフェースやそのほかの手法を用いてもよい。
 開発支援装置1と開発支援装置2間で通信する場合、開発支援装置間で送受信するメッセージの実装を手作業で行う必要であり、開発工数が多くなる。しかし、通信定義ファイルを開発支援装置2上で生成することで、開発支援装置1での実装がなくなるため、開発工数が少なくなる。また、開発支援装置1が自動的に定義ファイルを読み込むことで、開発効率も向上することになる。
 開発支援装置管理装置12は、外部開発支援装置管理部13と開発支援装置起動部14で構成されており、主にシステムの管理をする装置であり、プログラムもしくは、グラフィカルユーザーインターフェース(GUI)で構成される。
 開発支援装置起動部14は、シミュレータ15と、外部開発支援装置管理部13と、を管理するものである。
 外部開発支援装置管理部13は、協調対象の開発支援装置に起動と、実行と、を指示する装置である。外部開発支援装置管理部13の起動指示により、開発支援装置実行部4は、要求に応じて開発支援装置1、と、シミュレーションモデル6を起動する。
 図3は、開発支援装置1と、開発支援装置2が、起動からシミュレーションを開始するまでのフローチャートである。初めに、開発支援装置管理装置12を起動(S101)する。次に、開発支援装置起動部14を実行(S102)して開発支援装置2のシミュレータ15を起動(S103)後、外部開発支援装置管理部13を実行する(S104)。外部開発支援装置管理部13の実行後、開発支援装置1の開発支援装置実行部4が実行(S106)され、通信定義読込部5による通信定義ファイル読み込み(S107)が行われる。開発支援装置1が外部データ送受信装置9を経由して受信するデータと、送信するデータと、送受信周期と、を自動的に設定される。最後に、シミュレーションモデル6の起動(S108)が行われ、双方で情報を送受信しながら協調シミュレーションが開始される。上記により、各開発支援装置を開発者が個別に起動する必要がなく、操作性が向上する。
 同期装置8は、開発支援装置2から送受信するメッセージに時間情報を付加して開発支援装置1の実行周期に合わせた情報を送受信させる装置である。例えば、開発支援装置2が送信したメッセージを開発支援装置1が受信したメッセージは、1[s]前の演算結果であるなど不確定な遅延を有する可能性がある。このため、開発支援装置1、開発支援装置2がそれぞれシミュレートしている時刻の差異が最小となるよう制御することでシミュレーション結果の信頼性を向上することができる。
 開発支援装置1のシミュレーション開始から終了までのフローチャートを図4に示す。図4に示すように、開発支援装置1の起動指示を開発支援装置実行部4が受信し、シミュレーションモデル6に起動指示を行う(S110)。シミュレーションモデル6は、起動指示を受信後、シミュレーションモデルを起動する(S111)。シミュレーションモデル6の起動後、外部データ送受信装置9の通信設定を自動で行い(S112)、受信処理を開始する(S113)。
 上記、開発支援装置1の起動処理後、シミュレーションモデル6は、サンプリング周期に伴い、実行され(S114)、シミュレーションモデルの処理結果等をモデル記憶装置に格納する(S115)。シミュレーションモデル6が送信する情報は、同期装置8に格納される(S116)。同期装置8に格納された送信する情報は、時間情報を付加して(S117)、通信定義ファイルに設定された送信周期に従い、開発支援装置2へ送信する(S118)。上記は、開発支援装置2の終了信号を受信するまで繰り返し行われる。
 図5は、開発支援装置2のシミュレーション開始から終了までのフローチャートである。開発者は、開発支援装置管理装置12を起動させ(S120)、開発支援装置起動部14を実行する(S121)。次に、外部開発支援装置管理部13を実行し、開発支援装置1に起動指示を送信(S122)後、シミュレータ15を起動する(S123)。
 上記、開発支援装置2内の起動処理後は、外部データ送受信装置17が情報を受信し、シミュレータ実行部に受信情報を送信する(S124)。シミュレータ実行部16は、受信情報からシミュレータ15に実行指示与える(S125)。シミュレータ15は、シミュレータ実行部16からの実行指示に従い、処理が実行され(S126)、シミュレータの実行結果を外部へ送信する(S127)。上記は、シミュレータ15が終了するまで繰り返し行われ、シミュレータ15が終了した場合(S128)は、開発支援装置1に終了信号を送信し(S129)、協調シミュレータが終了となる。
 本実施例1によれば、一方の開発支援装置が他方の開発支援装置の通信モデルを定義した通信定義ファイルを作成することで、他方の開発支援装置は、この通信定義ファイルを自動的に取り込むことで相互に通信する環境を容易に構築することができる。また、ROSのような出版-購読型の通信モデルから受信する開発支援装置の場合、同期装置8により、開発支援装置間の制御周期に同期して入出力が行われるため、精度の高い協調シミュレーションを実現することができる。
 実施例2では、複数の開発支援装置が接続された協調シミュレーションにおいて、協調シミュレーションするための通信定義の一例について説明する。
 図6は、複数の開発支援装置、例えば、MATLAB/Simulink(MATLAB(登録商標)、Simulink(登録商標))とROSをネットワークで接続した概要図である。例えば、Simulink1は、車両に搭載されているエンジンと、ブレーキと、ステアリングと、などを模擬したプラントモデルと呼ばれる車両シミュレータであり、Simulink2は、周辺の環境と車両の状態からどのように走行するかを判断、制御と、する統合制御をシミュレーションであり、ROS1は、自動車が走行する環境を模擬するシミュレーションであり、ROS2は、車両に取り付けられたセンサの情報を統合して認知するシミュレーションであり、ROS3は、センサや地図から自車両の位置を推定するシミュレーションであり、TCP/UDPネットワーク(各開発支援装置を接続しているネットワーク19)で接続されている。Simulink1と、Simulink2と、は、実施例1の開発支援装置1と同様の構成とする。また、ROS1と、ROS2と、ROS3と、は、実施例1の開発支援装置2と同様の構成とする。実施例では、TCP/UDPネットワークに限定するものではなく、その他の方法を用いてもよい。
 上記の構成で、例えば、Simulink1と協調する開発支援装置がROS1と、ROS3であり、Simulink2と協調する開発支援装置がROS2である場合の通信定義ファイル生成について説明する。
 Simulink2とROS2の協調シミュレーションに関しては、実施例1と同様のため詳細の説明を省略する。ROS1と、RO3が同じSimulink1と協調する場合は、ROS1と、ROS3が個々に通信定義ファイルを生成する。
 図7にSimulink1と、ROS1と、ROS3と、の構成を示す。Simulink1は、外部設定ファイル読込実行装置21を有し、ROS1は、通信定義生成装置23を有し、ROS2は、通信定義生成装置25を有している。また、Simulink1は、図1の開発支援装置1、ROS1と、ROS3と、は、図1の開発支援装置2と同様な構成であるが、図7では、省略する。協調シミュレーションのために、ROS1は、通信定義生成装置23から通信定義ファイルa(24)を生成し、ROS3は、通信定義生成装置25から通信定義ファイルb(26)を生成し、事前に準備する。Simulink1は、起動時に通信定義ファイルa(24)と、通信定義ファイルb(26)と、を通信定義読込部22から読み込むことで、自動的に2つの開発支援装置との通信設定を行うことができる。図8、9に通信定義ファイル11の例を示す。図8は、ROS1が、図9は、ROS3が生成した通信定義ファイルである。
 各行の処理内容については、図2で説明しているため詳細は省略する。図8と図9では、ノード名と送受信するメッセージと送信周期を定義する。しかし、同名のノード名と、送受信メッセージを定義してしまうとSimulink1内、もしくは、ネットワーク内で、エラーが発生してしまうため、別名で定義する。また、Simulink1に送信させるメッセージがROS1とROS3で同じ場合は、一方の開発支援装置のみが生成することで、通信が可能となる。
 上記実施例は、組み合わせを限定するものではなく、それぞれ組み合わせてもよい。
 上記のように異なる機能を有した開発支援装置が複数構成された協調シミュレーション環境の場合は、ROS1と、ROS2と、ROS3と、が、Simulink1もしくは、Simulink2に送受信させたい情報を通信定義ファイルに任意に定義し、対象のMATLAB/Simulink(MATLAB(登録商標)、Simulink(登録商標))がこれを自動設定することで、容易に通信が確立され、複数の協調シミュレーションが実現できる。また、実装に多くの工数が必要とされる並列分散処理を、通信定義ファイルの生成と読み込める装置によって簡易に実現できるため、開発者は、並行開発が可能になり開発工数を減らすことができる。
 なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理装置等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くこともできる。
 1:開発支援装置
 2:開発支援装置
 3:外部設定ファイル読込実行装置
 4:開発支援装置実行部
 5:通信定義読込部
 6:シミュレーションモデル
 7:モデル記憶装置
 8:同期装置
 9:外部データ送受信装置
 10:通信定義生成装置
 11:通信定義ファイル
 12:開発支援装置管理装置
 13:外部開発支援装置管理部
 14:開発支援装置起動部
 15:シミュレータ
 16:シミュレータ実行部
 17:外部データ送受信装置
 19:各開発支援装置を接続しているネットワーク
 21:外部設定ファイル読込実行装置
 22:通信定義読込部
 23:通信定義生成装置
 24:通信定義ファイルa
 25:通信定義生成装置
 26:通信定義ファイルb

Claims (7)

  1.  異なる種類の検証装置を含む開発支援装置であって、
     一方の前記検証装置は、他方の前記検証装置で読み取れるモデル設定データを生成する生成部を有し、
     一方の前記検証装置は、前記生成部で前記モデル設定データを生成した場合、他方の前記検証装置に起動タイミングを指令する、
     ことを特徴とする開発支援装置。
  2.  他方の前記検証装置は、一方の前記検証装置から送信される前記モデル設定データを読み取る読み取り部を有する、ことを特徴とする、請求項1記載の開発支援装置。
  3.  一方の前記検証装置と他方の前記検証装置とが接続した場合、他方の前記検証装置が前記モデル設定データに基づくモデルを起動する、ことを特徴とする、請求項1記載の開発支援装置。
  4.  請求項1において、
     一方の前記検証装置は、検証が完了した場合、他方の前記検証装置に完了を通知する、
     ことを特徴とする、請求項1記載の開発支援装置。
  5.  請求項4において、
     一方の前記検証装置と他方の前記検証装置とが接続した場合、他方の前記検証装置は、一方の前記検証装置からの完了通知に基づき、検証装置を終了する、ことを特徴とする、請求項1記載の開発支援装置。
  6.  一方の前記検証装置と他方の前記検証装置との間の同期をとる時間情報を有する同期装置を備える、ことを特徴とする請求項1記載の開発支援装置。
  7.  前記モデル設定データは、定義されたノードと、受信するメッセージと、送信するメッセージと、時間情報を含む、ことを特徴とする請求項1記載の開発支援装置。
PCT/JP2018/026819 2017-07-25 2018-07-18 開発支援装置 WO2019021898A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US16/622,752 US20210141710A1 (en) 2017-07-25 2018-07-18 Development support device
CN201880025562.8A CN110546618A (zh) 2017-07-25 2018-07-18 开发辅助装置
JP2019532530A JPWO2019021898A1 (ja) 2017-07-25 2018-07-18 開発支援装置
DE112018002344.3T DE112018002344T5 (de) 2017-07-25 2018-07-18 Entwicklungsunterstützungsvorrichtung

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-143188 2017-07-25
JP2017143188 2017-07-25

Publications (1)

Publication Number Publication Date
WO2019021898A1 true WO2019021898A1 (ja) 2019-01-31

Family

ID=65039729

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/026819 WO2019021898A1 (ja) 2017-07-25 2018-07-18 開発支援装置

Country Status (5)

Country Link
US (1) US20210141710A1 (ja)
JP (1) JPWO2019021898A1 (ja)
CN (1) CN110546618A (ja)
DE (1) DE112018002344T5 (ja)
WO (1) WO2019021898A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7441981B2 (ja) 2022-03-07 2024-03-01 ウーブン・バイ・トヨタ株式会社 切り替え可能モデルを有する自律運転シミュレーションアーキテクチャを提供するためのシステムと方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001209556A (ja) * 1999-11-18 2001-08-03 Yokogawa Electric Corp 検証支援システム
JP2005014150A (ja) * 2003-06-26 2005-01-20 Yaskawa Electric Corp ロボットシステム
JP2011070343A (ja) * 2009-09-25 2011-04-07 Hitachi Information & Communication Engineering Ltd 論理エミュレーション方法及び論理エミュレーションプログラム
JP2011107866A (ja) * 2009-11-16 2011-06-02 Hakko Denki Kk 接続機器シミュレータのシーケンス制御装置、方法、及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8065126B2 (en) * 2008-07-29 2011-11-22 Mentor Graphics Corporation GUI-facilitated change management for vehicle electrical/electronic architecture design
JP2013084163A (ja) 2011-10-12 2013-05-09 Hitachi Ltd 協調シミュレーション装置及び協調シミュレーション方法
JP6034614B2 (ja) 2012-07-31 2016-11-30 キヤノン株式会社 情報処理装置およびその方法
JP5996125B2 (ja) * 2013-11-26 2016-09-21 三菱電機株式会社 システム構築支援装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001209556A (ja) * 1999-11-18 2001-08-03 Yokogawa Electric Corp 検証支援システム
JP2005014150A (ja) * 2003-06-26 2005-01-20 Yaskawa Electric Corp ロボットシステム
JP2011070343A (ja) * 2009-09-25 2011-04-07 Hitachi Information & Communication Engineering Ltd 論理エミュレーション方法及び論理エミュレーションプログラム
JP2011107866A (ja) * 2009-11-16 2011-06-02 Hakko Denki Kk 接続機器シミュレータのシーケンス制御装置、方法、及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7441981B2 (ja) 2022-03-07 2024-03-01 ウーブン・バイ・トヨタ株式会社 切り替え可能モデルを有する自律運転シミュレーションアーキテクチャを提供するためのシステムと方法

Also Published As

Publication number Publication date
US20210141710A1 (en) 2021-05-13
CN110546618A (zh) 2019-12-06
JPWO2019021898A1 (ja) 2020-04-09
DE112018002344T5 (de) 2020-01-23

Similar Documents

Publication Publication Date Title
JP4014080B2 (ja) デジタル回路の設計装置および設計方法、並びに、プログラムおよび格納媒体
US9348771B1 (en) Cloud-based instrument driver system
JP2007528069A5 (ja)
WO2024130861A1 (zh) 一种云原生的硬件逻辑仿真fpga加速方法及系统
JP2022091301A (ja) 制御システムおよび制御方法
WO2019021898A1 (ja) 開発支援装置
US20230261961A1 (en) System and method for simulation and testing of multiple virtual ecus
US7099813B2 (en) Simulating program instruction execution and hardware device operation
US11023627B2 (en) Modeling and cooperative simulation of systems with interdependent discrete and continuous elements
JP6603746B2 (ja) 仮想化されたシステム上で組み込みソフトウェアを自動で生成する方法及びコンピューティングシステム
Vannoy Enabling rapid prototyping of audio signal processing systems using system-on-chip field programmable gate arrays
KR101621841B1 (ko) Hla/rti 기반 혼합회로 시뮬레이션 시스템 및 방법
US10445201B2 (en) System and method for automated integration and stress testing of hardware and software service in management controller using containerized toolbox
CN114546823B (zh) 用于重现逻辑系统设计的调试场景的方法及相关设备
WO2020138386A1 (ja) 以前のトレースデータを使用する協調シミュレーションリピータ
CN114047948B (zh) 可重构的可信密码模块模拟器、实现方法及模拟重构方法
EP4350511A1 (en) Method and apparatus for co-simulation
KR102595323B1 (ko) 차량용 임베디드 시스템을 위한 가상 ecu 검증 시스템및 방법
CN117172208B (zh) 验证环境的隔离方法、装置、电子设备及存储介质
Buit PC104 stack mechatronic control platform
KR20240009766A (ko) 차량용 소프트웨어 플랫폼의 시뮬레이션을 위한 네트워크 가상화 장치 및 방법
KR20240077722A (ko) 오토사 기반의 차량용 임베디드 소프트웨어 생성 및 검증 방법
JP4725557B2 (ja) コンフィギュレーションコード生成装置およびコンフィギュレーションコード生成装置用プログラム
KR20240077723A (ko) 오토사 기반의 차량용 임베디드 소프트웨어 생성 및 검증 방법
Segura Abarrategi et al. Testing the verification and validation capability of a DCP-based interface for distributed real-time applications

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18837798

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019532530

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 18837798

Country of ref document: EP

Kind code of ref document: A1