CONTROL DEVICE, MECHANICAL SYSTEM AND TIME SYNCHRONIZATION METHOD

The control device synchronizes wireless sensor times with the control device by calculating a delay time based on acceleration data correlation, addressing vibration suppression inefficiencies in high-speed robots, achieving precise vibration reduction.

DE102020204950B4Active Publication Date: 2025-01-02FANUC LTD
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
DE102020204950
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-05-27
Filing Date
2020-04-20
Publication Date
2025-01-02
Estimated Expiration
2040-04-20

AI Technical Summary

Technical Problem

High-speed operation of robots leads to vibrations due to insufficient rigidity, and existing synchronization methods for wireless sensors and control devices are inefficient, leading to incorrect vibration suppression.

Method used

A control device synchronizes the time of wireless sensors with the control device by calculating a delay time based on the correlation between command and detected acceleration time series data, using a radio signal exchange and learning control to adjust operations.

Benefits of technology

This method allows for precise synchronization of sensor and control device times, effectively suppressing vibrations at the robot's tip part through learning control, reducing the time and effort required for synchronization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Control device (20) configured to control a mechanical device (10) with a movable component driven by a motor (102), the control device (20) comprising: a radio signal exchange unit (201) configured to receive a sensor signal indicating a position, speed or acceleration of a tip part of the moving component of the mechanical device (10), which is periodically detected by a sensor part (101) arranged on the tip part; a data acquisition unit (202) configured to acquire initial time series data of acceleration at the tip part of the moving component based on the position, velocity or acceleration in the received sensor signal; a data processing unit (204) which is configured to calculate second time series data of acceleration at the tip part of the moving component in accordance with the first time series data, based on a drive command to the motor (102); a delay time calculation unit (205) which is configured, when the mechanical device (10) is caused to perform a predetermined basic operation, to calculate a delay time τ of the first time series data, acquired by the data acquisition unit (202), relative to the second time series data calculated by the data calculation unit (204), based on a correlation coefficient between the first time series data and the second time series data; and a time synchronization unit (206) configured to synchronize the time of the sensor part and the time of the control device (20) based on the delay time τ calculated by the delay time computation unit (205).
Need to check novelty before this filing date? Find Prior Art

Description

BACKGROUND OF THE INVENTIONField of the invention

[0001] The present invention relates to a control device, a mechanical system and a time synchronization method. State of the art

[0002] High-speed operation of a robot makes it possible to shorten its cycle time, leading to increased efficiency. However, when the robot's operating speed is increased, a tip part of the robot vibrates due to several factors, such as insufficient rigidity of a reducer or robot arm.

[0003] A technique to address this problem has been proposed in which an acceleration sensor mounted on the tip of the robot detects vibration while the robot is operating, and learning control is performed to reduce the vibration. For example, see Patent Document 1.

[0004] In some cases, an acceleration sensor (hereinafter also referred to as a wireless sensor) configured to wirelessly transmit the measured acceleration to a control device is used due to the complexity of wiring the cable connecting the acceleration sensor and the control device for controlling the robot. It should be noted that the robot's vibration is calculated based on the comparison between the command acceleration output by the control device and the acceleration detected by the wireless sensor. This requires that the time of the control device and the time of the wireless sensor be synchronized with each other. If the time of the control device and the time of the wireless sensor are not synchronized, incorrect vibration is calculated. Therefore, in some cases, it is not possible to correctly suppress the vibration, resulting in greater vibration.

[0005] In this case, for example, there are the following two possible methods of: method (A) of directly connecting the control device and the wireless sensor through a cable or the like for synchronization; and method (B) of transmitting a signal indicating the current time from the control device (or the wireless sensor) to the wireless sensor (or the control device) for synchronization.

[0006] Method (A) requires periodic connection for synchronization because the time of the controller and the time of the wireless sensor deviate from each other with the passage of time. However, the robot and the controller are often located away from each other, and thus, it takes time and effort to directly connect the controller and the wireless sensor with a cable or the like. In the case where vibration is to be measured using the wireless sensor, the position and direction of the attached wireless sensor must be adjusted, and thus, it further requires time and labor to perform the above-described adjustment each time the wireless sensor is detached from the robot.

[0007] On the other hand, in method (B), a random delay may be generated between the control device and the wireless sensor in some cases. Therefore, even if the control device (or wireless sensor) sends a signal of the current time to the wireless sensor (or control device) at a time t1, a reception time t2 on the receiving side may deviate due to such a random delay.

[0008] A technique to address such a problem has been proposed in which a reference correlation value is set based on the command acceleration of the tip part of the arm to synchronize the time series data of the command acceleration and the detected time series data of the acceleration. For example, refer to Patent Document 2.

[0009] See also patent documents 2-8. Patent document 1: JP 2018- 130 800 A Patent document 2: JP 2015- 163 416 A Patent document 3: DE 10 2019 205 890 A1 Patent document 4: DE 10 2018 000 445 A1 Patent document 5: DE 10 2016 012 065 B4 Patent document 6: DE 10 2009 037 302 A1 Patent document 7: EP 1 803 536 A1 Patent document 8: US 2019 / 0 305 864 A1 SUMMARY OF THE INVENTION

[0010] Fig. Figure 1A shows an example of time series data of command acceleration of the operating speed at which problematic vibration is generated. Fig. Figure 1B shows an example of the time series data of acceleration detected by a wireless sensor, the operating speed at which problematic vibration is generated.

[0011] As in Fig. 1A and Fig. 1B, since the waveform of the time series data of command acceleration and the waveform of the detected time series data of acceleration are greatly different from each other in the operation that derives such actual problematic vibration, correct synchronization may not be performed.

[0012] Therefore, it is an object of the present invention to easily synchronize the time of the control device and the time of the wireless sensor by learning control when the vibration is to be suppressed.

[0013] This problem is solved by the subject matter of the main claim and the subject matter of the subsidiary claims.

[0014] (1) A control device 20 in one aspect of the present disclosure is configured to control a mechanical device 10 having a movable member to be driven by a motor 102. The control device 20 includes a radio signal exchange unit 201 configured to receive a sensor signal indicating a position, a speed, or an acceleration of a tip part of the movable member of the mechanical device 10, which is periodically detected by a sensor part 101 arranged at the tip part; a data acquisition unit 202 configured to acquire first time-series data of acceleration at the tip part of the movable member based on the position, the speed, or the acceleration in the received sensor signal; and a data calculation unit 204 configured tocalculate second time series data of acceleration at the tip part of the movable member corresponding to the first time series data based on a drive command to the motor 102; a delay time calculation unit 205 configured to calculate, when the mechanical device 10 is caused to perform predetermined basic operations, a delay time (τ) of the first time series data acquired by the data acquisition unit 202 with respect to the second time series data calculated by the data calculation unit 204 based on a degree of correlation between the first time series data and the second time series data; and a time synchronization unit 206 configured to synchronize the time of the sensor part 101 and the time of the control device 20 based on the delay time τ calculated by the delay time calculation unit 205.

[0015] (2) A control device 20 in one aspect of the present disclosure is configured to control a mechanical device 10 having a movable member to be driven by a motor 102. The control device 20 includes a radio signal exchange unit 201 configured to receive a sensor signal indicating a position, a speed, or an acceleration of a tip part of the movable member of the mechanical device 10, which is periodically detected by a sensor part 101 arranged at the tip part; a data acquisition unit 202 configured to acquire first time-series data of the acceleration at the tip part of the movable member based on the position, the speed, or the acceleration in the received sensor signal; and a data calculation unit 204 configured toto calculate second time series data of acceleration at the tip part of the movable member corresponding to the first time series data, based on a drive command to the motor 102, a delay time calculation unit 205 configured, when the mechanical device is caused to perform an operation specified in a program to be executed by the control device, at a speed equal to or less than a predetermined value, instead of a speed specified in the program, to calculate a delay time τ of the first time series data acquired by the data acquisition unit 202 with respect to the second time series data calculated by the data calculation unit 204 based on the degree of correlation between the first time series data and the second time series data, and a time synchronization unit 206 configuredto synchronize the time of the sensor part 101 and the time of the control device 20 based on the delay time τ calculated by the delay time calculation unit 205.

[0016] (3) A mechanical system 1 in one aspect of the present disclosure includes a mechanical device 10 having a movable member to be driven by a motor 102, and the control device 20 according to (1) or (2).

[0017] (4) A time synchronization method in one aspect of the present disclosure is implemented to perform time synchronization between a sensor part 101 disposed at a tip portion of the movable member of the mechanical device 10 and the control device 20 in a mechanical system 1 including a mechanical device 10 having a movable member to be driven by a motor 102 and a control device 20 for controlling the mechanical device 10. The time synchronization method includes a radio signal exchange step of receiving a sensor signal indicating a position, a speed, or an acceleration of the tip portion periodically detected by the sensor part 101, a data acquisition step of acquiring first time-series data of acceleration at the tip portion of the movable member based on the position,the speed or acceleration in the received sensor signal, a data calculation step of calculating second time series data of the acceleration at the tip part of the movable component corresponding to the first time series data based on a drive command to the motor 102, a delay time calculation step of calculating, when the mechanical device 10 is caused to perform a predetermined basic operation, a delay time of the first time series data acquired in the data acquisition step relative to the second time series data calculated in the data calculation step based on a degree of correlation between the first time series data and the second time series data, and a time synchronization step of synchronizing the time of the sensor part 101 and the time of the control device 20 based on the delay time calculated in the delay time calculation step.

[0018] (5) A time synchronization method in one aspect of the present disclosure is implemented to perform time synchronization between a sensor part 101 arranged at a tip part of the movable part of the mechanical device 10 and the control device 20 in a mechanical system including a mechanical device 10 having a movable member to be driven by a motor 102 and a control device 20 for controlling the mechanical device 10. The time synchronization method includes a radio signal exchange step of receiving a sensor signal indicating a position, a speed, and an acceleration of the tip part periodically detected by the sensor part 101, a data acquisition step of acquiring first time-series data of the acceleration at the tip part of the movable member based on the position,the speed or acceleration in the received sensor signal, a data calculation step of calculating second time series data of the acceleration at the tip part of the movable component corresponding to the first time series data, based on a drive command to the motor 102, a delay time calculation step of calculating, when the mechanical device 10 is caused to perform an operation specified in a program to be executed by the control device 20, at a speed equal to or less than a predetermined value, instead of a speed specified in the program, a delay time of the first time series data acquired in the data acquisition step with respect to the second time series data calculated in the data calculation step, based on a degree of correlation between the first time series data and the second time series data,and a time synchronization step of synchronizing the time of the sensor part 101 and the time of the control device 20 based on the delay time calculated in the delay time calculation step.

[0019] In one aspect of the present disclosure, the time of the control device and the time of the wireless sensor are capable of being easily synchronized when vibration is to be suppressed by learning control. BRIEF DESCRIPTION OF THE DRAWINGS Fig. Figure 1A shows an example of time series data of command acceleration of the operating speed at which a problematic vibration is generated. Fig. Figure 1B shows an example of the time series data of acceleration detected by a wireless sensor, the operating speed at which problematic vibration is generated. Fig. 2 is a functional block diagram illustrating a functional configuration example of a mechanical system according to a first embodiment. Fig. 3 shows an example of a robot. Fig. 4 explains coordinate systems in Fig. 3 robots shown. Fig. Figure 5A shows an example of the time series data of the Fig. 2 calculated instruction acceleration in basic operation. Fig. Figure 5B shows an example of the time series data of acceleration obtained by the Fig. 2 shown wireless sensor is detected in basic operation. Fig. Figure 6 shows an example of correlation processing performed by a Fig. 2 shown delay time calculation unit is carried out. Fig. 7 shows an example of the relation between the time series data of command acceleration and the detected time series data of acceleration at the time when a mutual correlation coefficient is the maximum value. Fig. 8 is a flowchart for describing time synchronization processing of a control device. DETAILED DESCRIPTION OF THE INVENTION

[0020] The first description is described below with reference to the drawings. <Erste Ausführungsform>

[0021] Fig. 2 is a functional block diagram illustrating a functional configuration example of a mechanical system 1 according to the first embodiment. As shown in Fig. 2, the mechanical system 1 comprises a mechanical device 10 and a control device 20.

[0022] The mechanical device 10 and the control device 20 may be directly connected to each other via a connection interface (not shown). Note that the mechanical device 10 and the control device 20 may be connected to each other via a network such as a LAN (Local Area Network). In this case, both the mechanical device 10 and the control device 20 may include a communication unit (not shown) configured to perform mutual communication through such a connection.

[0023] The mechanical device 10 is, for example, a machine tool or an industrial robot. In the description below, the mechanical device is an industrial robot (hereinafter also referred to as "robot 10").

[0024] Fig. 3 shows an example of the robot 10.

[0025] The robot 10, which is, for example, a vertical joint type robot with six axes shown in Fig. 3, includes six connecting shafts, from a connecting shaft 11(1) to a connecting shaft 11(6), and an arm portion 12 connected to the corresponding connecting shafts 11(1) to 11(6). The robot 10 drives a movable member, such as the arm portion 12, by driving the servo motor 102(1) to the servo motor 102(6), which are respectively disposed on the connecting shafts 11(1) to 11(6), based on the drive command issued by the controller 20. In one example, an end effector 13, such as a welding gun, a gripping hand, or a laser irradiation device, is attached to the tip portion of the movable member of the robot 10, for example, the tip portion of the connecting shaft 11(6). A wireless sensor 101 is disposed on the end effector 13.

[0026] It should be noted that in the description above, the robot 10 is a vertical articulated robot with six axes, or alternatively may be a vertical articulated robot with axes other than six, or may be a horizontal articulated robot or a parallel link robot.

[0027] Hereinafter, the connecting shafts 11(1) to 11(6) may be collectively referred to as "connecting shafts 11" in the case where it is not necessary to individually distinguish the connecting shafts 11(1) to 11(6). Furthermore, the servomotors 102(1) to 102(6) may be collectively referred to as "servomotors 102" in the case where it is not necessary to individually distinguish the servomotors 102(1) to 102(6).

[0028] Fig. 4 describes coordinate systems of the Fig. 3 shown robot 10.

[0029] As in Fig. As shown in Figure 4, the robot 10 includes a world frame Σw of a three-dimensional orthogonal coordinate system fixed to a space, and a mechanical interface coordinate system Σm of a three-dimensional orthogonal coordinate system set to the flank of the tip portion of the connecting shaft 11(6) of the robot 10. In the present embodiment, the world frame Σw and the mechanical interface coordinate system Σm are previously correlated in position through a known calibration. This allows the control device 20 described below to control the position of the tip portion of the robot 10, to which the end effector 13 is attached, using the position defined by the world frame Σw.

[0030] The wireless sensor 101 is an acceleration sensor configured to periodically detect the acceleration of the tip portion of the movable member at a predetermined sampling time while the robot 10 is operating. The wireless sensor 101 includes a clock unit (not shown) and acquires the time information output by the clock unit as the detected time, each time detecting the acceleration. The wireless sensor 101 includes, for example, a radio signal exchange unit 111. The radio signal exchange unit 111 wirelessly transmits the sensor signal containing the detected acceleration and time information to the control device 20 via an antenna 112.

[0031] It should be noted that a predetermined sampling time may be set as appropriate depending on the operation contents of the robot 10, the environment of the factory in which the robot 10 is arranged, or other factors.

[0032] The wireless sensor 101 is not limited to such an acceleration sensor, but may be a speed sensor for detecting the speed of the tip part of the movable member or a device for detecting the position of the tip part of the movable member, such as a laser tracker, a camera, or a motion capture device.

[0033] The radio signal exchange unit 111 is included in the wireless sensor 101 in the description above, or alternatively may be a separate device from the wireless sensor 101. <Steuervorrichtung 20>

[0034] The control device 20 (also referred to as a “robot controller”) controls the operation of the robot 10 by outputting a drive command to the robot 10 based on a program.

[0035] As in Fig. 2, the control device 20 according to the present embodiment is configured with a radio signal exchange unit 201, a data acquisition unit 202, a motor control unit 203, a data calculation unit 204, a delay time calculation unit 205, a time synchronization unit 206, a learning control unit 207, and a storage unit 208.

[0036] It should be noted that the control device 20 includes an arithmetic processing device, not shown, such as a CPU (central processing unit), so as to control the operation of the Fig. 2. The control device 20 includes an unillustrated auxiliary storage device such as a ROM (Read Only Memory) and an HDD (Hard Disk Drive) for storing various types of control programs, and an unillustrated main storage device such as a RAM (Random Access Memory) for temporarily storing data required by the arithmetic processing device to execute the programs.

[0037] In the control device 20, the arithmetic processing device reads an OS and application software from the auxiliary storage device and delivers the read OS and application software to the main storage device, thereby performing arithmetic processing based on the OS and application software. The control device 20 controls each set of hardware based on the calculation result. As a result, the processing is performed by the Fig. 2. This means that the control device 20 is capable of being implemented through collaborative operation of hardware and software.

[0038] The radio signal exchange unit 201 receives the sensor signal containing the acceleration and time information detected at the tip part of the robot 10 via an antenna 211. The radio signal exchange unit 201 outputs the received sensor signal to the data acquisition unit 202.

[0039] The data acquisition unit 202 acquires the acceleration detected by the wireless sensor 101 at the tip portion of the movable member of the robot 10 and the detected time information from the sensor signal received via the radio signal exchange unit 201. The data acquisition unit 202 stores the detected acceleration and the detected time as detected acceleration time series data in the storage unit 208, which will be described below.

[0040] For example, the motor control unit 203 outputs a drive command to the servo motors 102, which are respectively arranged on the connecting shafts 11 of the robot 10, based on a program.

[0041] More specifically, the motor control unit 203 performs feedback control so as to make the rotation of the servo motors 102 match the values ​​in the drive command, based on the signals sent by position detectors not shown, such as rotary encoders, respectively included in the servo motors 102.

[0042] It should be noted that, in the case where the control device 20 performs time synchronization processing, the motor control unit 203 drives the servo motor 102(6) based on a simple operation program for predetermined basic operations, such as rotational operations around an axis of the connecting shaft 11(6) arranged at the tip portion of the movable member. The motor control unit 203 may drive the robot 10 based on a program for operating any one of the connecting shafts 11(1) to 11(6) serving as the basic operation, instead of the connecting shaft 11(6). Alternatively, the basic operation may be operations around a number smaller than six, such as two or three of the axes, of the six connecting shafts 11.

[0043] The data calculation unit 204 calculates, for example, a command acceleration at the tip part of the movable member where the wireless sensor 101 is mounted, based on the drive command given by the motor control unit 203 to the respective servo motors 102.

[0044] Specifically, the data calculation unit 204 calculates the time series data of the command position of the tip part of the movable component based on the drive command values ​​for the respective servo motors 102. The data calculation unit 204 calculates the time series data of the command acceleration at the tip part of the movable component by performing a second-order derivative of the calculated time series data of the command position with time. The data calculation unit 204 stores the calculated time series data of the command acceleration in the storage unit 208.

[0045] It should be noted that, in the case where the control device 20 performs the time synchronization processing, the motor control unit 203, for example, drives the servo motor 102(6) based on the predetermined basic operation program as described above to perform a rotation operation around an axis of the connecting shaft 11(6).

[0046] Fig. Figure 5A shows an example of time series data a r (t) of command acceleration, which is caused by the Fig. 2 shown data calculation unit 204 is calculated in the basic operation. Fig. Figure 5B shows an example of time series data a s (t) of acceleration, which is caused by the Fig. 2 shown wireless sensor 101 in the basic operation.

[0047] In this case, a simple operation is instructed in the drive command issued by the motor control unit 203 and thus, as shown in Fig. 5A and Fig. As shown in Figure 5B, the command acceleration time series data calculated by the data calculation unit 204 and the acceleration time series data detected by the wireless sensor 101 indicate the same or similar waveforms to each other, regardless of the magnitudes of the accelerations. This allows the control device 20 according to the present embodiment to synchronize the time of the control device 20 and the time of the sensor part 101.

[0048] In the case where the robot 10 is caused to perform a predetermined basic operation, the delay time calculation unit 205 calculates a degree of correlation between the detected time series data a s (t) of acceleration and the calculated time series data a r (t) of command acceleration. The delay time calculation unit 205 calculates a delay time of the time series data a s (t) of the acceleration to the time series data a r(t) of the command acceleration based on the calculated correlation degree.

[0049] Fig. 6 shows an example of the Fig. 2 shown delay time calculation unit 205 executed correlation processing.

[0050] Fig. Figure 7 shows an example of the relationship between the time series data a r (t) of command acceleration and the detected time series data a s (t) of acceleration at the time when a mutual correlation coefficient r(τ) is the maximum value.

[0051] It should be noted that in each of Fig. 6 and Fig. 7 the time series data a r (t) of command acceleration are indicated by a solid line. The time series data a s (t) of acceleration detected by the wireless sensor 101 is indicated by a two-point chain line. Time series data a s(t-τ) of acceleration detected and shifted by a delay time τ are indicated by a dashed line.

[0052] More specifically, the delay time calculation unit 205 calculates the mutual correlation coefficient r(τ) by shifting by τ seconds in the time interval defined by the Fig. 6 shown arrow direction, the time series data a s (t) of acceleration detected by the wireless sensor 101 to the time series data a calculated by the data computing unit 204 r (t) of command acceleration. The delay time calculation unit 205 calculates the mutual correlation coefficients r(τ) with respect to various values ​​of a time τ and calculates the value τ deriving the maximum mutual correlation coefficient r(τ) as shown in Fig. 7. In other words, the time of the clock unit (not shown) included in the wireless sensor 101 deviates from the time of the clock unit (not shown) included in the control device 20 by the time τ, derived from the maximum mutual correlation coefficient r(τ).

[0053] The time synchronization unit 206 can synchronize the time of the sensor part 101 and the time of the control device 20 based on the delay time τ calculated by the delay time calculation unit 205.

[0054] More specifically, the time synchronization unit 206 compensates the time information output by the clock unit (not shown) of the control device 20 using the delay time τ. With the compensation, the time synchronization unit 206 is able to synchronize the time information output by the clock unit (not shown) of the sensor part 101 and the time information output by the clock unit (not shown) of the control device 20.

[0055] The learning control unit 207 executes, for example, an actual machining program to be subjected to learning control after synchronizing the time of the sensor part 101 and the time of the control device 20, to acquire the time series data of acceleration detected by the wireless sensor 101 when the robot 10 is operating and the position command included in the drive command. The learning control unit 207 stores the acquired time series data of acceleration and the acquired position command in the storage unit 208.

[0056] After the program to be subjected to learning control is executed once, the learning control unit 207 calculates a vibration amount for each control period during which the robot 10 operates, and the vibration compensation amount for canceling the calculated vibration amount, and stores them in the storage unit 208. The learning control unit 207 applies the vibration compensation amount stored in the storage unit 208 the next time the same program is executed. Repeating such multiple applications makes it possible to reduce the vibration at the tip part of the movable part of the robot 10.

[0057] Note that the learning control unit 207 is capable of performing the learning control by, for example, a method similar to the method disclosed in Patent Document 1, and thus the detailed description of the method is omitted.

[0058] The storage unit 208, which is a RAM or the like, stores a program, the time series data of acceleration detected by the wireless sensor 101, the time series data of command acceleration calculated by the data calculation unit 204, and the like. <Zeitsynchronisations-Verarbeitung von Steuervorrichtung 20>

[0059] The operation of the time synchronization processing by the control device 20 according to the present embodiment will be described next.

[0060] Fig. 8 is a flowchart for describing the time synchronization processing of the control device 20.

[0061] In step S11, the motor control unit 203 outputs a drive command based on a program for the predetermined basic operation to cause the robot 10 to operate.

[0062] In step S12, the data acquisition unit 202 acquires the time series data a from the sensor signal received via the radio signal exchange unit 201 s (t) of acceleration at the tip part of the movable member detected by the wireless sensor 101 in the basic operation of the robot 10.

[0063] In step S13, the data calculation unit 204 calculates the time series data a r (t) of command acceleration at the tip part of the movable member of the robot 10 based on the drive command of the basic operation.

[0064] In step S14, the delay time calculation unit 205 calculates a mutual correlation coefficient r(τ) between the time series data a s (t) of acceleration detected in step S11 and the time series data a calculated in step S12 r (t) of command acceleration, and then calculates the delay time τ of the detected time series data a s(t) of acceleration compared to the time series data a r (t) of command acceleration.

[0065] In step S15, the time synchronization unit 206 synchronizes the time of the sensor part 101 and the time of the control device 20 based on the delay time τ calculated in step S13.

[0066] As described above, the control device 20 according to the first embodiment causes the robot 10 to perform predetermined basic operation and acquires the time series data detected by the wireless sensor 101 a s (t) of acceleration at the tip part of the movable member of the robot 10 and the time series data a r (t) of command acceleration. The control device 20 calculates the delay time τ of the detected time series data a s (t) of acceleration compared to the time series data a r(t) of command acceleration based on the degree of correlation between the detected time series data a s (t) of acceleration and the time series data a r (t) of command acceleration.

[0067] This allows the control device 20 to easily synchronize the time of the sensor part 101 and the time of the control device 20 based on the calculated delay time τ, resulting in making it possible to suppress the vibration at the tip part of the robot 10 by learning control.

[0068] Even in the case of periodically synchronizing the time of the sensor part 101 and the time of the control device 20, the control device 20 causes the robot 10 to perform the basic operation only once with one connecting shaft 11, and therefore the time synchronization requires less time and effort. (Second embodiment)

[0069] The second embodiment differs from the first embodiment in that a control device according to the second embodiment causes a robot to perform the operation specified in the program to be executed by the control device at a speed equal to or less than a predetermined value, instead of causing the robot to perform predetermined basic operation at the speed specified in the program.

[0070] The second embodiment is described below.

[0071] A mechanical system according to the second embodiment of the present disclosure includes a similar configuration to the configuration of the mechanical system 1 according to the Fig. 2 shown first embodiment.

[0072] A mechanical device (robot) and a control device according to the second embodiment also include similar configurations to the configurations of the control device (robot) 10 and the control device 20 according to the embodiment shown in Fig. 2 and Fig. 3 shown first embodiment.

[0073] However, the second embodiment differs from the first embodiment in that, in the time synchronization processing, the motor control unit 203 of the control device 20 according to the second embodiment causes the robot 10 to perform the operation specified in the program to be executed by the control device 20 at a speed equal to or less than a predetermined value, instead of the speed specified in the program.

[0074] For example, in a case where, in time synchronization processing, the robot 10 hardly performs the basic operation due to the arrangement of a template or the like near the robot 10, due to the attachment of a large-sized end effector 13 to the robot 10, or other factors, the motor control unit 203 may cause the robot 10 to perform the operation based on the program for the actual machining to be subjected to the learning control.

[0075] More specifically, the motor control unit 203 may drive the servo motors 102 so that the robot 10 performs the operation specified in the actual machining program at a speed equal to or lower than a predetermined value, instead of the speed specified in the program.

[0076] In this case, the operating speed of the robot 10 in the time synchronization processing can be set to the speed at which at least the time series data detected by the wireless sensor 101 a s (t) of acceleration and the time series data a calculated by the data calculation unit 204 r (t) of command acceleration indicate the same or similar waveforms to each other. In one example, the motor control unit 203 may cause the robot 10 to perform the operation specified in the actual machining program to be subjected to learning control at different speeds in advance. The control device 20 may measure the waveform of the time series data a at each speed. s (t) of acceleration detected by the wireless sensor 101, and the waveform of the time series data a calculated by the data calculation unit 204 r(t) of command acceleration and can then set a speed equal to or less than a predetermined value at which the same or similar waveforms are specified.

[0077] It should be noted that a predetermined value can be set appropriately here depending on the operation contents of the robot 10, the environment of the factory where the robot 10 is arranged, and other factors.

[0078] In the case where the robot 10 is made to perform the operation specified in the actual machining program at a speed equal to or lower than a predetermined value, instead of the speed specified in the program, the delay time calculation unit 205 may calculate the delay time τ of the time series data a s (t) of acceleration compared to the time series data a r(t) of command acceleration based on the degree of correlation between the detected time series data a s (t) of acceleration and the calculated time series data a r (t) of command acceleration.

[0079] This allows the control device 20 to synchronize the time of the sensor part 101 and the time of the control device 20 based on the actual machining program, thereby making it possible to perform learning control more precisely.

[0080] As described above, the control device 20 according to the second embodiment causes the robot 10 to perform the operation specified in the actual machining program at a speed equal to or lower than a predetermined value, instead of the speed specified in the program. The control device 20 acquires the time series data a detected by the wireless sensor 101 at the tip portion of the movable member of the robot 10. s (t) of acceleration and the time series data a r (t) of command acceleration. The control device 20 calculates the delay time τ of the detected time series data a s (t) of acceleration compared to the time series data a r (t) of command acceleration based on the degree of correlation between the detected time series data a s (t) of acceleration and the time series data a r (t) of command acceleration.

[0081] This allows the control device 20 to easily synchronize the time of the sensor part 101 and the time of the control device 20 based on the calculated delay time τ, resulting in making it possible to suppress the vibration at the tip part of the robot 10 by learning control.

[0082] The synchronization of the time of the sensor part 101 and the time of the control device 20 based on the actual machining program allows the control device 20 to perform more precise learning control.

[0083] The first embodiment and the second embodiment have been described so far. The control device 20 is not limited to the above-described embodiments. Modifications and improvements are possible within the scope of achieving the object.

[0084] In both the first embodiment and the second embodiment described above, the wireless sensor 101 is an acceleration sensor. Alternatively, the wireless sensor 101 may be an inertial sensor, or it may be a speed sensor for detecting the speed of the tip portion of the movable component, or a position sensor for detecting the position of the tip portion of the movable component, such as a laser tracker, a camera, or a motion capture device.

[0085] In the case where the wireless sensor 101 is a speed sensor, the data acquisition unit 202 acquires the speed detected at the tip of the movable part of the robot 10 from the received sensor signal and the detection time. The data acquisition unit 202 performs a first-order derivative on the acquired time-series data of speed over time, thereby enabling the acquisition of the time-series data of acceleration.

[0086] Whereas, in the case where the wireless sensor 101 is a position sensor, the data acquisition unit 202 acquires the position detected at the tip portion of the movable member of the robot 10 from the received sensor signal and the detection time. The data acquisition unit 202 then performs a second-order derivative of the acquired time series data of position over time, thereby enabling the acquisition of the time series data of acceleration.

[0087] In each of the first embodiment and second embodiment described above, the wireless sensor 101 is arranged at the tip portion of the movable member of the robot 10. Alternatively, the wireless sensor 101 may be arranged at a portion other than the tip portion of the movable member of the robot 10. This arrangement allows the influence of the position where the wireless sensor 101 is arranged for each of the end effectors 13 to be reduced.

[0088] It should be noted that the functions included in the control device 20 according to the first embodiment and the second embodiment can be implemented by hardware, software, or a combination thereof. "Implemented by software" here means that the functions are implemented when a computer reads and executes a program.

[0089] Programs are capable of being stored using various types of non-transitory computer-readable media that are to be supplied to a computer. The non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., flexible disk, magnetic tape, hard disk drive), magneto-optical recording media (e.g., a magneto-optical disk), CD-ROM (read-only memory), CD-R, CD-R / W, and semiconductor memories (e.g., mask ROM, PROM (programmable ROM), EPROM (erasable PROM), flash ROM, and RAM). Such programs can be supplied to a computer through various types of transient computer-readable media. Examples of transient computer-readable media include an electrical signal, an optical signal, and an electromagnetic wave.Such a transitory computer-readable medium is capable of delivering a program via a wired communication channel, such as cables and optical fibers, or via a wireless communication channel.

[0090] It should be noted that the steps of describing the program to be recorded in a recording medium include not only the processing to be executed in a time-series manner according to the order of the steps, but also the processing to be executed in parallel or individually, not necessarily in a time-series manner.

[0091] In summary, the control device, the mechanical system and the time synchronization method according to the present disclosure are capable of being realized in various types of embodiments having the following configurations.

[0092] (1) A control device 20 according to the present disclosure is configured to control a mechanical device 10 having a movable member to be driven by a motor (servo motor 102). The control device 20 includes a wireless signal exchange unit 201 configured to receive a sensor signal indicating a position, a speed, or an acceleration of a tip part of the movable member of the mechanical device 10, which is periodically detected by a sensor part (wireless sensor 101) arranged at the tip part, a data acquisition unit 202 configured to acquire first time series data a s (t) to detect acceleration at the tip part of the movable component based on the position, the speed or the acceleration in the received sensor signal, a data computing unit 204 configured to generate second time series data a r(t) of acceleration at the tip part of the moving component according to the first time series data a s (t) based on a drive command to the motor, a delay time calculation unit 205 configured to calculate, when the mechanical device 10 is caused to perform a predetermined basic operation, a delay time τ of the first time series data a s (t) acquired by the data acquisition unit 202, compared to the second time series data a calculated by the data calculation unit 204 r (t), based on a degree of correlation between the first time series data a s (t) and the second time series data a r (t), and a time synchronization unit 206 configured to synchronize time of the sensor part and time of the control device 20 based on the delay time τ calculated by the delay time calculation unit 205.

[0093] The control device 20 is able to easily synchronize the time of the sensor part 101 and the time of the control device 20, resulting in the possibility of suppressing the vibration at the tip part of the mechanical device 10 by learning control.

[0094] (2) The basic operation described above may be used to drive at least one of a plurality of motors (servo motors 102) included in the mechanical device 10.

[0095] Even in the case where the time of the sensor part 101 and the time of the control device 20 are periodically synchronized, such time synchronization with the basic operation requires less time and effort.

[0096] (3) A control device 20 according to the present disclosure is configured to control a mechanical device 10 having a movable member to be driven by a motor (servo motor 102). The control device 20 includes a wireless signal exchange unit 201 configured to receive a sensor signal indicating a position, a speed, or an acceleration of a tip part of the movable member of the mechanical device 10, which is periodically detected by a sensor part (wireless sensor 101) arranged at the tip part, a data acquisition unit 202 configured to acquire first time series data a s (t) of acceleration at the tip part of the movable component based on the position, the speed or the acceleration in the received sensor signal, a data computing unit 204 configured to acquire second time series data a r(t) of acceleration at the tip part of the moving component according to the first time series data a s (t) to calculate, based on a drive command to the motor, a delay time calculation unit 205 configured to, when the mechanical device 10 is caused to perform an operation specified in a program to be executed by the control device 20 at a speed equal to or less than a predetermined value, instead of a speed specified in the program, a delay time τ of the first time series data a s (t), which are acquired by the data acquisition unit 202, compared to the second time series data a r (t) calculated by the data calculation unit 204 based on a degree of correlation between the first time series data a s (t) and the second time series data a r(t), and a time synchronization unit 206 configured to synchronize time of the sensor part and time of the control device 20 based on the delay time τ calculated by the delay time calculation unit 205.

[0097] The control device 20 is able to easily synchronize the time of the sensor part 101 and the time of the control device 20, resulting in the possibility of suppressing the vibration at the tip part of the mechanical device 10 by learning control.

[0098] (4) The above-described mechanical device 10 may be a robot, and the above-described control device 20 may be a robot control device.

[0099] The configurations allow precise learning control to be performed with respect to the vibration at the tip part of the movable member of the robot (mechanical device) 10.

[0100] (5) A control system 1 according to the present disclosure includes a mechanical device having a movable member to be driven by a motor (servo motor 102), and the control device 20 according to any one of (1) to (4).

[0101] The mechanical system 1 described above is capable of producing effects similar to the effects of any of (1) to (4).

[0102] (6) A time synchronization method according to the present disclosure is carried out to perform, in a mechanical system 1 including a mechanical device 10 having a movable member to be driven by a motor (servomotor 102) and a control device 20 for controlling the mechanical device 10, time synchronization between a sensor part (wireless sensor 101) arranged at a tip part of the movable member of the mechanical device 10 and the control device 20. The time synchronization method includes a radio signal exchange step of receiving a sensor signal indicating a position, a speed, or an acceleration of the tip part periodically detected by the sensor part, a data acquisition step of acquiring first time series data a s(t) of acceleration at the tip part of the movable component based on the position, the speed or the acceleration of the received sensor signal, a data calculation step of calculating second time series data a r (t) of acceleration at the tip part of the moving component, corresponding to the first time series data a s (t), based on a drive command to the motor, a delay time calculation step of calculating, when the mechanical device 10 is caused to perform a predetermined basic operation, a delay time τ of the first time series data a s (t) acquired in the data acquisition step compared to the second time series data a calculated in the data calculation step r (t), based on a degree of correlation between the first time series data a s (t) and the second time series data a r(t), and a time synchronization step of synchronizing time of the sensor part and time of the control device 20 based on the delay time τ calculated in the delay time calculation step.

[0103] The time synchronization method is capable of producing effects similar to those of (1).

[0104] (7) A time synchronization method according to the present disclosure is carried out to perform, in a mechanical system 1 including a mechanical device 10 having a movable member to be driven by a motor (servo motor 102) and a control device 20 for controlling the mechanical device 10, time synchronization between a sensor part (wireless sensor 101) arranged at a tip part of the movable member of the mechanical device 10 and the control device 20. The time synchronization method includes a radio signal exchange step of receiving a sensor signal indicating a position, a speed, or an acceleration of the tip part periodically detected by the sensor part, a data acquisition step of acquiring first time series data a s(t) of acceleration at the tip part of the movable component based on the position, the speed or the acceleration of the received sensor signal, a data calculation step of calculating second time series data a r (t) of acceleration at the tip part of the moving component, corresponding to the first time series data a s (t), based on a drive command to the motor, a delay time calculation step of calculating, when the mechanical device 10 is caused to perform an operation specified in a program to be executed by the control device 20 at a speed equal to or lower than a predetermined value, instead of a speed specified in the program, a delay time τ of the first time series data a s (t) recorded in the data acquisition step compared to the second time series data a r(t), which are calculated in the data calculation step, based on a degree of correlation between the first time series data a s (t) and the second time series data a r (t), and a time synchronizing step of synchronizing time of the sensor part and time of the control device 20 based on the delay time τ calculated in the delay time calculation step.

[0105] The time synchronization method is capable of producing effects similar to those of (3). EXPLANATION OF REFERENCE SYMBOLS 1 Mechanical system 10 Mechanical device (robot) 20 Control device 101 Wireless Sensor 202 Data acquisition unit 203 Engine control unit 204 Data processing unit 205 Delay time calculation unit 206 Time synchronization unit 207 Learning control unit

Claims

[1] Control device (20) configured to control a mechanical device (10) having a movable component to be driven by a motor (102), the control device (20) comprising: a radio signal exchange unit (201) configured to receive a sensor signal indicating a position, a speed, or an acceleration of a tip part of the movable member of the mechanical device (10), which is periodically detected by a sensor part (101) arranged on the tip part; a data acquisition unit (202) configured to acquire first time series data of acceleration at the tip part of the movable member based on the position, the velocity, or the acceleration in the received sensor signal; a data computing unit (204) configured to calculate second time series data of acceleration at the tip part of the movable member corresponding to the first time series data based on a drive command to the motor (102); a delay time calculation unit (205) configured to calculate, when the mechanical device (10) is caused to perform a predetermined basic operation, a delay time τ of the first time series data acquired by the data acquisition unit (202) against the second time series data calculated by the data calculation unit (204), based on a degree of correlation between the first time series data and the second time series data; and a time synchronization unit (206) configured to synchronize time of the sensor part and time of the control device (20) based on the delay time τ calculated by the delay time calculation unit (205). [2] The control device (20) according to claim 1, wherein the basic operation is to drive at least one of a plurality of the motors (102) included in the mechanical device (10). [3] A control device (20) configured to control a mechanical device (10) having a movable component to be driven by a motor (102), the control device (20) comprising: a radio signal exchange unit (201) configured to receive a sensor signal indicating a position, a speed, or an acceleration of a tip part of the movable member of the mechanical device (10), which is periodically detected by a sensor part (101) arranged on the tip part; a data acquisition unit (202) configured to acquire first time series data of acceleration at the tip part of the movable member based on the position, the velocity, or the acceleration in the received sensor signal; a data calculation unit (204) configured to calculate second time series data of acceleration at the tip part of the movable member according to the first time series data based on a drive command to the motor (102); a delay time calculation unit (205) configured to, when the mechanical device is caused to perform an operation specified in a program to be executed by the control device (20) at a speed equal to or lower than a predetermined value, calculate, instead of a speed specified in the program, a delay time τ of the first time series data acquired by the data acquisition unit (202) with respect to the second time series data calculated by the data calculation unit (204) based on a degree of correlation between the first time series data and the second time series data; and a time synchronization unit (206) configured to synchronize time of the sensor part (101) and time of the control device (20) based on the delay time τ calculated by the delay time calculation unit (205). [4] Control device (20) according to one of claims 1 to 3, wherein the mechanical device (10) is a robot, and the control device (20) is a robot control device. [5] Tax system (1), comprising: a mechanical device (10) having a movable component to be driven by a motor (102), and the control device (20) according to one of claims 1 to 4. [6] A time synchronization method for performing, in a mechanical system (1) including a mechanical device (10) having a movable member to be driven by a motor (102) and a control device (20) for controlling the mechanical device (10), a time synchronization between a sensor part (101) arranged at a tip part of the movable member of the mechanical device (10) and the control device (20), the time synchronization method comprising: a radio signal exchange step of receiving a sensor signal indicating a position, a speed or an acceleration of the tip part which is periodically detected by the sensor part (101), a data acquisition step of acquiring first time series data of acceleration at the tip part of the movable component based on the position, speed or acceleration of the received sensor signal, a data calculation step of calculating second time series data of acceleration at the tip part of the movable member corresponding to the first time series data based on a drive command to the motor (102), a delay time calculation step of calculating, when the mechanical device (10) is caused to perform a predetermined basic operation, a delay time of the first time series data acquired in the data acquisition step against the second time series data calculated in the data calculation step, based on a degree of correlation between the first time series data and the second time series data, and a time synchronization step of synchronizing time of the sensor part and time of the control device (20) based on the delay time calculated in the delay time calculation step. [7] A time synchronization method for performing, in a mechanical system (1) including a mechanical device (10) having a movable member to be driven by a motor (102) and a control device (20) for controlling the mechanical device (10), a time synchronization between a sensor part (101) arranged at a tip part of the movable member of the mechanical device (10) and the control device (20), the time synchronization method comprising: a radio signal exchange step of receiving a sensor signal indicating a position, a speed or an acceleration of the tip part, which are periodically detected by the sensor part (101), a data acquisition step of acquiring first time series data of acceleration at the tip part of the movable component based on the position, speed or acceleration of the received sensor signal, a data calculation step of calculating second time series data of acceleration at the tip part of the movable member corresponding to the first time series data based on a drive command to the motor (102), a delay time calculation step of calculating, when the mechanical device (10) is caused to perform an operation specified in a program to be executed by the control device (20) at a speed equal to or lower than a predetermined value, instead of a speed specified in the program, a delay time of the first time series data acquired in the data acquisition step from the second time series data calculated in the data calculation step, based on a degree of correlation between the first time series data and the second time series data, and a time synchronization step of synchronizing time of the sensor part (101) and time of the control device (20) based on the delay time calculated in the delay time calculation step.

Citation Information

Patent Citations

  • Arrangement for diagnosing a device with moving parts

    DE102009037302A1

  • Robot system with function for calculating the position and orientation of a sensor

    DE102016012065B4

  • Control system with learning control functions and control method

    DE102018000445A1

  • Control system and method for controlling a driven body

    DE102019205890A1

  • Robot evaluation system and evaluation method

    EP1803536A1