JP2019212123A - Control system, control method for control system, and program for control system - Google Patents

Control system, control method for control system, and program for control system Download PDF

Info

Publication number
JP2019212123A
JP2019212123A JP2018108922A JP2018108922A JP2019212123A JP 2019212123 A JP2019212123 A JP 2019212123A JP 2018108922 A JP2018108922 A JP 2018108922A JP 2018108922 A JP2018108922 A JP 2018108922A JP 2019212123 A JP2019212123 A JP 2019212123A
Authority
JP
Japan
Prior art keywords
position information
coordinate system
controller
time
world coordinate
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.)
Granted
Application number
JP2018108922A
Other languages
Japanese (ja)
Other versions
JP7095417B2 (en
Inventor
哲司 若年
Tetsuji Wakatoshi
哲司 若年
征彦 仲野
Masahiko Nakano
征彦 仲野
純児 島村
Junji Shimamura
純児 島村
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
Omron Tateisi Electronics Co
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, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2018108922A priority Critical patent/JP7095417B2/en
Priority to PCT/JP2019/021220 priority patent/WO2019235314A1/en
Publication of JP2019212123A publication Critical patent/JP2019212123A/en
Application granted granted Critical
Publication of JP7095417B2 publication Critical patent/JP7095417B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • 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/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Programmable Controllers (AREA)

Abstract

To eliminate misalignment of position information of each device and perform high-precision position control at the time of controlling devices that have respective clocks and update position information at different respective periods by a controller.SOLUTION: A control system 1 includes a controller 100 and a processing unit 510 and the like. The processing unit 510 and the like include a clock unit 511 or the like, a position information update unit that updates position information at a predetermined cycle, and a transmission unit that transmits the updated position information and time information on a time of the update to the controller 100. The controller 100 includes a reception unit 106 that receives the position information and the time information, a coordinate conversion unit 104 that converts the position information into world coordinate system position information using a coordinate conversion formula, an estimation unit 105 that estimates position information between world coordinate system position information based on the world coordinate system position information and the time information; and a world coordinate system management unit 104 that manages the world coordinate system position information and the estimated position information on a time axis.SELECTED DRAWING: Figure 2

Description

この発明は、ロボットを含む複数の制御アプリケーションを制御装置により制御する制御システム、制御システムの制御方法、および制御システムのプログラムに関する。   The present invention relates to a control system for controlling a plurality of control applications including a robot using a control device, a control method for the control system, and a program for the control system.

ロボットがワークを工作機のワーク固定位置まで搬送する場合、ロボットにワーク固定位置をティーチングする必要がある。この際の位置は、ロボット座標系で表現する。さらに、工作機がワークを加工する場合、工作機の座標系で表現した加工位置を指定する必要がある。したがって、プログラミングを行う際には、複数の座標系を意識する必要があり、非常に煩雑な作業となっていた。   When the robot conveys the workpiece to the workpiece fixing position of the machine tool, it is necessary to teach the robot the workpiece fixing position. The position at this time is expressed in the robot coordinate system. Furthermore, when the machine tool processes a workpiece, it is necessary to designate a machining position expressed in the coordinate system of the machine tool. Therefore, when programming, it is necessary to be conscious of a plurality of coordinate systems, which is a very complicated operation.

従来は、このような課題を解決するために、例えば特許文献1のように、ロボット座標系をワールド座標系として、ロボット座標系上の設定点の位置を取得し、さらに工作機座標系上の当該設定点の位置を計測することにより、ロボット座標系と工作機座標系の相対関係を導出することが開示されている。   Conventionally, in order to solve such a problem, as in Patent Document 1, for example, the position of a set point on the robot coordinate system is obtained using the robot coordinate system as the world coordinate system, and further on the machine tool coordinate system. It is disclosed that the relative relationship between the robot coordinate system and the machine tool coordinate system is derived by measuring the position of the set point.

特開2011−48467号公報JP 2011-48467 A

しかしながら、画像処理装置、ロボット、および工作機は、それぞれの周期で位置情報を更新する。例えば、画像処理装置のカメラ座標系での位置は、数百msおきに更新されるが、ロボット座標系の位置は、数msおきに更新される。そのため、コンベア上に流れるワークの位置をカメラで計測した場合、その位置情報をロボットコントローラが受信した時には、ワークは計測時とは異なる位置に進んでいる。   However, the image processing apparatus, the robot, and the machine tool update the position information at each cycle. For example, the position of the image processing apparatus in the camera coordinate system is updated every several hundred ms, while the position of the robot coordinate system is updated every several ms. Therefore, when the position of the workpiece flowing on the conveyor is measured by the camera, when the robot controller receives the position information, the workpiece has advanced to a position different from that at the time of measurement.

また、画像処理装置、ロボット、工作機、コントローラは、それぞれ時計を有しており、これらの時計は常にずれが生じる。上述のようにそれぞれの周期が異なる上に、周期を作り出す時計にもずれが生じるため、上述のような位置情報のずれを解消することは困難であった。   In addition, each of the image processing apparatus, the robot, the machine tool, and the controller has a clock, and these clocks always shift. As described above, each cycle is different, and a clock that generates the cycle also shifts. Therefore, it is difficult to eliminate the positional information shift as described above.

そこで、この発明の課題は、それぞれの時計を有し、それぞれ異なる周期で位置情報を更新する機器をコントローラで制御する場合に、それぞれの位置情報のずれをなくし、高精度な位置制御を行うことのできる制御システム、制御システムの制御方法、および制御システムのプログラムを提供することにある。   Therefore, an object of the present invention is to eliminate positional deviation and to perform highly accurate position control when a controller is used to control a device that has each timepiece and updates position information at different periods. It is to provide a control system, a control method for the control system, and a program for the control system.

上記課題を解決するため、この開示の制御システムは、
コントローラと、前記コントローラに接続され、ワークに関する所定の処理を行う処理装置とを備える制御システムであって、
前記処理装置は、
時刻を計時する計時部と、
前記処理装置から出力される位置情報を、前記処理装置における座標系で所定の周期により更新する位置情報更新部と、
前記位置情報更新部により更新した前記位置情報と、更新を行った時刻情報とを、前記コントローラに送信する送信部と、を備え、
前記コントローラは、
前記位置情報と前記時刻情報とを、前記処理装置から受信する受信部と、
前記位置情報が出力された前記処理装置における前記座標系と、ワールド座標系との相対関係を表す予め与えられた座標変換式を用いて、前記位置情報を、前記ワールド座標系のワールド座標系位置情報に変換する座標変換部と、
前記ワールド座標系位置情報と前記時刻情報とに基づいて、前記ワールド座標系位置情報間における位置情報を推定する推定部と、
前記ワールド座標系位置情報と、前記推定部により推定した位置情報とを、時間軸上で管理するワールド座標系管理部と、を備える、
In order to solve the above problem, the control system of this disclosure is:
A control system comprising a controller and a processing device connected to the controller and performing a predetermined process related to a workpiece,
The processor is
A timekeeping section that keeps time,
A position information update unit that updates the position information output from the processing device at a predetermined period in a coordinate system in the processing device;
A transmission unit that transmits the position information updated by the position information update unit and time information when the update is performed to the controller;
The controller is
A receiving unit that receives the position information and the time information from the processing device;
The position information is converted into a world coordinate system position of the world coordinate system by using a predetermined coordinate transformation expression that represents a relative relationship between the coordinate system and the world coordinate system in the processing apparatus from which the position information is output. A coordinate conversion unit for converting information,
An estimation unit that estimates position information between the world coordinate system position information based on the world coordinate system position information and the time information;
A world coordinate system management unit that manages the world coordinate system position information and the position information estimated by the estimation unit on a time axis;

上述の制御システムでは、処理装置は、位置情報更新部によりワーク等の位置情報を所定の周期で更新し、送信部により、更新した位置情報と、更新を行った時刻情報とを、コントローラに送信する。更新を行った時刻情報は、計時部により計時した時刻に基づいている。コントローラは、受信部により位置情報と時刻情報とを処理装置から受信し、座標変換部により位置情報をワールド座標系のワールド座標系位置情報に変換する。座標変換部による変換は、位置情報が出力された処理装置における座標系と、ワールド座標系との相対関係を表す予め与えられた座標変換式を用いて行われる。さらに、推定部により、ワールド座標系位置情報と時刻情報とに基づいて、ワールド座標系位置情報間における位置情報を推定する。そして、ワールド座標系管理部は、ワールド座標系位置情報と、推定部により推定した位置情報とを、時間軸上で管理する。   In the control system described above, the processing device updates the position information of the workpiece or the like at a predetermined cycle by the position information update unit, and transmits the updated position information and the updated time information to the controller by the transmission unit. To do. The updated time information is based on the time measured by the time measuring unit. The controller receives position information and time information from the processing device by the receiving unit, and converts the position information to world coordinate system position information of the world coordinate system by the coordinate conversion unit. The conversion by the coordinate conversion unit is performed using a coordinate conversion formula given in advance representing the relative relationship between the coordinate system in the processing apparatus that outputs the position information and the world coordinate system. Further, the estimation unit estimates position information between the world coordinate system position information based on the world coordinate system position information and the time information. The world coordinate system management unit manages the world coordinate system position information and the position information estimated by the estimation unit on the time axis.

上述の制御システムによれば、処理装置における座標系がそれぞれ異なり、それぞれ異なる周期で位置情報の更新を行う場合であっても、処理装置から出力される位置情報は、位置情報を更新した時刻情報と共にコントローラに送信される。したがって、コントローラにおいて処理装置の座標系による位置情報をワールド座標系位置情報に変換することにより、それぞれの処理装置の位置情報を、統一したワールド座標系において、時間軸上で管理することができる。しかも、処理装置における位置情報の更新期間が長い場合、あるいは、更新に定時性がない場合であっても、ワールド座標系位置情報間における位置情報が時刻情報に基づいて推定される。したがって、処理装置の位置情報、および推定した位置情報を、統一したワールド座標系において、時間軸上で管理することができ、それぞれの処理装置における位置情報のずれをなくし、高精度な位置制御を行うことができる。   According to the control system described above, even when the coordinate systems in the processing device are different and the position information is updated at different periods, the position information output from the processing device is the time information when the position information is updated. And sent to the controller. Therefore, by converting the position information in the coordinate system of the processing device into the world coordinate system position information in the controller, the position information of each processing device can be managed on the time axis in the unified world coordinate system. Moreover, even when the update period of the position information in the processing device is long or when there is no punctuality in the update, the position information between the world coordinate system position information is estimated based on the time information. Therefore, the position information of the processing devices and the estimated position information can be managed on the time axis in the unified world coordinate system, and the positional information in each processing device is eliminated, and highly accurate position control is performed. It can be carried out.

一実施形態の制御システムは、前記計時部は、時刻補正機能を備えることが好ましい。   In the control system of one embodiment, it is preferable that the time measuring unit has a time correction function.

この一実施形態の制御システムでは、それぞれの処理装置における計時部は、時刻補正機能を備えているので、通信による遅れ等が補正され、コントローラとそれぞれの処理装置との間で、共通の時間軸上における時刻情報を伴った位置情報がやり取りされることになる。その結果、処理装置における座標系がそれぞれ異なり、それぞれ異なる周期で位置情報の更新を行う場合であっても、それぞれの処理装置における位置情報のずれをなくし、高精度な位置制御を行うことができる。   In the control system of this embodiment, the timekeeping unit in each processing device has a time correction function, so that a delay due to communication is corrected, and a common time axis between the controller and each processing device. The position information with the time information above is exchanged. As a result, even when the coordinate systems in the processing apparatuses are different and the position information is updated at different periods, the positional information in each processing apparatus can be eliminated and highly accurate position control can be performed. .

一実施形態の制御システムは、前記ワールド座標系位置情報を表示する表示部を備えていてもよい。   The control system of one embodiment may include a display unit that displays the world coordinate system position information.

この一実施形態の制御システムでは、処理装置の座標系における位置情報が、ワールド座標系位置情報に変換され、表示部において表示される。したがって、ユーザは、コントローラと処理装置との相対的な関係の設定等を容易に行うことができる。   In the control system of this embodiment, the position information of the processing device in the coordinate system is converted into the world coordinate system position information and displayed on the display unit. Therefore, the user can easily set the relative relationship between the controller and the processing device.

上記課題を解決するため、この開示の制御システムの制御方法は、
コントローラと、前記コントローラに接続され、ワークに関する所定の処理を行う処理装置とを備える制御システムにおける制御方法であって、
前記処理装置において、
時刻を計時するステップと、
前記処理装置から出力される位置情報を、前記処理装置における座標系で所定の周期により更新するステップと、
更新した前記位置情報と、更新を行った時刻情報とを、前記コントローラに送信するステップと、を備え、
前記コントローラにおいて、
前記位置情報と前記時刻情報とを、前記処理装置から受信するステップと、
前記位置情報が出力された前記処理装置における前記座標系と、ワールド座標系との相対関係を表す予め与えられた座標変換式を用いて、前記位置情報を、前記ワールド座標系のワールド座標系位置情報に変換するステップと、
前記ワールド座標系位置情報と前記時刻情報とに基づいて、前記ワールド座標系位置情報間における位置情報を推定するステップと、を備える、
前記ワールド座標系位置情報と、前記推定した位置情報とを、時間軸上で管理するステップと、を備える。
In order to solve the above problem, a control method of the control system of this disclosure is:
A control method in a control system comprising a controller and a processing device connected to the controller and performing a predetermined process related to a workpiece,
In the processing apparatus,
A step of measuring time;
Updating the position information output from the processing device with a predetermined period in a coordinate system in the processing device;
Transmitting the updated location information and updated time information to the controller, and
In the controller,
Receiving the position information and the time information from the processing device;
The position information is converted into a world coordinate system position of the world coordinate system by using a predetermined coordinate transformation expression that represents a relative relationship between the coordinate system and the world coordinate system in the processing apparatus from which the position information is output. Converting to information;
Estimating position information between the world coordinate system position information based on the world coordinate system position information and the time information,
Managing the world coordinate system position information and the estimated position information on a time axis.

この開示の制御システムの制御方法によれば、処理装置における座標系がそれぞれ異なり、それぞれ異なる周期で位置情報の更新を行う場合であっても、処理装置から出力される位置情報は、位置情報を更新した時刻情報と共にコントローラに送信される。したがって、コントローラにおいて処理装置の座標系による位置情報をワールド座標系位置情報に変換することにより、それぞれの処理装置の位置情報を、統一したワールド座標系において、時間軸上で管理することができる。しかも、処理装置における位置情報の更新期間が長い場合、あるいは、更新に定時性がない場合であっても、ワールド座標系位置情報間における位置情報が時刻情報に基づいて推定される。したがって、処理装置の位置情報、および推定した位置情報を、統一したワールド座標系において、時間軸上で管理することができ、それぞれの処理装置における位置情報のずれをなくし、高精度な位置制御を行うことができる。   According to the control method of the control system of this disclosure, the position information output from the processing device is the position information even when the coordinate systems in the processing device are different and the position information is updated at different periods. It is transmitted to the controller together with the updated time information. Therefore, by converting the position information in the coordinate system of the processing device into the world coordinate system position information in the controller, the position information of each processing device can be managed on the time axis in the unified world coordinate system. Moreover, even when the update period of the position information in the processing device is long or when there is no punctuality in the update, the position information between the world coordinate system position information is estimated based on the time information. Therefore, the position information of the processing devices and the estimated position information can be managed on the time axis in the unified world coordinate system, and the positional information in each processing device is eliminated, and highly accurate position control is performed. It can be carried out.

上記課題を解決するため、この開示の制御システムのプログラムは、上記制御システムの制御方法をコンピュータに実行させるためのプログラムである。   In order to solve the above-described problem, the program of the control system of the present disclosure is a program for causing a computer to execute the control method of the control system.

この開示のプログラムをコンピュータに実行させることによって、上記制御システムの制御方法を実施することができる。   The control method of the control system can be implemented by causing a computer to execute the program of this disclosure.

以上より明らかなように、この開示の制御システム、制御システムの制御方法および制御システムのプログラムによれば、それぞれの時計を有し、それぞれ異なる周期で位置情報を更新する機器をコントローラで制御する場合に、それぞれの位置情報のずれをなくし、高精度な位置制御を行うことができる。   As is clear from the above, according to the control system, the control system control method, and the control system program of the present disclosure, when the controller controls each device having each clock and updating position information at different periods. In addition, it is possible to eliminate position information misalignment and perform highly accurate position control.

第1実施形態における制御システムの概略構成を示す図である。It is a figure which shows schematic structure of the control system in 1st Embodiment. 制御システムの機能ブロック図である。It is a functional block diagram of a control system. 第1制御アプリケーションおよび第2制御アプリケーションと、コントローラとの通信のタイミングの一例を示す図である。It is a figure which shows an example of the timing of communication with a 1st control application and a 2nd control application, and a controller. 制御システムの処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the process of a control system. 統合開発環境におけるGUIの一例を示す図である。It is a figure which shows an example of GUI in an integrated development environment. 基準座標系と物体座標系との関係を説明するための図である。It is a figure for demonstrating the relationship between a reference | standard coordinate system and an object coordinate system. 基準座標系と物体座標系との関係を説明するための図である。It is a figure for demonstrating the relationship between a reference | standard coordinate system and an object coordinate system. ターゲットパターンが描画されたキャリブレーション用シートの一例を示す図である。It is a figure which shows an example of the sheet | seat for calibration in which the target pattern was drawn. ファンクションブロックを概略的に示す概念図である。It is a conceptual diagram which shows a function block schematically. ファンクションブロックを概略的に示す概念図である。It is a conceptual diagram which shows a function block schematically. ラダーダイアグラムでのプログラム例を示す図である。It is a figure which shows the example of a program in a ladder diagram. 第2実施形態における制御システムの機能ブロックを示す図である。It is a figure which shows the functional block of the control system in 2nd Embodiment.

以下、この発明の実施の形態を、図面を参照しながら詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

(第1実施形態)
図1は、第1実施形態における制御システム1の概略構成を示す図である。図1に示すように、制御システム1は、コントローラ100と、統合開発環境200と、画像処理装置510と、ロボット520と、工作機530と、第1コンベア546と、第2コンベア544とを備えている。
(First embodiment)
FIG. 1 is a diagram illustrating a schematic configuration of a control system 1 according to the first embodiment. As shown in FIG. 1, the control system 1 includes a controller 100, an integrated development environment 200, an image processing device 510, a robot 520, a machine tool 530, a first conveyor 546, and a second conveyor 544. ing.

コントローラ100は、上位ネットワーク3を介して、上位コンピュータ300と、タッチパネル400とに接続されている。また、コントローラ100は、産業用ネットワーク2を介して、画像処理装置510と、ロボットコントローラ522と、工作機530と、サーボアンプ540とに接続されている。さらに、コントローラ100は、統合開発環境200と接続されている。産業用ネットワーク2は、例えば、EtherCAT(登録商標)が用いられる。   The controller 100 is connected to the host computer 300 and the touch panel 400 via the host network 3. The controller 100 is connected to the image processing apparatus 510, the robot controller 522, the machine tool 530, and the servo amplifier 540 via the industrial network 2. Further, the controller 100 is connected to the integrated development environment 200. For the industrial network 2, for example, EtherCAT (registered trademark) is used.

コントローラ100は、一例として、PLC(Programmable Logic Controller)であり、アーム型ロボット520の動作を制御するロボット制御プログラムと、ロボット520に取り付けられたエンドエフェクタの動作および工作機530の動作を制御するシーケンス制御プログラムとを実行し、制御信号を出力する。   The controller 100 is, for example, a PLC (Programmable Logic Controller), a robot control program for controlling the operation of the arm type robot 520, and a sequence for controlling the operation of the end effector attached to the robot 520 and the operation of the machine tool 530. A control program is executed and a control signal is output.

統合開発環境200は、一例として、パーソナルコンピュータ等のコンピュータであり、コントローラ100と通信可能に接続されている。統合開発環境200は、コントローラ100で実行されるロボット制御プログラムおよびシーケンス制御プログラムをコントローラ100にダウンロードする機能、これらのプログラムをデバッグする機能、並びに、これらのプログラムをシミュレートする機能等を有している。   The integrated development environment 200 is a computer such as a personal computer, for example, and is connected to the controller 100 so as to be communicable. The integrated development environment 200 has a function of downloading a robot control program and a sequence control program executed by the controller 100 to the controller 100, a function of debugging these programs, a function of simulating these programs, and the like. Yes.

ロボット520は、一例として、6軸の垂直多関節ロボットであり、ロボットコントローラ522と通信可能に接続されている。ロボット520は、サーボモータ等の動力源を備えており、ロボット制御プログラムに基づいてコントローラ100から出力される制御信号により、ロボットコントローラ522を介してサーボモータを駆動し、各関節軸を動作させる。   For example, the robot 520 is a six-axis vertical articulated robot, and is connected to the robot controller 522 so as to be communicable. The robot 520 includes a power source such as a servomotor, and drives the servomotor via the robot controller 522 and operates each joint axis by a control signal output from the controller 100 based on the robot control program.

ロボット520の先端部には、エンドエフェクタが取り付けられており、エンドエフェクタは、シーケンス制御プログラムに基づいてコントローラ10から出力される制御信号により、ロボットコントローラ522を介してエンドエフェクタ内のサーボモータを駆動する。エンドエフェクタは、ロボット520の先端部に取り付けられ、一例として、部品を把持する機構等を備えている。   An end effector is attached to the tip of the robot 520, and the end effector drives a servo motor in the end effector via the robot controller 522 by a control signal output from the controller 10 based on a sequence control program. To do. The end effector is attached to the tip of the robot 520, and includes, for example, a mechanism for gripping a component.

工作機530は、テーブルや刃物台等の搭載部上のワークWをツールにより加工する。加工後のワークWは、ロボット520に取り付けられたエンドエフェクタにより把持され、第1コンベア546上に載置される。   The machine tool 530 processes a workpiece W on a mounting portion such as a table or a tool post with a tool. The processed workpiece W is gripped by an end effector attached to the robot 520 and placed on the first conveyor 546.

第2コンベア544は、サーボモータ542を備えており、サーボモータ542は、サーボアンプ540と接続されている。サーボアンプ540には、カウンタとエンコーダとを備えており、カウンタおよびエンコーダは、電気的に接続されている。エンコーダは、第2コンベア544を駆動するためのサーボモータ542に電気的に接続されている。   The second conveyor 544 includes a servo motor 542, and the servo motor 542 is connected to the servo amplifier 540. The servo amplifier 540 includes a counter and an encoder, and the counter and the encoder are electrically connected. The encoder is electrically connected to a servo motor 542 for driving the second conveyor 544.

カウンタは、エンコーダから発生するパルス波に基づいて、第2コンベア544の移動量を計測する。より具体的には、エンコーダは、第2コンベア544の移動量に応じて、パルス信号を発生する。カウンタは、エンコーダからパルス信号を受け、このパルス信号に含まれるパルス数をカウントすることで、第2コンベア544の移動量を計測する。カウンタは、パルス波のカウント値を、サーボアンプ540を介して、コントローラ100に一定の通信周期ごとに送信する。   The counter measures the amount of movement of the second conveyor 544 based on the pulse wave generated from the encoder. More specifically, the encoder generates a pulse signal according to the amount of movement of the second conveyor 544. The counter receives the pulse signal from the encoder and counts the number of pulses included in the pulse signal, thereby measuring the movement amount of the second conveyor 544. The counter transmits the count value of the pulse wave to the controller 100 via the servo amplifier 540 at regular communication cycles.

画像処理装置510には、カメラ512が接続されている。カメラ512は、第2コンベア544上を移動するワークWを撮影する。画像処理装置510は、撮影された画像をコントローラ100に一定の通信周期ごとに送信する。   A camera 512 is connected to the image processing apparatus 510. The camera 512 images the workpiece W moving on the second conveyor 544. The image processing apparatus 510 transmits the captured image to the controller 100 at regular communication cycles.

ワークWは、製品または半製品であり、例えば、コネクタ等の電子部品であってもよい。   The workpiece W is a product or a semi-finished product, and may be an electronic component such as a connector, for example.

図2は、本実施形態における制御システム1の機能ブロック図である。図2に示すように、コントローラ100は、上位ネットワークインターフェース101と、ロジック処理部102と、ワールド座標系管理部104と、位置データ推定処理部105と、フィールドネットワークインターフェース106と、時計108とを備えている。ロジック処理部102は、モーション処理部103を備えている。   FIG. 2 is a functional block diagram of the control system 1 in the present embodiment. As shown in FIG. 2, the controller 100 includes an upper network interface 101, a logic processing unit 102, a world coordinate system management unit 104, a position data estimation processing unit 105, a field network interface 106, and a clock 108. ing. The logic processing unit 102 includes a motion processing unit 103.

コントローラ100は、上位ネットワークインターフェース101を介して、上位コンピュータ300、タッチパネル400、および統合開発環境200と接続されている。   The controller 100 is connected to the host computer 300, the touch panel 400, and the integrated development environment 200 via the host network interface 101.

さらに、コントローラ100は、フィールドネットワークインターフェース106を介して、処理装置としての第1制御アプリケーションエンジン700、第2制御アプリケーションエンジン710、画像処理装置510、およびサーボアンプ540と接続されている。   Further, the controller 100 is connected to the first control application engine 700, the second control application engine 710, the image processing device 510, and the servo amplifier 540 as processing devices via the field network interface 106.

また、第1制御アプリケーションエンジン700、および第2制御アプリケーションエンジン710は、ロボット520、工作機530等の制御アプリケーション600と接続されている。   The first control application engine 700 and the second control application engine 710 are connected to a control application 600 such as a robot 520 and a machine tool 530.

第1制御アプリケーションエンジン700は、ロボット520に取り付けられるエンドエフェクタ、および工作機530を制御する。第1制御アプリケーションエンジン700についても、図2においては、簡略化のために1つのみを示している。第2制御アプリケーションエンジン710は、ロボット520を制御する。図1に示すロボットコントローラ522は、第1制御アプリケーションエンジン700と第2制御アプリケーションエンジン710の機能を備えている。   The first control application engine 700 controls the end effector attached to the robot 520 and the machine tool 530. Only one first control application engine 700 is also shown in FIG. 2 for the sake of simplicity. The second control application engine 710 controls the robot 520. The robot controller 522 shown in FIG. 1 has functions of a first control application engine 700 and a second control application engine 710.

コントローラ100、第1制御アプリケーションエンジン700、第2制御アプリケーションエンジン710、画像処理装置510、およびサーボアンプ540には、それぞれ計時部としての時計108,701,711,511,541が備えられている。また、第1制御アプリケーションエンジン700、および第2制御アプリケーションエンジン710には、I/Oインターフェースを介してアクチュエータ600が接続されている。さらに、画像処理装置510には、I/Oインターフェースを介してカメラ512が接続されている。   The controller 100, the first control application engine 700, the second control application engine 710, the image processing device 510, and the servo amplifier 540 are provided with clocks 108, 701, 711, 511, and 541 as timekeeping units, respectively. In addition, an actuator 600 is connected to the first control application engine 700 and the second control application engine 710 via an I / O interface. Furthermore, a camera 512 is connected to the image processing apparatus 510 via an I / O interface.

(全体処理)
次に、本実施形態の制御システム1における全体処理について説明する。コントローラ100のワールド座標系管理部104は、ワールド座標系を管理している。画像処理装置510、第1制御アプリケーションエンジン700、第2制御アプリケーションエンジン710、工作機530、およびサーボアンプ540は、それぞれのローカル座標系を管理している。
(Overall processing)
Next, the whole process in the control system 1 of this embodiment is demonstrated. The world coordinate system management unit 104 of the controller 100 manages the world coordinate system. The image processing apparatus 510, the first control application engine 700, the second control application engine 710, the machine tool 530, and the servo amplifier 540 manage their local coordinate systems.

第1制御アプリケーションエンジン700、第2制御アプリケーションエンジン710、画像処理装置510、およびサーボアンプ540は、位置情報更新部としての機能を有しており、それぞれの周期でそれぞれのローカル座標系での位置を更新する。ここで、位置とは、第1制御アプリケーションエンジン700においては、エンドエフェクタの位置、および工作機530の搭載部上のワークWや工作機530におけるツールの位置のことを言う。また、第2制御アプリケーションエンジン710においては、ロボット520の6軸で表される座標値を言う。さらに、画像処理装置510においては、カメラ512で撮影した画像のことを言う。また、サーボアンプ540は、エンコーダの値のことを言う。   The first control application engine 700, the second control application engine 710, the image processing device 510, and the servo amplifier 540 have a function as a position information update unit, and the position in each local coordinate system in each cycle. Update. Here, in the first control application engine 700, the position means the position of the end effector and the position of the workpiece W on the mounting portion of the machine tool 530 or the tool on the machine tool 530. In the second control application engine 710, the coordinate values represented by the six axes of the robot 520 are used. Furthermore, in the image processing apparatus 510, it means an image taken by the camera 512. The servo amplifier 540 refers to the encoder value.

図3は、第1制御アプリケーションエンジン700および第2制御アプリケーションエンジン710と、コントローラ100との通信のタイミングの一例を示す図である。図3に示すように、第1制御アプリケーションエンジン700と第2制御アプリケーションエンジン710は、それぞれ、コントローラ100の制御周期とは異なる周期でデータの送受信を行っている。   FIG. 3 is a diagram illustrating an example of the timing of communication between the first control application engine 700 and the second control application engine 710 and the controller 100. As shown in FIG. 3, the first control application engine 700 and the second control application engine 710 transmit and receive data at a period different from the control period of the controller 100.

第1制御アプリケーションエンジン700、第2制御アプリケーションエンジン710、画像処理装置510、およびサーボアンプ540は、位置情報を更新すると、それぞれ位置情報を更新した時刻を位置情報に付与する。   When the first control application engine 700, the second control application engine 710, the image processing device 510, and the servo amplifier 540 update the position information, each time the position information is updated is added to the position information.

第1制御アプリケーションエンジン700、第2制御アプリケーションエンジン710、画像処理装置510、およびサーボアンプ540は、位置情報と時刻情報とを産業用ネットワーク2を介して、コントローラ100に送信する。つまり、第1制御アプリケーションエンジン700、第2制御アプリケーションエンジン710、画像処理装置510、およびサーボアンプ540は、更新した位置情報と時刻情報とをコントローラ100に送信する送信部としての機能を有している。   The first control application engine 700, the second control application engine 710, the image processing device 510, and the servo amplifier 540 transmit position information and time information to the controller 100 via the industrial network 2. That is, the first control application engine 700, the second control application engine 710, the image processing device 510, and the servo amplifier 540 have a function as a transmission unit that transmits the updated position information and time information to the controller 100. Yes.

コントローラ100のワールド座標系管理部104は、フィールドネットワークインターフェース106を介して、位置情報と時刻情報と受信する。したがって、ワールド座標系管理部104とフィールドネットワークインターフェース106は受信部としての機能を有している。   The world coordinate system management unit 104 of the controller 100 receives position information and time information via the field network interface 106. Therefore, the world coordinate system management unit 104 and the field network interface 106 have a function as a reception unit.

コントローラ100の座標変換部としてのワールド座標系管理部104は、予め与えられたワールド座標系と各座標系との相対関係を表す座標変換式を用いてワールド座標系に変換する。また、コントローラ100の推定部としての位置データ推定処理部105は、第1制御アプリケーションエンジン700等からから新たなデータを得られるまでの間、位置データの推定処理を行う。   The world coordinate system management unit 104 as a coordinate conversion unit of the controller 100 converts the world coordinate system into a world coordinate system by using a coordinate conversion formula representing a relative relationship between the world coordinate system and each coordinate system given in advance. The position data estimation processing unit 105 as an estimation unit of the controller 100 performs position data estimation processing until new data is obtained from the first control application engine 700 or the like.

コントローラ100のワールド座標系管理部104は、第1制御アプリケーションエンジン700等から得られた位置データや推定した位置データを、所定時刻の位置データとしてワールド座標系で管理する。   The world coordinate system management unit 104 of the controller 100 manages position data obtained from the first control application engine 700 or the like or estimated position data as position data at a predetermined time in the world coordinate system.

コントローラ100上で動作するユーザプログラムでは、ワールド座標系表現の位置を使って各制御アプリケーションに対する位置制御を行うことができ、ワールド座標系表現の指令位置を管理することができる。   The user program operating on the controller 100 can perform position control for each control application using the position of the world coordinate system expression, and can manage the command position of the world coordinate system expression.

統合開発環境200は、コントローラ100が管理するワールド座標系での位置情報を表示することができる。ユーザは、統合開発環境200からワールド座標系での位置情報を入力することができる。したがって、統合開発環境200は、コントローラ100の表示部としての機能を有している。   The integrated development environment 200 can display position information in the world coordinate system managed by the controller 100. The user can input position information in the world coordinate system from the integrated development environment 200. Therefore, the integrated development environment 200 has a function as a display unit of the controller 100.

次に、図4に示すフローチャートを参照しつつ、制御システム1における処理の手順について説明する。図4は、制御システム1の処理の手順を示すフローチャートである。   Next, a processing procedure in the control system 1 will be described with reference to the flowchart shown in FIG. FIG. 4 is a flowchart showing a processing procedure of the control system 1.

まず、ユーザは、上位コンピュータ300において3次元CAD/CAM等のCAEソフトウェアを実行させ、ワールド座標系と、制御アプリケーションおよびカメラとの位置関係を設定する(S10)。次に、ユーザは、上位コンピュータ300から、統合開発環境200にCAEデータを取り込む(S20)。統合開発環境200においてCAEデータを取り込む方法として、例えば、CAEデータをDFXファイルに変換し、この変換したデータを取り込む方法が挙げられる。   First, the user executes CAE software such as three-dimensional CAD / CAM in the host computer 300, and sets the positional relationship between the world coordinate system, the control application, and the camera (S10). Next, the user captures the CAE data from the host computer 300 into the integrated development environment 200 (S20). As a method for capturing CAE data in the integrated development environment 200, for example, there is a method of converting CAE data into a DFX file and capturing the converted data.

ユーザは、統合開発環境200の設定画面で、ワールド座標系と、それぞれの制御アプリケーション600におけるそれぞれのローカル座標系との座標系間の設定を行う(S30)。   On the setting screen of the integrated development environment 200, the user performs setting between the coordinate system between the world coordinate system and each local coordinate system in each control application 600 (S30).

図5は、統合開発環境200におけるGUI(Graphical User Interface)210の一例を示す図である。図5に示すように、ユーザは、ワールド座標系と各制御アプリケーションの各ローカル座標系との相対関係を、このGUI210において入力する。GUI210上には計測ツールが備えられており、この計測ツールのデータが参考値としてGUI210上に表示される。   FIG. 5 is a diagram illustrating an example of a GUI (Graphical User Interface) 210 in the integrated development environment 200. As shown in FIG. 5, the user inputs the relative relationship between the world coordinate system and each local coordinate system of each control application in this GUI 210. A measurement tool is provided on the GUI 210, and data of the measurement tool is displayed on the GUI 210 as a reference value.

以上のような座標系間の設定を行った後、ユーザは、統合開発環境200において、ユーザプログラムを作成する(S40)。ユーザプログラムの作成後、ユーザは、統合開発環境200からコントローラ100にユーザプログラムをダウンロードする。   After setting the coordinate system as described above, the user creates a user program in the integrated development environment 200 (S40). After creating the user program, the user downloads the user program from the integrated development environment 200 to the controller 100.

コントローラ100は、ユーザプログラムに従い、制御アプリケーション600の動作、および画像処理装置510における画像処理、およびサーボアンプ540の動作の制御を開始する(S60)。   The controller 100 starts control of the operation of the control application 600, the image processing in the image processing apparatus 510, and the operation of the servo amplifier 540 according to the user program (S60).

コントローラ100、ユーザプログラムに従い、第1制御アプリケーションエンジン700、第2制御アプリケーションエンジン710、画像処理装置510、およびサーボアンプ540の時計701,711,511,541を補正する(S70)。   According to the controller 100 and the user program, the clocks 701, 711, 511, and 541 of the first control application engine 700, the second control application engine 710, the image processing device 510, and the servo amplifier 540 are corrected (S70).

第1制御アプリケーションエンジン700、第2制御アプリケーションエンジン710、画像処理装置510、およびサーボアンプ540は、それぞれの更新周期で、所定時刻における位置データをコントローラ100に送信する(S80)。   The first control application engine 700, the second control application engine 710, the image processing device 510, and the servo amplifier 540 transmit position data at a predetermined time to the controller 100 at their respective update cycles (S80).

コントローラ100のワールド座標系管理部104は、同一時刻に更新された位置データについては、同一時刻の位置データとして、ワールド座標系の位置表現に変換する(S90)。   The world coordinate system management unit 104 of the controller 100 converts the position data updated at the same time into position representation of the world coordinate system as position data at the same time (S90).

コントローラ100の位置データ推定処理部105は、画像処理装置510から新たな位置データを得られない場合に、サーボアンプ540から得られるエンコーダの値に基づいて、位置データの推定を行う(S100)。   When the new position data cannot be obtained from the image processing apparatus 510, the position data estimation processing unit 105 of the controller 100 estimates the position data based on the encoder value obtained from the servo amplifier 540 (S100).

コントローラ100のワールド座標系管理部104は、ユーザプログラムや統合開発環境200にワールド座標系表現の位置を渡す(S110)。   The world coordinate system management unit 104 of the controller 100 passes the position of the world coordinate system expression to the user program or the integrated development environment 200 (S110).

ユーザプログラムは、ワールド座標系表現の指令位置をコントローラ100に渡す(S120)。   The user program passes the command position of the world coordinate system expression to the controller 100 (S120).

コントローラ100は、ワールド座標系表現の指令位置を各制御アプリケーション600のそれぞれのローカル座標系に逆変換して第1制御アプリケーションエンジン700、および第2制御アプリケーションエンジン710に渡す(S130)。   The controller 100 converts the command position of the world coordinate system expression back to the local coordinate system of each control application 600 and passes it to the first control application engine 700 and the second control application engine 710 (S130).

以下、図4においては図示を省略するが、ステップS70〜S130の処理を制御の終了まで繰り返す。   Hereinafter, although illustration is omitted in FIG. 4, the processing of steps S70 to S130 is repeated until the end of the control.

(ワールド座標系と各ローカル座標系の座標変換式)
次に、ワールド座標系と各ローカル座標系の座標変換式について、図6および図7を参照しつつ説明する。図6および図7は、基準座標系と物体座標系との関係を説明するための図である。
(Coordinate conversion formula between world coordinate system and each local coordinate system)
Next, a coordinate conversion formula between the world coordinate system and each local coordinate system will be described with reference to FIGS. 6 and 7 are diagrams for explaining the relationship between the reference coordinate system and the object coordinate system.

ロボット520自身、工具、ワークW等の位置および姿勢を表現するには、ある基準となる直交座標系から見た場合の、物体に固定した直交座標系の原点位置、および各座標軸の方向によって表示を行う。前者を基準座標系、後者を物体座標系と呼ぶ。   To represent the position and orientation of the robot 520 itself, tool, workpiece W, etc., it is displayed by the origin position of the Cartesian coordinate system fixed to the object and the direction of each coordinate axis when viewed from a certain Cartesian coordinate system. I do. The former is called a reference coordinate system, and the latter is called an object coordinate system.

図6に示すように、基準座標系をΣとし、その原点をO、直交する3軸をX,Y,Zとする。また、物体座標系をΣとし、その原点をO、直交する3軸をX,Y,Zとする。さらに、原点Oから原点O向かうベクトル(O位置ベクトル)を基準座標系Σで表示したものをと書き、3軸X,Y,Zの方向を向く単位ベクトルを基準座標系Σで表したものを、と書くこととする。 As shown in FIG. 6, the reference coordinate system is Σ A , the origin is O A , and the three orthogonal axes are X A , Y A , and Z A. Further, the object coordinate system is Σ B , the origin is O B , and the three orthogonal axes are X B , Y B , and Z B. Moreover, what the origin O origin from A O B toward vectors (O B position vector) viewed in the reference coordinate system sigma A written as A P B, 3 axes X B, Y B, unit vector pointing in the direction of Z B those expressed in reference coordinate system sigma a a, a X B, a Y B , and be written as a Z B.

このとき、基準座標系Σから見た物体の位置はで表現でき、その姿勢は()で表現できる。なお、左上つき添字Aは、そのベクトルが基準座標系Σで表されていることを示す。 At this time, the position of the object when viewed in the reference coordinate system sigma A can be represented by A P B, the posture can be expressed by (A X B, A Y B , A Z B). Incidentally, the upper left subscripts A indicates that the vector is represented by a reference coordinate system sigma A.

物体の姿勢は、3つのベクトル()で表現することができ、これらを回転行列で表す。
=[
The posture of the object can be represented by three vectors ( A X B , A Y B , A Z B ), and these are represented by a rotation matrix A R B.
A R B = [A X B , A Y B, A Z B]

図7に示すように、基準座標系Σと物体座標系Σとが与えられ、物体座標系Σの基準座標系Σに対する位置が]で、また姿勢の回転行列がで与えられているとする。このとき、物体座標系Σに関してrで表示された点を、基準座標系Σで表示すると、
r= r+
となる。
As shown in FIG. 7, a reference coordinate system Σ A and an object coordinate system Σ B are given, the position of the object coordinate system Σ B with respect to the reference coordinate system Σ A is A p B ], and the posture rotation matrix is A Assume that R B is given. At this time, the point marked in the B r with respect to the object coordinate system sigma B, when viewed in the reference coordinate system sigma A,
A r = A R B B r + A p B
It becomes.

この関係は、4×4行列を用いて
r=
と表すことができる。
This relationship is expressed using a 4 × 4 matrix A T B
A r = A T B B r
It can be expressed as.

この式は同次変換式と呼ばれ、は同次変換行列と呼ばれる。同次変換式を用いることにより、並行移動と回転移動の両方を表すことが可能である。 This equation is called a homogeneous transformation equation, and A T B is called a homogeneous transformation matrix. By using the homogeneous conversion equation, it is possible to represent both parallel movement and rotational movement.

本実施形態においては、コントローラ100のワールド座標系管理部104は、このような同次変換式を用いることにより、各ローカル座標系からワールド座標系への変換と、ワールド座標系から各ローカル座標系への逆変換を行っている。   In the present embodiment, the world coordinate system management unit 104 of the controller 100 uses such a homogeneous conversion formula to convert each local coordinate system to the world coordinate system, and from the world coordinate system to each local coordinate system. Inverse conversion to

本実施形態においては、ローカル座標系Aを用いた位置表現は次のようになる。
(X,Y,Z,φ,θ,ψ,t
In the present embodiment, the position expression using the local coordinate system A is as follows.
(X A , Y A , Z A , φ A , θ A , ψ A , t A )

また、ワールド座標系を用いた位置表現
(X,Y,Z,φ,θ,ψ,t)は次のようになる。
In addition, the position expression (X W , Y W , Z W , φ W , θ W , φ W , t W ) using the world coordinate system is as follows.

ここで、(φ,θ,ψ)は、ロール、ピッチ、ヨー角であり、回転角を表す。また、tは時刻情報を表す。 Here, (φ n , θ n , ψ n ) is a roll, pitch, and yaw angle, and represents a rotation angle. T n represents time information.

(キャリブレーション方法)
次に、ロボット座標系とカメラ座標系との位置関係を同定するためのキャリブレーション方法について説明する。キャリブレーション方法は、従来のキャリブレーション方法を用いることができ、例えば、特開2012−187651号公報に開示されたキャリブレーション方法用いることができる。
(Calibration method)
Next, a calibration method for identifying the positional relationship between the robot coordinate system and the camera coordinate system will be described. As the calibration method, a conventional calibration method can be used. For example, the calibration method disclosed in JP 2012-187651 A can be used.

本実施形態に係るキャリブレーションにおいては、図8に示すターゲットパターンが描画されたキャリブレーション用シートSを用いられる。図8は、本実施形態におけるターゲットパターンが描画されたキャリブレーション用シートSの一例を示す図である。このキャリブレーション用シートSに示されたターゲットパターンは、その内部が約90°ずつ塗り分けられた5個の円(マーク)を含む。なお、後述するように、基本的には4個のマークを用いてキャリブレーションが行われるが、追加的に配置された1個のマークは、キャリブレーション用シートSの配置向きを所定方向に統一するために用いられる。   In the calibration according to the present embodiment, the calibration sheet S on which the target pattern shown in FIG. 8 is drawn is used. FIG. 8 is a diagram illustrating an example of the calibration sheet S on which the target pattern is drawn according to the present embodiment. The target pattern shown on the calibration sheet S includes five circles (marks) whose inside is divided by about 90 °. As will be described later, the calibration is basically performed using four marks. However, in the additionally arranged one mark, the arrangement direction of the calibration sheet S is unified in a predetermined direction. Used to do.

[第1段階]
第1段階としては、ユーザは、ターゲットパターンが描画されたキャリブレーション用シートSをカメラ512の視野内に配置する。そして、ユーザは、コントローラ100から画像処理装置510に対して撮像指示を与える。すると、画像処理装置510は、撮像によって得られた画像(ターゲットパターンが被写体として含まれる画像)をコントローラ100に送信する。
[First stage]
In the first stage, the user places the calibration sheet S on which the target pattern is drawn in the field of view of the camera 512. Then, the user gives an imaging instruction from the controller 100 to the image processing apparatus 510. Then, the image processing apparatus 510 transmits an image (an image including a target pattern as a subject) obtained by imaging to the controller 100.

コントローラ100は、受信した画像に対して計測処理を行い、ターゲットパターンに含まれる四隅に配置された4個のマークについての各中心点の座標値を決定する。これによって、ターゲットパターンに含まれる4個のマークについての画像座標系の座標値[pixel]がそれぞれ取得される。この取得される4個の座標値を、(xi1,yi1)、(xi2,yi2)、(xi3,yi3)、(xi4,yi4)とする。   The controller 100 performs measurement processing on the received image, and determines the coordinate values of the center points for the four marks arranged at the four corners included in the target pattern. As a result, the coordinate values [pixel] of the image coordinate system for the four marks included in the target pattern are acquired. The four coordinate values acquired are (xi1, yi1), (xi2, yi2), (xi3, yi3), and (xi4, yi4).

[第2段階]
第2段階としては、ユーザは、第2コンベア544を動かしてターゲットパターンが描画されたキャリブレーション用シートSをロボット520のトラッキング範囲(稼動範囲)内に配置するとともに、ロボット520を操作して、ターゲットパターンに含まれる4個のマークとロボット520との位置関係を対応付ける。
[Second stage]
As the second stage, the user moves the second conveyor 544 to place the calibration sheet S on which the target pattern is drawn within the tracking range (operating range) of the robot 520, and operates the robot 520, The positional relationship between the four marks included in the target pattern and the robot 520 is associated.

より具体的には、まず、ユーザは、コンベア544を動かして、キャリブレーション用シートSをロボット520のトラッキング範囲(稼動範囲)内に配置する。なお、この第2コンベア544の移動前(キャリブレーション開始時)のエンコーダのカウント値が、予め取得されているものとする。このカウント値をE1とする。   More specifically, first, the user moves the conveyor 544 to place the calibration sheet S within the tracking range (operating range) of the robot 520. It is assumed that the count value of the encoder before the movement of the second conveyor 544 (at the start of calibration) is acquired in advance. This count value is set to E1.

続いて、ユーザは、ロボットコントローラ522に付属しているティーチングペンダントを操作するなどによって、ロボット520のハンド先端をキャリブレーション用シートS上の1つのマークと対応するように位置決めする。ユーザは、この位置決めされた状態で指示を与えることで、ロボットコントローラ522が把握しているロボット520の位置情報(ロボット520のハンド先端の位置を示すロボット座標系での座標値)が画像処理装置510からコントローラ100へ送信される。このロボット520のハンド先端の位置決め、および、位置決め状態におけるロボット520の位置情報をコントローラ100へ送信する処理は、ターゲットパターンに含まれる4個のマークのすべてに対して繰り返し実行される。   Subsequently, the user positions the hand tip of the robot 520 so as to correspond to one mark on the calibration sheet S by operating a teaching pendant attached to the robot controller 522 or the like. When the user gives an instruction in this positioned state, the position information of the robot 520 (coordinate value in the robot coordinate system indicating the position of the hand tip of the robot 520) grasped by the robot controller 522 is obtained from the image processing apparatus. 510 to the controller 100. The process of positioning the tip of the hand of the robot 520 and transmitting the position information of the robot 520 in the positioned state to the controller 100 is repeatedly executed for all four marks included in the target pattern.

このような手順によって、ターゲットパターンに含まれる4個のマークに対応するロボット520の位置情報がそれぞれ取得される。この取得される4個のマークに対応するロボット520の位置情報を、例えば、(X1,Y1)、(X2,Y2)、(X3,Y3)、(X4,Y4)とする。   By such a procedure, position information of the robot 520 corresponding to the four marks included in the target pattern is acquired. The position information of the robot 520 corresponding to the four marks acquired is, for example, (X1, Y1), (X2, Y2), (X3, Y3), (X4, Y4).

なお、キャリブレーション用シートSがロボット520のトラッキング範囲(稼動範囲)内に配置された状態は、4個のマークすべてに対応するロボット520の位置情報が画像処理装置510からコントローラ100へ送信されるまで維持される。   When the calibration sheet S is disposed within the tracking range (operating range) of the robot 520, the position information of the robot 520 corresponding to all four marks is transmitted from the image processing apparatus 510 to the controller 100. Until maintained.

また、コントローラ100は、第2コンベア544をロボット稼動範囲(上流)まで移動させた状態におけるカウント値についても格納する。このカウント値をE2とする。   The controller 100 also stores the count value when the second conveyor 544 is moved to the robot operating range (upstream). This count value is set to E2.

[第3段階]
第3段階としては、ユーザは、第2コンベア544をさらに動かしてキャリブレーション用シートSをロボット520のトラッキング範囲(稼動範囲)の最下流の位置に配置するとともに、ロボット520を操作して、ターゲットパターンに含まれる1個のマークとロボット520との位置関係を対応付ける。
[Stage 3]
In the third stage, the user further moves the second conveyor 544 to place the calibration sheet S at the most downstream position in the tracking range (operating range) of the robot 520 and operates the robot 520 to operate the target. The positional relationship between one mark included in the pattern and the robot 520 is associated.

より具体的には、まず、ユーザは、第2コンベア544を動かして、キャリブレーション用シートSをロボット520のトラッキング範囲(稼動範囲)の下流側端部に配置する。   More specifically, the user first moves the second conveyor 544 to place the calibration sheet S at the downstream end of the tracking range (operating range) of the robot 520.

続いて、ユーザは、ティーチングペンダントを操作するなどによって、ロボット520のハンド先端をキャリブレーション用シートS上の1番目のマーク(第2段階で座標値(X1,Y1)を取得したマーク)と対応するように位置決めする。ユーザは、この位置決めされた状態で指示を与えることで、ロボットコントローラ522が把握しているロボット520の位置情報(ロボット520のハンド先端の位置を示すロボット座標系での座標値)がコントローラ100へ送信される。   Subsequently, the user operates the teaching pendant or the like to associate the tip of the hand of the robot 520 with the first mark on the calibration sheet S (the mark having acquired the coordinate values (X1, Y1) in the second stage). Position to do. When the user gives an instruction in this positioned state, the position information (the coordinate value in the robot coordinate system indicating the position of the hand tip of the robot 520) grasped by the robot controller 522 is sent to the controller 100. Sent.

このような手順によって、ターゲットパターンに含まれる1番目のマークに対応するロボット520の位置情報がそれぞれ取得される。この取得される1番目のマークに対応するロボット520の位置情報を(X5,Y5)とする。   By such a procedure, the position information of the robot 520 corresponding to the first mark included in the target pattern is acquired. The position information of the robot 520 corresponding to the acquired first mark is (X5, Y5).

また、コントローラ100は、第2コンベア544をロボット520の稼動範囲(下流)まで移動させ状態におけるカウント値についても格納する。このカウント値をE3とする。   The controller 100 also stores the count value in the state where the second conveyor 544 is moved to the operating range (downstream) of the robot 520. This count value is set to E3.

[パラメータ算出処理]
上述したような第1〜第3段階の処理によって取得されたパラメータを用いて、まず、エンコーダからの1カウントあたりのワークWの移動量dXおよびdYが算出される。より具体的には、以下の式に従って算出される。
[Parameter calculation processing]
Using the parameters acquired by the first to third stage processes as described above, first, the movement amounts dX and dY of the workpiece W per count from the encoder are calculated. More specifically, it is calculated according to the following formula.

dX=(X5−X1)/(E3−E2)
dY=(Y5−Y1)/(E3−E2)
これらの式は、第2コンベア544をロボット520の稼動範囲(上流)まで移動させた状態と、第2コンベア544をロボット520の稼動範囲(下流)まで移動させた状態との間で、ロボット520のハンド先端がキャリブレーション用シートS内の同一のマークに位置決めされた場合に生じる、カウント値の変化量に対するロボット520の位置情報の変化量を算出することを意味する。これらの演算式によって、1カウントあたりのワークWの移動量dXおよびdYが決定される。すなわち、ロボット−コンベア間のキャリブレーションが実現される。
dX = (X5-X1) / (E3-E2)
dY = (Y5-Y1) / (E3-E2)
These formulas indicate that the robot 520 is between the state where the second conveyor 544 is moved to the operating range (upstream) of the robot 520 and the state where the second conveyor 544 is moved to the operating range (downstream) of the robot 520. This means that the amount of change in the position information of the robot 520 relative to the amount of change in the count value that occurs when the tip of the hand is positioned at the same mark in the calibration sheet S is calculated. The movement amounts dX and dY of the workpiece W per count are determined by these arithmetic expressions. That is, the calibration between the robot and the conveyor is realized.

また、キャリブレーション用シートSをカメラ512の視野内に配置した状態で取得されるカメラ座標系の座標値(xi1,yi1),(xi2,yi2),(xi3,yi3),(xi4,yi4)と、第2コンベア544をロボット520の稼動範囲(上流)まで移動させた状態で取得されるロボット座標系の座標値(X1,Y1),(X2,Y2),(X3,Y3),(X4,Y4)との対応関係に基づいて、座標系の変換に係る変換式の6個のパラメータA〜Fが決定される。すなわち、公知の手法を用いて、以下の式を満たす(あるいは、誤差が最小となる)パラメータA〜Fが決定される。   Further, the coordinate values (xi1, yi1), (xi2, yi2), (xi3, yi3), (xi4, yi4) of the camera coordinate system acquired in a state where the calibration sheet S is arranged in the field of view of the camera 512. The coordinate values (X1, Y1), (X2, Y2), (X3, Y3), (X4) of the robot coordinate system acquired with the second conveyor 544 moved to the operating range (upstream) of the robot 520. , Y4), six parameters A to F of the conversion formula relating to the conversion of the coordinate system are determined. That is, parameters A to F that satisfy the following expression (or that minimize the error) are determined using a known method.

X=A・xi+B・yi+C
Y=D・xi+E・yi+F
これにより、ロボット座標系とカメラ座標系との位置関係を同定するためのキャリブレーションが実現される。
X = A · xi + B · yi + C
Y = D ・ xi + E ・ yi + F
Thereby, calibration for identifying the positional relationship between the robot coordinate system and the camera coordinate system is realized.

(位置を推定する方法)
次に、本実施形態におけるワークWの位置の推定方法について説明する。画像処理装置510の計測は、コントローラ100の通信周期に比べて長く、計測時間に定時性がない。したがって、コントローラ100は、画像処理装置510から位置データを得られない周期では、コントローラ100がワークWの位置の推定を行う。
(Method of estimating position)
Next, a method for estimating the position of the workpiece W in the present embodiment will be described. The measurement of the image processing apparatus 510 is longer than the communication cycle of the controller 100, and the measurement time is not punctual. Therefore, the controller 100 estimates the position of the workpiece W in a cycle in which position data cannot be obtained from the image processing apparatus 510.

画像処理装置510は、時刻N−1と時刻Nで撮影した2枚の画像と、2枚の画像が撮影された時刻データを、産業用ネットワーク2を介して、コントローラ100に送信する。   The image processing apparatus 510 transmits two images captured at time N-1 and time N and time data when the two images are captured to the controller 100 via the industrial network 2.

コントローラ100の位置データ推定処理部105は、2枚の画像中のワークWにおける端等の特徴点の移動ピクセル数と時刻の差を計測する。これにより、コントローラ100の位置データ推定処理部105は、ワークWの移動速度と移動方向を割り出す。そして、コントローラ100の位置データ推定処理部105は、このベクトル情報を基に、コントローラ100の制御周期におけるワークの位置を推定する。   The position data estimation processing unit 105 of the controller 100 measures the difference between the number of moving pixels of feature points such as edges in the workpiece W in two images and the time. As a result, the position data estimation processing unit 105 of the controller 100 determines the moving speed and moving direction of the workpiece W. Then, the position data estimation processing unit 105 of the controller 100 estimates the position of the workpiece in the control cycle of the controller 100 based on this vector information.

(時計補正の方法)
次に、時計補正の方法について説明する。時計補正の方法は、従来の方法を用いることができ、例えば、特許第5794449号に開示された方法用いることができる。
(Clock correction method)
Next, a clock correction method will be described. As the clock correction method, a conventional method can be used, and for example, the method disclosed in Japanese Patent No. 5794449 can be used.

コントローラ100は、第1制御アプリケーションエンジン700、第2制御アプリケーションエンジン710、画像処理装置510、およびサーボアンプ540に対して、時刻合わせのための時間同期フレームを送信する機能を有している。以下、説明を簡単にするために、第1制御アプリケーションエンジン700、第2制御アプリケーションエンジン710、画像処理装置510、およびサーボアンプ540をスレーブユニットと呼びこととする。   The controller 100 has a function of transmitting a time synchronization frame for time adjustment to the first control application engine 700, the second control application engine 710, the image processing device 510, and the servo amplifier 540. Hereinafter, in order to simplify the description, the first control application engine 700, the second control application engine 710, the image processing apparatus 510, and the servo amplifier 540 are referred to as slave units.

各スレーブユニットは、コントローラ100から時間同期フレームを受信すると、そのフレームにデータを追加したりすることなくそのまますぐに次のスレーブユニットに向けて時間同期フレームを送信する。これにより、1つのスレーブユニットで時間同期フレームを受信してから、次のスレーブユニットに送信するまでに要する時間はほぼ一定となる。また、時間同期フレームがスレーブユニット内部の線路や、スレーブユニット間のシステムバスを移動する時間も、線路長から一意に規定され一定となる。よって、次のスレーブユニットに時間同期フレームを転送するための要する時間は、スレーブユニットであればほぼ等しいと言える。   When each slave unit receives the time synchronization frame from the controller 100, the slave unit immediately transmits the time synchronization frame to the next slave unit without adding data to the frame. As a result, the time required from the reception of the time synchronization frame by one slave unit to the transmission to the next slave unit is substantially constant. In addition, the time for the time synchronization frame to move on the line inside the slave unit and the system bus between the slave units is uniquely defined from the line length and is constant. Therefore, it can be said that the time required to transfer the time synchronization frame to the next slave unit is almost equal for the slave unit.

従って、あるスレーブユニットから時間同期フレームが送信されたときから、その時間同期フレームが次のスレーブユニットで受信されるとともに当該次のスレーブユニットから出力されるまでに要する時間は、各スレーブユニットとも等しく一定とみなせる。係る一定の時間を基準時間と称してt0とすると、つまり、コントローラ100から時間同期フレームが送信されたときから、その時間同期フレームが1番目のスレーブユニットから出力されるまでに要する伝搬遅延時間は、t0となる。   Therefore, the time required from when a time synchronization frame is transmitted from a slave unit to when the time synchronization frame is received by the next slave unit and output from the next slave unit is the same for each slave unit. Can be considered constant. When such a fixed time is referred to as a reference time and is set to t0, that is, the propagation delay time required from when the time synchronization frame is transmitted from the controller 100 to when the time synchronization frame is output from the first slave unit is , T0.

同様に、その1番目のスレーブユニットから時間同期フレームが送信されたときから、その時間同期フレームが2番目のスレーブユニットで受信され、次のスレーブユニットに対して出力されるまでに要する伝搬遅延時間は、t0となる。従って、コントローラ100から時間同期フレームが送信されたときから、その時間同期フレームが2番目のスレーブユニットから送信されるまでに要する伝搬遅延時間は、2×t0となる。同様に、コントローラ100から時間同期フレームが送信されたときから、その時間同期フレームがN番目のスレーブユニットの送信制御部から送信されるまでに要する伝搬遅延時間は、N×t0となる。なお、各スレーブユニットの内部処理、すなわち、時間同期フレームを受信してから次のスレーブユニットに対して出力するまでに要する時間に比べて、スレーブユニット間のシステムバス上を伝送する時間は非常に短く無視することもできる。よって、係るt0は、スレーブユニットの内部処理に要する時間としてもよい。   Similarly, the propagation delay time required from when the time synchronization frame is transmitted from the first slave unit until the time synchronization frame is received by the second slave unit and output to the next slave unit. Becomes t0. Accordingly, the propagation delay time required from when the time synchronization frame is transmitted from the controller 100 to when the time synchronization frame is transmitted from the second slave unit is 2 × t0. Similarly, the propagation delay time required from when the time synchronization frame is transmitted from the controller 100 to when the time synchronization frame is transmitted from the transmission control unit of the Nth slave unit is N × t0. In addition, the internal processing of each slave unit, that is, the time for transmission on the system bus between slave units is much longer than the time required to receive the time synchronization frame and output it to the next slave unit. It can be ignored for a short time. Therefore, t0 may be a time required for internal processing of the slave unit.

このように、各スレーブユニットの接続位置で、ほぼ固定的な伝搬遅延時間となるので、N番目のスレーブユニットにおいては、伝搬遅延時間に基づく補正時間として、“N×t0”をメモリあるいはレジスタに格納する。本実施形態の例では、1番目の画像処理装置510のレジスタには、“t0”が格納され、2番目の第1制御アプリケーションエンジン700のレジスタには、“2×t0”が格納され、3番目の第2制御アプリケーションエンジン710のレジスタには、“3×t0”が格納される。   Thus, since the propagation delay time is almost fixed at the connection position of each slave unit, in the Nth slave unit, “N × t0” is stored in the memory or register as the correction time based on the propagation delay time. Store. In the example of the present embodiment, “t0” is stored in the register of the first image processing apparatus 510, and “2 × t0” is stored in the register of the second first control application engine 700. The register of the second second control application engine 710 stores “3 × t0”.

このように、各スレーブユニットのレジスタに格納する補正時間は、コントローラ100に近いスレーブユニットから順にt0ずつ加算した時間(N番目のスレーブユニットは“N×t0”)となる。従って、ユーザがマニュアル操作で補正時間をレジスタに格納する場合、ユーザは設定対象のスレーブユニットがコントローラ100から何番目のスレーブユニットであるかを確認し、設定ツール装置を用いて対応する補正時間を個々に設定したり、各スレーブユニットに補正時間の設定用のスイッチなどを設け、ユーザがそのスイッチを操作してユニットごとに設定したりすることもできる。このスイッチは、例えばN番目であることを特定するスイッチとする。すると、各スレーブユニットは、予め記憶保持しておいた補正の基準時間t0とスイッチで特定されるNを乗算して補正時間を求めレジスタに格納する。   As described above, the correction time stored in the register of each slave unit is a time obtained by adding t0 in order from the slave unit close to the controller 100 (the Nth slave unit is “N × t0”). Therefore, when the user manually stores the correction time in the register, the user confirms the slave unit to be set from the controller 100 and confirms the corresponding correction time using the setting tool device. It can be set individually, or each slave unit can be provided with a switch for setting a correction time, etc., and the user can set it for each unit by operating the switch. This switch is, for example, a switch that identifies the Nth switch. Then, each slave unit multiplies the correction reference time t0 stored and held in advance by N specified by the switch to obtain the correction time and stores it in the register.

また、マスタであるコントローラ100が、各スレーブユニットのレジスタに対して補正時間を自動的に設定するようにしても良い。すなわち、電源投入時やシステム立ち上げ時の初期処理として、コントローラ100が、各スレーブユニットの接続位置情報を取得し、補正時間の設定対象の各スレーブユニットの補正時間を算出すると共に、その算出した補正時間をそれぞれのスレーブユニットに通知する。そして、係る通知を受けたスレーブユニットは、送られてきた補正時間をレジスタに格納する。すなわち、コントローラ100は、通信に先立ち、各スレーブユニットに対し、プロファイル要求メッセージを送信する。各スレーブユニットは、自己のプロファイル(機種情報等)を送る。これにより、コントローラ100は、受信した各ノードを構成するスレーブユニットのプロファイル情報から各ノードに何のスレーブユニットがセットされているのかの構成情報を認識する。そこでコントローラ100は、その収集した構成情報に基づき、各スレーブユニットが何番目に接続されているのかを求めるとともに、基準時間t0を乗算して補正時間を求めることができる。   Further, the controller 100 as a master may automatically set the correction time for the register of each slave unit. That is, as an initial process at power-on or system startup, the controller 100 acquires connection position information of each slave unit, calculates the correction time of each slave unit for which correction time is set, and calculates the calculated time. Notify each slave unit of the correction time. Then, the slave unit that has received the notification stores the sent correction time in the register. That is, the controller 100 transmits a profile request message to each slave unit prior to communication. Each slave unit sends its own profile (model information, etc.). Thereby, the controller 100 recognizes the configuration information indicating what slave unit is set in each node from the received profile information of the slave units configuring each node. Therefore, the controller 100 can obtain the correction time by multiplying the reference time t0 while obtaining what number each slave unit is connected to based on the collected configuration information.

次に、実際の制御実行時の時刻合わせについて説明する。コントローラ100は、時計108の時刻情報をブロードキャスト配信する。すなわち、コントローラ100は、時刻合わせの条件を満たすと、時間同期フレームのための送信データ(時刻情報)を送信準備を開始する。なお、送信条件は、本実施形態では、送信タイマのタイムアップである。よって、時間同期フレームの送信処理は、送信タイマで設定される時間間隔で定時処理されることになる。この時間同期フレームは、最優先で送信される。   Next, time adjustment at the time of actual control execution will be described. The controller 100 broadcasts time information of the clock 108. That is, when the time alignment condition is satisfied, the controller 100 starts preparation for transmission of transmission data (time information) for the time synchronization frame. In this embodiment, the transmission condition is a time-up of the transmission timer. Therefore, the time synchronization frame transmission processing is performed at regular intervals at a time interval set by the transmission timer. This time synchronization frame is transmitted with the highest priority.

コントローラ100は、マスタ時刻となる時計108の時刻情報をラッチし、時間同期フレームのデータ部内に格納する。コントローラ100は、このようにして生成した時間同期フレームを符号化し、1番目のスレーブユニットに対して送信する。コントローラ100は、時刻情報をラッチしたならば、時間同期フレームを最優先で遅滞なく送信する。   The controller 100 latches the time information of the clock 108 serving as the master time, and stores it in the data portion of the time synchronization frame. The controller 100 encodes the time synchronization frame generated in this way and transmits it to the first slave unit. If the time information is latched, the controller 100 transmits the time synchronization frame with the highest priority without delay.

そして、時間同期フレーム(シリアル)は、1番目のスレーブユニット(本実施形態では、画像処理装置510)に受信される。1番目のスレーブユニットは、時間同期フレームに格納されたマスタ時刻を取得できる。   Then, the time synchronization frame (serial) is received by the first slave unit (in this embodiment, the image processing apparatus 510). The first slave unit can acquire the master time stored in the time synchronization frame.

1番目のスレーブユニットは、受信した時間同期フレームで送られてきたマスタ時刻をラッチし、当該マスタ時刻に対して、レジスタに格納された補正時間を加算することで現在の時刻を求め、その求めた時刻に基づいて自己の時計(本実施形態では、画像処理装置510の時計511)を補正する。   The first slave unit latches the master time sent in the received time synchronization frame, and obtains the current time by adding the correction time stored in the register to the master time. The own clock (in this embodiment, the clock 511 of the image processing apparatus 510) is corrected based on the determined time.

求めた現在時刻に基づく時計の補正は、例えば、時計の時刻を、上記の求めた現在の時刻によって上書きすることにより更新する処理を行うことで実現できる。また、このように上書きにより更新すると、補正前後で時計の示す値が離散的に飛んでしまう。それを防ぐために、1番目のスレーブユニットは、所定の補正アルゴリズム等を用い、時計の時間の進む速度を速めたり遅らせたりすることで、時刻を連続的に徐々にマスタ時刻に合わせるように修正するようにしてもよい。   The correction of the clock based on the obtained current time can be realized, for example, by performing a process of updating the time of the clock by overwriting it with the obtained current time. In addition, when updating is performed by overwriting in this way, the value indicated by the clock is scattered discretely before and after correction. In order to prevent this, the first slave unit uses a predetermined correction algorithm or the like, and corrects the time to gradually and gradually adjust to the master time by increasing or decreasing the clock speed. You may do it.

また、1番目のスレーブユニットは、2番目のスレーブユニットに対して、時間同期フレームを送信する。   The first slave unit transmits a time synchronization frame to the second slave unit.

このようにしてデジチェーン方式で送信された時間同期フレームは、次段に隣接するスレーブユニット(ここでは、2番目の第1制御アプリケーションエンジン700)にて受信される。そして、上記と同様に、2番目のスレーブユニットは、受信した時間同期フレームに格納されていたマスタ時刻を取得し、補正時間(2×t0)を加算した値を現在時刻となるように時計(本実施形態では、第1制御アプリケーションエンジン700の時計701)を補正する。そして、第1制御アプリケーションエンジン700は、受信した時間同期フレームを3番目のスレーブユニットに対して送信する。   The time synchronization frame transmitted in the digital chain manner in this manner is received by the slave unit (here, the second first control application engine 700) adjacent to the next stage. Similarly to the above, the second slave unit obtains the master time stored in the received time synchronization frame, and adds the correction time (2 × t0) to the current time. In the present embodiment, the clock 701) of the first control application engine 700 is corrected. Then, the first control application engine 700 transmits the received time synchronization frame to the third slave unit.

このようにすることで、各スレーブユニットは、コントローラ100から送られてきた時間同期フレームをデジチェーン方式で順次隣接するスレーブユニットに転送する。さらに、N番目のスレーブユニットの時刻は、マスタ時刻に対してコントローラ100との間に存在するN−1個分のスレーブユニットの局遅延((N−1)×t0)だけ加算することで補正する   In this way, each slave unit sequentially transfers the time synchronization frame sent from the controller 100 to the adjacent slave units by the digi chain method. Further, the time of the Nth slave unit is corrected by adding the station delay ((N−1) × t0) of N−1 slave units existing between the controller 100 and the master time. Do

なお、上述した時計補正の方法は、あくまでも一例であり、例えば、特許第5141972号に開示された方法の他、他の方法を用いてもよい。   Note that the clock correction method described above is merely an example, and other methods may be used in addition to the method disclosed in Japanese Patent No. 5141972, for example.

(ファクションブロック)
ワールド座標系で表現された位置情報は、IEC61131−3のファンクションブロックの出力情報として出力されるようにしてもよい。図9は、ファンクションブロック180を概略的に示す概念図である。また、図10は、ファンクションブロック190を概略的に示す概念図である。
(Faction block)
The position information expressed in the world coordinate system may be output as output information of the function block of IEC61131-3. FIG. 9 is a conceptual diagram schematically showing the function block 180. FIG. 10 is a conceptual diagram schematically showing the function block 190.

ファンクションブロック180は、たとえば、コントローラ100の主メモリや記憶装置等に格納されている。ファンクションブロック180は、図9に示すように、ワールド座標系の位置と時刻が可能された構造配列変数Worldを受け付ける受付部181と、TRUEまたはFALSEを受け付けるEnable部182と、第N制御アプリケーションのローカル座標系の位置と時刻が格納された構造体変数Appli[N]を受け付ける受付部183とを備えている。   The function block 180 is stored in, for example, a main memory or a storage device of the controller 100. As shown in FIG. 9, the function block 180 includes a receiving unit 181 that receives a structure array variable World in which the position and time of the world coordinate system are possible, an enable unit 182 that receives TRUE or FALSE, and a local of the Nth control application. A receiving unit 183 that receives a structure variable Apply [N] in which the position and time of the coordinate system are stored.

また、ファンクションブロック180は、ワールド座標系の位置と時刻が可能された構造配列変数Worldを出力する出力部184と、ファンクションブロック180が正常に動作しているかどうかを示す出力変数Statusを出力する出力部185と、異常になった場合に出力変数Errorを出力する出力部186と、エラーコードが格納される出力変数ErrorIDを出力する出力部187とを備えている。   The function block 180 also outputs an output unit 184 that outputs a structure array variable World in which the position and time of the world coordinate system are possible, and an output that outputs an output variable Status indicating whether the function block 180 is operating normally. Unit 185, an output unit 186 that outputs an output variable Error when an abnormality occurs, and an output unit 187 that outputs an output variable ErrorID in which an error code is stored.

ファンクションブロック190は、たとえば、コントローラ100の主メモリや記憶装置等に格納されている。ファンクションブロック190は、図10に示すように、ワールド座標系の位置と時刻が可能された構造配列変数Worldを受け付ける受付部191を備えている。   The function block 190 is stored in, for example, a main memory or a storage device of the controller 100. As shown in FIG. 10, the function block 190 includes a receiving unit 191 that receives a structural array variable World in which the position and time of the world coordinate system are possible.

また、ファンクションブロック190は、ワールド座標系の位置と時刻が可能された構造配列変数Worldを出力する出力部193と、第N制御アプリケーションのローカル座標系の位置と時刻が格納された構造体変数Appli[N]を出力する出力部194と、ファンクションブロック190が正常に動作しているかどうかを示す出力変数Statusを出力する出力部195と、異常になった場合に出力変数Errorを出力する出力部196と、エラーコードが格納される出力変数ErrorIDを出力する出力部197とを備えている。   The function block 190 also outputs an output unit 193 that outputs a structure array variable World in which the position and time of the world coordinate system are possible, and a structure variable Apply that stores the position and time of the local coordinate system of the Nth control application. An output unit 194 that outputs [N], an output unit 195 that outputs an output variable Status indicating whether the function block 190 is operating normally, and an output unit 196 that outputs an output variable Error when an abnormality occurs. And an output unit 197 for outputting an output variable ErrorID in which an error code is stored.

図11は、IEC61131−3で定義されたラダーダイアグラムでのプログラム例を示す図である。図11に示すように、SW1がTRUEのとき、第1制御アプリケーションの座標系の位置と時刻が格納された構造体配列変数Appli[1]が変換され、変換された座標系の位置と時刻は、ワールド座標系の構造体配列変数Worldに格納され、出力部184から出力される。   FIG. 11 is a diagram showing a program example in a ladder diagram defined by IEC61131-3. As shown in FIG. 11, when SW1 is TRUE, the structure array variable Appli [1] storing the position and time of the coordinate system of the first control application is converted, and the position and time of the converted coordinate system are , Stored in the structure array variable World of the world coordinate system, and output from the output unit 184.

ファンクションブロック180が正常に動作している際には、出力部185から出力される出力変数StatusはTRUEとなる。異常になった場合には、出力部186から出力される出力変数ErrorがTRUEとなり、出力変数ErrorIDにエラーコードが格納されて出力部187から出力される。   When the function block 180 is operating normally, the output variable Status output from the output unit 185 is TRUE. When abnormal, the output variable Error output from the output unit 186 becomes TRUE, the error code is stored in the output variable ErrorID, and is output from the output unit 187.

また、図11に示すように、SW2がTRUEのとき、ワールド座標系の位置と時刻が可能された構造配列変数Worldが受付部191に受け付けられると、第1制御アプリケーションのローカル座標系の位置と時刻に変換され、構造体配列変数Appli[1]に格納されて出力部194から出力される。   Also, as shown in FIG. 11, when SW2 is TRUE, when the receiving unit 191 receives a structure array variable World in which the position and time of the world coordinate system are possible, the position of the local coordinate system of the first control application The time is converted, stored in the structure array variable Apply [1], and output from the output unit 194.

ファンクションブロック190が正常に動作している際には、出力部195から出力される出力変数StatusはTRUEとなる。異常になった場合には、出力部196から出力される出力変数ErrorがTRUEとなり、出力変数ErrorIDにエラーコードが格納されて出力部197から出力される。   When the function block 190 is operating normally, the output variable Status output from the output unit 195 is TRUE. If an abnormality occurs, the output variable Error output from the output unit 196 becomes TRUE, and an error code is stored in the output variable ErrorID and output from the output unit 197.

ワールド座標系で表現された位置情報は、上述のようなファンクションブロックの出力情報として出力する態様の他に、図5に示した統合開発環境200のGUIに表示させるようにしてもよい。   The position information expressed in the world coordinate system may be displayed on the GUI of the integrated development environment 200 shown in FIG. 5 in addition to the mode of outputting the function block output information as described above.

以上のように本実施形態によれば、コントローラ100、第1制御アプリケーションエンジン700、第2制御アプリケーションエンジン710、画像処理装置510、およびサーボアンプ540におけるそれぞれの時計108,701,711,511,541を補正した上で、コントローラ100は、第1制御アプリケーションエンジン700、第2制御アプリケーションエンジン710、画像処理装置510、およびサーボアンプ540から、それぞれの周期で更新したそれぞれのローカル座標系の位置と、更新した時刻情報とを受信する。したがって、異なる座標系で表され、かつ、異なる周期で更新されるそれぞれの位置情報を、統一されたワールド座標系の位置情報として、それぞれに共通した時刻で管理することが可能になる。   As described above, according to the present embodiment, the clocks 108, 701, 711, 511, 541 of the controller 100, the first control application engine 700, the second control application engine 710, the image processing device 510, and the servo amplifier 540 are used. , The controller 100 updates the position of each local coordinate system updated in each cycle from the first control application engine 700, the second control application engine 710, the image processing device 510, and the servo amplifier 540. Receive updated time information. Accordingly, it is possible to manage each piece of position information represented in different coordinate systems and updated at different periods as position information of a unified world coordinate system at a common time.

その結果、コントローラ100で動作するユーザプログラムは、ワールド座標系で表現された位置を使って指令を行ったり、位置の監視を行ったりすることができる。   As a result, the user program operating on the controller 100 can issue a command or monitor the position using the position expressed in the world coordinate system.

また、更新周期が長い場合や、定時性がない制御アプリケーションエンジンや画像処理装置510から位置データが出力されるであっても、コントローラ100における制御周期で位置を推定することができる。その結果、コントローラ100における制御周期で制御アプリケーションエンジンに指令位置を出力することができる。   Further, even when position data is output from a control application engine or the image processing apparatus 510 that has a long update period or has no punctuality, the position can be estimated by the control period in the controller 100. As a result, the command position can be output to the control application engine in the control cycle of the controller 100.

さらに、本実施形態によれば、ワールド座標系の位置を管理するだけでなく、速度および加速度データを算出することができるので、ワールド座標系の位置、速度および加速度データを、上位コンピュータ300、タッチパネル400、および統合開発環境200に送信することができる。また、統合開発環境200においては、出力されたワールド座標系の位置、速度および加速度データを、GUIで表示することができる。   Furthermore, according to the present embodiment, not only the position of the world coordinate system can be managed, but also the speed and acceleration data can be calculated. 400, and the integrated development environment 200. Further, in the integrated development environment 200, the output position, velocity, and acceleration data of the world coordinate system can be displayed on the GUI.

本実施形態においては、第1制御アプリケーションエンジン700、および第2制御アプリケーションエンジン710から、速度、加速度、トルク、電流値等の情報を、コントローラ100に送信するようにしてもよい。なお、第1制御アプリケーションエンジン700、および第2制御アプリケーションエンジン710はあくまでも例示であり、必要に応じて制御アプリケーションエンジンの数は適宜増減可能である。   In the present embodiment, information such as speed, acceleration, torque, and current value may be transmitted from the first control application engine 700 and the second control application engine 710 to the controller 100. Note that the first control application engine 700 and the second control application engine 710 are merely examples, and the number of control application engines can be appropriately increased or decreased as necessary.

(第2実施形態)
次に、本開示の第2実施形態について添付図面を参照しつつ説明する。第1実施形態においては、第1制御アプリケーションエンジン700と、第2制御アプリケーションエンジン710とが、コントローラ100の外部に設けられた態様について説明した。しかしながら、本実施形態では、第1制御アプリケーションエンジン700と、第2制御アプリケーションエンジン710とが、コントローラ100の内部に設けられている点が第1実施形態と異なる。
(Second Embodiment)
Next, a second embodiment of the present disclosure will be described with reference to the accompanying drawings. In the first embodiment, the aspect in which the first control application engine 700 and the second control application engine 710 are provided outside the controller 100 has been described. However, the present embodiment is different from the first embodiment in that the first control application engine 700 and the second control application engine 710 are provided inside the controller 100.

図12は、本実施形態における制御システム1の機能ブロックを示す図である。図12に示すように、本実施形態においては、第1制御アプリケーションエンジン700と、第2制御アプリケーションエンジン710とが、コントローラ100の内部に設けられている。   FIG. 12 is a diagram illustrating functional blocks of the control system 1 in the present embodiment. As shown in FIG. 12, in the present embodiment, a first control application engine 700 and a second control application engine 710 are provided inside the controller 100.

また、第1制御アプリケーションエンジン700および第2制御アプリケーションエンジン710には時計が設けられておらず、ロボット520、工作機530等の制御アプリケーション600に時計601が設けられている。   The first control application engine 700 and the second control application engine 710 are not provided with a clock, and the control application 600 such as the robot 520 or the machine tool 530 is provided with a clock 601.

さらに、図示は省略するが、位置情報を更新する位置情報更新部と、位置情報を更新した時刻と位置情報とをコントローラ100に送信する送信部も、制御アプリケーション600に設けられている。   Further, although not shown, the control application 600 also includes a position information update unit that updates the position information, and a transmission unit that transmits the time and position information at which the position information was updated to the controller 100.

このように構成した場合でも、制御アプリケーション600、画像処理装置510、およびサーボアンプ540におけるそれぞれの時計601,511,541を補正した上で、コントローラ100は、制御アプリケーション600、画像処理装置510、およびサーボアンプ540から、それぞれの周期で更新したそれぞれのローカル座標系の位置と、更新した時刻情報とを受信する。したがって、異なる座標系で表され、かつ、異なる周期で更新されるそれぞれの位置情報を、統一されたワールド座標系の位置情報として、それぞれに共通した時刻で管理することが可能になる。   Even in such a configuration, the controller 100 corrects the clocks 601, 511, and 541 in the control application 600, the image processing device 510, and the servo amplifier 540, and the controller 100 performs the control application 600, the image processing device 510, and The position of each local coordinate system updated in each cycle and the updated time information are received from the servo amplifier 540. Accordingly, it is possible to manage each piece of position information represented in different coordinate systems and updated at different periods as position information of a unified world coordinate system at a common time.

(変形例)
上述した実施形態では、画像処理装置510から送信される画像に基づいてワークWの位置を推定する態様について説明した。しかしながら、本発明はこのような態様に限定される訳ではない。例えば、サーボアンプ540に備えられたによるカウンタ値を、サーボアンプ540からコントローラ100に送信し、このカウンタ値を基にしてワークWの位置を推定するようにしてもよい。
(Modification)
In the above-described embodiment, the aspect in which the position of the workpiece W is estimated based on the image transmitted from the image processing apparatus 510 has been described. However, the present invention is not limited to such an embodiment. For example, the counter value provided in the servo amplifier 540 may be transmitted from the servo amplifier 540 to the controller 100, and the position of the workpiece W may be estimated based on this counter value.

また、上述した実施形態では、画像処理装置510から画像を送信し、コントローラ100において画像を解析することにより、ワークWの位置を推定する態様について説明した。しかしながら、本発明はこのような態様に限定される訳ではない。例えば、画像処理装置510において、時刻N−1と時刻Nで撮影した2枚の画像中のワークWにおける端等の特徴点の移動ピクセル数と時刻の差を計測し、ワークWの移動速度と移動方向を割り出すようにしてもよい。そして、画像処理装置510からコントローラ100に対して、ワークWの移動速度と移動方向の情報を送信し、コントローラ100においてワークWの位置を推定するようにしてもよい。   In the above-described embodiment, the mode in which the position of the workpiece W is estimated by transmitting an image from the image processing apparatus 510 and analyzing the image in the controller 100 has been described. However, the present invention is not limited to such an embodiment. For example, the image processing apparatus 510 measures the difference between the number of moving pixels of feature points such as edges in the workpiece W in the two images taken at time N-1 and the time N and the time, and the moving speed of the workpiece W The moving direction may be determined. Then, information on the moving speed and moving direction of the workpiece W may be transmitted from the image processing apparatus 510 to the controller 100 so that the controller 100 estimates the position of the workpiece W.

以上の実施形態は例示であり、この発明の範囲から離れることなく様々な変形が可能である。上述した複数の実施の形態は、それぞれ単独で成立し得るものであるが、実施の形態同士の組みあわせも可能である。また、異なる実施の形態の中の種々の特徴も、それぞれ単独で成立し得るものであるが、異なる実施の形態の中の特徴同士の組みあわせも可能である。   The above embodiments are merely examples, and various modifications can be made without departing from the scope of the present invention. The plurality of embodiments described above can be established independently, but combinations of the embodiments are also possible. In addition, various features in different embodiments can be established independently, but the features in different embodiments can be combined.

1 制御システム
100 コントローラ
101 時計
510 画像処理装置
511 時計
600 制御アプリケーション
700 第1制御アプリケーションエンジン
701 時計
710 第2制御アプリケーションエンジン
711 時計
DESCRIPTION OF SYMBOLS 1 Control system 100 Controller 101 Clock 510 Image processing apparatus 511 Clock 600 Control application 700 1st control application engine 701 Clock 710 2nd control application engine 711 Clock

Claims (5)

コントローラと、前記コントローラに接続され、ワークに関する所定の処理を行う処理装置とを備える制御システムであって、
前記処理装置は、
時刻を計時する計時部と、
前記処理装置から出力される位置情報を、前記処理装置における座標系で所定の周期により更新する位置情報更新部と、
前記位置情報更新部により更新した前記位置情報と、更新を行った時刻情報とを、前記コントローラに送信する送信部と、を備え、
前記コントローラは、
前記位置情報と前記時刻情報とを、前記処理装置から受信する受信部と、
前記位置情報が出力された前記処理装置における前記座標系と、ワールド座標系との相対関係を表す予め与えられた座標変換式を用いて、前記位置情報を、前記ワールド座標系のワールド座標系位置情報に変換する座標変換部と、
前記ワールド座標系位置情報と前記時刻情報とに基づいて、前記ワールド座標系位置情報間における位置情報を推定する推定部と、
前記ワールド座標系位置情報と、前記推定部により推定した位置情報とを、時間軸上で管理するワールド座標系管理部と、を備える、
制御システム。
A control system comprising a controller and a processing device connected to the controller and performing a predetermined process related to a workpiece,
The processor is
A timekeeping section that keeps time,
A position information update unit that updates the position information output from the processing device at a predetermined period in a coordinate system in the processing device;
A transmission unit that transmits the position information updated by the position information update unit and time information when the update is performed to the controller;
The controller is
A receiving unit that receives the position information and the time information from the processing device;
The position information is converted into a world coordinate system position of the world coordinate system by using a predetermined coordinate transformation expression that represents a relative relationship between the coordinate system and the world coordinate system in the processing apparatus from which the position information is output. A coordinate conversion unit for converting information,
An estimation unit that estimates position information between the world coordinate system position information based on the world coordinate system position information and the time information;
A world coordinate system management unit that manages the world coordinate system position information and the position information estimated by the estimation unit on a time axis;
Control system.
前記計時部は、時刻補正機能を備える、
請求項1に記載の制御システム。
The timekeeping unit has a time correction function,
The control system according to claim 1.
前記ワールド座標系位置情報を表示する表示部を備える、
請求項1または請求項2に記載の制御システム。
A display unit for displaying the world coordinate system position information;
The control system according to claim 1 or 2.
コントローラと、前記コントローラに接続され、ワークに関する所定の処理を行う処理装置とを備える制御システムにおける制御方法であって、
前記処理装置において、
時刻を計時するステップと、
前記処理装置から出力される位置情報を、前記処理装置における座標系で所定の周期により更新するステップと、
更新した前記位置情報と、更新を行った時刻情報とを、前記コントローラに送信するステップと、を備え、
前記コントローラにおいて、
前記位置情報と前記時刻情報とを、前記処理装置から受信するステップと、
前記位置情報が出力された前記処理装置における前記座標系と、ワールド座標系との相対関係を表す予め与えられた座標変換式を用いて、前記位置情報を、前記ワールド座標系のワールド座標系位置情報に変換するステップと、
前記ワールド座標系位置情報と前記時刻情報とに基づいて、前記ワールド座標系位置情報間における位置情報を推定するステップと、を備える、
前記ワールド座標系位置情報と、前記推定した位置情報とを、時間軸上で管理するステップと、を備える、
制御システムの制御方法。
A control method in a control system comprising a controller and a processing device connected to the controller and performing a predetermined process related to a workpiece,
In the processing apparatus,
A step of measuring time;
Updating the position information output from the processing device with a predetermined period in a coordinate system in the processing device;
Transmitting the updated location information and updated time information to the controller, and
In the controller,
Receiving the position information and the time information from the processing device;
The position information is converted into a world coordinate system position of the world coordinate system by using a predetermined coordinate transformation expression that represents a relative relationship between the coordinate system and the world coordinate system in the processing apparatus from which the position information is output. Converting to information;
Estimating position information between the world coordinate system position information based on the world coordinate system position information and the time information,
Managing the world coordinate system position information and the estimated position information on a time axis,
Control system control method.
コントローラと、前記コントローラに接続され、ワークに関する所定の処理を行う処理装置とを備える制御システムにおけるプログラムであって、コンピュータに、
前記処理装置において、
時刻を計時するステップと、
前記処理装置から出力される位置情報を、前記処理装置における座標系で所定の周期により更新するステップと、
更新した前記位置情報と、更新を行った時刻情報とを、前記コントローラに送信するステップと、を備え、
前記コントローラにおいて、
前記位置情報と前記時刻情報とを、前記処理装置から受信するステップと、
前記位置情報が出力された前記処理装置における前記座標系と、ワールド座標系との相対関係を表す予め与えられた座標変換式を用いて、前記位置情報を、前記ワールド座標系のワールド座標系位置情報に変換するステップと、
前記ワールド座標系位置情報と前記時刻情報とに基づいて、前記ワールド座標系位置情報間における位置情報を推定するステップと、を備える、
前記ワールド座標系位置情報と、前記推定した位置情報とを、時間軸上で管理するステップと、を備える、
制御システムのプログラム。
A program in a control system that includes a controller and a processing device that is connected to the controller and performs a predetermined process related to a workpiece.
In the processing apparatus,
A step of measuring time;
Updating the position information output from the processing device with a predetermined period in a coordinate system in the processing device;
Transmitting the updated location information and updated time information to the controller, and
In the controller,
Receiving the position information and the time information from the processing device;
The position information is converted into a world coordinate system position of the world coordinate system by using a predetermined coordinate transformation expression that represents a relative relationship between the coordinate system and the world coordinate system in the processing apparatus from which the position information is output. Converting to information;
Estimating position information between the world coordinate system position information based on the world coordinate system position information and the time information,
Managing the world coordinate system position information and the estimated position information on a time axis,
Control system program.
JP2018108922A 2018-06-06 2018-06-06 Control system, control system control method, and control system program Active JP7095417B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018108922A JP7095417B2 (en) 2018-06-06 2018-06-06 Control system, control system control method, and control system program
PCT/JP2019/021220 WO2019235314A1 (en) 2018-06-06 2019-05-29 Control system, method for controlling control system, and control system program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018108922A JP7095417B2 (en) 2018-06-06 2018-06-06 Control system, control system control method, and control system program

Publications (2)

Publication Number Publication Date
JP2019212123A true JP2019212123A (en) 2019-12-12
JP7095417B2 JP7095417B2 (en) 2022-07-05

Family

ID=68770448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018108922A Active JP7095417B2 (en) 2018-06-06 2018-06-06 Control system, control system control method, and control system program

Country Status (2)

Country Link
JP (1) JP7095417B2 (en)
WO (1) WO2019235314A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7572542B2 (en) 2021-04-01 2024-10-23 ファナック株式会社 ROBOT CONTROL DEVICE, ROBOT CONTROL SYSTEM, AND ROBOT CONTROL METHOD

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102691839B1 (en) * 2022-06-23 2024-08-06 (주)아이엠씨시스템 a pressure switch

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0866881A (en) * 1994-08-29 1996-03-12 Toyoda Mach Works Ltd Robot control device
JP2005262369A (en) * 2004-03-18 2005-09-29 Yaskawa Electric Corp Robot system
JP2009279608A (en) * 2008-05-21 2009-12-03 Fanuc Ltd System including robot and press, system including a plurality of robots, and controller for robot used in the same system
JP2011083841A (en) * 2009-10-13 2011-04-28 Seiko Epson Corp Robot control device, robot control system, and robot control method
JP2017094406A (en) * 2015-11-18 2017-06-01 オムロン株式会社 Simulation device, simulation method, and simulation program
JP2018024044A (en) * 2016-08-09 2018-02-15 オムロン株式会社 Information processing system, information processor, workpiece position specification method, and workpiece position specification program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0866881A (en) * 1994-08-29 1996-03-12 Toyoda Mach Works Ltd Robot control device
JP2005262369A (en) * 2004-03-18 2005-09-29 Yaskawa Electric Corp Robot system
JP2009279608A (en) * 2008-05-21 2009-12-03 Fanuc Ltd System including robot and press, system including a plurality of robots, and controller for robot used in the same system
JP2011083841A (en) * 2009-10-13 2011-04-28 Seiko Epson Corp Robot control device, robot control system, and robot control method
JP2017094406A (en) * 2015-11-18 2017-06-01 オムロン株式会社 Simulation device, simulation method, and simulation program
JP2018024044A (en) * 2016-08-09 2018-02-15 オムロン株式会社 Information processing system, information processor, workpiece position specification method, and workpiece position specification program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7572542B2 (en) 2021-04-01 2024-10-23 ファナック株式会社 ROBOT CONTROL DEVICE, ROBOT CONTROL SYSTEM, AND ROBOT CONTROL METHOD

Also Published As

Publication number Publication date
WO2019235314A1 (en) 2019-12-12
JP7095417B2 (en) 2022-07-05

Similar Documents

Publication Publication Date Title
US11082197B2 (en) Control system and control device
JP7326911B2 (en) Control system and control method
US10761515B2 (en) Control system for controlling control object and control device for linking control applications in control system
CN108818535B (en) Robot 3D vision hand-eye calibration method
JP3577028B2 (en) Robot cooperative control system
US20170140521A1 (en) Simulator, simulation method, and simulation program
JP2006187826A (en) Robot controller
US20220292234A1 (en) Simulation apparatus, recording medium, and simulation method
JP2006105782A (en) Measurement device by robot vision and robot controlling method
JP2019079344A (en) Control system
JP2014128845A (en) Robot system display device
WO2019235314A1 (en) Control system, method for controlling control system, and control system program
JP2020026028A (en) Data generation device, data generation method, data generation program and remote operation system
JP2018001393A (en) Robot device, robot control method, program and recording medium
JPH08132373A (en) Coordinate system coupling method in robot-sensor system
KR102405096B1 (en) Method for commanding an automated work cell
JP2021086232A (en) Control system, control device and control method
WO2020032211A1 (en) Data generating device, data generating method, data generating program, and remote operation system
EP3467603B1 (en) Information processing device, information processing method, and information processing program
JP7447568B2 (en) Simulation equipment and programs
JP2021128709A (en) Processing apparatus and processing method
JP6790861B2 (en) Inspection system, controller, inspection method, and inspection program
JP7392590B2 (en) Robot control system, control program and control method
Yang et al. Synchronous Control Method and Simulation Research of Multi-degree of Freedom Humanoid Space Manipulator
JP2006099310A (en) Robot simulation device, and method thereof

Legal Events

Date Code Title Description
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: 20211102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220606

R150 Certificate of patent or registration of utility model

Ref document number: 7095417

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150