robot systems
Patent Information
- Application Number
- JP2025057990
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-03-31
- Publication Date
- 2026-10-14
Smart Images

Figure 2026165552000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a robot system.
Background Art
[0002] In recent years, in factories, due to rising labor costs and labor shortages, automation of tasks that have been performed manually has been promoted by various robots and their peripheral devices. The operation of the robot is controlled by a robot control device. The robot control device includes a storage unit in which various programs are stored, and a processing unit that executes the programs stored in the storage unit.
[0003] In such a robot control device, from the viewpoint of improving safety, it is preferable to confirm at the startup of the robot control device whether various programs are in a proper state, and in particular, whether any unauthorized tampering or the like has been performed due to external attacks or the like. As this method, a known method is to sign and store various programs, and verify the signature of each program at startup to detect the appropriateness of the program including the presence or absence of tampering or the like.
[0004] For example, in the information processing apparatus described in Patent Document 1, signature verification is performed one by one on each of the stored programs, and when the signature verification succeeds, the operation of starting the program is performed for each program. Thereby, the program can be started after confirming that the program has not been tampered with, and safety can be ensured.
Prior Art Documents
Patent Documents
[0005]
Patent Document 1
Summary of Invention
Problem to be Solved by the Invention
[0006] However, the information processing device described in Patent Document 1 is configured to store various programs with signatures and perform signature verification of these programs at startup. Programs and data that are updated as needed, as well as data transmitted and received with external devices, are not included in the programs whose signatures are verified. In other words, the information processing device described in Patent Document 1 has insufficient security (robustness of security). [Means for solving the problem]
[0007] The robot system according to an application example of the present invention is: A robot control device that controls the operation of the robot, The robot control device is equipped with an external device that communicates with the robot control device, The robot control device is A drive control unit that controls the operation of the robot, A first communication unit that communicates with the aforementioned external device, A first storage unit in which the public key and the robot's unique data are stored, It has a first verification unit that performs signature verification, The external device is, A second communication unit that communicates with the first communication unit, The second memory unit where the secret key is stored, The system includes a first creation unit which creates a verification file for the unique data of the robot that is subject to signature verification, received from the first communication unit by the second communication unit, using the secret key, The first verification unit performs signature verification on the verification file transmitted from the second communication unit and received by the first communication unit using the public key.
[0008] The robot system according to an application example of the present invention is: A robot control device that controls the operation of the robot, The robot control device is equipped with an external device that communicates with the robot control device, The robot control device is A drive control unit that controls the operation of the robot, A third communication unit that communicates with the aforementioned external device, A third storage unit in which the secret key and the robot's unique data are stored, It includes a second creation unit that creates a verification file for the unique data of the robot subject to signature verification using the private key, The external device is, The fourth communication unit communicates with the third communication unit, The fourth memory unit where the public key is stored, It has a second verification unit that performs signature verification, The second verification unit performs signature verification on the verification file transmitted from the third communication unit and received by the fourth communication unit using the public key. The fourth communication unit transmits the verified file, which has been authenticated, to the third communication unit.
[0009] The robot system according to an application example of the present invention is: A first robot control device that controls the operation of the first robot, A second robot control device that controls the operation of the second robot, The system comprises an external device that communicates with the first robot control device and the second robot control device, respectively. The first robot control device includes a fifth storage unit in which the robot's unique data is stored, It has a fifth communication unit that communicates with the aforementioned external device, The second robot control device is A sixth communication unit that communicates with the aforementioned external device, The sixth memory unit where the public key is stored, It has a third verification unit that performs signature verification, The external device is, A seventh communication unit that communicates with the fifth communication unit and the sixth communication unit, respectively, The seventh memory unit where the secret key is stored, The seventh communication unit has a third creation unit which creates a verification file for the unique data of the first robot received from the fifth communication unit using the secret key, The third verification unit performs signature verification on the verification file transmitted from the seventh communication unit and received by the sixth communication unit, using the public key. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] [Figure 1] FIG. 1 is a schematic configuration diagram showing the overall configuration of a robot system according to a first embodiment of the present invention. [Figure 2] FIG. 2 is a block diagram of the robot system shown in FIG. 1. [Figure 3] FIG. 3 is a functional block diagram of a control unit shown in FIG. 2. [Figure 4] FIG. 4 is a flowchart for explaining an example of the control operation of the robot system shown in FIG. 1. [Figure 5] FIG. 5 is a schematic configuration diagram showing the overall configuration of a robot system according to a second embodiment of the present invention. [Figure 6] FIG. 6 is a flowchart for explaining an example of the control operation of the robot system shown in FIG. 1. [Figure 7] FIG. 7 is a schematic configuration diagram showing the overall configuration of a robot system according to a third embodiment of the present invention. [Figure 8] FIG. 8 is a flowchart for explaining an example of the control operation of the robot system shown in FIG. 1. DETAILED DESCRIPTION OF EMBODIMENTS
[0011] <First Embodiment> FIG. 1 is a schematic configuration diagram showing the overall configuration of a robot system according to a first embodiment of the present invention. FIG. 2 is a block diagram of the robot system shown in FIG. 1. FIG. 3 is a functional block diagram of a control unit shown in FIG. 2. FIG. 4 is a flowchart for explaining an example of the control operation of the robot system shown in FIG. 1.
[0012] The robot system of the present invention will be described in detail below based on preferred embodiments shown in the accompanying drawings. For convenience of explanation, the robot arm will be referred to as the "base end" on the side with the base 11 in Figure 1, and the opposite side, i.e., the "tip end" on the side with the end effector 20.
[0013] As shown in Figure 1, the robot system 100 comprises a robot 1, a robot control device 3 that controls the operation of the robot 1, and a teaching device 4, which is an example of an external device.
[0014] First, let me explain Robot 1. As shown in Figure 1, in this embodiment, robot 1 is a single-arm, six-axis vertical articulated robot, comprising a base 11 and a robot arm 10 rotatably mounted on the base 11. An end effector 20 can be attached to the tip of the robot arm 10. The end effector 20 may or may not be a component of robot 1.
[0015] Note that robot 1 is not limited to the configuration shown in the figure, and may be, for example, a dual-arm articulated robot, a horizontal articulated robot (SCARA robot), or a mobile robot.
[0016] The base 11 is a support that supports the robot arm 10 from the lower side in Figure 1, and is fixed, for example, to the floor of a factory. The robot 1 is electrically connected to the robot control device 3 via a relay cable on the base 11. Note that the connection between the robot 1 and the robot control device 3 is not limited to a wired connection as shown in Figure 1, but may be entirely or partially wireless, or even connected via a network such as the Internet.
[0017] In this embodiment, the robot arm 10 has a first arm 12, a second arm 13, a third arm 14, a fourth arm 15, a fifth arm 16, and a sixth arm 17, and these arms are connected in this order from the base 11 side. The number of arms that the robot arm 10 has is not limited to six, but may be one, two, three, four, five, or seven or more. Also, the size of each arm, such as the total length, is not particularly limited and can be set as appropriate.
[0018] The base 11 and the first arm 12 are connected via a joint 171. The first arm 12 is rotatable around a first axis of rotation parallel to the vertical direction relative to the base 11. The first axis of rotation coincides with the normal to the floor on which the base 11 is fixed.
[0019] The first arm 12 and the second arm 13 are connected via a joint 172. The second arm 13 is rotatable around a second axis of rotation parallel to the horizontal direction relative to the first arm 12. The second axis of rotation is parallel to an axis perpendicular to the first axis of rotation.
[0020] The second arm 13 and the third arm 14 are connected via a joint 173. The third arm 14 is rotatable around a third rotation axis parallel to the horizontal direction relative to the second arm 13. The third rotation axis is parallel to the second rotation axis.
[0021] The third arm 14 and the fourth arm 15 are connected via a joint 174. The fourth arm 15 is rotatable relative to the third arm 14 around a fourth rotation axis parallel to the central axis direction of the third arm 14. The fourth rotation axis is perpendicular to the third rotation axis.
[0022] The fourth arm 15 and the fifth arm 16 are connected via a joint 175. The fifth arm 16 is rotatable relative to the fourth arm 15 around the fifth rotation axis as its center of rotation. The fifth rotation axis is perpendicular to the fourth rotation axis.
[0023] The fifth arm 16 and the sixth arm 17 are connected via a joint 176. The sixth arm 17 is rotatable relative to the fifth arm 16 around the sixth rotation axis as its center of rotation. The sixth rotation axis is perpendicular to the fifth rotation axis.
[0024] Furthermore, the sixth arm 17 is the robot's tip, located at the very front of the robot arm 10. This sixth arm 17 can rotate together with the end effector 20 by the drive of the robot arm 10.
[0025] Robot 1 includes motors M1, M2, M3, M4, M5, and M6 as drive units, and encoders E1, E2, E3, E4, E5, and E6. Motor M1 is built into joint 171 and rotates the base 11 and the first arm 12 relative to each other. Motor M2 is built into joint 172 and rotates the first arm 12 and the second arm 13 relative to each other. Motor M3 is built into joint 173 and rotates the second arm 13 and the third arm 14 relative to each other. Motor M4 is built into joint 174 and rotates the third arm 14 and the fourth arm 15 relative to each other. Motor M5 is built into joint 175 and rotates the fourth arm 15 and the fifth arm 16 relative to each other. Motor M6 is built into joint 176 and rotates the fifth arm 16 and the sixth arm 17 relative to each other.
[0026] Encoder E1 is built into joint 171 and detects the position of motor M1. Encoder E2 is built into joint 172 and detects the position of motor M2. Encoder E3 is built into joint 173 and detects the position of motor M3. Encoder E4 is built into joint 174 and detects the position of motor M4. Encoder E5 is built into fifth arm 16 and detects the position of motor M5. Encoder E6 is built into sixth arm 17 and detects the position of motor M6.
[0027] Encoders E1 to E6 are electrically connected to the robot control device 3, and the position information of motors M1 to M6, i.e., the amount of rotation, is transmitted to the robot control device 3 as an electrical signal. Based on this information, the robot control device 3 drives motors M1 to M6 via motor drivers D1 to D6, as shown in Figure 2. In other words, controlling the robot arm 10 means controlling motors M1 to M6.
[0028] An end effector 20 can be detachably attached to the tip of the robot arm 10. In this embodiment, the end effector 20 is a hand having a pair of claws that can move closer to and further apart from each other, and each claw grips and releases the workpiece. The end effector 20 is not limited to the configuration shown, and may be a hand that grips the workpiece or tool by suction. The end effector 20 may also be, for example, a polishing machine, grinding machine, cutting machine, coating device, spray gun, or a tool such as a screwdriver or wrench.
[0029] Robot 1 uses such an end effector 20 to operate the robot arm 10 as desired to perform various tasks such as transporting, manufacturing, processing, assembling, and painting of workpieces.
[0030] Furthermore, a control point TCP is set at the tip of the end effector 20. In the robot system 100, by knowing the position of the control point TCP, the control point TCP can be used as the control reference.
[0031] Next, we will describe the teaching device 4. As shown in Figures 1 and 2, the teaching device 4 is an example of an external device that communicates with the robot control device 3.
[0032] The robot control device 3 and the teaching device 4 are connected by a signal line 35. More specifically, the communication unit 33 (first communication unit) of the robot control device 3 and the communication unit 43 (second communication unit) of the teaching device 4 are connected by a signal line 35. In this case, the connection is not limited to a wired signal line 35 as shown in Figure 1; for example, all or part of the connection may be wireless, or even connected via a network such as the Internet.
[0033] As shown in Figures 1 and 2, the teaching device 4 has a display unit 40 and an input unit 44, and by operating the input unit 44, it is possible to create and input an operation program for the robot arm 10. The teaching device 4 is not particularly limited and examples include a desktop or notebook PC, a tablet terminal, a smartphone, a teaching pendant, etc.
[0034] Specifically, the teaching device 4 comprises a display unit 40, a control unit 41, a storage unit 42, a communication unit 43, and an input unit 44.
[0035] The display unit 40 is composed of, for example, a liquid crystal display or an organic EL display. The display unit 40 may also constitute a notification unit, which will be described later.
[0036] The control unit 41 is composed of, for example, a CPU (Central Processing Unit) and reads various programs, such as teaching programs, stored in the memory unit 42.
[0037] The control unit 41 has a creation unit 411 (first creation unit) as a functional unit. The creation unit 411 creates a verification file F1 of the unique data stored in the storage unit 42, specifically the unique data D that is subject to signature verification. The unique data D is transmitted from the robot control device 3, as will be described later.
[0038] "Creating a verification file to be used for signature verification" means encrypting a hash value of a given data or program using the secret key B1 stored in the storage unit 42 as the secret key. In other words, the verification file F1 is the encrypted version of the given data or program.
[0039] The memory unit 42 has, for example, volatile memory such as RAM (Random Access Memory) and non-volatile memory such as ROM (Read Only Memory), and stores the various programs mentioned above. As will be described later, this memory unit 42 is a second memory unit in which the secret key B1 is stored. The secret key B1 is data used when encrypting a hash value for predetermined data or a predetermined program.
[0040] The communication unit 43 transmits and receives signals and data to and from the robot control device 3 using an external interface such as a wired LAN (Local Area Network) or wireless LAN. As will be described later, the communication unit 43 is a second communication unit that receives unique data D transmitted from the communication unit 33 of the robot control device 3 and transmits the verification file F1 to the communication unit 33.
[0041] The creation unit 411 may immediately create the verification file F1 when the communication unit 43 receives the unique data D, or it may store the unique data D in the storage unit 42 when the communication unit 43 receives it, and then create the verification file F1 when the robot control device 3 requests the unique data D.
[0042] The input unit 44 consists of a keyboard, mouse, connectors, external connection terminals, etc., and the user can input or select desired information by, for example, operating the keyboard or mouse.
[0043] If the display unit 40 is composed of a touch panel type liquid crystal display, the desired information can be input by touching the display surface of the display unit 40 with a finger, stylus, or the like. In this case, the display unit 40 also serves as the input unit 44.
[0044] Next, we will describe the robot control device 3. As shown in Figures 1, 2, and 3, the robot control device 3 controls the operation of the robot 1 and has functions such as acquiring and storing the robot 1's operation history.
[0045] As shown in Figure 1, in this embodiment, the robot control device 3 is installed at a location separate from the robot 1. However, the configuration is not limited to this, and for example, the robot control device 3 may be built into the base 11 of the robot 1.
[0046] As shown in Figure 2, the robot control device 3 includes a control unit 31, a storage unit 32, and a communication unit 33. These units are connected to each other so as to be able to communicate with one another, for example, via a bus.
[0047] The control unit 31, for example, consists of at least one CPU (Central Processing Unit) and reads and executes various programs, such as operation programs, stored in the memory unit 32. Signals generated by the control unit 31 are transmitted to various parts of the robot 1 via the communication unit 33. This allows the robot arm 10 to perform predetermined tasks under predetermined conditions.
[0048] Furthermore, the control unit 31 has various functions, including a function for verifying signatures, as will be described later. This will be explained in detail later.
[0049] The communication unit 33 transmits and receives signals and data to and from the teaching device 4 using an external interface such as a wired LAN (Local Area Network) or wireless LAN. The communication unit 33 is a first communication unit that transmits unique data D to the teaching device 4 and receives verification file F1 from the teaching device 4.
[0050] The storage unit 32 stores (stores) various programs that the control unit 31 can execute. In addition, as will be described later, the storage unit 32 stores a data compression processing program for the compression processing unit 313 to compress unique data.
[0051] Examples of the memory unit 32 include volatile memory such as RAM, non-volatile memory such as ROM, a hard disk, and a removable external storage device.
[0052] As shown in Figure 3, the storage unit 32 stores various data, including the public key A1 and robot information.
[0053] Public key A1 is data used to decrypt data and programs that have been encrypted using the private key B1 stored in the memory unit 42.
[0054] Robot information refers to information about robot 1, and includes various programs such as a startup program and an operation program, and various data such as robot 1's operation parameters and the robot's operation history. The operation program, robot 1's operation parameters, and robot 1's operation history are unique data that differ for each individual robot. In other words, unique data is data that changes after the user operates the robot control device 3 after shipment.
[0055] The startup program is a program for starting the system of the robot control device 3. Examples of startup programs include boot programs, BIOS (Basic Input / Output System), loaders, kernels, native programs, and Java® programs. The startup program is basically data that does not change after shipment and is data that does not change for each individual robot control device 3. In this embodiment, it is data that is not included in the unique data.
[0056] The operation program includes programs that specify various conditions for driving the robot 1, such as the path of the control point TCP of the robot 1, the posture of the robot arm 10 over time, and the speed information of the control point TCP. Each of these constitutes an operation program.
[0057] The operating parameters include force control parameters for the robot arm 10, such as the mass coefficient, viscosity coefficient, and elastic modulus, as well as settings for peripheral equipment such as cameras and sensors (not shown).
[0058] The operation history includes information on changes in the posture of the robot arm 10 over time, information on the progress of the work, and information such as the date and time when an error occurred.
[0059] The operation program, operation parameters, and operation history can be rewritten by the control unit 31 at predetermined timings. The operation program and operation parameters can be input, selected, or changed (rewritten) by, for example, the user operating the input unit 44 of the teaching device 4. The operation history is newly accumulated each time the robot 1 operates and can be acquired from the robot 1 in real time or at predetermined time intervals.
[0060] These robot information and public key A1 may be stored in the same memory or in different memories of the memory unit 32, but it is preferable that the public key A1 and the robot information be stored in different memories. This prevents the public key A1 from being corrupted even if the robot information data is corrupted, and enables more reliable encryption and decryption.
[0061] Next, the control unit 31 will be described. As shown in Figure 3, the control unit 31 has a drive control unit 311, a determination unit 312, a compression processing unit 313, a signature verification unit 314, and a status information acquisition unit 315 as functional units.
[0062] Each functional unit may be considered as a separate processor, or as different cores within a single processor.
[0063] The drive control unit 311 reads the operation program stored in the memory unit 32 and executes it. That is, the drive control unit 311 controls the power supply conditions to motors M1 to M6 according to the operation program.
[0064] The determination unit 312 determines whether a trigger has been activated to send unique data D to the communication unit 43. Examples of triggers include the robot control device 3 receiving a backup instruction, the operation program or operation parameters of robot 1 being changed, a predetermined time being reached, or a predetermined time elapsed since the last transmission of unique data D (transmission at predetermined time intervals).
[0065] If the determination unit 312 is configured to determine that a trigger has been activated when the robot control device 3 receives a backup instruction, then when a user wants to perform a backup, they can send the unique data D to the communication unit 43 at the desired timing, which is highly convenient.
[0066] If the determination unit 312 is configured to determine that a trigger has been activated when the operation program or operation parameters of robot 1 are changed, then when the operation program or operation parameters of robot 1 are changed, the unique data D can be automatically sent to the communication unit 43, which is highly convenient.
[0067] If the determination unit 312 is configured to determine that a trigger has been activated when a predetermined time has elapsed since the last transmission of unique data D, that is, if the communication unit 33 is configured to transmit unique data D to the communication unit 43 at predetermined time intervals, then a backup can be taken even if the user forgets to send a backup instruction.
[0068] The determination unit 312 makes the above determination based on the information acquired by the status information acquisition unit 315, which will be described later.
[0069] The compression processing unit 313 has the function of performing compression processing to compress desired unique data based on a data compression processing program stored in the storage unit 32. This makes it possible to speed up communication and reduce the communication load when sending and receiving unique data. The compression processing method performed by the compression processing unit 313 is not particularly limited and includes ZIP, TAR, CAB, 7z, RAR, etc.
[0070] The compression processing unit 313 can appropriately select which unique data to compress and which not to compress. A preferred example is that the compression processing unit 313 compresses the operation program and operation parameter data of robot 1, but does not compress the operation history data of robot 1. The operation history data of robot 1 is text data and has a relatively small data size. Therefore, by compressing the operation program and operation parameters of robot 1, which have a relatively large data size, and not compressing the operation history data of robot 1, it is possible to balance the reduction of compression time, the speed of communication, and the reduction of communication load.
[0071] The communication unit 33 sends the verification file, with the compressed file created by the compression processing unit 313 signed, to the teaching device 4. This reduces the hash value calculation time.
[0072] Furthermore, since the operation history of robot 1 may also be checked on the backup destination teaching device 4, treating it as a separate file rather than including it in the verification file offers greater convenience. By keeping the operation history data of robot 1 in a separate file from the verification file that compresses it, the process of decompressing the compressed file can be omitted, allowing for a quicker start to analyzing the operation history of robot 1. The compression processing unit 313 may also have a function to decompress the compressed data.
[0073] The signature verification unit 314 has the function of verifying the signature of the received verification file F1 using the public key A1.
[0074] "Signature verification" means verifying whether the first hash value obtained by applying a hash function to the unique data matches the second hash value obtained by decrypting the digital signature for the unique data using public key A1.
[0075] The signature verification unit 314 verifies the signature of the received verification file F1. If successful, it can read and execute the data or program. On the other hand, if the signature verification of the verification file F1 fails, it cannot read or execute the data or program. However, the data or program may be configured to be read and executable even if the signature verification fails. In this case, it is preferable to notify the system that the signature verification failed or to store the failure in the storage unit 32.
[0076] More specifically, "successful signature verification" means that the first hash value and the second hash value are compared and found to be the same. If signature verification is successful, the program has not been tampered with, the robot control device 3 can be started with high security, and the robot 1 can be driven safely.
[0077] "Signature verification failure" means that when comparing the first hash value and the second hash value, they are different values. If signature verification fails, the program may have been tampered with, or the program may be in an improper or incomplete state. Therefore, the safety of starting the robot control device 3 and the safety of driving the robot 1 cannot be guaranteed.
[0078] The status information acquisition unit 315 has the function of acquiring information regarding the status of the robot control device 3. The information acquired by the status information acquisition unit 315 is used as a trigger for transmitting unique data D. The information acquired by the status information acquisition unit 315 includes, for example, information on the status of the robot control device 3, such as whether the power is switched ON or OFF, information on whether the data in the storage unit 32 is normal or corrupted, information on whether a backup request has been made, whether there has been an instruction to restore to the state when the verification file was last created, and information on the elapsed time since the power was turned on. When the status information acquisition unit 315 acquires such information, the determination unit 312 makes the determination as described above.
[0079] In such a robot system 100, the communication unit 33 transmits the unique data D stored in the storage unit 32 to the teaching device 4 at a predetermined timing. When the communication unit 43 of the teaching device 4 receives the unique data D, the storage unit 42 stores the unique data D. Next, for example, when the teaching device 4 receives a command to create a verification file F1 and send it to the robot control device 3, the creation unit 411 creates a verification file F1 of the unique data D and sends it to the robot control device 3. Then, the signature verification unit 314 performs signature verification on the verification file F1, which was transmitted from and received by the communication unit 43, using the public key A1 stored in the storage unit 32. That is, the signature verification unit 314 performs signature verification on the verification file F1, which was created by the creation unit 411, transmitted from and received by the communication unit 43, using the public key A1.
[0080] If signature verification is successful, the verification file F1 is decrypted, and if necessary, the compressed data (hereinafter sometimes simply referred to as "compressed data") is uncompressed, and the program is executed or stored in the storage unit 32.
[0081] Furthermore, the decompression of compressed data in the robot control device 3 can be performed by either the compression processing unit 313 or the signature verification unit 314.
[0082] With this configuration, the robot system 100 works as follows: the robot control device 3 first transmits unique data D to the teaching device 4, and the robot control device 3 receives a verification file F1 for the unique data as needed. This allows the teaching device 4 to store the unique data D of the robot control device 3, and even if the storage unit 32 of the robot control device 3 fails, the unique data D can be recovered. Furthermore, even if the program in the verification file F1 is tampered with externally while the teaching device 4 is storing it, the robot control device 3 performs signature verification on the verification file F2. This prevents the tampered program from being accidentally executed or stored (overwritten) in the storage unit 32. Therefore, the safety of the robot 1's operation can be enhanced.
[0083] In this embodiment, the robot system 100 stores the public key A1 in the robot control device 3 and the private key B1 in the teaching device 4. In other words, in the robot system 100, the public key A1 and the private key B1 are stored in separate devices. This enhances security (robustness of security).
[0084] Based on the above, the robot system 100 can enhance the safety and security of the robot 1's operation.
[0085] As described above, the robot system 100 includes a robot control device 3 that controls the operation of the robot 1, and a teaching device 4, which is an example of an external device that communicates with the robot control device 3. The robot control device 3 includes a drive control unit 311 that controls the operation of the robot 1, a communication unit 33 as a first communication unit that communicates with the teaching device 4, a storage unit 32 as a first storage unit that stores the public key A1 and the unique data D of the robot 1, and a signature verification unit 314 as a first verification unit that performs signature verification. The teaching device 4 includes a communication unit 43 as a second communication unit that communicates with the communication unit 33, a second storage unit 43 that stores the private key B1, and a creation unit 411 as a first creation unit that creates a verification file F1 of the unique data D of the robot 1 that is the subject of signature verification, which is received by the communication unit 43 from the communication unit 33, using the private key B1. The first verification unit performs signature verification of the verification file F1 transmitted from the communication unit 43 and received by the communication unit 33 using the public key A1. Such a robot system 100 can enhance the safety and security of the robot 1's operation.
[0086] The unique data for robot 1 includes at least one (three in this embodiment) of the following: the robot 1's operating program, the robot 1's operating parameters, and the robot 1's operating history information. This allows for the creation of a verification file F1 containing the robot 1's operating program, operating parameters, and operating history, thereby further enhancing safety.
[0087] The first communication unit 33 transmits at least a portion of the unique data to the second communication unit 43 in a compressed state. This allows for faster communication and reduces the communication load.
[0088] The unique data for robot 1 includes the robot 1's operation program, robot 1's operation parameters, and robot 1's operation history information. The first communication unit, communication unit 33, transmits the robot 1's operation program and robot operation parameter data to the second communication unit, communication unit 43, in a compressed state, while transmitting the robot 1's operation history data to communication unit 43 as a separate file without compression. This allows for a good balance between reducing compression time, increasing communication speed, and reducing the communication load.
[0089] Furthermore, the operation program of robot 1, the operation parameters of robot 1, and the operation history of robot 1 may all be compressed, or they may not all be compressed.
[0090] The robot control device 3 has a determination unit 312 that determines whether or not a trigger has been activated to transmit unique data D to the communication unit 43, which acts as a second communication unit. Preferably, the determination unit 312 determines that the trigger has been activated when it receives a backup instruction. This allows the user to transmit unique data D to the communication unit 43 at the desired timing when they want to perform a backup, which is highly convenient.
[0091] The unique data of robot 1 includes the operation program and operation parameters of robot 1. The robot control device 3 has a determination unit 312 that determines whether a trigger has been activated to transmit the unique data D to the communication unit 43, which acts as a second communication unit. Preferably, the determination unit 312 determines that the trigger has been activated when the operation program or operation parameters of robot 1 are changed. This allows the unique data D to be automatically transmitted to the communication unit 43 whenever the operation program or operation parameters of robot 1 are changed, providing excellent convenience.
[0092] It is preferable that the first communication unit 33 transmits unique data D to the second communication unit 43 at predetermined time intervals. This ensures that backups can be taken even if the user forgets to send a backup instruction. The interval at which unique data D is sent may be configured as appropriate by the user.
[0093] The creation unit 411 of the teaching device 4 may be configured to immediately create the verification file F1 upon receiving the unique data D, or it may temporarily store the unique data D in the storage unit 42 upon receiving it, and then create and transmit the verification file F1 when a predetermined event occurs. The predetermined event is as exemplified above.
[0094] Conventionally, signature verification is performed on the program used to start the robot control device. The startup program basically does not change after the robot control device is shipped and delivered to the user. Therefore, even if the startup program is not backed up to the teaching device, it can be restored by restoring the robot control device to its factory settings. However, the verification file targeted for signature verification in this embodiment is unique data whose contents differ for each individual robot control device 3. In other words, the unique data changes after the robot control device 3 is shipped and delivered to the user. For this reason, it is difficult to restore the state without saving the backup data somewhere. This embodiment is particularly effective when restoring the robot control device 3 to a previous state, as the files targeted for signature verification are mainly unique data.
[0095] Next, the control operation (signature verification method) of the robot system 100 will be explained with reference to the flowchart shown in Figure 4.
[0096] First, in step S101, it is determined whether or not the trigger has been activated in order to create the verification file F1. That is, when the state information acquisition unit 315 acquires information regarding the state of the robot control device 3, it is considered that the trigger has been activated. The information regarding the state of the robot control device 3 is as described above.
[0097] If it is determined in step S101 that the trigger has been activated (S101:YES), the process proceeds to step S102. If it is determined in step S101 that the trigger has not been activated (S101:NO), step S101 is repeated until it is determined that the trigger has been activated.
[0098] Next, in step S102, the communication unit 33 of the robot control device 3 transmits unique data D to the communication unit 43 of the teaching device 4, and in step S103, the communication unit 43 receives the unique data D. The unique data D transmitted by the communication unit 33 includes compressed data compressed by the compression processing unit 313.
[0099] Next, in step S104, the creation unit 411 uses the secret key B1 stored in the storage unit 42 to create a verification file F1 of the unique data D that is subject to signature verification.
[0100] For example, when a user inputs a backup request instruction (transmission instruction) to the teaching device 4, in step S105, the communication unit 43 of the teaching device 4 transmits the verification file F1 to the communication unit 33 of the robot control device 3, and in step S106, the communication unit 33 receives the verification file F1. The verification file F1 transmitted by the communication unit 43 includes compressed data.
[0101] Next, in step S107, the signature verification unit 314 performs signature verification on the verification file F1 transmitted from the communication unit 43 and received by the communication unit 33 using the public key A1 stored in the storage unit 32.
[0102] Next, in step S108, it is determined whether the signature verification was successful or not. This determination is made by the signature verification unit 314. If it is determined in step S108 that the signature verification was successful (S108: YES), then in step S109, the unique data D is stored in the storage unit 32. This storage may be an overwrite (data update), or the old unique data may be retained while the new unique data D is stored.
[0103] If it is determined in step S108 that signature verification has failed (S108: NO), then in step S110, a notification unit (not shown) provides notification. This notification unit may be located on the robot control device 3, on the teaching device 4 such as the display unit 40, or on other devices. The notification method may be audio, visual using a display unit such as the display unit 40, LEDs, lamps, etc., or vibration using a vibrator, or a combination of two or more of these.
[0104] Although not shown in the diagram, if unique data is stored in the storage unit 32 in step S109, the notification unit may be configured to notify the system of this fact.
[0105] The robot control device 3 or robot system 100 equipped therewith can provide a signature verification method that is executed by a robot control device 3 having a first storage unit that stores a public key A1 and unique data D of the robot 1, and a teaching device 4 (external device) having a second storage unit that stores a private key B1, and comprises a first communication step in which the robot control device 3 transmits the unique data D to the teaching device 4, a first creation step in which the teaching device 4 uses the private key B1 to create a verification file F1 of the unique data to be verified, a second communication step in which the teaching device 4 transmits the verification file F1 to the robot control device 3, and a signature verification step in which the robot control device 3 performs signature verification on the verification file F2 received from the teaching device 4 using the public key A1.
[0106] Any other steps may be added before or after each of the above steps, particularly before and after each step in steps S101 to S110.
[0107] This signature verification method, like the robot system 100 described above, can enhance the safety and security robustness when the robot 1 is operating.
[0108] <Second Embodiment> Figure 5 is a schematic diagram showing the overall configuration of a robot system according to a second embodiment of the present invention. Figure 6 is a flowchart illustrating an example of the control operation of the robot system shown in Figure 1.
[0109] The second embodiment of the robot system of the present invention will be described below with reference to Figures 5 and 6, but the following description will focus on the differences from the first embodiment, and similar matters will be omitted.
[0110] The robot system 100 of this embodiment comprises a robot 1, a robot control device 3, and a teaching device 4, similar to the first embodiment.
[0111] As shown in Figure 5, the control unit 31 of the robot control device 3 omits the signature verification unit 314 of the first embodiment and has a creation unit 316 as a second creation unit. The main function of the creation unit 316 is the same as that of the creation unit 411 described in the first embodiment.
[0112] The control unit 41 of the teaching device 4 omits the creation unit 411 of the first embodiment and has a signature verification unit 412 as a second verification unit.
[0113] Furthermore, in this embodiment, the public key A2 is stored in the memory unit 42 (fourth memory unit) of the teaching device 4, and the private key B2 is stored in the memory unit 32 (third memory unit) of the robot control device 3.
[0114] In this robot system 100, the creation unit 316 of the robot control device 3 creates a verification file F2 of the unique data D at a predetermined timing, the communication unit 33 transmits it to the teaching device 4, and the signature verification unit 412 of the teaching device 4 performs signature verification. If the signature verification is successful, the teaching device 4 transmits (outputs) the verified verification file F3 to the robot control device 3 as needed, and the robot control device 3 stores the verified verification file F3 in the storage unit 32. With this configuration, the unique data D of the robot control device 3 can be stored in the teaching device 4 as a verification file F2, and even if the storage unit 32 of the robot control device 3 fails, the unique data D can be recovered. Therefore, it is possible to prevent the accidental execution of a tampered program or its storage (overwriting) in the storage unit 32. As a result, the safety of the operation of the robot 1 can be enhanced.
[0115] In the robot system 100 of this embodiment, the private key B2 is stored in the robot control device 3, and the public key A2 is stored in the teaching device 4. In other words, in the robot system 100, the public key A2 and the private key B2 are stored in separate devices. This enhances security (robustness of security).
[0116] Based on the above, the robot system 100 can enhance the safety and security of the robot 1's operation.
[0117] As described above, the robot system 100 of this embodiment comprises a robot 1, a robot control device 3 that controls the operation of the robot 1, and a teaching device 4, which is an example of an external device that communicates with the robot control device 3. The robot control device 3 includes a drive control unit 311 that controls the operation of the robot 1, a communication unit 33 as a third communication unit that communicates with the teaching device 4, a storage unit 32 as a third storage unit that stores the secret key B2 and the unique data of the robot 1, and a creation unit 316 as a second creation unit that creates a verification file 2 of the unique data of the robot 1 that is the subject of signature verification using the secret key B2. The teaching device 4 includes a communication unit 43 as a fourth communication unit that communicates with the communication unit 33, a storage unit 42 as a fourth storage unit that stores the public key A2, and a signature verification unit 412 as a second verification unit that performs signature verification. The signature verification unit 412 verifies the signature of the verification file F2 transmitted from the communication unit 33 and received by the communication unit 43 using the public key A2, and the communication unit 43 transmits the verified signature file F3 back to the communication unit 33. Such a robot system 100 can enhance the safety and security of the robot 1's operation.
[0118] In this embodiment, the communication unit 43 has been described as outputting (transmitting) the verified signature file F3 to the robot control device 3. However, the present invention is not limited to this, and the system may be configured to output (transmit) to other devices, such as robot control devices other than the robot control device 3 or teaching devices other than the teaching device 4.
[0119] Next, the control operation (signature verification method) of the robot system 100 of this embodiment will be explained with reference to the flowchart shown in Figure 6.
[0120] First, in step S201, it is determined whether the trigger has been activated in order to create the verification file F1. That is, when the state information acquisition unit 315 acquires information regarding the state of the robot control device 3, it is considered that the trigger has been activated. The information regarding the state of the robot control device 3 is as described above.
[0121] If it is determined in step S201 that the trigger has been activated (S201:YES), the process proceeds to step S202. If it is determined in step S201 that the trigger has not been activated (S201:NO), step S201 is repeatedly executed until it is determined that the trigger has been activated.
[0122] Next, in step S202, the creation unit 316 of the robot control device 3 creates a verification file F2 of the unique data D using the secret key B2 stored in the storage unit 32 and stores it in the storage unit 32. Next, in step S203, the communication unit 33 transmits the verification file F2 to the communication unit 43 of the teaching device 4, and in step S204, the communication unit 43 receives the verification file F2. The verification file F2 transmitted by the communication unit 33 includes compressed data compressed by the compression processing unit 313. The verification file F2 is stored in the storage unit 42 of the teaching device 4.
[0123] Then, for example, when a user inputs a backup request instruction (transmission instruction) to the teaching device 4, in step S205, the signature verification unit 412 of the teaching device 4 performs signature verification using the public key A2 stored in the storage unit 42.
[0124] Next, in step S206, it is determined whether the signature verification was successful or not. This determination is made by the signature verification unit 412. If it is determined in step S206 that the signature verification was successful (S206:YES), in step S207, the communication unit 43 of the teaching device 4 transmits the verified verification file F3 to the communication unit 33 of the robot control device 3, and in step S208, the communication unit 33 receives the verification file F3. The verification file F3 transmitted by the communication unit 43 includes compressed data.
[0125] Next, in step S210, the verification file F3 is decompressed and the unique data D is stored in the storage unit 32. This storage may be an overwrite (data update), or the old unique data may be retained while the new unique data D is stored.
[0126] On the other hand, if it is determined in step S206 that the signature verification has failed (S206:NO), a notification unit (not shown) will issue a notification in step S209. This notification is the same as in the first embodiment, so its explanation will be omitted.
[0127] The robot control device 3 or the robot system 100 equipped therewith described above, This is performed by a robot control device 3 having a third storage unit that stores the secret key B2 and the unique data D of robot 1, and a teaching device 4 (external device) having a fourth storage unit that stores the public key A2. The robot control device 3 uses the secret key B2 to create a verification file F2 for unique data that is subject to signature verification in the second creation step, The third communication step involves the robot control device 3 transmitting the verification file F2 to the teaching device 4, The teaching device 4 performs a second signature verification step in which it verifies the signature of the verification file F2 using the public key A2, A signature verification method can be provided, which includes a fourth communication step in which the teaching device 4 transmits a verified signature file F3 to the robot control device 3.
[0128] Any other steps may be added before or after each of the above steps, particularly before and after each step in steps S201 to S210.
[0129] This signature verification method, like the robot system 100 described above, can enhance the safety and security robustness when the robot 1 is operating.
[0130] <Third Embodiment> Figure 7 is a schematic diagram showing the overall configuration of a robot system according to a third embodiment of the present invention. Figure 8 is a flowchart illustrating an example of the control operation of the robot system shown in Figure 1.
[0131] The third embodiment of the robot system of the present invention will be described below with reference to Figures 7 and 8, but the following description will focus on the differences from the previous embodiments, and similar matters will be omitted.
[0132] As shown in Figure 7, the robot system 100 of this embodiment includes a first robot 1A, a second robot 1B that is different from (separate from) the first robot 1A, a first robot control device 3A that controls the operation of the first robot 1A, a teaching device 4, and a second robot control device 3B that controls the operation of the second robot 1B. The first robot control device 3A and the second robot control device 3B have the same configuration as the robot control device 3 described in the above embodiment, except that they differ in the presence or absence of the functional parts described below and in the robots that are controlled.
[0133] The first robot 1A and the second robot 1B may be the same type of robot or different types of robots. In this embodiment, the first robot 1A and the second robot 1B are each the same type and have the same configuration as robot 1 in the first embodiment.
[0134] As shown in Figure 7, the control unit 31 of the first robot control device 3A omits the signature verification unit 314 of the first embodiment and the creation unit 316 of the second embodiment.
[0135] The control unit 31 of the second robot control device 3B omits the signature verification unit 314 of the first embodiment and the creation unit 316 of the second embodiment, and has a signature verification unit 317 (third verification unit). The main functions of the signature verification unit 317 are the same as those of the signature verification unit 314 described in the first embodiment and the signature verification unit 412 described in the second embodiment.
[0136] The control unit 41 of the teaching device 4 has a third creation unit 413 which has the same function as the creation unit 411 of the first embodiment.
[0137] Furthermore, in this embodiment, the public key A3 is stored in the memory unit 32B (sixth memory unit) of the second robot control device 3B, and the secret key B3 is stored in the memory unit 42 (seventh memory unit) of the teaching device 4.
[0138] In such a robot system 100, the communication unit 33A (fifth communication unit) of the first robot control device 3A transmits unique data D to the teaching device 4 at a predetermined timing, and the creation unit 413 of the teaching device 4 creates a verification file F4 of the unique data D. Next, if necessary, the teaching device 4 transmits the verification file F4 to the second robot control device 3B, and the communication unit 33B (sixth communication unit) of the second robot control device 3B verifies the signature of the received verification file F4 using the public key A3. If the signature verification is successful, the second robot control device 3B stores the unique data D contained in the verification file F3 in the storage unit 32B. With this configuration, the unique data D of the first robot control device 3A can be stored in the teaching device 4 as a verification file F4, and the unique data D can be copied to the second robot control device 3B. Therefore, for example, the settings of the first robot control device 3A can be reflected in the second robot control device 3B, which is convenient and provides excellent reproducibility and uniformity of the robots' movements. In this case, it is possible to prevent the second robot control device 3B from mistakenly executing a tampered program or storing (overwriting) it in the memory unit 32B. As a result, the safety of the operation of not only the first robot control device 3A but also the second robot 1B can be enhanced. For example, when starting up a factory production line, it becomes possible to set up multiple robots in a short time while ensuring high security.
[0139] In the robot system 100 of this embodiment, the private key B3 is stored in the teaching device 4, and the public key A3 is stored in the second robot control device 3B. In other words, in the robot system 100, the public key A3 and the private key B3 are stored in separate devices. This enhances security (robustness of security).
[0140] Based on the above, the robot system 100 offers excellent convenience, reproducibility and uniformity of operations between the first robot 1A and the second robot 1B, and also enhances the safety and security of the operation of the second robot 1B.
[0141] As described above, the robot system 100 of this embodiment includes a first robot 1A, a second robot 1B different from the first robot 1A, a first robot control device 3A that controls the operation of the first robot 1A, a second robot control device 3B that controls the operation of the second robot 1B, and a teaching device 4 as an external device that communicates with the first robot control device 3A and the second robot control device 3B, respectively. The first robot control device 3A has a storage unit 32A as a fifth storage unit that stores the unique data D of the first robot 1A that is the subject of signature verification, and a communication unit 33A as a fifth communication unit that communicates with the teaching device 4. The second robot control device 3B has a communication unit 33B as a sixth communication unit that communicates with the teaching device 4, a storage unit 32B as a sixth storage unit that stores the public key A3, and a signature verification unit 317 as a third verification unit that performs signature verification. The teaching device 4 includes a communication unit 43 as a seventh communication unit that communicates with communication units 33A and 33B respectively, a storage unit 42 as a seventh storage unit that stores the secret key B3, and a creation unit 413 as a third creation unit that creates a verification file F4 of the unique data D of the first robot 1A, which is received by the communication unit 43 from the communication unit 33A, using the secret key B3. The signature verification unit 317 performs signature verification of the verification file F4, which is transmitted from the communication unit 43 and received by the communication unit 33B, using the public key A3. Such a robot system 100 offers excellent convenience and superior reproducibility and uniformity of robot operations. Furthermore, it can enhance the safety and security of operations not only for the first robot 1A but also for the second robot 1B.
[0142] Next, the control operation (signature verification method) of the robot system 100 of this embodiment will be explained with reference to the flowchart shown in Figure 8.
[0143] First, in step S301, it is determined whether or not a trigger has been activated in order to transmit the unique data D. That is, when the state information acquisition unit 315 acquires information regarding the state of the robot control device 3, it is considered that a trigger has been activated. The information regarding the state of the robot control device 3 is as described above.
[0144] If it is determined in step S301 that the trigger has been activated (S301:YES), the process proceeds to step S302. If it is determined in step S301 that the trigger has not been activated (S301:NO), step S301 is repeatedly executed until it is determined that the trigger has been activated.
[0145] Next, in step S302, the communication unit 33A of the first robot control device 3A transmits unique data D to the communication unit 43 of the teaching device 4, and in step S303, the communication unit 43 receives the unique data D. The unique data D transmitted by the communication unit 33A includes compressed data compressed by the compression processing unit 313.
[0146] Next, in step S304, the creation unit 413 uses the secret key B3 stored in the storage unit 42 to create a verification file F4 of the unique data D that is the subject of signature verification.
[0147] For example, when a user inputs a backup request instruction (transmission instruction) to the teaching device 4, in step S305, the communication unit 43 of the teaching device 4 transmits the verification file F4 to the communication unit 33B of the second robot control device 3B, and in step S306, the communication unit 33 receives the verification file F4. The verification file F4 transmitted by the communication unit 43 includes compressed data.
[0148] Next, in step S307, the signature verification unit 317 of the second robot control device 3B performs signature verification of the verification file F4 transmitted from the communication unit 43 and received by the communication unit 33B of the second robot control device 3B using the public key A3 stored in the storage unit 32B of the second robot control device 3B.
[0149] Next, in step S308, it is determined whether the signature verification was successful or not. This determination is made by the signature verification unit 317. If it is determined in step S308 that the signature verification was successful (S308: YES), then in step S309, the unique data D is stored in the storage unit 32B of the second robot control device 3B. This storage may be an overwrite (data update), or the old unique data may be retained while the new unique data D is stored.
[0150] If it is determined in step S308 that signature verification has failed (S308:NO), then in step S310, a notification unit (not shown) issues a notification. This notification is as described in the first embodiment.
[0151] Although not shown in the diagram, in step S309, if the unique data D is stored in the storage unit 32B of the second robot control device 3B, the notification unit may be configured to notify the user of this fact.
[0152] The robot control device 3 or the robot system 100 equipped therewith described above, This is performed by a first robot control device 3A having a fifth memory unit that stores the unique data D of robot 1, a teaching device 4 (external device) having a seventh memory unit that stores the secret key B3, and a second robot control device 3B having a sixth memory unit that stores the public key A3. The fifth communication step involves the first robot control device 3A transmitting unique data D to the teaching device 4, A signature verification method can be provided, comprising: a third creation step in which the teaching device 4 uses a private key B3 to create a verification file F4 of the unique data D to be verified; a sixth communication step in which the teaching device 4 transmits the verification file F4 to the second robot control device 3B; and a third signature verification step in which the second robot control device 3B verifies the signature of the verification file F4 received from the teaching device 4 using a public key A3.
[0153] Any other steps may be added before or after each of the aforementioned steps, particularly before and after each step in steps S301 to S310.
[0154] This signature verification method, like the robot system 100 described above, can enhance the safety and security robustness when the second robot 1B is operating. Furthermore, it allows for easy and high-level secure assurance of reproducibility and consistency of operation between the first robot 1A and the second robot 1B.
[0155] Although the robot system of the present invention has been described in detail in the illustrated embodiments, the present invention is not limited to these embodiments. Furthermore, each part of the robot system can be replaced with any component that can perform a similar function, or any component may be added. [Explanation of Symbols]
[0156] 1…Robot, 1A…First robot, 1B…Second robot, 2…Verification file, 3…Robot control device, 3A…First robot control device, 3B…Second robot control device, 4…Teaching device, 10…Robot arm, 11…Base, 12…First arm, 13…Second arm, 14…Third arm, 15…Fourth arm, 16…Fifth arm, 17…Sixth arm, 20…End effector, 31…Control unit, 32…Storage unit, 32A…Storage unit, 32B…Storage unit, 33…Communication unit, 33A…Communication unit, 33B…Communication unit, 35…Signal line, 40…Display unit, 41…Control unit, 42…Storage unit 43...Communication unit, 44...Input unit, 100...Robot system, 171...Joint, 172...Joint, 173...Joint, 174...Joint, 175...Joint, 176...Joint, 311...Drive control unit, 312...Determination unit, 313...Compression processing unit, 314...Signature verification unit, 315...Status information acquisition unit, 316...Creation unit, 317...Signature verification unit, 411...Creation unit, 412...Signature verification unit, 413...Creation unit, A1...Public key, A2...Public key, A3...Public key, B1...Private key, B2...Private key, B3...Private key, D...Unique data, D1...Motor driver, D2...Motor driver, D3...Motor Driver, D4...Motor driver, D5...Motor driver, D6...Motor driver, E1...Encoder, E2...Encoder, E3...Encoder, E4...Encoder, E5...Encoder, E6...Encoder, F1...Verification file, F2...Verification file, F3...Verification file, F4...Verification file, M1...Motor, M2...Motor, M3...Motor, M4...Motor, M5...Motor, M6...Motor, S101...Step, S102...Step, S103...Step, S104...Step, S105...Step, S106...Step, S107...Step, S108...Step, S109...Step, S110...Step, S201...Step, S202...Step, S203...Step, S205...Step, S206...Step, S207...Step, S208...Step, S209...Step, S210...Step, S301...Step, S302...Step, S303...Step, S304...Step, S305...Step, S306...Step, S307...Step, S308...Step, S309...Step, S310...Step, TCP...Control point
Claims
1. A robot control device that controls the operation of the robot, The robot control device is equipped with an external device that communicates with the robot control device, The robot control device is A drive control unit that controls the operation of the robot, A first communication unit that communicates with the aforementioned external device, A first storage unit in which the public key and the robot's unique data are stored, It has a first verification unit that performs signature verification, The external device is, The second communication unit communicates with the first communication unit, The second memory unit where the secret key is stored, The system includes a first creation unit which creates a verification file for the unique data of the robot that is subject to signature verification, received from the first communication unit by the second communication unit, using the secret key, The robot system is characterized in that the first verification unit performs signature verification of the verification file transmitted from the second communication unit and received by the first communication unit using the public key.
2. The robot according to claim 1, wherein the unique data of the robot includes at least one of the robot's operation program, the robot's operation parameters, and the robot's operation history information.
3. The robot according to claim 2, wherein the first communication unit transmits at least a portion of the unique data to the second communication unit in a compressed state.
4. The unique data of the robot includes the robot's operating program, the robot's operating parameters, and the robot's operating history information. The robot according to claim 3, wherein the first communication unit transmits the robot's operation program and the robot's operation parameter data in a compressed state to the second communication unit, and transmits the robot's operation history information to the second communication unit as a separate file without compression.
5. The robot control device has a determination unit that determines whether or not a trigger has been activated to transmit the unique data to the second communication unit. The robot according to claim 1 or 2, wherein the determination unit determines that the trigger has been activated when it receives a backup instruction.
6. The unique data of the robot includes the robot's operating program and the robot's operating parameters. The robot control device has a determination unit that determines whether or not a trigger has been activated to transmit the unique data to the second communication unit. The robot according to claim 1 or 2, wherein the determination unit determines that the trigger has been activated when the robot's operation program or the robot's operation parameters are changed.
7. The robot according to claim 1 or 2, wherein the first communication unit transmits the unique data to the second communication unit at predetermined time intervals.
8. A robot control device that controls the operation of the robot, The robot control device is equipped with an external device that communicates with the robot control device, The robot control device is A drive control unit that controls the operation of the robot, A third communication unit that communicates with the aforementioned external device, A third storage unit in which the secret key and the robot's unique data are stored, It includes a second creation unit that creates a verification file for the unique data of the robot that is subject to signature verification using the secret key, The external device is, The fourth communication unit communicates with the third communication unit, The fourth memory unit where the public key is stored, It has a second verification unit that performs signature verification, The second verification unit performs signature verification on the verification file transmitted from the third communication unit and received by the fourth communication unit using the public key. The robot system is characterized in that the fourth communication unit transmits the verified file, which has been authenticated, to the third communication unit.
9. A first robot control device that controls the operation of the first robot, A second robot control device that controls the operation of the second robot, The system comprises an external device that communicates with the first robot control device and the second robot control device, respectively. The first robot control device includes a fifth storage unit in which the robot's unique data is stored, It has a fifth communication unit that communicates with the aforementioned external device, The second robot control device described above is: A sixth communication unit that communicates with the aforementioned external device, The sixth memory unit where the public key is stored, It has a third verification unit that performs signature verification, The external device is, A seventh communication unit that communicates with the fifth communication unit and the sixth communication unit, respectively, The seventh memory unit where the secret key is stored, The seventh communication unit has a third creation unit which creates a verification file for the unique data of the first robot received from the fifth communication unit using the secret key, The robot system is characterized in that the third verification unit performs signature verification of the verification file transmitted from the seventh communication unit and received by the sixth communication unit using the public key.
Citation Information
Patent Citations
Information processing apparatus and information processing method
JP2019175000A