Robot control device
Patent Information
- Application Number
- JP2024527994
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-11-22
- Publication Date
- 2025-03-03
- Estimated Expiration
- 2042-06-15
Abstract
Description
Robot control device
[0001] The present invention relates to a robot control device.
[0002] A technology is known in which, when a teaching pendant is operated, operation information is sent to a robot control device, which then processes the operation information. For example, see Patent Document 1. Ethernet (registered trademark) communication is used between the teaching pendant and the robot control device, and data is sent and received in small packets. If Ethernet communication is possible between the teaching pendant and the robot control device, operation of the teaching pendant is possible. For example, when the teaching screen displayed on the teaching pendant changes (transitions), teaching screen information is sequentially sent from the robot control device to the teaching pendant.
[0003] Japanese Patent Application Laid-Open No. 2006-142480
[0004] A robot control device is equipped with multiple Ethernet ports for Ethernet communication with devices such as a teaching pendant. The robot control device uses a single processor (e.g., a CPU) to handle all the processing related to the multiple Ethernet ports. For this reason, the processor has an interrupt processing function that stops the processing it was currently performing and starts processing with a higher priority. When Ethernet communication is congested, the processor receives a large number of packets and repeatedly performs interrupt processing, which can prevent other processing from being performed.
[0005] Therefore, it is desirable that interrupt processing at an Ethernet port where Ethernet communication congestion has occurred be able to execute processing at other Ethernet ports without interfering with the processing at other Ethernet ports.
[0006] One aspect of the robot control device disclosed herein is a robot control device that can be connected to at least one device via Ethernet, and includes a control unit and a plurality of Ethernet ports. The control unit includes a detection unit that detects a packet loss situation in at least one of the plurality of Ethernet ports, and a transition unit that transitions the interrupt processing to a polling processing when an interrupt processing is performed on a packet from at least one of the plurality of Ethernet ports and the packet loss exceeds a predetermined threshold.
[0007] According to one aspect, interrupt processing of an Ethernet port where Ethernet communication congestion has occurred can be performed without interfering with processing of other Ethernet ports.
[0008] It is a diagram showing a functional block configuration of a robot control system according to an embodiment. It is a diagram showing a functional block configuration of a teaching pendant. It is a flowchart illustrating a transition process of a robot control device.
[0009] A robot control device according to one embodiment will be described in detail below with reference to the drawings. <One Embodiment> FIG. 1 is a functional block diagram of a robot control system according to one embodiment. As shown in FIG. 1, the robot control system SYS includes a robot control device 1, a teaching pendant 2, and network devices 3-1 to 3-2. The robot control device 1, the teaching pendant 2, and the network devices 3-1 to 3-2 are interconnected via a network (not shown) such as a local area network (LAN) or the Internet, and perform Ethernet communication. In this case, the robot control device 1, the teaching pendant 2, and the network devices 3-1 to 3-2 each include a communication unit (not shown) for performing Ethernet communication with each other via such connection.
[0010] <Teaching pendant 2> The teaching pendant 2 may be connected to the robot control device 1, and may allow a user to operate a robot (not shown) and create a robot program. Fig. 2 is a diagram showing the functional block configuration of the teaching pendant 2. As shown in Fig. 2, the teaching pendant 2 has a control unit 210 and a storage unit 220. The control unit 210 also has a packet transmission / reception unit 211.
[0011] The storage unit 220 is, for example, a solid state drive (SSD) or a hard disk drive (HDD), and stores an OS and various software programs.
[0012] The Ethernet port 230 is connected to the robot control device 1 (described later) via a LAN cable, and transmits and receives Ethernet communication signals between the control unit 210 and the robot control device 1 .
[0013] The control unit 210 includes a CPU, ROM, RAM, CMOS memory, etc., which are configured to be able to communicate with each other via a bus and are well known to those skilled in the art. The CPU is a processor that controls the entire teaching pendant 2. The CPU reads system programs and application programs stored in the ROM via the bus and controls the entire teaching pendant 2 in accordance with the system programs and application programs. As a result, as shown in FIG. 2 , the control unit 210 is configured to realize the functions of a packet transmission / reception unit 211. Various data such as temporary calculation data and display data are stored in the RAM. The CMOS memory is backed up by a battery (not shown) and is configured as a non-volatile memory that retains its stored state even when the power to the teaching pendant 2 is turned off.
[0014] To perform Ethernet communication with the robot controller 1 (described later), the packet transmitter / receiver 211 generates packets that store data including operation information based on the Ethernet communication standard, transmits the generated packets to the robot controller 1, and causes the robot controller 1 to execute interrupt processing. The packet transmitter / receiver 211 also receives packets from the robot controller 1 and extracts data from the received packets. When the packet transmitter / receiver 211 receives a notification that the robot controller 1 (described later) will execute polling processing, the packet transmitter / receiver 211 transmits a packet to the robot controller 1 every time it receives an inquiry about polling processing from the robot controller 1.
[0015] <Network devices 3-1 to 3-2> The network devices 3-1 to 3-2 are, for example, servers, and collect data indicating the operating status of the robot control device 1 and a robot (not shown), and store the robot program and setting data executed by the robot control device 1. The network devices 3-1 to 3-2 may have the same functions as the teaching pendant 2 in FIG.
[0016] <Robot Control Device 1> The robot control device 1 is a robot control device known to those skilled in the art, and may be directly connected to a robot (not shown) via a connection interface (not shown). Alternatively, the robot control device 1 may be connected to a robot (not shown) via a network (not shown) such as a local area network (LAN) or the Internet. The robot control device 1 generates commands based on a robot program created using, for example, a teaching pendant 2, and transmits the generated commands to a robot (not shown). In this way, the robot control device 1 controls the operation of the robot (not shown).
[0017] 1, the robot control device 1 includes a control unit 10, a storage unit 20, and three Ethernet ports 30-1 to 30-3. The control unit 10 also includes a detection unit 110 and a transition unit 120.
[0018] The storage unit 20 is, for example, a solid state drive (SSD) or a hard disk drive (HDD), and stores an OS, various software, and various setting files. The OS is, for example, an operating system (OS) or system program executed by the robot control device 1. The various software is, for example, software such as an operation program for a robot (not shown) or an application program that realizes various functions such as control of cache lines of the robot control device 1. The various setting files are, for example, setting files for the software stored in the various software.
[0019] 1, the Ethernet ports 30-1 to 30-3 are connected to the teaching operation panel 2 and the network devices 3-1 to 3-2, respectively, via LAN cables, and transmit and receive Ethernet communication packets between the control unit 10 and the teaching operation panel 2 and the network devices 3-1 to 3-2, respectively. Note that, hereinafter, when there is no need to distinguish between the Ethernet ports 30-1 to 30-3, they will also be collectively referred to as "Ethernet port 30." Furthermore, the robot control device 1 may have two or more Ethernet ports 30 other than three.
[0020] The control unit 10 includes a CPU, ROM, RAM, CMOS memory, etc., which are configured to be able to communicate with each other via a bus and are well known to those skilled in the art. The CPU is a processor that controls the entire robot control device 1. The CPU reads system programs and application programs stored in the ROM via the bus and controls the entire robot control device 1 in accordance with the system programs and application programs. As a result, as shown in FIG. 1 , the control unit 10 is configured to realize the functions of the detection unit 110 and the transition unit 120. The RAM stores various data, such as temporary calculation data and display data. The CMOS memory is backed up by a battery (not shown) and is configured as a non-volatile memory that retains its memory state even when the robot control device 1 is turned off. When the CPU, which is the processor of the robot control device, receives packets from the Ethernet port 30 that are equal to or greater than a predetermined value, it executes an interrupt process for the packets from the Ethernet port 30.
[0021] The detection unit 110 detects the state of packet loss in at least one of the Ethernet ports 30-1 to 30-3. Specifically, the detection unit 110 detects, for example, the amount of packets lost in a certain period of time (for example, 500 msec or 1 second) in the Ethernet port 30. Note that the packet loss may also include packets that could not be received from the teaching pendant 2 or the network devices 3-1 to 3-2.
[0022] The transition unit 120 transitions from interrupt processing to polling processing when an interrupt process is performed on a packet from at least one of the Ethernet ports 30-1 to 30-3 and the packet loss detected by the detection unit 110 exceeds a preset threshold. Specifically, the transition unit 120 transitions processing of packets from the Ethernet port 30 for which packet loss exceeding the threshold has been detected from interrupt processing to polling processing, and transmits a signal notifying the device connected to the Ethernet port 30 that polling processing will be executed. The transition unit 120 then sets the polling period at the transition to a low period (e.g., 100 msec) that is a first period, so as to ensure a predetermined time (e.g., 1 second) for processing packets. After a predetermined time (e.g., 1 second) has elapsed, the transition unit 120 shortens the polling period from the first period (e.g., 100 msec) to a second period (e.g., 50 msec). The transition unit 120 then gradually shortens the second period to an upper limit (e.g., 1 msec) every time a predetermined time elapses. Thereafter, when the packet loss of the Ethernet port 30 that has transitioned to polling processing falls below a threshold, the transition unit 120 switches the polling processing back to interrupt processing. In this case, the transition unit 120 may transmit a signal to the device connected to the Ethernet port 30 informing it that the polling processing is ending. This prevents the robot control device 1 from interfering with the processing of other Ethernet ports 30 due to interrupt processing of the Ethernet port 30 where Ethernet communication congestion has occurred, and prevents communication with the teaching pendant 2 and the network devices 3-1 to 3-2 from being interrupted. This allows the robot control device 1 to receive operation information from the teaching pendant 2, process it appropriately, and return it to the teaching pendant 2, ensuring that the teaching pendant 2 can be operated at all times.
[0023] <Migration Processing of Robot Control Device 1> Next, the flow of migration processing of the robot control device 1 will be described with reference to Fig. 3. Fig. 3 is a flowchart illustrating the migration processing of the robot control device 1. The flow shown here is executed each time a predetermined amount of packets is received from the Ethernet port 30 and interrupt processing is executed for the packets of the Ethernet port 30.
[0024] In step S11, the detection unit 110 determines whether the packet loss detected in the Ethernet port 30 over a certain period of time (e.g., 500 msec, 1 second, etc.) exceeds a preset threshold. If the packet loss exceeds the threshold, the process proceeds to step S12. On the other hand, if the packet loss is equal to or less than the threshold, the process waits in step S11.
[0025] In step S12, the transition unit 120 transitions the processing for the Ethernet port 30 where packet loss exceeding the threshold has been detected from interrupt processing to polling processing, and sets the polling period at the time of transition to a first period (e.g., 100 msec).
[0026] In step S13, the transition unit 120 shortens the polling period every time a predetermined time (e.g., 1 second) elapses. Note that if the polling period reaches an upper limit (e.g., 1 msec), the transition unit 120 leaves it at the upper limit.
[0027] In step S14, the transition unit 120 determines whether the packet loss detected by the detection unit 110 is equal to or less than the threshold. If the packet loss is equal to or less than the threshold, the process proceeds to step S15. On the other hand, if the packet loss exceeds the threshold, the process returns to step S13.
[0028] In step S15, the transition unit 120 transitions from polling processing to interrupt processing for the Ethernet port 30 for which the packet loss has become equal to or less than the threshold.
[0029] As described above, the robot control device 1 according to one embodiment shifts processing for an Ethernet port 30 for which detected packet loss exceeds a preset threshold from interrupt processing to polling processing. This allows the robot control device 1 to execute processing for the Ethernet port 30 where Ethernet communication congestion occurs without interfering with processing for other Ethernet ports 30. Furthermore, the robot control device 1 does not interfere with processing for other Ethernet ports 30 due to reception interrupts from the congested Ethernet port 30, and communication with the teaching pendant 2 and the network devices 3-1 to 3-2 is not interrupted. This allows the robot control device 1 to receive operation information from the teaching pendant 2, process it appropriately, and return it to the teaching pendant 2, ensuring that the teaching pendant 2 can be operated at all times.
[0030] Although one embodiment has been described above, the robot control device 1 is not limited to the above embodiment, and includes modifications and improvements within the scope that can achieve the object.
[0031] In one embodiment, each function included in the robot control device 1 can be realized by hardware, software, or a combination of these. Here, "realized by software" means that the function is realized by a computer reading and executing a program.
[0032] The program can be stored and supplied to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs). The program may be provided to the computer by various types of transient computer-readable media. Examples of transient computer-readable media include electrical signals, optical signals, and electromagnetic waves. The transient computer-readable media can provide the program to the computer via a wired communication path such as an electrical wire or optical fiber, or via a wireless communication path.
[0033] In addition, the steps of writing a program to be recorded on a recording medium include not only processes that are performed chronologically in accordance with the order, but also processes that are not necessarily performed chronologically but are performed in parallel or individually.
[0034] In other words, the robot control device of the present disclosure can take on a variety of different embodiments having the following configurations.
[0035] (1) A robot control device 1 according to the present disclosure is a robot control device connectable to at least one device via Ethernet, and includes a control unit 10 and a plurality of Ethernet ports 30. The control unit 10 includes a detection unit 110 that detects packet loss in at least one of the plurality of Ethernet ports 30, and a transition unit 120 that transitions the interrupt process to polling when an interrupt process is performed on a packet from at least one of the plurality of Ethernet ports 30 and the packet loss exceeds a preset threshold. According to this robot control device 1, the interrupt process of an Ethernet port where Ethernet communication congestion has occurred can be performed without interfering with the processes of other Ethernet ports.
[0036] (2) In the robot control device 1 described in (1), the transition unit 120 may transition from polling processing to interrupt processing when the packet loss detected by the detection unit 110 becomes equal to or less than a threshold.
[0037] (3) In the robot control device 1 described in (1) or (2), the control unit 10 may execute an interrupt process when a predetermined amount of packets is received from the connected Ethernet port.
[0038] (4) In the robot control device 1 described in any one of (1) to (3), the polling process may be executed at a first cycle for a predetermined time, and then executed at a second cycle that is shorter than the first cycle after the predetermined time has elapsed.
[0039] (5) In the robot control device 1 described in (4), the second period may be shortened in stages.
[0040] (6) In the robot control device 1 according to any one of (1) to (5), the packet loss may include packets that could not be received from the device.
[0041] (7) In the robot control device 1 described in any one of (1) to (6), the device may be a teaching pendant 2.
[0042] 1 Robot control device 2 Teaching operation panel 3-1 to 3-2 Network devices 10, 210 Control unit 110 Detection unit 120 Transition unit 20, 220 Storage unit 30-1 to 30-3, 230 Ethernet port SYS Robot control system
Claims
1. A robot control device that can be connected to at least one device via Ethernet, A control unit; A plurality of Ethernet ports; The control unit is a detection unit that detects a packet loss situation in at least one of the plurality of Ethernet ports; and a transition unit that transitions the interrupt process to a polling process when an interrupt process is performed on a packet from at least one of the plurality of Ethernet ports and a loss of the packet exceeds a preset threshold. Robot control device.
2. The robot control device according to claim 1 , wherein the transition unit transitions from the polling process to the interrupt process when the packet loss detected by the detection unit falls to or below the threshold.
3. The robot control device according to claim 1 , wherein the control unit executes an interrupt process when a predetermined amount of packets is received from a connected Ethernet port.
4. 3 . The robot control device according to claim 1 , wherein the polling process is executed in a first cycle for a predetermined time, and is executed in a second cycle that is shorter than the first cycle after the predetermined time has elapsed.
5. The robot control device according to claim 4 , wherein the second period is shortened in stages.
6. The robot control device according to claim 1 , wherein the packet loss includes a packet that could not be received from the device.
7. The robot control device according to claim 1 or 2, wherein the device is a teaching pendant.