Robot system, signature verification method, and robot control device

JP2026165553APending Publication Date: 2026-10-14SEIKO EPSON CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025057991
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-03-31
Publication Date
2026-10-14

Smart Images

  • Figure 2026165553000001_ABST
    Figure 2026165553000001_ABST
Patent Text Reader

Abstract

To provide a robot system, a signature verification method, and a robot control device that can enhance safety. [Solution] A robot system comprising a robot control device and an external device, wherein the robot control device comprises a first storage unit that stores a secret key, a public key, and unique data related to the operation of the robot, a creation unit that uses the secret key to create a verification file of the unique data to be verified, a first communication unit that communicates with the external device and transmits the verification file to the external device, and a signature verification unit that performs signature verification using the public key, wherein the external device comprises a second communication unit that receives the verification file transmitted from the first communication unit and transmits the verification file to the first communication unit, and a second storage unit that stores the verification file received by the second communication unit, and the signature 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.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a robot system, a signature verification method, and a robot control device.

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 achieved using various robots and their peripheral devices. The operation of the robot is controlled by the robot control device. The robot control device includes a storage unit that stores various programs, and a processing unit that executes the programs stored in the storage unit.

[0003] In such a robot control device, from the perspective of improving safety, it is preferable to check whether various programs are in a proper state when the robot control device is started, and in particular, whether the programs have been tampered with improperly by external attacks or the like. As this method, there is known a method in which various programs are signed and stored, and the signature of each program is verified 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 on each of the stored programs one by one, and when the signature verification succeeds, the operation of starting that 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

Problems to be Solved by the Invention

[0006] However, the information processing device described in Patent Document 1 is configured to store signatures on various programs and verify the signatures of these programs at startup. Therefore, it cannot verify the signatures of programs and data that are updated as needed, or data transmitted and received with external devices. In other words, the information processing device described in Patent Document 1 has insufficient security (robustness of security). [Means for solving the problem]

[0007] A robot system according to an application example of the present invention includes a robot control device that controls the operation of the robot, The robot control device comprises an external device capable of communicating with the robot control device, The robot control device is A first storage unit that stores a private key, a public key, and unique data related to the operation of the robot, A creation unit that uses the aforementioned private key to create a verification file for the unique data subject to signature verification, A first communication unit that communicates with the external device and transmits the verification file to the external device, The system includes a signature verification unit that performs signature verification using the aforementioned public key, The external device is, A second communication unit receives the verification file transmitted from the first communication unit and transmits the verification file to the first communication unit, The system comprises a second storage unit that stores the verification file received by the second communication unit, The signature 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 signature verification method according to an application example of the present invention is performed by a robot system including a robot control device having a storage unit that stores a private key, a public key, and unique data relating to the operation of the robot, and an external device that can communicate with the robot control device. A creation step of creating a verification file for the unique data subject to signature verification using the aforementioned private key, A first communication step involves sending a verification file to the aforementioned external device, A storage step of storing the verification file in the external device, A second communication step involves transmitting the verification file read from the external device to the robot control device, The process includes a signature verification step of verifying the signature of the verification file received from the external device using the public key.

[0009] A robot control device according to an application example of the present invention is a robot control device that can communicate with an external device and controls the operation of a robot, A first storage unit that stores a private key, a public key, and unique data related to the operation of the robot, A creation unit that uses the aforementioned private key to create a verification file for the unique data subject to signature verification, A first communication unit that communicates with the external device and transmits the verification file to the external device, The system includes a signature verification unit that performs signature verification using the aforementioned public key, The signature verification unit performs signature verification on the verification file transmitted from the external device and received by the first communication unit using the public key. [Brief explanation of the drawing]

[0010] [Figure 1] Figure 1 shows the overall configuration of a robot system according to an embodiment of the present invention. [Figure 2] Figure 2 is a block diagram of the robot system shown in Figure 1. [Figure 3] Figure 3 is a functional block diagram of the control unit shown in Figure 2. [Figure 4] Figure 4 is a functional block diagram of the memory unit shown in Figure 2. [Figure 5] Figure 5 is a flowchart illustrating an example of the control operation of the robot system shown in Figure 1. DESCRIPTION OF EMBODIMENTS

[0011] <First Embodiment> Figure 1 is a diagram showing the overall configuration of a robot system according to an embodiment of the present invention. Figure 2 is a block diagram of the robot system shown in Figure 1. Figure 3 is a functional block diagram of the control unit shown in Figure 2. Figure 4 is a functional block diagram of the storage unit shown in Figure 2. Figure 5 is a flowchart for explaining an example of the control operation of the robot system shown in Figure 1.

[0012] Hereinafter, the robot system, signature verification method, and robot control device of the present invention will be described in detail based on preferred embodiments shown in the accompanying drawings. For convenience of explanation in the following, regarding the robot arm, the base 11 side in Figure 1 is also referred to as the "proximal end", and the opposite side, that is, the end effector 20 side is also referred to as the "distal end".

[0013] As shown in Figure 1, the robot system 100 includes 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, the robot 1 will be described. The robot 1 shown in Figure 1 is a single-arm 6-axis vertical articulated robot in the present embodiment, and has a base 11 and a robot arm 10. Further, an end effector 20 can be attached to the distal end portion of the robot arm 10. The end effector 20 may or may not be a constituent element of the robot 1.

[0015] The robot 1 is not limited to the illustrated configuration, and may be, for example, a dual-arm articulated robot. Further, the robot 1 may be a horizontal articulated robot.

[0016] The base 11 is a support that enables the robot arm 10 to be driven 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 also be a wireless connection, or even a connection 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 Figure 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 can include, for example, a desktop or notebook computer, 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 control unit 41 is, for example, composed of a CPU (Central Processing Unit) and reads various programs such as teaching programs stored in the memory unit 42. The display unit 40 may constitute a notification unit, which will be described later.

[0036] The memory unit 42, for example, has ROM and RAM, and stores the various programs mentioned above. As will be described later, this memory unit 42 is a second memory unit that stores the verification file F1 received by the communication unit 43.

[0037] 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 the verification file F1 transmitted from the communication unit 33 of the robot control device 3 and transmits the verification file F2 to the communication unit 33.

[0038] 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.

[0039] 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.

[0040] 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.

[0041] 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.

[0042] 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.

[0043] 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.

[0044] Furthermore, the control unit 31 has various functions, such as the function to create the verification file F1 and the function to perform signature verification, as will be described later.

[0045] 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 the first communication unit that transmits verification file F1 to the teaching device 4 and receives verification file F2 from the teaching device 4.

[0046] 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.

[0047] Examples of the memory unit 32 include volatile memory such as RAM (Random Access Memory), non-volatile memory such as ROM (Read Only Memory), and removable external storage devices.

[0048] As shown in Figure 4, the memory unit 32 stores various data such as the secret key 321, the public key 322, and robot information.

[0049] The private key 321 is used to encrypt the hash value of a given data or program. The public key 322 is used to decrypt the data or program encrypted using the private key 321. Encryption using the private key 321 and decryption using the public key 322 will be described in detail later.

[0050] 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 robot operation history. The 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 when the user operates the robot control device 3 after shipment. As long as the operation history is included as unique data, other data does not need to be included.

[0051] 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.

[0052] 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.

[0053] 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).

[0054] 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.

[0055] 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.

[0056] These private key 321, public key 322, and robot information may be stored in the same memory or in different memories of the memory unit 32. However, it is preferable that the private key 321 and public key 322 and the robot information are stored in different memories. This prevents the private key 321 and public key 322 from being corrupted even if the robot information data is corrupted, thereby enabling more reliable encryption and decryption.

[0057] Next, the control unit 31 will be described. As shown in Figure 3, the control unit 31 has, as functional units, a drive control unit 311, a creation unit 312, a compression processing unit 313, a signature verification unit 314, and a status information acquisition unit 315. Each of these functional units can be realized by the hardware configuration example shown in Figure 2.

[0058] Each functional unit may be considered as a separate processor, or as different cores within a single processor.

[0059] 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.

[0060] The creation unit 312 creates a verification file, specifically a verification file F1 of the unique data to be verified, which is stored in the storage unit 32 and is the target of signature verification.

[0061] "Creating verification files to be used for signature verification" means encrypting the hash value of specified data or a specified program using the secret key 321. In other words, verification files F1 and F2 are the encrypted versions of the specified data or program.

[0062] 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.

[0063] 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.

[0064] The communication unit 33 sends a verification file to the teaching device 4 with the compressed file created by the compression processing unit 313 signed. This reduces the hash value calculation time.

[0065] 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.

[0066] The signature verification unit 314 has the function of verifying the signature of the received verification file F2 using the public key 322.

[0067] "Signature verification" refers to 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 the public key 322.

[0068] The signature verification unit 314 verifies the signature of the received verification file F2. If successful, it can read and execute the data or program. On the other hand, if the signature verification of the verification file F2 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.

[0069] 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.

[0070] "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.

[0071] 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 creating the verification file F1. 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, a trigger is activated to start creating the verification file F1.

[0072] In such a robot system 100, the creation unit 312, at a predetermined timing, uses the secret key 321 stored in the storage unit 32 to create a verification file F1 of the unique data stored in the storage unit 32. Next, as shown in Figure 2, the communication unit 33 transmits the verification file F1 to the teaching device 4. When the communication unit 43 of the teaching device 4 receives the verification file F1, the storage unit 42 stores the verification file F1. Then, for example, when the teaching device 4 receives a command to transmit a verification file F2 to the robot control device 3, the communication unit 43 of the teaching device 4 transmits the verification file F2 to the robot control device 3, and the communication unit 33 of the robot control device 3 receives the verification file F2. The signature verification unit 314 then performs signature verification of the verification file F2 transmitted from the communication unit 43 and received by the communication unit 33 using the public key 322 stored in the storage unit 32. If signature verification is successful, the verification file F2 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.

[0073] 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.

[0074] With this configuration, the robot system 100 has the robot control device 3 send a unique data verification file F1 to the teaching device 4, and the robot control device 3 receives a unique data verification file F2 as needed. This allows the unique data of the robot control device 3 to be stored in the teaching device 4, and even if the storage unit 32 of the robot control device 3 fails, the unique data can be recovered. Furthermore, even if the program in verification file F1 is tampered with externally while stored in the teaching device 4, 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.

[0075] Furthermore, in the robot system 100, the robot control device 3 stores the private key 321 and the public key 322, and the robot control device 3 performs the creation of verification file F1 (with encryption using the private key 321) and transmission to the teaching device 4, as well as signature verification of verification file F2 received from the teaching device 4 (with decryption using the public key 322). This enhances the security (robustness of security) when the robot control device 3 transmits unique data to the teaching device 4, and the security (robustness of security) when the teaching device 4 transmits unique data to the robot control device 3.

[0076] Based on the above, the robot system 100 can enhance the safety and security of the robot 1's operation.

[0077] Conventionally, the signature verification of the program used to start the robot control device is performed. The program for starting the device basically does not change after the robot control device is shipped and delivered to the user. Therefore, even if the program for starting the device is not backed up to the teaching device, it can be restored by returning 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. Since data related to the operation of the robot 1 is accumulated in the storage unit 32 of the robot control device 3 from time to time, it is difficult to secure capacity. Therefore, it is desirable that the verification file F1 be stored in the storage unit 42 of the display device 4.

[0078] For these reasons, the present invention makes it possible to minimize the capacity of the memory unit 32, thereby suppressing the increase in size of the robot control device 4, while still being able to restore the unique data of the robot control device 3 to its previous state.

[0079] Next, the control operation (signature verification method) of the robot system 100 will be explained with reference to the flowchart shown in Figure 5.

[0080] 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.

[0081] If it is determined in step S101 that the trigger has been activated (S101:YES), the process proceeds to step S102. Step S101 is repeated until it is determined that the trigger has been activated in step S101.

[0082] Next, in step S102, the creation unit 312 uses the secret key 321 stored in the storage unit 32 to create a verification file F1 for the unique data to be verified.

[0083] Next, in step S103, the communication unit 33 transmits the verification file F1 to the communication unit 43 of the teaching device 4. In the teaching device 4, the storage unit 42 stores the verification file F1 received by the communication unit 43. The verification file F1 transmitted by the communication unit 33 includes compressed data compressed by the compression processing unit 313.

[0084] Then, for example, when a user inputs a backup request instruction (transmission instruction) to the teaching device 4, the communication unit 43 of the teaching device 4 transmits the verification file F2 stored in the storage unit 42 to the communication unit 33 of the robot control device 3, and the communication unit 33 receives the verification file F2 (step S104).

[0085] Next, in step S105, the signature verification unit 314 performs signature verification on the verification file F2 transmitted from the communication unit 43 and received by the communication unit 33 using the public key 322 stored in the storage unit 32.

[0086] Next, in step S106, 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 S106 that the signature verification was successful (S106: YES), then in step S107, the unique data is stored in the storage unit 32. This storage may be an overwrite (data update), or it may be stored as new data while retaining the old unique data.

[0087] If, in step S106, it is determined that signature verification has failed (S106: NO), then in step S108, 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.

[0088] Although not shown in the diagram, if unique data is stored in the storage unit 32 in step S107, the notification unit may be configured to notify the system of this fact.

[0089] As described above, the robot system 100 includes a robot control device 3 that controls the operation of robot 1, and a teaching device 4, which is an example of an external device that can communicate with the robot control device 3. The robot control device 3 includes a storage unit 32 as a first storage unit that stores a secret key 321, a public key 322, and unique data related to the operation of robot 1, a creation unit 312 that uses the secret key 321 to create a verification file F1 of the unique data to be verified, and communicates with the teaching device 4 and sends the verification file F1 to the teaching device 4. The teaching device 4 comprises a communication unit 33 as a first communication unit that transmits data, and a signature verification unit 314 that performs signature verification using a public key 322. The teaching device 4 comprises a communication unit 43 as a second communication unit that receives a verification file F1 transmitted from the communication unit 33 and transmits a verification file F2 to the communication unit 33, and a storage unit 42 as a second storage unit that stores the verification file F1 received by the communication unit 43. The signature verification unit 314 performs signature verification of the verification file F2 transmitted from the communication unit 43 and received by the communication unit 33 using the public key 322. This enhances the security (robustness of security) when the robot control device 3 transmits unique data to the teaching device 4, which is an external device, and the security (robustness of security) when the teaching device 4, which is an external device, transmits unique data to the robot control device 3.

[0090] Furthermore, the robot control device 3 is capable of communicating with a teaching device 4, which is an example of an external device, and controls the operation of the robot 1. It comprises a storage unit 32 as a first storage unit that stores a secret key 321, a public key 322, and unique data related to the operation of the robot 1; a creation unit 312 that uses the secret key 321 to create a verification file F1 of the unique data to be verified; a communication unit 33 as a first communication unit that communicates with the teaching device 4 and transmits the verification file F1 to the teaching device 4; and a signature verification unit 314 that performs signature verification using the public key 322. The signature verification unit 314 verifies the signature of the verification file F2 transmitted from the teaching device 4 and received by the communication unit 33 using the public key 322. This enhances the security (robustness of security) when the robot control device 3 transmits unique data to the teaching device 4, which is an external device, and when the teaching device 4, which is an external device, transmits unique data to the robot control device 3.

[0091] 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. 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.

[0092] The first communication unit, communication unit 33, transmits at least a portion of the unique data to the second communication unit, communication unit 43, in a compressed state. This allows for faster communication and reduces the communication load.

[0093] The unique data of robot 1 includes the robot 1's operation program, robot 1's operation parameters, and robot 1's operation history. 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 the second communication unit, 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.

[0094] 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.

[0095] The second communication unit, communication unit 43, transmits the verification file F2 to the first communication unit, communication unit 33, when the unique data stored in the first storage unit, storage unit 32, is corrupted, or when it is restored to the state it was in when the verification file was last created. This allows the robot control device 3 to receive the verification file F2 at an effective and appropriate time.

[0096] The creation unit 312 may periodically create a verification file F1 of the operating program at predetermined time intervals. The interval for creating the verification file F1 may be configured as appropriate by the user.

[0097] Furthermore, the creation unit 312 may create the verification file F1 when a predetermined event occurs. Examples of predetermined events include the user resetting the operation parameters or a data backup request being made.

[0098] Alternatively, the creation unit 312 may create the verification file F1 and immediately send it to the teaching device 4, or the creation unit 312 may create the verification file F1, temporarily store it in the storage unit 32, and then send the verification file F1 to the teaching device 4 when a predetermined event occurs. The predetermined event is as exemplified above.

[0099] The robot control device 3 or robot system 100 equipped therewith can provide a signature verification method that is executed by the robot control device 3 having a first storage unit that stores a secret key, a public key, and unique data related to the operation of the robot, and includes a creation step of creating a verification file F1 of the unique data to be verified using the secret key 321; a first communication step of transmitting the verification file F1 to an external device such as a teaching device 4; a storage step of storing the verification file F1 in a second storage unit of the external device; a second communication step of transmitting the verification file F1 read from the second storage unit to the robot control device 3; and a signature verification step of performing signature verification on the verification file F2 received from the external device using the public key 322.

[0100] In this signature verification method, either or both of the storage step and the second communication step may be omitted. Furthermore, any other steps may be added before or after each of the aforementioned steps.

[0101] This signature verification method, like the effect of the robot system 100 described above, can enhance the security (robustness of security) when the robot control device 3 sends and receives unique data.

[0102] Although the robot system, signature verification method, and robot control device of the present invention have been described above in the illustrated embodiments, the present invention is not limited thereto. Furthermore, each part of the robot system can be replaced with any structure capable of performing similar functions, or any structure may be added. [Explanation of Symbols]

[0103] 1...Robot, 3...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, 33...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...Creation unit, 313...Compression processing unit, 314...Signature verification unit, 315...Status information acquisition unit, 321...Private key, 322...Public key, D 1...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, 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, TCP...Control point

Claims

1. A robot control device that controls the operation of the robot, The robot control device comprises an external device capable of communicating with the robot control device, The robot control device is A first storage unit that stores a private key, a public key, and unique data related to the operation of the robot, A creation unit that uses the aforementioned private key to create a verification file for the unique data subject to signature verification, A first communication unit that communicates with the external device and transmits the verification file to the external device, The system includes a signature verification unit that performs signature verification using the aforementioned public key, The external device is, A second communication unit receives the verification file transmitted from the first communication unit and transmits the verification file to the first communication unit, The system comprises a second storage unit that stores the verification file received by the second communication unit, The robot system is characterized in that the signature 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.

2. The robot system 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 operating history.

3. The robot system 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. The robot system according to claim 2, wherein the first communication unit transmits the robot's operation program and robot operation parameter data to the second communication unit in a compressed state, and transmits the robot's operation history data to the second communication unit as a separate file without compression.

5. The robot system according to claim 1 or 2, wherein the second communication unit transmits the verification file to the first communication unit when the unique data stored in the first storage unit is corrupted or when it is restored to the state it was in when the verification file was last created.

6. This is performed by a robot system including a robot control device having a storage unit that stores a private key, a public key, and unique data related to the operation of the robot, and an external device that can communicate with the robot control device. A creation step of creating a verification file for the unique data subject to signature verification using the aforementioned private key, A first communication step involves sending a verification file to the external device, A storage step of storing the verification file in the external device, A second communication step involves transmitting the verification file read from the external device to the robot control device. A signature verification method characterized by including a signature verification step of performing signature verification on the verification file received from the external device using the public key.

7. A robot control device that can communicate with an external device and controls the operation of a robot, A first storage unit that stores a private key, a public key, and unique data related to the operation of the robot, A creation unit that uses the aforementioned private key to create a verification file for the unique data subject to signature verification, A first communication unit that communicates with the external device and transmits the verification file to the external device, The system includes a signature verification unit that performs signature verification using the aforementioned public key, The robot control device is characterized in that the signature verification unit performs signature verification on the verification file transmitted from the external device and received by the first communication unit using the public key.

Citation Information

Patent Citations

  • Information processing apparatus and information processing method

    JP2019175000A