JP7617050B2 - Device control device, control system, and control method - Google Patents
Device control device, control system, and control method Download PDFInfo
- Publication number
- JP7617050B2 JP7617050B2 JP2022009403A JP2022009403A JP7617050B2 JP 7617050 B2 JP7617050 B2 JP 7617050B2 JP 2022009403 A JP2022009403 A JP 2022009403A JP 2022009403 A JP2022009403 A JP 2022009403A JP 7617050 B2 JP7617050 B2 JP 7617050B2
- Authority
- JP
- Japan
- Prior art keywords
- command
- command execution
- time difference
- robots
- phase
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Program-control systems
- G05B19/02—Program-control systems electric
- G05B19/04—Program control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Program control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Program-control systems
- G05B19/02—Program-control systems electric
- G05B19/04—Program control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Program-control systems
- G05B19/02—Program-control systems electric
- G05B19/18—Numerical 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 program data in numerical form
- G05B19/41—Numerical 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 program data in numerical form characterised by interpolation, e.g. the computation of intermediate points between programmed end points to define the path to be followed and the rate of travel along that path
- G05B19/4103—Digital interpolation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Program-control systems
- G05B19/02—Program-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manufacturing & Machinery (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Programmable Controllers (AREA)
- Manipulator (AREA)
Description
本発明は、産業に用いられる機器の制御装置、制御システム、及び制御方法に関する。 The present invention relates to a control device, a control system, and a control method for industrial equipment.
各業界で顧客要求が多様化し、製造業においては開発サイクルの短期化とともに、大量生産や複雑な製品製造への対応が急務となっている。このため、産業用ロボットなどの機器の制御においては、生産性向上のために、同時に多数の機器を制御することが求められている。同時に複数の機器を制御する際には、制御対象である機器間での同期が必要である。例えば、複数のロボットで1つの製品を作るためには、各ロボットが動作タイミングを高精度に合わせる必要がある。 Customer demands are becoming more diverse in every industry, and in the manufacturing industry, there is an urgent need to shorten development cycles and respond to mass production and the manufacturing of complex products. For this reason, when controlling equipment such as industrial robots, there is a demand to control a large number of devices simultaneously in order to improve productivity. When controlling multiple devices simultaneously, synchronization between the devices being controlled is necessary. For example, to use multiple robots to manufacture a single product, the timing of each robot's movements must be synchronized with high precision.
複数の機器を同期させる従来の技術の例は、特許文献1に記載されている。特許文献1に記載された制御システムは、通信路で接続されマスタユニットとスレーブユニットを構成する各制御装置で生成するタイミング信号の位相差及び周期差を補正し、同期制御を行う。 An example of a conventional technique for synchronizing multiple devices is described in Patent Document 1. The control system described in Patent Document 1 performs synchronization control by correcting the phase difference and period difference of timing signals generated by each control device that is connected by a communication path and constitutes a master unit and a slave unit.
上述したように、産業用ロボットなどの複数の機器を制御する際には、複数の機器間で同期した制御が必要である。特に、異なる型の機器や異なるメーカで製造された機器などの、複数種類の機器が用いられている場合には、このような複数の機器間で同期が必要である。 As mentioned above, when controlling multiple devices such as industrial robots, synchronized control between the multiple devices is necessary. In particular, when multiple types of devices are used, such as devices of different models or devices manufactured by different manufacturers, synchronization between such multiple devices is necessary.
複数の機器の制御において、機器を制御するコントローラや機器のそれぞれが、受信した制御指令を実行するタイミングは、互いに異なっている。このため、コントローラや機器は、同じ制御指令を入力しても、指令を実行するタイミング(指令実行タイミング)が互いに異なり、動作にずれが生じる。そこで、複数の機器の制御においては、指令実行タイミングの差を吸収して、各機器で同期した動作を実行させる制御が必要である。例えば、機器のタイミング信号を発生する周期と位相を調整して、各機器で指令実行タイミングを同期させることで、同期した動作を実行させることができる。 When controlling multiple devices, the controllers and devices that control the devices each execute the control commands they receive at different times. For this reason, even if the same control command is input to the controllers and devices, the timing at which the command is executed (command execution timing) differs from one another, resulting in discrepancies in operation. Therefore, when controlling multiple devices, control is required that absorbs the difference in command execution timing and causes each device to execute synchronized operations. For example, by adjusting the cycle and phase that generates the timing signals for the devices and synchronizing the command execution timing of each device, synchronized operations can be executed.
しかし、例えば互いに異なるメーカの機器などの複数種類の機器を制御する場合には、必ずしも全ての機器とコントローラのタイミング信号や指令実行タイミングを期待通りに調整できるわけではない。このため、特許文献1に記載された技術などの従来の技術では、内部動作や設定の変更が容易に行えないこのような機器が制御対象として存在していると、機器間で同期した動作を実行させることが困難である。 However, when controlling multiple types of devices, such as devices from different manufacturers, it is not always possible to adjust the timing signals and command execution timing of all devices and controllers as expected. For this reason, with conventional technologies such as the technology described in Patent Document 1, if such devices, whose internal operations and settings cannot be easily changed, are present as control targets, it is difficult to execute synchronized operations between the devices.
本発明の目的は、1つ以上の機器の動作を同期させることができる、機器の制御装置、機器の制御システム、及び機器の制御方法を提供することである。 The object of the present invention is to provide an equipment control device, an equipment control system, and an equipment control method that can synchronize the operation of one or more equipment.
本発明による、機器の制御装置は、1つ以上の機器と通信可能な通信部と、前記機器に対する指令を生成する指令生成部と、前記通信部から前記機器へ前記指令を送信してから前記機器が前記指令を実行するまでの時間差である指令実行時間差を取得する指令実行時間差取得部と、前記指令実行時間差を用いて、前記機器が前記指令を実行する周期である指令実行周期を算出する周期計算部と、前記指令実行時間差を用いて、前記機器の前記指令実行周期の基準点である位相を算出する位相計算部と、前記指令実行周期と前記位相から、前記機器が前記指令を実行するタイミングである指令実行タイミングを算出し、次の前記指令実行タイミングでの指令の値を求めることで、前記指令を補正する指令補正部とを備える。 The device for controlling an appliance according to the present invention includes a communication unit capable of communicating with one or more appliances, a command generation unit that generates commands for the appliance, a command execution time difference acquisition unit that acquires a command execution time difference that is the time difference between when the command is transmitted from the communication unit to the appliance and when the appliance executes the command, a period calculation unit that uses the command execution time difference to calculate a command execution period that is the period during which the appliance executes the command, a phase calculation unit that uses the command execution time difference to calculate a phase that is a reference point for the command execution period of the appliance, and a command correction unit that calculates a command execution timing that is the timing at which the appliance executes the command from the command execution period and the phase, and corrects the command by determining a command value at the next command execution timing.
本発明による、機器の制御システムは、本発明による制御装置と、前記制御装置に制御され、前記制御装置が備える前記通信部と通信可能な1つ以上の機器とを備えることを特徴とする。 The device control system according to the present invention is characterized by comprising a control device according to the present invention and one or more devices that are controlled by the control device and can communicate with the communication unit provided in the control device.
本発明による、機器の制御方法は、1つ以上の機器と通信可能な通信部を備える制御装置に実行され、前記機器に対する指令を生成する指令生成ステップと、前記通信部から前記機器へ前記指令を送信してから前記機器が前記指令を実行するまでの時間差である指令実行時間差を取得する指令実行時間差取得ステップと、前記指令実行時間差を用いて、前記機器が前記指令を実行する周期である指令実行周期を算出する周期計算ステップと、前記指令実行時間差を用いて、前記機器の前記指令実行周期の基準点である位相を算出する位相計算ステップと、前記指令実行周期と前記位相から、前記機器が前記指令を実行するタイミングである指令実行タイミングを算出し、次の前記指令実行タイミングでの指令の値を求めることで、前記指令を補正する指令補正ステップとを有する。 The method for controlling an appliance according to the present invention is executed by a control device having a communication unit capable of communicating with one or more appliances, and includes a command generation step for generating a command for the appliance, a command execution time difference acquisition step for acquiring a command execution time difference, which is the time difference between when the command is transmitted from the communication unit to the appliance and when the appliance executes the command, a period calculation step for calculating a command execution period, which is the period during which the appliance executes the command, using the command execution time difference, a phase calculation step for calculating a phase, which is a reference point of the command execution period of the appliance, using the command execution time difference, and a command correction step for calculating a command execution timing, which is the timing at which the appliance executes the command, from the command execution period and the phase, and correcting the command by determining a command value at the next command execution timing.
本発明によると、1つ以上の機器の動作を同期させることができる、機器の制御装置、機器の制御システム、及び機器の制御方法を提供することができる。 According to the present invention, it is possible to provide an equipment control device, an equipment control system, and an equipment control method that can synchronize the operation of one or more equipment.
本発明による、機器の制御装置、制御システム、及び制御方法では、複数の機器(例えば、型や製造メーカが互いに異なる複数種類の機器)が指令を実行するタイミングの差異を吸収することができ、複数の機器の動作を同期して制御することができる。また、制御対象の機器が1台の場合では、指令を送信するタイミングと指令を実行するタイミングの差を加味して軌道指令を補正することにより機器の動作を調整して、理想の動作と実際の動作の乖離を無くすことができる。 The device, control system, and control method for equipment according to the present invention can absorb differences in the timing at which multiple equipment (e.g., multiple types of equipment of different models or manufacturers) execute commands, and can control the operation of multiple equipment in a synchronized manner. Furthermore, when there is only one equipment to be controlled, the operation of the equipment can be adjusted by correcting the trajectory command taking into account the difference between the timing at which the command is sent and the timing at which the command is executed, thereby eliminating the discrepancy between ideal operation and actual operation.
本発明によると、例えば1つ以上の機器を制御する生産ラインや産業システムにおいて、内部動作や設定を変更できず調整が困難な機器が存在していても、機器の動作を同期させたり調整したりすることができ、複雑な生産工程や、高精度かつ高効率な生産を実現させることができる。 According to the present invention, even if there is equipment in a production line or industrial system that controls one or more devices, whose internal operations or settings cannot be changed and are difficult to adjust, it is possible to synchronize and adjust the operation of the equipment, thereby realizing complex production processes and highly accurate and efficient production.
以下、本発明の実施例による、機器の制御装置、機器の制御システム、及び機器の制御方法を、図面を用いて説明する。本発明において、制御対象の機器には、ロボット(例えば、産業用ロボット)、自律走行車両、及びベルトコンベアなどの装置が含まれる。以下の実施例では、制御対象の機器として、複数のロボットを例示する。但し、本発明は、制御対象の機器(以下の実施例ではロボット)が1つの場合にも適用することができる。 The following describes an equipment control device, an equipment control system, and an equipment control method according to an embodiment of the present invention, with reference to the drawings. In the present invention, the equipment to be controlled includes devices such as robots (e.g., industrial robots), autonomous vehicles, and conveyor belts. In the following embodiment, multiple robots are exemplified as the equipment to be controlled. However, the present invention can also be applied to the case where there is only one equipment to be controlled (a robot in the following embodiment).
なお、本明細書で用いる図面において、同一のまたは対応する構成要素には同一の符号を付け、これらの構成要素については繰り返しの説明を省略する場合がある。 In the drawings used in this specification, the same or corresponding components are designated by the same reference numerals, and repeated explanations of these components may be omitted.
本発明の実施例1による、機器の制御装置、機器の制御システム、及び機器の制御方法を、図1から図7を参照して説明する。 The device control device, device control system, and device control method according to the first embodiment of the present invention will be described with reference to Figures 1 to 7.
図1は、本実施例による制御装置101の機能ブロック図である。本実施例による制御装置101は、主要な構成として、指令生成部102と、指令補正部103と、周期計算部104と、位相計算部105と、指令実行時間差取得部106と、通信部107a~107cを備え、ロボットコントローラ108a~108cを介して複数のロボット109a~109cを制御する。図1には、一例として、制御装置101が、3台のロボット109a~109cを制御する例を示している。
Figure 1 is a functional block diagram of a
ロボットコントローラ108a~108cは、制御装置101に接続されるとともに、それぞれロボット109a~109cに接続され、制御装置101からの指令に従ってロボット109a~109cを制御する。ロボットコントローラ108a~108cは、制御装置101からの指令を、それぞれロボット109a~109cに送信する。
The
ロボット109a~109cは、制御装置101の制御対象の機器であり、それぞれロボットコントローラ108a~108cを介して制御装置101から送信された指令を周期的に実行する。例えば、ロボット109a~109cは、制御装置101からの指令に従って、それぞれロボット109a~109cが備える関節(軸)を駆動させる。なお、以下の説明では、ロボット109a、ロボット109b、及びロボット109cを、それぞれロボットA、ロボットB、及びロボットCと呼ぶこともある。
The
指令生成部102は、ロボット109a~109cに対する指令を生成する。指令生成部102は、ロボット109a~109cが実行すべき動作に基づいて、指令を生成する。ロボット109a~109cが実行すべき動作は、例えば、ユーザに指示された動作であり、外部から入力され、制御装置101に保存されている。
The
指令補正部103は、指令生成部102が生成した指令を、ロボット109a~109cの周期と位相に応じて補正する。ロボット109a~109cの周期と位相とは、ロボット109a~109cがそれぞれ指令を実行する周期と位相のことである。
The
周期計算部104は、各ロボット109a~109cが指令を実行する周期である指令実行周期Tを算出する。指令実行周期Tの算出には、制御装置101が各ロボット109a~109cへ指令を送信してから各ロボット109a~109cが指令を実行するまでの時間差(後述する指令実行時間差Δt)を用いる。
The
位相計算部105は、各ロボット109a~109cの指令実行周期Tの基準点(始点)である位相αを算出する。位相αの算出には、後述する指令実行時間差Δtを用いる。位相αは、ロボット109a~109cが指令を実行する開始時点を定める。
The
指令実行時間差取得部106は、制御装置101がロボット109a~109cへ指令を送信してから各ロボット109a~109cが指令を実行するまでの時間差である指令実行時間差Δtを取得する。
The command execution time
通信部107a~107cは、ロボットコントローラ108a~108cを介してロボット109a~109cと通信可能である。通信部107a~107cは、それぞれロボットコントローラ108a~108cに接続され、ロボットコントローラ108a~108cと通信することで、ロボット109a~109cへ指令を送信したり、ロボット109a~109cから情報を受信したりする。通信部107a~107cは、ロボット109a~109c以外の任意の外部装置に対しても、指令や情報を送受信することができる。
The
通信部107a~107cの数は、制御装置101が通信する機器や装置の数に応じて定められる。また、ロボットコントローラ108a~108cの数は、制御装置101が制御するロボットの数に応じて定められる。
The number of
本実施例による、機器の制御システムは、制御装置101と、ロボットコントローラ108a~108cと、ロボット109a~109cを備える。ロボット109a~109cは、ロボットコントローラ108a~108cを介して、制御装置101の通信部107a~107cと通信可能であり、制御装置101に制御される。
The device control system according to this embodiment includes a
図2は、指令生成部102の動作フローの例を示す図である。図2を用いて、指令生成部102の動作を説明する。
Figure 2 is a diagram showing an example of the operation flow of the
S201で、指令生成部102は、指令(軌道指令)を生成する対象のロボットとロボットの軸(関節)を選択する。指令生成部102は、ロボット109a~109cのうち、任意のロボットを選択することができ、選択したロボットの任意の軸を選択することができる。以下では、指令を生成する対象のロボット(S201で選択したロボット)を「対象ロボット」と呼ぶ。
In S201, the
S202で、指令生成部102は、選択したロボットの軸について、対象ロボットの次に実行すべき動作に従い、現在時刻における軸の軌道指令を生成する。
At S202, the
S203で、指令生成部102は、対象ロボットの全ての軸について、軌道指令の生成が完了したか確認する。対象ロボットの全ての軸について軌道指令の生成が完了していない場合には、S204の処理を実行し、完了している場合には、S205の処理を実行する。
In S203, the
S204で、指令生成部102は、対象ロボットの、次に軌道指令を生成する軸を選択する。S204の処理を実行したら、S202の処理に戻る。
In S204, the
S205で、指令生成部102は、全てのロボット109a~109cについて、軌道指令の生成が完了したか確認する。全てのロボット109a~109cについて、軌道指令の生成が完了していない場合には、S206の処理を実行する。
In S205, the
S206で、指令生成部102は、次に軌道指令を生成する対象のロボット(次の対象ロボット)を選択する。S206の処理を実行したら、S202の処理に戻る。
In S206, the
S205で、指令生成部102は、全てのロボット109a~109cについて軌道指令の生成が完了していると判断した場合には、動作を終了する。
In S205, if the
図3は、指令補正部103の動作フローの例を示す図である。図3を用いて、指令補正部103の動作を説明する。
Figure 3 is a diagram showing an example of the operation flow of the
S301で、指令補正部103は、指令(軌道指令)を補正する対象のロボットとロボットの軸(関節)を選択する。指令補正部103は、ロボット109a~109cのうち、任意のロボットを選択することができ、選択したロボットの任意の軸を選択することができる。以下では、指令を補正する対象のロボット(S301で選択したロボット)を「対象ロボット」と呼ぶ。
In S301, the
S302で、指令補正部103は、対象ロボットについて指令実行周期Tと位相αを取得する。指令実行周期Tと位相αは、それぞれ周期計算部104と位相計算部105が算出する。
In S302, the
S303で、指令補正部103は、対象ロボットが指令を実行するタイミング(指令実行タイミング)に合わせて軌道指令を補正する。指令補正部103は、例えば、時刻についての軌道指令の値を時刻について補間して、次の指令実行タイミングでの軌道指令の値を求める。そして、指令補正部103は、求めた、次の指令実行タイミングでの軌道指令の値を軌道指令(補正後の軌道指令)とすることで、軌道指令を補正する。
In S303, the
対象ロボットの次の指令実行タイミングは、対象ロボットの指令実行周期Tと位相αから求めることができる。従って、指令補正部103は、対象ロボットについて、指令を実行する周期である指令実行周期Tと指令を実行する基準点(始点)である位相αがわかると、次の指令実行タイミングを算出することができる。
The next command execution timing of the target robot can be obtained from the command execution period T and phase α of the target robot. Therefore, once the command execution period T, which is the period for executing commands, and the phase α, which is the reference point (starting point) for executing commands, are known for the target robot, the
S304で、指令補正部103は、対象ロボットの全ての軸について、軌道指令の補正が完了したか確認する。対象ロボットの全ての軸について軌道指令の補正が完了していない場合には、S305の処理を実行し、完了している場合には、S306の処理を実行する。
In S304, the
S305で、指令補正部103は、対象ロボットの、次に軌道指令を補正する軸を選択する。S305の処理を実行したら、S303の処理に戻る。
In S305, the
S306で、指令補正部103は、全てのロボット109a~109cについて、軌道指令の補正が完了したか確認する。全てのロボット109a~109cについて、軌道指令の補正が完了していない場合には、S307の処理を実行する。
In S306, the
S307で、指令補正部103は、次に軌道指令を補正するロボット(次の対象ロボット)を選択する。S307の処理を実行したら、S302の処理に戻る。
In S307, the
S306で、指令補正部103は、全てのロボット109a~109cについて軌道指令の補正が完了していると判断した場合には、動作を終了する。
In S306, if the
図4は、周期計算部104と位相計算部105が計算するロボット109a~109cの指令実行周期Tと位相αを示すタイムチャートを示す図である。図4を用いて、指令実行周期Tと位相αについて説明する。
Figure 4 is a diagram showing a time chart showing the command execution period T and phase α of the
図4には、制御装置101がロボット109a~109cに指令を送信するタイミング(指令送信タイミングts)と、ロボット109a~109c(ロボットA~C)がそれぞれ指令を実行するタイミング(指令実行タイミングte)を示している。制御装置101は、ロボット109a~109cのそれぞれに同じタイミング(指令送信タイミングts)で指令を送信する。ロボット109aは、指令実行タイミングteAで指令を実行し、ロボット109bは、指令実行タイミングteBで指令を実行し、ロボット109cは、指令実行タイミングteCで指令を実行する。
Figure 4 shows the timing (command transmission timing ts) at which the
通信部107a~107cからロボット109a~109cへ指令を送信してから、すなわち制御装置101が指令を送信してから、ロボット109a~109cがそれぞれ指令を実行するまでの時間差(te-ts)を、指令実行時間差Δtと呼ぶ。図4では、ロボット109aの指令実行時間差ΔtをΔtA(=teA-ts)で示し、ロボット109bの指令実行時間差ΔtをΔtB(=teB-ts)で示し、ロボット109cの指令実行時間差ΔtをΔtC(=teC-ts)で示している。
The time difference (te-ts) between when a command is sent from the
図4には、一例として、ロボット109b、109c(ロボットB、C)のそれぞれの指令実行周期Tb、Tcと、ロボット109a、109b(ロボットA、B)のそれぞれの位相αa、αbを示している。指令実行周期Tは、ロボット109a~109cが連続する2つの指令を実行する時間間隔である。位相αは、ロボット109a~109cの指令実行周期Tの基準点(始点)である。
As an example, FIG. 4 shows the command execution periods Tb and Tc of
図4に示すように、制御装置101がロボット109a~109cのそれぞれに同じタイミング(指令送信タイミングts)で軌道指令を送信しても、ロボット109a~109cは、受信した指令を実行するタイミング(指令実行タイミングteA~teC)が互いに異なっている。
As shown in FIG. 4, even if the
ロボット109a~109cは、制御装置101からの指令を受信し、一定時間ごとに軌道指令を実行する。この一定時間(時間間隔)が指令実行周期Tである。
The
また、ロボット109a~109cは、指令実行周期Tが互いに同じでも、指令実行タイミングteが互いに異なっていることがある。これは、ロボット109a~109cにおいて、それぞれの指令実行周期Tの始点が互いに異なっているためである。この指令実行周期Tの始点が位相αである。
In addition, even if the
指令補正部103は、ロボット109a~109cのそれぞれに対して、指令実行周期Tと位相αを用いて次の指令実行タイミングteを算出し、指令生成部102が生成した軌道指令を、算出した次の指令実行タイミングteにおいて実行すべき軌道指令に補正する。指令補正部103は、指令を実行する時間間隔である指令実行周期Tと、指令実行周期Tの始点である位相αとから、次の指令実行タイミングteを算出することができる。
The
なお、周期計算部104と位相計算部105は、制御装置101のキャリブレーションの期間で、各ロボット109a~109c(ロボットA~C)の指令実行周期Tと位相αを取得する。指令補正部103は、制御装置101がロボット109a~109cを制御するロボット制御の期間で、指令生成部102が生成した指令を補正する。
The
図5は、指令補正部103により補正される軌道指令と、指令補正部103が補正した軌道指令の一例を示す図である。図5を用いて、指令補正部103が指令を補正する処理を説明する。指令補正部103は、図3のS303の処理で、対象ロボットの次の指令実行タイミングに合わせて、指令を補正する。
Fig. 5 is a diagram showing an example of a trajectory command corrected by the
図5の左の表は、指令補正部103により補正される軌道指令の例を示している。この軌道指令は、指令生成部102が生成した指令であり、例えば、時刻(基準時刻t0からの時刻)についての軸の位置を示す値で表される。図5には、一例として、ロボット109a(ロボットA)の軸1と軸2と、ロボット109c(ロボットC)の軸10について、それぞれの時刻における角度位置(予め定めた基準位置からの角度)を示している。例えば、ロボットAの軸1は、時刻10msでは20度の位置にあり、時刻20msでは10度の位置にあるという軌道指令の例を、図5の左の表に示している。
The table on the left of FIG. 5 shows an example of a trajectory command corrected by the
図5の右の表は、指令補正部103が補正した軌道指令の例を示している。図5には、一例として、ロボットAの軸1と軸2と軸10について、時刻12msにおける角度位置を示している。例えば、ロボットAの軸1は、時刻12msでは18度の位置にあるというように補正された軌道指令の例を、図5の右の表に示している。なお、時刻12msは、次の指令実行タイミングteの例であり、例えば、位相αが基準時刻t0から4msであり、指令実行周期Tが8msである場合に、位相αと指令実行周期Tの和(=4ms+8ms)として得られる。
The table on the right of FIG. 5 shows an example of a trajectory command corrected by the
指令補正部103は、例えば、指令生成部102が生成した指令の値を時刻について補間することで、指令生成部102が生成した指令を補正する。指令補正部103は、上述したように、指令実行周期Tと位相αを用いて、次の指令実行タイミングteを算出する。指令補正部103は、次の指令実行タイミングteから、指令生成部102が生成した指令のうちどの2つの時刻(図5の例では時刻10msと20ms)の指令を補間し、どの時刻(図5の例では時刻12ms)における指令(角度位置)を求めるかを決めることができる。すなわち、指令補正部103は、次に実行する動作の指令について、その指令の指令実行タイミングteを指令実行周期Tと位相αを用いて導出し、指令実行タイミングteからその指令がどの2つの時刻の間にあるかを求め、求めた2つの時刻の指令を時刻について補間することで、指令を補正する。
The
指令補正部103は、例えば線形補間やスプライン補間などの任意の補間方法を用いて、指令の値を時刻について補間することで指令を補正し、補正された指令を求めることができる。
The
既に述べたように、ロボット109a~109cは、指令送信タイミングtsが同じでも、指令実行タイミングteA~teCが互いに異なる。ロボット109a~109cにおいて、指令実行タイミングteA~teCを同期させること(一致させること)は、一般に困難である。
As already mentioned, even if the
本実施例では、次の指令実行タイミングteA~teCに合わせて指令を補正することで、指令実行タイミングteA~teCを同期させるのではなく、ロボット109a~109cの動作を同期させる。このため、ロボット109a~109cは、指令実行タイミングteA~teCが互いに異なっていても、互いに一致した動作を実行することができ、動作を同期させることができる。この指令の補正は、ロボット109a~109cの指令実行タイミングteA~teCを基にした補正であるので、ロボット109a~109cの指令実行タイミングteA~teCの差が考慮されており、ロボット109a~109cの動作を同期させることができる補正である。
In this embodiment, the command is corrected to match the next command execution timing teA to teC, so that the operation of the
図6は、指令実行時間差Δtと指令実行周期Tと位相αを計算する際に用いる要素を示すタイムチャートを示す図である。図6を用いて、指令実行時間差Δtと、指令実行周期Tと位相αの算出方法について説明する。指令実行時間差Δtは、指令実行時間差取得部106が算出し、指令実行周期Tは、周期計算部104が算出し、位相αは、位相計算部105が算出する。
Figure 6 is a diagram showing a time chart showing elements used when calculating the command execution time difference Δt, the command execution period T, and the phase α. Using Figure 6, the calculation method of the command execution time difference Δt, the command execution period T, and the phase α will be explained. The command execution time difference Δt is calculated by the command execution time
図6には、一例として、ロボット109a(ロボットA)について、指令実行周期Ta、位相αa、指令実行タイミングteA、及び指令実行時間差ΔtAを示している。制御装置101は、ロボット109a~109cに周期的に指令を送信する。制御装置101が1回目に指令を送信してからロボット109a~109cが指令を実行するまでの時間差を指令実行時間差Δt_1と表し、制御装置101が2回目に指令を送信してからロボット109a~109cが指令を実行するまでの時間差を指令実行時間差Δt_2と表す。図6では、ロボット109aについての指令実行時間差Δt_1と指令実行時間差Δt_2が、指令実行時間差ΔtA_1と指令実行時間差ΔtA_2としてそれぞれ表されている。
As an example, FIG. 6 shows the command execution period Ta, phase αa, command execution timing teA, and command execution time difference ΔtA for
指令実行時間差取得部106は、制御装置101がロボット109a~109cへ指令を送信してから、ロボット109a~109cがそれぞれ指令を実行するまでの時間を取得する。具体的には、指令実行時間差取得部106は、通信部107a~107cから、制御装置101が指令を送信した時刻(指令送信タイミングts)と、ロボット109a~109cが指令を実行した時刻(指令実行タイミングte)を受信し記録する。そして、指令実行時間差取得部106は、これらの時刻の差から指令実行時間差Δt(=te-ts)を算出し、指令実行時間差Δtを周期計算部104と位相計算部105へ出力する。
The command execution time
さらに、図6には、制御装置101がロボット109a~109cに指令を送信する周期(指令送信周期command_period)と、予め任意に定めた基準時刻t0と制御装置101の指令送信タイミングtsとの差(指令送信時間差command_diff)を示している。
Furthermore, FIG. 6 shows the period (command transmission period command_period) at which the
周期計算部104は、例えば、指令送信周期command_periodと指令実行時間差Δt_1と指令実行時間差Δt_2を用いて下記の式(1)に従い、各ロボット109a~109cの指令実行周期Tを算出する。
The
指令実行周期T= command_period
-(Δt_1%(command_period×(Δt_1/command_period)))
+Δt_2 (1)
なお、式(1)は、変数を整数で表した場合(整数型変数で演算をする場合)の例であり、演算子「/」は、商の小数点以下を切り捨てる除算を表し、演算子「%」は、除算の剰余を求める演算を表している。
Command execution period T = command_period
-(Δt_1%(command_period×(Δt_1/command_period)))
+Δt_2 (1)
Note that formula (1) is an example where variables are expressed as integers (when performing an operation with integer type variables), the operator "/" represents division that truncates the quotient to the nearest integer, and the operator ""%" represents an operation to find the remainder of a division.
式(1)は、サンプリングに用いる指令送信周期command_periodに対して指令実行周期Tが倍以上異なる場合を加味して構成されており、指令実行時間差Δt_1を指令送信周期command_periodで割った剰余を用いている。なお、制御装置101は、2回目の指令を、指令実行タイミングteが返ってきてから、指令実行周期Tに従って送信する。なお、式(1)において、演算子「/」と「%」で表される演算の分母となる値が0になる場合には、エラーの発生を避けるため、この演算を削除するか分母となる値を1に置き換えた式で計算する。
Equation (1) is constructed taking into account the case where the command execution period T differs by more than double the command transmission period command_period used for sampling, and uses the remainder obtained by dividing the command execution time difference Δt_1 by the command transmission period command_period. Note that the
位相計算部105は、例えば指令送信時間差command_diffと指令実行時間差Δt_1と指令実行周期Tを用いて下記の式(2)に従い、各ロボット109a~109cの位相αを算出する。
The
位相α=(command_diff+Δt_1)%T (2)
式(2)は、式(1)と同様に、変数を整数で表した場合の例であり、演算子「%」は、除算の剰余を求める演算を表している。
Phase α = (command_diff + Δt_1)% T (2)
Like equation (1), equation (2) is an example in which variables are expressed as integers, and the operator "%" represents an operation to obtain a remainder of division.
位相αは、指令実行周期Tを用いて算出される。位相計算部105は、周期計算部104が算出した指令実行周期Tを入力して、位相αを算出してもよい。式(2)において、演算子「%」で表される演算の分母となる値が0になる場合には、この演算を削除するか分母となる値を1に置き換えた式で計算する。
The phase α is calculated using the command execution period T. The
なお、図5の右の表に示した、補正された軌道指令(時刻12msでの軌道指令)は、command_diffが0msであってcommand_periodが10msである場合の例であり、時刻が(command_diff+command_period)以降の指令実行タイミングteは、位相α(4ms)と指令実行周期T(8ms)の和となる。すなわち、時刻が10ms以降の指令実行タイミングteは、時刻12msである。従って、次の指令実行タイミングteは、制御装置101がロボット109a(ロボットA)に指令を送信するタイミング(10ms)から2ms後のタイミング(12ms)である。
The corrected trajectory command (trajectory command at time 12 ms) shown in the table on the right of Figure 5 is an example in which command_diff is 0 ms and command_period is 10 ms, and the command execution timing te after the time (command_diff + command_period) is the sum of the phase α (4 ms) and the command execution period T (8 ms). In other words, the command execution timing te after the
図7は、図1に示した通信部107a~107cの動作フローの例を示す図である。図7を用いて、通信部107a~107cの動作を説明する。
Figure 7 is a diagram showing an example of the operation flow of the
通信部107a~107cは、ロボットコントローラ108a~108cを介してロボット109a~109cと通信可能であり、ロボット109a~109cへの指令を制御装置101からロボットコントローラ108a~108cに送信する機能と、指令に対するロボット109a~109cの応答などの情報をロボットコントローラ108a~108cから受信する機能を備える。
The
S701で、通信部107a~107cは、通信が制御装置101からの指令の送信か否かを判断する。指令の送信である場合には、S702の処理を実行する。指令の送信でなく、応答を受信する場合には、S704の処理を実行する。
In S701, the
S702で、通信部107a~107cは、送信する指令を基にパケットを生成する。
At S702, the
S703で、通信部107a~107cは、S702で生成したパケットを送信する。
In S703, the
S704で、通信部107a~107cは、ロボットコントローラ108a~108cを介してロボット109a~109cから受信したパケットを取得する。
In S704, the
S705で、通信部107a~107cは、S704で取得したパケットを解析し、パケットを解析して得られた情報を指令実行時間差取得部106へ出力する。指令実行時間差取得部106は、通信部107a~107cがロボット109a~109cから得た情報を用いて指令実行時間差Δtを求めることができる。
In S705, the
指令実行時間差取得部106は、指令実行時間差Δtを求めるときに、ロボット109a~109cが指令を実行した時間(時刻)を、以下に示す方法などの任意の方法で求めることができる。
When calculating the command execution time difference Δt, the command execution time
ロボット109a~109cが指令を実行した時間は、例えば、ロボット109a~109cの動作を伴わずに、ロボット109a~109cからのメッセージを求める方法で求めることができる。この方法は、制御装置101のキャリブレーションの期間において、通信部107a~107cが、ロボット109a~109cに指令を送信してロボット109a~109cが指令を認識したことの応答(メッセージ)を受信したときを、ロボット109a~109cが指令を実行した時間とみなす方法である。ロボット109a~109cは、通信部107a~107cから指令を受信したら、指令を認識したことの応答(メッセージ)を通信部107a~107cに送信する。
The time at which the
また、ロボット109a~109cが指令を実行した時間は、例えば、ロボット109a~109cが動作の前に現在の状況をメッセージで返す方法で求めることができる。この方法は、ロボット109a~109cが動作を実行する前に、これから動作を実行するという情報や現在時刻などの任意の情報を現在の状況として送信し、通信部107a~107cがこのような情報を含むメッセージを受信したときを、ロボット109a~109cが指令を実行した時間とみなす方法である。
The time at which the
また、ロボット109a~109cが指令を実行した時間は、例えば、ロボット109a~109cが指令を受け取ってから指令を実行するまでの時間差をロボットコントローラ108a~108cが保存しておく方法や、ロボット109a~109cが指令を実行した時刻をロボットコントローラ108a~108cが記録しておく方法でも求めることができる。指令実行時間差取得部106は、ロボットコントローラ108a~108cから、ロボットコントローラ108a~108cが保存した時間差や記録した指令実行時刻を取得することで、ロボット109a~109cが指令を実行した時間を求めることができる。
The time at which the
また、指令補正部103は、1回の指令実行周期Tだけ後の指令実行タイミングteを算出してもよく、複数回の指令実行周期Tだけ後の指令実行タイミングteを算出してもよい。すなわち、指令補正部103は、1回または複数回の指令実行周期Tだけ後の指令実行タイミングteを算出し、算出したこの指令実行タイミングteでの指令の値を求めることで指令を補正することができる。なお、ロボットコントローラ108a~108cは、複数の指令実行タイミングteでの指令を受信できるように、複数の指令を保存することができるバッファを備えるのが好ましい。
The
以上説明したように、本実施例による制御装置101は、指令実行タイミングteが互いに異なる複数のロボット109a~109cに対して、ロボット109a~109cの間の指令実行タイミングteの差を吸収して、それぞれのロボット109a~109cの動作を同期させることができる。
As described above, the
また、本実施例による制御装置101は、制御対象のロボットが1台の場合にも適用可能である。制御対象のロボットが1台の場合では、指令送信タイミングtsと指令実行タイミングteの差である指令実行時間差Δtを加味して軌道指令を補正することにより、理想の動作と実際の動作の乖離を無くすことができる。
The
図8を参照して、本発明の実施例2による制御装置101について説明する。
The
図8は、本実施例による制御装置101の機能ブロック図である。本実施例による制御装置101は、実施例1による制御装置101(図1)と同様の構成を備えるが、センサ通信部802とセンサ値解析部803を備える点が実施例1による制御装置101と異なる。以下では、本実施例による制御装置101について、実施例1による制御装置101と異なる点を主に説明する。
Figure 8 is a functional block diagram of the
制御装置101の制御対象の機器であるロボット109a~109cは、センサ801を備える。センサ801は、ロボット109a~109cの各軸に設置されており、各軸の動きを記録する任意のセンサで構成することができる。
The
センサ通信部802は、ロボット109a~109cが備えるセンサ801と接続されている。センサ通信部802は、センサ801と通信し、センサ801が記録したセンサ値を取得する。
The
センサ値解析部803は、センサ通信部802からセンサ値を取得し、このセンサ値から、各ロボット109a~109cが指令を実行した時間(時刻)を解析して求め、求めた時間を指令実行時間差取得部106へ出力する。例えば、センサ値解析部803は、センサ値からロボット109a~109cの軸が動いた時刻を求め、この時刻をロボット109a~109cが指令を実行した時間とすることができる。
The sensor
本実施例による制御装置101は、ロボット109a~109cが指令実行時刻を返さない場合や、指令実行時刻の取得方法がロボット109a~109cにより異なる場合でも、より正確にロボット109a~109cが指令を実行した時間(時刻)を取得することができる。
The
図9を参照して、本発明の実施例3による制御装置101について説明する。
The
図9は、本実施例による制御装置101の機能ブロック図である。本実施例による制御装置101は、実施例1による制御装置101(図1)と同様の構成を備えるが、カメラ通信部902と画像解析部903を備える点が実施例1による制御装置101と異なる。以下では、本実施例による制御装置101について、実施例1による制御装置101と異なる点を主に説明する。
Figure 9 is a functional block diagram of the
制御装置101の制御対象の機器であるロボット109a~109cは、カメラ901により撮影される。カメラ901は、ロボット109a~109cを撮影するように設置されている。カメラ901は、ロボット109a~109cの各軸の動きを記録する任意のカメラ、例えば、1000fpsなどの高フレームレートのカメラで構成することができる。本実施例による、機器の制御システムは、カメラ901を備えることができる。
The
カメラ通信部902は、カメラ901と接続されている。カメラ通信部902は、カメラ901と通信し、カメラ901が撮影した画像の情報を取得する。
The
画像解析部903は、カメラ通信部902から画像の情報を取得し、この画像情報から、各ロボット109a~109cが指令を実行した時間(時刻)を解析して求め、求めた時間を指令実行時間差取得部106へ出力する。例えば、画像解析部903は、画像情報からロボット109a~109cの軸が動いた時刻を求め、この時刻をロボット109a~109cが指令を実行した時間とすることができる。
The
本実施例による制御装置101は、ロボット109a~109cが指令実行時刻を返さない場合や、指令実行時刻の取得方法がロボット109a~109cにより異なる場合でも、より正確にロボット109a~109cが指令を実行した時間(時刻)を取得することができる。また、軸が動いた時刻を求めるためにロボット109a~109cにセンサを取り付ける必要がないので、ロボット109a~109cの交換や修理を容易に実施できる。
The
図10と図11を参照して、本発明の実施例4による制御装置101について説明する。
The
図10は、本実施例による制御装置101の機能ブロック図である。本実施例による制御装置101は、実施例1による制御装置101(図1)と同様の構成を備えるが、算出値更新部1001を備える点が実施例1による制御装置101と異なる。以下では、本実施例による制御装置101について、実施例1による制御装置101と異なる点を主に説明する。
Figure 10 is a functional block diagram of the
図11は、算出値更新部1001の機能ブロック図である。算出値更新部1001は、周期保持部1101と、位相保持部1102と、カウンタ1103と、中央値計算部1104を備える。
Figure 11 is a functional block diagram of the calculated
周期保持部1101は、周期計算部104が算出した、各ロボット109a~109cの指令実行周期Tを保持する。周期計算部104は、制御装置101が指令を送信するたびに指令実行周期Tを算出する。周期保持部1101は、このようにして周期計算部104が複数回算出した指令実行周期T、すなわち複数の指令実行周期Tを保持している。
The
位相保持部1102は、位相計算部105が算出した、各ロボット109a~109cの位相αを保持する。位相計算部105は、制御装置101が指令を送信するたびに位相αを算出する。位相保持部1102は、このようにして位相計算部105が複数回算出した位相α、すなわち複数の位相αを保持している。
The
カウンタ1103は、周期計算部104が指令実行周期Tを算出した回数と、位相計算部105が位相αを算出した回数を記録する。すなわち、カウンタ1103は、周期保持部1101が保持する指令実行周期Tの数と、位相保持部1102が保持する位相αの数を記録する。カウンタ1103は、指令実行周期Tと位相αの数が予め定めた一定回数に到達したら、すなわち制御装置101がロボット109a~109cと予め定めた一定回数だけ通信したら、この旨の通知を中央値計算部1104へ送信し、記録した指令実行周期Tと位相αの数をクリアする。カウンタ1103は、指令実行周期Tと位相αの数が一定回数に到達するごとに、すなわち制御装置101がロボット109a~109cと一定回数だけ通信するごとに、中央値計算部1104へ上記の通知を送信する。
The
中央値計算部1104は、カウンタ1103から通知を受けたら、指令実行周期Tと位相αの中央値を算出する。すなわち、中央値計算部1104は、カウンタ1103から通知を受けたら、周期保持部1101が保持する複数の指令実行周期Tを周期保持部1101から受け取るとともに、位相保持部1102が保持する複数の位相αを位相保持部1102から受け取り、複数の指令実行周期Tの中央値と複数の位相αの中央値を算出する。そして、中央値計算部1104は、算出した指令実行周期Tの中央値と位相αの中央値を指令補正部103へ出力する。
When the
中央値計算部1104は、指令実行周期Tと位相αの両方の中央値ではなく、いずれかう一方の中央値を算出し、指令補正部103へ出力してもよい。また、中央値計算部1104は、指令実行周期Tと位相αの中央値ではなく、指令実行周期Tと位相αの平均値を算出し、指令補正部103へ出力してもよい。
The
本実施例による制御装置101では、算出値更新部1001は、制御装置101がロボット109a~109cと予め定めた一定回数だけ通信するごとに、指令実行周期Tと位相αの中央値(または平均値)を算出する。指令補正部103は、算出値更新部1001から受け取った指令実行周期Tと位相αを用いて、指令生成部102が生成した指令を補正する。すなわち、指令補正部103は、制御装置101がロボット109a~109cと予め定めた一定回数だけ通信するごとに、補正に用いる指令実行周期Tと位相αを更新することで、指令の補正値を定期的に更新する。
In the
本実施例による制御装置101は、以上説明したように指令の補正を一定の通信回数ごとに更新することで、ロボット109a~109c(またはロボットコントローラ108a~108c)のタイマに時刻のずれが生じても、ロボット109a~109cに理想通りの動作を継続的に実施させることができる。
As described above, the
なお、本発明は、上記の実施例に限定されるものではなく、様々な変形が可能である。例えば、上記の実施例は、本発明を分かりやすく説明するために詳細に説明したものであり、本発明は、必ずしも説明した全ての構成を備える態様に限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能である。また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、削除したり、他の構成を追加・置換したりすることが可能である。 The present invention is not limited to the above-mentioned examples, and various modifications are possible. For example, the above-mentioned examples have been described in detail to clearly explain the present invention, and the present invention is not necessarily limited to an embodiment that includes all of the configurations described. It is also possible to replace part of the configuration of one example with the configuration of another example. It is also possible to add the configuration of another example to the configuration of one example. It is also possible to delete part of the configuration of each example, or to add or replace other configurations.
101…制御装置、102…指令生成部、103…指令補正部、104…周期計算部、105…位相計算部、106…指令実行時間差取得部、107a~107c…通信部、108a~108c…ロボットコントローラ、109a~109c…ロボット、801…センサ、802…センサ通信部、803…センサ値解析部、901…カメラ、902…カメラ通信部、903…画像解析部、1001…算出値更新部、1101…周期保持部、1102…位相保持部、1103…カウンタ、1104…中央値計算部、t0…基準時刻、ts…指令送信タイミング、te、teA~teC…指令実行タイミング、T、Ta、Tb、Tc…指令実行周期、Δt、Δt_1、Δt_2、ΔtA、ΔtA_1、ΔtA_2、ΔtB、ΔtC…指令実行時間差、α、αa、αb…位相、command_period…指令送信周期、command_diff…指令送信時間差。 101...Control device, 102...Command generation unit, 103...Command correction unit, 104...Periodic calculation unit, 105...Phase calculation unit, 106...Command execution time difference acquisition unit, 107a to 107c...Communication unit, 108a to 108c...Robot controller, 109a to 109c...Robot, 801...Sensor, 802...Sensor communication unit, 803...Sensor value analysis unit, 901...Camera, 902...Camera communication unit, 903...Image analysis unit, 1001...Calculated value update unit, 1101...Periodic retention unit, 1102...phase holding unit, 1103...counter, 1104...median calculation unit, t0...reference time, ts...command transmission timing, te, teA to teC...command execution timing, T, Ta, Tb, Tc...command execution period, Δt, Δt_1, Δt_2, ΔtA, ΔtA_1, ΔtA_2, ΔtB, ΔtC...command execution time difference, α, αa, αb...phase, command_period...command transmission period, command_diff...command transmission time difference.
Claims (12)
前記機器に対する指令を生成する指令生成部と、
前記通信部から前記機器へ前記指令を送信してから前記機器が前記指令を実行するまでの時間差である指令実行時間差を取得する指令実行時間差取得部と、
前記指令実行時間差を用いて、前記機器が前記指令を実行する周期である指令実行周期を算出する周期計算部と、
前記指令実行時間差を用いて、前記機器の前記指令実行周期の基準点である位相を算出する位相計算部と、
前記指令実行周期と前記位相から、前記機器が前記指令を実行するタイミングである指令実行タイミングを算出し、次の前記指令実行タイミングでの指令の値を求めることで、前記指令を補正する指令補正部と、
を備えることを特徴とする、機器の制御装置。 A communication unit capable of communicating with one or more devices;
A command generating unit that generates a command for the device;
a command execution time difference acquisition unit that acquires a command execution time difference that is a time difference between when the command is transmitted from the communication unit to the device and when the device executes the command;
a period calculation unit that calculates a command execution period, which is a period during which the device executes the command, using the command execution time difference;
a phase calculation unit that calculates a phase that is a reference point of the command execution cycle of the device by using the command execution time difference;
a command correction unit that calculates a command execution timing, which is a timing at which the device executes the command, from the command execution cycle and the phase, and corrects the command by determining a command value at the next command execution timing;
A device control apparatus comprising:
請求項1に記載の、機器の制御装置。 The cycle calculation unit calculates the command execution cycle by using a command transmission cycle, which is a cycle for transmitting the command to the device, and the command execution time difference.
The device according to claim 1 .
請求項1に記載の、機器の制御装置。 the phase calculation unit calculates the phase using a command transmission time difference, which is a difference between a predetermined reference time and a time when a command is transmitted, the command execution time difference, and the command execution period.
The device according to claim 1 .
請求項1に記載の、機器の制御装置。 the command execution time difference acquisition unit, when acquiring the command execution time difference, regards a time when the message is received from the device as a time when the device executed the command;
The device according to claim 1 .
請求項1に記載の、機器の制御装置。 the command execution time difference acquisition unit, when acquiring the command execution time difference, acquires from the device a time difference between when the device receives the command and when the device executes the command, thereby determining a time at which the device executed the command.
The device according to claim 1 .
請求項1に記載の、機器の制御装置。 the command execution time difference acquisition unit, when acquiring the command execution time difference, acquires, from the device, a time when the device executed the command, thereby determining the time when the device executed the command.
The device according to claim 1 .
請求項1に記載の、機器の制御装置。 the command execution time difference acquisition unit acquires a value recorded by a sensor installed in the device when acquiring the command execution time difference, thereby determining the time when the device executed the command.
The device according to claim 1 .
請求項1に記載の、機器の制御装置。 the command execution time difference acquisition unit, when acquiring the command execution time difference, acquires information on an image captured by a camera that captures the device, thereby determining the time at which the device executed the command;
The device according to claim 1 .
請求項1に記載の、機器の制御装置。 The command correction unit updates the command execution period and the phase every time the control device communicates with the device a predetermined number of times.
The device according to claim 1 .
請求項1に記載の、機器の制御装置。 the command correction unit calculates the command execution timing a plurality of command execution cycles later, obtains a command value at the command execution timing, and corrects the command.
The device according to claim 1 .
前記制御装置に制御され、前記制御装置が備える前記通信部と通信可能な1つ以上の機器と、
を備えることを特徴とする、機器の制御システム。 The control device according to claim 1 ;
One or more devices controlled by the control device and capable of communicating with the communication unit included in the control device;
An equipment control system comprising:
前記機器に対する指令を生成する指令生成ステップと、
前記通信部から前記機器へ前記指令を送信してから前記機器が前記指令を実行するまでの時間差である指令実行時間差を取得する指令実行時間差取得ステップと、
前記指令実行時間差を用いて、前記機器が前記指令を実行する周期である指令実行周期を算出する周期計算ステップと、
前記指令実行時間差を用いて、前記機器の前記指令実行周期の基準点である位相を算出する位相計算ステップと、
前記指令実行周期と前記位相から、前記機器が前記指令を実行するタイミングである指令実行タイミングを算出し、次の前記指令実行タイミングでの指令の値を求めることで、前記指令を補正する指令補正ステップと、
を有することを特徴とする、機器の制御方法。 The method is executed by a control device having a communication unit capable of communicating with one or more devices,
A command generating step of generating a command for the device;
a command execution time difference acquisition step of acquiring a command execution time difference which is a time difference between when the command is transmitted from the communication unit to the device and when the device executes the command;
a period calculation step of calculating a command execution period, which is a period during which the device executes the command, using the command execution time difference;
a phase calculation step of calculating a phase that is a reference point of the command execution cycle of the device using the command execution time difference;
a command execution timing, which is a timing at which the device executes the command, is calculated from the command execution cycle and the phase, and a command correction step of correcting the command by determining a value of the command at the next command execution timing;
A method for controlling an apparatus, comprising:
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022009403A JP7617050B2 (en) | 2022-01-25 | 2022-01-25 | Device control device, control system, and control method |
| PCT/JP2023/000249 WO2023145410A1 (en) | 2022-01-25 | 2023-01-10 | Apparatus control device, control system, and control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022009403A JP7617050B2 (en) | 2022-01-25 | 2022-01-25 | Device control device, control system, and control method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2023108339A JP2023108339A (en) | 2023-08-04 |
| JP7617050B2 true JP7617050B2 (en) | 2025-01-17 |
Family
ID=87471222
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022009403A Active JP7617050B2 (en) | 2022-01-25 | 2022-01-25 | Device control device, control system, and control method |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP7617050B2 (en) |
| WO (1) | WO2023145410A1 (en) |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003145462A (en) | 2001-11-07 | 2003-05-20 | Kawasaki Heavy Ind Ltd | Robot cooperative control system |
| JP2005269879A (en) | 2004-02-19 | 2005-09-29 | Toshiba Corp | Control system |
| JP2007219642A (en) | 2006-02-14 | 2007-08-30 | Fanuc Ltd | Control system |
| JP2007276052A (en) | 2006-04-06 | 2007-10-25 | Sony Corp | Control system, recording system, information processing apparatus and method, program, and recording medium |
| JP2010140372A (en) | 2008-12-15 | 2010-06-24 | Mitsubishi Electric Corp | Slave device and program |
| JP2018153881A (en) | 2017-03-16 | 2018-10-04 | 株式会社安川電機 | Control system, controller and control method |
| US20190339660A1 (en) | 2016-02-29 | 2019-11-07 | Beijing Etechwin Electric Co., Ltd. | Synchronous control method and synchronous control system of multiple controlled components |
-
2022
- 2022-01-25 JP JP2022009403A patent/JP7617050B2/en active Active
-
2023
- 2023-01-10 WO PCT/JP2023/000249 patent/WO2023145410A1/en not_active Ceased
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003145462A (en) | 2001-11-07 | 2003-05-20 | Kawasaki Heavy Ind Ltd | Robot cooperative control system |
| JP2005269879A (en) | 2004-02-19 | 2005-09-29 | Toshiba Corp | Control system |
| JP2007219642A (en) | 2006-02-14 | 2007-08-30 | Fanuc Ltd | Control system |
| JP2007276052A (en) | 2006-04-06 | 2007-10-25 | Sony Corp | Control system, recording system, information processing apparatus and method, program, and recording medium |
| JP2010140372A (en) | 2008-12-15 | 2010-06-24 | Mitsubishi Electric Corp | Slave device and program |
| US20190339660A1 (en) | 2016-02-29 | 2019-11-07 | Beijing Etechwin Electric Co., Ltd. | Synchronous control method and synchronous control system of multiple controlled components |
| JP2018153881A (en) | 2017-03-16 | 2018-10-04 | 株式会社安川電機 | Control system, controller and control method |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2023145410A1 (en) | 2023-08-03 |
| JP2023108339A (en) | 2023-08-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11095382B2 (en) | Communication system, communication device and communication method | |
| US7525263B2 (en) | Control system | |
| EP3223093B1 (en) | Optical measurement device | |
| US20070050085A1 (en) | Robot coordinated control method and system | |
| JP6497331B2 (en) | Control device and synchronous control method | |
| JP2008531318A (en) | Synchronous controller linked by communication network | |
| US20180046169A1 (en) | Information processing system, information processing device, workpiece position identifying method, and workpiece position identifying program | |
| US10155317B2 (en) | Information processing system, information processing device, workpiece position identifying method, and workpiece position identifying program | |
| KR20160125942A (en) | Programmable controller system and controller therefor | |
| EP3361635B1 (en) | Control system and pulse output device | |
| US20200379441A1 (en) | Control device, mechanical system, and time synchronization method | |
| WO2019107022A1 (en) | Control device and control method | |
| JP6737018B2 (en) | Optical measuring device | |
| JP7470632B2 (en) | Control device | |
| JP7617050B2 (en) | Device control device, control system, and control method | |
| EP3851925B1 (en) | A synchronised control system | |
| US12199822B2 (en) | Control system, control device, and non-transitory computer-readable recording medium recording program | |
| JP6400553B2 (en) | Numerical control system with synchronous control function between units | |
| WO2021024523A1 (en) | Control device | |
| JP7844312B2 (en) | Control device and control system | |
| JP7577044B2 (en) | Control device, control system, and time synchronization method | |
| WO2024018900A1 (en) | Device control equipment, control system, and control method | |
| JP2023006307A (en) | control system | |
| JP2025162777A (en) | Sensor System | |
| JP2025162823A (en) | Sensor System |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240619 |
|
| 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: 20241224 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250106 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7617050 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |