How to compare the robot controller and the control software before and after the update.
The robot controller simplifies the verification of operation changes after software updates by comparing past and updated command signals, reducing the time and effort needed for verification.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- KAWASAKI JUKOGYO KK
- Filing Date
- 2022-10-28
- Publication Date
- 2026-07-29
AI Technical Summary
The process of updating control software in a robot controller can change the command signal output, affecting robot operation, and the verification of this change is time-consuming, imposing a significant burden on users.
A robot controller with a communication device, storage device, and computing device that stores past input and command signals, creates confirmation command signals based on updated control software, and compares them with past signals to verify operation without actual robot movement.
Enables easy and accurate verification of robot operation after software updates, reducing the time and effort required compared to manual verification.
Smart Images

Figure 0007897330000001 
Figure 0007897330000002 
Figure 0007897330000003
Abstract
Description
Technical Field
[0001] This application mainly relates to a robot controller that operates a robot using control software.
Background Art
[0002] Patent Document 1 discloses a robot controller that updates system software. The system software includes control software. The control software is used for processes such as calculating the position coordinates of a robot arm and creating a command signal to be output to a servo motor to operate the robot arm. The robot controller acquires new system software via an external storage device and updates the system software.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] When the control software is updated, the process by which the robot controller creates a command signal may change. As a result, the command signal output by the robot controller may change, which may affect the operation of the robot. Therefore, it is necessary to actually operate the robot using the updated control software to confirm whether the update affects the operation of the robot. However, since the confirmation work is time - consuming, the burden on the user is large.
[0005] This application has been made in view of the above circumstances, and its main object is to provide a robot controller that can easily confirm the operation of a robot after updating the control software. [Means for solving the problem]
[0006] The problem that this application aims to solve is as described above, and next, the means for solving this problem and their effects will be explained.
[0007] According to a first aspect of this application, a robot controller having the following configuration is provided: The robot controller comprises a communication device, a storage device, and a computing device. The communication device receives input signals that include information necessary for the operation of the robot and are input from an external source. The storage device stores control software. The computing device creates command signals that include command values for operating the robot based on the input signals and the control software. The computing device reads past input signals, which are input signals that were previously input to the communication device, and past command signals, which are command signals created based on those past input signals, from the storage device or an external source. After the control software has been updated, the computing device creates a confirmation command signal, which is a command signal based on the past input signals and the control software. The computing device compares the past command signal and the confirmation command signal and outputs the comparison result.
[0008] According to a second aspect of this application, the following method for comparing control software before and after an update is provided: Specifically, past input signals, which are input signals previously input to the robot controller, and past command signals, which are command signals created by the robot controller using the control software based on the past input signals, are read out. After the control software is updated, a confirmation command signal is created, which is the command signal based on the past input signals and the control software. The past command signal and the confirmation command signal are compared, and the comparison result is output. [Effects of the Invention]
[0009] According to this application, it is possible to easily verify the operation of a robot after updating its control software. [Brief explanation of the drawing]
[0010] [Figure 1] Block diagram of the robot system of this application. [Figure 2] An explanatory diagram showing the input and output of the robot controller during robot operation. [Figure 3] A diagram showing the contents of past input signals and past command signals stored in the memory device. [Figure 4] A flowchart illustrating the process of verifying the robot's operation without moving it after updating the control software. [Figure 5] An explanatory diagram showing the processing performed by the robot controller during operational verification. [Figure 6] A diagram showing past command signals and their contents during operational verification. [Figure 7] A flowchart illustrating the process for verifying the operation of a modified robot system. [Modes for carrying out the invention]
[0011] Next, embodiments of this application will be described with reference to the drawings. First, an overview of the robot system 1 will be described with reference to Figure 1.
[0012] Robot System 1 is a system for controlling industrial robots. Industrial robots are robots that perform tasks in workplaces such as factories or warehouses. Industrial robots are of the teaching playback type. Teaching playback means that the movements of the industrial robot are taught in advance, and the industrial robot repeats the movements according to the taught content. Industrial robots are, for example, vertically articulated or horizontally articulated arm robots. However, industrial robots may be robots other than arm robots, such as parallel link robots. Tasks performed by industrial robots include, for example, assembly, welding, painting, machining, or transportation. Hereinafter, industrial robots will simply be referred to as "Robot 20".
[0013] As shown in Figure 1, the robot system 1 comprises a robot controller 10 and a robot 20. Furthermore, the factory where the robot system 1 is located is also equipped with a sensor group 30 and a PLC 35.
[0014] The robot controller 10 includes a communication device 11, a storage device 12, and a computing device 13.
[0015] The communication device 11 is either a wired communication module or a wireless communication module. A wired communication module is hardware for wired communication and includes, for example, connectors, wiring, and a circuit board for processing input and output signals. A wireless communication module is hardware for wireless communication and includes, for example, an antenna and a circuit board for processing input and output signals. The communication device 11 communicates with external equipment.
[0016] The storage device 12 is a non-volatile memory such as a hard disk, SSD, or flash memory. The storage device 12 stores various software and data for operating the robot system 1. The software stored in the storage device 12 includes software for controlling the robot 20. Hereinafter, the software for controlling the robot 20 will simply be referred to as "control software."
[0017] The arithmetic unit 13 is a processor such as a CPU. The arithmetic unit 13 performs various processes for operating the robot system 1 by executing software stored in the storage device 12. In particular, the arithmetic unit 13 can operate the robot 20 in accordance with user instructions and external conditions by executing control software.
[0018] The robot 20 includes a plurality of arms 21, a working tool 22, and a plurality of motors 23. The plurality of arms 21 are rotatably connected to each other. A working tool 22 is attached to the tip of the arm 21. The working tool 22 may also be referred to as a manipulator or an end effector. When the work performed by the robot 20 is assembly or transportation, the working tool 22 is a hand that holds the workpiece. The motor 23 is configured to be able to control the amount of rotation and the rotation speed. Specifically, the motor 23 rotates at an amount of rotation and a rotation speed corresponding to the input command signal. The motor 23 is, for example, a servo motor. A motor 23 is arranged on each of the plurality of arms 21. Thereby, the plurality of arms 21 can each operate individually. A motor 23 is arranged on the working tool 22. Thereby, the working tool 22 performs work on the workpiece by the power of the motor 23. Note that, instead of the motor 23, other actuators, such as a cylinder or an electromagnetic solenoid, may be used.
[0019] The sensor group 30 is a general term for a plurality of sensors that measure various information related to the work of the robot 20. The sensor group 30 includes an encoder 31, a force sensor 32, a camera 33, and a timer 34. The encoder 31 is provided for each joint of the arm 21 and measures the rotation angle of each arm 21. The force sensor 32 measures the force received by the working tool too. The camera 33 photographs the robot 20 or the workpiece to create an image. The timer 34 measures time. The sensors constituting the sensor group 30 output the measurement results to the robot controller 10. The sensors included in the sensor group 30 are an example, and any sensor may be omitted or another sensor may be added according to the work content of the robot 20, the required accuracy, etc. Also, the number of the above-described sensors is not particularly limited. For example, two or more cameras 33 may be arranged.
[0020] PLC35 is a programmable logic controller. Various sensors or operating devices are connected to PLC35. The operating devices are, for example, levers or switches that can be operated by the user. Further, output devices such as relays are connected to PLC35. PLC35 switches the state of the output device according to the state of the sensor or the operating device. For example, when the sensor detects an object or the user operates the operating device, PLC35 switches the state of the relay, which is the output device. Thereby, a predetermined electrical signal is output to the robot controller 10. In the present embodiment, PLC35 is used to detect the situation around the robot 20. Note that since PLC35 is not an essential component of the robot system 1, it can be omitted.
[0021] In the present embodiment, the robot system 1 arranged in the factory and the server 40 provided in the data center cooperate with each other. The communication device 11 described above can communicate with the server 40 via a management device and a router in the factory. The communication device 11 can transmit the data obtained by the control of the robot 20 to the server 40 or receive the data necessary for the control of the robot 20 from the server 40. Further, the communication device 11 can receive data for updating the control software via the server 40. Thereby, the control software can be updated online. Note that the method for updating the control software is not limited to online, and a storage medium may be used. Also, the server 40 may be arranged in the same factory as the robot controller 10 instead of the data center. Note that since the server 40 is not an essential component of the robot system 1, it can be omitted.
[0022] Next, referring to FIG. 2, the processing of the robot controller 10 during the operation of the robot system 1 will be described.
[0023] During the operation of the robot system 1, various input signals are input to the robot controller 10. These input signals contain information necessary to operate the robot 20. Examples of input signals include operation setpoints, operation instructions, sensor data, or interrupt signals.
[0024] The operation settings are the settings required to operate the robot 20. Specifically, the operation settings include the limit speed of the arm 21, the default speed of the arm 21, and the constraint conditions for the arm 21 or the work tool 22.
[0025] The operation instructions are instructions for operating the arm 21 and the work tool 22. These instructions may include, for example, instructions to start an operation, instructions to end an operation, or instructions for the work to be performed by the robot 20. The operation settings and operation instructions may be manually entered by the user into the robot controller 10, or they may be entered by another computer.
[0026] The sensor data represents the detection results of each sensor in the sensor group 30. Each sensor in the sensor group 30 outputs data indicating its detection result to the robot controller 10, either directly or via other devices.
[0027] An interrupt signal is a signal that triggers the robot 20 to perform another action by interrupting its current state while it is performing or waiting for an action. For example, if an abnormality occurs in the robot 20 or surrounding equipment, an interrupt signal is input to the robot controller 10. In this case, the robot controller 10 will perform an emergency stop on the robot 20.
[0028] The input signals are not limited to those described above and may include other signals. Furthermore, the input signals do not need to include all of the signals described above. For example, the robot system 1 of this embodiment can be realized even without using sensor data or interrupt signals.
[0029] The arithmetic unit 13 generates command signals based on input signals and control software. By executing the control software, the arithmetic unit 13 generates command signals to perform pre-taught operations that satisfy the settings specified by the operation setting values and at the timing corresponding to the operation instruction. Since the control software itself is publicly known, a detailed explanation is omitted. Furthermore, when sensor data is input, the arithmetic unit 13 generates command signals corresponding to the sensor data, i.e., command signals to operate the robot 20 according to the state detected by the sensor. When an interrupt signal is input, the arithmetic unit 13 generates command signals corresponding to the interrupt signal, for example, a command signal to perform an emergency stop on the robot 20.
[0030] In this embodiment, the arithmetic unit 13 stores in the storage device 12 the input signals input to the robot controller 10 during the operation of the robot system 1, and the input timing, which is the timing at which the input signals were input.
[0031] Since the robot 20 repeatedly performs a series of tasks, the arithmetic unit 13 stores the input signal and input timing in the storage device 12 for each series of tasks. In this embodiment, as shown in Figure 3, the signal input at the beginning of the series of tasks is used as the reference time, and the elapsed time from the reference time is stored as the input timing. However, the method of storing the input timing is not limited to this, and the date and time when the input signal was input may also be stored as the input timing. In addition, the arithmetic unit 13 may store the input signal and input timing from a predetermined start time to an end time, for example, rather than for each series of tasks.
[0032] The input signals stored here correspond to past log data and will therefore be referred to as past input signals below. As shown in Figure 3, past input signals include "data type" and "data content". Data type indicates the type of input signal, for example, whether it corresponds to an operation setting value, operation instruction, sensor data, or interrupt signal. Note that data types may be further subdivided. Data content is data that indicates the specific content of the data type.
[0033] Furthermore, the computing unit 13 stores in the storage device 12 the command signals output by the robot controller 10 during the operation of the robot system 1, and the output timing, which is the timing at which the command signals were output.
[0034] The method for storing output timing is the same as for input timing as described above, so the explanation will be omitted. The command signals stored here will be referred to as past command signals below. As shown in Figure 3, past command signals include the "command target" and the "command value". The command target is the object to be operated by the command signal. Specifically, it is the identification number of the motor 23 equipped on the robot 20. The command value is the value used to determine the amount of rotation and rotational speed of the motor 23.
[0035] As will be explained in detail later, past input signals and past command signals are used for operational verification after the update described later. In this embodiment, past input signals and past command signals are stored in the storage device 12 according to pre-set rules. The content of the rules is not particularly limited, but for example, rules based on work content and storage frequency can be set. For example, rules can be set in advance to store past input signals and past command signals for work content that the user wishes to verify. Furthermore, the frequency at which the work content set by the rules is stored can be set. For example, as a storage frequency, rules such as once every predetermined time or once every predetermined number of work operations can be set. The rules described above are just examples and may differ from those in this embodiment.
[0036] Alternatively, instead of setting rules to automatically store past input signals and command signals, the storage of past input signals and command signals may be started and stopped at timings specified by the user. Or, a method may be used in which all past input signals and command signals are stored in the storage device 12 and past input signals and command signals older than a predetermined time are deleted.
[0037] The storage location for past input signals and past command signals is not limited to the storage device 12. For example, the arithmetic unit 13 may store past input signals and past command signals in the server 40. This allows for the consolidation of past input signals and past command signals to the robot 20 if multiple robots 20 perform the same task.
[0038] Next, referring to Figures 4 to 6, we will explain the process of verifying the operation of the robot 20 using only the robot controller 10 after updating the control software. The flowchart in Figure 4 is executed by the arithmetic unit 13 when the control software becomes ready for update.
[0039] The arithmetic unit 13 determines whether or not there is an instruction to update the control software (S101). If the arithmetic unit 13 determines that an instruction to update the control software has been issued, for example, by user operation, it applies the control software update (S102).
[0040] In this embodiment, as part of the control software update process, the operation of the robot 20 is verified following the control software update. Therefore, after the processing in step S102, the arithmetic unit 13 performs processing related to verifying the operation of the robot 20 without requiring user instruction or confirmation. The processing related to verifying the operation of the robot 20 includes a process of comparing the control software before and after the update. First, the arithmetic unit 13 reads out past input signals and input timings stored in the memory device 12 (S103).
[0041] Next, as shown in Figure 5, the arithmetic unit 13 creates a confirmation command signal and an output timing based on the read past input signals and input timings (S104). The confirmation command signal and output timing will be explained below. The confirmation command signal is a command signal created not to operate the robot 20, but to confirm the effect of the control software update. Since the control software update has been applied, the arithmetic unit 13 creates the confirmation command signal using the updated control software, past input signals, and input timings. Furthermore, the robot controller 10 does not need to actually input past input signals from the outside; the robot controller 10 reproduces the state in which past input signals have been input internally. Specifically, the arithmetic unit 13 assumes that a first past input signal has been input at an arbitrary timing and performs the process of creating a first confirmation command signal based on it. The arithmetic unit 13 stores the created first confirmation command signal and the output timing, which is the timing at which the first confirmation command signal becomes outputtable, in the storage device 12. Next, the arithmetic unit 13 processes the data by delaying the first input signal by an amount corresponding to the input timing, assuming that a second input signal has been received, and then creates a second confirmation command signal based on that. Similarly, it stores the created second confirmation command signal and its output timing. By repeating the above process, a confirmation command signal and output timing can be created.
[0042] In this embodiment, the state in which past input signals were received is reproduced internally in the robot controller 10. Alternatively, if past input signals and input timings are stored in the server 40, the past input signals may be input from the server 40 at a timing corresponding to the input timing. Or, to mitigate the effects of line delay, the past input signals and input timings may be transmitted from the server 40 to a management device in the factory, and the past input signals may be input from the management device to the robot controller 10. Furthermore, in this embodiment, the confirmation command signal is not output externally, but it may be output externally. For example, the confirmation command signal may be output to the management device or server 40, and the management device or server 40 may measure the output timing of the confirmation command signal.
[0043] Next, as shown in Figure 5, the arithmetic unit 13 compares the output timing, command target, and command value of the past command signal and the confirmation command signal (S105). Here, the input signal and input timing for creating the confirmation command signal are the same as the input signal and input timing for creating the past command signal. The difference between the two conditions is whether or not the control software has been updated. Therefore, if the control software update does not affect the operation of the robot 20, the output timing, command target, and command value of the past command signal and the confirmation command signal will be the same. However, if the logic for creating the command signal is changed due to the control software update, the output timing and command value may change slightly. Also, even if the logic for creating the command signal has not been changed, the output timing may change slightly as a result of a slight change in the calculation speed.
[0044] The comparison between past command signals and confirmation command signals is performed as follows. That is, past command signals and confirmation command signals are classified and stored for each command signal, as shown in Figure 6. Therefore, the arithmetic unit 13 compares the output timing, command target, and command value for each command signal. The arithmetic unit 13 determines that the past command signal and confirmation command signal match if the output timing, command target, and command value match for all command signals required to perform a series of operations. On the other hand, the arithmetic unit 13 determines that the past command signal and confirmation command signal do not match if the output timing, command target, or command value does not match for at least one command signal.
[0045] The arithmetic unit 13 determines whether the past command signal and the confirmation command signal match (S106), and if it determines that they match, it displays the comparison result (S109). The comparison result is displayed on a display connected to the robot controller 10, the display of a user's portable device, the display of a management device, etc. After that, with the update applied, the arithmetic unit 13 terminates processing.
[0046] If the arithmetic unit 13 determines that the past command signal and the confirmation command signal do not match, it determines whether the difference is less than a threshold (S107). The threshold is pre-set and stored in the memory device 12. The threshold can be set for the output timing and the command value separately. Alternatively, a threshold may be set only for the output timing, or only for the command value. If the arithmetic unit 13 determines that the difference between the past command signal and the confirmation command signal is less than the threshold, it displays the comparison result (S109).
[0047] If the arithmetic unit 13 determines that the difference between the past command signal and the confirmation command signal is greater than or equal to a threshold, it reverts the control software to its state before the update (S108) and displays the comparison result (S109). In other words, because the operation of the robot 20 may change due to the control software update, the control software update is canceled. Alternatively, if the operation is greater than or equal to a threshold, the comparison result may be displayed and the user may be asked whether or not to apply the control software update. In this case, the user checks the comparison result and, if they determine that there is no problem, instructs the user to apply the control software update. As a result, the arithmetic unit 13 terminates processing with the control software updated.
[0048] Thus, in this embodiment, instead of actually moving the robot 20 to verify its operation, the operation is verified based on whether or not there is a change in the command signal for moving the robot 20. Since the robot 20 will perform the same operation if the command signal input to the robot 20 is the same, highly accurate operation verification can be performed. Furthermore, if the robot 20 is actually moved, it is necessary to make the surrounding environment the same as when it is in operation, prepare for the operation of the robot 20, and take measures such as keeping people away from the robot 20, which is very time-consuming. On the other hand, in this embodiment, the operation of the robot 20 can be verified by calculations of the robot controller 10 or other devices, which is much simpler compared to the method of actually moving the robot 20. Therefore, it is easy to respond to frequent updates of the control software, for example.
[0049] In this embodiment, in step S104, the past input signal is input in a manner that reproduces the actual input timing. Alternatively, the past input signal may be input with the time interval shortened by the same factor. For example, if the actual time difference between the first and second past input signals is 500 milliseconds, and the actual time difference between the second and third past input signals is 1000 milliseconds, the time differences may be halved to 250 milliseconds and 500 milliseconds, respectively, and the past input signals may be input with these differences. In this case, the output timing of the past command signal must also be compressed by the same factor before the comparison in step S105. Note that the method of shortening the input timing is not limited to a single factor. For example, if the time interval of the past input signal exceeds 5 seconds, a method such as uniformly shortening it to 1 second may be used.
[0050] Next, a modified example of the embodiment will be described. In this description of the modified example, the same or similar components as those in the previously described embodiment will be denoted by the same reference numerals in the drawings, and their descriptions may be omitted. Figure 7 shows a flowchart illustrating the process related to the modified example.
[0051] Steps S201, S202, S203, and S204 in the flowchart of Figure 7 correspond to steps S103, S104, S105, and S109 in the flowchart of Figure 4, respectively. The modified example differs from the above embodiment mainly in the following two points.
[0052] The first difference is that in the above embodiment, the operation is verified through the control software update and a series of processes, but in the modified example, the operation is verified independently. In other words, in the modified example, the user updates the control software and then instructs the process shown in Figure 7 to be executed. The user then checks the comparison results, and if there are no problems, maintains the updated control software. If the user believes there is a problem with the comparison results, the user instructs the robot controller 10 to downgrade the control software version.
[0053] The second difference is that input and output timings are not considered. Depending on the task performed by the robot 20, the timing of the robot's movements may not be a problem. For example, in situations where collisions are unlikely to occur or where there are no interplays with other tasks, the timing of the robot 20's movements is unlikely to be a problem. Therefore, in the modified example, it is sufficient for the memory device 12 to store past input signals and past command signals, as well as the order in which those signals were input and output, and it is not necessary to store input or output timings in the memory device 12. Furthermore, input timings are not used when creating confirmation command signals. Therefore, output timings for confirmation command signals are not created either. And output timings are not compared when comparing past command signals and confirmation command signals.
[0054] As described above, the robot controller 10 of the above embodiment comprises a communication device 11, a storage device 12, and an arithmetic unit 13. The communication device 11 receives input signals that include information necessary for the operation of the robot 20 and input signals that are input from the outside. The storage device 12 stores the control software. The arithmetic unit 13 creates command signals that include command values for operating the robot 20 based on the input signals and the control software. The arithmetic unit 13 reads past input signals, which are input signals that were previously input to the communication device 11, and past command signals, which are command signals created based on the past input signals, from the storage device 12 or from the outside. After the control software is updated, the arithmetic unit 13 creates a confirmation command signal, which is a command signal based on the past input signals and the control software. The arithmetic unit 13 compares the past command signal and the confirmation command signal and outputs the comparison result. This is Feature 1.
[0055] This allows the operation of the robot 20 following a control software update to be verified simply by comparing past command signals with verification command signals. Therefore, the effort required is significantly reduced compared to actually operating the robot 20. Furthermore, since the robot 20 will perform the same actions if the command signals input to it are the same, the accuracy of the operation verification will not be compromised.
[0056] In the robot controller 10 of the above embodiment, past input signals are stored along with the input timings input to the communication device 11. Past command signals are stored along with the output timings output to the robot 20. The arithmetic unit 13 creates a confirmation command signal based on the past input signals input according to the input timing and the updated control software. The arithmetic unit 13 compares the past command signal and the confirmation command signal, taking the output timing into consideration, and outputs the comparison result. This is feature 2.
[0057] This allows for verification of the robot 20's operation, including output timing. Therefore, even when the robot 20 performs tasks where timing is critical, its operation can be verified.
[0058] In the robot controller 10 of the above embodiment, the arithmetic unit 13 compares the content of the command value of the past command signal with the content of the command value of the confirmation command signal, and further compares the output timing of the command value of the past command signal with the output timing of the command value of the confirmation command signal and outputs the comparison result. This is Feature 3.
[0059] This allows for verification of the robot 20's operation, including both the command value and the output timing. Therefore, even when the robot 20 performs tasks where both its posture and operation timing are critical, the robot 20's operation can be verified.
[0060] In the robot controller 10 of the above embodiment, the arithmetic unit 13 may input past input signals at time intervals shorter than the input timing of past input signals to create a confirmation command signal. This is feature 4.
[0061] This reduces the time required to verify the operation of the robot 20 compared to reproducing the actual input timing.
[0062] In the robot controller 10 of the above embodiment, when the user issues an instruction to start updating the control software, the computing unit 13 performs a series of processes including updating the control software and comparing the confirmation command signal based on the updated control software with the past command signal. This constitutes Feature 5.
[0063] Since the purpose of this embodiment is to verify the operation of the robot 20 following an update of the control software, performing these steps as a series of processes allows the process to proceed smoothly.
[0064] In the robot controller 10 of the above embodiment, if the past command signal and the confirmation command signal match, or if the difference between the past command signal and the confirmation command signal is less than a threshold, the arithmetic unit 13 completes the control software update. If the difference between the past command signal and the confirmation command signal is greater than or equal to the threshold, the arithmetic unit 13 waits for the control software update to complete. This is feature 6.
[0065] This allows for smoother verification of the robot's operation following control software updates.
[0066] In the robot controller 10 of the above embodiment, the arithmetic unit 13 compares past command signals with the confirmation command signal and outputs the comparison result without outputting a confirmation command signal to the robot 20. This is feature 7.
[0067] This allows for verification of the robot's operation without actually operating the robot 20.
[0068] Features 1 through 7 described above can be combined as appropriate, as long as no contradictions arise. For example, feature N (N=1,2,...,7) can be combined with at least one of features 1 through N-1 as appropriate.
[0069] In the above embodiment, the method for comparing the control software before and after the update is as follows. First, past input signals, which are input signals previously input to the robot controller 10, and past command signals, which are command signals created by the robot controller 10 using the control software based on the past input signals, are read out. Next, after the control software update, a confirmation command signal is created, which is a command signal based on the past input signals and the control software. Then, the past command signal and the confirmation command signal are compared, and the comparison result is output.
[0070] Although preferred embodiments of this application have been described above, the above configuration can be modified as follows, for example.
[0071] In the above embodiment, the robot controller 10 outputs only command signals, but it may also output notification signals in addition to command signals. Notification signals are signals used to inform the outside world of the operating status of the robot 20, etc. The arithmetic unit 13 may also include notification signals in addition to command signals as targets for operation verification.
[0072] The flowchart shown in the above embodiment is just one example, and some processes may be omitted, some processes may be modified, or new processes may be added. For example, step S107 in the flowchart of Figure 4 may be omitted, and the control software update may be enabled only when the past command signal and the confirmation command signal match.
[0073] In the above embodiment, the processing unit 13 performs all the processes described in the flowcharts of Figures 4 and 7, but at least some of them may be performed by other hardware, such as computers inside or outside the factory. For example, all the data collected by the robot controller 10 may be aggregated in the server 40, and the server 40 may perform the comparison processing.
[0074] The functions of the elements disclosed herein can be performed using circuits or processing circuits, including general-purpose processors, dedicated processors, integrated circuits, ASICs (Application Specific Integrated Circuits), conventional circuits, and / or combinations thereof, configured or programmed to perform the disclosed functions. A processor is considered a processing circuit or circuit because it includes transistors and other circuits. In this disclosure, a circuit, unit, or means is hardware that performs the enumerated functions, or hardware programmed to perform the enumerated functions. The hardware may be hardware disclosed herein, or other known hardware that is programmed or configured to perform the enumerated functions. If the hardware is a processor, which is considered a type of circuit, then the circuit, means, or unit is a combination of hardware and software, and the software is used to configure the hardware and / or the processor.
Claims
1. A communication device that includes information necessary for the robot's operation and also receives input signals from an external source, A memory device for storing control software, A computing device that generates a command signal including a command value for operating a robot based on the input signal and the control software, Equipped with, The calculation device reads from the storage device or an external source the past input signal, which is the input signal that was previously input to the communication device, and the past command signal, which is the command signal created based on the past input signal. The arithmetic unit, after updating the control software, creates a confirmation command signal which is the command signal based on the past input signal and the control software. The calculation device is a robot controller that compares the past command signal and the confirmation command signal and outputs the comparison result.
2. A robot controller according to claim 1, The aforementioned past input signals are stored along with the input timing input to the communication device. The aforementioned past command signals are stored along with the output timings that were output to the robot. The calculation device generates the confirmation command signal based on the past input signal input according to the input timing and the updated control software. The calculation device is a robot controller that compares the past command signal and the confirmation command signal, taking into account the output timing, and outputs the comparison result.
3. A robot controller according to claim 2, The calculation unit compares the contents of the command value of the past command signal with the contents of the command value of the confirmation command signal, and further compares the output timing of the command value of the past command signal with the output timing of the command value of the confirmation command signal to output the comparison result, and outputs the result, a robot controller.
4. A robot controller according to claim 1, The aforementioned computing device is a robot controller that generates the confirmation command signal by inputting the past input signal at a time interval shorter than the input timing of the past input signal.
5. A robot controller according to claim 1, A robot controller that, upon receiving a user instruction to start updating the control software, performs the following as a series of processes: updating the control software and comparing the confirmation command signal based on the updated control software with the past command signal.
6. A robot controller according to claim 1, If the past command signal and the confirmation command signal match, or if the difference between the past command signal and the confirmation command signal is less than a threshold, the arithmetic unit completes the update of the control software. If the difference between the aforementioned past command signal and the aforementioned confirmation command signal is greater than or equal to a threshold, the arithmetic unit waits for the completion of the update of the control software, robot controller.
7. A robot controller according to claim 1, The calculation device is a robot controller that compares the past command signal with the confirmation command signal and outputs the comparison result without outputting the confirmation command signal to the robot.
8. The past input signal, which is an input signal previously input to the robot controller, and the past command signal, which is a command signal created by the robot controller using control software based on the past input signal, are read out. After updating the control software, a confirmation command signal is created, which is the command signal based on the past input signal and the control software. A method for comparing control software before and after an update, which involves comparing the aforementioned past command signal with the aforementioned confirmation command signal and outputting the comparison result.