Control device

The control device stores stop rotational positions and shaft angles during power loss, enabling quick re-mastering of robotic systems by setting reference positions, thus reducing the time needed for alignment and resuming operation.

WO2026022951A1PCT designated stage Publication Date: 2026-01-29FANUC LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/026379
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-23
Publication Date
2026-01-29

AI Technical Summary

Technical Problem

The interruption of power supply to the backup power source of an encoder in a robotic control device results in the loss of rotational position data, necessitating a full mastering process when the device is restarted, which is time-consuming.

Method used

The control device includes an acquisition unit to store stop rotational positions and shaft angles when power is interrupted, allowing it to set reference rotational positions based on this data when power is restored, thereby facilitating quick re-mastering without requiring the robot to be manually aligned to the origin position and posture.

Benefits of technology

Enables rapid re-establishment of reference positions, reducing the time required for mastering and allowing the robot to resume operation efficiently even after power interruptions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024026379_29012026_PF_FP_ABST
    Figure JP2024026379_29012026_PF_FP_ABST
Patent Text Reader

Abstract

In one embodiment, this control device comprises an acquisition unit that acquires the shaft angle of a drive shaft of a robot and the rotational position of an electric motor outputted from an encoder. The control device comprises a setting unit that sets a reference rotation position of the electric motor with respect to a reference shaft angle of the drive shaft at a predetermined origin position and origin orientation of the robot. The acquisition unit acquires a stop rotation position of the electric motor and a stop shaft angle of the drive shaft when a power supply is cut off, and stores the acquired information in a control device storage unit. The setting unit sets a reference rotation position with respect to the reference shaft angle on the basis of the stop rotation position of the electric motor and the stop shaft angle of the drive shaft when restarted.
Need to check novelty before this filing date? Find Prior Art

Description

control device

[0001] The present disclosure relates to a control device.

[0002] In a robotic device equipped with a robot having joints, a control device drives the robot based on an operation program. For example, the robot's operation program specifies the robot's position and posture. The control device calculates the shaft angles of the drive shafts of each joint based on the robot's position and posture. The control device controls the robot drive motors arranged in the joints so that the shaft angles of the drive shafts are equal to the calculated values.

[0003] In order to control the rotational position of the robot drive motor, the rotational position of the robot drive motor relative to the shaft angle of each drive shaft must be determined in advance. For example, the position and orientation of the robot when the shaft angle of each drive shaft is 0° can be determined as the origin position and origin orientation. The rotational position of the robot drive motor at this time can be determined as the reference rotation position. The process of setting the reference rotation positions of each robot drive motor when the robot's position and orientation are the origin position and origin orientation is called mastering. Mastering allows the robot's origin position and origin orientation to correspond to the origin of the operation program.

[0004] Mastering is performed, for example, when a new robot is installed or when a robot drive motor is replaced. During mastering, an operator can manually operate the robot so that its position and posture are at the origin position and origin posture. Each robot drive motor is equipped with an encoder for detecting the rotational position of the robot drive motor. The operator can register the rotational position output from the encoder when the robot is in the origin position and origin posture as the reference rotational position. Alternatively, the operator can manually operate the robot so that it is at a predetermined position and posture. From the rotational position of the robot drive motor at this time, the rotational position when the robot is in the origin position and origin posture can be calculated.

[0005] JP 2016-124094 A

[0006] The control device can obtain the current rotational position from an encoder attached to the robot drive motor. The rotational position of the robot drive motor is stored in the volatile memory of the encoder. The encoder is supplied with electricity by a backup power source during periods when the control device is stopped so that the current rotational position can be stored.

[0007] However, there are cases where the supply of electricity from the encoder's backup power supply is interrupted during a period when the control device is stopped. In such a case, the current rotational position stored in the encoder's memory is lost. The rotational position of a robot drive motor is determined by the number of rotations of the robot drive motor's output shaft and the rotational position within one rotation. When the electricity supplied to the encoder is interrupted, both pieces of information are lost.

[0008] When the power supply to the encoder is resumed, it may be possible to detect the rotational position within the current rotation, but it is not possible to detect the number of rotations of the robot drive motor. For this reason, if the rotational position stored in the encoder is lost, mastering must be performed when the control device is restarted.

[0009] In mastering, it is necessary to drive the robot to the origin position and the origin posture, and then the position and posture of the robot must be precisely aligned with the origin position and the origin posture. This has led to the problem that mastering requires a lot of time.

[0010] A control device according to one aspect of the present disclosure includes an acquisition unit that acquires information related to the shaft angle of a drive shaft of a robot and information related to the rotational position of the motor output from an encoder attached to the electric motor of the drive shaft. The control device includes a control device storage unit that stores information related to the rotational position of the electric motor and information related to the shaft angle. The control device includes a setting unit that sets a reference rotational position of the electric motor relative to a reference shaft angle of the drive shaft at a predetermined origin position and origin posture of the robot. The acquisition unit acquires the stop rotational position of the electric motor and the stop shaft angle of the drive shaft when power is interrupted and stores them in the control device storage unit. When the control device is restarted, the setting unit sets the reference rotational position relative to the reference shaft angle based on the stop rotational position of the electric motor and the stop shaft angle of the drive shaft.

[0011] 1 is a schematic diagram of a robot device according to an embodiment. FIG. 2 is a schematic diagram illustrating an origin position and origin posture of a robot according to an embodiment, and master count values ​​of each drive axis. FIG. 3 is a block diagram of a robot device according to an embodiment. FIG. 4 is a block diagram of an encoder according to an embodiment. FIG. 5 is a graph illustrating the relationship between the count value output by an encoder and the shaft angle of a drive axis at one joint. FIG. 6 is a graph illustrating the shaft angle and count value of a predetermined drive axis when a control device is stopped. FIG. 7 is a graph illustrating the shaft angle and count value of a predetermined drive axis when a control device is restarted after electricity supplied to the encoder is cut off. FIG. 8 is a flowchart illustrating a mastering procedure when a control device is restarted after electricity supplied to the encoder is cut off. FIG. 9 is a graph illustrating the shaft angle and count value of a predetermined drive axis when a count value detected when a control device is restarted is deviated. FIG. 10 is a schematic diagram of a robot when the robot is manually driven after restarting the control device. FIG. 11 is a graph illustrating the shaft angle and count value of a predetermined drive axis when the robot is manually driven after restarting the control device.

[0012] A control device and a robot device including the control device according to an embodiment will be described with reference to Figures 1 to 11. The control device according to this embodiment has a function of performing mastering to set a reference rotation position of a robot drive motor when the position and posture of the robot are at an origin position and origin posture.

[0013] Fig. 1 shows a schematic diagram of a robot device according to this embodiment. Fig. 2 shows a schematic diagram of the robot, illustrating the drive axes, origin position, and origin posture of the robot according to this embodiment. The robot device 5 includes a hand 2 as a work tool and a robot 1 that moves the hand 2. The robot 1 according to this embodiment is an articulated robot that includes multiple joints 18. The robot 1 includes multiple components that can rotate around drive axes J1 to J6.

[0014] The robot 1 includes a base 14 fixed to an installation surface and a swivel base 13 that rotates around a drive axis J1 relative to the base 14. The robot 1 also includes an upper arm 11 and a lower arm 12. The lower arm 12 is supported by the swivel base 13 so as to rotate around a drive axis J2. The upper arm 11 is supported by the lower arm 12 so as to rotate around a drive axis J3. The upper arm 11 also rotates around a drive axis J4 that is parallel to the direction in which the upper arm 11 extends. The robot 1 also includes a wrist 15 that is supported by the upper arm 11 so as to rotate around a drive axis J5. A hand 2 is fixed to a flange 16 of the wrist 15. The flange 16 also rotates around a drive axis J6 that is perpendicular to the surface of the flange 16.

[0015] The robot in this embodiment has six drive axes, but is not limited to this configuration. A robot that changes its position and posture using any mechanism can be used. In this example, the work tool is a hand 2 with two claws, but is not limited to this configuration. Any device can be used as the work tool depending on the work to be performed by the robot device.

[0016] A reference coordinate system 78 is set in the robot device 5 of this embodiment. In the example shown in Fig. 1, the origin of the reference coordinate system 78 is located on the swivel base 13 of the robot 1. The reference coordinate system 78 is also called a world coordinate system. The reference coordinate system 78 is a coordinate system in which the position of the origin is fixed and the orientation of the coordinate axes is also fixed.

[0017] A tool coordinate system 79 is set in the robot device 5, with its origin set at an arbitrary position on the work tool. In this embodiment, the origin of the tool coordinate system 79 is set at the tip of the tool. The tool coordinate system 79 is a coordinate system whose position and orientation change along with the work tool. The position of the robot 1 corresponds to, for example, the position of the origin of the tool coordinate system 79 in the reference coordinate system 78. The orientation of the robot 1 corresponds to the orientation of the tool coordinate system 79 in the reference coordinate system 78.

[0018] FIG. 3 shows a block diagram of a robot device according to this embodiment. Referring to FIGS. 1 to 3, the robot 1 includes a robot drive device that changes the position and posture of the robot 1. The robot drive device includes robot drive motors 22a to 22f as electric motors that drive components such as the arm and wrist. In this embodiment, robot drive motors 22a to 22f are arranged as electric motors corresponding to the drive axes J1 to J6, respectively. For example, the robot drive motor 22a as an electric motor is arranged on the drive axis J1.

[0019] The robot device 5 includes a hand driving device that drives the hand 2. The hand driving device of this embodiment includes a hand driving motor 21 that drives the claws of the hand 2. The claws of the hand 2 open and close when driven by the hand driving motor 21. The hand may be configured to be driven by air pressure or the like.

[0020] The robot device 5 includes a control device 4 as a robot control device that controls the robot 1 and the hand 2. The control device 4 includes a control device main body 40 and a teaching operation panel 47 that allows an operator to operate the control device main body 40. The control device main body 40 includes an arithmetic processing device (computer) having a CPU (Central Processing Unit) as a processor. The arithmetic processing device has a RAM (Random Access Memory), a ROM (Read Only Memory), etc. that are connected to the CPU via a bus.

[0021] The teaching pendant 47 is connected to the control device main body 40 via a communication device. The teaching pendant 47 can input information about the robot 1 and the hand 2 and display information about the robot 1 and the hand 2. In addition, an operator can operate the teaching pendant 47 to manually operate the robot 1 and the hand 2.

[0022] An operation program 46 created in advance for operating the robot 1 and the hand 2 is input to the control device 4. Alternatively, an operator can set teaching points for the robot 1 by operating a teaching operation panel 47 to drive the robot 1. The control device 4 can generate the operation program 46 for the robot 1 and the hand 2 based on the teaching points. The operation program 46 is stored in the storage unit 42.

[0023] The control device main body 40 includes a motion control unit 43 that controls the motion of the robot 1 and the hand 2. The motion control unit 43 sends motion commands to the power supply unit 44 for driving the robot 1 based on a motion program 46. The power supply unit 44 has the function of converting the motion commands into current commands and further supplying power based on the current commands. The power supply unit 44 includes an electrical circuit that drives the robot drive motors 22a to 22f. The power supply unit 44 supplies electricity to the robot drive motors 22a to 22f based on the motion commands. The motion control unit 43 also sends motion commands to the power supply unit 44 for driving the hand 2 based on the motion program 46. The power supply unit 44 includes an electrical circuit that drives the hand drive motor 21. The power supply unit 44 supplies electricity to the hand drive motor 21 based on the motion commands.

[0024] The operation control unit 43 corresponds to a processor that operates in accordance with the operation program 46. The operation control unit 43 is configured to be able to read information stored in the storage unit 42. The processor reads the operation program 46 and performs the control defined in the operation program 46, thereby functioning as the operation control unit 43.

[0025] The control device main body 40 includes a storage unit 42 that stores information related to the control of the robot 1 and the hand 2. The storage unit 42 functions as a control device storage unit disposed in the control device 4. The storage unit 42 can be configured with a non-transitory storage medium that is capable of storing information. The storage unit 42 of the control device 4 in this embodiment is configured with a non-volatile memory that retains information even when the supply of electricity is stopped. The storage unit 42 maintains the stored information while the power supply to the control device 4 is cut off. The storage unit 42 can be configured with a storage medium such as a magnetic storage medium or an optical storage medium.

[0026] The robot 1 includes a rotation angle detector for detecting the position and posture of the robot 1. In this embodiment, the rotation angle detector includes encoders 19a to 19f that detect the rotation position attached to the robot drive motors 22a to 22f of the respective drive axes J1 to J6. For example, the robot drive motor 22a is equipped with an encoder 19a. The encoders 19a to 19f detect the rotation position of the output shaft of each of the robot drive motors 22a to 22f. In this embodiment, the rotation position of the robot drive motor is output from the encoders 19a to 19f as a count value. The position and posture of the robot 1 are detected based on the outputs of the multiple encoders 19a to 19f.

[0027] FIG. 2 shows the state of the robot when its position and posture are at the origin position and origin posture. The shaft angles of each drive axis indicate, for example, the joint angles of each joint. The origin position and origin posture of the robot are the position and posture of the robot when the shaft angles of each drive axis are at a predetermined reference shaft angle. In this embodiment, the reference shaft angle is 0°. That is, in this embodiment, the position and posture of the robot when the shaft angles of all drive axes J1 to J6 are 0° are defined as the origin position and origin posture of the robot. Note that the origin position and origin posture do not necessarily require all shaft angles to be the same. Furthermore, the shaft angles of at least some drive axes may be different from the shaft angles of the other drive axes.

[0028] In this embodiment, the encoders 19a to 19f output the rotational position of the output shaft of the robot drive motors 22a to 22f as a count value. For example, when the output shaft rotates 360 degrees or more, a count value obtained by adding the count value within one rotation to the count value corresponding to the number of rotations of the output shaft is output.

[0029] When the robot is in the origin position and orientation, the shaft angles of the drive axes J1 to J6 are at the reference shaft angles. The reference rotation positions of the robot drive motors 22a to 22f at this time are set in advance. In this embodiment, the reference rotation positions of the robot drive motors 22a to 22f are referred to as master count values. In this embodiment, the reference rotation positions of the robot drive motors 22a to 22f when the shaft angles of the drive axes J1 to J6 are 0° are set as the master count values.

[0030] The master count value when the robot is installed can be set by any method. For example, when a robot device is newly installed, the robot can be manually positioned and oriented at the origin, and the count value at that time can be set as the master count value.

[0031] The storage unit 42 of the control device 4 stores information related to the shaft angles of the drive axes J1 to J6 and information related to the rotational positions of the robot drive motors 22a to 22f. In this embodiment, the storage unit 42 stores mastering data 51 including the reference shaft angles and reference rotational positions of the drive axes J1 to J6. The storage unit 42 also stores stop point information 52 including the stop rotation positions of the robot drive motors 22a to 22f and the stop shaft angles of the drive axes J1 to J6 when power to the control device 4 is cut off. Because the storage unit 42 is a non-volatile storage unit, the mastering data 51 and the stop point information 52 are not lost but are retained even when power to the control device 4 is cut off.

[0032] The operation control unit 43 calculates the shaft angles of each of the drive axes J1 to J6 based on the position and posture of the robot defined in the operation program 46. The operation control unit 43 calculates the rotational positions of the robot drive motors 22a to 22f for each of the drive axes J1 to J6 based on the shaft angles of the drive axes J1 to J6, the reference shaft angles, and the reference rotational positions. The operation control unit 43 then controls each of the robot drive motors 22a to 22f so that the calculated rotational positions are achieved.

[0033] The control device main body 40 includes an acquisition unit 54 that acquires information about the shaft angles of the robot's drive axes J1 to J6 and the rotational positions of the robot drive motors 22 a to 22 f output from the encoders 19 a to 19 f. The acquisition unit 54 in this embodiment includes a count acquisition unit 55 that acquires count values ​​of the robot drive motors 22 a to 22 f output from the encoders 19 a to 19 f. The acquisition unit 54 also includes an angle acquisition unit 56 that acquires the current shaft angles of the respective drive axes J1 to J6.

[0034] The angle acquisition unit 56 can calculate the shaft angle of each of the drive axes J1 to J6 based on the count values ​​of the robot drive motors 22a to 22f acquired by the count acquisition unit 55. Alternatively, the angle acquisition unit 56 may acquire the current shaft angle of each of the drive axes J1 to J6 based on the operation command generated by the operation control unit 43.

[0035] The control device main body 40 includes a setting unit 58 that sets a reference rotation position relative to a reference axis angle at a predetermined origin position and origin posture of the robot. The setting unit 58 in this embodiment updates the mastering data 51 when information about the current rotation position stored in the storage unit 28 of the encoders 19a to 19f is lost while the robot device 5 is being operated.

[0036] Each of the above-mentioned acquisition unit 54, count acquisition unit 55, angle acquisition unit 56, and setting unit 58 corresponds to a processor that operates in accordance with the operation program 46. The processor reads the operation program 46 and performs the control defined in the operation program 46, thereby functioning as each unit.

[0037] In this embodiment, the mastering data 51 and the stop point information 52 are stored in the non-volatile storage unit 42 of the control device 4, but this is not limiting. The control device can adopt any configuration so that the mastering data 51 and the stop point information 52 are maintained without being lost even during a stop period of the control device. For example, if the storage unit of the control device is a volatile memory, it may be configured so that electricity is always supplied to the storage unit or so that a backup power source is connected.

[0038] Fig. 4 shows a block diagram of the encoders in this embodiment. The encoders 19a to 19f in this embodiment are optical encoders. Fig. 4 shows the encoder 19a attached to the robot drive motor 22a on the drive axis J1. The other encoders 19b to 19f have the same configuration as the encoder 19a.

[0039] The encoder 19a includes a light-emitting element 23 that emits light, a light-receiving element 25 that receives the light from the light-emitting element 23, and a rotating plate 24 disposed between the light-emitting element 23 and the light-receiving element 25. The light-emitting element 23 includes, for example, a light-emitting diode (LED). The rotating plate 24 has a circular shape. The rotating plate 24 is fixed to the output shaft of the robot drive motor 22a. The rotating plate 24 has, for example, a slit array formed thereon, with multiple slits arranged along the circumferential direction. By rotating the rotating plate 24, the light from the light-emitting element 23 passes or is blocked. The light-receiving element 25 detects changes in the intensity of the light and can thereby calculate the rotation angle of the rotating plate 24. The rotation angle of the rotating plate 24 corresponds to the rotation position of the robot drive motor 22a.

[0040] The encoder 19a includes a processing unit (computer) for detecting and storing the rotational position of the robot drive motor 22a. The processing unit of the encoder 19a includes a processor and a storage unit 28. Examples of the processor include a CPU, a large scale integration (LSI), an application specific integrated circuit (ASIC), or an integrated circuit (IC).

[0041] The encoder 19a includes a count calculation unit 27 that detects a count value of the output shaft of the robot drive motor 22a as the rotational position of the robot drive motor 22a. The processor of the arithmetic processing device performs a predetermined operation to function as the count calculation unit 27. The count calculation unit 27 processes the signal output from the light receiving element 25 in a predetermined procedure to calculate the count value of the robot drive motor 22a. The count value calculated by the count calculation unit 27 is stored in a memory unit 28.

[0042] The encoder 19a includes a storage unit 28 as an encoder storage unit that stores information related to the rotational position of the robot drive motor 22a. The information related to the rotational position of the robot drive motor 22a includes information related to the rotation speed of the output shaft of the robot drive motor 22a and the rotational position within one rotation of the output shaft. In this embodiment, a count value is calculated by adding a count value corresponding to the rotation speed of the output shaft and a count value within one rotation of the output shaft.

[0043] In this example, the encoder is an absolute encoder capable of detecting the rotational position within one rotation when the encoder is powered on. The absolute encoder has multiple circumferential slit rows formed in the radial direction. The count calculation unit 27 can generate a binary code by converting the transmission or blocking of light into a signal of 1 or 0. Based on this binary code, the rotational position (count value) of the output shaft within one rotation can be detected. The memory unit 28 can store the current rotational position.

[0044] A backup power supply 29 is connected to the encoder 19a in this embodiment. While the control device 4 is powered on, electricity is supplied from the control device 4 to the encoder 19a. The backup power supply 29 supplies electricity to the encoder 19a even while the power to the control device 4 is cut off. The backup power supply 29 is configured so that the current rotation position (count value) stored in the memory unit 28 is not lost.

[0045] Figure 5 shows a graph illustrating the relationship between the count value detected by the encoder for each drive shaft and the shaft angle of each drive shaft. In this embodiment, the shaft angle increases as the count value output from the encoder increases. In this example, the relationship between the count value and the shaft angle is expressed by a straight line with a slope of a. Note that the shaft angle may also be configured to decrease as the count value output from the encoder increases. Here, the count value when the shaft angle of the drive shaft is 0° corresponds to the master count value as the reference rotation position.

[0046] The relationship between the rotational position and the shaft angle of the drive shaft is determined in advance and stored in the memory unit 42 of the control device main body 40. The operation control unit 43 can calculate the rotational position of the robot drive motor based on the shaft angle of the drive shaft, or can calculate the shaft angle of the drive shaft based on the count value of the robot drive motor.

[0047] In this embodiment, the encoders 19a to 19f are supplied with electricity from the backup power supply 29 while the control device 4 is stopped after its power supply is shut off. Therefore, even if the rotational positions of the robot drive motors 22a to 22f change while the control device 4 is stopped, the information in the storage unit 28 is updated. For example, if the output shaft of a robot drive motor is gripped and rotated while the control device is powered off, the encoders update and store information regarding the rotational position of the robot drive motor. Therefore, when the control device is subsequently powered on, information regarding the current rotational position can be correctly detected. However, there are cases where the supply of electricity from the backup power supply 29 is cut off while the control device 4 is stopped. For example, the voltage of the backup power supply 29 may drop or the backup power supply 29 may break down. In this case, the information regarding the rotational position stored in the storage unit 28 of the encoders 19a to 19f is lost.

[0048] When the control device 4 is restarted and electricity is supplied to the encoders 19a to 19f, the encoders 19a to 19f can detect the rotational position within one rotation of the output shaft, among the information related to the rotational position of the robot drive motors 22a to 22f. However, even when electricity is supplied, the number of rotations of the output shaft cannot be detected. As a result, the information related to the rotational position output by the encoders will contain the number of rotations as zero, and will only contain the count value within one rotation. The control device 4 will no longer be able to obtain the current accurate count value from the encoders 19a to 19f.

[0049] For this reason, if the electricity supplied to the encoder is cut off while the control device 4 is stopped, it is necessary to set the reference rotation position relative to the reference axis angle when the control device 4 is restarted. In other words, it is necessary to perform mastering again. The control device of this embodiment has a function that makes it easy to perform mastering in such a case.

[0050] Figure 6 shows a graph illustrating the relationship between the count value output from the encoder and the shaft angle of the drive shaft when the robot device in this embodiment stops. Of the multiple drive axes J1 to J6, Figure 6 shows a graph of the encoder 19a for drive axis J1. In this embodiment, the rotational position of the robot drive motor when power to the control device 4 is cut off is referred to as the stop rotation position. Also, the shaft angle of the drive shaft when power to the control device 4 is cut off is referred to as the stop shaft angle. Also, information including the stop rotation position and stop shaft angle is referred to as stop point information.

[0051] In this example, the predetermined master count value for the drive axis J1 is 89060. The encoder 19a for the drive axis J1 is configured to output 10,000 counts for each rotation of the output shaft of the robot drive motor 22a. When the shaft angle changes by 1°, the count value changes by 1,663.5.

[0052] State A is the state when the power to the control device 4 of the robot device 5 is cut off. In state A, the power to the control device 4 is cut off when the shaft angle of each of the drive axes J1 to J6 is 10°. The acquisition unit 54 receives a signal to cut off the power to the control device 4 and acquires stop point information. For the drive axis J1, the count acquisition unit 55 acquires a count value of 105695 as the stop rotation position of the robot drive motor 22a. The angle acquisition unit 56 acquires 10° as the stop shaft angle of the drive axis J1. The memory unit 42 of the control device 4 stores stop point information 52 including the stop rotation positions and stop shaft angles of each of the drive axes J1 to J6.

[0053] In this embodiment, the electricity supplied to the encoders 19a to 19f is cut off during a stop period of the control device 4. For example, if the backup power supply 29 fails, the count value stored in the memory unit 28 of the encoder 19a is lost.

[0054] 7 shows the state when the control device is restarted and electricity is supplied to the encoder in the first control of this embodiment. In the first control of this embodiment, the output shaft is maintained in a stopped state while the control device 4 is stopped. In other words, the rotational position of the output shaft within one rotation is maintained. The output of the encoder 19a moves to state B, as indicated by arrow 91. Because the supply of electricity to the encoder 19a was stopped while the control device 4 was stopped, information regarding the rotational position stored in the memory unit 28 of the encoder 19a is lost.

[0055] 3, 4, and 7, state B shows a state in which the control device 4 is restarted. In state B, electricity is supplied to the control device 4. Furthermore, the encoder 19a is restarted by being supplied with electricity. The count calculation unit 27 of the encoder 19a detects 5695, which is the count value within one rotation of the output shaft. This is then stored in the memory unit 28 as the current count value.

[0056] The count acquisition unit 55 of the control device 4 acquires a count value of 5695 as the current rotational position. Next, the setting unit 58 updates the mastering data 51 based on the stop point information 52 stored in the storage unit 42 and the current rotational position. That is, the setting unit 58 sets the reference rotational positions of the robot drive motors 22a to 22f relative to the reference axis angles of the drive axes J1 to J6 based on the stop rotational positions of the robot drive motors 22a to 22f and the stop axis angles of the drive axes J1 to J6.

[0057] The setting unit 58 acquires the count value of 105,695 at the stop rotation position and the stop shaft angle of 10° from the memory unit 42. The setting unit 58 acquires the current count value of 5,695. Because the output shaft of the robot drive motor is stopped while the control device 4 is stopped, the difference between the current count value of 5,695 and the count value of 105,695 at the stop rotation position is an integer multiple of 10,000, which is the amount of change in the count value per rotation.

[0058] 5, the rate of change in shaft angle (inclination a) relative to the count value output by the encoder is predetermined. The setting unit 58 can calculate -10940 as the count value when the drive shaft angle is 0° by subtracting the count value corresponding to a shaft angle of 10° from the count value 5695 when the drive shaft angle is 10°. The calculated count value of -10940 can then be set as the master count value (reference rotation position) of the drive shaft J1.

[0059] Alternatively, the setting unit 58 subtracts the count value 5,695 in state B from the count value 105,695 in state A to calculate a count value difference of 100,000. Then, by subtracting the count value difference of 100,000 from the original master count value of 89,060, a new master count value of -10,940 can be calculated. A new master count value can be calculated in this manner. The setting unit 58 can then update the mastering data 51 to include the new master count value. New master counts can be calculated and the mastering data 51 can be updated by similar control for the other drive axes J2 to J6.

[0060] 8 is a flowchart illustrating the mastering procedure in this embodiment. In step 81, the control device 4 receives a signal to shut off the power supply to the robot device 5. In step 82, the control device 4 stops the robot 1. Alternatively, if the robot 1 is already stopped, the robot remains stopped.

[0061] Next, in step 83, the count acquisition unit 55 of the acquisition unit 54 acquires stop count values ​​as stop rotation positions from the encoders 19a to 19f. Furthermore, the angle acquisition unit 56 acquires the stop shaft angle, for example, from the operation control unit 43. The stop rotation position includes information on the number of rotations of the output shaft and information on the rotation position of the output shaft within one rotation. In step 84, the storage unit 42 of the control device 4 stores stop point information 52 including the stop rotation position and the stop shaft angle. In step 85, the power supply to the control device 4 is cut off. In this example, while the power supply to the control device 4 is cut off, the electricity supplied to the encoders 19a to 19f is cut off.

[0062] Next, in step 86, the power supply to the control device 4 is turned on again. Electricity is supplied to the encoders 19a to 19f. In step 87, the count acquisition unit 55 acquires the count values ​​detected by the encoders 19a to 19f.

[0063] In step 88, the setting unit 58 calculates a reference rotation position (master count value) when the shaft angle of the drive shaft becomes 0° based on the stop rotation position and stop shaft angle stored in step 84 and the current count value. The setting unit 58 calculates the master count value for each of the drive shafts J1 to J6. In step 89, the setting unit 58 updates the mastering data 51 stored in the memory unit 42.

[0064] In this way, the control device of this embodiment can create and update new mastering data based on the stop rotation position and stop axis angle as stop point information acquired when the control device's power is cut off and the rotation position acquired when the control device is restarted. This eliminates the need to drive the robot's position and posture to the origin position and origin posture to update the mastering data, allowing the mastering data to be set in a short time. In particular, while the control device's power is cut off, information about the rotation position stored in the encoder may be lost due to a specific external factor. Even in this case, the mastering data can be easily updated and the robot device can resume operation.

[0065] Furthermore, when driving a robot for mastering, it may be impossible to drive the robot to the origin position and origin posture due to devices arranged around the robot device after installation. Or, with a drive shaft that rotates 360 degrees or more, such as the robot's drive shaft J6, it may be impossible to move the robot to the origin position and origin posture because the number of rotations from the reference rotation position is unknown. Even in such cases, the control device of this embodiment allows mastering to be performed because there is no need to drive the robot to the origin position and origin posture.

[0066] 8, in step 87, the rotational position acquired when the control device is powered on may be the same as the stop rotational position stored in step 83. In this case, the setting unit 58 may determine that the information about the rotational position stored in the encoder during the stop period of the control device 4 has been maintained. Then, the setting unit 58 may determine that updating of the mastering data is not necessary.

[0067] 9 shows a graph illustrating the relationship between the count value and the shaft angle of the drive shaft in the second control of this embodiment. In FIG. 9, the encoder 19a of the drive shaft J1 is also shown as an example among the multiple drive shafts J1 to J6. The mastering data 51 of the encoders 19b to 19f arranged on the drive shafts J2 to J6 can be updated by the same control as that for the encoder 19a of the drive shaft J1.

[0068] 3, 4, and 9, when the power supply to the control device 4 is cut off and the supply of electricity to the encoders 19a to 19f is cut off, the output shafts of the robot drive motors 22a to 22f may rotate slightly. For example, even during the stopped period, the components of the robot may move slightly due to the influence of gravity, or a worker may come into contact with the robot. In this case, an error may be included in the new master count value calculated by the setting unit.

[0069] In the second control, when the output shaft of the robot drive motor rotates slightly, a control is performed to correct the error contained in the rotation position detected when the control device is restarted. For example, when the output shaft of the robot drive motor 22a to 22f rotates less than ±½ rotation, the error in the rotation of the electric motor when the control device is restarted can be corrected.

[0070] 9, the robot drive motor 22a is stopped in state A, and the electricity supplied to the encoder 19a is cut off while the control device 4 is stopped. Then, the output shaft rotates slightly, and when it is restarted, it is in state B'.

[0071] The count value at restart should be 5695 (see state B in FIG. 7 ), but the detected count value is 7691. To correct the error, the setting unit 58 subtracts 16635, which corresponds to a shaft angle of 10°, from the count value of 7691 to calculate a count value of −8944. This count value is a count value where the shaft angle is slightly deviated from 0°. Next, 98004 can be calculated as the difference D between the original master count value of 89060 and the newly calculated count value of −8944.

[0072] The difference D should be a value obtained by multiplying 10,000, which is the amount of change in the count value per rotation, by an integer, but it contains a slight error. Considering that the count value within one rotation is ±5,000 counts, the setting unit 58 determines that the correct difference D is 100,000 counts, which is a shift of 98,004. In other words, it determines that information equivalent to 10 rotations has been lost.

[0073] Next, the setting unit 58 calculates 1996 as the count value that is the difference between 100,000 and 98,004. Then, by subtracting 1996 from the detected count value of 7,691, it is possible to calculate 5,695 counts as the correct count value corresponding to a shaft angle of 10°. Then, by the first control, it is possible to calculate −10,940 as the new master count value. Alternatively, it is also possible to calculate −10,940 as the new count value by subtracting 100,000 from the original master count value of 89,060.

[0074] In the above control, the error contained in the rotation position detected when the control device is restarted is corrected based on the count value when the shaft angle is 0°, but this is not the only possible form.The count value of 100,000, which corresponds to the number of rotations at the time of stop, may be calculated by calculating the count value of 98,004, which is the difference between the currently detected count value of 7,691 and the stop rotation position of 105,695.

[0075] In this way, the second control can correct an error in the reference rotation position that occurs when the output shaft rotates slightly from the stopped rotation position. That is, the setting unit can correct an error contained in the rotation position of the electric motor when the control device is restarted, based on information about the stopped rotation position, the stopped shaft angle, the rotation position of the robot drive motor when the control device is restarted, and the amount of change in rotation position per rotation of the output shaft. The other configurations, actions, and effects are the same as those of the first control, so description thereof will not be repeated here.

[0076] Figure 10 is a schematic diagram of the robot when it is manually driven after the power to the control device is turned back on. After restarting the control device 4, an operator may manually drive the robot using the teaching pendant. In the example shown in Figure 10, the position and posture of the robot are the same when the power to the control device 4 is turned off and when the power to the control device 4 is turned back on. However, the state of the robot when it is subsequently driven manually is shown.

[0077] For example, if the robot's position and posture are inappropriate when the robot device is restarted, the robot may be moved to an appropriate position and posture. Alternatively, after powering on, the robot may be moved toward the origin position and posture without being fully familiar with the mastering function of this embodiment. Alternatively, after powering on the control device, the robot may be moved without realizing the need for mastering.

[0078] In the third control of this embodiment, mastering is performed when the operator manually drives the robot after restarting the control device 4. The position and posture of the robot after manually driving it differ from the position and posture of the robot when the power to the control device is turned off.

[0079] Figure 11 shows a graph illustrating the relationship between the count value and the shaft angle when the robot is manually driven after the control device is powered on. Figure 11 also shows the encoder 19a of the drive axis J1, one of the multiple drive axes J1 to J6. The mastering data 51 for the encoders 19b to 19f arranged on the drive axes J2 to J6 can be updated by the same control as that for the encoder 19a of the drive axis J1.

[0080] In this example, the control device 4 is stopped in state A. This shows an example in which the position and posture of the robot do not change while electricity is not supplied to the encoder 19a. State B is the state when the power to the control device 4 is turned on. Next, the operator manually drives the robot 1 using the teaching pendant 47, causing a transition from state B to state C. In this example, in state C, the shaft angle of the drive axis J1 is 5°, and the count value detected by the encoder 19a is -2622.

[0081] 3, 4, and 11, in the third control, the setting unit 58 calculates the rotational position within one rotation of the output shaft of the robot drive motor 22a when the control device 4 is restarted, based on the command value to the robot drive motor 22a by manual operation.

[0082] More specifically, the setting unit 58 acquires the command value transmitted by the operation control unit 43 through manual operation after the control device 4 is restarted. Then, the setting unit 58 calculates the count value in state B based on the count value in state C and the command value transmitted by the operation control unit 43. In Fig. 11, when the command value transmitted by the operation control unit 43 is a count value corresponding to a shaft angle of 5°, the count value of 5695 when the stop shaft angle is 10° can be calculated by adding the count value corresponding to a shaft angle of 5° to the count value of -2622.

[0083] The subsequent control is the same as the first control in this embodiment, or if the count value when the control device is restarted contains an error from the count value within one rotation corresponding to the stop count value, the second control in this embodiment can be implemented.

[0084] Alternatively, the count value 5695 obtained when the control device is restarted can be stored in the storage unit. Then, the first control of this embodiment may be performed based on the count value obtained when the control device is restarted. Alternatively, if the count value obtained when the control device is restarted includes an error from the count value within one rotation corresponding to the stop count value, the second control of this embodiment may be performed.

[0085] In this way, even if the robot is operated after restarting the control device, the count value of the encoder at the time of restarting the control device can be calculated, and mastering can be performed. The other configurations, actions, and effects are the same as those of the first control and the second control of this embodiment, so the description will not be repeated here.

[0086] In the above embodiment, an absolute encoder has been described as an example of the encoder, but the present invention is not limited to this. The encoder can be any encoder that can detect the rotational position within one rotation.

[0087] For example, an incremental encoder is known that includes a rotating plate with slits for phases A and B. The rotating plate may also have a slit for phase Z that detects transmitted light each time the rotating plate rotates. The encoder's count calculation unit determines that the rotating plate has rotated once by detecting the light that passes through the slit for phase Z. Then, based on the rotational position at which phase Z is detected, it can calculate the rotational position within one rotation when the encoder is restarted. Such an encoder is called a pseudo-absolute encoder.

[0088] In a robot device equipped with a pseudo-absolute encoder, mastering can be performed using a third control. After restarting the control device, the operator can drive the robot so that the output shaft of each robot drive motor rotates one or more times. Based on the detected Z-phase rotation position and the manual operation command value after the control device is restarted, the rotation position within one rotation of the output shaft of the robot drive motor when the control device is restarted can be calculated. For example, based on the command value from restarting the control device to the rotation position at which light passing through the Z-phase slit is detected, the rotation position within one rotation when the control device is restarted can be calculated.

[0089] In the above embodiment, an optical encoder has been described as an example, but the present invention is not limited to this. The control of the present embodiment can also be applied to other types of encoders. The control of the present embodiment can employ any encoder that can detect the rotational position within one rotation when the power of the encoder is turned back on. For example, the control of the present embodiment can be applied to an encoder that has a rotating plate that can emit magnetic signals of A phase, B phase, and Z phase.

[0090] In at least one embodiment described above, the control device can set the reference rotation position relative to the reference axis angle in a short time, i.e., the control device of this embodiment can perform mastering in a short time.

[0091] Although the present disclosure has been described in detail, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the present disclosure or the spirit of the present disclosure derived from the content of the claims and their equivalents. These embodiments can also be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these. The same applies when numerical values ​​or mathematical expressions are used in the description of the above-described embodiments.

[0092] The following supplementary notes are disclosed regarding the above-described embodiment and modifications.

[0093] (Supplementary Note 1) A control device comprising: an acquisition unit that acquires information regarding the shaft angle of a drive shaft of a robot and information regarding the rotational position of the motor output from an encoder attached to the electric motor of the drive shaft; a control device memory unit that stores information regarding the rotational position of the electric motor and information regarding the shaft angle; and a setting unit that sets a reference rotational position of the electric motor relative to a reference shaft angle of the drive shaft at a predetermined origin position and origin posture of the robot, wherein the acquisition unit acquires the stop rotational position of the electric motor and the stop shaft angle of the drive shaft when the power is cut off and stores them in the control device memory unit, and the setting unit sets the reference rotational position relative to the reference shaft angle based on the stop rotational position of the electric motor and the stop shaft angle of the drive shaft when the device is restarted.

[0094] (Supplementary Note 2) The control device according to Supplementary Note 1, wherein the encoder includes an encoder memory unit that stores information regarding the rotational position of the electric motor, the information regarding the rotational position of the electric motor includes information regarding the rotation speed of an output shaft of the electric motor and the rotational position of the output shaft within one rotation, the encoder memory unit loses the information regarding the rotational position of the electric motor when electricity supplied to the encoder is cut off, and the encoder is configured to be able to output the rotational position of the output shaft of the electric motor within one rotation when electricity is supplied and the encoder is restarted.

[0095] (Supplementary Note 3) The control device according to Supplementary Note 2, wherein the control device storage unit is configured to retain the stop rotation position and the stop shaft angle without losing them when electricity supplied to the encoder is cut off.

[0096] (Appendix 4) A control device according to any one of Appendices 1 to 3, wherein the encoder is configured to drive the electric motor so that the output shaft of the electric motor rotates one or more times when the control device is restarted after the electricity supplied to the encoder is cut off and then restarted by supplying electricity again, thereby outputting the rotational position within one rotation of the output shaft of the electric motor when the control device is restarted.

[0097] (Appendix 5) A control device according to any one of Appendices 1 to 4, wherein when an operator manually drives the robot after restarting, the setting unit calculates the rotational position within one rotation of the output shaft of the electric motor at the time of restarting based on a command value to the electric motor by manual operation.

[0098] (Supplementary Note 6) The control device according to Supplementary Note 1, wherein the acquisition unit acquires the rotational position of the electric motor when restarted, and the setting unit corrects an error included in the rotational position of the electric motor when restarted based on information regarding the stop rotational position, the stop shaft angle, the rotational position of the electric motor when restarted, and the amount of change in the rotational position per rotation of the output shaft.

[0099] REFERENCE SIGNS LIST 1 Robot 4 Control device 19a to 19f Encoders 22a to 22f Robot drive motors 27 Count calculation unit 28 Memory unit 42 Memory unit 43 Operation control unit 47 Teaching operation panel 51 Mastering data 52 Stop point information 54 Acquisition unit 58 Setting unit J1 to J6 Drive axes

Claims

1. A control device comprising: an acquisition unit that acquires information regarding the shaft angle of a robot's drive shaft and information regarding the rotational position of the motor output from an encoder attached to the drive shaft's electric motor; a control device memory unit that stores information regarding the rotational position of the motor and information regarding the shaft angle; and a setting unit that sets a reference rotational position of the motor relative to a reference shaft angle of the drive shaft at a predetermined origin position and origin posture of the robot, wherein the acquisition unit acquires the stop rotational position of the motor and the stop shaft angle of the drive shaft when the power is cut off and stores them in the control device memory unit, and the setting unit sets the reference rotational position relative to the reference shaft angle based on the stop rotational position of the motor and the stop shaft angle of the drive shaft when the device is restarted.

2. The control device described in claim 1, wherein the encoder includes an encoder memory unit that stores information regarding the rotational position of the electric motor, the information regarding the rotational position of the electric motor includes information regarding the rotation speed of the output shaft of the electric motor and the rotational position of the output shaft within one rotation, the encoder memory unit loses the information regarding the rotational position of the electric motor when electricity supplied to the encoder is cut off, and the encoder is configured to be able to output the rotational position of the output shaft of the electric motor within one rotation when electricity is supplied and the encoder is restarted.

3. The control device according to claim 2, wherein the control device memory unit is configured to retain the stop rotation position and stop shaft angle without losing them when the electricity supplied to the encoder is cut off.

4. A control device as claimed in any one of claims 1 to 3, wherein the encoder is configured to drive the electric motor so that the output shaft of the electric motor makes one or more revolutions when the control device is restarted after the electricity supplied to the encoder is cut off and then electricity is supplied again to restart the device, thereby outputting the rotational position within one revolution of the output shaft of the electric motor when the control device is restarted.

5. A control device as described in any one of claims 1 to 4, wherein when an operator manually drives the robot after restarting, the setting unit calculates the rotational position within one rotation of the output shaft of the electric motor at the time of restarting based on the command value to the electric motor by manual operation.

6. The control device according to claim 1, wherein the acquisition unit acquires the rotational position of the electric motor when restarted, and the setting unit corrects an error contained in the rotational position of the electric motor when restarted based on information regarding the stop rotational position, the stop shaft angle, the rotational position of the electric motor when restarted, and the amount of change in the rotational position per rotation of the output shaft.

Citation Information

Patent Citations

  • Robot controller for updating rotational angle by multiple rotational angle detectors

    JP2016124094A

  • Machine that stops movement of member on drive axis due to abnormality in brake

    JP2017047498A

  • Auxiliary power device and industrial machine

    JP2021063732A