Robot control device and robot system

WO2026167847A1PCT designated stage Publication Date: 2026-08-13FANUC LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-02-07
Publication Date
2026-08-13

Smart Images

  • Figure JP2025004202_13082026_PF_FP_ABST
    Figure JP2025004202_13082026_PF_FP_ABST
Patent Text Reader

Abstract

A robot control device comprising at least one memory, at least one processor, a robot interface connected to a robot, and a peripheral device interface connected to a peripheral device that operates in conjunction with the robot, wherein the at least one memory stores a robot program describing the operation of the robot and stores a peripheral device program describing the operation of the peripheral device, and wherein the at least one processor generates a robot operation command for the robot on the basis of the robot program, outputs the robot operation command via the robot interface, generates a peripheral device operation command for the peripheral device on the basis of the peripheral device program, and outputs the peripheral device operation command via the peripheral device interface.
Need to check novelty before this filing date? Find Prior Art

Description

Robot control device and robot system

[0001] The present disclosure relates to a robot control device and a robot system.

[0002] There are cases where a robot control device that controls a robot and a PLC (programmable logic controller) that controls peripheral devices are connected, and signals are transmitted and received between the robot control device and the PLC to operate the robot and the peripheral devices in cooperation (see, for example, Patent Document 1).

[0003] Japanese Patent Application Laid-Open No. 9-81218

[0004] In some cases, the robot control device performs simple on / off control of peripheral devices, such as opening and closing of a hand attached to the end of the robot. However, conventional robot control devices cannot control the position, speed, torque, acceleration, etc. of peripheral devices. Examples of applications that require position, speed, torque, and acceleration control include a nut runner or an electric drill attached to the end of a robot in an assembly application using the robot, and a processing tool attached to the end of a robot in a component processing application using the robot.

[0005] While it is not impossible to add peripheral device control functions to a robot control system, it requires expertise for optimal control of each peripheral device. In some cases, it is better for the peripheral device vendor, rather than the robot vendor, to handle the programming related to peripheral device control. However, controlling peripheral devices generally requires the use of an external PLC, which increases system costs. Alternatively, for a peripheral device vendor to control peripheral devices using a robot control system, they need to use a program for robot control. Since the robot program is also used by the robot system's teaching team for robot teaching, separating the programming between the peripheral device vendor and the robot teaching team can be difficult. Furthermore, it is generally necessary to learn a dedicated robot programming language rather than the PLC programming language used for peripheral device control, making it difficult to request the peripheral device vendor to create the robot program. For these reasons, peripheral device vendors desire a robot control system that allows for easy control of the position, velocity, torque, and acceleration of peripheral devices.

[0006] A robot control device according to one aspect of the present disclosure comprises at least one memory, at least one processor, a robot interface connected to a robot, and a peripheral device interface connected to a peripheral device that interacts with the robot, wherein the at least one memory functions as a robot program storage unit for storing a robot program that describes the operation of the robot, and a peripheral device program storage unit for storing a peripheral device program that describes the operation of the peripheral device, and the at least one processor functions as a robot control unit that generates robot operation commands for the robot based on the robot program and outputs the robot operation commands from the robot interface, and a peripheral device control unit that generates peripheral device operation commands for the peripheral device based on the peripheral device program and outputs the peripheral device operation commands from the peripheral device interface.

[0007] This is a block diagram showing the configuration of a robot system according to one embodiment of the present disclosure. This is a block diagram showing the flow of information between some of the components of the robot system in Figure 1. This is a block diagram showing the flow of information between components of the robot system in Figure 1 that are different from those shown in Figure 2. This is a block diagram showing the flow of information between components of the robot system in Figure 1 that are different from those shown in Figures 2 and 3. This is a flowchart showing some of the control procedures in the peripheral equipment control unit of the robot system in Figure 1. This is a flowchart showing some of the control procedures in the robot control unit of the robot system in Figure 1 that are different from those shown in Figure 6. This is a flowchart showing some of the control procedures in the peripheral equipment control unit of the robot system in Figure 1 that are different from those shown in Figure 5. This is a flowchart showing some of the control procedures in the robot control unit of the robot system in Figure 1 that are different from those shown in Figures 6 and 7.

[0008] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. Figure 1 is a block diagram showing the configuration of a robot system 1 according to one embodiment of the present disclosure. The robot system 1 comprises a robot control device 10, a robot 20 controlled by the robot control device 10, and one or more peripheral devices 30 controlled by the robot control device 10 in conjunction with the robot 20.

[0009] The robot control device 10 is itself an embodiment of the robot control device according to this disclosure. In addition to the robot 20 and peripheral devices 30, the robot control device 10 may be configured to connect to a teaching control panel 40, a personal computer 50, etc. The robot control device 10 may also be configured to acquire information from the personal computer 50 etc. via a storage medium. The robot 20 has a plurality of drive axes and positions its end portion (end-effector). The robot 20 also has a plurality of sensors such as encoders that detect the position of each drive axis and is configured to feed back the detected values ​​of the sensors to the robot control device 10. The peripheral devices 30 may include a drive mechanism 31 that can control at least one of position, velocity, torque, and acceleration. By using position, velocity, torque, and acceleration as commands for the peripheral devices 30, the robot control device 10 can control the peripheral devices 30 more precisely than conventional methods of controlling the state according to digital signals. As a specific example, peripheral equipment 30 may be any of the following: a tool connected to the tip of the robot 20, a sensor attached to the robot 20, an additional shaft installed on the robot 20, or a conveyor installed near the robot 20. Typically, the drive mechanism 31 uses a servo motor as its drive source. Peripheral equipment 30 may also include a force sensor (not shown) for detecting external forces.

[0010] The robot control device 10 is implemented by a computer device that includes at least one memory 11, at least one processor 12, a robot interface 13 connected to the robot 20, and a peripheral device interface 14 connected to the peripheral device 30, and executes an appropriate control program. The robot control device 10 may further include an input device and a display device, such as a touch panel.

[0011] Memory 11 functions as a robot program storage unit 111, a peripheral device program storage unit 112, a correction value storage unit 113, a peripheral device status information storage unit 114, a robot status information storage unit 115, and an operating range storage unit 116. Processor 12 functions as a robot program creation unit 121, a peripheral device program creation unit 122, a robot control unit 123, a peripheral device control unit 124, and an operating range confirmation unit 125. Note that these components are classifications of the functions of the robot control device 10 and do not necessarily have to be clearly distinguishable.

[0012] The robot program storage unit 111 stores robot programs created by the robot program creation unit 121, or robot programs acquired from an external source via a communication line, storage medium, etc. Robot programs can be written in a robot programming language such as SLIM (Standard Language for Industrial Manipulators) as defined in JIS-B8439-1992. Preferably, the robot program storage unit 111 is capable of storing multiple robot programs.

[0013] The peripheral device program storage unit 112 stores peripheral device programs created by the peripheral device program creation unit 122, or peripheral device programs acquired from external sources via communication lines, storage media, etc. For example, the personal computer 50 has programming software for the peripheral device 30 installed, and stores peripheral device programs created by the personal computer alone. Peripheral device programs can be written using PLC programming languages ​​such as ladder diagrams (LD language), function block diagrams (FBD language), structured text (ST language), instruction lists (IL language), and sequential function charts (SFC language) as defined in IEC 61131-3.

[0014] The correction value storage unit 113 stores correction values ​​for correcting the operation of the robot 20. The correction value storage unit 113 may be configured to further store correction values ​​for correcting the operation of the drive mechanism 31. The correction value storage unit 113 may store correction values ​​that are input to the robot control device 10 directly or via the teaching control panel 40, personal computer 50, etc. The correction value storage unit 113 may also receive correction values ​​via the robot program creation unit 121 and the peripheral device program creation unit 122. The correction value storage unit 113 may also store correction values ​​for the position, velocity, torque, and acceleration of the peripheral device 30 and the robot 20. Figure 2 shows the flow of information between components related to the correction value storage unit 113.

[0015] The peripheral device status information storage unit 114 stores peripheral device status information indicating the status of the peripheral device 30 (e.g., position, speed, torque, acceleration, error information, etc.). The peripheral device status information stored in the peripheral device status information storage unit 114 may be the status (measured value) obtained by the peripheral device control unit 124 from sensors such as encoders mounted on the peripheral device 30 via the peripheral device interface 14, or it may be the status of the peripheral device 30 according to the peripheral device program read by the peripheral device control unit 124 from the peripheral device program storage unit 112 (target value, command value).

[0016] The robot state information storage unit 115 stores robot state information indicating the state of the robot 20 (e.g., robot position, velocity, torque, acceleration, etc.) or requests from the robot 20 to peripheral equipment 30. The robot state information stored in the robot state information storage unit 115 may be the state (measured value) obtained by the robot control unit 123 from sensors such as encoders mounted on the robot 20 via the robot interface 13, the state of the robot 20 according to the robot program read by the robot control unit 123 from the robot program storage unit 111 (target value, command value), or specified values ​​and parameters of peripheral equipment according to the robot program (e.g., position, velocity, torque, acceleration, etc. of the drive unit of peripheral equipment 30). Figure 3 shows the flow of information between components related to the robot state information storage unit 115.

[0017] The operating range storage unit 116 stores the operating range, which is the range in which the tip of the robot 20 can be positioned. The range in which the tip of the robot 20 can be positioned is determined by the specifications of the robot 20 and may be set considering the mass of peripheral equipment 30 etc. connected to the tip of the robot 20's tip, obstacles around the robot 20, etc. The operating range storage unit 116 stores 3D models of the robot 20 and peripheral equipment. Alternatively, the operating range may be stored for each drive axis of the robot 20. Figure 4 shows the flow of information between components related to the operating range storage unit 116. The operating range may also be input to the operating range storage unit 116 from the teaching control panel 40.

[0018] The robot program creation unit 121 creates a robot program that describes the operation of the robot 20. The robot program creation unit 121 may be configured to create a robot program by operating the robot 20 according to user input via the teaching control panel 40 and recording the robot 20's operation specified by the user in a robot programming language or the like. The robot program may include commands to link the robot 20 with peripheral devices 30, such as commands to instruct the peripheral device control unit 124 to check its status via the robot state information storage unit 115, and commands to instruct the robot 20 to notify the peripheral device control unit 124 of its own status via the robot state information storage unit 115 (robot state information storage commands).

[0019] The robot program may include commands to change the commands of the peripheral device 30. Commands that are changed according to the robot program may include the position, speed, acceleration, and torque of the drive unit of the peripheral device 30. For example, in the case of a nut runner, it is necessary to change the specified torque depending on the fastening location. For this reason, after the robot program moves the robot 20 to the fastening position, the robot may be configured to record the fastening torque determined according to the fastening location in the robot state information storage unit 115. This allows the peripheral device control unit 124 to appropriately control the torque of the nut runner by referring to the fastening torque recorded in the robot state information storage unit 115. In other words, the peripheral device control unit 124 may not directly issue a command for the specified torque for torque control of the nut runner, but may perform continuous torque control from the start to the completion of fastening based on the specified torque obtained from the robot state information storage unit 115.

[0020] The peripheral device program creation unit 122 creates a peripheral device program that describes the operation of the peripheral device 30. The peripheral device program creation unit 122 creates the peripheral device program using a PLC programming language or the like, according to input via a personal computer 50 or the like. The peripheral device program may include commands for controlling the drive mechanism 31, that is, commands that specify a target value for the state value of the drive mechanism 31 and instruct the drive mechanism 31 to drive so that the state value approaches the target value. Furthermore, the peripheral device program may include commands for linking with the robot 20, etc.

[0021] The robot control unit 123 executes the robot program stored in the robot program storage unit 111. In other words, the robot control unit 123 generates robot motion commands for the robot 20 based on the robot program and outputs the robot motion commands from the robot interface 13. The robot control unit 123 may be configured to receive feedback from the robot 20, such as position and velocity, and perform feedback control to adjust the values ​​of the robot motion commands.

[0022] Furthermore, the robot control unit 123 may correct the robot operation commands generated according to the robot program based on correction values ​​stored in the correction value storage unit 113. In addition, the robot control unit 123 is configured to store the actual state of the robot 20 obtained from the robot 20 via the robot interface 13 or the state of the robot 20 according to the robot program as robot state information in the robot state information storage unit 115. The robot control unit 123 may also store robot state information in the robot state information storage unit 115 according to a robot state information storage command described in the robot program. The robot state information preferably includes information on the position and orientation of the tip of the robot 20 as information that represents the state of the robot 20. Furthermore, the robot control unit 123 may stop the operation of the robot 20 according to the error state of the peripheral device state information storage unit 114.

[0023] The peripheral device control unit 124 executes the peripheral device program stored in the peripheral device program storage unit 112. In other words, the peripheral device control unit 124 generates peripheral device operation commands for the peripheral device 30 based on the peripheral device program and outputs the peripheral device operation commands from the peripheral device interface 14. The peripheral device control unit 124 is configured to control the drive mechanism 31, which is capable of controlling position, velocity, torque, and acceleration. The peripheral device control unit 124 may be configured to receive feedback of state values ​​such as the position of the drive mechanism 31 and perform feedback control by changing the input to the drive mechanism 31 so that the state values ​​of the drive mechanism 31 match target values. The peripheral device control unit 124 may be implemented as a software PLC that operates on an operating system similar to that of conventional robot control devices.

[0024] The peripheral device control unit 124 may be configured to store correction values ​​in the correction value storage unit 113 according to correction commands described in the peripheral device program. The peripheral device control unit 124 may also be configured to calculate correction values ​​to be stored in the correction value storage unit 113 based on information about the peripheral device 30 acquired via the peripheral device interface 14, such as input from sensors connected to the peripheral device 30. Alternatively, correction values ​​may be set in the correction value storage unit 113 at predetermined intervals using a prescribed rule or formula for calculating correction values. For example, overload of the peripheral device 30 can be prevented by setting correction values ​​that allow for fine adjustment of the posture of the robot 20 so as to reduce the force acting on the peripheral device 30 (load torque of the drive mechanism 31).

[0025] The peripheral device control unit 124 may be configured to generate peripheral device operation commands according to robot state information stored in the robot state information storage unit 115. In other words, the peripheral device control unit 124 may be configured to use the robot state information storage unit 115 to operate the peripheral device 30 in timing with the operation of the robot 20 controlled by the robot control unit 123. Furthermore, the peripheral device control unit 124 may adjust the operating speed of the drive mechanism 31 to mitigate the influence of the operating speed of the robot 20 in order to protect the peripheral device 30 and improve processing accuracy. The peripheral device control unit 124 may be configured to acquire robot state information from the robot state information storage unit 115 according to a robot state information acquisition command written in the peripheral device program, in order to acquire robot state information only when necessary.

[0026] The peripheral device control unit 124 may be configured to cause the robot control unit 123 to execute a robot program identified by a program selection command written in a peripheral device program, from among a plurality of robot programs stored in the robot program storage unit 111. This ensures an appropriate combination of robot programs and peripheral device programs.

[0027] The operating range confirmation unit 125 calculates the current position and orientation of the robot 20 and peripheral equipment 30 models in a given three-dimensional coordinate system, by reflecting the position of the robot 20 acquired via the robot interface 13 and the 3D models of the robot and peripheral equipment 30 stored in the operating range storage unit 116. If either the robot 2 or the peripheral equipment 30 model deviates from the operating range stored in the operating range storage unit 116, the robot control unit 123 is instructed to stop the robot 20, and the peripheral equipment control unit 124 is instructed to stop the peripheral equipment 30.

[0028] The teaching control panel 40 has a display device 41 that displays the robot's program, settings, and status, and can also display the operating status of peripheral devices 30. The operating status of peripheral devices 30 is acquired by the peripheral device program and stored in the peripheral device status information storage unit 114. Based on the values ​​in the peripheral device status information storage unit 114, the screen to be displayed is configured and displayed on the display device 41 on the teaching control panel 40.

[0029] The display device 41 displays the operating status of the peripheral device, for example, the position, speed, torque, and acceleration of the peripheral device 30. It may also display the error status, execution status, and values ​​of each variable in the peripheral device program.

[0030] The display device 41 of the teaching control panel 40 can display a screen for setting the operating parameters necessary for executing the peripheral device program. The operating parameters set from the screen of the teaching control panel 40 can be stored in the peripheral device status information storage unit 114. The peripheral device control unit 124 may be configured to obtain the operating parameters from the peripheral device status information storage unit 114 and execute the peripheral device program using those values. For example, the operating speed, operating acceleration, tightening torque, and other parameters of the peripheral device 30 can be set. In a system where tool changes are possible, each tool is assigned an identification number in advance, and the operating parameters corresponding to the identification value are recorded. By setting the identification number as the operating parameter when switching tools, the user can switch to the operating parameters corresponding to the peripheral device 30 without being aware of the detailed parameter values.

[0031] The robot interface 13 may be a dedicated communication port designed for the robot 20, or it may be a general-purpose communication port such as Ethernet.

[0032] The peripheral device interface 14 may be a dedicated communication port designed for the peripheral device 30, or it may be a general-purpose communication port such as Ethernet. It is particularly preferable that it be a communication port compatible with industrial Ethernet protocols such as FL-net, Ethernet / IP, PROFINET, and CC-Link.

[0033] The robot control device 10 includes a robot control unit 123 that executes a robot program and a peripheral device control unit 124 that executes a peripheral device program which may include commands to control the drive mechanism 31 of the peripheral device 30. Therefore, the robot 20 and the peripheral device 30 can be operated in conjunction with each other relatively easily.

[0034] Referring to Figures 5 and 6, a specific example of control related to correction values ​​in the robot control device 10 will be explained. These flowcharts assume an application in which the values ​​of a force sensor attached to a peripheral device 30 are read and the operating position of the robot 20 is corrected. Figure 5 shows a part of the procedure for processing the peripheral device program by the peripheral device control unit 124. In step S11, it is determined whether the command to be executed is a correction value writing command or not. If it is not a correction value writing command, the processing corresponding to the various commands is executed in step S12. If it is a correction value writing command, the external force acting on the peripheral device 30 is acquired in step S13. Specifically, the external force acting on the peripheral device 30 may be acquired from the sensor of the peripheral device 30, or the external force may be estimated from the load value of the drive mechanism 31 of the peripheral device 30 (for example, the motor current value). In step S13, the peripheral device control unit 124 acquires the external force and calculates a correction value for correcting the position of the robot 20 from the acquired external force in step S14. In step S15, the peripheral device control unit 124 writes the correction value calculated in step S14 to the correction value storage unit 113. Then, it returns to S11 and proceeds to the execution of the next instruction.

[0035] Figure 6 shows some of the steps involved in the execution of the robot program by the robot control unit 123. The robot program contains robot motion commands that have a taught position to which the robot 20 will move. If the taught position needs to be corrected using a correction value, a correction command can be added to the motion command. In step S21, the robot control unit 123 determines whether the next command to be executed is not a motion command. If it is not a motion command, it proceeds to step S22 and performs the execution process for various commands. If it is a motion command, it determines in step S23 whether it is a motion command with a correction command. If it is not a motion command with a correction command, it performs an action plan for the taught position in step S24 and operates the robot 20. If it is a motion command with a correction command, it reads the correction value from the correction value storage unit 113 in step S25. In step S26, it corrects the taught position using the correction value read in step S25 and executes the motion command for the corrected taught position.

[0036] Referring to Figures 7 and 8, these are flowcharts illustrating the procedure for storing robot state information in the robot control device 10 according to this embodiment. These flowcharts assume an application in which a cutting tool is attached to the tip of the robot 20 to process metal. Figure 7 shows a part of the procedure for executing the robot program in the robot control unit 123. In step S31, the robot control unit 123 checks if it is the acquisition cycle for the robot 20's sensors. If the sensor acquisition cycle has arrived, the process moves to step S32. In step S32, the robot control unit 123 acquires sensor values ​​for each axis of the robot 20 via the robot interface. In step S32, the robot control unit 123 calculates the position and position in Cartesian coordinates for each axis of the robot from the axis sensors acquired in step S32. The velocity may also be calculated from each calculated position. In step S34, the robot control unit 123 writes the position and velocity of the robot 20 calculated in step S33 to the robot state information storage unit 115.

[0037] Figure 8 shows part of the procedure for executing a peripheral device program in the peripheral device control unit 124. The peripheral device program can contain a position information acquisition command. When the position information acquisition command is executed, the robot state information of the robot 20 is read from the robot state information storage unit 115, and if the position of the robot 20 is within the operating range stored in the operating range storage unit 116, it is determined that the peripheral device 30 may be operated. In step S41, the peripheral device 30 is initialized to be inoperable. In step S42, it is determined whether the program command to be executed is anything other than a robot state information acquisition command. If it is a robot state information acquisition command, in step S43, robot state information is acquired from the robot state information storage unit 115. In step S44, based on the robot state information acquired in step S43, it is confirmed that the position of the robot 20 is within the operating range set by the user in the operating range storage unit 116. The operating range may be dynamically changed by detecting the presence of an operator with a sensor such as an area sensor and setting the range in the operating range storage unit 116. If the robot 20 is not in the operating range, in step S45, the peripheral device 30 is set to inoperable. If the robot 20 is in the operating range, in step S46, the peripheral device 30 is set to operate. If step S42 is not a robot status information acquisition command, in step S47, it is checked whether the next program command to be executed is an operation command that involves the operation of the peripheral device 30. If it is not an operation command, in step S48, the processing corresponding to the various commands is executed. If it is an operation command, in step S49, the settings of the peripheral device 30 are checked. If it is operable, in step S50, the operation of the peripheral device 30 is started and the command is executed. If it is not operable, the operation of the peripheral device 30 is not executed and the process returns to step S42. Alternatively, an alarm may be generated to stop the peripheral device 30 and the robot 20.

[0038] Figure 9 is a flowchart showing the procedure for checking the operating range of the robot control device 10 according to this embodiment. In step S51, the robot control unit 123 checks if it is the sensor acquisition cycle of the robot 20. If the sensor acquisition cycle has arrived, the process moves to step S52. In step S52, the robot control unit 123 acquires the values ​​(encoder values) of various sensors of the robot 20 via the robot interface 13. In step S53, the robot control unit 123 calculates the position of the robot 20 from the sensor values ​​acquired in step S52. In step S54, the operating range confirmation unit 125 determines whether the position of the robot 20 is within the operating range. If the position of the robot 20 is within the operating range, the process returns to step S51 without taking any action. If the position of the robot 20 is not within the operating range, the robot 20 and peripheral equipment 30 are not performing the expected operation and must be stopped immediately. In step S55, the operating range confirmation unit 125 issues a command to stop the robot operation to the robot control unit 123. In step S56, the operating range confirmation unit 125 issues a command to the peripheral device control unit 124 to stop the operation of the peripheral device.

[0039] The following additional information is disclosed regarding the above embodiments and modifications. (Addendum 1) The robot control device (10) comprises at least one memory (11), at least one processor (12), a robot interface (13) connected to a robot (20), and a peripheral device interface (14) connected to a peripheral device (30) that works in conjunction with the robot (20). The at least one memory (11) stores a robot program that describes the operation of the robot (20) and a peripheral device program that describes the operation of the peripheral device (30). The at least one processor (12) generates robot operation commands for the robot (20) based on the robot program and outputs the robot operation commands from the robot interface (13). The processor (12) generates peripheral device operation commands for the peripheral device (30) based on the peripheral device program and outputs the peripheral device operation commands from the peripheral device interface (14).

[0040] (Supplementary Note 2) In the robot control device (10) of Supplementary Note 1, at least one memory (11) may further record the state of the peripheral device (30), and at least one processor (12) may store the state in at least one memory (11) according to the instructions described in the peripheral device program.

[0041] (Supplementary Note 3) In the robot control device (10) of Supplementary Note 2, the state of the peripheral device (30) recorded in at least one memory (11) includes the error information of the peripheral device (30), and at least one processor (12) may stop the operation of the robot (20) based on the error information.

[0042] (Supplementary Note 4) In the robot control device (10) of Supplementary Notes 1 to 3, at least one memory (11) may further store a correction value for correcting the operation of the robot (20), and at least one processor (12) may correct the robot operation command generated according to the robot program based on the correction value, and store the correction value in at least one memory (11) according to the correction instructions described in the peripheral device program.

[0043] (Supplementary Note 5) In the robot control device (10) of Supplementary Note 4, at least one processor (12) may calculate the correction value to be stored in at least one memory (11) based on the information of the peripheral device (30) obtained through the peripheral device interface (14).

[0044] (Supplementary Note 6) In the robot control device (10) of Supplementary Notes 1 to 5, at least one memory (11) may further store robot state information indicating the state of the robot (20), and at least one processor (12) may store the state of the robot (20) obtained from the robot through the robot interface (13) as robot state information in at least one memory (11), and may generate a peripheral device operation command according to the robot state information stored in at least one memory (11).

[0045] (Appendix 7) In the robot control device (10) of Appendices 1 to 5, at least one memory (11) further stores robot state information indicating the state of the robot or a request for peripheral devices (30) of the robot (20), and at least one processor (12) stores the robot state information in at least one memory (11) according to a robot state information storage command described in the robot program, and may generate a peripheral device operation command according to the robot state information.

[0046] (Appendix 8) In the robot control device (10) of Appendices 6 to 7, at least one processor (12) may obtain robot state information from at least one memory (11) according to a robot state information acquisition command described in the peripheral device program.

[0047] (Appendix 9) In the robot control device (10) of Appendices 6 to 8, at least one processor (12) may store information on the position and orientation of the tip of the robot (20) in at least one memory (11) as robot state information.

[0048] (Appendix 10) In the robot control device (10) of Appendices 1 to 9, at least one memory (11) further stores the operating range of the robot (20), and when the position of the robot (20) obtained via the robot interface (13) deviates from the operating range, at least one processor (12) may stop the robot (20) and stop the peripheral devices (30).

[0049] (Appendix 11) In the robot control device (10) of Appendices 1 to 10, at least one memory (11) can store a plurality of robot programs, and at least one processor (12) may execute a robot program specified by a program selection command described in the peripheral device program.

[0050] (Note 12) The robot control device (10) described in Notes 1 to 11 further comprises a teaching control panel (40) for operating the robot (20), and at least one memory (11) records peripheral device status information indicating the operating status of peripheral devices (30). The teaching control panel (40) has a display device (41) that displays the program, settings, and status of the robot (20), and the display device (41) may also display peripheral device status information.

[0051] (Note 13) The robot control device (10) described in Notes 1 to 11 further comprises a teaching control panel (40) for operating the robot (20), and at least one memory (11) further stores the operating parameters of peripheral devices (30), and the teaching control panel (40) may also be able to set the operating parameters of peripheral devices (30).

[0052] (Note 14) In the robot control device (10) described in Notes 1 to 13, the robot program may be written in a robot programming language, and the peripheral device program may be written in a PLC programming language.

[0053] (Note 15) In the robot control device (10) described in Notes 1 to 14, the peripheral device interface (14) may be an Ethernet communication port.

[0054] (Note 16) In the robot control device (10) of Notes 1 to 15, the peripheral equipment (30) may be any of the following: a tool connected to the tip of the robot (20), a sensor attached to the robot (20), an additional shaft installed on the robot (20), and a conveyor (20) installed near the robot (20).

[0055] (Note 17) The robot system (1) comprises a robot control device (10) as described in Notes 1 to 16, a robot (20) controlled by the robot control device (10), and a (30) controlled by the robot control device (10) and linked with the robot (20).

[0056] Although the present disclosure has been described in detail above, it is not limited to the individual embodiments described above. These embodiments can be added, replaced, modified, partially deleted, etc., in any way that does not depart from the gist of the present disclosure or from the spirit of the present disclosure derived from the claims and their equivalents. Furthermore, these embodiments can be implemented in combination. For example, the order of operations and processes in the embodiments described above are shown as examples only and are not limited thereto. The same applies when numerical values ​​or mathematical formulas are used in the description of the embodiments described above.

[0057] For example, in the robot control device according to this disclosure, the peripheral device program creation unit may be omitted, and its function may be implemented by an external personal computer or the like. Furthermore, the interface unit of the robot control device according to this disclosure may be configured to reproduce the signal exchange between a conventional robot control device and an independent PLC, and to mutually confirm the contents of the memory separately allocated to the robot control unit and the peripheral device control unit as needed. This makes it possible to apply the robot control device according to this disclosure without significantly modifying conventional robot programs and peripheral device programs.

[0058] 1 Robot system 10 Robot control unit 11 Memory 111 Robot program storage unit 112 Peripheral device program storage unit 113 Correction value storage unit 114 Peripheral device status information storage unit 115 Robot status information storage unit 116 Operating range storage unit 12 Processor 121 Robot program creation unit 122 Peripheral device program creation unit 123 Robot control unit 124 Peripheral device control unit 125 Operating range confirmation unit 13 Robot interface 14 Peripheral device interface 20 Robot 30 Peripheral device 31 Drive mechanism 40 Teaching control panel 50 Personal computer

Claims

1. A robot control device comprising at least one memory, at least one processor, a robot interface connected to a robot, and a peripheral device interface connected to a peripheral device that interacts with the robot, wherein the at least one memory stores a robot program that describes the operation of the robot, stores a peripheral device program that describes the operation of the peripheral device, the at least one processor generates robot operation commands for the robot based on the robot program and outputs the robot operation commands from the robot interface, and generates peripheral device operation commands for the peripheral device based on the peripheral device program and outputs the peripheral device operation commands from the peripheral device interface.

2. The robot control device according to claim 1, wherein the at least one memory further records the state of the peripheral device, and the at least one processor causes the at least one memory to store the state in accordance with instructions written in the peripheral device program.

3. The robot control device according to claim 2, wherein the state of the peripheral device recorded in the at least one memory includes error information of the peripheral device, and the at least one processor stops the operation of the robot based on the error information.

4. The robot control device according to any one of claims 1 to 3, wherein the at least one memory further stores correction values ​​for correcting the robot's movements, and the at least one processor corrects the robot movement commands generated according to the robot program based on the correction values.

5. The robot control device according to claim 4, wherein the at least one processor calculates the correction value to be stored in the at least one memory based on information of the peripheral device obtained via the peripheral device interface.

6. The robot control device according to any one of claims 1 to 5, wherein the at least one memory further stores robot state information indicating the state of the robot, the at least one processor stores the state of the robot obtained from the robot via the robot interface as robot state information in the at least one memory, and generates peripheral device operation commands according to the robot state information stored in the at least one memory.

7. The robot control device according to any one of claims 1 to 5, wherein the at least one memory further stores robot state information indicating the state of the robot or a request the robot makes to the peripheral device, and the at least one processor causes the at least one memory to store the robot state information in accordance with a robot state information storage instruction described in the robot program, and generates the peripheral device operation command in accordance with the robot state information.

8. The robot control device according to claim 6 or 7, wherein the at least one processor acquires the robot state information from the at least one memory in accordance with a robot state information acquisition instruction described in the peripheral device program.

9. The robot control device according to any one of claims 6 to 8, wherein the at least one processor stores information of the position and orientation of the tip of the robot as robot state information in the at least one memory.

10. The robot control device according to any one of claims 1 to 9, wherein the at least one memory further stores the operating range of the robot, and the at least one processor further stops the robot and the peripheral devices when the position of the robot obtained via the robot interface deviates from the operating range.

11. The robot control device according to any one of claims 1 to 10, wherein the at least one memory is capable of storing a plurality of robot programs, and the at least one processor executes the robot program specified by a program selection command described in the peripheral device program.

12. The robot control device according to any one of claims 1 to 11, further comprising a teaching control panel for operating the robot, wherein at least one memory records peripheral device status information indicating the operating status of the peripheral device, the teaching control panel has a display device for displaying the robot's program, settings, and status, and the display device can display the peripheral device status information.

13. The robot control device according to any one of claims 1 to 11, further comprising a teaching control panel for operating the robot, wherein the at least one memory further stores the operating parameters of the peripheral device, and the teaching control panel can set the operating parameters of the peripheral device.

14. The robot control device according to any one of claims 1 to 13, wherein the robot program is written in a robot programming language, and the peripheral device program is written in a PLC programming language.

15. The robot control device according to any one of claims 1 to 14, wherein the peripheral device interface is an Ethernet communication port.

16. The robot control device according to any one of claims 1 to 15, wherein the peripheral equipment is a tool connected to the tip of the robot, a sensor attached to the robot, an additional shaft disposed on the robot, and a conveyor disposed near the robot.

17. A robot system comprising: a robot control device according to any one of claims 1 to 16; a robot controlled by the robot control device; and peripheral equipment controlled by the robot control device and operating in conjunction with the robot.