Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7067286B2 - 制御システム、制御システムの制御方法、および制御システムのプログラム - Google Patents
[go: Go Back, main page]

JP7067286B2 - 制御システム、制御システムの制御方法、および制御システムのプログラム - Google Patents

制御システム、制御システムの制御方法、および制御システムのプログラム Download PDF

Info

Publication number
JP7067286B2
JP7067286B2 JP2018108920A JP2018108920A JP7067286B2 JP 7067286 B2 JP7067286 B2 JP 7067286B2 JP 2018108920 A JP2018108920 A JP 2018108920A JP 2018108920 A JP2018108920 A JP 2018108920A JP 7067286 B2 JP7067286 B2 JP 7067286B2
Authority
JP
Japan
Prior art keywords
shared variable
shared
source code
program
mapping information
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
JP2018108920A
Other languages
English (en)
Other versions
JP2019212122A5 (ja
JP2019212122A (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.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2018108920A priority Critical patent/JP7067286B2/ja
Priority to CN201980035702.4A priority patent/CN112166409B/zh
Priority to US15/734,769 priority patent/US20210232370A1/en
Priority to EP19815106.0A priority patent/EP3816792A4/en
Priority to PCT/JP2019/021212 priority patent/WO2019235312A1/ja
Publication of JP2019212122A publication Critical patent/JP2019212122A/ja
Publication of JP2019212122A5 publication Critical patent/JP2019212122A5/ja
Application granted granted Critical
Publication of JP7067286B2 publication Critical patent/JP7067286B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1656Program controls characterised by programming, planning systems for manipulators
    • B25J9/1658Program controls characterised by programming, planning systems for manipulators characterised by programming language
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Description

この発明は、制御装置において実行される複数の異なるプログラミング言語を開発するための開発支援装置と、制御装置とを備える制御システム、制御システムの制御方法、および制御システムのプログラムに関する。
ロボットを制御するシステムにおいては、ロボット制御に用いるプログラムは、例えばV+言語で作成し、シーケンス制御に用いるプログラムは、例えば、国際電気標準会議(International Electrotechnical Commission:IEC)によって規定された国際規格IEC61131-3に従って記述された1または複数の命令からなるプログラム言語(以下、IEC言語とする)で作成している。
これらのプログラムを用いてロボットのアプリケーションを構築するためには、両プログラム間でデータをやり取りしてタイミングを合わせるためのインタロック処理を行ったり、あるいは片方の言語側でなければ取得できないデータをもう片方の言語側と共有したりすることが必要になる。
従来は、特許文献1のように、ロボット制御に用いるプログラムを実行するプロセッサと、シーケンス制御に用いるプログラムに用いるプログラムを実行するプロセッサとを、共有メモリによりバス結合し、両プログラム間でのデータのやり取りを行っている。
このようなデータのやり取りは、両プログラムにおいては、それぞれのプログラムで同一名称の共有変数を定義することで行われる。
特開平7-72920号公報
しかしながら、共有変数の名称には、プログラミング言語によって、文字数制限および変数に使用できる文字種別等の制約があり、かつ、両言語のプログラムは異なる画面で作成され、通常、別々の担当者により作成される。したがって、両言語のプログラム間のインタフェースとして取り決めた共有変数を、同一名称とすることは、全てのプログラム言語における変数名の制約を満たした変数名しか使用できないことになり、ユーザに対して大きな制約を課す結果となっていた。
また、共有変数を同一名称とする方法では、過去に作成されたプログラム資産を流用することができないという問題があった。
そこで、この発明の課題は、異なるプログラム間で定義する共有変数を同一名称とすることなく、より自由な命名が可能で、過去のプログラム資産を流用することの可能な制御システム、制御システムの制御方法、および制御システムのプログラムを提供することにある。
上記課題を解決するため、この開示の制御システムは、
制御装置と、前記制御装置において実行される複数の異なるプログラミング言語を開発するための開発支援装置とを備える制御システムであって、
前記開発支援装置は、
前記複数の異なるプログラミング言語のソースコードを入力する入力部と、
それぞれのソースコードにおいて選択された共有変数をマッピングし、共有変数マッピング情報を作成するマッピング情報作成部と、
前記ソースコードおよび前記共有変数マッピング情報を前記制御装置に送信する送信部と、を備え、
前記制御装置は、
前記ソースコードで表されたプログラムを実行するプログラム実行部と、
前記共有変数マッピング情報に基づいて、マッピングされたそれぞれの前記共有変数を、共通の共有変数として処理する共有変数処理部と、を備える、
上述の制御システムでは、複数の異なるプログラミング言語のソースコードは、入力部により、開発支援装置に入力される。それぞれのプログラミング言語のソースコードにおいては、メモリを共有する共有変数がそれぞれ定義されるが、これらの共有変数は、例えばユーザにより選択可能となっている。選択された共有変数は、マッピング情報作成部によりマッピングされ、共有変数マッピング情報が作成される。作成された共有変数マッピング情報は、ソースコードと共に、送信部により制御装置に送信される。
制御装置においては、プログラム実行部により、受信したソースコードで表されたプログラムが実行される。また、受信した共有変数マッピング情報については、共有変数処理部により参照され、共有変数マッピング情報に基づいて、マッピングされたそれぞれの共有変数が、共通の共有変数として処理される。
上述の制御システムによれば、異なるプログラム間で、異なる名称の共有変数が定義されていたとしても、これらの共有変数は、共有変数マッピング情報においてマッピングされているため、それぞれのるプログラム間における共通の共有変数として利用される。このように、上述の制御システムによれば、それぞれのプログラムにおいて、共有変数を同一名称とすることなく、より自由に命名することができ、共有変数の名称を命名する際の制約をなくすことができる。また、共有変数マッピング情報によるマッピングを行うことにより、過去のプログラム資産において記述された変数についても共有変数として処理することが可能となり、過去のプログラム資産を有効に流用することができる。
一実施形態の制御システムは、
前記共有変数処理部は、マッピングされた共有変数間でデータをコピー、または、参照アドレスを同じにしてもよい。
この一実施形態の制御システムでは、共有変数処理部は、マッピングされた共有変数がそれぞれ異なる名称であっても、それぞれの共有変数間でデータをコピーし、または、それぞれの共有変数の参照アドレスを同じにする。したがって、異なるプログラム間で、共有変数によるデータの共有が行われる。
上述の実施形態の制御システムによれば、共有変数を同一名称とすることなく、より自由に命名することができ、共有変数の名称を命名する際の制約をなくすことができる。また、共有変数マッピング情報によるマッピングを行うことにより、過去のプログラム資産において記述された変数についても共有変数として処理することが可能となり、過去のプログラム資産を有効に流用することができる。
一実施形態の制御システムは、
前記入力部により入力される前記ソースコードは、少なくとも、コンパイル言語によるソースコードと、インタプリタ言語によるソースコードとを含んでいてもよい。
この一実施形態の制御システムでは、コンパイル言語によるソースコードだけでなく、インタプリタ言語によるソースコードについても入力するが、インタプリタ言語については、ソースコードを解釈して、変数を含むコードを実行してみないと、エラーが発生するかどうかは分からない。しかし、この一実施形態の制御システムでは、ソースコードの段階で、選択された共有変数について共有変数マッピング情報によるマッピングを行うので、共有変数に関するエラーの発生を防止することができる。
上述の制御システムによれば、コンパイル言語によるソースコードと、インタプリタ言語によるソースコードにおいて、共有変数を同一名称とすることなく、より自由に命名することができ、共有変数の名称を命名する際の制約をなくすことができる。また、共有変数マッピング情報によるマッピングを行うことにより、コンパイル言語とインタプリタ言語を含む過去のプログラム資産において記述された変数についても共有変数として処理することが可能となり、過去のプログラム資産を有効に流用することができる。
一実施形態の制御システムは、
前記共有変数マッピング情報に基づいて、入力された前記複数の異なるプログラミング言語のソースコードにおいて、前記共有変数が参照されている箇所を示す共有変数リファレンス作成部を備えていてもよい。
この一実施形態の制御システムでは、共有変数リファレンス作成部により共有変数が参照されている箇所を示す共有変数リファレンスが作成される際にも、共有変数マッピング情報が参照される。
上述の制御システムでは、複数の異なるプログラミング言語のソースコードにおいて、共有変数の名称が同一名称でない場合であっても、共有変数リファレンスに基づいて共有変数の参照箇所が確認される。
上述の制御システムによれば、異なるプログラム間で定義した共有変数の実装漏れや共有変数名の間違いを、プログラムの実行前に適切に発見することが可能となる。
上記課題を解決するため、この開示の制御システムの制御方法は、
制御装置と、前記制御装置において実行される複数の異なるプログラミング言語を開発するための開発支援装置とを備える制御システムの制御方法であって、
前記開発支援装置において、
前記複数の異なるプログラミング言語のソースコードを入力するステップと、
それぞれのソースコードにおいて選択された共有変数をマッピングし、共有変数マッピング情報を作成するステップと、
前記ソースコードおよび前記共有変数マッピング情報を前記制御装置に送信するステップと、を備え、
前記制御装置において、
前記ソースコードで表されたプログラムを実行するステップと、
前記共有変数マッピング情報に基づいて、マッピングされたそれぞれの前記共有変数を、共通の共有変数として処理するステップと、を備える。
この開示の制御システムの制御方法によれば、異なるプログラム間で、異なる名称の共有変数が定義されていたとしても、これらの共有変数は、共有変数マッピング情報においてマッピングされているため、それぞれのプログラム間における共通の共有変数として利用される。このように、上述の制御システムによれば、それぞれのプログラムにおいて、共有変数を同一名称とすることなく、より自由に命名することができ、共有変数の名称を命名する際の制約をなくすことができる。また、共有変数マッピング情報によるマッピングを行うことにより、過去のプログラム資産において記述された変数についても共有変数として処理することが可能となり、過去のプログラム資産を有効に流用することができる。
上記課題を解決するため、この開示の制御システムのプログラムは、上記制御システムの制御方法をコンピュータに実行させるためのプログラムである。
この開示のプログラムをコンピュータに実行させることによって、上記制御システムの制御方法を実施することができる。
以上より明らかなように、この開示の制御システム、制御システムの制御方法および制御システムのプログラムによれば、複数のプログラミング言語で共有変数を用いる際に、共有変数を同一名称としなくてもよい。その結果、共有変数の命名規則が緩和され、共有変数の命名の自由度を高めることができる。また、既に作成したプログラムの修正を行うことなく、共有変数を用いることができるので、プログラム資産の流用を有効に行うことができる。
第1実施形態におけるロボット制御システム100の概略構成を示すブロック図である。 開発支援装置のハードウェア構成を示す図である。 制御装置のハードウェア構成を示す図である。 開発支援装置の機能ブロック図である。 制御装置の機能ブロック図である。 開発支援装置の表示装置に表示される表示画面を示す図である。 アーム型ロボットとエンドエフェクタの動作を説明する図である。 図6に示す動作を実現するためのV+言語によるプログラムとIEC言語によるプログラムのフローチャートである。 図6に示す動作を実現するためのV+言語によるプログラムとIEC言語によるプログラムの例を示す図である。 共有変数マッピング処理の流れを示すフローチャートである。 共有変数チェック処理の流れを示すフローチャートである。 共有変数チェック処理の流れを示すフローチャートである。 第2実施形態における開発支援装置の表示装置に表示される表示画面を示す図である。 クロスリファレンス表示画面の一例を示す図である。
以下、この発明の実施の形態を、図面を参照しながら詳細に説明する。
(第1実施形態)
図1は、第1実施形態におけるロボット制御システム100の概略構成を示すブロック図である。図1に示すように、ロボット制御システム100は、コントローラ(制御装置)10と、アーム型ロボット20と、エンドエフェクタコントローラ30と、エンドエフェクタ40と、開発支援装置50とを備える。
コントローラ10は、一例として、PLC(Programmable Logic Controller)、または産業用コンピュータであり、アーム型ロボット20の動作を制御するロボット制御プログラムと、エンドエフェクタ40の動作を制御するシーケンス制御プログラムとを実行し、制御信号を出力する。
アーム型ロボット20は、一例として、6軸の垂直多関節ロボットであり、コントローラ10と通信可能に接続されている。アーム型ロボット20は、サーボモータ等の動力源を備えており、ロボット制御プログラムに基づいてコントローラ10から出力される制御信号によりサーボモータを駆動し、各関節軸を動作させる。
エンドエフェクタコントローラ30は、コントローラ10と通信可能に接続されている。エンドエフェクタコントローラ30は、シーケンス制御プログラムに基づいてコントローラ10から出力される制御信号により、エンドエフェクタ40内のサーボモータを駆動する。
エンドエフェクタ40は、アーム型ロボット20の先端部に取り付けられ、一例として、部品を把持する機構等を備えている。エンドエフェクタ40は、エンドエフェクタコントローラ30と通信可能に接続されており、エンドエフェクタコントローラ30から出力される制御信号に基づいて、エンドエフェクタ40内のサーボモータを駆動し、部品の把持等の動作を行う。
開発支援装置50は、一例として、パーソナルコンピュータ等のコンピュータであり、コントローラ10と通信可能に接続されている。開発支援装置50は、コントローラ10で実行されるロボット制御プログラムおよびシーケンス制御プログラムをコントローラ10にダウンロードする機能、これらのプログラムをデバッグする機能、並びに、これらのプログラムをシミュレートする機能等を有している。
本実施形態では、開発支援装置50は、第1プログラミング端末60および第2プログラミング端末61と通信可能に接続されている。ロボット制御プログラムは、パーソナルコンピュータ等の第1プログラミング端末60により作成され、開発支援装置50にダウンロードされる。また、シーケンス制御プログラムは、パーソナルコンピュータ等の第2プログラミング端末61により作成され、開発支援装置50にダウンロードされる。なお、ロボット制御プログラムおよびシーケンス制御プログラムは、開発支援装置50において作成するようにしてもよい。
開発支援装置50は、コンピュータに、予めインストールしてあるソフトウェアを起動することにより、上述の機能を実現する。このソフトウェアには、本発明のプログラムが含まれている。開発支援装置50のハードウェア構成は、図2に示すように、入力装置51と、表示装置52と、中央演算装置53と、記憶装置54と、通信I/F55とを備えている。入力装置51は、一例として、キーボード,ポインティングデバイスから構成される。表示装置52は、一例として、ディスプレイから構成される。中央演算装置13は、一例として、CPUから構成される。記憶装置14は、不揮発性記憶装置と揮発性記憶装置とを備えており、不揮発性記憶装置は、ロボット制御プログラムおよびシーケンス制御プログラムの他、共有変数マッチング情報等を記憶する。また中央演算装置13の実行時のワークメモリとして揮発性記憶装置が適宜使用される。通信I/F55は、例えば、RS232C等のシリアル回線のインタフェースであり、コントローラ10との通信を行う。通信I/F55他の通信回線のインタフェースでもよい。
コントローラ10も、開発支援装置50と同様のハードウェア構成となっている。コントローラ10は、コンピュータに、予めインストールしてあるソフトウェアを起動することにより、上述の機能を実現する。このソフトウェアには、本発明のプログラムが含まれている。コントローラ10のハードウェア構成は、図3に示すように、入力装置81と、表示装置82と、中央演算装置83と、記憶装置84と、通信I/F85とを備えている。入力装置81は、一例として、キーボード,ポインティングデバイスから構成される。表示装置82は、一例として、ディスプレイから構成される。中央演算装置83は、一例として、CPUから構成される。記憶装置84は、不揮発性記憶装置と揮発性記憶装置とを備えており、不揮発性記憶装置は、ロボット制御プログラムおよびシーケンス制御プログラムの他、共有変数マッチング情報等を記憶する。また中央演算装置83の実行時のワークメモリとして揮発性記憶装置が適宜使用される。通信I/F85は、例えば、RS232C等のシリアル回線のインタフェースであり、開発支援装置50との通信を行う。通信I/F85他の通信回線のインタフェースでもよい。
図4は、本実施形態における開発支援装置50の機能ブロック図である。開発支援装置50は、入力処理部71、表示処理部72、演算部73、記憶部74、および通信処理部75として機能する。入力処理部71は、入力装置51からの入力を処理する。表示処理部72は、表示装置52に出力する表示データを作成する。演算部73はマッピング情報作成部73a、アウトライン情報生成部73b、およびクロスリファレンス情報生成部73cを含む。演算部73のこれらの機能の詳細については後述する。記憶部74は、ユーザプログラム記憶部74a、アウトライン情報記憶部74b、クロスリファレンス情報記憶部74c、および共有変数マッピング情報記憶部74dを含む。これらの記憶部の詳細については後述する。
図5は、本実施形態におけるコントローラ10の機能ブロック図である。コントローラ10は、入力処理部91、表示処理部92、演算部93、記憶部94、および通信処理部95として機能する。入力処理部91は、入力装置81からの入力を処理する。表示処理部92は、表示装置82に出力する表示データを作成する。演算部93は、ロボット制御部93a、シーケンス制御部93b、および共有変数処理部93cを含む。演算部93のこれらの機能の詳細については後述する。記憶部94は、ロボット制御用プログラム記憶部94a、シーケンス制御用プログラム94b、共有変数マッピング情報記憶部94c、および共有メモリ9dを含む。これらの記憶部の詳細については後述する。
図6は、開発支援装置50の表示装置52に表示される表示画面を示す図である。図6に示すように、表示装置52の表示画面は、プログラム表示部52a,52bと、共有変数設定部52cとを備えている。プログラム表示部52a,52bは、それぞれロボット制御プログラムおよびシーケンス制御プログラムのソースコードを表示する。
共有変数設定部52cは、共有変数表示欄52d,52eを備えている。共有変数表示欄52dには、V+プログラムのソースコードにおいて記述された共有変更のうち、選択された共有変数が表示される。共有変数表示欄52eには、IECプログラムのソースコードにおいて記述された共有変数のうち、選択された共有変数が表示される。
(共有変数マッピング処理)
次に、本実施形態における共有変数のマッピング処理について説明する。本実施形態では、一例として、アーム型ロボットをワークの位置まで移動させ、エンドエフェクタでワークを掴み、その状態でアーム型ロボットを別の位置に移動させる場合のプログラムにおける共有変数のチェック処理について説明する。ロボット制御プログラムは、本実施形態では、V+言語を用いている。シーケンス制御プログラムは、IEC言語で記述されたプログラムであり、本実施形態では、一例として、ST言語を用いている。
図7は、アーム型ロボットとエンドエフェクタの以上のような動作を説明する図である。図8は、以上のような動作を実現するためのV+言語によるプログラムとIEC言語によるプログラムのフローチャートである。図9は、以上のような動作を実現するためのV+言語によるプログラムとIEC言語によるプログラムのソースコードを示す図である。
この例では、図7に示すように、まず、アーム型ロボット20のアーム20aを、ワークWの近くまで移動させる(図8:S1;ロボットアームの移動)。次に、エンドエフェクタ40を移動させてエンドエフェクタ40によりワークWをピックする(図8:S2;ロボットアームの移動)。この間、アーム型ロボット20は、ワークWのピックが完了するまで待機する(図8:S3;ワークのピック完了まで待つ)。そして、ワークWのピックが完了すると、アーム型ロボット20のアーム20aを、別の位置まで移動させる(図8:S4;ロボットアームの移動)。
以上のような動作を、図8のフローチャートで説明する。図8に示すように、ロボット制御プログラムであるV+言語で記述されたプログラムでは、まず、アーム型ロボット20のアーム20aを、ワークWの近くの所定位置まで移動させる(S1)。次に、アーム型ロボット20のアーム20aの所定位置への移動が完了すると、共有変数を用いてタイミングフラグをONにする(S1-1)。この共有変数は、IEC言語で記述されたプログラムにおいても参照されており、タイミングフラグをONすることは、IEC言語で記述されたプログラムに対してのエンドエフェクタの制御の実行通知になっている。
IEC言語で記述されたプログラムは、タイミングフラグがONになると、エンドエフェクタ40の制御を開始し、ワークWをピックする(S2)。この間、V+言語で記述されたプログラムは待機する(S3)。IEC言語で記述されたプログラムは、エンドエフェクタ40によるワークWのピックが完了すると、共有変数を用いてタイミングフラグをOFFにする(S3-1)。タイミングフラグをOFFすることは、V+言語で記述されたプログラムに対してのエンドエフェクタの制御の完了通知になっている。V+言語で記述されたプログラムは、タイミングフラグがOFFになると、アーム型ロボット20のアーム20aを、別位置まで移動させる(S4)。
図9に示す例では、V+言語で記述されたプログラムでは、reqHandCloseが共有変数として用いられており、IEC言語で記述されたプログラムでは、doHandCloseが共有変数として用いられている。V+言語で記述されたプログラムでは、reqHandClose = TRUE という文がタイミングフラグをONにすることを表しており、IEC言語で記述されたプログラムでは、IF doHandClose = TRUE THENという文がタイミングフラグがONならば、それ以下のプログラムを実行するということを表している。また、IEC言語で記述されたプログラムでは、doHandClose := FALSE;という文がタイミングフラグをOFFにすることを表している。さらに、V+言語で記述されたプログラムでは、WHILE reqHandClose DOという文が、タイミングフラグがOFFにされ、ワークのピックが完了するまで待機することを表している。
以上のように、本実施形態では、V+言語で記述されたプログラムにおけるreqHandCloseという共有変数と、IEC言語で記述されたプログラムにおけるdoHandCloseという共有変数との内容を確認することにより、アーム型ロボット20とエンドエフェクタ40の動作を制御している。
本実施形態において、このような異なる複数のプログラム間における異なる名称の共有変数の利用が可能なのは、共有変数マッピング情報を開発支援装置50において作成し、この共有変数マッピング情報をコントローラ10においてプログラム実行時に参照しているためである。
開発支援装置50における共有変数マッピング情報の作成は、例えば、第1プログラミング端末60からコンパイル型言語であるIEC言語で記述されたプログラムのソースコードAを入力し、また、第2プログラミング端末61からインタプリタ型言語であるV+言語で記述されたプログラムのソースコードBを入力した後に行われる。
図10は、本実施形態における共有変数マッピングの概略フローチャートである。図10に示すように、まず、入力処理部71は、第1プログラミング端末60からコンパイル型言語であるIEC言語で記述されたプログラムのソースコードAを入力し、コンパイルを実行する(S10)。
次に、入力処理部71は、第2プログラミング端末61からインタプリタ型言語であるV+言語で記述されたプログラムのソースコードBを入力する(S11)。
そして、マッピング情報作成部73aは、ソースコードAに記述された共有変数と、ソースコードBに記述された共有変数とのマッピングを行う。
共有変数のマッピングを行うには、図11に示すように、プログラム表示部52a,52bにIEC言語で記述されたプログラムのソースコードAとV+言語で記述されたプログラムのソースコードBとを表示させて行う。図11は、共有変数とのマッピング処理を行う際の表示装置52の表示画面における表示例を示す図である。図11に示す例では、プログラム表示部52aにV+言語で記述されたプログラムのソースコードBを表示させ、プログラム表示部52bにIEC言語で記述されたプログラムのソースコードAを表示させている。
このように、プログラム表示部52a,52bにソースコードA,Bを表示させた状態で、ユーザが、共有変数設定部52cの共有変数表示欄52d,52eに変数の入力を行うか、あるいは、共有変数表示欄52d,52eに変数をドラッグ・アンド・ドロップすることにより、前記変数は、共有変数として登録される。例えば、図11に示す例では、reqHandCloseという共有変数と、doHandCloseという共有変数とを共有変数表示欄52d,52eに入力するか、ドラッグ・アンド・ドロップする。登録された共有変数は、文字の色が変わる、または下線が引かれる、あるいは背景色が異なる等、他の文字と識別可能に表示される。
図11に示す例では、共有変数表示欄52dにreqHandCloseという共有変数が表示され、共有変数表示欄52eにdoHandCloseという共有変数が表示され、登録される。共有変数表示欄52d,52eに表示され、登録された共有変数は、マッピング情報作成部により、マッピングされ、例えば、reqHandCloseとdoHandCloseとをマッピングさせた共有変数マッピング情報が作成される。作成された共有変数マッピング情報は、共有変数マッピング情報記憶部74dに記憶される。
ソースコード内に複数の共有変数が存在し、それらの共有変数が上述のように登録された場合には、複数の共有変数についてマッピングが行われて共有変数マッピング情報が作成される。
以上のようにして、開発支援装置50において共有変数マッピング情報を作成した後、送信部として機能する演算部73および通信処理部75は、IEC言語で記述されたプログラムのソースコードAをコンパイルしたオブジェクトコードと、V+言語で記述されたプログラムのソースコードBと、共有変数マッピング情報とを、コントローラ10に送信する。
次に、コントローラ10における共有変数のチェック処理について説明する。コントローラ10において、演算部93は、通信処理部95を介してIEC言語で記述されたプログラムのオブジェクトコード、およびV+言語で記述されたプログラムのソースコードB、並びに共有変数マッピング情報を開発支援装置50から受信する。次に、演算部93は、IEC言語で記述されたプログラムのオブジェクトコードをシーケンス制御プログラム記憶部94bに記憶させ、V+言語で記述されたプログラムのソースコードBをロボット制御プログラム記憶部94aに記憶させる。また、演算部93は、共有変数マッピング情報を、共有変数マッピング情報記憶部94cに記憶させる。
次に、コンテローラ10において、プログラムの実行処理が選択されると、プログラム実行部として機能するロボット制御部93aは、V+言語で記述されたプログラムのソースコードBを解釈しながら実行し、同じくプログラム実行部として機能するシーケンス制御部93bは、IEC言語で記述されたプログラムのオブジェクトコードを実行する。
この際、ロボット制御部93aおよびシーケンス制御部93bは、プログラムに共有変数が含まれているかどうかをチェックする処理を行う。図12は、コントローラ10における共有変数のチェック処理の概略フローチャートである。この共有変数のチェック処理は、所定時間ごとに繰り返し行われる。図12に示すように、ロボット制御部93aおよびシーケンス制御部93bは、ブログラムを実行しながら、プログラムに共有変数が存在するかどうかを確認する(S20)。ロボット制御部93aおよびシーケンス制御部93bは、プログラムに共有変数が存在しないと判断した場合には(S21:NO)、この処理を抜ける。しかし、ロボット制御部93aおよびシーケンス制御部93bは、プログラムに共有変数が存在すると判断した場合には(S21:YES)、共有変数マッピング情報記憶部94cに記憶させた共有変数マッピング情報を参照する(S22)。そして、共有変数処理部93cは、マッピングされたそれぞれの共有変数を共通の共有変数として処理する(S23)。
共有変数処理部93cによる共有変数としての処理とは、例えば、マッピングされた共有変数間でデータをコピーする、または、参照アドレスを同じにすることをいう。上述の例では、ロボット制御部93aが、V+言語で記述されたプログラムにおいてreqHandCloseという共有変数を参照した場合には、ロボット制御部93aは、共有変数マッピング情報記憶部94cに記憶させた共有変数マッピング情報を確認する。共有変数マッピング情報においては、共有変数reqHandCloseに対して、共有変数doHandCloseがマッピングされている。そこで、ロボット制御部93aは、共有変数reqHandCloseのデータを共有変数doHandCloseにコピーするか、または、共有変数doHandCloseのデータを共有変数reqHandCloseにコピーする。あるいは、ロボット制御部93aは、共有変数reqHandCloseと共有変数doHandCloseの共通の参照アドレスとして設定された共有メモリ94dのアドレスにデータを書き込み、またはそのアドレスからデータを読み取る。
また、シーケンス制御部93bが、IEC言語で記述されたプログラムにおいてdoHandCloseという共有変数を参照した場合には、シーケンス制御部93bは、共有変数マッピング情報記憶部94cに記憶させた共有変数マッピング情報を確認する。共有変数マッピング情報においては、共有変数doHandCloseに対して、共有変数reqHandCloseがマッピングされている。そこで、ロボット制御部93aは、共有変数doHandCloseのデータを共有変数reqHandCloseにコピーするか、または、共有変数reqHandCloseのデータを共有変数doHandCloseにコピーする。あるいは、シーケンス制御部93bは、共有変数doHandCloseと共有変数reqHandCloseの共通の参照アドレスとして設定された共有メモリ94dのアドレスにデータを書き込み、またはそのアドレスからデータを読み取る。
以上のように、本実施形態によれば、V+言語で記述されたプログラムとIEC言語で記述されたプログラムのように、異なるプログラム間で異なる名称の共有変数が定義されていた場合でも、共有変数マッピング情報を参照することにより、それぞれのるプログラム間において共通の共有変数として利用することができる。その結果、本実施形態のシステムによれば、それぞれのプログラムにおいて、共有変数を同一名称とすることなく、より自由に命名することができ、共有変数の名称を命名する際の制約をなくすことができる。
特に、V+言語で記述されたプログラムのようにインタプリタ型言語のプログラムにおいては、ソースコードを解釈してみないと、変数に関するエラーが発生するかどうかは分からない。しかし、本実施形態によれば、事前に共有変数のマッピングを行うので、エラーの発生を防ぐことができる。
また、本実施形態によれば、共有変数マッピング情報によるマッピングを行うことにより、過去のプログラム資産において記述された変数についても共有変数として処理することが可能となり、過去のプログラム資産を有効に流用することができる。
(第2実施形態)
次に、本開示の第2実施形態について添付図面を参照しつつ説明する。第1実施形態においては、開発支援装置50において共有変数マッピング情報を作成し、コントローラ10においてプログラムを実行する際に共有変数マッピング情報を参照した。しかし、本実施形態では、クロスリファレンスの作成時に、共有変数マッピング情報を参照する態様について説明する。
本実施形態においては、第1実施形態と同様の方法で、共有変数マッピング情報が作成され、共有変数マッピング情報記憶部74dに記憶されているものとする。
図13は、本実施形態における開発支援装置50の表示装置52に表示される表示画面を示す図である。本実施形態では、図13に示すように、プログラム表示部52a,52bの下方には、クロスリファレンスウィンドウ52fが表示される。
クロスリファレンスウィンドウ52fは、リファレンス対象入力欄52f-1と、リファレンス情報表示欄52f-2とを備えている。リファレンス対象入力欄52f-1に、オペランドを入力することにより、あるいは、V+プログラムあるいはIECプログラム上で共有変数を選択することによりリファレンス対象入力欄52f-1にオペランドが表示され、このオペランドと同一のオペランドを持つ命令についてのクロスリファレンス情報が、リファレンス情報表示欄52f-2に表示される。また、リファレンス対象入力欄52f-1に、共有変数を入力することにより、この共有変数を使用する命令についてのクロスリファレンス情報が、リファレンス情報表示欄52f-2に表示される。
図14にクロスリファレンスウィンドウ52fの表示例を示す。図14に示すように、クロスリファレンスウィンドウ200は、リファレンス対象表示欄52f-1と、リファレンス情報表示欄52f-2とを備えている。リファレンス情報表示欄52f-2は、設定項目表示欄52f-20、発生箇所表示欄52f-21、詳細情報表示欄52f-22、リファレンス表示欄52f-23等を備えている。
リファレンス対象表示欄52f-1には、クロスリファレンスを行ったプログラムの名前と、選択された変数とが表示される。図14に示す「ロボットハンド制御」は、IEC言語で記述されたプログラムの名前を示している。doHandCloseは、選択された共有変数である。
設定項目表示欄52f-20には、クロスリファレンスの対象となった変数が表示される。図14の例の場合には、共有変数のdoHandCloseとreqHandCloseとが表示される。発生箇所表示欄52f-21には、設定項目に表示された変数が参照されたプログラム名が表示される。この例の場合には、ロボットハンド制御、およびロボット制御と表示される。「ロボット制御」は、V+で記述されたプログラムの名前を示している。
詳細情報表示欄52f-22には、発生箇所表示欄52f-21に表示されたプログラムにおいて、設定項目表示欄52f-20に表示された変数が参照されたプログラムのソースコードにおける行番号が表示される。リファレンス表示欄52f-23には、詳細情報表示欄52f-22に表示された行番号におけるソースコードが表示される。
本実施形態において、クロスリファレンス処理が開始され、リファレンス対象表示欄52f-1に共有変数が入力されると、クロスリファレンス情報生成部73cは、共有変数マッピング情報を参照し、マッピングされている共有変数の抽出を行う。例えば、図14の例のように、リファレンス対象表示欄52f-1にdoHandCloseと入力された場合には、クロスリファレンス情報生成部73cは、共有変数マッピング情報を参照し、doHandCloseにマッピングされたreqHandCloseを抽出する。
次に、クロスリファレンス情報生成部73cは、リファレンス対象表示欄52f-1に入力された共有変数、および共有変数マッピング情報から抽出した共有変数について、V+言語で記述されたプログラムのソースコードBと、IEC言語で記述されたプログラムのソースコードAとにおけるクロスリファレンスを実行する。例えば、上述の例では、クロスリファレンス情報生成部73cは、V+言語で記述されたプログラムのソースコードBに対しては、共有変数reqHandCloseが使用されている箇所を参照し、そのプログラム名、ステップ番号、アドレス、言語、パス等をクロスリファレンス情報としてクロスリファレンス情報記憶部74cに記憶させる。また、クロスリファレンス情報生成部73cは、IEC言語で記述されたプログラムのソースコードAに対しては、共有変数doHandCloseが使用されている箇所を参照し、そのプログラム名、ステップ番号、アドレス、言語、パス等をクロスリファレンス情報としてクロスリファレンス情報記憶部74cに記憶させる。
以上のような処理の結果、クロスリファレンスウィンドウ52fには、図14に示すように、リファレンス情報表示欄52f-2において、共有変数doHandCloseに関するクロスリファレンス情報だけでなく、共有変数reqHandCloseに関するクロスリファレンス情報についても表示されることになる。
以上のように、本実施形態によれば、それぞれのプログラムにおいて、異なる名称の共有変数を定義した場合であっても、1つの共有変数の名称を入力するだけで、当該共有変数の参照箇所だけでなく、当該共有変数にマッピングされた他の共有変数の参照箇所についても、クロスリファレンスウィンドウ200に表示される。
したがって、ユーザは、クロスリファレンスウィンドウ200に表示された内容を見ることによって、共有変数が、複数の異なるプログラムにおいて正しく参照されているか否かを容易に把握することができる。その結果、プログラムのデバッグを円滑に行うことが可能となる。
以上のように、本実施形態によれば、IEC言語で記述されたプログラムと、V+言語で記述されたプログラムとの少なくともいずれか一方のプログラムにおいて、共有変数が使用されていないというエラーメッセージを表示する。その結果、共有変数の実装漏れ、共有変数名の誤り、無駄な共有変数の存在等を確認することができ、プログラムのデバッグを円滑に行うことが可能となる。
この場合でも、一つのプログラムのアウトライン情報において、共有変数を選択するだけで、当該プログラムにおける共有変数の参照箇所だけでなく、他のプログラムにおける当該共有変数の参照箇所についても、クロスリファレンスウィンドウ200に表示させることができる。
したがって、ユーザは、クロスリファレンスウィンドウ200に表示された内容を見ることによって、共有変数が、全てのプログラムにおいて正しく参照されているか否かを容易に把握することができる。その結果、共有変数の実装漏れ、共有変数名の誤り、無駄な共有変数の存在等を確認することができ、プログラムのデバッグを円滑に行うことが可能となる。
以上の実施形態は例示であり、この発明の範囲から離れることなく様々な変形が可能である。上述した複数の実施の形態は、それぞれ単独で成立し得るものであるが、実施の形態同士の組みあわせも可能である。また、異なる実施の形態の中の種々の特徴も、それぞれ単独で成立し得るものであるが、異なる実施の形態の中の特徴同士の組みあわせも可能である。
10 コントローラ
50 開発支援装置
71 入力処理部
73a マッピング情報作成部
75 通信処理部
93c 共有変数処理部
100 制御システム。

Claims (5)

  1. 制御装置と、前記制御装置において実行される複数の異なるプログラミング言語を開発するための開発支援装置とを備える制御システムであって、
    前記開発支援装置は、
    前記複数の異なるプログラミング言語のソースコードを入力する入力部と、
    それぞれのソースコードにおいて選択された共有変数をマッピングし、共有変数マッピング情報を作成するマッピング情報作成部と、
    前記ソースコードおよび前記共有変数マッピング情報を前記制御装置に送信する送信部と、を備え、
    前記制御装置は、
    前記ソースコードで表されたプログラムを実行するプログラム実行部と、
    前記共有変数マッピング情報に基づいて、マッピングされたそれぞれの前記共有変数を、共通の共有変数として処理する共有変数処理部と、
    前記共有変数マッピング情報に基づいて、入力された前記複数の異なるプログラミング言語のソースコードにおいて、前記共有変数が参照されている箇所を示す共有変数リファレンス作成部と、を備える、
    制御システム。
  2. 前記共有変数処理部は、マッピングされた共有変数間でデータをコピー、または、参照アドレスを同じにする、
    請求項1に記載の制御システム。
  3. 前記入力部により入力される前記ソースコードは、少なくとも、コンパイル言語によるソースコードと、インタプリタ言語によるソースコードとを含む、
    請求項1または請求項2に記載の制御システム。
  4. 制御装置と、前記制御装置において実行される複数の異なるプログラミング言語を開発するための開発支援装置とを備える制御システムの制御方法であって、
    前記開発支援装置において、
    前記複数の異なるプログラミング言語のソースコードを入力するステップと、
    それぞれのソースコードにおいて選択された共有変数をマッピングし、共有変数マッピング情報を作成するステップと、
    前記ソースコードおよび前記共有変数マッピング情報を前記制御装置に送信するステップと、を備え、
    前記制御装置において、
    前記ソースコードで表されたプログラムを実行するステップと、
    前記共有変数マッピング情報に基づいて、マッピングされたそれぞれの前記共有変数を、共通の共有変数として処理するステップと、
    前記共有変数マッピング情報に基づいて、入力された前記複数の異なるプログラミング言語のソースコードにおいて、前記共有変数が参照されている箇所を示す共有変数リファレンスを作成するステップと、を備える、
    制御システムの制御方法
  5. 制御装置と、前記制御装置において実行される複数の異なるプログラミング言語を開発するための開発支援装置とを備える制御システムのプログラムであって、前記プログラムは、コンピュータに、
    前記開発支援装置において、
    前記複数の異なるプログラミング言語のソースコードを入力するステップと、
    それぞれのソースコードにおいて選択された共有変数をマッピングし、共有変数マッピング情報を作成するステップと、
    前記ソースコードおよび前記共有変数マッピング情報を前記制御装置に送信するステップと、を実行させ、
    前記制御装置において、
    前記ソースコードで表されたプログラムを実行するステップと、
    前記共有変数マッピング情報に基づいて、マッピングされたそれぞれの前記共有変数を、共通の共有変数として処理するステップと、
    前記共有変数マッピング情報に基づいて、入力された前記複数の異なるプログラミング言語のソースコードにおいて、前記共有変数が参照されている箇所を示す共有変数リファレンスを作成するステップと、を実行させる、
    制御システムのプログラム
JP2018108920A 2018-06-06 2018-06-06 制御システム、制御システムの制御方法、および制御システムのプログラム Active JP7067286B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018108920A JP7067286B2 (ja) 2018-06-06 2018-06-06 制御システム、制御システムの制御方法、および制御システムのプログラム
CN201980035702.4A CN112166409B (zh) 2018-06-06 2019-05-29 控制系统、控制系统的控制方法以及记录介质
US15/734,769 US20210232370A1 (en) 2018-06-06 2019-05-29 Control system, controlling method for control system, and program for control system
EP19815106.0A EP3816792A4 (en) 2018-06-06 2019-05-29 CONTROL SYSTEM, METHOD OF CONTROLLING A CONTROL SYSTEM AND PROGRAM FOR CONTROL SYSTEM
PCT/JP2019/021212 WO2019235312A1 (ja) 2018-06-06 2019-05-29 制御システム、制御システムの制御方法、および制御システムのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018108920A JP7067286B2 (ja) 2018-06-06 2018-06-06 制御システム、制御システムの制御方法、および制御システムのプログラム

Publications (3)

Publication Number Publication Date
JP2019212122A JP2019212122A (ja) 2019-12-12
JP2019212122A5 JP2019212122A5 (ja) 2021-02-04
JP7067286B2 true JP7067286B2 (ja) 2022-05-16

Family

ID=68770273

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018108920A Active JP7067286B2 (ja) 2018-06-06 2018-06-06 制御システム、制御システムの制御方法、および制御システムのプログラム

Country Status (5)

Country Link
US (1) US20210232370A1 (ja)
EP (1) EP3816792A4 (ja)
JP (1) JP7067286B2 (ja)
CN (1) CN112166409B (ja)
WO (1) WO2019235312A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019217848A1 (de) * 2019-11-20 2021-05-20 Robert Bosch Gmbh Dynamische Koordination und Ausführung unabhängiger heterogener Programmeinheiten

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277206A (ja) 2005-03-29 2006-10-12 Nec Corp ソース解析支援方法及びその装置並びにソース解析支援プログラム
US20080005727A1 (en) 2006-06-30 2008-01-03 Robert Paul Morris Methods, systems, and computer program products for enabling cross language access to an addressable entity
JP2009009362A (ja) 2007-06-28 2009-01-15 Hitachi Information Systems Ltd プログラムの変数管理システム
WO2012011145A1 (ja) 2010-07-20 2012-01-26 株式会社 日立製作所 ソフトウェア保守支援装置及びそれにより検証した電子制御装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3446256B2 (ja) 1993-09-03 2003-09-16 株式会社日立製作所 Faシステムの制御方法及び装置
US5564049A (en) * 1994-07-29 1996-10-08 Allen-Bradley Company, Inc. Industrial controller programming method using external connection database
JPH10334060A (ja) * 1997-06-02 1998-12-18 Digital Vision Lab:Kk 演算処理装置、並列分散処理システムおよびデータ伝送方法
IL158696A0 (en) * 2001-05-11 2004-05-12 Computer Ass Think Inc Method and system for transforming legacy software applications into modern object-oriented systems
US20040187077A1 (en) * 2003-03-19 2004-09-23 International Business Machines Corporation Dynamic server page meta-engines with data sharing for dynamic content
CN101631328B (zh) * 2009-08-14 2011-11-16 北京星网锐捷网络技术有限公司 一种对共享资源互斥访问的同步方法、装置和网络设备
JP5772316B2 (ja) * 2011-07-08 2015-09-02 ソニー株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
US8695021B2 (en) * 2011-08-31 2014-04-08 Microsoft Corporation Projecting native application programming interfaces of an operating system into other programming languages
JP5942446B2 (ja) * 2012-02-01 2016-06-29 オムロン株式会社 サポート装置およびサポートプログラム
WO2014141457A1 (ja) * 2013-03-15 2014-09-18 株式会社日立製作所 異なる言語間のコード変換方法、コード変換プログラムおよびコード変換装置
JP2014232361A (ja) * 2013-05-28 2014-12-11 株式会社デンソー プログラムコード生成装置
US9733911B2 (en) * 2015-11-11 2017-08-15 National Instruments Corporation Value transfer between program variables using dynamic memory resource mapping
JP2017134722A (ja) * 2016-01-29 2017-08-03 ファナック株式会社 共通の言語仕様のプログラムにて複数の種類の製造装置を駆動する製造システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006277206A (ja) 2005-03-29 2006-10-12 Nec Corp ソース解析支援方法及びその装置並びにソース解析支援プログラム
US20080005727A1 (en) 2006-06-30 2008-01-03 Robert Paul Morris Methods, systems, and computer program products for enabling cross language access to an addressable entity
JP2009009362A (ja) 2007-06-28 2009-01-15 Hitachi Information Systems Ltd プログラムの変数管理システム
WO2012011145A1 (ja) 2010-07-20 2012-01-26 株式会社 日立製作所 ソフトウェア保守支援装置及びそれにより検証した電子制御装置

Also Published As

Publication number Publication date
US20210232370A1 (en) 2021-07-29
CN112166409A (zh) 2021-01-01
EP3816792A1 (en) 2021-05-05
CN112166409B (zh) 2023-11-14
WO2019235312A1 (ja) 2019-12-12
JP2019212122A (ja) 2019-12-12
EP3816792A4 (en) 2022-03-09

Similar Documents

Publication Publication Date Title
EP4096874B1 (en) System and method for using virtual/augmented reality for interaction with collaborative robots in manufacturing or industrial environment
EP0261853A2 (en) System for monitoring operation of object-oriented programs
US20240025034A1 (en) Enhancement of human-machine interface (hmi) for controlling a robot
JP6891838B2 (ja) 開発支援装置、開発支援方法、および開発支援プログラム
EP4534256A1 (en) Techniques for automated programming of robot tasks using language models
JP7067286B2 (ja) 制御システム、制御システムの制御方法、および制御システムのプログラム
CN110275480A (zh) 程序开发支援系统、方法以及计算机可读记录介质
CN110968051B (zh) 用于规划自动化系统的方法和工程系统
JP2008165399A (ja) シミュレーションデータ作成支援装置
JP4511418B2 (ja) 教示装置用プログラムのデバッグ方法
JP6322631B2 (ja) 組み込みソフトウェアの開発方法、プログラミング装置および組み込み機器
WO2015019422A1 (ja) 組み込みソフトウェアのドキュメント作成方法およびドキュメント作成装置
CN116056841A (zh) 机器人控制系统
TW202218834A (zh) 圖形化機械手臂學習系統及其學習方法
JP7651080B1 (ja) 表示制御プログラム、表示制御装置、表示制御システム及び表示制御方法
JP7334430B2 (ja) 教育支援装置、教育支援方法およびプログラム
TW200919237A (en) Modularized program component and method of planning modularized program
McCabe AI Vision Development for Everyone
WO2025158307A2 (en) A system for operating robot in a real environment and a virtual environment
Παπαδόπουλος Control of a robotic manipulator via virtual reality using unreal engine and robot operating system
Gargioni Advancing End-User Development in Robotics with Large Language Models and Digital Twins
Choi et al. Multi-dimensional digital twin for cable assembly by synthetic data and reinforcement learning
Hua javakuka
CN115674255A (zh) 机器人系统及其颜色控制方法
CN114647218A (zh) 程序创建辅助方法、装置及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201215

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201215

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220107

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: 20220329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220411

R150 Certificate of patent or registration of utility model

Ref document number: 7067286

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150