Command value transmission device, control system, and command value transmission method
By designing a command value transmission device that includes acquisition, correction and communication functions, the problem of excessive change in command value in robot operation caused by delay or advance in command value generation in the control system is solved, and stable and appropriate command value transmission is achieved.
Patent Information
- Application Number
- JP2023159382
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-25
- Publication Date
- 2025-04-04
AI Technical Summary
In the prior art, the control system may experience delay or advance when generating instructions, resulting in excessive changes in command values during robot operations, which may cause the robot to be shut down.
A command value transmission device is designed, which includes a acquisition unit, a correction unit and a communication device. By obtaining the generated command value and its generation time, the correction unit generates and transmits appropriate transmission command value according to the degree of delay or advance and the change trend of the command value.
Even if the timing of generating command values is delayed or advanced, the device can effectively correct and transmit appropriate command values to avoid downtime problems caused by excessive change in command values during robot operations.
Smart Images

Figure 2025050532000001_ABST
Abstract
Description
[Technical field]
[0001] The present disclosure mainly relates to a command value transmitting device that corrects and transmits a command value to be transmitted to a robot controller. [Background technology]
[0002] Patent Document 1 discloses a control system for controlling a robot. The control system includes a control device and a robot controller. The control device transmits a command related to the robot's trajectory to the robot controller. The robot controller generates a command value for operating the robot based on the received command and transmits the command value to the robot. In addition to the command, the control device periodically transmits a correction amount related to the robot's trajectory. The robot controller calculates a corrected command value based on the received correction amount. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] International Publication No. 2022 / 162959 Summary of the Invention [Problem to be solved by the invention]
[0004] In the control system of Patent Document 1, the timing at which the control device generates a command may be delayed or accelerated for some reason. When generating a command value based on this command, the change in the command value may exceed a pre-estimated value, which may cause the robot to stop moving.
[0005] The present disclosure has been made in consideration of the above circumstances, and its main objective is to provide a command value transmission device that, even if the timing of generating a command value outside the robot controller is delayed or advanced, counteracts the effect of such an event and generates and transmits an appropriate command value. [Means for solving the problem]
[0006] The problem to be solved by the present disclosure is as described above. Next, the means for solving this problem and the effects thereof will be described.
[0007] According to a first aspect of the present disclosure, there is provided a command value transmission device having the following configuration. That is, the command value transmission device transmits a transmission command value to a robot controller that controls a robot at a predetermined control period. The command value transmission device includes an acquisition unit, a correction unit, and a communication device. The acquisition unit acquires an n-th generation command value generated using command value generation software and a generation time of the n-th generation command value. The correction unit corrects the n-th generation command value based on the degree of delay or advancement of the n-th generation time and a change tendency of command values based on the n-th generation command value and the n-1th or earlier transmission command value to generate the n-th transmission command value. The communication device transmits the transmission command value to the robot controller at the control period.
[0008] According to a second aspect of the present disclosure, there is provided the following command value transmission method. That is, in the command value transmission method, a transmission command value is transmitted to a robot controller that controls a robot at a predetermined control period. In the command value transmission method, an n-th generated command value generated using command value generation software and a generation time of the n-th generated command value are acquired. In the command value transmission method, the n-th generated command value is corrected based on the degree of delay or advancement of the n-th generation time and a change tendency of command values based on the n-th generated command value and the (n-1)th or earlier transmitted command value to generate the n-th transmitted command value. In the command value transmission method, the transmitted command value is transmitted to the robot controller at the control period. Effect of the Invention
[0009] According to the present disclosure, even if the timing of generating a command value outside the robot controller is delayed or advanced, the effect can be countered and an appropriate command value can be generated and transmitted. [Brief description of the drawings]
[0010] [Figure 1] FIG. 2 is a block diagram of a control system and a robot. [Diagram 2] 4 is a flowchart of the command value transmitting device. [Diagram 3] 4 is a table showing command data stored in a storage device of the command value transmission device. [Figure 4] 11 is a graph for explaining a correction function. [Diagram 5] FIG. 4 is a sequence diagram of command value generating software and correction software of the command value transmitting device. [Figure 6] 11 is a graph for explaining a period conversion function. [Figure 7] Graph to explain the estimation function. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] Next, an embodiment of the present disclosure will be described with reference to the drawings. First, a robot 40 and a control system 1 will be described with reference to Figs.
[0012] The robot 40 to be controlled by the control system 1 is an industrial robot. In general, an industrial robot is a robot that performs work in a work place such as a factory or a warehouse. The industrial robot is, for example, a teaching playback type. The teaching playback type is a type in which the operation of the industrial robot is taught in advance, and the industrial robot repeats the operation according to the taught content. The industrial robot is a vertically articulated or horizontally articulated arm robot. However, the industrial robot may be a robot other than an arm robot, such as a parallel link robot. The work performed by the industrial robot is, for example, assembly, welding, painting, machining, or transportation. The industrial robot is generally controlled using a dedicated programming language for the robot's operation, in other words, a robot operation generation language. The control system 1 is also applicable to non-industrial robots.
[0013] The robot 40 of this embodiment includes a plurality of arms 41, a work tool 42, and a plurality of motors 43. The arms 41 are rotatably connected to each other. The work tool 42 is attached to the tip of the arm 41. The work tool 42 is also called a manipulator or an end effector. The motor 43 rotates at a rotation amount and rotation speed according to an input command value. The motor 43 is, for example, a servo motor. The motor 43 is disposed for each movable axis of the robot 40. This allows the arms 41 and the work tool 42 to move individually. Note that instead of the motor 43, other actuators, for example, cylinders or electromagnetic solenoids, may be used.
[0014] The control system 1 is a system that controls a robot 40. The control system 1 includes a command value transmitting device 10 and a robot controller 30.
[0015] The command value transmission device 10 is a computer such as a notebook PC or a tablet PC. The command value transmission device 10 includes a processing device 11, a storage device 12, and a communication device 13. The processing device 11 is, for example, a CPU, and has a calculation function and a control function. The processing device 11 executes a program included in the software to realize various functions related to the control of the robot 40. The storage device 12 is a non-volatile memory such as a hard disk, an SSD, or a flash memory. Various software and data are stored in the storage device 12. The communication device 13 is a wired communication module or a wireless communication module. The wired communication module is hardware for wired communication, and includes, for example, a connector, wiring, a board for processing input and output signals, and the like. The wireless communication module is hardware for wireless communication, and includes, for example, an antenna, a board for processing input and output signals, and the like. The communication device 13 is capable of communicating with the robot controller 30.
[0016] The command value transmitting device is not limited to a computer such as a notebook PC or a tablet PC. For example, a smartphone or a mobile information terminal may be used as the command value transmitting device. The command value transmitting device is not limited to a general-purpose machine capable of executing various processes, but may be a dedicated machine specialized for robot control.
[0017] The software stored in the storage device 12 includes command value generation software and correction software. In this embodiment, the command value generation software and the correction software are software that operate independently while coordinating with each other. Alternatively, the function of the correction software may be incorporated into the command value generation software. Also, in this embodiment, one command value transmission device 10 executes the command value generation software and the correction software. Alternatively, the device that executes the command value generation software and the device that executes the correction software may be separate. In this case, the device that executes the correction software corresponds to the command value transmission device.
[0018] The command value generation software is software that generates a trajectory of the robot 40 according to a preset sequence or the sensing result of the surrounding environment. The trajectory is the overall movement of the robot 40, and more specifically, indicates the axis values of a plurality of movable axes. That is, the command value generation software generates a command value for each of a plurality of movable axes. Hereinafter, a command value generated using the command value generation software is referred to as a generated command value. The command value generation software of this embodiment is open source software created in a general-purpose programming language such as Python. The use of open source software has the advantage of easily introducing the latest technology. The processing device 11 executes the command value generation software, so that the processing device 11 operates as the command value generation unit 21. The command value generation software is well known, so a detailed description of the processing content will be omitted.
[0019] The correction software includes a correction function, a period conversion function, and an estimation function. The period conversion function and the estimation function are not essential functions and can be omitted. When the processing device 11 executes the correction software, the processing device 11 operates as the acquisition unit 22, the correction unit 23, the period conversion unit 24, and the estimation unit 25. The correction function is a function of correcting the generated command value based on the generation time of the generated command value to generate a transmission command value. The period conversion function is a function of preparing a command value according to the control period when the generation period of the generated command value of the command value generating software is different from the control period. The control period is a period in which the command value transmitting device 10 transmits the transmission command value to the robot controller 30, and is a period in which the robot controller 30 controls the robot 40. The estimation function is a function of estimating a command value when the generated command value cannot be obtained from the command value generating software for a period exceeding a predetermined time. The correction function, the period conversion function, and the estimation function will be described in detail later.
[0020] Using the hardware and software described above, the processing device 11 of the command value transmission device 10 performs the process shown in Fig. 2. First, the processing device 11 generates a generated command value using command value generation software (S101). Next, the processing device 11 corrects the generated command value using correction software to generate a transmission command value and stores it in the storage device 12 (S102). Next, the processing device 11 controls the communication device 13 to transmit the transmission command value to the robot controller 30 for each control period (S103).
[0021] As shown in Fig. 3, command data is stored in the storage device 12 for each target movable axis. The command data is a set of a predetermined number of transmission command values and corresponding times for the transmission command values. The transmission command values stored in the storage device 12 are sequentially transmitted to the robot controller 30. In other words, the transmission command values are buffered. Therefore, even if the generation of the transmission command values is temporarily delayed, it can be handled. Note that the transmission command values may be buffered using a volatile memory instead of a non-volatile memory.
[0022] The robot controller 30 includes a communication module, a storage, and a computing device. The communication module is capable of communicating with the command value transmitting device 10. The computing device stores the transmission command value of each axis received from the command value transmitting device 10 in the storage. The computing device performs processing to generate a drive current for driving the motor 43 of each axis and output the drive current to the robot 40. This allows the robot 40 to operate.
[0023] Next, the correction function will be described with reference to FIG. 4 and FIG.
[0024] In the explanation of the correction function, it is assumed that the generation cycle, which is the cycle in which the command value generation software generates the generated command values, is the same as the control cycle. The generated command values are generated for each movable axis and corrected for each movable axis. In the following explanation, the phrase "for each movable axis" may be omitted to simplify the explanation.
[0025] First, the necessity of the correction function will be described. The command value generation software generates a generation command value for each generation cycle. However, the generation of the generation command value may be delayed or accelerated due to delays in arithmetic processing, timing of receiving the sensing result, specifications of the command value generation software, etc. In addition, the command value generation software of the open source software does not have a function to handle delays or advances in the generation of the generation command value. As a result, the value may be larger or smaller than the generation command value generated at the appropriate timing. As a result, the amount of change in the generation command value based on the previous transmission command value also becomes larger or smaller. When the amount of change in the generation command value is large, the transmission command value changes more rapidly than expected, causing the operation of the robot 40 to become unstable or to stop abnormally. When the amount of change in the generation command value is small, the robot 40 may not operate as expected, or the amount of change the next time may be large. In view of this point, the correction function of this embodiment corrects the generation command value according to the generation time of the generation command value, thereby suppressing abrupt changes in the transmission command value or changing the transmission command value to an appropriate value.
[0026] Next, an overview of the correction process will be described with reference to the graph in FIG. 4. The vertical axis of the graph is the command value, in other words, the axis value. n indicates the nth transmission command value. The horizontal axis of the graph is time. t n indicates the time corresponding to the nth transmission command value. The interval between the dashed lines indicates the control cycle. The black circles indicate the transmission command values. The white circles near the nth transmission command value indicate the generated command value. This generated command value corresponds to the nth transmission command value, but it is generated with a delay. If this generated command value were used as is, the command value would fluctuate suddenly. In this regard, by using the correction function, the generated command value can be corrected as shown by the arrow in Figure 4, and sudden fluctuations in the command value can be suppressed.
[0027] Next, the correction process will be described in detail with reference to the sequence diagram of Fig. 5. The sequence diagram of Fig. 5 mainly describes a process for generating an n-th transmission command value. Specifically, the command value generating unit 21 generates a generation command value corresponding to the n-th value (S1). The command value generating unit 21 also records the generation time of the generation command value.
[0028] Next, the acquisition unit 22 acquires the generation command value and the generation time (S2). The acquisition unit 22 further acquires the (n-1)th command data from the storage device 12 (S3).
[0029] Next, the correction unit 23 corrects the generation command value and generates the n-th transmission command value (S4) using the data acquired in S2 and S3 and the formula (1) shown in Fig. 5. The formula (1) is a line that connects the generation command value shown by the white circle in the graph of Fig. 4 with the (n-1)-th transmission command value, and the time t n As shown in equation (2) of FIG. 5, the command value corresponding to time t n That is, at time t n-1 From another perspective, the correction can be divided into the following two aspects. The first is to obtain the change tendency, or the slope, of the command value based on the n-th generated command value and the (n-1)-th transmitted command value. The second is to obtain the change tendency, or the slope, of the command value based on the n-th generated command value and the (n-1)-th transmitted command value. nThe purpose of this method is to find the degree of delay or advance of the generation time relative to n. Then, by applying the gradient while moving in the direction that eliminates the degree of delay or advance, i.e., the time difference, the n-th transmission command value can be calculated. Furthermore, formula (1) can be used for both delay and advance of the generation time, and can also be used for cases where there is no delay or advance.
[0030] In addition to the n-1th command data, the n-2th command data may be used. In this case, in addition to the above-mentioned gradient, a gradient based on the nth generation command value and the n-2th transmission command value can be calculated. The average gradient is obtained by simply averaging these two gradients, or by increasing the weight of the n-1th gradient and averaging them. The average gradient and the time t n The transmission command value can be calculated based on the degree of delay or advancement of the generation time relative to the time of the first generation command. Note that the above-described correction is an example, and the transmission command value may be calculated from the generation command value using a known interpolation process or extrapolation process.
[0031] Next, the correction unit 23 stores the generated n-th transmission command value in the storage device 12 (S5). This updates the command data shown in FIG. 3. Next, when the timing for transmitting the n-th transmission command value arrives, the processing device 11 transmits the n-th transmission command value to the robot controller 30 (S6). This completes the process for the n-th transmission command value. The n+1th transmission command value and onward are processed in the same manner.
[0032] The processing device 11 has a function of stopping the operation of the robot 40 when the generation of the command value by the command value generation software is significantly delayed. This function can be omitted. Specifically, when one of the following two conditions is satisfied, the processing device 11 stops the operation of the robot 40. The first condition is that the time difference obtained by subtracting the n-1th corresponding time from the generation time exceeds a first threshold value. The second condition is that the command value difference obtained by subtracting the n-1th transmission command value from the nth transmission command value exceeds a second threshold value. The first threshold value may be determined based on the control period or the like. More specifically, it may be determined based on the value obtained by multiplying the number of transmission command values that can be buffered by the control period. The second threshold value can be determined experimentally or empirically based on the specifications of the robot 40 or the like.
[0033] Next, the period conversion function will be described with reference to FIG.
[0034] The period conversion function is used when the generation period of the command value generated by the command value generating software is different from the control period. The period conversion unit 24 acquires the generation period and the control period. Specifically, the period conversion unit 24 acquires the generation period and the control period by acquiring the settings or specifications of the command value generating software or the specifications of the robot controller 30. Note that the user may input the generation period and the control period by operating the command value transmitting device 10. When the generation period and the control period are different, the processing device 11 prepares a transmission command value according to the control period.
[0035] For example, when the generation period is longer than the control period, it is necessary to increase the frequency of generation of the transmission command value. Therefore, the period conversion unit 24 performs an interpolation process to calculate a new command value. The command value calculated by performing the interpolation process is called an interpolated command value. Furthermore, when there is no transmission command value corresponding to a time later than the time to be calculated, the interpolation process cannot be used. In this case, the period conversion unit 24 performs an extrapolation process to calculate a new command value. The command value calculated by performing the extrapolation process is called an extrapolated command value. On the other hand, when the generation period is shorter than the control period, there will be a surplus of transmission command values. In this case, the period conversion unit 24 prepares transmission command values that match the control period by thinning out the transmission command values.
[0036] FIG. 6 shows an example in which the generation period is twice the control period. In this case, an interpolation process is performed using the n-1th transmission command value and the nth transmission command value to calculate an interpolation command value with an interpolation ratio of 0.5. The interpolation process is, for example, linear interpolation, but may be a different interpolation process. Furthermore, when the n+1th transmission command value is calculated, an interpolation process is performed using the nth transmission command value and the n+1th transmission command value to calculate an interpolation command value with an interpolation ratio of 0.5. By repeating this process, the substantial generation period of the transmission command value can be doubled, and the difference between the generation period and the control period can be canceled out.
[0037] Note that Fig. 6 is an example, and the ratio between the generation cycle and the control cycle is not limited to 2. In either case, the transmission command value according to the control cycle can be prepared by calculating the interpolation command value or the extrapolation command value based on the ratio between the generation cycle and the control cycle. It is also preferable to update the transmission command value used for the interpolation when the interpolation ratio exceeds 1. The extrapolation process is, for example, linear extrapolation, but may be a different extrapolation process.
[0038] The above-described period conversion function makes it possible to handle cases where the generation period of the command value generated by the command value generating software differs from the control period.
[0039] Next, the inference function will be described with reference to FIG.
[0040] The estimation function is used when the generation command value cannot be obtained from the command value generation software for more than a predetermined first time. The first time is, for example, a time corresponding to a control cycle, but may be a different time. The estimation function includes an interpolation process and an extrapolation process. For example, in the graph of FIG. 7, when the n-1th and n+1th generation command values can be obtained, but the nth generation command value cannot be obtained, the estimation unit 25 performs an interpolation process. Specifically, the nth transmission command value is calculated by performing an interpolation process based on the n-1th transmission command value and corresponding time, the n+1th transmission command value and corresponding time, and the nth corresponding time. The interpolation process is, for example, a linear interpolation, but may be a different interpolation process.
[0041] After that, if the generation command value cannot be acquired again, the estimation unit 25 performs an extrapolation process. Specifically, the estimation unit 25 calculates the n+2-th transmission command value by performing an extrapolation process based on the n-1-th transmission command value and corresponding time, the n+1-th transmission command value and corresponding time, and the n+2-th corresponding time. The extrapolation process is, for example, linear extrapolation, but may be a different extrapolation process.
[0042] The command value generated by the estimation unit 25 through the interpolation process or extrapolation process is referred to as an estimated command value. In this embodiment, the interpolation process and extrapolation process are performed based only on the transmitted command value, and the estimated command value is not used. This is because there is a possibility that errors will increase significantly if estimation is performed based on the estimated command value. Furthermore, if the estimation unit 25 is unable to obtain the generated command value for more than a predetermined second time, it stops the process or stops the robot 40. This prevents the estimation process from being performed continuously for a long period of time. Note that instead of the time during which the generated command value cannot be obtained, a correction ratio may be used to determine whether to stop the process or stop the robot 40.
[0043] The above estimation function makes it possible to cope with a case where a generated command value cannot be obtained from the command value generating software for a period exceeding a predetermined first time period.
[0044] (Feature 1) The command value transmitting device 10 of this embodiment transmits a transmission command value to the robot controller 30 that controls the robot 40 at a predetermined control period. The command value transmitting device 10 includes an acquiring unit 22, a correcting unit 23, and a communication device 13. The acquiring unit 22 acquires an n-th generation command value generated using command value generating software and a generation time of the n-th generation command value. The correcting unit 23 corrects the n-th generation command value based on the degree of delay or advancement of the n-th generation time and a change tendency of the command value based on the n-th generation command value and the (n-1)th or earlier transmission command value to generate an n-th transmission command value. The communication device 13 transmits the transmission command value to the robot controller 30 at a control period.
[0045] As a result, even if the command value generation software generates a command value late or early, the generated command value can be corrected based on the degree of delay or advance and the change tendency of the command value. As a result, an appropriate transmission command value can be transmitted to the robot controller 30. For example, if the generation time is delayed, the amount of change in the transmission command value is suppressed, so that abrupt fluctuations in the transmission command value can be suppressed. Also, if the generation time is advanced, the transmission command value can be changed to an appropriate value.
[0046] (Feature 2) In the command value transmission device 10 of this embodiment, the correction unit 23 corrects the n-th generation command value by linear interpolation using the n-th generation command value and the (n-1)-th transmission command value, and generates the n-th transmission command value.
[0047] This allows the transmission command value to be generated by simple processing since it is only necessary to perform linear interpolation using the immediately preceding transmission command value.
[0048] (Feature 3) In the command value transmitting device 10 of this embodiment, when the time difference obtained by subtracting the time corresponding to the (n-1)th transmitted command value from the generation time exceeds a first threshold value, or when the command value difference obtained by subtracting the (n-1)th transmitted command value from the nth transmitted command value exceeds a second threshold value, a process is performed to stop the operation of the robot 40.
[0049] This makes it possible to stop the operation of the robot 40 if there is an excessive delay in the generation time or a significant change in the command value.
[0050] (Feature 4) The command value transmitting device 10 of this embodiment includes a storage device 12 that buffers transmission command values. A first threshold value is set based on a value obtained by multiplying the number of transmission command values that the storage device 12 can buffer by the control period.
[0051] This allows the operation of the robot 40 to be stopped when buffering is not enough.
[0052] (Feature 5) The command value transmitting device 10 of this embodiment includes a period conversion unit 24. This applies when the generation period of the command value generated by the command value generating software is different from the control period. The period conversion unit 24 prepares a transmission command value according to the control period by performing an interpolation process or an extrapolation process of the transmission command value to generate a new transmission command value, or by thinning out the transmission command value. The communication device 13 transmits the transmission command value prepared by the period conversion unit 24 to the robot controller 30 according to the control period.
[0053] This makes it possible to transmit the transmission command value at a frequency that matches the control period, even if the generation period and the control period are different.
[0054] (Feature 6) The command value transmitting device 10 of this embodiment includes an estimation unit 25. When a generated command value cannot be obtained from the command value generating software for a predetermined period of time, the estimation unit 25 generates an estimated command value by performing an interpolation process or an extrapolation process based on past transmitted command values. The communication device 13 transmits the estimated command value generated by the estimation unit 25 to the robot controller 30 according to the control period.
[0055] This makes it possible to transmit an estimated transmission command value even if the generation command value cannot be acquired, thereby making it possible to prevent the robot 40 from stopping its operation.
[0056] (Feature 7) In the command value transmitting device 10 of this embodiment, the estimation unit 25 performs an interpolation process or an extrapolation process using only the transmission command value out of the transmission command value and the estimated command value.
[0057] This makes it possible to suppress calculation of a new estimated command value based on the estimated command value.
[0058] (Feature 8) In the control system 1 of this embodiment, the command value generating software is open source software written in a general-purpose programming language. The robot controller 30 generates a drive current using a programming language that is different from the general-purpose programming language and is dedicated to the operation of the robot 40.
[0059] The above-mentioned features 1 to 8 can be appropriately combined as long as no contradiction occurs. For example, feature N (N=1, 2, . . . , 8) can be appropriately combined with at least one of features 1 to N-1.
[0060] Although the preferred embodiment of the present disclosure has been described above, the above configuration can be modified, for example, as follows.
[0061] The program language of the software executed by the command value transmitting device 10 and the program language used by the robot controller 30 are merely examples, and may be different from the above-mentioned languages.
[0062] The flowcharts shown in the above embodiment are merely examples, and some processes may be omitted, the contents of some processes may be changed, or new processes may be added.
[0063] The functions of the elements disclosed herein can be performed using circuits or processing circuits, including general purpose processors, special purpose processors, integrated circuits, Application Specific Integrated Circuits (ASICs), conventional circuits, and / or combinations thereof, configured or programmed to perform the disclosed functions. Processors are considered processing circuits or circuits because they include transistors and other circuits. In this disclosure, a circuit, unit, or means is hardware that performs the recited functions or hardware that is programmed to perform the recited functions. The hardware may be hardware disclosed herein or other known hardware that is programmed or configured to perform the recited functions. Where the hardware is a processor, which is considered a type of circuit, 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. [Explanation of symbols]
[0064] 10 Command value transmission device 21 Command value generator 22 Acquisition Department 23 Correction section 30 Robot Controller 40 Robot
Claims
1. A command value transmitting device that transmits a transmission command value at a predetermined control period to a robot controller that controls a robot, an acquisition unit that acquires an n-th command value generated using command value generation software and a generation time of the n-th command value; a correction unit that corrects the n-th generation command value to generate the n-th transmission command value based on the degree of delay or advancement of the n-th generation time and a change tendency of command values based on the n-th generation command value and the (n-1)th or earlier transmission command value; a communication device that transmits the transmission command value to the robot controller in the control period; A command value transmitting device comprising:
2. 2. The command value transmission device according to claim 1, The correction unit corrects the n-th generation command value by linear interpolation using the n-th generation command value and the (n-1)-th transmission command value to generate the n-th transmission command value.
3. 2. The command value transmission device according to claim 1, A command value transmission device that performs processing to stop the operation of the robot when a time difference obtained by subtracting a time corresponding to the (n-1)th transmission command value from the generation time exceeds a first threshold value, or when a command value difference obtained by subtracting the (n-1)th transmission command value from the nth transmission command value exceeds a second threshold value.
4. The command value transmission device according to claim 3, a storage device for buffering the transmission command value; The first threshold value is set based on a value obtained by multiplying the number of transmission command values that can be buffered by the storage device by the control period.
5. 2. The command value transmission device according to claim 1, A period conversion unit is provided, In a case where a generation cycle of the command value generation software is different from a control cycle, the period conversion unit performs an interpolation process or an extrapolation process on the transmission command value to generate a new transmission command value, or performs a thinning process on the transmission command value to prepare the transmission command value according to the control period; The communication device is a command value transmitting device that transmits the transmission command value prepared by the period conversion unit to the robot controller in accordance with the control period.
6. 2. The command value transmission device according to claim 1, A prediction unit is provided, When the generated command value cannot be obtained from the command value generating software for a period exceeding a predetermined time, The estimation unit generates an estimated command value by performing an interpolation process or an extrapolation process based on the past transmission command value, The communication device is a command value transmitting device that transmits the estimated command value generated by the estimation unit to the robot controller in accordance with the control period.
7. The command value transmission device according to claim 6, The command value transmitting device, wherein the estimation unit performs the interpolation process or the extrapolation process using only the transmission command value out of the transmission command value and the estimated command value.
8. A command value transmitting device according to claim 1 ; the robot controller generating and outputting a drive current for operating a motor of the robot based on the transmitted command value; Equipped with the command value generation software is open source software written in a general-purpose programming language; A control system in which the robot controller generates the drive current using a programming language that is different from the general-purpose programming language and is dedicated to the operation of the robot.
9. A command value transmission method for transmitting a transmission command value at a predetermined control period to a robot controller that controls a robot, comprising: Acquire an n-th command value generated using command value generation software and a generation time of the n-th command value; correcting the n-th generation command value based on the degree of delay or advancement of the n-th generation time and a change tendency of command values based on the n-th generation command value and the (n-1)th or earlier transmission command value to generate the n-th transmission command value; A command value transmitting method for transmitting the transmission command value to the robot controller in the control period.
Citation Information
Patent Citations
Control system, robot controller, and control method
WO2022162959A1