Robot control device and robot system

The described robot control device facilitates seamless replacement by synchronizing datasets upon startup, addressing firmware and software inconsistencies to maintain consistent robot control.

JP2025121444APending Publication Date: 2025-08-20NIDEC INSTR CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024016814
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-02-07
Publication Date
2025-08-20

AI Technical Summary

Technical Problem

Existing robot control devices are difficult to replace due to differences in firmware versions, application software, and individual robot variations, leading to inconsistent performance and inefficiencies in robot control.

Method used

A robot control device with a non-volatile storage unit that compares and overwrites essential datasets upon startup to ensure compatibility and functionality with the connected robot, regardless of firmware version or application software.

Benefits of technology

Enables easy replacement of robot control devices without affecting the robot's performance by ensuring consistent operation through dataset synchronization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025121444000001_ABST
    Figure 2025121444000001_ABST
Patent Text Reader

Abstract

To make it possible to easily replace a robot control device connected to a robot, regardless of firmware versions used in the robot control device or data relating to individual differences of the robot stored in the robot control device.SOLUTION: A group of programs and data necessary for controlling a robot is defined as an essential dataset. At the startup of the robot control device, the essential dataset already stored in non-volatile memory provided in the robot is compared with the essential dataset stored in a non-volatile storage unit of the robot control device (steps 104-106). When the datasets do not match, the essential dataset stored in the robot control device is overwritten with the essential dataset on the robot side (step 121).SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an industrial robot (hereinafter simply referred to as "robot"), and more particularly to a robot control device that controls the robot, and a robot system that is configured by combining a robot and a robot control device. [Background technology]

[0002] A robot generally comprises a manipulator consisting of interconnected arms and motors that drive the connections between them, and a hand (also called a tool or end effector) attached to the manipulator. A robot control device is used to control such a robot. A robot system consists of a robot and a robot control device that controls the robot. In a robot in which the hand cannot be detached from the manipulator, the hand can be considered to be included in the manipulator, in which case the robot can be considered to consist only of the manipulator. The robot control device controls the motors on each axis of the robot in response to commands input from outside. To control the rotation of the motors, an encoder that detects the rotational position of each motor is attached to the robot, and the rotational position information obtained by the encoder is sent to the robot control device as needed.

[0003] The manipulators and hands that make up a robot vary in the number and dimensions of arms and hands, their connections, and the specifications of the motors they are equipped with, depending on the robot model. The configuration information for these robots is generally stored in a robot control device in advance, and therefore a separate robot control device is prepared for each robot model. Therefore, a robot control device cannot directly control robots other than the model it is designed for. When attempting to control a robot using a robot control device for one model, an operator must confirm the robot model and replace the information in the robot control device with robot configuration information compatible with the confirmed model. Therefore, a separate robot control device is prepared for each robot model. Furthermore, even robots of the same model inevitably have individual differences, and when controlled by a robot control device, control must be performed to account for these individual differences. An example of such individual differences is the offset value relative to the origin position. Each manipulator or hand has a predetermined origin position, which is the orientation that serves as the reference for its operation. However, the rotational position data indicated by the encoder for each motor when the origin position is reached varies for each individual manipulator or hand due to variations in the installation of the motor and encoder. Therefore, individual differences are measured when the robot is fully assembled, and the data on the individual differences is then stored in the memory unit of the robot control device. For this reason, even if the robot control device is designed for the same model of robot, if a robot of the same model is replaced and connected, it will no longer be able to perform high-precision control, and the robot control device will need to be readjusted. For this reason, it is not easy to replace and connect robots of the same model.

[0004] However, when using robots, there is a demand for interchangeable robot controllers for the same model of robot to improve the efficiency of work using the robot and to flexibly respond to process changes, failures, and the like. Furthermore, there are cases where different models of robots can be considered the same model from the perspective of the configuration and control of the robot itself. For example, different models of robots may be used depending on the installation location if their exterior paints differ. In such cases, it is desirable to be able to interchangeably connect the same robot controller to different models of robots.

[0005] As an attempt to enable the replacement of a robot connected to a robot control device, Patent Document 1 discloses a technique in which operation and setting parameters required for controlling a robot are stored in a portable storage device and removably attached to the robot control device. With the technology described in Patent Document 1, when a robot connected to the robot control device is replaced or when a part of the robot, such as an arm, is replaced, the storage device attached to the robot control device is replaced with a storage device storing the parameters of the replaced robot. Patent Document 2 discloses a technique in which the geometric error data and ID (identification information) of the robot are stored in an auxiliary storage device provided in the robot, and each time the connected robot is replaced, the robot control device reads the geometric error data and ID from the robot and compares them. If the robot control device determines, as a result of the comparison, that the robot has been replaced, it corrects the angle data in the operation program stored in the robot control device based on the read geometric error data.

[0006] Patent Document 3 discloses a technique for minimizing the amount of data stored in a robot and facilitating the replacement and connection of a robot controller to a robot. The technique assigns identical hardware identifiers to robots with identical mechanisms, stores their unique individual difference parameters and hardware identifiers in the robots, and stores common configuration information corresponding to the hardware identifiers in the robot controller. The common configuration information is information that is common to robots with the same mechanism and allows individual differences to be ignored. Meanwhile, the individual difference parameters are parameters for which individual differences cannot be ignored, even among robots with the same mechanism. The robot controller reads the individual difference parameters and hardware identifiers from the connected robot, compares the read hardware identifiers with the hardware identifiers corresponding to the common configuration information, and, if they match, generates hardware definition information based on the stored common configuration information and the read individual difference parameters, and controls the robot using the hardware definition information. In the technique described in Patent Document 3, the individual difference parameters and hardware identifiers are stored in a memory unit within an encoder attached to the motor of each axis of the robot. Therefore, if information identifying the individual robot is also stored in the memory unit, it is possible to detect motor replacement in the robot. [Prior art documents] [Patent documents]

[0007] [Patent Document 1] Special Publication No. 2001-509441 [Patent Document 2] Japanese Patent Application Laid-Open No. 2012-011494 [Patent Document 3] Japanese Patent Publication No. 2020-179486 [Patent Document 4] Japanese Patent Application Laid-Open No. 2003-103482 Summary of the Invention [Problem to be solved by the invention]

[0008] The technologies described in Patent Documents 1-3 allow easy replacement of a robot control device connected to the robot from the robot's perspective. However, replacing a robot control device is not always possible. For example, the technology described in Patent Document 3 prevents replacement with a robot control device that does not have common configuration information corresponding to the robot model. Furthermore, application software executed by a robot control device to control the robot may be switched depending on the work to be performed by the robot. In such cases, it is impossible to switch to a robot control device that does not have the desired application software installed. Even robot control devices of the same model may have different firmware versions depending on the production date, etc. Therefore, replacing a robot control device with one with a different firmware version may result in differences in the functions that the robot can perform.

[0009] An object of the present invention is to provide a robot control device that can easily replace a robot control device connected to a robot, regardless of the firmware version in the robot control device or the application software and data stored in the robot control device, and a robot system equipped with such a robot control device. [Means for solving the problem]

[0010] A robot control device according to one embodiment of the present invention is a robot control device that is exchangeably connected to a robot having a non-volatile first storage unit to control the robot, and has a processor, RAM connected to the processor, and a second storage unit consisting of non-volatile memory that holds essential datasets, which are a group of programs and data required to control the robot. Upon startup, the robot control device performs a comparison process that compares the essential datasets already stored in the first storage unit with the essential datasets stored in the second storage unit, and, if the comparison process results in a mismatch, an overwrite process that overwrites the essential datasets stored in the second storage unit with the essential datasets stored in the first storage unit.

[0011] A robot system according to one embodiment of the present invention is a robot system having a robot and a robot control device that is interchangeably connected to the robot and controls the robot, wherein the robot has a first non-volatile memory accessible from the robot control device, and the robot control device has a processor, RAM connected to the processor, and a second memory device consisting of a non-volatile memory that holds a required dataset, which is a group of programs and data required to control the robot, and when the robot control device is started up, the robot control device executes a comparison process that compares the required dataset already stored in the first memory device with the required dataset stored in the second memory device, and if the comparison process results in a mismatch, an overwrite process that overwrites the required dataset stored in the second memory device with the required dataset stored in the first memory device. [Effects of the Invention]

[0012] According to the present invention, it becomes possible to easily replace a robot control device connected to a robot regardless of the firmware version in the robot control device or the application software and data stored in the robot control device. [Brief explanation of the drawings]

[0013] [Figure 1]1 is a block diagram showing a configuration of a robot system according to an embodiment of the present invention; [Figure 2] 10 is a flowchart illustrating the operation of the robot control device. DETAILED DESCRIPTION OF THE INVENTION

[0014] Next, an embodiment of the present invention will be described with reference to the drawings. Fig. 1 is a block diagram showing a robot system according to an embodiment of the present invention. The illustrated robot system includes a robot 10 consisting of a manipulator and a hand, and a robot control device 20 that controls the robot 10, with the robot 10 and the robot control device 20 being detachably connected by a connection cable 30. A connector 31 for connection to the robot 10 is attached to one end of the connection cable 30, and a connector 32 for connection to the robot control device 20 is attached to the other end.

[0015] The robot 10 has multiple drive axes, each of which is equipped with a servo motor 11 that drives the drive axis, a driver 12 that drives and controls the motor 11 based on commands from a robot controller 20, and an encoder 13 that is attached to the rotation axis of the motor 11 and detects the rotation position of the rotation axis. Although not shown, the motor 11 is also equipped with a reducer, pulley, and the like. The output of the encoder 13 is fed back to the driver 12 for servo control and is also sent to the robot controller 20. The encoder 13 may be equipped with a small-capacity memory backed up by a battery so that the rotation position of the motor 11 and other information can be stored and maintained even when the power is turned off.

[0016] The driver 12 and encoder 13 for each axis must be connected to the robot controller 20 to transmit and receive signals to and from the robot controller 20. If the wiring connecting to the driver 12 and the wiring connecting to the encoder 13 of the robot 10 were connected separately for each axis to the robot controller 20, misconnections between the robot 10 and the robot controller 20 would be likely to occur. Therefore, in this embodiment, a multi-core cable is used as the connection cable 30, and the wiring connecting to the drivers 12 and encoders 13 for all axes of the robot 10 is housed within this connection cable 30. The robot 10 is also provided with an interface board 15. The interface board 15 is a board that aggregates the wiring connecting to the driver 12 for each axis and the wiring connecting to the encoder 13 for each axis for electrical connection with the connection cable 30. The interface board 15 is provided with a storage unit 16, which is a large-capacity nonvolatile memory such as a flash memory. The robot controller 20 can access the storage unit 16 via the connection cable 30 to read and write data. The storage unit 16 corresponds to a first storage unit.

[0017] The robot control device 20 executes software to determine the trajectory of the robot 10 in response to commands input from an external device 50, and controls the robot 10 so that the robot 10 moves along this trajectory. The robot control device 20 includes a processor 21 configured as a microprocessor or microcomputer, a nonvolatile storage unit 22 configured with nonvolatile memory such as flash memory and functioning as an auxiliary storage unit from the processor 21's perspective, and a random access memory (RAM) 23 connected to the processor 21 and functioning as a main storage unit that can be directly accessed by the processor 21. The nonvolatile storage unit 22 corresponds to a second storage unit. Although not shown in the figure, the robot control device 20 also includes interfaces for the robot 10 and the external device 50. The external device 50 may be, for example, a host device provided as a higher-level device that outputs commands to the robot control device 20, or a teaching pendant used for teaching the robot 10. Various devices may be connected to the robot control device 20 as the external device 50 depending on the purpose.

[0018] The robot controller 20 operates based on software and controls the robot 10. In the robot controller 20, the processor 21 executes firmware that is deployed and resident in the RAM 23, thereby generating signals (specifically, position commands and / or velocity commands) to be output to the driver 12 for each axis based on commands from the external device 50 and signals from the encoder 13 for each axis that are fed back from the robot 10. Depending on the situation, application software that can be executed under the control of the firmware may also be loaded into the RAM 23, and the robot 10 may be controlled by the processor 21 executing this application software. Both the firmware and the application software are stored in the nonvolatile storage unit 22, and when the robot controller 20 is started or restarted, they are transferred from the nonvolatile storage unit 22 to the RAM 23 and then executed by the processor 21.

[0019] Controlling the robot 10 also requires parameters indicating the hardware conditions of the robot 10, i.e., hardware definition information. The hardware definition information is also pre-stored in the non-volatile storage unit 22 and is loaded onto the RAM 23 by firmware or application software. The processor 21 then uses the hardware definition information loaded onto the RAM 23 to perform calculations necessary for controlling the robot 10. The group of parameters constituting the hardware definition information of the robot 10 is divided into common configuration information and individual difference parameters. The common configuration information is information that is common to robots with the same mechanism and for which individual differences can be ignored. For example, the common configuration information is a set of data describing the configuration of the robot, such as the number of axes in the robot, the lengths of the arms and hands that make up the robot, the connections, and the motor specifications. On the other hand, the individual difference parameters are parameters for which individual differences cannot be ignored, even among robots with the same mechanism. For example, the individual difference parameters include an offset value for each encoder relative to the origin position. The data obtained by teaching the robot 10, i.e., the teaching data, is also stored in the non-volatile memory unit 22, and when controlling the movement of the robot 10 based on the teaching data, it is read from the non-volatile memory unit 22 to the RAM 23 and used when performing the calculations necessary to control the robot 10.

[0020] In the robot system of this embodiment, when the robot controller 20 connected to the robot 10 for controlling the robot 10 is replaced, the robot 10 can still be controlled normally using the replaced robot controller 20. To this end, copies of the programs and data necessary for controlling the robot 10, among the programs and data stored in the nonvolatile storage unit 22 of the robot controller 20, are stored in the storage unit 16, which is made of nonvolatile memory, in the robot 10. Hereinafter, a group of programs and data necessary for controlling the robot 10 will be referred to as a required data set. The required data set includes, for example, firmware for the robot controller 20 and hardware definition information for the robot 10. When the robot 10 is controlled via application software, the application software is also included in the required data set. When teaching the robot 10 using the robot controller 20, teaching data obtained by teaching may also be included in the required data set. Then, a verification process is executed to determine whether the robot control device 20 connected to the robot 10 has been replaced, and when the verification process determines that the robot control device 20 has been replaced, an overwrite process is executed to overwrite the essential data set stored in the non-volatile memory unit 22 of the replaced robot control device 20 with the essential data set stored in the memory unit 16 of the robot 10, and then the robot control device 20 is restarted.

[0021] When the replaced robot controller 20 is restarted, the required data set of the previous robot controller 20, which was read from the robot 10 by overwriting, is loaded into the RAM 23. Therefore, the replaced robot controller 20 controls the robot 10 using the required data set of the previous robot controller 20, which was read from the robot 10. That is, in this embodiment, the replaced robot controller 20 controls the robot 10 using the same programs and data as the previous robot controller 20, so the robot controller 20 connected to the robot 10 can be replaced without causing any difference in the functions that the robot 10 can execute or the performance. Note that when the robot controller 20 connected to the robot 10 is replaced, the robot controller 20 is in a non-started state.

[0022] The verification process determines whether the robot controller 20 connected to the robot 10 has been replaced. In practice, the verification process is primarily performed by the robot controller 20 upon startup. When the robot controller 20 is started, it compares the essential data set stored in its own nonvolatile storage unit 22 with the essential data set stored in the storage unit 16 of the robot 10. If the data match, it can determine that the robot controller 20 has not been replaced. If the data do not match, it can determine that the robot controller 20 has been replaced and that the robot controller is the replaced robot controller. In the robot controller 20, the processor 21 executes firmware loaded from the nonvolatile storage unit 22 to the RAM 23 upon startup, thereby performing the verification process, overwrite process, and reboot process described above. Therefore, the firmware used in the robot controller 20 constituting the robot system of this embodiment must be configured to be able to execute processes from the verification process to the reboot process, regardless of the firmware version.

[0023] The operation of the robot system of this embodiment will be described in more detail below using the flowchart shown in FIG. 2. It is assumed here that the storage unit 16 of the robot 10 already stores a set of programs and data, i.e., essential data sets, required for controlling the robot 10. When a new robot controller 20 is connected to the robot 10 and the robot controller 20 is powered on, the processor 21 of the robot controller 20 starts a boot loader in step 101 according to a procedure predetermined for that processor. The boot loader is stored in a small-capacity nonvolatile memory attached to the processor 21 or at a predetermined address in the nonvolatile storage unit 22. Once the boot loader is started, in step 102, the firmware stored in the nonvolatile storage unit 22 is copied to the RAM 23, and execution of the boot loader is completed. At this stage, the firmware becomes resident in the RAM 23. Subsequently, in step 103, the processor 21 starts executing the firmware that has been loaded and resides in the RAM 23. The boot loader may not be included in the required data set because the boot loader may be stored within the processor 21 and may not be rewritable, and the boot loader is not executed once the firmware begins to execute and does not affect the control of the robot 10.

[0024] The processor 21 executes the firmware to perform a comparison process to determine whether the required data set stored in the nonvolatile storage unit 22 matches the required data set stored in the storage unit 16 of the robot 10. To perform the comparison process quickly, the comparison process is performed based on whether hash values calculated for the required data set match. The firmware acquires the hash value of the required data set stored in the nonvolatile storage unit 22 of the robot 10 in step 104, acquires the hash value of the required data set stored in the storage unit 16 of the robot 10 in step 105, and determines whether the two hash values match in step 106. If the hash values match, it can be determined that the required data set stored in the nonvolatile storage unit 22 matches the required data set stored in the storage unit 16 of the robot 10, and the comparison process ends. Naturally, the hash function used to calculate the hash value of the required data set stored in the nonvolatile storage unit 22 must be the same as the hash function used to calculate the hash value of the required data set stored in the storage unit 16. As an example, the required data sets can be combined into a single compressed file (e.g., a zip file) and then the hash value of the compressed file can be calculated. When a hash value is acquired in steps 104 and 105, the hash value may be calculated by applying a hash function to the stored required data set each time. Alternatively, when a required data set is stored in non-volatile storage unit 22 or storage unit 16, the hash value may also be calculated and stored together with the required data set, and when a hash value is acquired in steps 104 and 105, the previously stored hash value may be read out.

[0025] If the hash values match in step 106, then in step 107, the processor 21 controls the robot 10 using the required dataset already loaded into the RAM 23. While controlling the robot 10, the required dataset, i.e., any of the programs and data required for controlling the robot 10, may be changed. For example, when the robot 10 is taught, the teaching data is changed, and when the robot 10 is calibrated, the individual difference data is changed. Firmware updates and application data updates or replacements may also be performed. If a required dataset is changed while controlling the robot 10, the changed required dataset is written to the non-volatile storage unit 22. This change must also be reflected in the required dataset stored in the storage unit 16 of the robot 10. The firmware monitors such changes to the required dataset, and in step 108, it determines whether a change has occurred in the required dataset stored in the robot control device 20. If a change has occurred, in step 109, the changed required dataset stored in the non-volatile storage unit 22 is transferred to the robot 10 and stored in the storage unit 16. Then, the process proceeds to step 110. On the other hand, if it is determined in step 108 that there has been no change in the required data set, the firmware proceeds directly to processing in step 110. At the stage of proceeding to step 110, control of the robot 10 by the robot control device 20 continues. In step 110, it is determined whether an instruction to end control of the robot 10 has been given to the robot control device 20. If it is determined in step 110 that an instruction to end has not been input, the processing from step 107 is repeated to continue control of the robot 10. If it is determined in step 110 that an instruction to end has been input, the robot control device 20 is stopped directly.

[0026] If the hash values do not match in step 106, this means that the robot controller 20 has been replaced, and then an overwrite process is executed. In the overwrite process, the firmware transfers the essential data sets stored in the storage unit 16 of the robot 10 to the robot controller 20 in step 121, and replaces the essential data sets already stored in the non-volatile storage unit 22 with the essential data sets transferred from the robot 10. Thereafter, in step 122, the firmware restarts the robot controller 20. When the robot controller 20 is restarted, the processor 21 first executes the boot loader, and the process from step 101 is repeated.

[0027] In the robot system described above, the essential data sets, which are the programs and data required to control the robot 10, are stored in the nonvolatile storage unit 22 of the robot controller 20 so that they can be loaded into the RAM 23, and a backup of the essential data sets is held in the storage unit 16 within the robot 10. When the robot controller 20 connected to the robot 10 is replaced, the essential data sets stored in the robot 10 as a backup are written back to the nonvolatile storage unit 22 of the replaced robot controller 20, so that the replaced robot controller 20 operates in the same manner as the robot controller 20 before the replacement. As a result, according to this embodiment, it is possible to easily replace the robot controller 20 connected to the robot 10 regardless of the firmware version of the replaced robot controller 20 or the application software and data stored in the replaced robot controller 20.

[0028] In the example described above, a hash value of the required data set is acquired for the verification process. A single hash value may be calculated for the entire required data set. Alternatively, the required data block may be divided into multiple blocks, and a hash value may be calculated for each block. The hash value comparison in the verification process may also be performed for each block. For example, if a required data set is composed of multiple types of programs and data, such as firmware, application software, hardware definition information, and instruction data, each of these programs and data may be treated as a block. When a required data set is composed of multiple blocks, overwriting only needs to be performed for blocks whose hash values in the robot control device 20 and the robot 10 differ, thereby reducing the time required to transfer the programs and data for the overwriting process. When hash values are calculated in advance and stored in the nonvolatile storage unit 22 or the storage unit 16, the hash values only need to be recalculated for blocks that have been changed, thereby reducing the computational load associated with the hash values. Generally, instruction data is changed frequently, while firmware and hardware definition information are changed infrequently. Therefore, if the instruction data is organized into one block and other programs and data are organized into one or more separate blocks, the calculation load for the hash value is reduced, and in most cases, the only data transferred from the robot 10 to the robot control device 20 when the robot control device 20 is started up is the instruction data, thereby shortening the transfer time accordingly.

[0029] The configuration for carrying out the present invention has been described above, but the above technology can be configured as follows.

[0030] (1) A robot control device that is exchangeably connected to a robot having a nonvolatile first memory unit and controls the robot, a processor; a RAM coupled to said processor; a second storage unit consisting of a non-volatile memory for storing a set of essential data sets that are a group of programs and data required for controlling the robot; and a robot control device that, at startup, executes a comparison process of comparing the essential data set already stored in the first storage unit with the essential data set stored in the second storage unit, and, when a mismatch is found as a result of the comparison process, executes an overwrite process of overwriting the essential data set stored in the second storage unit with the essential data set stored in the first storage unit.

[0031] (2) A robot control device according to (1), wherein when a change occurs to the required data set while the robot control device is controlling the robot, the changed required data set is stored in the second memory unit and transferred to the robot for storage in the first memory unit.

[0032] (3) the essential data set includes firmware that is read from the second storage unit into the RAM upon startup of the robot control device and resides in the RAM; The robot control device according to (1) or (2), wherein the firmware performs the verification process, and when the verification process results in a mismatch, the firmware performs the overwrite process and restarts the robot control device.

[0033] (4) A robot control device described in any one of (1) to (3), wherein the matching process is a process of comparing a hash value calculated for the essential data set stored in the first storage unit with a hash value calculated for the essential data set stored in the second storage unit.

[0034] (5) The robot control device according to (4), wherein the required data set is composed of a plurality of blocks, and the hash value is calculated for each block and used in the matching process.

[0035] (6) A robot control device according to (5), wherein in the overwriting process, the essential data set stored in the second storage unit is overwritten with the essential data set stored in the first storage unit only for the blocks determined to be mismatched as a result of the comparison process.

[0036] (7) A robot system having a robot and a robot control device that is exchangeably connected to the robot and controls the robot, the robot includes a first non-volatile storage unit accessible from the robot control device; the robot control device comprises a processor, a RAM connected to the processor, and a second storage unit consisting of a non-volatile memory for storing an essential data set which is a group of programs and data required for controlling the robot; a robot system in which, when the robot control device is started up, the robot control device executes a comparison process of comparing the essential data set already stored in the first storage unit with the essential data set stored in the second storage unit, and, if a mismatch is found as a result of the comparison process, an overwrite process of overwriting the essential data set stored in the second storage unit with the essential data set stored in the first storage unit.

[0037] (8) A robot system as described in (7), wherein when a change occurs to the required data set while the robot control device is controlling the robot, the changed required data set is stored in the second memory unit and transferred to the robot and stored in the first memory unit.

[0038] (9) The essential data set includes firmware that is read from the second storage unit into the RAM when the robot control device is started and that resides in the RAM, The robot system according to (7) or (8), wherein the firmware in the robot control device performs the verification process, and when the verification process results in a mismatch, performs the overwrite process and restarts the robot control device.

[0039] (10) A robot system described in any of (7) to (9), wherein the required data set includes common configuration information, which is information that is common to robots of the same mechanism and for which individual differences can be ignored, and individual difference parameters, which are parameters for which individual differences cannot be ignored even for robots of the same mechanism.

[0040] (11) A robot system described in any one of (7) to (10), wherein the matching process is a process of comparing a hash value calculated for the required data set stored in the first storage unit with a hash value calculated for the required data set stored in the second storage unit.

[0041] (12) The robot system according to (10), wherein the required data set is composed of multiple blocks, and the hash value is calculated for each block and used in the matching process.

[0042] (13) The robot system described in (12), wherein in the overwriting process, the required data set stored in the second storage unit is overwritten with the required data set stored in the first storage unit only for the blocks that are determined to be mismatched as a result of the comparison process.

[0043] (14) The robot system according to (13), wherein one of the plurality of blocks constituting the required data set is teaching data for the robot.

[0044] According to the configurations shown in (1) and (7), when it is detected that a robot control device connected to a robot has been replaced, the required data set of the replaced robot control device is overwritten with the required data set stored in the robot as a backup, thereby ensuring that the operation of the robot control device is the same before and after the replacement, and making it easy to replace the robot control device connected to the robot.

[0045] According to the configurations shown in (2) and (8), when the required data set is changed by instruction or the like while the robot control device is controlling the robot, the change can be reflected in the required data set stored in the robot as a backup. Therefore, even when the user intends to make a change to the required data set, the robot control device 20 connected to the robot can be easily replaced.

[0046] According to the configurations shown in (3) and (9), when the required data set includes firmware for the robot control device, it becomes possible to replace the robot control device connected to the robot without being aware of differences in firmware versions, etc.

[0047] According to the configurations (4) and (11), by using the hash value calculated for the required data set, it is possible to perform the matching process for the required data set in a short time.

[0048] According to the configurations shown in (5) and (12), if the update frequency varies for each block in the required data set, there is no need to recalculate hash values for blocks that have not been updated, thereby reducing the load of hash value calculations.

[0049] According to the configurations (6) and (13), the robot control device does not overwrite the required data set for blocks that match as a result of hash value comparison, thereby reducing the amount of data transferred during the overwrite process.

[0050] According to the configuration shown in (10), common configuration information and individual difference parameters can be managed separately, which makes it easier to manage the data necessary for controlling the robot, and also makes it possible to replace robot control devices prepared for robots with different configurations.

[0051] According to the configuration shown in (14), by treating the teaching data that is expected to be updated frequently as one block, in many cases it is sufficient to only calculate the hash value for the teaching data and transfer the teaching data, thereby reducing the processing load. [Explanation of symbols]

[0052] 10...robot, 11...motor, 12...driver, 13...encoder, 15...interface board, 16...storage unit, 20...robot control device, 21...processor, 22...non-volatile storage unit, 23...RAM, 50...external device

Claims

1. A robot control device that is exchangeably connected to a robot having a nonvolatile first storage unit and controls the robot, a processor; a RAM coupled to said processor; a second storage unit consisting of a non-volatile memory for storing a set of essential data sets that are a group of programs and data required for controlling the robot; and a comparison process for comparing the required data set already stored in the first storage unit with the required data set stored in the second storage unit at startup; and an overwrite process for overwriting the required data set stored in the second storage unit with the required data set stored in the first storage unit when a mismatch is found as a result of the comparison process.

2. 2. The robot control device according to claim 1, wherein when a change occurs to the required data set while the robot control device is controlling the robot, the changed required data set is stored in the second storage unit and transferred to the robot for storage in the first storage unit.

3. the essential data set includes firmware that is read from the second storage unit into the RAM upon startup of the robot control device and resides in the RAM; The robot control device according to claim 1 or 2, wherein the firmware performs the verification process, and when a mismatch is found as a result of the verification process, the firmware performs the overwriting process and restarts the robot control device.

4. 3. The robot control device according to claim 1, wherein the matching process is a process of comparing a hash value calculated for the essential data set stored in the first storage unit with a hash value calculated for the essential data set stored in the second storage unit.

5. The robot control device according to claim 4 , wherein the essential data set is made up of a plurality of blocks, and the hash value is calculated for each of the blocks and used in the matching process.

6. 6. The robot control device according to claim 5, wherein in the overwriting process, the essential data set stored in the second storage unit is overwritten with the essential data set stored in the first storage unit only for the blocks determined to be mismatched as a result of the comparison process.

7. A robot system including a robot and a robot control device that is exchangeably connected to the robot and controls the robot, the robot includes a first non-volatile storage unit accessible from the robot control device; the robot control device comprises a processor, a RAM connected to the processor, and a second storage unit made of a non-volatile memory for storing an essential data set which is a group of programs and data required for controlling the robot; a robot control device that, when started up, executes a comparison process in the robot control device to compare the essential data set already stored in the first storage unit with the essential data set stored in the second storage unit, and, if a mismatch is found as a result of the comparison process, executes an overwrite process to overwrite the essential data set stored in the second storage unit with the essential data set stored in the first storage unit.

8. 8. The robot system according to claim 7, wherein when the required data set is changed while the robot control device is controlling the robot, the changed required data set is stored in the second storage unit and transferred to the robot and stored in the first storage unit.

9. the essential data set includes firmware that is read from the second storage unit into the RAM upon startup of the robot control device and resides in the RAM; The robot system according to claim 7 or 8, wherein the firmware in the robot control device performs the verification process, and when a mismatch is found as a result of the verification process, performs the overwrite process and restarts the robot control device.

10. The robot system of claim 9, wherein the required data set further includes common configuration information that is common to robots of the same mechanism and for which individual differences can be ignored, and individual difference parameters that are parameters for which individual differences cannot be ignored even for robots of the same mechanism.

11. 9. The robot system according to claim 7, wherein the matching process is a process of comparing a hash value calculated for the required data set stored in the first storage unit with a hash value calculated for the required data set stored in the second storage unit.

12. The robot system according to claim 11 , wherein the required data set is made up of a plurality of blocks, and the hash value is calculated for each of the blocks and used in the matching process.

13. 13. The robot system according to claim 12, wherein in the overwriting process, the essential data set stored in the second storage unit is overwritten with the essential data set stored in the first storage unit only for the blocks determined to be mismatched as a result of the comparison process.

14. The robot system according to claim 13 , wherein one of the plurality of blocks constituting the required data set is teaching data for the robot.

Citation Information

Patent Citations

  • Replaceable memory device for storing robot application and formation data

    JP2001509441A

  • Setting method for adjustment parameter

    JP2003103482A

  • Robot angle data conversion method, and control device for executing the method

    JP2012011494A

  • Robot system

    JP2020179486A