Robot control system, lower-level control device, and robot control method

The machine robot control system synchronizes data transmission with the robot's control cycle to ensure timely command delivery, addressing the issue of unpredictable response times and enabling responsive robot operation.

CN115194757BActive Publication Date: 2025-07-15SEIKO EPSON CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202210387542.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-04-14
Filing Date
2022-04-13
Publication Date
2025-07-15
Estimated Expiration
2042-04-13

AI Technical Summary

Technical Problem

Existing machine robot control systems fail to synchronize data transmission with the control cycle of robots, leading to unpredictable response times and incompatibility with applications requiring high responsiveness.

Method used

A machine robot control system where the lower control device sends control commands and state information to the servo control unit within predefined cycles, and the upper control device synchronizes with these cycles to send instructions within a shorter predefined time frame, ensuring timely communication.

Benefits of technology

Ensures consistent and responsive robot operation by synchronizing data transmission with the robot's control cycle, enabling timely command delivery even in the presence of communication delays.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115194757B_ABST
    Figure CN115194757B_ABST
Patent Text Reader

Abstract

The present invention provides a robot control system, a lower-level control device, and a robot control method, which can smoothly execute robot actions that require responsiveness. The robot control system includes: a robot having a servo control unit; a lower-level control device that, within each preset control cycle, sends a control instruction to the servo control unit and receives robot status information indicating the status of the robot from the servo control unit; and an upper-level control device that sends instruction information for creating a control instruction to the lower-level control device. The lower-level control device sends the robot status information to the upper-level control device in synchronization with the control cycle. The upper-level control device sends the instruction information to the lower-level control device within a preset transmission time shorter than the control cycle since the moment it receives the robot status information from the lower-level control device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a robot control system, a lower control device, and a robot control method. Background Art

[0002] A robot control system including a server and a robot terminal is described in Patent Document 1. In this robot control system, the server aggregates action control data, voice data, etc. that are synchronized with each other to create a data packet, and transmits it to the robot terminal.

[0003] Patent Document 1: Japanese Patent Application Laid-Open No. 2006-224294 Summary of the Invention

[0004] However, in the above prior art, since the server transmits the data packet to the robot terminal at an arbitrary timing, the synchronization with the control cycle of the robot is not considered in the transmission and reception of the data packet. Therefore, the time from the transmission of the data packet to the reflection in the actual action is indefinite, and there is a problem that it cannot be applied to uses that require responsiveness.

[0005] According to a first aspect of the present invention, there is provided a robot control system. The robot control system includes: a robot having a servo control unit; a lower control device that transmits a control command to the servo control unit and receives robot state information indicating the state of the robot from the servo control unit within each preset control cycle; and an upper control device that transmits command information for creating the control command to the lower control device. The lower control device transmits the robot state information to the upper control device in synchronization with the control cycle, and the upper control device transmits the command information to the lower control device within a preset transmission time shorter than the control cycle from the moment it receives the robot state information from the lower control device.

[0006] According to a second aspect of the present invention, there is provided a lower-level control device that, together with a robot and an upper-level control device, constitutes a robot control system. The lower-level control device is configured to perform the following processes: Process (a), within each preset control cycle, send a control instruction to the servo control unit of the robot and receive robot state information indicating the state of the robot from the servo control unit; Process (b), synchronously with the control cycle, send the robot state information to the upper-level control device; and Process (c), receive instruction information from the upper-level control device and create a next control instruction based on the instruction information. In Process (c), when the instruction information cannot be received from the upper-level control device before the timeout moment, instead of using the instruction information, the past control instruction is used to create the next control instruction and send it to the servo control unit, where the timeout moment is earlier than the moment when the next control instruction should be sent to the servo control unit.

[0007] According to a third aspect of the present invention, there is provided a robot control method, which is a control method for a robot in a robot control system. The robot control system includes the robot having a servo control unit, a lower-level control device, and an upper-level control device. The robot control method includes the following steps: Step (a), the lower-level control device sends a control instruction to the servo control unit within each preset control cycle and receives robot state information indicating the state of the robot from the servo control unit; and Step (b), the upper-level control device sends instruction information for creating the control instruction to the lower-level control device. In Step (a), the lower-level control device sends the robot state information to the upper-level control device synchronously with the control cycle. In Step (b), the upper-level control device sends the instruction information to the lower-level control device within a preset transmission time shorter than the control cycle since the moment it receives the robot state information from the lower-level control device. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] Figure 1 It is an explanatory diagram showing the configuration of the robot control system in the embodiment.

[0009] Figure 2 It is a functional block diagram of the robot control system.

[0010] Figure 3 It is a timing diagram when the communication between control devices is normal.

[0011] Figure 4 It is a timing diagram when timeout occurs in the communication between control devices.

[0012] Figure 5It is a flowchart showing the process of sending control instructions performed by the lower-level control device.

[0013] Figure 6 It is a flowchart showing the process of receiving and transmitting the robot state and the process of sending instruction information between the upper-level control device and the lower-level control device.

[0014] Explanation of reference numerals

[0015] 100…Robot, 110…Base, 120…Manipulator arm, 122…Actuator, 124…Sensor, 130…Servo control unit, 132…Actuator control unit, 134…Real-time communication unit, 140…Force sensor, 150…End effector, 200…Lower-level control device, 210…Non-real-time communication unit, 220…Control instruction generation unit, 230…Real-time communication unit, 240…Robot state transmission unit, 300…Upper-level control device, 310…Instruction information generation unit, 320…Non-real-time communication unit. Detailed implementation mode

[0016] Figure 1 It is an explanatory diagram showing an example of a robot control system in one implementation mode. This robot control system includes: a robot 100; a lower-level control device 200 that sends a control instruction CC to the robot 100; and an upper-level control device 300 that sends instruction information CI for generating the control instruction CC to the lower-level control device 200. The lower-level control device 200 is, for example, a robot controller, and the upper-level control device 300 is, for example, a personal computer. In addition, the lower-level control device 200 may be referred to as the "first control device", and the upper-level control device 300 may be referred to as the "second control device".

[0017] The robot 100 includes a base 110, a manipulator arm 120, and a servo control unit 130. The servo control unit 130 performs servo control related to the actuator that moves the joints of the manipulator arm 120. The servo control unit 130 is connected to the lower-level control device 200.

[0018] The robotic arm 120 is successively connected through four joints J1 to J4. A force sensor 140 and an end effector 150 are installed at the front end of the robotic arm 120. The force sensor 140 can also be omitted. Additionally, other sensors such as a gyro sensor and a vibration sensor can be provided on the robotic arm 120. A TCP (Tool Center Point), which is the control point of the robot 100, is set near the front end of the robotic arm 120. In the present embodiment, a four-axis robot having four joints J1 to J4 is illustrated, but a robot having an arbitrary arm mechanism with multiple joints can be used. Additionally, the robot 100 of the present embodiment is a horizontal multi-joint robot, but a vertical multi-joint robot can also be used.

[0019] Figure 2 is a functional block diagram of the robot control system. The lower control device 200 synchronously sends a control command CC to the servo control unit 130 at a preset control cycle of the robot to control the robot 100, and receives robot status information RI from the servo control unit 130 and sends it to the upper control device 300. The upper control device 300 can create the next instruction information CI using the robot status information RI as needed. From the moment the upper control device 300 receives the robot status information RI, it sends the instruction information CI to the lower control device 200 within a preset transmission time shorter than the control cycle of the robot.

[0020] The robotic arm 120 includes an actuator 122 and a sensor 124. The actuator 122 is provided at each joint and is used to move each joint. The actuator 122 also includes an encoder, which is a position sensor representing the position of each joint. In the present invention, the position of a joint refers to the displacement or angle of the joint. The sensor 124 includes Figure 1 various sensors such as the force sensor 140 shown. The robot status information RI is information representing the status of the robot 100 and includes position data, which is the detection value of the encoder in multiple joints, and sensor values, which are the detection values of the sensor 124.

[0021] The servo control unit 130 includes an actuator control unit 132 that controls the actuator 122 and a real-time communication unit 134. The real-time communication unit 134 has a function of synchronously communicating with the lower-level control device 200 at the control cycle of the robot. In this embodiment, the control cycle of the robot is 1024 μs, but for simplicity, it is assumed that the control cycle is 1 ms for the following description. The servo control unit 130 and the lower-level control device 200 are connected by a protocol capable of real-time communication at a fixed cycle, for example, connected by EtherCAT (Ethernet Control Automation Technology). In EtherCAT, process data formed by linking input / output information such as digital data, analog data, and encoder values can be carried in an Ethernet frame for exchange. In the EtherCAT connection, the lower-level control device 200 functions as a master, and the servo control unit 130 functions as a slave. The lower-level control device 200 and the upper-level control device 300 are connected by a protocol for non-real-time communication, for example, connected by Ethernet.

[0022] The upper-level control device 300 includes an instruction information generation unit 310 and a non-real-time communication unit 320. The instruction information generation unit 310 generates a trajectory of the robotic arm 120 according to a pre-created robot control program RP and creates instruction information CI for causing the robotic arm 120 to move according to this trajectory. The instruction information CI includes a position instruction for causing the robotic arm 120 to move. The position instruction is an instruction indicating the position or displacement of each of the multiple actuators of the robotic arm 120, and represents the position at a 1-ms cycle that is the control cycle of the robot. The non-real-time communication unit 320 performs non-real-time communication with the non-real-time communication unit 210 of the lower-level control device 200. As described above, in this embodiment, the upper-level control device 300 and the lower-level control device 200 are connected by Ethernet. In non-real-time communication, the instruction information CI is sent from the upper-level control device 300 to the lower-level control device 200, and in addition, the robot status information RI is sent from the lower-level control device 200 to the upper-level control device 300. As described above, the robot status information RI includes the position data of each joint of the robotic arm 120 and the sensor value of the sensor 124.

[0023] The instruction information generation unit 310 executes a process of generating the instruction information CI according to the robot control program RP. As a process of the instruction information CI, any one of the following processes can be selected for execution.

[0024] (i) The first process: Create the instruction information CI according to the robot control program RP without using the robot status information RI received from the lower-level control device 200.

[0025] (ii) Second process: Create instruction information CI using the robot status information RI according to the robot control program RP.

[0026] Which of these two processes to select and execute is pre-described in the robot control program RP. In this way, the instruction information generation unit 310 creates the instruction information CI using the robot status information RI as needed. Therefore, the lower-level control device 200 can send the control instruction CC reflecting the robot status information RI to the servo control unit 130 to operate the robot 100. In addition, instead of selectively executing the above two processes, the above second process can always be executed.

[0027] As an example of creating the instruction information CI using the robot status information RI in the above second process, for example, there are the following examples.

[0028] (1) Change the parameters of the force control included in the instruction information CI using the sensor value of the force sensor 140.

[0029] (2) Create the instruction information CI that adds the displacement amount based on the force control in addition to the displacement based on the position control using the sensor value of the force sensor 140.

[0030] (3) Create the instruction information CI in such a way that when the encoder value of a specific joint reaches a value representing a specific angle, the acceleration or deceleration of the control point starts.

[0031] The lower-level control device 200 includes a non-real-time communication unit 210, a control instruction generation unit 220, a real-time communication unit 230, and a robot status transmission unit 240. The instruction information CI sent from the upper-level control device 300 is received by the non-real-time communication unit 210 and transmitted to the control instruction generation unit 220. The control instruction generation unit 220 generates the control instruction CC according to the instruction information CI. The control instruction CC includes a position instruction that is substantially the same as the position instruction included in the instruction information CI with a 1ms cycle. The control instruction CC can also be the same as the instruction information CI. The real-time communication unit 230 sends the control instruction CC to the servo control unit 130 and receives the robot status information RI from the servo control unit 130 in each control cycle of the robot. The robot status information RI is sent from the robot status transmission unit 240 to the upper-level control device 300 via the non-real-time communication unit 210.

[0032] In addition, when the communication between the upper control device 300 and the lower control device 200 is normal, the control instruction CC created by the control instruction generation unit 220 contains the same position instruction as the instruction information CI received from the upper control device 300. On the other hand, when a delay occurs in the communication between the control devices, the control instruction generation unit 220 creates the next control instruction CC without waiting to receive the instruction information CI from the upper control device 300. This process will be further described later.

[0033] Figure 3 is a timing diagram when the communication between the control devices is normal. In addition, in the following description, various processes will be described in the order of the processes P1 to P10 shown Figure 3 below. In Figure 3 order to facilitate the illustration, the illustration of the robot state transmission unit 240 is omitted, and the "robot state information" is simply referred to as the "robot state".

[0034] The lower control device 200 operates at a certain control cycle using the timer interrupt of the lower control device 200. As described above, this control cycle is 1 ms. Specifically, the real-time communication unit 230 of the lower control device 200 performs reading / writing based on the EtherCAT protocol, that is, transceiver, at a control cycle of 1 ms according to the timer interrupt. The timing when the real-time communication unit 230 performs the transceiver becomes the reference timing for controlling the operations of other units.

[0035] In process P1, the real-time communication unit 230 sends the control instruction CC to the servo control unit 130 at the moment of the timer interrupt. This control instruction CC contains the position instruction for each joint of the robotic arm 120 with a 1 ms cycle. In process P2, the servo control unit 130 interpolates the received position instruction with a 1 ms cycle into multiple position instructions for a finer segmentation control cycle, and controls the actuator 122 of the robotic arm 120. In Figure 3 this example, the segmentation control cycle is a 128 μs cycle. In addition, in process P3, the servo control unit 130 sends the robot state information RT to the lower control device 200. As described above, this robot state information RI contains the position data of each joint and the sensor value of the sensor 124. After the real-time communication unit 230 of the lower control device 200 sends the control instruction CC to the servo control unit 130, in process P4, it respectively instructs the control instruction generation unit 220 and the robot state transmission unit 240 to start operating. As described above, Figure 3The illustration of the robot state transmission unit 240 is omitted. In addition, both the control instruction generation unit 220 and the robot state transmission unit 240 perform tasks in real time. When receiving the start instruction, they start operating with a small jitter (jitters) of less than several tens of μs. In addition, jitter refers to how much the interval between the previous start time and the current start time deviates from the expected value of 1024 μs. In process P5, the robot state transmission unit 240 transmits the robot state information RI received from the servo control unit 130 to the host control device 300 via the non-real-time communication unit 210.

[0036] In process P6, the instruction information generation unit 310 of the host control device 300 confirms the reception of the robot state information RI, performs the calculation of the trajectory for the next position instruction, and generates the instruction information CI including the position instruction. After the generation of the instruction information CI is completed, the host control device 300 immediately sends the instruction information CI including the position instruction to the slave control device 200 in process P7. This instruction information CI is assigned a unique consecutive serial number. When the processing and communication between control devices within the host control device 300 are executed normally, the transmission of the instruction information CI is executed within a predetermined transmission time TT shorter than the control cycle of 1 ms of the robot from the moment the robot state information RI is received. Since the host control device 300 does not operate through a real-time OS, after receiving the robot state information RI from the slave control device 200, it is unable to send the next instruction information CI within a time less than several tens of μs. However, if the instruction information CI can be sent within the transmission time TT from the moment the robot state information RI is received, it can catch up with the moment when the slave control device 200 sends the next control instruction CC to the servo control unit 130.

[0037] After the control instruction generation unit 220 of the slave control device 200 is instructed to start operating from the real-time communication unit 230, it waits for the instruction information CI sent from the host control device 300. In process P8, after receiving the instruction information CI from the host control device 300, the control instruction generation unit 220 checks the sequence number attached to the instruction information CI and checks whether the position, speed, and acceleration indicated by the position instruction exceed the limits. If the instruction information CI is normal, in process P9, the control instruction generation unit 220 creates a control instruction CC including the position instruction and sends it to the servo control unit 130 via the real-time communication unit 230.

[0038] As described above, the lower control device 200 transmits the robot state information RI to the upper control device 300 in synchronization with a preset control cycle. Since the upper control device 300 receives the robot state information RI from the lower control device 200, it transmits the command information CI to the lower control device 200 within a preset transmission time TT shorter than the control cycle. In this robot control system, since the communication between the upper control device 300 and the lower control device 200 is performed within the transmission time TT shorter than the control cycle of the robot, the lower control device 200 can send the control command CC to the servo control unit 130 in each control cycle, and can smoothly execute the robot actions that require responsiveness. However, when a large delay occurs in the communication from the upper control device 300 to the lower control device 200, the processing is performed as follows.

[0039] Figure 4 It is a timing diagram when the communication between control devices times out. The processes P1 to P7 are the same as Figure 3 the same. In Figure 4 , it is assumed that the command information CI transmitted from the upper control device 300 to the lower control device 200 in the process P7 cannot catch up with the control cycle of the robot 100, that is, it cannot catch up with the moment when the next control command CC is sent from the lower control device 200 to the lower control unit 130. Specifically, Figure 4 the transmission of the command information CI in the process P7 of occurs after the normal transmission time TT has passed. In this case, in the process P10, the process of waiting to receive the command information CI from the upper control device 300 times out. The timeout determination is made based on whether the command information CI is received from the upper control device 300 before the timeout moment T0 earlier than the moment when the next control command CC should be sent to the servo control unit 130. The time from the timeout moment TO to the sending moment of the next control command CC is a time longer than zero, and can be set to 0.1 to 0.2 ms, for example. The transmission time TT of the upper control device 300 is set so that the lower control device 200 does not time out. That is, the transmission time TT is set such that if the upper control device 300 transmits the command information CI to the lower control device 200 within the transmission time TT from the moment it receives the robot state information RI, the lower control device 200 receives the command information CI before the timeout moment TO.

[0040] In the case of a timeout, the control instruction generation unit 220 performs extrapolation interpolation of the position instruction using the past control instruction CC to generate the next control instruction CC. As the past control instruction CC, it is preferable to use the nearest control instruction CC a predetermined number of times or more. In addition, the control instruction generation unit 220 checks whether the position, speed, and acceleration do not exceed the limit for the position instruction included in the next control instruction CC. If the control instruction CC is normal, the control instruction generation unit 220 sends the control instruction CC to the servo control unit 130 via the real-time communication unit 220 in process P11. Thus, in the case of a timeout, since the next control instruction CC is generated by extrapolating the past control instruction CC, even when the instruction information CI sent from the upper control device 300 to the lower control device 200 is delayed, an appropriate control instruction CC can be sent to the servo control unit 130.

[0041] The instruction information CI that arrives from the upper control device 300 after the timeout is discarded in process P12. As described above, a unique and continuous serial number is assigned to the instruction information CI. The control instruction generation unit 220 discards the instruction information CI but updates the sequence number. Therefore, when the control instruction generation unit 220 receives the next instruction information CI, it can determine whether it is the expected instruction information CI based on the sequence number included in the instruction information CI.

[0042] In addition, in Figure 4 the example of, in the case of a communication timeout, the next control instruction CC is extrapolated from the past control instruction CC, but the next control instruction CC can also be created by a method other than extrapolation. For example, the same control instruction CC as the previous control instruction CC can be used as the next control instruction CC. Thus, in the case where the instruction information CI cannot be received before the predetermined timeout time T0, the lower control device 200 can create the next control instruction CC using the past control instruction CC instead of using the instruction information CI sent from the upper control device 300 and send it to the lower control device 200. In this way, even when the instruction information CI sent from the upper control device 300 to the lower control device 200 is delayed, the robot 100 can be made to operate.

[0043] Figure 5It is a flowchart showing the process of the transmission process of the control command CC performed by the lower-level control device 200. In steps S110 and S120, the control command generation unit 220 stands by until a processing start instruction is received from the real-time communication unit 230. After receiving the processing start instruction, the control command generation unit 220 stands by in step S130 until instruction information CI is received from the upper-level control device 300. If the reception of the instruction information CI does not time out in step S140 and it is confirmed in step S150 that the instruction information CI is normal, it proceeds to step S160, and the control command generation unit 220 generates the next control command CC based on the instruction information CI and sends it to the servo control unit 130. On the other hand, if a timeout occurs in step S140, it proceeds to step S180, and the control command generation unit 220 generates the next control command CC using the past control command CC and sends it to the servo control unit 130. The processing in this step S180 corresponds to Figure 4 the processing P10 and P11 described in

[0044] In step S170, the control command generation unit 220 determines whether an end instruction for the processing has been received. If not, it returns to step S110 and repeats the processing after step S110. In addition, the end instruction for the processing is sent, for example, from the upper-level control device 300 to the lower-level control device 200.

[0045] Figure 6 It is a flowchart showing the process of the transmission and reception of the robot status information RI and the transmission process of the instruction information CI between the upper-level control device 300 and the lower-level control device 200. Steps S310 to S360 are the processing of the upper-level control device 300, and steps S210 to S250 are the processing of the lower-level control device 200.

[0046] In steps S210 and S220, the robot status transmission unit 240 stands by until a processing start instruction is received from the real-time communication unit 230. After receiving the processing start instruction, the robot status transmission unit 240 acquires the robot status information RI sent from the servo control unit 130 in step S230 and sends it to the upper-level control device 300 via the non-real-time communication unit 210 in step S240. In step S250, it determines whether an end instruction for the processing has been received. If not, it returns to step S210 and repeats the processing after step S210. In addition, the end instruction for the processing is sent, for example, from the upper-level control device 300 to the lower-level control device 200.

[0047] In steps S310 and S320, the non-real-time communication unit 320 stands by until it receives the robot status information RI from the lower-level control device 200. After receiving the robot status information RI, the instruction information generation unit 310 obtains the robot status information RI from the non-real-time communication unit 320 in step S330, and generates the next instruction information CI using the robot status information RI as needed in step S340. In step S350, the instruction information generation unit 310 sends the instruction information CI to the lower-level control device 200 via the non-real-time communication unit 320. According to the transmission of this instruction information CI, the steps Figure 5 S130 and subsequent processes shown are executed.

[0048] In step S360, the instruction information generation unit 310 determines whether an end instruction for the process has been received. If not, it returns to step S310 and repeats the processes from step S310 and subsequent steps. In addition, for example, when an operator inputs that the operation of the robot 100 has ended to the upper-level control device 300, the end instruction for the process is issued based on this input.

[0049] As described above, in the robot control system of the above-described embodiment, the lower-level control device 200 sends the robot status information RI to the upper-level control device 300 in synchronization with the control cycle of the robot. Since the upper-level control device 300 receives the robot status information RI from the lower-level control device 200, it sends the instruction information CI to the lower-level control device 200 within a predetermined transmission time TT shorter than the control cycle of the robot. According to this robot control system, since the communication between the upper-level control device 300 and the lower-level control device 200 is performed within the transmission time TT shorter than the control cycle of the robot, the lower-level control device 200 can send the control instruction CC to the servo control unit 130 in each control cycle, and can smoothly execute the robot actions that require responsiveness.

[0050] ■ Other Embodiments:

[0051] The present invention is not limited to the above-described embodiment and can be implemented in various ways without departing from its gist. For example, the present invention can also be implemented by the following aspects. The technical features in the above-described embodiment corresponding to the technical features in each of the following-described aspects can be appropriately replaced or combined to solve part or all of the technical problems of the present invention, or to achieve part or all of the effects of the present invention. In addition, as long as the technical feature is not described as an essential technical feature in this specification, the technical feature can be appropriately deleted.

[0052] (1) According to a first aspect of the present invention, a robot control system is provided. The robot control system includes: a robot having a servo control unit; a lower-level control device that, within each preset control cycle, sends a control command to the servo control unit and receives robot state information indicating the state of the robot from the servo control unit; and an upper-level control device that sends instruction information for creating the control command to the lower-level control device. The lower-level control device sends the robot state information to the upper-level control device in synchronization with the control cycle. The upper-level control device sends the instruction information to the lower-level control device within a preset transmission time shorter than the control cycle since the moment it receives the robot state information from the lower-level control device.

[0053] According to this robot control system, since the communication between the upper-level control device and the lower-level control device is performed within a transmission time shorter than the control cycle of the robot, the lower-level control device can send a control command to the servo control unit within each control cycle, and can smoothly execute robot actions that require responsiveness.

[0054] (2) In the above robot control system, as a process for creating the instruction information, the upper-level control device may also select and execute (i) a first process of generating the instruction information according to a pre-created robot control program without using the robot state information received from the lower-level control device; and (ii) a second process of generating the instruction information using the robot state information according to the robot control program.

[0055] According to this robot control system, since the upper-level control device creates instruction information using the robot state information as needed, the lower-level control device can send a control command reflecting the robot state information to the servo control unit to make the robot act.

[0056] (3) In the above robot control system, it may also be that when the lower-level control device cannot receive the instruction information from the upper-level control device before an overtime moment earlier than the moment when the next control command should be sent to the servo control unit, the lower-level control device does not use the instruction information, but uses a past control command to create the next control command and sends it to the servo control unit.

[0057] According to this robot control system, even when the instruction information sent from the upper-level control device to the lower-level control device is delayed, the robot can still act.

[0058] (4) In the above robot control system, it is also possible that when the lower control device fails to receive the instruction information from the upper control device before the timeout moment, the next control instruction is created by extrapolating multiple past control instructions.

[0059] According to this robot control system, even when there is a delay in the instruction information sent from the upper control device to the lower control device, appropriate control instructions can be sent to the servo control unit.

[0060] (5) According to the second aspect of the present invention, a lower control device that constitutes a robot control system together with a robot and an upper control device is provided. The lower control device is configured to execute (a) a process of sending a control instruction to the servo control unit of the robot and receiving robot state information indicating the state of the robot from the servo control unit within each preset control cycle; (b) a process of sending the robot state information to the upper control device synchronously with the control cycle; and (c) a process of receiving instruction information from the upper control device and creating the next control instruction based on the instruction information. In the process (c), when the instruction information cannot be received from the upper control device before a timeout moment earlier than the moment when the next control instruction should be sent to the servo control unit, the instruction information is not used, but the next control instruction is created using past control instructions and sent to the servo control unit.

[0061] According to this robot control system, even when there is a delay in the instruction information sent from the upper control device to the lower control device, the robot can still perform actions.

[0062] (6) According to the third aspect of the present invention, a robot control method is provided, which is the robot control method in a robot control system including a robot having a servo control unit, a lower control device, and an upper control device. This control method includes: (a) a step in which the lower control device sends a control instruction to the servo control unit and receives robot state information indicating the state of the robot from the servo control unit within each preset control cycle; and (b) a step in which the upper control device sends instruction information for creating the control instruction to the lower control device. In the step (a), the lower control device sends the robot state information to the upper control device synchronously with the control cycle. In the step (b), the upper control device sends the instruction information to the lower control device within a preset sending time shorter than the control cycle since the moment it receives the robot state information from the lower control device.

[0063] According to this control method, since the communication between the upper control device and the lower control device is carried out within a transmission time shorter than the control cycle of the robot, the lower control device can send command information to the servo control unit in each control cycle, and can smoothly execute robot actions that require responsiveness.

[0064] The present invention can also be implemented in various other ways. For example, it can be implemented in the form of a robot system including a robot and a robot control device, a computer program for realizing the functions of the robot control device, a non-transitory storage medium recording the computer program, and the like.

Claims

1. A robot control system, characterized in that, Comprising: A robot having a servo control unit; A lower-level control device that, within each preset control cycle, sends a control instruction to the servo control unit and receives robot status information representing the status of the robot from the servo control unit; And An upper-level control device that sends instruction information for creating the control instruction to the lower-level control device, The lower-level control device synchronously sends the robot status information to the upper-level control device with the control cycle, The upper-level control device, since the moment it receives the robot status information from the lower-level control device, sends the instruction information to the lower-level control device within a preset transmission time shorter than the control cycle, enabling it to catch up with the moment when the lower-level control device sends the next control instruction to the servo control unit.

2. The robot control system according to claim 1, wherein The upper-level control device selects and executes any one of the following processes as the process for creating the instruction information according to the description in the robot control program: The first process, without using the robot status information received from the lower-level control device, generates the instruction information according to a pre-created robot control program; And The second process, according to the robot control program, uses the robot status information to generate the instruction information.

3. The robot control system according to claim 1 or 2, wherein When the lower-level control device cannot receive the instruction information from the upper-level control device before the timeout moment, it does not use the instruction information, but uses a past control instruction to create the next control instruction and sends it to the servo control unit, and the timeout moment is earlier than the moment when the next control instruction should be sent to the servo control unit.

4. The robot control system according to claim 3, wherein When the lower-level control device cannot receive the instruction information from the upper-level control device before the timeout moment, it creates the next control instruction by extrapolating past multiple control instructions.

5. A lower-level control device, characterized in that The lower-level control device, together with a robot and an upper-level control device, constitutes a robot control system, The lower-level control device is configured to perform the following processes: Process a, within each preset control cycle, sends a control instruction to the servo control unit of the robot and receives robot status information representing the status of the robot from the servo control unit; Process b, synchronously sends the robot status information to the upper-level control device with the control cycle; And Process c, receives instruction information from the upper-level control device and creates the next control instruction according to the instruction information. In the process c, when the instruction information cannot be received from the upper control device before the timeout moment, the instruction information is not used, but the previous control instruction is used to create the next control instruction and sent to the servo control unit, and the timeout moment is earlier than the moment when the next control instruction should be sent to the servo control unit.

6. A robot control method, characterized in that the robot control method is a control method of a robot in a robot control system, and the robot control system includes the robot having a servo control unit, a lower control device, and an upper control device. the robot control method includes the following steps: Step a, the lower control device sends a control instruction to the servo control unit in each preset control cycle and receives robot state information indicating the state of the robot from the servo control unit; and Step b, the upper control device sends instruction information for creating the control instruction to the lower control device. In step a, the lower control device sends the robot state information to the upper control device synchronously with the control cycle. In step b, the upper control device sends the instruction information to the lower control device within a preset transmission time shorter than the control cycle from the moment when the upper control device receives the robot state information from the lower control device, so that it can catch up with the moment when the lower control device sends the next control instruction to the servo control unit.

Citation Information

Patent Citations

  • Network-based robot control system

    JP2006224294A

  • Industrial equipment control device and industrial equipment data collecting system

    CN112424709A

  • Motor controller

    JP2017085831A