Robot control device and robot system

By using the storage unit and position detector in the robot control device, the safety problems caused by tool identification errors and fault detection are solved, and the safety improvement of the tool's accurate identification and replacement process is achieved.

CN111185924BActive Publication Date: 2025-01-03FANUC LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN201911102350.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-11-15
Filing Date
2019-11-12
Publication Date
2025-01-03
Estimated Expiration
2039-11-12

AI Technical Summary

Technical Problem

In the prior art, when replacing robot tools, there are security problems caused by identification errors or fault detection, and the installed tools cannot be accurately identified.

Method used

By using the storage unit and the position detector in the robot control device, recording and comparing the installation position of the tool, determining whether the tool is properly removed or installed, and processing according to the threshold value is carried out to ensure accurate identification and safe operation.

Benefits of technology

Accurate identification of robot tools is achieved, security risks caused by identification errors are prevented, and the safety and reliability of replacing tools are improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111185924B_ABST
    Figure CN111185924B_ABST
Patent Text Reader

Abstract

The present invention provides a robot control device and a robot system, which can accurately identify a tool installed on a robot. The robot control device has: a storage unit that stores a first value, which indicates the position of the movable part detected by the position detector when a first tool having a movable part and a position detector that detects the position of the movable part is removed from the robot or when the movable part moves to a specific position; and a control unit that performs a predetermined process based on the difference between a second value and the first value stored in the storage unit, which indicates the position of the movable part detected by the position detector when a second tool having a movable part and a position detector that detects the position of the movable part is installed on the robot or when the second tool is installed on the robot until the movable part moves to the specific position.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to, for example, a control device for a robot capable of attaching and detaching a tool, and a robot system including such a control device. Background Art

[0002] A technique for improving safety when replacing a tool in a robot capable of mounting any of various tools is proposed (for example, refer to Japanese Patent Application Publication No. 2009-184048). For example, in this technique, first tool identification information outputted from a robot control device and indicating a current tool managed by the robot control device is compared with second tool identification information for detecting and identifying a tool mounted on the robot. Furthermore, when it is determined that the first tool identification information and the second tool identification information are inconsistent, and when the position coordinates of the teaching reference point of the robot exist outside a predetermined area, an emergency stop signal for placing the robot in a safe state is outputted.

[0003] However, in the above technology, when the first tool identification information is input incorrectly, or when the second tool identification information is detected incorrectly due to a malfunction of the device for detecting the second tool identification information, even though the tool determined by the first tool identification information is different from the tool actually installed on the robot, these tools may be incorrectly determined to be the same. Summary of the invention

[0004] An object of one aspect of the present invention is to provide a robot control device capable of accurately identifying a tool mounted on a robot.

[0005] One embodiment of the present invention provides a robot control device. The robot control device includes: a storage unit 43 storing a first value indicating the position of the first movable part 31 detected by the first position detector 33 when the first tool 3 having the first movable part 31 and the first position detector 33 detecting the position of the first movable part 31 is removed from the robot 2 or when the first movable part 31 moves to a specific position; and a control unit 44 performing a predetermined process based on the difference between a second value and the first value stored in the storage unit 43, the second value indicating the position of the second movable part 31 detected by the second position detector 33 when the second tool 3 having the second movable part 31 and the second position detector 33 detecting the position of the second movable part 31 is mounted on the robot 2 or when the second tool 3 is mounted on the robot 2 until the second movable part 31 moves to the specific position.

[0006] According to another embodiment of the present invention, a robot control device is provided. The robot control device comprises: a storage unit 43 storing a first value indicating the position of the movable part 31 detected by the position detector 33 when the tool 3 having the movable part 31 and the position detector 33 detecting the position of the movable part 31 is removed from the robot 2 or when the movable part 31 moves to a specific position; and a removal determination unit 51 determining whether the tool 3 can be removed based on the difference between a second value indicating the current position of the movable part 31 detected by the position detector 33 and the first value stored in the storage unit 43, or determining whether the tool 3 can be removed based on the difference between the second value when the movable part 31 is at a specific position and the first value stored in the storage unit 43.

[0007] According to another embodiment of the present invention, there is provided a robot system 1, comprising: at least one tool 3; a robot 2 having a loading and unloading device capable of loading and unloading the at least one tool 3; and a control device 4, which controls the robot 2. In the robot system 1, the at least one tool 3 has: a movable part 31; and a position detector 33, which detects the position of the movable part 31. The control device 4 has: a storage unit 43, which stores a first value, which indicates the position of the movable part 31 detected by the position detector 33 when any one of the at least one tool 3 is removed from the robot 2, or when the movable part 31 of any one of the at least one tool 3 moves to a specific position; and a control unit 44, which performs a predetermined process based on the difference between a second value and the first value stored in the storage unit 43, which indicates the position of the movable part 31 detected by the position detector 33 when any one of the at least one tool 3 is mounted on the robot 2, or when the movable part 31 moves to the specific position after any one of the at least one tool 3 is mounted on the robot 2.

[0008] According to one aspect, a tool mounted on a robot can be accurately identified. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] Figure 1 This is a schematic structural diagram of a robot system according to one embodiment.

[0010] Figure 2 This is a schematic diagram of the tool.

[0011] Figure 3A This is a schematic diagram of the control device.

[0012] Figure 3B It is a functional block diagram of a processor of a control device.

[0013] Figure 4 This is an action flow chart of the removal / removal determination process.

[0014] Figure 5This is a diagram showing an example of a removal count value stored in a memory.

[0015] Figure 6 This is a flowchart of the recognition process.

[0016] Figure 7 FIG. 2 is a diagram showing another example of the removal count value stored in the memory according to a modification. DETAILED DESCRIPTION

[0017] Hereinafter, with reference to the accompanying drawings, a robot control device and a robot system including such a control device are described. The robot that is the control object of the control device can realize alternating loading and unloading of multiple tools. The multiple tools are tools called servo tools, which have a power part such as an electric motor that generates power and a movable part driven by the power part. The tool also has a position detection part such as an encoder that detects the position of the movable part, and can keep the movable part at the position when it is removed from the robot. In addition, when the tool that has been assembled to the robot is removed from the robot, the control device can only remove the tool and store the position of the movable part when the difference between the position of the movable part of the tool and the position of the movable part of other tools (hereinafter, for the sake of convenience, sometimes referred to as registered tools or registered tools) whose positions of the movable parts have been stored is above a predetermined threshold. In addition, the tool also keeps the movable part at the position when it is removed. Then, when any tool is mounted on the robot, the control device performs processing to identify the mounted tool as the same as the logged-in tool when the difference between the position of the movable part of the mounted tool and the position of the movable part stored for any logged-in tool is less than a predetermined threshold value. On the other hand, when the difference is greater than a predetermined threshold value for any logged-in tool, the mounted tool is determined to be a tool different from any logged-in tool and processing corresponding to the determination result is performed. Thus, even if identification information of the tool mounted on the robot is not input, the control device can identify the tool by the position of the movable part when it is removed from the robot. Therefore, the control device can accurately identify the tool mounted on the robot.

[0018] Figure 1 The schematic diagram of the robot system 1 according to one embodiment is shown. The robot system 1 includes a robot 2, a plurality of tools 3 that can be mounted on the robot 2, and a control device 4 that controls the robot 2. Figure 1 In FIG. 1 , only one tool mounted on the robot 2 among the plurality of tools 3 is representatively shown.

[0019] The robot 2 has a mechanism part 2a having at least one axis, and the at least one axis is driven by a servo motor (not shown), thereby changing the position and posture of the mechanism part 2a. In addition, a tool handling device 2b capable of loading and unloading one of the plurality of tools 3 is provided at the front end of the mechanism part 2a. In addition, any one of the plurality of tools 3 is mounted on the robot 2 via the tool handling device 2b. In addition, the position where the tool handling device 2b is provided may not be the front end of the mechanism part 2a, but may be provided at any position of the mechanism part 2a according to the specifications of the robot 2.

[0020] The tool loading and unloading device 2b has an installation mechanism (not shown) for installing one of the multiple tools 3. When the operator performs the operation of installing any one of the multiple tools 3 (hereinafter referred to as the work object tool) on the tool loading and unloading device 2b, the work object tool is fixed and locked by the installation mechanism so that the work object tool does not detach from the tool loading and unloading device 2b. In addition, the tool loading and unloading device 2b connects the power line 6 and the signal line 7 connected to the control device 4 to the work object tool. Therefore, the work object tool installed on the robot 2 via the tool loading and unloading device 2b and the control device 4 are connected to each other via the power line 6 and the signal line 7. Then, information indicating the position of the movable part of the work object tool and a signal indicating the action state of the work object tool are sent to the control device 4 via the signal line 7. In addition, the power for driving the work object tool is supplied to the work object tool from the control device 4 via the power line 6.

[0021] When the tool attachment device 2 b receives a control signal for removing the working tool from the control device 4 via the signal line 5 , the working tool is separated from the power line 6 and the signal line 7 and the mounting mechanism is unlocked to remove the working tool.

[0022] Furthermore, the tool handling device 2b may also include an ammeter (not shown) for measuring the current of the power line 6 or a voltmeter (not shown) for measuring the voltage of the power line 6. Furthermore, the tool handling device 2b may output a signal indicating the measured current value or voltage value to the control device 4 via the signal line 5 at a certain period or in response to an inquiry from the control device 4.

[0023] In addition, the tool handling device 2b may also include a device for identifying the installed work object tool. For example, the tool handling device 2b may include a tool identification device for setting a tool number and outputting the tool number on the side of the tool handling device 2b installed on the tool. The tool handling device 2b outputs the tool number of the tool identification device to the control device 4 via the signal line 5.

[0024] Figure 2 3 is a schematic diagram of the structure of one of the plurality of tools 3. In addition, the plurality of tools 3 each have Figure 2 The structure shown in the figure is described below for only one workpiece. The tool 3 has a movable part 31, a motor 32 and an encoder 33. The encoder 33 has a storage part 34, a control part 35 and an absolute position detection part 36. The tool 3 may also have a battery (not shown) and a brake mechanism (not shown).

[0025] The movable part 31 is, for example, a manipulator that holds the work object of the robot 2, or a welding gun that processes the work object, which is a part that performs some operation on the work object. The movable part 31 is, for example, directly or indirectly mounted on the rotating shaft of the motor 32 via a gear, and its position is changed by the drive of the motor 32. In addition, when the tool 3 is removed from the tool handling device 2b, the movable part 31 is locked by the brake mechanism so as not to move. The lock by the brake mechanism is released when the tool 3 is mounted on the tool handling device 2b again and receives power supply.

[0026] The motor 32 is an example of a power unit, and rotates in response to the supply of electric power from the power line 6 to drive the movable unit 31 .

[0027] The encoder 33 is an example of a position detector, and is mounted on the rotating shaft of the motor 32 or the rotating shaft connected to the rotating shaft of the motor 32 through a gear, for example, to detect the rotation amount of the motor 32, thereby detecting the position of the movable part 31. In the present embodiment, the encoder 33 can be an absolute rotary encoder that outputs a pulse count value corresponding to the rotation angle from the origin. In addition, the encoder 33 outputs the pulse count value indicating the rotation angle from the origin of the rotating shaft on which the encoder 33 is mounted to the control device 4.

[0028] The storage unit 34 has, for example, a volatile semiconductor memory that can be read and written. The storage unit 34 stores a value indicating the position of the movable part. As described above, in the present embodiment, the encoder 33 is an absolute rotary encoder, and therefore, the storage unit 34 stores the rotation speed of the rotating shaft on which the encoder 33 is mounted from the origin (hereinafter, sometimes simply referred to as the rotation speed of the encoder 33), and the absolute position information within one revolution (i.e., the rotation angle within one revolution from the origin) may not be stored.

[0029] The storage unit 34 continues to store the information written in the storage unit 34 by power supplied from a battery (not shown), for example. Therefore, even if the tool 3 is removed from the robot 2, the storage unit 34 can continue to store the rotation speed of the encoder 33.

[0030] The storage unit 34 may also include a nonvolatile readable and writable semiconductor memory. In this case, even if the tool 3 is removed from the robot 2 and does not receive power supply from the control device 4, the information written in the storage unit 34 is continuously retained, so the tool 3 does not need to include a battery.

[0031] The control device 4 supplies power via the power line 6 while the tool 3 is mounted on the robot 2, thereby driving the motor 32. In addition, the control unit 35 counts the rotation speed of the encoder 33 from the origin based on the signal received from the absolute position detection unit 36, and writes the count result to the storage unit 34. For example, when the motor 32 rotates in a predetermined direction (for example, clockwise), the control unit 35 increases the rotation speed of the encoder 33 by 1 every time an absolute position (for example, zero position) serving as a reference within one revolution is received. Conversely, when the motor 32 rotates in the opposite direction to the predetermined direction (for example, counterclockwise), the control unit 35 decreases the rotation speed of the encoder 33 by 1 every time an absolute position serving as a reference within one revolution is received from the absolute position detection unit 36.

[0032] Furthermore, when the control unit 35 receives a signal inquiring about the position of the movable part 31 from the control device 4, it reads the rotation speed of the encoder 33 from the storage unit 34, and calculates a pulse count value obtained by adding the number of pulses indicating the absolute position within one revolution received from the absolute position detection unit 36 ​​to a value obtained by multiplying the number of pulses corresponding to one revolution of the encoder 33 by the rotation speed as information indicating the position of the movable part 31. Furthermore, the control unit 35 outputs the pulse count value to the control device 4 via the signal line 7. In addition, when the encoder 33 is mounted on a rotating shaft connected to the rotating shaft of the motor 32 via a gear, the pulse count value can be calculated using a value obtained by multiplying the gear ratio by the read rotation speed.

[0033] In addition, when the number of pulses corresponding to one revolution of the encoder 33 is hundreds to thousands or more, it becomes easy to set the position of the movable part 31 to a position corresponding to a different rotation angle for each tool when removing from the tool handling device 2b. Therefore, the control unit 35 can output the number of pulses itself, which indicates the absolute position within one revolution, received from the absolute position detection unit 36, as a pulse count value indicating the position of the movable part 31 to the control device 4 via the signal line 7.

[0034] The absolute position detection unit 36 ​​includes, for example, a disk-shaped component mounted on the rotating shaft of the motor 32, a plurality of light sources such as LEDs and a plurality of light receiving elements such as photodiodes mounted to face each other across the disk-shaped component. In the disk-shaped component, a plurality of slits representing the rotation angles are formed between the plurality of light sources and the light receiving elements at predetermined rotation angles from the origin. Therefore, the absolute position detection unit 36 ​​can detect the rotation angle from the origin, that is, the absolute position within one circle, based on the combination of the light receiving elements that can receive light from the corresponding light sources.

[0035] In addition, the encoder 33 may be an incremental rotary encoder that outputs a pulse every time it rotates a predetermined angle. In this case, the encoder 33 has a pulse detection unit instead of the absolute position detection unit 36, and the control unit 35 stores the total number of pulses received from the pulse detection unit during the period from when the movable part 31 is located at the origin to when the movable part 31 moves to the current position of the movable part 31 as a pulse count value in the storage unit 34. And, when the control unit 35 receives an inquiry about the position of the movable part 31 from the control device 4, it outputs the pulse count value stored in the storage unit 34 to the control device 4 via the signal line 7. In addition, the pulse detection unit has, for example, a disk-shaped component mounted on the rotating shaft of the motor 32, a light source such as an LED mounted to face each other across the disk-shaped component, and a light receiving element such as a photodiode. In the disk-shaped component, a slit is formed between the light source and the light receiving element at a predetermined rotation angle from the origin. Therefore, every time the rotating shaft of the motor 32 rotates a predetermined rotation angle, the light receiving element receives light from the light source via the slit, thereby outputting a pulse.

[0036] The control device 4 controls the servo motors driving the axes of the robot 2, for example, according to a program that specifies the actions of the robot 2 or according to instructions from an operator, thereby controlling the position and posture of the robot 2. In addition, the control device 4 is connected to a work target tool among the plurality of tools 3, which is mounted on the tool handling device 2b via a power line 6 and a signal line 7. The control device 4 controls the work target tool via the power line 6 and the signal line 7.

[0037] Figure 3A The diagram shows a schematic structure of the control device 4 and functional blocks of a processor included in the control device. The control device 4 includes a communication interface 41, a drive circuit 42, a memory 43, and a processor 44. The control device 4 may also include a user interface such as a touch panel (not shown).

[0038] The communication interface 41 is an example of a communication unit, and includes, for example, a communication interface for connecting the control device 4 to the signal line 5 and the signal line 7, and a circuit for executing processing related to the transmission and reception of signals via the signal line 5 and the signal line 7. In addition, the communication interface 41 receives, for example, a pulse count value indicating the position of the movable part 31 from the tool 3 via the tool handling device 2b and the signal line 7. In addition, the communication interface 41 outputs the control signal for removing the tool 3 received from the processor 44 to the tool handling device 2b via the signal line 5.

[0039] The drive circuit 42 is connected to the tool 3 via a power line 6 , and supplies electric power corresponding to the torque, rotation direction or rotation speed generated by the motor 32 of the tool 3 to the tool 3 via the power line 6 according to the control of the processor 44 .

[0040] The memory 43 is an example of a storage unit, and includes, for example, a readable and writable semiconductor memory and a read-only semiconductor memory. The memory 43 may include a storage medium such as a semiconductor memory card, a hard disk, or an optical storage medium, and a device for accessing the storage medium.

[0041] The memory 43 stores various computer programs for controlling the robot 2 executed by the processor 44 of the control device 4. In addition, the memory 43 stores computer programs for processing related to the determination of whether the tool 3 can be removed and the identification of the tool 3 executed by the processor 44. In addition, the memory 43 stores various information used in the processing related to the determination of whether the tool 3 can be removed and the identification of the tool 3, such as a pulse count value indicating the position of the movable part 31 when the registered tool is removed and a threshold value for the determination of whether the tool 3 can be removed or the identification processing.

[0042] The processor 44 is an example of a control unit, and for example, has a CPU (Central Processing Unit) and its peripheral circuits. In addition, the processor 44 may have a processor for numerical calculation. In addition, the processor 44 controls the robot system 1 as a whole. In addition, the processor 44 performs processing related to the determination of whether the tool 3 can be removed and the identification of the tool 3.

[0043] Figure 3B is a functional block diagram of the processor 44. Figure 3B As shown, the processor 44 includes a removal determination unit 51 and a recognition unit 52. Each of these units of the processor 44 is, for example, a functional module implemented by a computer program executed on the processor 44. Alternatively, each of these units may be implemented as a dedicated arithmetic circuit installed in a part of the processor 44.

[0044] The removal determination unit 51 determines whether the working tool installed on the tool mounting device 2b can be removed when a computer program executed on the processor 44 instructs the removal of the working tool installed on the tool mounting device 2b, or when an operator instructs the removal of the working tool installed on the tool mounting device 2b via a user interface.

[0045] Figure 4 The detachability determination unit 51 executes the detachability determination process according to the following operational flow every time the detachment of the work target tool is instructed.

[0046] The removability determining unit 51 inquires the working tool about the current position of the movable unit 31 via the communication interface 41 and the signal line 7 (step S101 ). Then, the removability determining unit 51 receives a pulse count value indicating the position of the movable unit 31 from the working tool via the signal line 7 and the communication interface 41 .

[0047] When the pulse count value is received, the removal determination unit 51 determines, for each of the logged-in tools stored in the memory 43, whether the difference between the pulse count value when the logged-in tool is removed from the tool loading and unloading device 2b (hereinafter referred to as the removal count value for the sake of convenience) and the received pulse count value is greater than the first threshold value Th1 (step S102).

[0048] For any of the logged-in tools, if the difference between the removal count value and the received pulse count value is less than the first threshold value Th1 (step S102-No), the removal determination unit 51 notifies the operator through the user interface that the position is not removable. In this case, the operator can move the position of the movable part through the user interface and then give the instruction to remove again. Alternatively, the removal determination unit 51 can add or subtract an arbitrary rotation speed from the rotation speed of the encoder 33 stored in the storage unit 34 of the work object tool from the origin to obtain a pulse count value whose difference with all pulse count values ​​stored in the memory 43 is greater than the threshold value Th1. In addition, the removal determination unit 51 can reset the value obtained by adding or subtracting the number of pulses of the arbitrary rotation speed from the pulse count value corresponding to the reference position of the movable part (for example, the zero-degree position that becomes the origin) to a new pulse count value corresponding to the reference position of the movable part, so that the difference between the pulse count value corresponding to the current removal position and the pulse count value stored in the memory 43 is not less than the threshold value Th1. Alternatively, the removal determination unit 51 may also supply power to the work object tool via the drive circuit 42 and the power line 6, so that the movable part 31 moves a predetermined amount (step S103). As a result, the movable part automatically moves to a position where it can be removed, so that the operator can know the position where it can be removed, and output a removal instruction again at this position, thereby removing the tool. In addition, the predetermined amount may be set to a preset value, or a value at which the difference between all removal count values ​​stored in the memory 43 and the received pulse count value is greater than the first threshold value Th1.

[0049] The removal determination unit 51 executes the processing from step S101 again after a predetermined time has passed since the power for moving the movable unit 31 by a predetermined amount was supplied to the work object tool. The predetermined time may be set to a sufficient time for the movable unit 31 to move by a predetermined amount, for example.

[0050] On the other hand, for each of the logged-in tools, if the difference between the removal count value and the received pulse count value is greater than the first threshold value Th1 (step S102-yes), the removal determination unit 51 determines that the work object tool can be removed. Then, the removal determination unit 51 stores the received pulse count value as the removal count value of the work object tool installed on the tool loading and unloading device 2b at the current time point in the memory 43, thereby re-logging the work object tool (step S104). Then, the removal determination unit 51 outputs a control signal that the work object tool can be removed to the tool loading and unloading device 2b via the communication interface 41 and the signal line 5 (step S105). In addition, the removal determination unit 51 can determine that the work object tool has been removed when it is unable to receive a signal from the work object tool via the signal line 7 and the current value or voltage value of the power line 6 measured by the ammeter or voltmeter is less than a predetermined threshold. Then, the removal determination unit 51 ends the removal determination process.

[0051] As described above, different removal count values ​​are stored in the memory 43 for each registered tool. Therefore, the control device 4 can identify the tool 3 by the removal count value without receiving the identification information of the attached tool 3 from the tool attachment device 2b.

[0052] Figure 5 5 is a diagram showing an example of a removal count value stored in the memory 43. As shown in Table 500, different removal count values ​​are recorded for each tool. In addition, in Table 500, the tool number is recorded, but the tool number is a number shown for convenience of explanation and may not be stored in the memory 43. Alternatively, when writing the removal count value to the memory 43, the removal possibility determination unit 51 may write a number unique to each removal count value together with the removal count value to the memory 43. At this time, when the tool handling device 2b outputs an identification signal of the installed work object tool, the removal possibility determination unit 51 may write the identification number represented by the identification signal of the work object tool together with the removal count value to the memory 43.

[0053] When any one of the plurality of tools 3 is attached to the tool attaching and detaching device 2 b , the recognition unit 52 recognizes the attached working target tool.

[0054] Figure 6 2 is an operation flow chart of the recognition process. The recognition unit 52 executes the recognition process according to the following operation flow every time the installation of the tool 3 is instructed.

[0055] The recognition unit 52 inquires the working tool attached to the tool attachment device 2b about the current position of the movable part 31 via the communication interface 41 and the signal line 7 (step S201). Then, the recognition unit 52 receives a pulse count value indicating the position of the movable part 31 from the working tool via the signal line 7 and the communication interface 41.

[0056] Upon receiving the pulse count value, the recognition unit 52 reads the removal count value for each registered tool from the memory 43, calculates the difference between the removal count value read for each registered tool and the received pulse count value, and finds the minimum value of the difference (step S202).

[0057] The recognition unit 52 determines whether the minimum value of the difference is less than the second threshold value Th2 (step S203). If the minimum value of the difference is less than the second threshold value Th2 (step S203-Yes), the recognition unit 52 determines that the work object tool is the registered tool corresponding to the removal count value whose difference is the minimum value (step S204). In this case, the recognition unit 52 can notify the operator through the user interface that the work object tool is the same as the registered tool. In addition, the recognition unit 52 can cause the robot 2 or the work object tool to operate.

[0058] On the other hand, if the minimum value of the difference is greater than or equal to the second threshold value Th2 (step S203-No), the recognition unit 52 determines that the work object tool is different from any of the registered tools (step S205). In this case, the recognition unit 52 can report to the operator through the user interface that the work object tool is different from any of the registered tools. In addition, the recognition unit 52 may not cause the robot 2 or the work object tool to move. In this case, when the operator registers a pulse count value corresponding to the reference position of the movable part 31 through the user interface, the recognition unit 52 can cause the robot 2 or the work object tool to move.

[0059] After step S204 or S205, the recognition unit 52 ends the recognition process.

[0060] The second threshold Th2 can be set to a value corresponding to the maximum movement of the movable part 31 from the time when the tool 3 is removed from the tool attachment device 2b to the time when the movable part 31 is locked by the brake mechanism. The first threshold Th1 can be set to a value obtained by adding a predetermined margin to the second threshold Th2, for example.

[0061] Furthermore, when the recognition unit 52 determines that the work object tool mounted on the tool handling device 2b is the same as any of the registered tools, the removal / removal determination unit 51 may exclude the removal count value of the registered tool determined to be the same as the object of processing in step S102 when deleting the removal count value of the work object tool stored in the memory 43 or removing the work object tool again. Furthermore, when the recognition unit 52 determines that the work object tool mounted on the tool handling device 2b is the same as any of the registered tools, the removal / removal determination unit 51 may supply power to the work object tool mounted on the tool handling device 2b to move the movable part 31 to the position specified by the removal count value of the registered tool determined to be the same as the work object tool when removing the work object tool, via the drive current 42 and the power line 6. Thus, the control device 4 can move the movable part 31 to the same position each time when the tool is removed from the tool handling device 2b after being repeatedly loaded and unloaded for a plurality of times.

[0062] In addition, when the control unit 35 of the work object tool attached to the tool handling device 2b outputs the pulse count value at a predetermined period, or when the movable part 31 is moved to the target position according to the control from the control device 4, the pulse count value is output. Figure 4 Step S101, and Figure 6 In step S201, the processor 44 may not inquire about the position of the movable part.

[0063] As described above, when removing a tool installed on the tool handling device of the robot, the control device controls each tool so that the position of the movable part of the tool is different. Furthermore, when the tool is installed on the tool handling device, the control device can identify the installed tool by comparing the position of the movable part of the tool with the position of the movable part of other tools that were previously installed on the tool handling device. Therefore, the control device can identify the tool even if it does not receive the identification information of the installed tool from the tool handling device. Therefore, the control device can accurately identify the tool installed on the robot. Thus, it is prevented that the tool recognized by the control device is different from the tool actually installed on the tool handling device, thereby suppressing the danger caused by the unexpected movement of the tool.

[0064] In addition, according to a modified example, the tool 3 may have a plurality of motors for driving a movable part and a plurality of encoders provided for each motor. In addition, the plurality of motors may drive different parts of a movable part, or may drive different movable parts among the plurality of movable parts. In this case, when the working object tool installed in the tool handling device 2b receives an inquiry about the position of the movable part from the control device 4, the pulse count value of each encoder is sent to the control device 4 via the signal line 7 as a signal indicating the position of the movable part. In addition, the removal determination unit 51 of the processor 44 of the control device 4 may compare the received pulse count value of each encoder with the removal count value of each encoder of the logged-in tool stored in the memory 43. In addition, the removal determination unit 51 may determine that the working object tool can be removed from the tool handling device 2b for at least one of the received pulse count values ​​of each encoder, for any of the logged-in tools, as long as the difference with the removal count value is greater than the first threshold. Furthermore, the removal determination unit 51 may store the pulse count values ​​of each encoder received from the work object tool as the removal count value for the work object tool in the memory 43. In this case, when the work object tool temporarily removed from the tool handling device 2b is reinstalled on the tool handling device 2b, the recognition unit 52 compares the pulse count values ​​of each encoder received from the work object tool with the removal count values ​​of each encoder of each registered tool stored in the memory 43. Furthermore, when the difference between any pulse count value and the removal count value is less than the second threshold value, the recognition unit 52 may determine that the work object tool is a registered tool corresponding to the group of these removal count values. In addition, if the group of removal count values ​​whose difference between any pulse count value is less than the second threshold value is not stored in the memory 43, the recognition unit 52 determines that the work object tool is different from any of the registered tools.

[0065] Figure 7700 is a diagram showing another example of the removal count value stored in the memory 43 related to the modified example. In the modified example, as shown in Table 700, a group of more than two removal count values ​​is recorded for each logged-in tool. For example, removal count values ​​"1234567" and "2345678" are stored for tool 1. In addition, removal count values ​​"3456789" and "4567890" are stored for tool 2. In addition, the first and second thresholds are set to 10, respectively. In this case, when the work object tool mounted on the tool loading and unloading device 2b is removed, when the pulse count values ​​received from the work object tool by the control device 4 are "1234567" and "4567890", for the workpiece 1 and the tool 2, the difference between the pulse count value and the removal count value of at least one of them is greater than the first threshold value, and therefore, the removal determination unit 51 determines that the work object tool can be removed. On the other hand, when the pulse count values ​​received from the working tool by the control device 4 are "1234569" and "2345677", the difference between any of the pulse count values ​​and the removal count value for the tool 1 is less than the first threshold value, and therefore the removal determination unit 51 determines that the working tool is not removable. Furthermore, the removal determination unit 51 instructs the working tool to rotate at least one motor to move the movable part.

[0066] Furthermore, when the work object tool is mounted on the tool attachment device 2b, when the pulse count values ​​received from the work object tool by the control device 4 are "1234567" and "4567890", since the difference between the pulse count value and the removal count value of at least one of the tool 1 and the tool 2 is greater than the second threshold value, the recognition unit 52 determines that the work object tool is not the tool 1 and the workpiece 2. On the other hand, when the pulse count values ​​received from the work object tool by the control device 4 are "1234569" and "2345677", since the difference between the pulse count value and the removal count value of any one of the tool 1 is less than the second threshold value, the recognition unit 52 determines that the work object tool is the tool 1.

[0067] According to this modification, since a plurality of pulse count values ​​are used for identifying the tool, the control device can more accurately identify the tool.

[0068] The removal determination unit 51 can determine that the work object tool can be removed from the tool attachment device 2b only when the difference between any of the received encoder pulse count values ​​and the removal count value for each registered tool is greater than the first threshold.

[0069] Alternatively, even if the tool 3 has a plurality of motors and a plurality of encoders, the removal determination unit 51 may use only the pulse count value for any one of the plurality of encoders for the removal determination process. Similarly, the identification unit 52 may use only the pulse count value for any one of the plurality of encoders for the identification process. In this case, preferably, when the tool is removed from the tool handling device 2b, the pulse count value of the encoder that detects the rotation speed of the motor locked by the brake mechanism among the plurality of motors is used for the removal determination process and the identification process.

[0070] Alternatively, the control unit 35 of the work object tool may calculate the total of the pulse count values ​​of each encoder when receiving an inquiry about the position of the movable part from the control device 4, and output the total to the control device 4 via the signal line 7. Furthermore, the removal determination unit 51 may use the total of the pulse count values ​​of each encoder as a pulse count value for removal determination processing. Similarly, the identification unit 52 may use the total of the pulse count values ​​of each encoder as a pulse count value for identification processing. In this case, even if the number of encoders is different due to the tool, the control device 4 can perform the same processing as the above-mentioned embodiment to determine whether the removal is possible and identify the tool.

[0071] In addition, in the above-mentioned embodiment or variation, the working object tool does not have a braking mechanism. When the working object tool is removed from the tool loading and unloading device 2b, when the movable part 31 moves, the removal determination unit 51 and the identification unit 52 can use the pulse count value at a specific position where the movable part 31 moves for the removal determination processing and the identification processing through the processing described later.

[0072] In this case, after the work object tool is initially mounted on the tool attachment and detachment device 2b, the work object tool is determined to be removable. Therefore, the removability determination unit 51 rotates the motor 32 of the work object tool in a predetermined direction according to the program that specifies the movement of the movable part 31 or according to the instruction of the operator. In addition, the removability determination unit 51 receives the pulse count value when the movable part 31 reaches the reference point set in the work object tool from the work object tool, and performs the removability determination process according to the received pulse count value. In step S101 of the removability determination process, when the movable part 31 reaches the reference point, the control unit 35 of the work object tool outputs the pulse count value to the removability determination unit 51 instead of the processing. In addition, in step S103, the removability determination unit 51 does not move the movable part by a predetermined amount, but notifies the operator through the user interface that it is a reference point that cannot be removed. In this case, the operator can instruct the removability determination of the work object tool again after changing the position of the reference point of the tool. Alternatively, the removal determination unit 51 may add or subtract an arbitrary rotation speed from the rotation speed of the encoder 33 stored in the storage unit 34 of the work object tool from the origin, so as to obtain a pulse count value whose difference from all pulse count values ​​stored in the memory 43 is greater than the threshold value Th1. Step S105 is executed when the program or the operator instructs to remove other tools. In addition, the reference point is an example of a specific position of the movable part, such as a limit switch installed on the work object tool or the position of the end of the range of motion of the movable part. The so-called arrival of the movable part 31 at the reference point can be detected by a signal from the limit switch or the contact torque of the motor 32 when the movable part reaches the end of the range of motion. In addition, since the removal determination is performed when the work object tool is installed, when the work object tool is removed from the tool loading and unloading device 2b, the work object tool is removed even if the movable part 31 is at any position. In addition, the removal determination may be performed only once when the tool is initially installed.

[0073] When the working object tool is installed on the tool loading and unloading device 2b again, the identification unit 52 causes the motor 32 to rotate in a predetermined direction, thereby supplying power to the working object tool via the drive circuit 42 and the power line 6, receiving the pulse count value when the movable part 31 reaches the reference point, and performing the same identification processing as the above-mentioned embodiment.

[0074] As described above, even when the tool does not have a braking mechanism, the control device can recognize the tool attached to the robot.

[0075] All examples and specific terms listed here are examples and terms for teaching purposes to help readers understand the present invention and the concepts contributed by the inventors for the improvement of the technology, and should be interpreted as not limited to the structure of any example of this specification, such specific examples and conditions related to the advantages and disadvantages of the present invention. The embodiments of the present invention are described in detail, but various changes, substitutions and modifications can be made on this basis as long as they do not depart from the spirit and scope of the present invention.

Claims

1. A robot control device, characterized in that: have: a storage unit storing a first value indicating a position of the first movable part detected by the first position detector when a first tool having a first movable part and a first position detector detecting the position of the first movable part is removed from a robot or when the first movable part moves to a specific position; and a control unit that performs predetermined processing based on a difference between a second value and the first value stored in the storage unit, the second value indicating the position of the second movable part detected by the second position detector when a second tool having a second movable part and a second position detector for detecting the position of the second movable part is mounted on the robot, or from the time when the second tool is mounted on the robot until the second movable part moves to the specific position, As the predetermined processing, the control unit identifies the second tool as being the same as the first tool or reports it as being the same when the difference between the second value and the first value stored in the storage unit is less than a predetermined threshold value, or identifies the second tool as being the same as the first tool or reports it as being the same when the difference between the second value from when the second tool is installed on the robot to when the second movable part moves to the specific position and the first value stored in the storage unit is less than a predetermined threshold value.

2. A robot control device, characterized in that: have: a storage unit storing a first value indicating a position of the movable part detected by the position detector when a tool having a movable part and a position detector detecting the position of the movable part is removed from a robot or when the movable part moves to a specific position; as well as A removability determining unit determines that the tool can be removed when the difference between a second value indicating the current position of the movable part detected by the position detector and the first value stored in the storage unit is greater than a predetermined threshold value, and determines that the tool cannot be removed when the difference is less than the predetermined threshold value; or determines that the tool can be removed when the difference between the second value when the movable part is at the specific position and the first value stored in the storage unit is greater than a predetermined threshold value, and determines that the tool cannot be removed when the difference is less than the predetermined threshold value.

3. A robot system comprising: at least one tool; a robot having a loading and unloading device capable of loading and unloading the at least one tool; and a control device for controlling the robot, characterized in that: The at least one tool has: a movable part; and a position detector for detecting a position of the movable part, The control device has: a storage unit storing a first value indicating a position of the movable portion detected by the position detector when any one of the at least one tool is removed from the robot or when the movable portion of any one of the at least one tool moves to a specific position; as well as a control unit that performs predetermined processing based on a difference between a second value and the first value stored in the storage unit, wherein the second value represents the position of the movable part detected by the position detector when any one of the at least one tool is mounted on the robot or from the time when any one of the at least one tool is mounted on the robot to the time when the movable part moves to the specific position, As the predetermined processing, the control unit performs processing to identify or report as the same any one of the at least one tool when installed on the robot and any one of the at least one tool when removed from the robot when the difference between the second value and the first value stored in the storage unit is less than a predetermined threshold value, or performs processing to identify or report as the same any one of the at least one tool when installed on the robot and any one of the at least one tool when removed from the robot when the difference between the second value from when any one of the at least one tool is installed on the robot to when the movable part moves to the specific position and the first value stored in the storage unit is less than a predetermined threshold value.