JP7225946B2 - robot system, robot controller - Google Patents

robot system, robot controller Download PDF

Info

Publication number
JP7225946B2
JP7225946B2 JP2019043670A JP2019043670A JP7225946B2 JP 7225946 B2 JP7225946 B2 JP 7225946B2 JP 2019043670 A JP2019043670 A JP 2019043670A JP 2019043670 A JP2019043670 A JP 2019043670A JP 7225946 B2 JP7225946 B2 JP 7225946B2
Authority
JP
Japan
Prior art keywords
command value
control device
master
control
slave
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019043670A
Other languages
Japanese (ja)
Other versions
JP2020146766A (en
Inventor
慧 井手
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Wave Inc
Original Assignee
Denso Wave Inc
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 Denso Wave Inc filed Critical Denso Wave Inc
Priority to JP2019043670A priority Critical patent/JP7225946B2/en
Publication of JP2020146766A publication Critical patent/JP2020146766A/en
Application granted granted Critical
Publication of JP7225946B2 publication Critical patent/JP7225946B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Manipulator (AREA)

Description

本発明は、ロボットシステム、ロボットの制御装置に関する。 The present invention relates to a robot system and a robot controller.

ロボットの利用形態として、搬送装置によって搬送されるワークの位置の変化に追従させながら作業を行うトラッキングが知られている。このとき、搬送装置の制御もロボットの制御装置によって行うことにより、トラッキングの精度を向上させることが提案されている(例えば、特許文献1参照)。以下、ロボットの制御装置によりロボットの関節部以外の駆動軸ここでは例えば搬送装置の駆動軸を制御しながらトラッキングを行う態様を、付加軸トラッキングと称する。 As a form of use of robots, tracking is known in which a work is performed while following changes in the position of a work conveyed by a conveying device. At this time, it has been proposed to improve the accuracy of tracking by also controlling the conveying device by the control device of the robot (see, for example, Patent Document 1). Hereinafter, a mode in which tracking is performed while controlling the drive shafts of the robot other than the joints of the robot, for example, the drive shafts of the transfer device, by the controller of the robot will be referred to as additional axis tracking.

特開平10-105217号公報JP-A-10-105217

さて、付加軸トラッキングでは、搬送装置を制御する1台のマスター側のロボットの制御装置と、マスター側の制御装置から送信される指令値に基づいて動作する1台以上のスレーブ側のロボットの制御装置とを設け、複数台のロボットで作業を行うロボットシステムを構築することがある。 In additional axis tracking, one master robot controller controls the transport device, and one or more slave robot controllers operate based on command values sent from the master robot controller. In some cases, a robot system is constructed in which a device is provided and a plurality of robots perform work.

このとき、マスター側の制御装置は、搬送装置によって搬送されるワークの初期位置をスレーブ側の制御装置に通知した後、自身でもロボットを制御しつつ、搬送装置に与える指令値を生成してスレーブ側の制御装置に都度送信している。なお、搬送装置に与える指令値は、分かり易く言えば搬送装置の目標位置を示す値であり、この指令値が分かれば、搬送装置の目標位置つまりはワークが搬送される位置を推定することが可能となる。 At this time, the master-side control device notifies the slave-side control device of the initial position of the workpiece to be transferred by the transfer device, and then controls the robot itself while generating a command value to be given to the transfer device. It is sent to the control device on the side each time. To put it simply, the command value given to the conveying device is a value indicating the target position of the conveying device. If this command value is known, the target position of the conveying device, that is, the position to which the workpiece is to be conveyed can be estimated. It becomes possible.

そして、スレーブ側の制御装置は、直近に受信した指令値に基づいてワークの位置を推定し、スレーブ側のロボットをワークの移動に追従するように動作させてトラッキングを行っている。 The slave-side controller estimates the position of the work based on the most recently received command value, and performs tracking by operating the slave-side robot to follow the movement of the work.

しかし、マスター側の制御装置は、上記したように、搬送装置の制御だけではなく、ロボットの制御もしている。そして、マスター側の制御装置は、接続されている全てのスレーブ側の制御装置に対して指令値を送信する必要があるものの、接続されるスレーブ側の制御装置は必ずしも1台とは限らない。そのため、通信に要する負荷が高くなると、マスター側の制御装置がロボットの制御する際に支障をきたすおそれがある。 However, the control device on the master side controls not only the transfer device but also the robot as described above. Although the master-side control device needs to transmit command values to all connected slave-side control devices, the number of connected slave-side control devices is not necessarily one. Therefore, if the load required for communication increases, there is a risk that the control device on the master side will interfere with the control of the robot.

また、スレーブ側の制御装置においては、通信が正しく行われなかった状態で制御を行うと、最新の指令値を受け取っていないことからトラッキングの追従性が悪化するおそれがある。かといって、受信できたか否かを確認して新しい指令値を再送してもらうような処理を行う構成にすると、スレーブ側の制御装置だけでなくマスター側の制御装置の負荷も増加させてしまう。 Also, if the control device on the slave side performs control in a state in which communication has not been performed correctly, the latest command value has not been received, so there is a risk that the followability of tracking will deteriorate. On the other hand, if it is configured to check whether or not it has been received and to resend a new command value, the load on not only the slave side control device but also the master side control device will increase. .

そこで、マスター側の制御装置の負荷およびスレーブ側の制御装置の負荷を低減しつつ、且つ、スレーブ側の制御装置が単独で、通信が正しく行われたか否かの判断と、通信が正しく行われなかった場合の対処とを行うことができるロボットシステム、ロボットの制御装置を提供する。 Therefore, while reducing the load on the master-side control device and the load on the slave-side control device, the slave-side control device alone determines whether or not communication has been performed correctly, and the communication is performed correctly. To provide a robot system and a robot control device capable of coping with a case where there is no robot.

請求項1に記載した発明では、ロボットシステムは、搬送装置とロボットの動作とを一括で制御する付加軸トラッキングを行うものであって、搬送装置を制御するマスター側の制御装置と、マスター側の制御装置によって制御されるマスター側のロボットと、マスター側の制御装置と通信可能に接続されている1台以上のスレーブ側の制御装置と、スレーブ側の制御装置によってそれぞれ制御される1台以上のスレーブ側のロボットとを備えている。 In the first aspect of the invention, the robot system performs additional axis tracking for collectively controlling the movement of the transfer device and the robot. A master-side robot controlled by a controller, one or more slave-side controllers communicably connected to the master-side controller, and one or more slave-side controllers controlled by the slave-side controllers. and a robot on the slave side.

そして、マスター側の制御装置は、搬送装置に与える指令値を生成する指令値生成部と、搬送装置の速度を特定可能な速度情報を生成する速度情報生成部と、生成した指令値と速度情報とを制御情報としてUDP通信によってスレーブ側の制御装置に送信する通信部とを有している。 The control device on the master side includes a command value generation unit that generates a command value to be given to the transport device, a speed information generation unit that generates speed information capable of specifying the speed of the transport device, and the generated command value and speed information. as control information to the control device on the slave side by UDP communication.

UDP(User Datagram Protocol)を用いて通信するUDP通信は、いわゆるコネクションレス型通信であり、データそのものの信頼性は担保されないものの、データそのものの信頼性が担保されるTCP(Transmission Control Protocol)を用いて通信するTCP通信と比べると、通信に要する負荷が大きく低減される。 UDP communication that communicates using UDP (User Datagram Protocol) is so-called connectionless communication, and although the reliability of the data itself is not guaranteed, TCP (Transmission Control Protocol) is used to ensure the reliability of the data itself. The load required for communication is greatly reduced compared to TCP communication in which communication is performed using

そのため、スレーブ側の制御装置に対して繰り返し送信する必要がある制御情報をUDP通信で行うことにより、トラッキング時の通信負荷を低減しつつ、1対多の通信が可能となる。
ただし、UDP通信ではデータの信頼性が担保されないため、そのままロボットの制御に用いることは困難である。また、UDP通信では、通信が正しく行われたことの保証や確認がトランスポート層では行われないため、直近のUDP通信が正しく行われた場合には、その際に受信した指令値が最新の指令値として記憶される一方、UDP通信が正しく行われず新しい指令値が受信されていない場合でも、既に受信していた過去の指令値が、そのまま最新の指令値として扱われる。
Therefore, one-to-many communication becomes possible while reducing the communication load at the time of tracking by performing UDP communication for the control information that needs to be repeatedly transmitted to the control device on the slave side.
However, since UDP communication does not guarantee data reliability, it is difficult to directly use it for robot control. In addition, in UDP communication, since the transport layer does not guarantee or confirm that the communication was performed correctly, if the most recent UDP communication was performed correctly, the command value received at that time will be the latest. While stored as a command value, even when UDP communication is not performed correctly and a new command value is not received, the past command value already received is treated as the latest command value as it is.

つまり、UDP通信が正しく行われなかった場合には、最新の指令値が更新されることがなく、スレーブ側の制御装置は、UDP通信が正しく行われなかった場合には、前回の制御時と同じ指令値を用いてスレーブ側のロボットを制御することになる。なお、それ以降にUDP通信が正しく行われた場合には、最新の指令値は更新されるため、スレーブ側の制御装置は、正しい最新の指令値に基づいて制御することになる。 In other words, if the UDP communication is not performed correctly, the latest command value is not updated, and if the UDP communication is not performed correctly, the control device on the slave side will not be able to perform the previous control. The same command value is used to control the robot on the slave side. If the UDP communication is performed correctly after that, the latest command value will be updated, so the control device on the slave side will perform control based on the correct latest command value.

ただし、マスター側の制御装置から送信される指令値は、上記したように搬送装置の目標位置を示す値であるため、指令値が前回と同じであるということは、搬送装置の目標位置が前回と同じ状態、つまりは、搬送装置が停止している状態を意味することになる。 However, since the command value transmitted from the control device on the master side is a value indicating the target position of the transport device as described above, the fact that the command value is the same as the previous time means that the target position of the transport device is the same as the previous time. This means the same state as , that is, the state in which the conveying device is stopped.

その場合、スレーブ側の制御装置は、搬送装置が停止していると判断して、ロボットを減速または停止させるような制御を行うことになる。そして、スレーブ側の制御装置は、それ以降にUDP通信が正しく行われて最新の指令値が更新されたときには、更新された目標位置に移動させるために、減速または停止したロボットを高速に動作させることになる。 In this case, the slave-side control device determines that the transfer device is stopped, and performs control to decelerate or stop the robot. After that, when the UDP communication is correctly performed and the latest command value is updated, the slave-side control device operates the decelerated or stopped robot at high speed in order to move it to the updated target position. It will be.

このように、通信の負荷を低減するためにUDP通信を採用した場合には、スレーブ側のロボットの速度が不連続的に変化するといった問題を引き起こすおそれがある。このとき、UDP通信の成否をマスター側の制御装置に問い合わせたり再送を要求したりすることは、結果的にマスター側の制御装置およびスレーブ側の制御装置の負荷を増加させることになるため、負荷を低減するためにUDP通信を採用するという主旨に反することになる。 Thus, when UDP communication is adopted to reduce the communication load, there is a risk that the speed of the slave-side robot will change discontinuously. At this time, inquiring the master side control device about the success or failure of UDP communication or requesting retransmission results in an increase in the load on the master side control device and the slave side control device. This goes against the gist of adopting UDP communication in order to reduce

そのため、スレーブ側の制御装置には、マスター側の制御装置から送信された制御情報を受信する通信部と、前回の制御に用いた制御情報を記憶する記憶部と、マスター側の制御装置との間のUDP通信が正しく行われたか否かを判定する判定部と、判定部によってマスター側の制御装置との間のUDP通信が正しく行われなかったと判定された場合に、今回の制御に用いる指令値を補正する補正部とを備えている。 Therefore, the slave-side control device includes a communication unit that receives control information transmitted from the master-side control device, a storage unit that stores control information used in the previous control, and a master-side control device. and a determination unit that determines whether UDP communication between the controller and the master side control device was not performed correctly. and a correction unit for correcting the value.

そして、判定部は、今回の制御に用いる指令値と前回の制御に用いた指令値とが一致する場合であって、且つ、今回の制御に用いる搬送装置の速度が所定の基準値を超えている場合に、マスター側の制御装置との間のUDP通信が正しく行われなかったと判定する。 Then, the determining unit determines that the command value used in the current control matches the command value used in the previous control, and the speed of the conveying device used in the current control exceeds a predetermined reference value. If so, it is determined that the UDP communication with the control device on the master side has not been performed correctly.

搬送装置の指令値は、上記したように搬送装置の目標位置を示すデータである。そのため、今回の制御に用いる指令値が記憶部に記憶されている前回の指令値と一致する状態は、目標位置が前回と同じ状態つまりは搬送装置が停止している状態を意味することになる。ただし、仮に今回の指令値と前回の指令値が一致していたとしても、緊急停止等により実際に搬送装置を停止させることもあり、それだけではUDP通信が正しく行われなかったと判定することはできない。 The command value for the transport device is data indicating the target position of the transport device as described above. Therefore, a state in which the command value used in the current control matches the previous command value stored in the storage unit means that the target position is the same as the previous state, that is, the conveying device is stopped. . However, even if the current command value and the previous command value match, the transportation device may actually be stopped due to an emergency stop, etc., and it cannot be determined that the UDP communication was not performed correctly based on this alone. .

そこで、判定部は、搬送装置の速度を用いて、UDP通信が正しく行われなかったことの正否を判断する。これは、数ミリ秒といった制御周期でいきなり搬送装置の速度が零になるとは考えにくいため、今回の指令値と前回の指令値が一致している場合であって、且つ、搬送装置の速度が基準値を超えている場合には、それは、指令値が更新されていない状態すなわちUDP通信が正しく行われなかった状態であると判定できるためである。 Therefore, the determining unit uses the speed of the conveying device to determine whether the UDP communication was not performed correctly. This is because it is difficult to imagine that the speed of the transport device suddenly becomes zero in a control cycle of several milliseconds. This is because if the reference value is exceeded, it can be determined that the command value has not been updated, that is, the UDP communication has not been performed correctly.

そして、補正部は、UDP通信が正しく行われなかったと判定された場合には、今回の制御に用いる指令値を、搬送装置の速度と制御周期とを乗じた値を加えた値に補正する。つまり、補正部は、UDP通信が失敗した場合には、指令値を、搬送装置の速度から推定される値に補正する。 Then, when it is determined that the UDP communication has not been performed correctly, the correction unit corrects the command value used for the current control to a value obtained by multiplying the speed of the conveying device by the control cycle. In other words, the correction unit corrects the command value to a value estimated from the speed of the conveying device when the UDP communication fails.

これにより、UDP通信が失敗した場合であっても、実際には停止していない搬送装置の移動つまりはワークの移動に追従させてスレーブ側のロボットの動作を制御することが可能となる。つまり、トラッキングの追従性を向上させることができるようになる。 As a result, even if the UDP communication fails, it is possible to control the movement of the robot on the slave side by following the movement of the conveying device, that is, the movement of the workpiece, which is not actually stopped. That is, it becomes possible to improve the followability of tracking.

ところで、搬送装置の指令値と速度情報とを制御情報として送信すること、より詳細に言えば、指令値とともに送信するデータとして速度情報を選択したことには、以下に述べるように重要な技術的意義が存在している。 By the way, the transmission of the command value and speed information of the conveying device as control information, more specifically, the selection of the speed information as the data to be transmitted together with the command value has important technical implications as described below. meaning exists.

まず、速度情報は、マスター側の制御装置の制御で元々用いられているデータであり、新たな処理をすることなく得られるデータである。そして、速度情報は、それ1つで、上記したようにスレーブ側の制御装置が単独でUDP通信が正しく行われたか否かの判定と、UDP通信が正しく行われなかった場合の対処とを行うことができるようになるでーたでもある。 First, the speed information is data that is originally used for control by the control device on the master side, and is data that is obtained without new processing. With only one piece of speed information, the control device on the slave side independently determines whether or not the UDP communication has been performed correctly, and handles the case where the UDP communication has not been performed correctly. I will be able to do it.

そのため、速度情報という1つのデータを加えて制御情報を送信すれば、仮にUDP通信が正しく行われなかったとしても、再送等の処理を行うことなく、スレーブ側の制御装置だけで補正を行うことができることから、マスター側の制御装置の処理の負荷や通信の負荷を増加させることがない。このため、ロボットシステムでは、ロボットを制御するための各種のパラメータのうち、制御情報として送信するデータに、速度情報を選択している。 Therefore, if control information is transmitted with one piece of speed information added, even if UDP communication is not performed correctly, correction can be performed only by the control device on the slave side without performing processing such as retransmission. Therefore, the processing load and communication load of the control device on the master side are not increased. Therefore, in the robot system, among various parameters for controlling the robot, speed information is selected as data to be transmitted as control information.

このような構成により、ロボットシステムは、マスター側の制御装置の負荷およびスレーブ側の制御装置の負荷を低減しつつ、且つ、スレーブ側の制御装置が単独で、UDP通信が正しく行われたか否かの判断と、UDP通信が正しく行われなかった場合の対処とを行うことができる。 With such a configuration, the robot system can reduce the load on the master-side control device and the load on the slave-side control device, and the slave-side control device alone can determine whether UDP communication has been performed correctly. can be determined and a countermeasure can be taken when the UDP communication is not performed correctly.

このとき、ロボットシステムは、仮にスレーブ側の制御装置の数が増減してもマスター側の制御装置の処理は基本的には変わらないことから、システム設計の自由度の向上や拡張性の確保を図ることもできる。 At this time, even if the number of slave-side controllers increases or decreases, the robot system basically does not change the processing of the master-side controller. You can also plan.

請求項2に記載した発明では、ロボットシステムでは、判定部は、基準値を零に設定する。これにより、実際の搬送装置が移動しているか否かの判断を容易に行うことができる。したがって、スレーブ側制御装置の負荷が過度に増加することを抑制できる。 According to the second aspect of the present invention, in the robot system, the determination section sets the reference value to zero. This makes it possible to easily determine whether or not the transport device is actually moving. Therefore, an excessive increase in the load on the slave-side control device can be suppressed.

請求項3に記載した発明では、記憶部は、制御に用いた複数の速度情報を履歴として記憶し、補正部は、記憶部に記憶されている履歴から搬送装置の速度の変化傾向を求め、当該速度の変化傾向を加味して指令値を補正する。例えば、搬送装置の速度が増加傾向にあった場合には1より大きな係数を掛けて補正し、搬送装置の速度が減少傾向にある場合には1より小さな係数を掛けて補正することに、搬送装置の実際の速度変化に対応させて補正を行うことができ、トラッキング時の追従性をより向上させることができる。 In the invention recited in claim 3, the storage unit stores a plurality of pieces of speed information used for control as a history, the correction unit obtains the trend of change in the speed of the conveying device from the history stored in the storage unit, The command value is corrected in consideration of the change tendency of the speed. For example, when the speed of the transport device tends to increase, it is corrected by multiplying by a coefficient larger than 1, and when the speed of the transport device tends to decrease, it is corrected by multiplying by a coefficient smaller than 1. Correction can be performed in correspondence with the actual speed change of the device, and follow-up performance during tracking can be further improved.

請求項4に記載した発明では、マスター側の制御装置の速度情報生成部は、搬送装置の駆動軸に今回送る指令値をパルス値に変換した値と、前回送った指令値をパルス値に変換した値との差分であるパルス差分値を、速度情報として送信する。このパルス差分値は、マスター側の制御装置の制御で用いられるデータであり、新たな処理をすることなく得られる値である。また、パルス差分値は、整数として得られるデータであるため、小数点を含む速度そのものを送信する場合に比べて、送信時に必要なデータ量を削減することができる。したがって、通信の負荷をさらに低減することができる。 In the fourth aspect of the invention, the speed information generator of the control device on the master side converts the command value sent this time to the drive shaft of the conveying device into a pulse value and the command value sent last time into a pulse value. A pulse difference value, which is the difference from the value obtained by the measurement, is transmitted as speed information. This pulse difference value is data used in the control of the control device on the master side, and is a value obtained without performing new processing. Also, since the pulse difference value is data obtained as an integer, the amount of data required for transmission can be reduced compared to the case where the speed itself including the decimal point is transmitted. Therefore, the communication load can be further reduced.

請求項5に記載した発明では、スレーブ側の制御装置は、搬送装置とロボットの動作とを一括で制御する付加軸トラッキングを行うロボットシステムにおいて、搬送装置を制御するマスター側の制御装置から送信された制御情報に基づいて動作するものであって、上記した通信部と、記憶部と、判定部と、補正部と、を有している。 According to the fifth aspect of the present invention, in a robot system that performs additional axis tracking for collectively controlling the operation of the transfer device and the robot, the slave-side control device receives signals from the master-side control device that controls the transfer device. It operates based on the control information, and has the above-described communication unit, storage unit, determination unit, and correction unit.

このようなロボットの制御装置によっても、マスター側の制御装置の負荷およびスレーブ側の制御装置の負荷を低減しつつ、且つ、スレーブ側の制御装置が単独で、UDP通信が正しく行われたか否かの判断と、UDP通信が正しく行われなかった場合の対処とを行うことができるなど、上記したロボットシステムと同様の効果を得ることができる。 Even with such a robot control device, while reducing the load on the master side control device and the load on the slave side control device, and the slave side control device alone, it is possible to check whether the UDP communication is correctly performed. It is possible to obtain the same effects as those of the above-described robot system, such as being able to determine whether UDP communication is performed correctly, and to take measures when UDP communication is not performed correctly.

実施形態によるロボットシステムの構成を模式的に示す図1 is a diagram schematically showing the configuration of a robot system according to an embodiment; FIG. ロボットシステムの電気的構成を模式的に示す図A diagram schematically showing the electrical configuration of the robot system 付加軸トラッキングの概略を説明するための図Diagram for explaining the outline of additional axis tracking スレーブ側制御装置の処理の概略を説明するための図FIG. 4 is a diagram for explaining an outline of the processing of the slave-side control device; 補正なしと補正ありでのロボットの速度例を模式的に示す図Schematic diagram showing an example of robot speed without and with correction スレーブ側制御装置による処理の流れを模式的に示す図Diagram schematically showing the flow of processing by the slave-side control device

以下、実施形態について図面を参照しながら説明する。
図1に示すように、本実施形態のロボットシステム1は、搬送装置2とロボットの動作とを一括で制御する前述した付加軸トラッキングを行うものであって、搬送装置2を制御するマスター側制御装置3と、マスター側制御装置3によって制御されるマスター側ロボット4と、マスター側制御装置3と通信可能に接続されている1台以上のスレーブ側制御装置5と、スレーブ側制御装置5によってそれぞれ制御される1台以上のスレーブ側ロボット6とを備えている。
Hereinafter, embodiments will be described with reference to the drawings.
As shown in FIG. 1, the robot system 1 of this embodiment performs the above-described additional axis tracking for collectively controlling the transport device 2 and the motion of the robot. A device 3, a master robot 4 controlled by the master controller 3, one or more slave controllers 5 communicatively connected to the master controller 3, and the slave controllers 5, respectively. and one or more slave-side robots 6 to be controlled.

マスター側制御装置3は、搬送装置2を駆動するモータ7、モータ7に設けられているエンコーダ8、および、搬送装置2に搬送されるワーク9の位置を検出するカメラやレーザ距離計などの検出器10が接続されている。モータ7の回転軸は、搬送装置2の駆動軸となっている。つまり、ロボットシステム1は、マスター側ロボット4の関節部の駆動軸とは異なる制御対象であるモータ7の回転軸を付加軸とした付加軸トラッキングを行う構成となっている。 The master-side control device 3 includes a motor 7 for driving the conveying device 2, an encoder 8 provided in the motor 7, and a camera or laser rangefinder for detecting the position of the workpiece 9 conveyed by the conveying device 2. device 10 is connected. A rotating shaft of the motor 7 serves as a driving shaft of the conveying device 2 . In other words, the robot system 1 is configured to perform additional axis tracking using the rotation axis of the motor 7 to be controlled, which is different from the drive axis of the joint of the master robot 4, as an additional axis.

また、マスター側制御装置3には、LAN回線11を介してハブ12が接続されており、その先に接続されているスレーブ側制御装置5と通信可能に構成されている。なお、図1では、2台のスレーブ側制御装置5が接続された構成例を示しているが、1台あるいは3台以上のスレーブ側制御装置5を接続することも勿論可能であり、本実施形態のロボットシステム1は、数十台規模のスレーブ側制御装置5が接続可能となっている。 A hub 12 is connected to the master side control device 3 via a LAN line 11, and is configured to be able to communicate with a slave side control device 5 connected therefrom. Although FIG. 1 shows a configuration example in which two slave side control devices 5 are connected, it is of course possible to connect one or three or more slave side control devices 5. The robot system 1 in the form can be connected to several tens of slave-side control devices 5 .

スレーブ側制御装置5は、スレーブ側ロボット6をそれぞれ制御する。本実施形態では、マスター側ロボット4およびスレーブ側ロボット6として水平多関節型のいわゆる4軸ロボットを想定しているが、垂直多関節型のいわゆる6軸ロボットや7軸ロボットあるいはそれらが混在したものを対象とすることもできる。なお図1では、搬送装置2の搬送方向においてマスター側ロボット4の下流側に複数のスレーブ側ロボット6が設置されている構成を例示しているが、スレーブ側ロボット6の設置場所や数はこれに限定されない。 The slave-side controller 5 controls each slave-side robot 6 . In this embodiment, the master-side robot 4 and the slave-side robot 6 are assumed to be horizontal multi-joint type so-called four-axis robots, but vertical multi-joint type so-called six-axis robots, seven-axis robots, or a combination thereof. can also be targeted. FIG. 1 illustrates a configuration in which a plurality of slave robots 6 are installed downstream of the master robot 4 in the transport direction of the transport device 2. is not limited to

さて、図2に示すように、マスター側制御装置3は、指令値生成部3a、速度情報生成部3b、および通信部3c等を備えている。指令値生成部3aは、マスター側ロボット4を制御するための指令値と、搬送装置2を駆動するための指令値とを生成する。このとき、搬送装置2に与える指令値は、分かり易く言えば搬送装置2の目標位置を示す値であり、この指令値が分かれば、搬送装置2の目標位置つまりはワーク9が搬送される位置を推定することが可能となる。 Now, as shown in FIG. 2, the master-side control device 3 includes a command value generating section 3a, a speed information generating section 3b, a communication section 3c, and the like. The command value generator 3 a generates command values for controlling the master robot 4 and command values for driving the transport device 2 . At this time, the command value given to the transport device 2 is a value indicating the target position of the transport device 2, in simple terms. can be estimated.

なお、以下では、説明の簡略化のために、単に指令値という場合には搬送装置2を駆動するために与えられる指令値を意味するものとし、ロボットを制御するための指令値については、便宜的に制御指令値と称する。 In the following, for the sake of simplification of explanation, simply referring to a command value means a command value given to drive the transport device 2, and the command value for controlling the robot is It is called a control command value.

速度情報生成部3bは、詳細は後述するが、搬送装置2の速度つまりはワーク9の移動速度を特定可能な情報を生成する。本実施形態では、速度情報として、搬送装置2の駆動軸に今回送る指令値をパルス値に変換した値と、前回送った指令値をパルス値に変換した値との差分であるパルス差分値を用いている。これら指令値生成部3aおよび速度情報生成部3bは、図示しないCPUにてプログラムを実行することにより、ソフトウェアで実現されている。 The speed information generation unit 3b generates information that can specify the speed of the conveying device 2, that is, the moving speed of the workpiece 9, details of which will be described later. In this embodiment, as the speed information, a pulse difference value, which is a difference between a value obtained by converting the command value sent this time to the drive shaft of the conveying device 2 into a pulse value and a value obtained by converting the command value sent last time into a pulse value, is used. I am using The command value generation unit 3a and the speed information generation unit 3b are realized by software by executing programs in a CPU (not shown).

通信部3cは、いわゆるLANインターフェースであり、LAN回線11を介してスレーブ側制御装置5との間で、搬送装置2に与える指令値と速度情報とを含む通信パケットである制御情報などの通信を行う。なお、詳細は後述するが、通信部3cは、UDP通信とTCP通信とを行うことができる。なお、図2では、ハブ12の図示を省略している。 The communication unit 3c is a so-called LAN interface, and communicates with the slave side control device 5 via the LAN line 11, such as control information, which is a communication packet containing a command value and speed information to be given to the conveying device 2. conduct. Although the details will be described later, the communication unit 3c can perform UDP communication and TCP communication. 2, illustration of the hub 12 is omitted.

スレーブ側制御装置5は、指令値生成部5a、判定部5b、補正部5c、記憶部5dおよび通信部5e等を備えている。指令値生成部5aは、スレーブ側ロボット6を制御するための制御指令値を生成する。判定部5bは、詳細は後述するが、マスター側制御装置3との間のUDP通信が正しく行われたか否かを判定する。 The slave-side control device 5 includes a command value generation section 5a, a determination section 5b, a correction section 5c, a storage section 5d, a communication section 5e, and the like. The command value generator 5 a generates a control command value for controlling the slave robot 6 . Although details will be described later, the determination unit 5b determines whether or not UDP communication with the master-side control device 3 has been performed correctly.

補正部5cは、詳細は後述するが、判定部5bによってマスター側制御装置3との間のUDP通信が正しく行われなかったと判定された場合に、今回の制御で用いる指令値を補正する。これら指令値生成部5a、判定部5b、補正部5cは、図示しないCPUにてプログラムを実行することにより、ソフトウェアで実現されている。 Although the details will be described later, the correction unit 5c corrects the command value used in the current control when the determination unit 5b determines that the UDP communication with the master-side control device 3 has not been performed correctly. The command value generating unit 5a, the determining unit 5b, and the correcting unit 5c are realized by software by executing programs in a CPU (not shown).

通信部5eは、マスター側制御装置3から送信された制御情報を受信する。なお、詳細は後述するが、通信部5eは、制御情報以外の情報の通信も可能である。記憶部5dは、詳細は後述するが、少なくとも受信した指令値と前回の制御に用いた指令値を記憶している。このとき、記憶部5dに、指令値と速度情報とを含む制御情報を記憶することもできる。なお、本実施形態では、記憶部5dとして、スレーブ側制御装置5のメインプログラム等が記憶されている不揮発性の記憶媒体ではなく、RAMのようなメモリ上に設けられる記憶領域を想定している。 The communication unit 5 e receives control information transmitted from the master-side control device 3 . Although the details will be described later, the communication unit 5e can also communicate information other than the control information. Although details will be described later, the storage unit 5d stores at least the received command value and the command value used in the previous control. At this time, control information including command values and speed information can also be stored in the storage unit 5d. In this embodiment, it is assumed that the storage unit 5d is not a non-volatile storage medium in which the main program of the slave-side control device 5 is stored, but a storage area provided on a memory such as a RAM. .

次に、上記した構成の作用について説明する。
まず、図3から図5を参照しながら、付加軸トラッキングにおける処理の概略と、スレーブ側制御装置5に生じる問題点とを説明する。また、以下では、説明の簡略化のために、マスター側制御装置3とスレーブ側制御装置5に共通する説明をする場合には単に制御装置と称し、マスター側ロボット4とスレーブ側ロボット6に共通する説明をする場合には単にロボットと称する。
Next, the operation of the configuration described above will be described.
First, with reference to FIGS. 3 to 5, an outline of processing in additional axis tracking and problems occurring in the slave-side control device 5 will be described. Further, in the following, for the sake of simplification of explanation, when describing the common control device for the master-side control device 3 and the slave-side control device 5, it will simply be referred to as a control device, and the control device common to the master-side robot 4 and the slave-side robot 6 We will simply refer to it as a robot when explaining what it does.

図3に示すように、制御装置は、まず、搬送装置2によって搬送されているワーク9の位置(E0)を特定する。このE0は、マスター側制御装置3であれば検出器10で検出した位置に基づいて特定でき、スレーブ側制御装置5であればマスター側制御装置3から位置データが送信されることによって特定できる。 As shown in FIG. 3 , the control device first identifies the position (E0) of the work 9 being transported by the transport device 2 . This E0 can be specified based on the position detected by the detector 10 in the case of the master side control device 3, and can be specified by the position data transmitted from the master side control device 3 in the case of the slave side control device 5.

また、このE0は、1回のトラッキング中の基準となる位置であり、各制御装置は、このE0に対して搬送装置2による移動量を加味することによりトラッキングを行っている。以下、E0を、便宜的に基準位置と称する。なお、トラッキングの基準となる基準位置は、データの信頼性が担保されるTCP通信によってスレーブ側制御装置5に送信される。ただし、1回のトラッキング中に基準位置が変化することはないため、1回のトラッキングの最初に1度送信できればよく、繰り返し送信されることはない Also, this E0 is a reference position during one tracking, and each control device performs tracking by adding the amount of movement by the conveying device 2 to this E0. Hereinafter, E0 will be referred to as a reference position for convenience. The reference position that serves as a reference for tracking is transmitted to the slave-side control device 5 by TCP communication that guarantees data reliability. However, since the reference position does not change during one tracking, it only needs to be transmitted once at the beginning of one tracking, and will not be repeatedly transmitted.

さて、特定した基準位置がロボット座標系における(x0,y0,z0)であったとすると、制御装置は、待機位置にあるロボットが基準位置を目標として動作するための制御指令値(Ptask)を生成する。以下、基準位置を目標としてロボットを動作させることを、便宜的に作業動作と称する。また、制御指令値(Ptask)を、作業動作の制御指令値とも称する。 Now, assuming that the specified reference position is (x0, y0, z0) in the robot coordinate system, the control device generates a control command value (Ptask) for the robot at the standby position to operate with the reference position as the target. do. Hereinafter, for the sake of convenience, the movement of the robot with the reference position as the target will be referred to as the work movement. In addition, the control command value (Ptask) is also referred to as a work operation control command value.

続いて、制御装置は、搬送装置2の指令値に基づいて、作業動作を開始してからの搬送装置2の移動量(ΔConv)を求める。この場合、マスター側制御装置3であれば、自身が生成した指令値を用いて移動量(ΔConv)を求め、スレーブ側制御装置5であれば、マスター側制御装置3から送信された指令値を用いて移動量(ΔConv)を求めることになる。 Subsequently, the control device obtains the amount of movement (ΔConv) of the transport device 2 after the start of the work operation based on the command value of the transport device 2 . In this case, the master-side control device 3 uses the command value generated by itself to obtain the movement amount (ΔConv), and the slave-side control device 5 uses the command value transmitted from the master-side control device 3. is used to obtain the amount of movement (ΔConv).

そして、制御装置は、作業動作を開始する際に生成した制御指令値(Ptask)を搬送方向に移動量(ΔConv)分だけオフセットさせて新たな制御指令値(Prob)を生成し、その制御指令値(Prob)を用いてロボットがワーク9に追従するように制御する。このようにして、ワーク9の移動に追従させながらロボットに作業をさせるトラッキングが行われている。 Then, the control device generates a new control command value (Prob) by offsetting the control command value (Ptask) generated when the work operation is started by the amount of movement (ΔConv) in the conveying direction, and generates a new control command value (Prob). The robot is controlled to follow the workpiece 9 using the value (Prob). In this manner, tracking is performed in which the robot is caused to work while following the movement of the workpiece 9 .

ところで、トラッキングの追従性を高めるためには、搬送装置2の移動量(ΔConv)を求めるための指令値を、より細かい周期で生成すればよいと考えられる。そのため、マスター側制御装置3は、搬送装置2の指令値を制御周期(ΔT)ごとに生成し、生成した指令値を、スレーブ側制御装置5にその都度送信する。この制御周期(ΔT)は、おおよそ数ミリ秒程度である。 By the way, in order to improve the followability of tracking, it is conceivable that the command value for obtaining the movement amount (ΔConv) of the conveying device 2 should be generated at a finer cycle. Therefore, the master-side control device 3 generates a command value for the transport device 2 for each control cycle (ΔT), and transmits the generated command value to the slave-side control device 5 each time. This control cycle (ΔT) is approximately several milliseconds.

しかし、スレーブ側制御装置5の数が増えてくると、それぞれのスレーブ側制御装置5との間で1対1のTCP通信を制御周期(ΔT)ごとに行うことは困難である。これは、TCP通信の場合、データの信頼性の確保のためにハンドシェイクが必要になり、場合によって再送等の処理も必要になるためである。そのため、本実施形態では、マスター側制御装置3は、スレーブ側制御装置5に一斉に送信すべき搬送装置2の指令値の送信に、UDP(User Datagram Protocol)を用いるUDP通信を採用している。 However, as the number of slave-side control devices 5 increases, it becomes difficult to perform one-to-one TCP communication with each slave-side control device 5 every control cycle (ΔT). This is because in the case of TCP communication, a handshake is required to ensure data reliability, and processing such as retransmission may be required in some cases. Therefore, in the present embodiment, the master-side control device 3 employs UDP communication using UDP (User Datagram Protocol) to transmit the command values of the transport devices 2 to be transmitted to the slave-side control devices 5 all at once. .

これにより、いわゆるコネクションレス型通信であるUDP通信ではデータそのものの信頼性は担保されないものの、TCP通信に比べると通信の負荷を大きく低減した状態で1対多の通信が可能となる。 As a result, although UDP communication, which is so-called connectionless communication, does not guarantee the reliability of the data itself, it enables one-to-many communication with a greatly reduced communication load compared to TCP communication.

その一方で、UDP通信を採用したことにより、スレーブ側制御装置5に問題が生じることになる。具体的には、図4に示すように、スレーブ側制御装置5の通信部5eは、マスター側制御装置3からUDP通信により指令値を受信すると、記憶領域に最新データとして記憶する。この記憶領域は、記憶部5dに相当する。なお、詳細は後述するが、最新データには、指令値と速度情報とが記憶される。また、図4に示す過去データについては後述する。 On the other hand, adopting UDP communication causes problems in the slave-side control device 5 . Specifically, as shown in FIG. 4, when the communication unit 5e of the slave-side control device 5 receives the command value from the master-side control device 3 through UDP communication, it stores the command value in the storage area as the latest data. This storage area corresponds to the storage unit 5d. Although the details will be described later, the command value and speed information are stored in the latest data. Also, the past data shown in FIG. 4 will be described later.

続いて、スレーブ側制御装置5の指令値生成部5aは、最新データとして記憶領域に記憶されている指令値を読み出し、読み出した指令値に基づいて搬送装置2の移動量(ΔConv)を求め、求めた移動量(ΔConv)分オフセットさせた新たな制御指令値(Prob)を生成し、スレーブ側ロボット6に対して出力して、スレーブ側ロボット6を制御する。 Subsequently, the command value generation unit 5a of the slave-side control device 5 reads the command value stored in the storage area as the latest data, obtains the movement amount (ΔConv) of the conveying device 2 based on the read command value, A new control command value (Prob) offset by the obtained movement amount (ΔConv) is generated and output to the slave robot 6 to control the slave robot 6 .

この場合、UDP通信が正しく行われた場合には、記憶領域の最新データは、直近にマスター側制御装置3から送信された指令値が記憶されることになる。その一方で、UDP通信が正しく行われなかった場合には、記憶領域の最新データには、受信に失敗したことから指令値が更新されず、以前に受信した指令値がそのまま記憶された状態となる。 In this case, when the UDP communication is correctly performed, the command value most recently transmitted from the master-side control device 3 is stored as the latest data in the storage area. On the other hand, if the UDP communication is not performed correctly, the latest data in the storage area will not update the command value due to failure in reception, and the previously received command value will be stored as it is. Become.

そして、スレーブ側制御装置5の指令値生成部5aは、UDP通信が正しく行われたか否かに関わらず、最新データとして記憶されている指令値に基づいてスレーブ側ロボット6に与える制御指令値を生成および出力するため、UDP通信が正しく行われなかった場合には、前回の制御に用いた指令値と同じ値に基づいてスレーブ側ロボット6に与える制御指令値を生成することになる。 Then, the command value generator 5a of the slave-side control device 5 generates a control command value to be given to the slave-side robot 6 based on the command value stored as the latest data regardless of whether the UDP communication has been performed correctly. Since the control command value is generated and output, if the UDP communication is not performed correctly, the control command value to be given to the slave robot 6 is generated based on the same command value used in the previous control.

ここで、搬送装置2の指令値は、上記したように目標位置を示すものである。そのため、記憶領域の最新データが更新されていない状態は、目標位置が前回と同じ状態、つまりは、搬送装置2が停止している状態を意味することになる。そのため、スレーブ側制御装置5は、搬送装置2が停止していると判断して、スレーブ側ロボット6を減速または停止させるような制御指令を生成することになる。 Here, the command value for the conveying device 2 indicates the target position as described above. Therefore, the state in which the latest data in the storage area has not been updated means the state in which the target position is the same as the previous time, that is, the state in which the conveying device 2 is stopped. Therefore, the slave-side control device 5 determines that the transfer device 2 is stopped, and generates a control command to decelerate or stop the slave-side robot 6 .

その結果、図5にグラフG1として示すように、搬送装置2の実速度ここでは指令速度が一定値Vcであったとする。そして、例えば時刻t0においてUDP通信が正しく行われなかったとすると、スレーブ側制御装置5は、上記したように前回の制御に用いた指令値に基づいて搬送装置2の速度を演算することから、搬送装置2が停止したと判断する。その結果、比較例としてグラフG3に示すように、スレーブ側ロボット6を停止あるいは減速させるような制御が行われることから、スレーブ側ロボット6の速度が低下して搬送装置2の移動に追従できなくなる。 As a result, as shown by graph G1 in FIG. 5, it is assumed that the actual speed of the conveying device 2 is a constant value Vc. Then, for example, if the UDP communication is not performed correctly at time t0, the slave-side control device 5 calculates the speed of the transport device 2 based on the command value used in the previous control as described above. It is determined that the device 2 has stopped. As a result, as shown in the graph G3 as a comparative example, control is performed to stop or decelerate the slave robot 6, so that the speed of the slave robot 6 decreases and cannot follow the movement of the transport device 2. .

そして、時刻t1においてUDP通信が正しく行われたとすると、スレーブ側制御装置5は、更新された指令値に基づいて搬送装置2の速度を求める。この場合、時刻t0から時刻t1までが1制御周期(ΔT)であったとすると、実際には停止していない搬送装置2の目標位置は2制御周期(2ΔT)先になっており、その目標位置に到達するために、スレーブ側制御装置5は、スレーブ側ロボット6を高速で移動させることになる。 Then, assuming that the UDP communication is correctly performed at time t1, the slave-side control device 5 obtains the speed of the transport device 2 based on the updated command value. In this case, assuming that the period from time t0 to time t1 is one control cycle (ΔT), the target position of the conveying device 2 that is not actually stopped is two control cycles (2ΔT) later. , the slave-side control device 5 moves the slave-side robot 6 at high speed.

また、スレーブ側制御装置5は、時刻t2においてUDP通信が正しく行われた際には、最新の指令値に基づいて、1制御周期(ΔT)分の距離を移動させるべく、スレーブ側ロボット6の速度を低下させる。 Further, when the UDP communication is correctly performed at time t2, the slave-side control device 5 causes the slave-side robot 6 to move a distance of one control cycle (ΔT) based on the latest command value. Decrease speed.

このように、マスター側制御装置3の負荷を低減するためにUDP通信を採用した場合には、スレーブ側ロボット6の速度が不連続的に変化するといった問題を引き起こすおそれがある。そして、そのような動作は、ロボットの振動を引き起こして動作サイクルが長くなる等の不具合を発生させるおそれがある。 In this way, when UDP communication is used to reduce the load on the master-side control device 3, there is a risk that the speed of the slave-side robot 6 will change discontinuously. Such an operation may cause the robot to vibrate, resulting in problems such as a longer operation cycle.

かといって、UDP通信の成否をマスター側制御装置3に問い合わせたり再送を要求したりするのは、結果的にマスター側制御装置3およびスレーブ側制御装置5の負荷を増加させることになり、負荷を低減するためにUDP通信を採用するという主旨に反することになる。 However, inquiring the master side control device 3 about the success or failure of UDP communication or requesting retransmission results in an increase in the load on the master side control device 3 and the slave side control device 5. This goes against the gist of adopting UDP communication in order to reduce

そこで、本実施形態では、マスター側制御装置3の負荷およびスレーブ側制御装置5の負荷を低減しつつ、且つ、スレーブ側制御装置5が単独で、UDP通信が正しく行われたか否かの判断と、UDP通信が正しく行われなかった場合の対処とを行うことができるようにしている。 Therefore, in the present embodiment, while reducing the load on the master-side control device 3 and the load on the slave-side control device 5, the slave-side control device 5 alone determines whether or not the UDP communication has been correctly performed. , and measures to be taken when UDP communication is not performed correctly.

スレーブ側制御装置5は、図6に示す補正処理を行っている。なお、この処理は判定部5bや補正部5cで行われるものであるが、説明の簡略化のために、以下ではスレーブ側制御装置5を主体にして説明している。 The slave-side control device 5 performs correction processing shown in FIG. Although this process is performed by the determination unit 5b and the correction unit 5c, the slave side control device 5 will be mainly described below for the sake of simplification of explanation.

まず、スレーブ側制御装置5は、作業動作の制御指令値(Ptask)を生成する(S1)。なお、作業動作の制御指令値(Ptask)はトラッキング中には変化しないため、最初の1回目に生成した値を再利用することができる。続いて、スレーブ側制御装置5は、記憶領域に記憶されている最新データを読み出すことで、搬送装置2の指令値を取得する(S2)。このステップS2で読み出された補正値は、今回の制御に用いる補正値(Pnew)に相当する。 First, the slave-side control device 5 generates a work operation control command value (Ptask) (S1). Since the control command value (Ptask) for the work motion does not change during tracking, the value generated for the first time can be reused. Subsequently, the slave-side control device 5 reads the latest data stored in the storage area to obtain the command value for the transport device 2 (S2). The correction value read out in step S2 corresponds to the correction value (Pnew) used in the current control.

さて、取得した指令値をそのまま用いると、上記したようにUDP通信が正しく行われていなかった場合にスレーブ側ロボット6の速度が不連続に変化する。そこで、スレーブ側制御装置5は、UDP通信が正しく行われているか否かの判定と、UDP通信が正しく行われなかった場合の対処つまりは指令値の補正とを行っている。さらに、ロボットシステム1では、判定と補正とを、通信の負荷を低減する形で行えるようにしている。 Now, if the obtained command value is used as it is, the speed of the slave robot 6 will change discontinuously if the UDP communication is not performed correctly as described above. Therefore, the slave-side control device 5 determines whether or not the UDP communication is properly performed, and corrects the command value when the UDP communication is not properly performed. Further, in the robot system 1, determination and correction are made in a manner that reduces the communication load.

まず、UDP通信が正しく行われているか否かをどのように判定するかについて説明する。スレーブ側制御装置5は、制御に用いた指令値を記憶領域に過去データ(図4参照)としてその都度記憶しており、ステップS2で取得した今回の制御に用いる指令値と、過去データとして記憶されている前回の制御に用いた指令値とが一致するか否かを判定する(S3)。なお、過去データには、前回の制御に用いた速度情報も記憶することができる。 First, how to determine whether UDP communication is being performed correctly will be described. The slave-side control device 5 stores the command value used for control in the storage area each time as past data (see FIG. 4). It is determined whether or not the command value used in the previous control matches (S3). The past data can also store the speed information used in the previous control.

上記したように、指令値は搬送装置2の目標位置であるため、今回の制御に用いる指令値と前回の制御に用いた指令値とが一致していなければ、最新データが更新されており、UDP通信が正しく行われたと判定することができる。そのため、スレーブ側制御装置5は、今回の制御に用いる指令値と前回の制御に用いた指令値とが一致しない場合には(S3:NO)、ステップS6に移行して搬送装置2の移動量(ΔConv)を求める。 As described above, the command value is the target position of the conveying device 2. Therefore, if the command value used in the current control does not match the command value used in the previous control, the latest data has been updated. It can be determined that the UDP communication was performed correctly. Therefore, when the command value used in the current control and the command value used in the previous control do not match (S3: NO), the slave-side control device 5 proceeds to step S6 to (ΔConv) is obtained.

これに対して、今回の制御に用いる指令値と前回の制御に用いた指令値とが一致している場合には、最新データが更新されていないことから、UDP通信が正しく行われなかったという疑義がある。ただし、マスター側制御装置3が緊急停止等により同じ指令値を送信したなど、UDP通信が正しく行われた可能性を完全に否定はできない。 On the other hand, if the command value used for the current control and the command value used for the previous control match, the UDP communication was not performed correctly because the latest data was not updated. I have doubts. However, it cannot be completely denied the possibility that the UDP communication was performed correctly, such as when the master-side control device 3 sent the same command value due to an emergency stop or the like.

そこで、スレーブ側制御装置5は、今回の制御に用いる指令値と前回の制御に用いた指令値とが一致する場合には(S3:YES)、さらに、今回の制御に用いる搬送装置2の速度が所定の基準値を超えているか否かを判定する(S4)。本実施形態では、所定の基準値として零を採用している。つまり、ステップS4では、スレーブ側制御装置5は、搬送装置2の速度が零であるか否かを判定している。 Therefore, when the command value used in the current control and the command value used in the previous control match (S3: YES), the slave-side control device 5 further increases the speed of the conveying device 2 used in the current control. exceeds a predetermined reference value (S4). In this embodiment, zero is used as the predetermined reference value. That is, in step S4, the slave-side control device 5 determines whether or not the speed of the conveying device 2 is zero.

なお、搬送装置2の速度は、マスター側制御装置3から送信される速度情報に基づいて求めることができる。この場合、UDP通信が正しく行われなかった場合には最新データが更新されないことから、最新データの内容と前回の制御に用いたデータを記憶している過去データの内容とが一致することになる。そのため、ステップS4では、最新データがまたは過去データのいずれかに記憶されている速度情報を用いれば直近の搬送装置2の速度を求めることができる。 Note that the speed of the conveying device 2 can be obtained based on speed information transmitted from the master-side control device 3 . In this case, since the latest data is not updated if the UDP communication is not performed correctly, the content of the latest data and the content of the past data storing the data used in the previous control match. . Therefore, in step S4, the most recent speed of the conveying device 2 can be obtained by using the speed information stored in either the latest data or past data.

スレーブ側制御装置5は、搬送装置2の速度が所定の基準値を超えていないと判定した場合には(S4:NO)、ステップS6に移行して搬送装置2の移動量(ΔConv)を求める。これは、搬送装置2の速度が零であると判定された場合には、今回と前回とで指令値が一致することになるため、搬送装置2が実際に停止していると考えることができるためである。 When the slave-side control device 5 determines that the speed of the transport device 2 does not exceed the predetermined reference value (S4: NO), the process proceeds to step S6 to obtain the movement amount (ΔConv) of the transport device 2. . This is because when it is determined that the speed of the transport device 2 is zero, the command values of this time and the previous time match, so it can be considered that the transport device 2 is actually stopped. It's for.

これに対して、スレーブ側制御装置5は、搬送装置2の速度が所定の基準値を超えていると判定した場合には(S4:YES)、搬送装置2の指令値を補正する(S5)。これは、搬送装置2の速度が零出ないにも関わらず前回と今回の指令値が一致したと言うことは、最新データが更新されていない、つまりは、UDP通信が正しく行われなかったと判断できるためである。 On the other hand, when the slave-side control device 5 determines that the speed of the transport device 2 exceeds the predetermined reference value (S4: YES), it corrects the command value of the transport device 2 (S5). . If the previous and current command values match even though the speed of the conveying device 2 does not drop, it means that the latest data has not been updated, that is, the UDP communication has not been performed correctly. Because we can.

このステップS5では、スレーブ側制御装置5は、ステップS2で取得した指令値(Pnew)を、ステップS4で求めた搬送装置2の速度(Vc)と制御周期(ΔT)とを用いて、以下の(1)式のように補正する。
Pnew=Pnew+Vc×ΔT ・・・(1)
In step S5, the slave-side control device 5 converts the command value (Pnew) acquired in step S2 to (1) Correct as shown in the formula.
Pnew=Pnew+Vc×ΔT (1)

すなわち、スレーブ側制御装置5の補正部5cは、今回の制御に用いる指令値(Pnew)を、搬送装置2の速度(Vc)に制御周期(ΔT)を乗じた値を加えた値に補正する。なお、補正が必要になるのは前回と今回の指令値が一致している場合であるため、つまり、Pnew=Pprevの場合であるため、上記の(1)式は、以下のように示すこともできる。 That is, the correction unit 5c of the slave-side control device 5 corrects the command value (Pnew) used in the current control to a value obtained by multiplying the speed (Vc) of the conveying device 2 by the control cycle (ΔT). . It should be noted that correction is necessary when the previous and current command values match, that is, when Pnew=Pprev, so the above equation (1) can be expressed as follows. can also

これにより、前回の制御に用いる指令値が搬送装置2の速度に応じた値、つまりは、搬送装置2の移動量を考慮した新たな目標位置に合うように補正される。したがって、搬送装置2の速度が零ではない状況、つまりは、ワーク9が移動していると判断できる状況において、スレーブ側ロボット6が誤って停止あるいは減速することが防止される。 As a result, the command value used in the previous control is corrected to match the value corresponding to the speed of the conveying device 2, that is, the new target position in consideration of the amount of movement of the conveying device 2. FIG. Therefore, it is possible to prevent the slave robot 6 from erroneously stopping or decelerating in a situation where the speed of the transport device 2 is not zero, that is, in a situation where it can be determined that the workpiece 9 is moving.

そして、スレーブ側制御装置5は、補正した指令値に基づいて、搬送装置2の移動量を求め(S6)、ステップS1で生成した作業動作の制御指令値に移動量を合成した制御指令値、すなわち、今回の制御に用いる最終的な制御指令値を生成する(S7)。これにより、スレーブ側制御装置5は、スレーブ側ロボット6を誤って停止あるいは減速させることを回避することができる。 Then, the slave-side control device 5 obtains the movement amount of the conveying device 2 based on the corrected command value (S6). That is, the final control command value used for the current control is generated (S7). As a result, the slave-side control device 5 can avoid stopping or decelerating the slave-side robot 6 by mistake.

これにより、図5に実施例として示すグラフG4のように、補正ありの場合には、スレーブ側ロボット6の速度は、グラフG3のように停止や減速することなく、搬送装置2の実際の速度(Vc)とほぼ一致した状態で、つまりは、ワーク9の実際の移動に追従した状態となる。 As a result, as shown in graph G4 shown as an example in FIG. (Vc), that is, the actual movement of the workpiece 9 is followed.

このような補正をすることにより、UDP通信が正しく行われているか否かの判定と、UDP通信が正しく行われなかった場合の対処とを行うことができる。そして、上記した補正の手法には、通信の負荷を低減するという効果も含まれている。 By performing such correction, it is possible to determine whether or not UDP communication is being performed correctly, and to take measures when UDP communication is not being performed properly. The correction method described above also has the effect of reducing the communication load.

例えば、UDP通信が正しく行われているか否かを判定するだけであれば、マスター側制御装置3から送信する通信パケットに、通し番号や時刻情報を付加することが考えられるしかし、その場合には、UDP通信が正しく行われていないことは判定できるものの、その対処ができなくなる。 For example, if it is only necessary to determine whether or not UDP communication is being performed correctly, it is conceivable to add a serial number and time information to the communication packet sent from the master-side control device 3. However, in that case, Although it can be determined that the UDP communication is not performed correctly, it becomes impossible to deal with it.

しかし、指令値の再送を要求したりすると通信の負荷が増大することから、上記したようにUDP通信を用いるという主旨に反することになる。また、各制御装置は個別に時刻を管理しており、必ずしも時刻が完全に同期している訳ではないため、時刻情報を用いても、UDP通信が正しく行われているか否かの判定をできないおそれもある。 However, requesting retransmission of the command value increases the communication load, which goes against the purpose of using UDP communication as described above. In addition, each control device manages the time individually, and the time is not necessarily completely synchronized. Therefore, even if the time information is used, it cannot be determined whether UDP communication is being performed correctly. It is possible.

そのため、マスター側制御装置3から送信されるデータとしては、UDP通信が正しく行われているか否かの判定と、UDP通信が正しく行われなかった場合の対処とを行うことができるものが望まれる。その一方で、送信するデータサイズが大きくなると、通信の負荷を増加させるおそれがある。 Therefore, the data transmitted from the master-side control device 3 is desired to be able to determine whether or not UDP communication is being performed properly, and to take action when UDP communication is not performed properly. . On the other hand, if the size of data to be transmitted increases, there is a risk of increasing the communication load.

そこで、本実施形態では、そもそもの制御に必要とされる搬送装置2に与える指令値に加えて、搬送装置2の速度を特定可能な速度情報を通信パケットに含めて送信している。これら指令値と速度情報とがマスター側制御装置3から送信されることにより、スレーブ側制御装置5は、上記したようにUDP通信が正しく行われているか否かの判定と、UDP通信が正しく行われなかった場合の対処とを行うことができる。 Therefore, in the present embodiment, in addition to the command value to be given to the conveying device 2 that is necessary for the original control, speed information that can specify the speed of the conveying device 2 is included in the communication packet and transmitted. By transmitting these command values and speed information from the master side control device 3, the slave side control device 5 determines whether or not the UDP communication is being performed correctly, and determines whether the UDP communication is being performed correctly. It is possible to deal with the case where it is not broken.

換言すると、搬送装置2の速度情報は、それ1つでUDP通信が正しく行われているか否かの判定とUDP通信が正しく行われなかった場合の対処とを行うことができることから、通信の負荷を低減しつつ判定と対処とを行うために好適なデータであると考えられる。 In other words, the speed information of the conveying apparatus 2 alone can determine whether or not UDP communication is being performed correctly, and deal with the case where UDP communication is not being properly performed. This data is considered to be suitable for making determinations and taking measures while reducing .

また、搬送装置2の速度は、マスター側制御装置3が管理する情報であり、マスター側ロボット4を制御するために用いられていることから、判定と対処とを行うために新たにデータを生成する必要がなく、マスター側制御装置3の処理の負荷を増加させることもない。つまり、マスター側制御装置3から送信するデータとして速度情報を採用した構成には、ロボットシステム1において非常に重要な技術的意義を有している。 Further, the speed of the transfer device 2 is information managed by the master-side control device 3, and is used to control the master-side robot 4. Therefore, new data is generated for determination and handling. and the processing load of the master-side control device 3 is not increased. In other words, the configuration in which the speed information is used as the data transmitted from the master-side control device 3 has a very important technical significance in the robot system 1 .

さらに、本実施形態では、速度情報として、駆動軸に今回送る指令値をエンコーダ8のパルス値に変換した値と、前回送った指令値をエンコーダ8のパルス値に変換した値との差分であるパルス差分値を採用している。搬送装置2の速度そのものを送信しようとする場合には、位置を高精度に制御している場合にはどうしても小数点が含まれることになるため、速度そのものを送信する場合には、C言語でいうdouble型の8バイトのデータを送信する必要がある。 Furthermore, in this embodiment, the speed information is the difference between the value obtained by converting the command value sent to the drive shaft this time into the pulse value of the encoder 8 and the value obtained by converting the command value sent last time into the pulse value of the encoder 8. A pulse difference value is adopted. When attempting to transmit the speed of the conveying device 2 itself, if the position is controlled with high precision, a decimal point is inevitably included. It is necessary to send 8-byte data of double type.

これに対して、パルス差分値は、整数のデータとして得られるものであり、通信パケットとして送信する場合には、C言語でいうlong型の4バイトのデータで送信することができる。つまり、速度情報としてエンコーダ8のパルス差分値を採用することにより、判定と対処とに必要となるデータサイズを小さくすることができ、通信の負荷を抑制することができる。 On the other hand, the pulse difference value is obtained as integer data, and when it is transmitted as a communication packet, it can be transmitted as long-type 4-byte data in C language. That is, by using the pulse difference value of the encoder 8 as the speed information, the data size required for determination and handling can be reduced, and the communication load can be suppressed.

このようにして今回の制御に用いる制御指令値を生成すると、スレーブ側制御装置5は、ステップS2で取得した指令値を、記憶領域の過去データとして記憶する。この記憶した過去データは、次の制御における判定に用いられる。このとき、指令値に限らず、速度情報を併せて記憶部5dに記憶する構成とすることもできる。 After generating the control command value used for the current control in this way, the slave-side control device 5 stores the command value obtained in step S2 as past data in the storage area. This stored past data is used for determination in the next control. At this time, not only the command value but also the speed information may be stored in the storage unit 5d.

なお、図6では説明の簡略化のために処理を終了するとしているが、トラッキング中には、必要に応じてステップS2以降の処理が繰り返し手実行されることになる。 In FIG. 6, the processing is terminated for the sake of simplification of explanation, but during tracking, the processing after step S2 is repeatedly executed manually as necessary.

以上のように、本実施形態のロボットシステム1は、マスター側制御装置3の負荷およびスレーブ側制御装置5の負荷を低減しつつ、且つ、スレーブ側制御装置5が単独で、UDP通信が正しく行われたか否かの判断と、UDP通信が正しく行われなかった場合の対処とを行うことができるように構成されている。 As described above, the robot system 1 of the present embodiment reduces the load on the master-side control device 3 and the load on the slave-side control device 5, and allows the slave-side control device 5 to perform UDP communication correctly. It is configured to be able to determine whether or not the UDP communication has been successfully performed, and to take action when the UDP communication is not properly performed.

以上説明した実施形態によれば、次のような効果を得ることができる。
ロボットシステム1は、搬送装置2とロボットの動作とを一括で制御する付加軸トラッキングを行うものであって、搬送装置2を制御するマスター側制御装置3と、マスター側制御装置3によって制御されるマスター側ロボット4と、マスター側制御装置3と通信可能に接続されている1台以上のスレーブ側制御装置5と、スレーブ側制御装置5によってそれぞれ制御される1台以上のスレーブ側ロボット6と、を備えている。
According to the embodiment described above, the following effects can be obtained.
The robot system 1 performs additional axis tracking that collectively controls the transport device 2 and the motion of the robot, and is controlled by the master-side controller 3 that controls the transport device 2 and the master-side controller 3. a master-side robot 4, one or more slave-side controllers 5 communicably connected to the master-side controller 3, one or more slave-side robots 6 controlled by the slave-side controllers 5, It has

マスター側制御装置3は、搬送装置2に与える指令値を生成する指令値生成部5aと、搬送装置2の速度を特定可能な速度情報を生成する速度情報生成部3bと、生成した指令値と速度情報とを制御情報としてUDP通信によってスレーブ側制御装置5に送信する通信部5eとを有している。このようにUDP通信により制御情報を送信する構成としたことにより、ハンドシェイクが必要となるTCP通信を行う場合に比べて、通信に要する負荷を大きく低減することができる。 The master-side control device 3 includes a command value generation unit 5a that generates a command value to be given to the transport device 2, a speed information generation unit 3b that generates speed information that can specify the speed of the transport device 2, and the generated command value and and a communication unit 5e for transmitting speed information as control information to the slave side control device 5 by UDP communication. By adopting a configuration in which control information is transmitted by UDP communication in this manner, the load required for communication can be greatly reduced compared to TCP communication, which requires handshake.

また、スレーブ側制御装置5は、マスター側制御装置3から送信された制御情報を受信する通信部5eと、前回の制御に用いた制御情報を記憶する記憶部5dと、マスター側制御装置3との間のUDP通信が正しく行われたか否かを判定する判定部5bと、判定部5bによってマスター側制御装置3との間のUDP通信が正しく行われなかったと判定された場合に、今回の制御に用いる指令値を補正する補正部5cと、を有している。 Further, the slave-side control device 5 includes a communication unit 5e that receives control information transmitted from the master-side control device 3, a storage unit 5d that stores control information used in the previous control, and the master-side control device 3. When it is determined by the determination unit 5b that the determination unit 5b determines whether the UDP communication between is performed correctly, and the determination unit 5b that the UDP communication between the master-side control device 3 was not performed correctly, this control and a correction unit 5c for correcting the command value used for.

この判定部5bは、今回の制御に用いる指令値と前回の制御に用いた指令値とが一致する場合であって、且つ、今回の制御に用いる搬送装置2の速度が所定の基準値を超えている場合に、マスター側制御装置3との間のUDP通信が正しく行われなかったと判定し、補正部5cは、今回の制御に用いる指令値を、搬送装置2の速度と制御周期とを乗じた値を加えた値に補正する。 The determination unit 5b determines whether the command value used in the current control and the command value used in the previous control match and the speed of the conveying device 2 used in the current control exceeds a predetermined reference value. If so, it is determined that the UDP communication with the master-side control device 3 was not performed correctly, and the correction unit 5c multiplies the command value used for this control by the speed of the conveying device 2 and the control period. corrected to the added value.

このように、制御情報として指令値と速度情報とを送信することにより、スレーブ側制御装置5は、単独で、UDP通信が正しく行われたか否かの判断と、UDP通信が正しく行われなかった場合の対処とを行うことが可能となる。換言すると、送信する制御情報として速度情報を採用したことにより、1つのデータで上記した判断と対処とが可能となる。 By transmitting the command value and speed information as control information in this manner, the slave-side control device 5 can independently determine whether or not the UDP communication has been performed correctly, and if the UDP communication has not been performed correctly. It is possible to deal with the case. In other words, by adopting the speed information as the control information to be transmitted, it becomes possible to perform the above-described determination and countermeasures with one piece of data.

このとき、速度情報は、マスター側制御装置3の制御で用いられるデータであり、新たな処理をすることなく得られる値である。また、元々制御に必要な指令値に、速度情報という1つのデータを加えて送信すればよいことから、マスター側制御装置3の負荷を増加させることがないとともに、通信に要する負荷が過度に増加することを低減できる。 At this time, the speed information is data used in the control of the master-side control device 3, and is a value obtained without performing new processing. In addition, since it is only necessary to add one piece of data called speed information to the command value originally required for control, the load on the master side control device 3 is not increased, and the load required for communication is excessively increased. can be reduced.

したがって、マスター側制御装置3の負荷およびスレーブ側制御装置5の負荷を低減しつつ、且つ、スレーブ側制御装置5が単独で、UDP通信が正しく行われたか否かの判断と、UDP通信が正しく行われなかった場合の対処とを行うことができる。 Therefore, while reducing the load on the master-side control device 3 and the load on the slave-side control device 5, the slave-side control device 5 alone can determine whether or not the UDP communication has been performed correctly, and the UDP communication can be performed correctly. If it is not done, it can be dealt with.

また、上記の補正を行うことにより、トラッキングの追従性を向上させることができる。さらに、仮にスレーブ側制御装置5の数が増減しても、マスター側制御装置3の処理は基本的には変わらないことから、システムの自由度や拡張性を確保することもできる。 Further, by performing the above correction, it is possible to improve the followability of tracking. Furthermore, even if the number of slave-side control devices 5 increases or decreases, the processing of the master-side control device 3 basically does not change, so that flexibility and expandability of the system can be ensured.

また、ロボットシステム1では、判定部5bは、基準値を零に設定する。これにより、実際の搬送装置2が移動しているか否かの判定を容易に行うことができる。 Further, in the robot system 1, the determination unit 5b sets the reference value to zero. This makes it possible to easily determine whether or not the transport device 2 is actually moving.

また、ロボットシステム1では、マスター側制御装置3の速度情報生成部3bは、搬送装置2の駆動軸に今回送る指令値をエンコーダ8のパルス値に変換した値と、前回送った指令値をエンコーダ8のパルス値に変換した値との差分であるパルス差分値を、を、速度情報として送信する。エンコーダ8のパルス差分値は、マスター側制御装置3の制御で用いられるデータであり、新たな処理をすることなく得られる値である。また、パルス差分値は、整数として得られるデータであるため、小数点を含む速度そのものを送信する場合に比べて、送信時に必要なデータ量を削減することができる。したがって、通信の負荷をさらに低減することができる。 In the robot system 1, the speed information generator 3b of the master-side control device 3 converts the command value sent this time to the drive shaft of the transport device 2 into the pulse value of the encoder 8, and the command value sent last time. 8 is transmitted as speed information. The pulse difference value of the encoder 8 is data used in the control of the master-side control device 3, and is a value obtained without new processing. Also, since the pulse difference value is data obtained as an integer, the amount of data required for transmission can be reduced compared to the case where the speed itself including the decimal point is transmitted. Therefore, the communication load can be further reduced.

また、スレーブ側制御装置5は、搬送装置2とロボットの動作とを一括で制御する付加軸トラッキングを行うロボットシステム1において、搬送装置2を制御するマスター側制御装置3から送信された制御情報に基づいて動作するものであって、上記した通信部5eと、記憶部5dと、判定部5bと、補正部5cと、を有している。このようなロボットの制御装置によっても、マスター側制御装置3の負荷およびスレーブ側制御装置5の負荷を低減しつつ、且つ、スレーブ側制御装置5が単独で、UDP通信が正しく行われたか否かの判断と、UDP通信が正しく行われなかった場合の対処とを行うことができるなど、ロボットシステム1と同様の効果を得ることができる。 In addition, in the robot system 1 that performs additional axis tracking for collectively controlling the transport device 2 and the motion of the robot, the slave-side control device 5 responds to the control information transmitted from the master-side control device 3 that controls the transport device 2. It has the communication unit 5e, the storage unit 5d, the determination unit 5b, and the correction unit 5c. Even with such a robot control device, while reducing the load on the master side control device 3 and the load on the slave side control device 5, and the slave side control device 5 alone, it is possible to check whether the UDP communication was correctly performed. It is possible to obtain the same effects as those of the robot system 1, such as being able to determine whether the UDP communication is performed correctly, and to take measures when the UDP communication is not performed correctly.

実施形態では(1)式を用いて指令値を補正したが、記憶部5dに過去の複数の速度情報を履歴として記憶しておき、その履歴から搬送装置2の速度の変化傾向を求め、当該速度の変化傾向を加味して指令値を補正する構成とすることもできる。例えば、(1)式の右辺第2項に係数(α)を追加し、搬送装置2の速度が増加傾向にある場合にはαを1より大きく設定し、減少傾向にある場合にはαを1より小さく設定することで、より実際の速度変化に応じた補正を行うことができる。なお、αを速度の関数とすることもできる。 In the embodiment, the command value is corrected using the formula (1). It is also possible to adopt a configuration in which the command value is corrected in consideration of the change tendency of the speed. For example, a coefficient (α) is added to the second term on the right side of equation (1), and when the speed of the transport device 2 tends to increase, α is set to be greater than 1, and when it tends to decrease, α is set to By setting it to be smaller than 1, it is possible to perform correction in accordance with the actual speed change. Note that α can also be a function of velocity.

実施形態では所定の基準値を零に設定する例を示したが、所定の基準値は、例えば搬送装置2の性能や仕様に基づいて、1制御周期で速度が零になることがないと判断できる値に設定することができる。 Although an example in which the predetermined reference value is set to zero has been shown in the embodiment, it is determined that the predetermined reference value does not cause the speed to become zero in one control cycle based on the performance and specifications of the conveying device 2, for example. can be set to any possible value.

実施形態では所定の基準値が固定値である例を示したが、所定の基準値を変更する構成とすることもできる。例えば、相対的に高速で移動している場合には停止するまでにある程度の時間が掛かると思われるため基準値を高めに設定し、相対的に低速で移動している場合には停止するまでの時間が短くなると想定されるため基準値を低めに設定する構成とすることができる。あるいは、記憶部5dに過去の速度情報を履歴として記憶しておき、搬送装置2の速度が増加傾向にある場合には基準値を高めに設定し、減少傾向にある場合には基準値を低めに設定する構成とすることもできる。 Although the example in which the predetermined reference value is a fixed value has been shown in the embodiment, the predetermined reference value can also be changed. For example, if it is moving relatively fast, it will take a certain amount of time to stop, so set a higher reference value, and if it is moving relatively slowly, wait until it stops. Since it is assumed that the period of time is shortened, it is possible to set the reference value to be low. Alternatively, past speed information is stored as a history in the storage unit 5d, and when the speed of the conveying device 2 tends to increase, the reference value is set higher, and when it tends to decrease, the reference value is set lower. can also be configured to be set to

実施形態では指令値を生成する制御周期(ΔT)ごとに指令値を送信する例を示したが、指令値を生成する周期内に複数回送信することもできる。
ロボットシステム1は、1台のマスター側制御装置3で複数の搬送装置2を制御するような構成にも適用することができる。
Although the example in which the command value is transmitted in each control cycle (ΔT) for generating the command value has been shown in the embodiment, it is also possible to transmit the command value multiple times within the cycle in which the command value is generated.
The robot system 1 can also be applied to a configuration in which one master-side control device 3 controls a plurality of transfer devices 2 .

実施形態ではエンコーダ8のパルス差分値を速度情報として送信する例を示したが、搬送装置2の速度を検出する速度計により取得した速度を速度情報として送信することもできる。
上記した実施形態はあくまでも例示であり、本発明の技術的範囲を限定することは意図していない。
Although the example in which the pulse difference value of the encoder 8 is transmitted as speed information has been shown in the embodiment, the speed acquired by a speedometer that detects the speed of the conveying device 2 can also be transmitted as speed information.
The above-described embodiments are merely examples, and are not intended to limit the technical scope of the present invention.

図面中、1はロボットシステム、2は搬送装置、3はマスター側制御装置(マスター側の制御装置)、3aは指令値生成部、3bは速度情報生成部、3cは通信部、4はマスター側ロボット(マスター側のロボット)、5はスレーブ側制御装置(スレーブ側の制御装置)、5aは指令値生成部、5bは判定部、5cは補正部、5dは記憶部、5eは通信部、6はスレーブ側ロボット(スレーブ側のロボット)、7はモータ(付加軸)、8はエンコーダを示す。 In the drawing, 1 is a robot system, 2 is a transport device, 3 is a master side control device (master side control device), 3a is a command value generation unit, 3b is a speed information generation unit, 3c is a communication unit, and 4 is the master side. A robot (master-side robot), 5 a slave-side control device (slave-side control device), 5a a command value generation unit, 5b a determination unit, 5c a correction unit, 5d a storage unit, 5e a communication unit, 6 denotes a slave-side robot (slave-side robot), 7 a motor (additional axis), and 8 an encoder.

Claims (5)

搬送装置とロボットの動作とを一括で制御する付加軸トラッキングを行うロボットシステムであって、
前記搬送装置を制御するマスター側の制御装置と、
前記マスター側の制御装置によって制御されるマスター側のロボットと、
前記マスター側の制御装置と通信可能に接続されている1台以上のスレーブ側の制御装置と、
前記スレーブ側の制御装置によってそれぞれ制御される1台以上のスレーブ側のロボットと、を備え、
前記マスター側の制御装置は、
前記搬送装置に与える指令値を生成する指令値生成部と、
前記搬送装置の速度を特定可能な速度情報を生成する速度情報生成部と、
生成した指令値と速度情報とを制御情報としてUDP通信によって前記スレーブ側の制御装置に送信する通信部と、を有し、
前記スレーブ側の制御装置は、
前記マスター側の制御装置から送信された制御情報を受信する通信部と、
前回の制御に用いた指令値を記憶する記憶部と、
前記マスター側の制御装置との間のUDP通信が正しく行われたか否かを判定する判定部と、
前記判定部によって前記マスター側の制御装置との間のUDP通信が正しく行われなかったと判定された場合に、今回の制御に用いる指令値を補正する補正部と、を有し、
前記判定部は、今回の制御に用いる指令値と前回の制御に用いた指令値とが一致する場合であって、且つ、今回の制御に用いる前記搬送装置の速度が所定の基準値を超えている場合に、前記マスター側の制御装置との間のUDP通信が正しく行われなかったと判定し、
前記補正部は、今回の制御に用いる指令値を、前記搬送装置の速度と制御周期とを乗じた値を加えた値に補正するロボットシステム。
A robot system that performs additional axis tracking for collectively controlling the operation of a transport device and a robot,
a master-side control device that controls the conveying device;
a master-side robot controlled by the master-side control device;
one or more slave-side control devices communicably connected to the master-side control device;
one or more slave-side robots each controlled by the slave-side controller,
The control device on the master side,
a command value generation unit that generates a command value to be given to the conveying device;
a speed information generating unit that generates speed information that can identify the speed of the conveying device;
a communication unit that transmits the generated command value and speed information as control information to the control device on the slave side by UDP communication;
The control device on the slave side,
a communication unit that receives control information transmitted from the control device on the master side;
a storage unit that stores the command value used in the previous control;
a determination unit that determines whether UDP communication with the master-side control device has been performed correctly;
a correction unit that corrects a command value used for current control when the determination unit determines that UDP communication with the control device on the master side has not been performed correctly,
The judging unit determines that when the command value used in the current control matches the command value used in the previous control and the speed of the conveying device used in the current control exceeds a predetermined reference value. If there is, it is determined that the UDP communication with the control device on the master side was not performed correctly,
The robot system, wherein the correcting unit corrects the command value used in the current control to a value obtained by multiplying the speed of the conveying device by the control cycle.
前記判定部は、前記基準値を零に設定する請求項1記載のロボットシステム。 2. The robot system according to claim 1, wherein the determination unit sets the reference value to zero. 前記記憶部は、制御に用いた複数の速度情報を履歴として記憶し、
前記補正部は、前記記憶部に記憶されている履歴から前記搬送装置の速度の変化傾向を求め、当該速度の変化傾向を加味して指令値を補正する請求項1記載のロボットシステム。
The storage unit stores a plurality of pieces of speed information used for control as a history,
2. The robot system according to claim 1, wherein the correcting unit obtains a tendency of change in speed of the conveying device from the history stored in the storage unit, and corrects the command value in consideration of the tendency of change in speed.
前記マスター側の制御装置の前記速度情報生成部は、前記搬送装置の駆動軸に今回送る指令値をエンコーダのパルス値に変換した値と、前回送った指令値をエンコーダのパルス値に変換した値との差分であるパルス差分値を、速度情報として送信する請求項1から3のいずれか一項記載のロボットシステム。 The speed information generation unit of the control device on the master side converts the command value sent this time to the drive shaft of the transport device into an encoder pulse value, and the command value sent last time into an encoder pulse value. 4. The robot system according to any one of claims 1 to 3, wherein a pulse difference value which is a difference between and is transmitted as velocity information. 搬送装置とロボットの動作とを一括で制御する付加軸トラッキングを行うロボットシステムにおいて、前記搬送装置を制御するマスター側の制御装置から送信された制御情報に基づいて動作するスレーブ側のロボットの制御装置であって、
前記マスター側の制御装置は、制御情報として、前記搬送装置に与える指令値と前記搬送装置の速度を特定可能な速度情報と接続されている全ての前記スレーブ側の制御装置にUDP通信により一斉に送信し、
前記マスター側の制御装置から送信された制御情報を受信する通信部と、
前回の制御に用いた指令値を記憶する記憶部と、
前記マスター側の制御装置との間のUDP通信が正しく行われたか否かを判定する判定部と、
前記判定部によって前記マスター側の制御装置との間のUDP通信が正しく行われなかったと判定された場合に、今回の制御に用いる指令値を補正する補正部と、を有し、
前記判定部は、今回の制御に用いる指令値と前回の制御に用いた指令値とが一致する場合であって、且つ、今回の制御に用いる前記搬送装置の速度が所定の基準値を超えている場合に、前記マスター側の制御装置との間のUDP通信が正しく行われなかったと判定し、
前記補正部は、今回の制御に用いる指令値を、前記搬送装置の速度と制御周期とを乗じた値を加えた値に補正するロボットの制御装置。
In a robot system that performs additional axis tracking that collectively controls the operations of a transport device and a robot, a control device for a slave-side robot that operates based on control information transmitted from a master-side control device that controls the transport device. and
The control device on the master side sends, as control information, a command value to be given to the transfer device and speed information capable of specifying the speed of the transfer device to all the control devices on the slave side connected simultaneously by UDP communication. send and
a communication unit that receives control information transmitted from the control device on the master side;
a storage unit that stores the command value used in the previous control;
a determination unit that determines whether UDP communication with the master-side control device has been performed correctly;
a correction unit that corrects a command value used for current control when the determination unit determines that UDP communication with the control device on the master side has not been performed correctly,
The judging unit determines that when the command value used in the current control matches the command value used in the previous control and the speed of the conveying device used in the current control exceeds a predetermined reference value. If there is, it is determined that the UDP communication with the control device on the master side was not performed correctly,
The correction unit corrects the command value used in the current control to a value obtained by multiplying the speed of the conveying device by the control cycle.
JP2019043670A 2019-03-11 2019-03-11 robot system, robot controller Active JP7225946B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019043670A JP7225946B2 (en) 2019-03-11 2019-03-11 robot system, robot controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019043670A JP7225946B2 (en) 2019-03-11 2019-03-11 robot system, robot controller

Publications (2)

Publication Number Publication Date
JP2020146766A JP2020146766A (en) 2020-09-17
JP7225946B2 true JP7225946B2 (en) 2023-02-21

Family

ID=72431205

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019043670A Active JP7225946B2 (en) 2019-03-11 2019-03-11 robot system, robot controller

Country Status (1)

Country Link
JP (1) JP7225946B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004314255A (en) 2003-04-17 2004-11-11 Yaskawa Electric Corp Robot control device
JP2005111607A (en) 2003-10-07 2005-04-28 Fanuc Ltd Material flow tracking device using robot
JP2006180223A (en) 2004-12-22 2006-07-06 Fujitsu Ltd Communication system
US20100017033A1 (en) 2008-07-18 2010-01-21 Remus Boca Robotic systems with user operable robot control terminals
US20100063625A1 (en) 2008-09-05 2010-03-11 Krause Kenneth W Line tracking data over ethernet
JP2011083841A (en) 2009-10-13 2011-04-28 Seiko Epson Corp Robot control device, robot control system, and robot control method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3421172B2 (en) * 1995-06-07 2003-06-30 三菱電機株式会社 Communication method of robot controller
JP3834088B2 (en) * 1995-11-10 2006-10-18 ファナック株式会社 A vision sensor robot system for tracking multiple robots
JPH1190871A (en) * 1997-09-19 1999-04-06 Yaskawa Electric Corp Synchronous control method for robot and conveyer

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004314255A (en) 2003-04-17 2004-11-11 Yaskawa Electric Corp Robot control device
JP2005111607A (en) 2003-10-07 2005-04-28 Fanuc Ltd Material flow tracking device using robot
JP2006180223A (en) 2004-12-22 2006-07-06 Fujitsu Ltd Communication system
US20100017033A1 (en) 2008-07-18 2010-01-21 Remus Boca Robotic systems with user operable robot control terminals
US20100063625A1 (en) 2008-09-05 2010-03-11 Krause Kenneth W Line tracking data over ethernet
JP2011083841A (en) 2009-10-13 2011-04-28 Seiko Epson Corp Robot control device, robot control system, and robot control method

Also Published As

Publication number Publication date
JP2020146766A (en) 2020-09-17

Similar Documents

Publication Publication Date Title
US11040449B2 (en) Robot control system and method of controlling a robot
JP5916716B2 (en) Method for controlling an automated work cell
US8489238B2 (en) Robot control apparatus
US11000949B2 (en) Robot for controlling learning in view of operation in production line, and method of controlling the same
JP6392825B2 (en) Robot controller with learning control function
US10507581B2 (en) Robot system
CN111032294A (en) Information transmission method for controller and abnormality detection method for encoder
JP6447141B2 (en) Robot emergency stop method, robot control device
US11141855B2 (en) Robot system, method of controlling robot arm, recording medium, and method of manufacturing an article
JP7225946B2 (en) robot system, robot controller
JP7185495B2 (en) REDUCER SYSTEM, METHOD OF CORRECTION OF COMMAND VALUE TO DRIVE UNIT, METHOD OF GENERATING CORRECTION DATA, AND METHOD OF MANUFACTURING REDUCER SYSTEM
JP6381268B2 (en) Robot control system and robot control method
US11717961B2 (en) Robot control method and robot control device
JP2017035756A (en) Robot control device suppressing vibration of tool tip end of robot having travel shaft
JP2020006469A (en) Automatic machine and controller
KR20210127746A (en) Methods and systems for performing predetermined tasks by means of robots
US10289087B2 (en) Motion controller
US20220176557A1 (en) Robot control method and robot control device
EP3319226B1 (en) Servomotor drive device
US11453120B2 (en) Robot system
WO2024076266A1 (en) Control node and method performed therein for handling control commands for a robot device
JP2018158389A (en) Power transmission system of machine device
KR20240026170A (en) Detecting device and method for calculating amount of impact of robot manipulator
CN118046378A (en) Robot control method and robot system
KR20110063099A (en) Control method and apparatus for robot

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220217

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221228

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230123

R150 Certificate of patent or registration of utility model

Ref document number: 7225946

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150