JP6684513B1 - Guiコントローラ設計支援装置、リモートコントロールシステム、およびプログラム - Google Patents

Guiコントローラ設計支援装置、リモートコントロールシステム、およびプログラム Download PDF

Info

Publication number
JP6684513B1
JP6684513B1 JP2020508061A JP2020508061A JP6684513B1 JP 6684513 B1 JP6684513 B1 JP 6684513B1 JP 2020508061 A JP2020508061 A JP 2020508061A JP 2020508061 A JP2020508061 A JP 2020508061A JP 6684513 B1 JP6684513 B1 JP 6684513B1
Authority
JP
Japan
Prior art keywords
controller
user program
gui
editing
engine
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.)
Active
Application number
JP2020508061A
Other languages
English (en)
Other versions
JPWO2021019801A1 (ja
Inventor
邦人 石迫
邦人 石迫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lc Studio
Original Assignee
Lc Studio
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 Lc Studio filed Critical Lc Studio
Priority claimed from PCT/JP2019/049488 external-priority patent/WO2021019801A1/ja
Application granted granted Critical
Publication of JP6684513B1 publication Critical patent/JP6684513B1/ja
Publication of JPWO2021019801A1 publication Critical patent/JPWO2021019801A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K35/00Instruments specially adapted for vehicles; Arrangement of instruments in or on vehicles
    • B60K35/10Input arrangements, i.e. from user to vehicle, associated with vehicle functions or specially adapted therefor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60KARRANGEMENT OR MOUNTING OF PROPULSION UNITS OR OF TRANSMISSIONS IN VEHICLES; ARRANGEMENT OR MOUNTING OF PLURAL DIVERSE PRIME-MOVERS IN VEHICLES; AUXILIARY DRIVES FOR VEHICLES; INSTRUMENTATION OR DASHBOARDS FOR VEHICLES; ARRANGEMENTS IN CONNECTION WITH COOLING, AIR INTAKE, GAS EXHAUST OR FUEL SUPPLY OF PROPULSION UNITS IN VEHICLES
    • B60K2360/00Indexing scheme associated with groups B60K35/00 or B60K37/00 relating to details of instruments or dashboards
    • B60K2360/143Touch sensitive instrument input devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2201/00UAVs characterised by their flight controls
    • B64U2201/20Remote controls
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/20Binding and programming of remote control devices
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/30User interface
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C2201/00Transmission systems of control signals via wireless link
    • G08C2201/90Additional features
    • G08C2201/93Remote control using other portable devices, e.g. mobile phone, PDA, laptop

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Abstract

柔軟かつリアルタイムに制御やグラフィック表現を変更可能なコントローラ装置のプログラミングを支援することのできるGUIコントローラ設計支援装置を提供する。GUIコントローラ設計支援装置は、入力デバイスのタッチパネルディスプレイに表示され、ターゲットデバイスを操作するための操作入力を受け付けるGUIコントローラの設計を支援する。GUIコントローラ設計支援装置は、複数のコントローラパーツにより構成されGUIコントローラを定義するコントローラセットを編集するためのGUIコントローラ編集手段と、GUIコントローラに対する操作入力に応じたターゲットデバイスの制御を規定するユーザプログラムを編集するためのユーザプログラム編集手段と、を備える。

Description

本発明は、GUI(Graphical User Interface)により実現されるコントローラの設計やプログラミングを支援するGUIコントローラ設計支援装置に関する。
従来から、ラジオコントロール(RC)カー、ドローン、ロボット、ゲームなどを無線通信により遠隔操作するためのコントローラ装置をスマートフォンなどの画面に表示される操作ボタン等によるGUIとして提供することが実現されている(例えば、特許文献1を参照)。
特開2019−85041号公報
このようなGUIによるコントローラ装置では、操作対象の装置を起動した後は信号を受け付けてからの制御が固定されているか、単純な変更(例えば、ある操作パラメータに対する極性やゲインの変更等)しかできないように構成されている。このため、新たな挙動を追加したり、パラメータそのものを動的に追加したりすることはできず、プログラミングによる自動操縦などの複雑な制御を実現するには、所望の制御に成功するまでに繰り返す試行錯誤の都度、捜査対象の装置を再起動することが必要であるため、非常に多くの時間要していた。
本発明の課題は、上記の問題を解決し、柔軟かつリアルタイムに制御やグラフィック表現を変更可能なコントローラ装置のプログラミングを支援するGUIコントローラ設計支援装置を提供することにある。
上記の課題を解決すべく、本発明に係るGUIコントローラ設計支援装置は、入力デバイスのタッチパネルディスプレイに表示され、ターゲットデバイスを操作するための操作入力を受け付けるGUIコントローラの設計を支援する。GUIコントローラ設計支援装置は、複数のコントローラパーツを含んで構成されGUIコントローラを定義するコントローラセットを編集するためのコントローラセット編集手段と、コントローラセットに含まれる各コントローラパーツを編集するためのコントローラパーツ編集手段と、コントローラパーツに対する操作入力に応じたターゲットデバイスの制御を規定するユーザプログラムを編集するためのユーザプログラム編集手段と、を備える。
本発明では、GUIコントローラ設計支援装置は、ターゲットデバイスを制御するためにユーザプログラムから呼び出して利用するオブジェクトであるドライバが動作するエンジンがユーザプログラムを実行するための実行環境を起動している状態において、GUIコントローラ編集手段にて編集されたコントローラセットを、入力デバイスに登録するGUIコントローラ登録手段をさらに備えるとよい。
また、GUIコントローラ設計支援装置は、ターゲットデバイスを制御するためにユーザプログラムから呼び出して利用するオブジェクトであるドライバが動作するエンジンがユーザプログラムを実行するための実行環境を起動している状態において、ユーザプログラム編集手段にて編集されたユーザプログラムを、エンジンに登録するユーザプログラム登録手段をさらに備えるとよい。
また、上記の課題を解決すべく、本発明に係るリモートコントロールシステムは、上記いずれかのGUIコントローラ設計支援装置と、タッチパネルディスプレイを備え、当該タッチパネルディスプレイにGUIコントローラを表示する入力デバイスと、ターゲットデバイスを制御するためにユーザプログラムから呼び出して利用するオブジェクトであるドライバが動作するエンジンと、を備える。このリモートコントロールシステムにおいて、入力デバイスは、タッチパネルディスプレイに表示されたGUIコントローラに対するユーザの操作入力を受け付け、当該操作入力の内容をエンジンに送信し、エンジンは、入力デバイスから受け取った操作入力の内容に基づき、ターゲットデバイスを制御すべくドライバを動作させる。入力デバイスは、エンジンがユーザプログラムを実行するための実行環境を起動している状態において、ユーザプログラムと関連付けられたGUIコントローラのコントローラセットを更新可能とする。また、エンジンは、ユーザプログラムを実行するための実行環境を起動している状態において、ユーザプログラムを更新可能とする。
また、上記の課題を解決すべく、本発明に係るプログラムは、コンピュータを、上記いずれかのGUIコントローラ設計支援装置として機能させる。
GUIコントローラ設計支援装置1が適用される、リモートコントロール環境の一例を示している。 入力デバイス2に登録されたGUIコントローラにより、エンジン3を介してターゲットデバイス4を制御する際の手順を示すフローチャートである。 既存のGUIコントローラやユーザプログラムを編集し更新する際の処理の手順を示すフローチャートである。
以下、本発明の実施形態を図面に基づいて説明する。なお、以下の説明では、同一の部材には同一の符号を付し、一度説明した部材については適宜その説明を省略する。
〔リモートコントロール環境の構成〕
図1は、本実施形態に係るGUIコントローラ設計支援装置1が適用される、リモートコントロール環境の一例を示している。すなわち、このリモートコントロール環境では、入力デバイス2に対するユーザの操作入力に応じて、エンジン3を介して操作対象であるターゲットデバイス4に制御信号が送信され、ターゲットデバイス4の制御が実現される。GUIコントローラ設計支援装置1は、入力デバイス2に表示される操作画面の設計、入力デバイス2への操作入力に応じてエンジン3で実行されるプログラムの編集等を行い、これらを適宜更新するための環境を提供する。GUIコントローラ設計支援装置1、入力デバイス2及びエンジン3は、ネットワークNWを介して通信可能とされる。なお、GUIコントローラ設計支援装置1、入力デバイス2、エンジン3の全て又は一部は共通のハードウェアにより実現されてもよい。また、エンジン3とターゲットデバイス4は、無線通信手段(ネットワークNWを介するか否かは任意)にて通信可能とされる。
GUIコントローラ設計支援装置1は、GUIコントローラ、ユーザプログラムの編集、ユーザプログラムが実行されるエンジン3上の環境である実行環境の編集、ターゲットデバイス4を制御するためにユーザプログラムから呼び出して利用するオブジェクトであるドライバの編集等を行う機能をユーザに提供する装置であり、コンピュータ等により実現される。GUIコントローラ設計支援装置1は、制御部10、記憶部11、表示部12、入力部13、及び通信部14を備える。
制御部10は、記憶部11に記憶されている各種のプログラムを実行することにより、GUIコントローラ設計支援装置1の機能を実現する。具体的には、制御部10は、後述するGUIコントローラ編集機能、ユーザプログラム編集機能等の諸機能を実現する。制御部10は、例えばCPU等により実現される。
記憶部11は、制御部10にて実行するプログラムや、当該プログラムで用いられるデータ等を記憶する。すなわち、記憶部11は、GUIコントローラ編集機能及びユーザプログラム編集機能を実現するためのプログラム及びデータを記憶する。例えば、記憶部11は、GUIコントローラ編集機能にてユーザが利用可能なコントローラパーツのテンプレート等を記憶するとよい。
表示部12は、液晶ディスプレイ、有機ELディスプレイ等の表示素子であり、制御部10による制御の下、各種の情報を表示する。入力部13は、ユーザによる操作を受け付ける。入力部13は、例えば、キーボード、マウス、表示部12に重ねて設けられるタッチパネル等とするとよい。通信部14は、ネットワークNWやその他の通信回線を介して、入力デバイス2、エンジン3等との通信を行う。
入力デバイス2は、GUIコントローラ設計支援装置1で作成・編集したGUIコントローラの画面を表示し、当該GUIコントローラに対する操作入力を受け付けて、受け付けた操作入力の内容をエンジン3に送信する。入力デバイス2は、制御部20、記憶部21、表示部22、入力部23、及び通信部24を備える。
制御部20は、記憶部21に記憶されている各種のプログラムを実行することにより、入力デバイス2の機能を実現する。具体的には、制御部20は、GUIコントローラの画面を入力部23に表示させる機能、GUIコントローラを構成する各コントローラパーツに対するユーザの操作入力を受け付け、受け付けた操作入力の内容を通信部24を介してエンジン3に送信する機能等を実現する。制御部20は例えばCPU等により実現される。
記憶部21は、制御部20にて実行するプログラムや、当該プログラムで用いられるデータ等を記憶する。具体的には、記憶部21は、GUIコントローラを定義するコントローラセットCL、コントローラセットCLに従ってGUIコントローラの画面を表示部22に表示させるための描画プログラム等を記憶する。また、記憶部21は、GUIコントローラを構成する各コントローラパーツについて、入力可能な座標範囲を規定したインデックスを記憶する。
表示部22は、液晶ディスプレイ、有機ELディスプレイ等の表示素子であり、制御部20による制御の下、GUIコントローラの画面等の各種の情報を表示する。
入力部23は、ユーザによる操作入力を受け付ける。入力部23は、例えば、キーボード、マウス、表示部22に重ねて設けられるタッチパネル等とするとよい。表示部22にGUIコントローラが表示された状態で、ユーザが表示部22に重ねて設けられたタッチパネルを操作すると、タッチパネルがタッチされた座標を検出し、検出した座標がインデックスに照会され、検出した座標に対応するコントローラパーツへの操作入力として受け付けられることになる。また、入力部23として、加速度センサを設け、入力デバイス2の姿勢変化(傾き)をユーザの操作入力として検知するようにしてもよい。入力部23としれ上記に以外の入力デバイスやセンサ類を設けてもよい。通信部24は、ネットワークNWやその他の通信回線を介して、GUIコントローラ設計支援装置1、エンジン3等との通信を行う。通信部24は、例えば、各コントローラパーツに対する操作入力の内容をエンジン3に送信する。
エンジン3は、制御部30、記憶部31、及び通信部34を備える。
制御部30は、記憶部31に記憶されている各種のプログラムを実行することにより、エンジン3の機能を実現する。制御部30は例えばCPU、マイコン(マイクロコンピュータ)等により実現される。
記憶部31は、制御部30にて実行するプログラムや、当該プログラムで用いられるデータ等を記憶する。具体的には、記憶部31は、実行環境を実現するためのプログラム、ターゲットデバイス4に対応したドライバ、及びこれらのプログラムで用いられるデータ等を記憶する。
実行環境は、ユーザのプログラムを実行するためのランタイム(Runtime)である。実行環境は、ターゲットデバイス4に対する操作入力等に起因する実行要求を受け付け、当該実行要求に対応するユーザプログラムの関数や起動ブロックを順次処理する。実行環境は、各種のプログラミング言語に対応可能なように複数種類用意されてよい。
ドライバは、通信部34を介してやり取りされるターゲットデバイス4の入出力と、実行環境との間を取り持つプログラムである。ドライバは、例えば、実行環境で実行されるユーザプログラムに基づき、当該制御命令に応じてターゲットデバイス4にて処理可能な制御信号を出力したり、ターゲットデバイス4から送られるセンサ出力等の情報を実行環境で実行されているユーザプログラムに提供したりする機能を実現する。
通信部34は、ネットワークNWやその他の通信回線を介して、GUIコントローラ設計支援装置1、入力デバイス2、ターゲットデバイス4等との通信を行う。具体的には、エンジン3は、通信部34を介し、GUIコントローラ設計支援装置1からのユーザプログラムの受信、入力デバイス2からの操作入力の内容の受信、ターゲットデバイス4への制御信号の送信、ターゲットデバイス4からのセンサ出力の受信等を行う。
ターゲットデバイス4は、GUIコントローラによる操作の対象となるデバイスである。ターゲットデバイス4は、例えば、ドローン、ラジコンカー、ロボット等の物理デバイスや、3Dモデル等の仮想空間で動作するデバイスとするとよい。ターゲットデバイス4は、制御部40、記憶部41、駆動部42、センサ部43及び通信部44を備える。
制御部40は、制御部40に記憶されているファームウェア等のプログラムを実行することによりターゲットデバイス4の制御を司る。制御部40は例えば、マイコン、CPU等により実現される。
記憶部41は、エンジン3にて動作するドライバからの送信信号に応じて動作するプログラム(いわゆるファームウェア)を記憶する。駆動部42は、ターゲットデバイス4の動作を実現する部材であり、例えば、モータ、アクチュエータ、及びこれらのドライバ等により構成される。センサ部43は、ターゲットデバイス4の周囲から種々の情報を取得するセンサ類により構成される。センサ部43は、例えば、カメラ、加速度センサ、GPS受信装置、測距センサ、赤外線センサ等を備えるとよい。
通信部44は、ネットワークNWやその他の通信回線を介して、エンジン3との通信を行う。すなわち、ターゲットデバイス4は、通信部44を介してエンジン3から制御信号を受信し、必要に応じてセンサ部43で取得した情報をエンジン3に送信する。
〔コントローラセット〕
続いて、GUIコントローラを定義するコントローラセットCLについて説明する。
コントローラセットCLは、コントローラパーツのインスタンスの集合(リスト)、ユーザが作成した操作に応じた処理を定義するプログラム(ユーザプログラム)を含んでいる。
コントローラセットCLを構成する各コントローラパーツは、後述のコントローラパーツ編集機能を用いてユーザにより配置や外観が定義される。GUIコントローラは、コントローラセットCLに含まれる複数のコントローラパーツを組み合わせてその外観が定義されることになる。ユーザプログラムは定義済みのコントローラパーツを利用し、任意のプログラムを実装したものである。
コントローラセットCLは静的属性として、GUIコントローラをグローバルで一意に特定するための識別情報であるUUID(Universally Unique Identifier)、コントローラ付与された名称であるコントローラ名称、コントローラの変更履歴を管理するための変更履歴番号、コントローラが対象とするデバイスを示すドライバタイプ、当該コントローラセットにより定義されるGUIコントローラを表示する際の入力デバイス2の向き(縦/横)を示すデバイスオリエンテーション、GUIコントローラの各パーツや背景を表現(描画)するための画像を示すスキン情報、コントローラセットCLに含まれるユーザプログラムを実行する実行環境の選択設定等を含んでいる。
コントローラパーツは、GUIコントローラに配置して利用できる部品であり、ユーザによる操作入力に応じて様々な制御パターンを実現する。1つのコントローラセットにコントローラパーツとして複数のインスタンスを追加することが許容され、個々のコントローラパーツにはユニークな識別情報が付与される。ユーザプログラムでは、この識別情報で各コントローラパーツのインスタンスを識別して利用することができる。
コントローラパーツにはさまざまなタイプが存在する。コントローラパーツは、それぞれのタイプごとに特有の属性や状態、振る舞いを持っており、無制限にインスタンス化し、インスタンス毎に識別してユーザプログラム上から利用することが可能とされる。
各コントローラパーツは、共通属性として、コントローラ内で一意の名称であるパーツ名称を含んでいる。コントローラパーツのタイプとしては、ジョイスティック、十字キー、ボタン、スイッチ、スライダ、ダイヤル、ジェスチャ、文字列出力エリア、動画/画像出力エリア等が準備されている。これらのコントローラパーツの各タイプについて、設定可能な定義属性(静的属性)や状態属性(入力状態)が保持される。
定義属性は、予め定義された変化しない属性である。状態属性は、プログラムの実行状態や、ユーザのコントローラ操作状態に応じて変化する属性である。例えば、ジョイスティックについては、定義属性として、表示サイズ、最小値、最大値、表示位置、アクティブ状態での表示色、枠外判定精度、軌道判定タッチ回数、ユーザプログラムに操作入力を通知する頻度を示すプログラム通知頻度等が定義される。各コントローラパーツは、オーバーレイ設定可能なパーツ以外、表示上重ならないようその表示位置が定義される。また、状態属性としては、アクティブフラグ、開始座標情報、移動前座標情報、移動後座標情報等がプログラムの実行状態や、ユーザのコントローラ操作状態に応じて記録・保持される。
続いて、GUIコントローラ設計支援装置1により提供される、コントローラセット編集機能、実行環境編集機能、ドライバ編集機能、コントローラパーツ編集機能、及びユーザプログラム編集機能について説明する。
〔実行環境編集機能〕
実行環境編集機能は、制御部10が実行するプログラムとして実現される。実行環境編集機能は、ユーザプログラムが実行されるエンジン3上の環境である実行環境について、そのインスタンスを生成し、当該生成したインスタンスに対して様々な設定項目についての設定値の入力をする画面を提供する。この画面を介したユーザの入力により、設定値を変更することができる。エンジン3では、複数の種類の実行環境(例えば扱うスクリプト言語が異なるもの)を同時に利用することが可能とされ、実行環境編集機能では、利用可能な実行環境のいずれかを選択してその設定を編集することができる。
〔ドライバ編集機能〕
ドライバ編集機能は、制御部10が実行するプログラムとして実現される。ドライバは、ターゲットデバイス4を制御するためにユーザプログラムから呼び出して利用するオブジェクトである。ドライバ編集機能は、ターゲットデバイス4を制御するドライバをユーザに選択させる画面を提供する。この画面にて、ユーザが所望のドライバを選択すると、エンジン3において選択したドライバのインスタンスが生成され、生成されたインスタンスに対し識別情報を付与する処理が実行される。ユーザプログラムは、この識別情報を指定して、所望のドライバを介したターゲットデバイス4の制御を実現する。ドライバ編集機能は、生成済みのドライバのインスタンスに対する設定項目を入力する画面を提供する。この画面を介したユーザの入力により、設定値を変更することができる。
〔コントローラセット編集機能〕
コントローラセット編集機能は、制御部10が実行するプログラムとして実現される。コントローラセット編集機能は、表示部12に表示されるメニューにおいて、ユーザがGUIコントローラの編集を選択することで開始される。コントローラセット編集機能では、新規にコントローラセットを作成することも、既存のコントローラセットを編集することも可能とされる。新規にコントローラセットを作成する場合には、ユーザはその旨のメニューを選択する。また、既存のコントローラセットを編集する場合には、ユーザは記憶部11に記憶された既存のコントローラセットを選択する。新規作成、または、既存のGUIコントローラセットが選択されると、対応するコントローラセットのインスタンスが生成される。そして、そのコントローラセットに対応する実行環境を起動し、起動した実行環境に当該コントローラセットに含まれるユーザプログラムを登録する。また、コントローラセットのインスタンスへの参照が入力デバイス2に渡されるようにするとよい。
〔コントローラパーツ編集機能〕
コントローラパーツ編集機能は、コントローラセットを構成する各コントローラパーツについて、様々な属性を編集する機能である。コントローラパーツ編集機能は、コントローラセット編集機能が実行された後に、表示部12に表示されるメニューにおいて、ユーザがコントローラパーツの編集を選択することで開始される。
コントローラパーツ編集機能が開始されると、表示部12には、編集領域R1が表示される。編集領域R1は、入力デバイス2の画面に表示するコントローラパーツの配置、外観等を視覚的に確認しながら編集するための表示領域である。新規にGUIコントローラを作成する場合には、起動時の編集領域R1は空白の状態とされる。一方、既存のGUIコントローラを編集する場合には、編集領域R1には、起動時に選択されたコントローラセットに基づき保存済みのGUIコントローラが表示された状態とされる。
ユーザは、編集領域R1内に所望のコントローラパーツを配置したり、配置済みのコントローラパーツを移動、削除、編集(各種属性値の変更)等を行ったりすることにより、自由にGUIコントローラを作成・編集することができる。編集領域R1に配置することができるコントローラパーツのひな形は記憶部11に予め記憶されている。そして、これらのひな形は、ユーザインタフェースを介してユーザが適宜選択して任意の位置に配置することができるように構成される。また、配置済みのコントローラパーツについては、タッチパネルに対するタップやマウスカーソルを合わせた状態でのクリックによって選択が可能とされ、いわゆるドラッグ操作により移動が可能とされる。また、配置済みのコントローラパーツに対しダブルクリック又はダブルタップをすると、当該コントローラパーツについての定義属性を編集することが可能とされる。
変更内容を保存する操作や自動保存機能により、コントローラパーツの編集が確定されると、編集後のGUIコントローラに対応するコントローラパーツが記憶部11に記憶される。この時点で入力デバイス2では、参照するコントローラセットのインスタンスに基づき、インデックスにコントローラセットに含まれるコントローラパーツを登録、もしくは更新を実施する。
〔ユーザプログラム編集機能〕
ユーザプログラム編集機能は、制御部10が実行するプログラムとして実現される。ユーザプログラム編集機能は、表示部12に表示されるメニューにおいて、ユーザがユーザプログラムの編集を選択することで開始される。ユーザプログラム編集機能では、新規にユーザプログラムを作成することも、既存のユーザプログラムを編集することも可能とされる。新規にユーザプログラムを作成する場合には、ユーザはその旨のメニューを選択する。また、既存のユーザプログラムを編集する場合には、ユーザは記憶部11に記憶された既存のユーザプログラムを選択する。
ユーザプログラム編集機能が開始されると、表示部12には、編集領域R2が表示される。編集領域R2は、例えば、使用するプログラミング言語に応じて、ユーザプログラムのソースコードを編集可能なテキストエディタ、GUIブロックプログラミングを実現するためのエディタ等とするとよい。新規にユーザプログラムを作成する場合には、起動時の編集領域R2は空白の状態とされる。一方、既存のユーザプログラムを編集する場合には、編集領域R2には、起動時に選択されたユーザプログラムが表示された状態とされる。
ユーザは、編集領域R2内においてユーザプログラムのソースコードを編集することができる。ユーザプログラムの中では、GUIコントローラ編集機能により作成したGUIコントローラに含まれているコントローラパーツや、ターゲットデバイス4に対応するドライバのインスタンスをそれぞれ識別情報により区別し、起動ブロック、エントリポイント(関数)、または変数として利用することができる。これらの利用可能なインスタンスは、ユーザインタフェースを介してユーザが適宜選択してソースコード内の任意の位置に挿入することができるように構成される。このようにして、ユーザは、各コントローラパーツに対する操作入力やドライバに対し、起動するプログラム(関数、起動ブロック)を紐づける。
ユーザプログラムの編集が確定(登録操作など)すると、GUIコントローラ設計支援装置1の制御部10は、即座にプログラムの文脈を評価する。そして、文脈的に問題が無ければ、エンジン3の実行環境内でプログラム文脈が保持されることとなる。なお、いわゆるブロックプログラミングのように、ブロックとして文脈が保証されている場合には、文脈の評価を行わなくてもよい。
変更内容を保存する操作や自動保存機能により、編集後のユーザプログラムが記憶部11に記憶され、ユーザが編集したプログラム言語に応じた実行環境を有するエンジン3に編集後のユーザプログラムを送信してユーザプログラムを登録することができる。なお、いわゆるブロックプログラミングのように、ブロックとして文脈が保証されている場合には、編集情報はユーザ操作に連動して即座に実行環境に登録される。
続いて、以上で説明したGUIコントローラ設計支援装置1が適用されるリモートコントロール環境において、入力デバイス2に表示されるGUIコントローラによりターゲットデバイス4を制御する手順、および既存のGUIコントローラやユーザプログラムを編集し更新する際の処理の手順について説明する。
編集が行われる前の状態として、入力デバイス2には編集前のGUIコントローラのコントローラセットが登録されており、エンジン3には編集前のユーザプログラムが登録されているものとする。
図2は、入力デバイス2に登録されたGUIコントローラにより、エンジン3を介してターゲットデバイス4を制御する際の手順を示すフローチャートである。はじめにユーザは、上述のようにコントローラセット編集機能を用いてコントローラセットのインスタンスを生成する(ステップS100)。次に、コントローラセットインスタンスに応じたユーザプログラムの実行に必要なエンジン3の実行環境を起動する(ステップS110)。このとき、入力デバイス2にコントローラセットが登録される。また、エンジン3の実行環境にはユーザプログラムが登録された状態となる。ここで、「実行環境が起動している」状態とは、実行環境が、”main”関数として無限ループを実行しつつ、プログラム実行要求や登録、更新要求など、何らかのイベントを待機している状態である。なお、コントローラセットインスタンス生成(ステップS100)と実行環境の起動(ステップS110)は順不同である。
入力デバイス2は、登録済みのGUIコントローラを表示部22に表示しつつ、入力部23(例えば表示部22に重畳されたタッチパネル)に対するユーザの操作入力を受け付ける(ステップS120)。受け付けられた操作入力の内容は、操作されたコントローラパーツのインスタンスに対応する識別情報、操作に伴い検知されたパラメータ値等を含む実行要求イベントとして、エンジン3で起動されている実行環境に送られる(ステップS130)。
エンジン3において利用可能とされているドライバは、起動状態のターゲットデバイス4と接続され、制御信号やセンサ出力の送受信が可能な状態となっている。ドライバは、いわゆるKeep Alive方式により、接続状態を管理するとよい。一般に、ドライバは、実行環境で実行されるユーザプログラムからの呼び出しに応じて、ターゲットデバイス4に対し制御信号を送信する。また、ドライバは、ターゲットデバイス4からのセンサ出力に起因して、当該ドライバのインスタンスに対応する識別情報、センサ出力に伴う値等を含む実行要求を、エンジン3で起動されている実行環境に送る。
入力デバイス2のGUIコントローラに対する操作やドライバからの要求により実行環境に対し実行要求イベントが発行されると、当該実行要求の元となったコントローラパーツやドライバのインスタンスに対応する起動ブロックもしくは関数が、当該実行環境に対するプログラム実行スタックとして登録される(ステップS140)。プログラム実行スタックに登録された処理は、”main”関数として実行されている無限ループのループ毎にイベント処理と共に順次実行されていくことになる(ステップS150)。
入力デバイス2は、登録済みのGUIコントローラを表示部22に表示しつつ、入力部23(例えば表示部22に重畳されたタッチパネル)に対するユーザの操作入力を受け付け、その内容をエンジン3で起動されている実行環境に送るとともに、操作入力に応じてコントーローラパーツのGUI表現(外観)を変更する(例えばアニメーション表示等)。
このような環境で、入力デバイス2に表示されたGUIコントローラに対する操作入力に応じて、エンジン3で起動している実行環境においてユーザプログラムの対応するエントリポイントが実行され、ドライバを介してターゲットデバイス4に対する制御が実行される。
続いて、既存のGUIコントローラやユーザプログラムを編集し更新する際の処理について説明する。図3は、既存のGUIコントローラやユーザプログラムを編集し更新する際の処理の手順を示すフローチャートである。
GUIコントローラやユーザプログラムを編集する場合、GUIコントローラ設計支援装置1にて、GUIコントローラ編集機能やユーザプログラム編集機能を用いて、コントローラパーツ定義、配置、ユーザプログラムの編集等を行う(ステップS200)。編集を終えた後、コントローラパーツ編集機能やユーザプログラム編集機能においてそれぞれの編集が確定すると(ステップS220)、コントローラセットについては入力デバイス2に、ユーザプログラムについてはエンジン3に、それぞれ登録がおこなわれる(ステップS240)。GUIコントローラやユーザプログラムの編集や登録は任意のタイミングで、入力デバイス2、エンジン3、ターゲットデバイス4の再起動を要さずに行うことができ、これによりGUIコントローラを構成する各コントローラパーツに対する操作と、ターゲットデバイス4の挙動をリアルタイムで系に反映させることができる。
本実施形態のリモートコントロール環境では、上述とおり、エンジン3が、受け取った実行要求とエントリポイント(関数や起動ブロック)とを、実行要求に含まれるコントローラパーツのインスタンスの識別情報を利用して紐づける。編集後のGUIコントローラやユーザプログラムの登録が行われると、コントローラパーツのインスタンスの識別情報とエントリポイントとの対応関係が変更され得るが、この関係は編集後のユーザプログラムにおいて規定され、エンジン3の実行環境に登録されることになる(ステップS260)。また、GUIコントローラの構成を示すコントローラセットの更新が入力デバイス2に登録されると、更新の内容に応じて、入力デバイス2に表示されるGUIコントローラの表示、コントローラパーツからの通知等が変更される。
起動している実行環境は、登録の前後に亘ってmain関数として無限ループを実行し続ける。更新後のGUIコントローラやユーザプログラムが登録されると、同名の関数や変数は新たな値に置き換わる場合があるが、更新の前にプログラム実行スタックに登録された実行要求に紐づく関数については、更新前のユーザプログラムにて規定されている関数が実行される。そして、更新後にプログラム実行スタックに登録された実行要求については新しいユーザプログラムにて規定されている関数が実行される(ステップS280)ことになる。
以上で説明した本実施形態におけるGUIコントローラ設計支援装置によれば、柔軟かつリアルタイムに制御やグラフィック表現を変更可能なコントローラ装置のプログラミングを支援することが可能となる。
なお、上記に本実施形態を説明したが、本発明はこれらの例に限定されるものではない。例えば、上記の実施形態では、GUIコントローラ設計支援装置1、入力デバイス2、およびエンジン3が個別のハードウェアとして実現されたが、これらのうちの複数又は全てを1つのハードウェア(例えば、1台のコンピュータ)により実現してもよい。また、前述の各実施形態に対して、当業者が適宜、構成要素の追加、削除、設計変更を行ったものや、各実施形態の特徴を適宜組み合わせたものも、本発明の要旨を備えている限り、本発明の範囲に含有される。
1 GUIコントローラ設計支援装置
2 入力デバイス
3 エンジン
4 ターゲットデバイス
NW ネットワーク

Claims (5)

  1. 入力デバイスのタッチパネルディスプレイに表示され、ターゲットデバイスを操作するための操作入力を受け付けるGUIコントローラの設計を支援するGUIコントローラ設計支援装置であって、
    複数のコントローラパーツを含んで構成され前記GUIコントローラを定義するコントローラセットを編集するためのコントローラセット編集手段と、
    前記コントローラセットに含まれる各コントローラパーツを編集するためのコントローラパーツ編集手段と、
    前記コントローラパーツに対する操作入力に応じた前記ターゲットデバイスの制御を規定するユーザプログラムを編集するためのユーザプログラム編集手段と、
    を備えるGUIコントローラ設計支援装置。
  2. 前記ターゲットデバイスを制御するために前記ユーザプログラムから呼び出して利用するオブジェクトであるドライバが動作するエンジンが前記ユーザプログラムを実行するための実行環境を起動している状態において、前記コントローラセット編集手段、および、コントローラパーツ編集手段にて編集された前記コントローラセットを、前記入力デバイスに登録するGUIコントローラ登録手段をさらに備える、請求項1に記載のGUIコントローラ設計支援装置。
  3. 前記ターゲットデバイスを制御するために前記ユーザプログラムから呼び出して利用するオブジェクトであるドライバが動作するエンジンが前記ユーザプログラムを実行するための実行環境を起動している状態において、前記ユーザプログラム編集手段にて編集された前記ユーザプログラムを、前記エンジンに登録するユーザプログラム登録手段をさらに備える、請求項1または2に記載のGUIコントローラ設計支援装置。
  4. 請求項1から3のいずれか1項に記載のGUIコントローラ設計支援装置と、
    タッチパネルディスプレイを備え、当該タッチパネルディスプレイにGUIコントローラを表示する入力デバイスと、
    前記ターゲットデバイスを制御するために前記ユーザプログラムから呼び出して利用するオブジェクトであるドライバが動作するエンジンと、
    を備えるリモートコントロールシステムであって、
    前記入力デバイスは、前記タッチパネルディスプレイに表示されたGUIコントローラに対するユーザの操作入力を受け付け、当該操作入力の内容を前記エンジンに送信し、
    前記エンジンは、前記入力デバイスから受け取った操作入力の内容に基づき、前記ターゲットデバイスを制御すべくドライバを動作させ、
    前記入力デバイスは、前記エンジンが前記ユーザプログラムを実行するための実行環境を起動している状態において、前記ユーザプログラムと関連付けられた前記GUIコントローラのコントローラセットを更新可能とし、
    前記エンジンは、前記ユーザプログラムを実行するための実行環境を起動している状態において、前記ユーザプログラムを更新可能とすることを特徴とするリモートコントロールシステム。
  5. コンピュータを、請求項1から3のいずれか1項に記載のGUIコントローラ設計支援装置として機能させるプログラム。
JP2020508061A 2019-07-26 2019-12-17 Guiコントローラ設計支援装置、リモートコントロールシステム、およびプログラム Active JP6684513B1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019137463 2019-07-26
JP2019137463 2019-07-26
PCT/JP2019/049488 WO2021019801A1 (ja) 2019-07-26 2019-12-17 Guiコントローラ設計支援装置、リモートコントロールシステム、およびプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020051640A Division JP2021022363A (ja) 2019-07-26 2020-03-23 Guiコントローラ設計支援装置、リモートコントロールシステム、およびプログラム

Publications (2)

Publication Number Publication Date
JP6684513B1 true JP6684513B1 (ja) 2020-04-22
JPWO2021019801A1 JPWO2021019801A1 (ja) 2021-09-13

Family

ID=70286785

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020508061A Active JP6684513B1 (ja) 2019-07-26 2019-12-17 Guiコントローラ設計支援装置、リモートコントロールシステム、およびプログラム

Country Status (2)

Country Link
US (1) US11249732B2 (ja)
JP (1) JP6684513B1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011193382A (ja) * 2010-03-16 2011-09-29 Toshiba Corp 監視操作装置および監視制御システム
WO2014061093A1 (ja) * 2012-10-16 2014-04-24 三菱電機株式会社 画面作成装置および画面作成方法
JP2017123148A (ja) * 2015-10-19 2017-07-13 パロット ドローンズ 操縦コマンドを保持するようになっているドローン操縦装置及び関連する制御方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9632665B2 (en) 2004-09-08 2017-04-25 Universal Electronics Inc. System and method for flexible configuration of a controlling device
US20110191516A1 (en) * 2010-02-04 2011-08-04 True Xiong Universal touch-screen remote controller
KR101966940B1 (ko) * 2013-11-15 2019-08-13 삼성전자주식회사 디스플레이 장치 및 이의 통합 리모컨 설정 방법
US9824578B2 (en) * 2014-09-03 2017-11-21 Echostar Technologies International Corporation Home automation control using context sensitive menus
KR101729564B1 (ko) * 2015-09-07 2017-05-02 엘지전자 주식회사 이동 단말기 및 그 제어 방법
US10197998B2 (en) * 2015-12-27 2019-02-05 Spin Master Ltd. Remotely controlled motile device system
JP7023085B2 (ja) 2017-11-09 2022-02-21 株式会社Clue ドローンを操作するための端末、方法及びそのためのプログラム
US11281437B2 (en) * 2019-05-14 2022-03-22 Embarcadero Technologies, Inc. User interface design platform, system, and method for applying consistent look and feel
US11379104B2 (en) * 2019-06-07 2022-07-05 Microsoft Technology Licensing, Llc Sharing user interface customization across applications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011193382A (ja) * 2010-03-16 2011-09-29 Toshiba Corp 監視操作装置および監視制御システム
WO2014061093A1 (ja) * 2012-10-16 2014-04-24 三菱電機株式会社 画面作成装置および画面作成方法
JP2017123148A (ja) * 2015-10-19 2017-07-13 パロット ドローンズ 操縦コマンドを保持するようになっているドローン操縦装置及び関連する制御方法

Also Published As

Publication number Publication date
US20210089277A1 (en) 2021-03-25
US11249732B2 (en) 2022-02-15
JPWO2021019801A1 (ja) 2021-09-13

Similar Documents

Publication Publication Date Title
US7713126B2 (en) Video game control program and video game device
AU2015201798B2 (en) Graph display control apparatus, graph display control method, and graph display control program
US8339416B2 (en) Image construction apparatus and computer-readable media
JPWO2012144632A1 (ja) 情報処理装置、情報処理方法及びプログラム
JPH08286831A (ja) ペン入力型電子装置及びその制御方法
KR102373451B1 (ko) 동적으로 구성가능한 애플리케이션 제어 요소들
JP2014032529A (ja) Plcシステム、その作画エディタ装置、プログラマブル表示器
JP2024506044A (ja) 視覚ソフトウェア開発システム、方法、装置及びコンピュータ記憶媒体
CN111176780A (zh) 一种轨道交通站场图通用按钮显示及控制的装置和方法
JP2017107355A (ja) スケジュール作成支援装置および方法
JP6684513B1 (ja) Guiコントローラ設計支援装置、リモートコントロールシステム、およびプログラム
WO2021019801A1 (ja) Guiコントローラ設計支援装置、リモートコントロールシステム、およびプログラム
JP6322631B2 (ja) 組み込みソフトウェアの開発方法、プログラミング装置および組み込み機器
US20220001281A1 (en) Information processing system and information processing method
JP2008310442A (ja) 遠隔操作システム、制御方法及びプログラム
JP6314141B2 (ja) 組み込みソフトウェアのドキュメント作成方法およびドキュメント作成装置
KR102419562B1 (ko) 사용자 작성 프로그램의 실행 방법
TW201439699A (zh) 可程式化控制器系統、該可程式化顯示器、支援裝置、程式
JP2019159937A (ja) プログラミング支援装置、プログラミング支援方法及びプログラム
JP7247239B2 (ja) iOSを搭載する移動機端末のポインタを操作する自動設定プログラム
KR102442163B1 (ko) 사용자 작성 프로그램의 실행 방법
CN109783152B (zh) 物理硬件的控制方法、装置和计算机可读存储介质
KR20140090883A (ko) 멀티 태스크용 작업 안내 장치 및 방법
JP2981563B2 (ja) 電子機器
CN116431035A (zh) 交互的方法、装置、电子设备、介质及产品

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200212

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200212

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200302

AA64 Notification of invalidation of claim of internal priority (with term)

Free format text: JAPANESE INTERMEDIATE CODE: A241764

Effective date: 20200303

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200311

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200323

R150 Certificate of patent or registration of utility model

Ref document number: 6684513

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250