Robot control device

The robot control device addresses the challenge of minimizing mechanical stress on robots during safety stops by adaptively applying stop controls based on the robot's operating state, ensuring safety and reducing mechanical load.

JP2026082863APending Publication Date: 2026-05-19FANUC LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
FANUC LTD
Filing Date
2026-01-21
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

Existing robot systems face challenges in ensuring safety in their operating space while minimizing the mechanical load caused by emergency stops, as conventional safety functions often result in excessive stress on the robot's mechanical parts.

Method used

A robot control device that includes an area setting unit, position calculation unit, interference detection unit, operating state detection unit, and stop unit, which adaptively applies stop control based on the robot's operating state when interference with the operating or restricted area is detected.

Benefits of technology

The solution reduces the mechanical load on the robot mechanism while maintaining operator safety by applying appropriate stop controls tailored to the robot's operating state during interference.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026082863000001_ABST
    Figure 2026082863000001_ABST
Patent Text Reader

Abstract

This allows for adaptive modification of the stop control applied when interference with the outer or restricted area of ​​the robot's operating range is detected. [Solution] A robot control device (20) for controlling a robot is provided, comprising: an area setting unit (201) for setting an operating area in which the robot can operate or a restricted area in which the robot cannot enter; a position calculation unit (204) for calculating the position of the robot; an interference detection unit (205) for detecting interference between the robot and the outer surface of the operating area or the restricted area based on the calculated position of the robot; an operating state detection unit (206) for detecting the operating state of the robot when interference is detected; and a stop unit (207) for stopping the robot by stop control according to the detected operating state.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a robot control device.

Background Art

[0002] Various techniques have been proposed to ensure safety in the working space where a robot system is placed. For example, Patent Document 1 describes that "in an arm-type robot, when a person approaches within the range of the first stage, the speed of the arm is controlled to be low, and when approaching within the range of the second stage closer than that, the arm is stopped." (paragraph 0016).

[0003] Patent Document 2 describes that "a robot arm 2, a human body identifier 4 that outputs human body identification information for identifying a human body and an object other than a human body in a predetermined monitoring area including the operating range of the robot arm 2, and a controller 3 that controls the operation of the robot arm 2, and the controller 3 is configured to identify a human body and an object other than a human body in a predetermined monitoring area based on the human body identification information output by the human body identifier 4, and when detecting that a human body has entered the predetermined monitoring area, control the robot arm 2 so as to decelerate or stop the operation of the robot arm 2." (abstract).

Prior Art Documents

Patent Documents

[0004] <​​​​​​​​​​​​​​​​In robot systems, the operating range in which the robot can move or the restricted area in which the robot cannot enter are set as a calculated designated area within the control unit, and there is a control system that emergency stops the robot when interference between the robot and the outer surface of the operating range or the restricted area is detected. While such safety functions are important from the perspective of ensuring the safety of people in the workspace, emergency stops also have the drawback of placing a load on the robot's mechanical parts. It is desirable that the stop control applied when interference with the outer surface of the robot's operating range or the restricted area is detected can be adaptively changed. [Means for solving the problem]

[0006] One aspect of the present disclosure is a robot control device for controlling a robot, comprising: an area setting unit for setting an operating area in which the robot can operate or a restricted area in which the robot cannot enter; a position calculation unit for calculating the position of the robot; an interference detection unit for detecting interference between the robot and the outer surface of the operating area or the restricted area based on the calculated position of the robot; an operating state detection unit for detecting the operating state of the robot when the interference is detected; and a stop unit for stopping the robot by stop control according to the detected operating state. [Effects of the Invention]

[0007] With the above configuration, when interference with the outer surface or limiting area of ​​the robot's operating area is detected, an appropriate stop control can be applied according to the robot's operating state, thereby realizing a stop control that reduces the load on the robot mechanism while ensuring the safety of the operator.

[0008] These and other objects, features, and advantages of the present invention will become even clearer from the detailed description of typical embodiments of the present invention shown in the accompanying drawings. [Brief explanation of the drawing]

[0009] [Figure 1]This diagram shows the equipment configuration of a robot system according to one embodiment. [Figure 2] This figure shows an example of setting an operating area around a robot. [Figure 3] This figure shows an example of the hardware configuration of a robot control device and an external input device. [Figure 4] This is a functional block diagram of the robot control device according to the first embodiment. [Figure 5A] This figure shows an example of stop control operation when an operating area is specified in the first embodiment. [Figure 5B] This figure shows an example of stop control operation when an operating area is specified in the first embodiment. [Figure 6A] This figure shows an example of stop control operation when a restricted area is specified in the first embodiment. [Figure 6B] This figure shows an example of stop control operation when a restricted area is specified in the first embodiment. [Figure 7A] This figure shows an example of operation when the user coordinate system is set as the reference coordinate for detecting the direction of movement. [Figure 7B] This figure shows an example of operation when the user coordinate system is set as the reference coordinate for detecting the direction of movement. [Figure 8] This figure shows a first example of a user interface screen for setting a designated area and a stopping method in the first embodiment. [Figure 9] This figure shows a second example of a user interface screen for setting the designated area and stopping method in the first embodiment. [Figure 10] This diagram illustrates an example of how to determine the components of a robot's direction of motion. [Figure 11] This diagram illustrates how to determine a stopping method when there are multiple components in the direction of a robot's movement. [Figure 12] This diagram illustrates the interference between the robot model set on the robot and the outer surface of the operating area. [Figure 13] This is a functional block diagram of the robot control device according to the second embodiment. [Figure 14] It is a diagram showing an example of assigning an identification number to an operation area. [Figure 15] It is a diagram showing an example of assigning an identification number to an operation area. [Figure 16A] In the second embodiment, it is a diagram showing an operation example of stop control when interference occurs between the outer surface of the operation area and the robot. [Figure 16B] In the second embodiment, it is a diagram showing an operation example of stop control when interference occurs between the outer surface of the operation area and the robot. [Figure 17A] In the second embodiment, it is a diagram showing an operation example of stop control when interference occurs between the outer surface of the restricted area and the robot. [Figure 17B] In the second embodiment, it is a diagram showing an operation example of stop control when interference occurs between the outer surface of the restricted area and the robot. [Figure 18] In the second embodiment, it is a diagram showing a user interface screen for setting a designated area and a stop method. [Figure 19] It is a functional block diagram of a robot control device according to the third embodiment. [Figure 20A] It is a diagram for explaining stop control in a state where the area is invalid. [Figure 20B] It is a diagram for explaining stop control in a state where the area is valid. [Figure 20C] It is a diagram for explaining stop control in a state where the area is valid. [Figure 21] In the third embodiment, it is a diagram showing a user interface screen for setting a designated area and a stop method.

Embodiments for Carrying Out the Invention

[0010] Next, embodiments of the present disclosure will be described with reference to the drawings. In the drawings, similar components or functional parts are given the same reference numerals. For ease of understanding, the scale of these drawings has been appropriately changed. Furthermore, the embodiments shown in the drawings are just one example of how to carry out the present invention, and the present invention is not limited to the illustrated embodiments.

[0011] Figure 1 shows the equipment configuration of a robot system according to one embodiment. As shown in Figure 1, the robot system 100 includes a robot 10, a robot control device 20 that controls the robot 10, and an external input device 40 connected to the robot control device 20. The external input device 40 is, for example, a teaching control panel. Note that an information processing device such as a tablet terminal, smartphone, or PC (personal computer) may be used as the external input device 40. As an example, the robot 10 is assumed to be a 6-axis articulated robot. Note that various types of robots, such as parallel link robots and dual-arm robots, may be used as the robot 10 depending on the work object. The joint axes of the robot 10 will be referred to as J1 axis, J2 axis, J3 axis, J4 axis, J5 axis, and J6 axis, in order from the base side. These J1 to J6 axes correspond to rotation axes provided by actuators for each axis. In Figure 1, the rotation direction of each axis is indicated by arrows J1 to J6.

[0012] Robot 10 can perform desired tasks using an end effector attached to its wrist. The end effector is an external device that can be replaced depending on the application, such as a hand, welding gun, or tool. Figure 1 shows an example where a hand is used as the end effector.

[0013] The robot control device 20 has a safety function that stops the robot 10 if it deviates from the operating area or enters a restricted area. The operating area may be defined as a computational (i.e., virtual) area that defines the area in which the robot can operate. The restricted area may be defined as a computational (i.e., virtual) area that defines the area in which the robot cannot enter. The safety function includes a function to stop the robot if it deviates from the operating area (i.e., if it interferes with the outer surface (boundary surface) of the operating area) and a function to stop the robot if the robot 10 interferes with the restricted area.

[0014] This safety function will be explained with reference to Figure 2. Figure 2 shows an example in which an operating area R1 is set around the robot 10. When an operating area R1 is set, the robot 10 will stop if interference between the robot 10 and the outer surface of the operating area R1 is detected. When interference checking is performed by the safety function, a cylindrical or spherical model (robot model 101M) may be set around the robot 10 so as to surround the arm, joints, and tool parts, and the robot 10 may stop when interference between this robot model 101M and the outer surface of the operating area R1 is detected. Similarly, when a restricted area is set, the robot can be stopped if interference with the robot 10 or robot model 101M is detected.

[0015] In this embodiment, the robot control device 20 can stop the robot 10 by stop control according to the operating state of the robot 10 when interference between the robot (or robot model) and the outer surface or restricted area of ​​the operating area is detected. This allows the robot control device 20 to reduce the occurrence of situations in which the mechanism of the robot 10 is subjected to load due to an emergency stop, while maintaining safety.

[0016] Figure 3 shows an example of the hardware configuration of the robot control device 20 and the external input device 40. The robot control device 20 may have a configuration similar to a general computer, with a processor 21 connected to a memory 22 (ROM, RAM, non-volatile memory, etc.), various input / output interfaces 23, and an operation unit 24 including various operation switches via a bus. The input / output interfaces 23 include a network interface, a serial interface, a sensor signal interface, and other external device interfaces.

[0017] The external input device 40 may have a configuration similar to a general computer, with a processor 41 connected via a bus to a memory 42 (ROM, RAM, non-volatile memory, etc.), a display unit 43, an operation unit 44 consisting of input devices such as a keyboard (or software keys), and various input / output interfaces 45. The input / output interfaces 45 include network interfaces, serial interfaces, and other external device interfaces.

[0018] Three embodiments (the first to the third embodiment) of the robot control device 20 will be described below. For the sake of convenience, the robot control device according to the first embodiment will be referred to as robot control device 20, the robot control device according to the second embodiment as robot control device 20A, and the robot control device according to the third embodiment as robot control device 20B.

[0019] First Embodiment Figure 4 is a functional block diagram of the robot control device 20 according to the first embodiment. As shown in Figure 4, the robot control device 20 includes an motion control unit 201, a region setting unit 202, a stop method setting unit 203, a position calculation unit 204, an interference detection unit 205, a motion direction detection unit 206, and a stop unit 207.

[0020] The motion control unit 201 controls the robot 10 according to commands from the motion program 208 or the external input device (teaching control panel) 40. Specifically, the motion control unit 201 moves a predetermined control part of the robot 10 according to the command by performing servo control of the servo motors that drive each joint axis of the robot 10, based on the commands from the motion program 208 or the external input device 40 and feedback information from position sensors (encoders, etc.) 11 located on each axis of the robot 10.

[0021] The area setting unit 202 provides a function for setting a designated area (operating area or restricted area). The functions provided by the area setting unit 202 may include receiving setting input for the designated area from an external device or user and storing it in the storage unit. For example, the area setting unit 202 may be configured to receive setting input for the operating area or restricted area via a UI screen for setting the operating area or restricted area. In this case, the area setting unit 202 may be configured to display the UI screen on the display screen of the display unit 43 of the external input device 40 and to receive operation input for the UI screen via operation of the operation unit 44. In this case, the setting input may include information on the three-dimensional position and size of the designated area. The area setting unit 202 provides information regarding the designated area to the interference detection unit 205.

[0022] The stop method setting unit 203 provides a function for setting how to stop the robot 10 if it deviates from its operating area or interferes with a restricted area. The functions provided by the stop method setting unit 203 may include receiving and storing stop method setting inputs from an external device or user in the storage unit. In this case, setting inputs may include items such as the following: (1) Reference coordinate system used as a reference when detecting the position and direction of movement of a robot (2) Information relating the robot's direction of movement and the type of stop control when interference is detected.

[0023] In the following, the types of stop control will be referred to as stop categories. A stop category is a classification of the content of stop control when stopping a robot, and may include, for example, the following: (1) Stop Category 0: The robot's movement is momentarily stopped by cutting off the power to the robot's servo control. In Stop Category 0, the servo power is cut off while the robot is moving, so the trajectory of the deceleration movement is not controlled. (2) Stop Category 1: After slowing down and stopping the robot's movement, the robot's servo power is turned off.

[0024] Stop category 0 is used in situations of high urgency. Stop category 0 stops the robot faster than stop category 1, but the load on the robot mechanism is greater. The stop method setting unit 203 may also have a function to accept input for the stop method setting via a UI screen. In this case, the stop method setting unit 203 may be configured to display the UI screen on the display screen of the display unit 43 of the external input device 40, and to accept operation input for the UI screen via operation of the operation unit 44.

[0025] The position calculation unit 204 calculates the position of the robot 10 by kinematic calculation based on position information from the position sensors 11 of each axis of the robot 10. Here, the "robot's position" as the subject of the position calculation may include the positions of any part on the robot, such as the position of a control part like the TCP (Tool Center Point), as well as the positions of specific arms and joints on the robot. Furthermore, if the robot 10 is equipped with a tool (end effector), the position on the tool may also be included in the position calculation as part of the "robot's position". The position calculation may also include the calculation of posture. The position calculation unit 204 provides the calculated position of the robot 10 to the interference detection unit 205.

[0026] The interference detection unit 205 detects whether the robot 10 has interfered with the outer surface of the operating area or the restricted area, based on the position of the robot 10 provided by the position calculation unit 204 and the position information of the operating area or restricted area set in the area setting unit 202.

[0027] The motion direction detection unit 206 functions as a motion state detection unit that detects the motion state of the robot 10 when interference is detected by the interference detection unit 205. The motion direction detection unit 206 detects the motion direction of the robot 10 when interference is detected by the interference detection unit 205. The motion direction of the robot can be determined based on the position information of the robot 10 calculated at a predetermined period by the position calculation unit 204. The coordinate system used as a reference when determining the motion direction of the robot 10 is obtained from the area setting unit 202 or the stop method setting unit 203.

[0028] The stopping unit 207 stops the robot according to the stopping category corresponding to the direction of movement of the robot 10 when interference between the robot 10 and the outer surface of the operating area or the limiting area is detected, based on the setting information set via the stopping method setting unit 203.

[0029] Specific examples of stop control operation when an operating area is set as a designated area will be explained with reference to Figures 5A and 5B. In the situations shown in Figures 5A and 5B, an operating area R101 is set for the robot 10, and the operator OP is located to the right of the front of the robot 10 in the figures. In this situation, if the robot 10 deviates from the operating area R101, it will be stopped in stop category 0 if the robot 10 is moving towards the operator OP, prioritizing safety; otherwise, it will be stopped in stop category 1, considering the load on the robot 10. In this example, the world coordinate system C1 fixed to the base of the robot 10 will be used as the reference coordinate system for detecting the direction of movement. For the sake of explanation, in Figure 5A (and in other similar figures), the directions of each coordinate axis of the world coordinate system C1 are shown in the upper right of the figure. In this example, the robot 10 is set to stop category 0 when its direction of movement is in the +Y direction, and to stop category 1 in other directions.

[0030] Figure 5A shows the state when robot 10 interferes with the outer surface of the operating area R101. In this case, the direction of movement of robot 10 when it interferes with the outer surface of the operating area R101 is determined to be the +Y direction, and robot 10 is stopped in stop category 0. In this case, since robot 10 is moving in a direction toward operator OP and has deviated from the operating area R101, it is made to make an emergency stop in stop category 0 to ensure the safety of operator OP.

[0031] In the case of Figure 5B, when the robot 10 interferes with the outer surface of the operating area R101, it is determined that the direction of movement of the robot 10 is in the -Y direction, and the robot 10 is stopped in stop category 1. From the positional relationship between the robot 10 and the operator OP in Figure 5B, the safety of the operator OP is ensured when the robot 10 moves in the -Y direction and deviates from the operating area R101. Therefore, in this case, stopping the robot 10 in stop category 1 reduces the load on the robot 10 while ensuring the safety of the operator OP.

[0032] Specific examples of stop control operation when a restricted area is set as a designated area will be explained with reference to Figures 6A and 6B. In the situations shown in Figures 6A and 6B, restricted areas R102 and R103 are set for the robot 10, and the operator OP is positioned to the front right of the robot 10 in the figures. Note that restricted area R102 in Figure 6A and restricted area R103 in Figure 6B are located in different positions.

[0033] In this situation, when the robot 10 enters the restricted area, if the robot 10 is moving towards the operator OP, it will be stopped in stop category 0, prioritizing urgency; otherwise, it will be stopped in stop category 1, considering the load on the robot 10. In this example, the world coordinate system C1 fixed to the base of the robot 10 is used as the reference coordinate system for detecting the direction of movement. In this example, the robot 10 is set to stop category 0 when its direction of movement is in the +Y direction, and to stop category 1 in other directions.

[0034] Figure 6A shows the situation where robot 10 has entered the restricted area R102 and interference has been detected. In this case, since robot 10 is moving in the +Y direction, stop control is performed in stop category 0. In this case, since robot 10 is moving in a direction that approaches operator OP, an emergency stop in stop category 0 can be performed to ensure the operator's safety.

[0035] In the situation shown in Figure 6B, when robot 10 interferes with the restricted area R103, robot 10 is moving in the -Y direction, so robot 10 is stopped in stop category 1. From the positional relationship between robot 10 and operator OP in Figure 6B, when robot 10 moves in the -Y direction and enters the restricted area R103, operator OP's safety is ensured. Therefore, in this case, stopping the robot in stop category 1 reduces the load on the robot while ensuring the safety of operator OP.

[0036] As a reference coordinate system used for detecting the direction of movement, not only the world coordinate system as in the example above, but also a user-defined coordinate system can be used. Referring to Figures 7A and 7B, an example of operation when a user-defined coordinate system (hereinafter referred to as the user coordinate system) is used as the reference coordinate system for detecting the direction of movement will be explained. The user coordinate system is, for example, a coordinate system set for a workpiece within the movement area or a workbench on which the workpiece is placed. Figures 7A and 7B show an example of operation when the movement area R101 is set as the specified area. In the figure, the operator OP is positioned to the left of the front of the robot 10. In this situation, if the robot 10 deviates from the movement area, if the robot 10 is moving in a direction toward the operator OP, it will be stopped in stop category 0, prioritizing urgency, and in other cases, it will be stopped in stop category 1, considering the burden on the robot 10. In this example, the robot 10 is set to stop category 0 when its movement direction is in the +Y direction in the user coordinate system U1, and to stop category 1 in other directions.

[0037] Figure 7A shows the state when the robot 10 interferes with the outer surface of the operating area R101. In the case of Figure 7A, the direction of movement of the robot 10 when it interferes with the outer surface of the operating area R101 is determined to be the -Y direction, and the robot 10 is stopped in stop category 1. From the positional relationship between the robot 10 and the operator OP in Figure 7A, the safety of the operator OP is ensured when the robot 10 moves in the -Y direction and deviates from the operating range R101. Therefore, in this case, stopping the robot in stop category 1 reduces the load on the robot while ensuring the safety of the operator.

[0038] Figure 7B shows the state when the robot 10 interferes with the outer surface of the operating area R101. In this case, the direction of movement of the robot 10 when it interferes with the outer surface of the operating area R101 is determined to be the +Y direction, and the robot 10 is stopped in stop category 0. In this case, since the robot 10 is moving in a direction toward the operator OP and has deviated from the operating area R101, an emergency stop in stop category 0 can be performed to ensure the safety of the operator.

[0039] Since the user coordinate system is a coordinate system that users can easily grasp intuitively, allowing it to be set as the reference coordinate system for safety functions can make it easier for users to intuitively understand how to set stopping methods and the direction of robot movement.

[0040] Figure 8 shows a first example of a UI (User Interface) screen for setting a specified area and stopping method. The UI screen 300 is provided as a function of the area setting unit 202 and the stopping method setting unit 203. The UI screen 300 is displayed on the display screen of the display unit 43 of the external input device 40, and operation input to the UI screen may also be received via operation to the operation unit 44.

[0041] The UI screen 300 has a region specification field 301 in which either an operating region or a restricted region can be specified as the designated area. Figure 8 shows an example in which the operating region is specified as the designated area. For example, the position of the operating region can be set in the position specification field 304. For example, when setting a rectangular parallelepiped region, the diagonal positions are specified in the position specification field 304. In the target model specification field 302, a robot model for interference checking, as shown in Figure 2, can be specified.

[0042] The UI screen 310 further includes a specification field 305 for specifying the stopping method, a specification field 306 for specifying the direction of movement for stop category 0, a specification field 306 for specifying the direction of movement when detecting the direction of movement, and a specification field 303 for specifying the reference coordinate system when detecting the direction of movement. In this example, only the direction specified in the specification field 306 for specifying the direction of stop category 0 will be in stop category 0, and all other directions will be in stop category 1. In the setting of Figure 8, only the +X direction will stop in stop category 0, and all other directions will stop in stop category 1. Note that the options that can be specified in the stop category specification field 306 may also be "none", "+X", "+Y", "+Z", "-X", "-Y", and "-Z".

[0043] Figure 9 shows a second example of a UI screen for setting a specified area and a stop method. These UI screens are provided as functions of the area setting unit 202 and the stop method setting unit 203. These UI screens are displayed on the display screen of the display unit 43 of the external input device 40, and operation input to the UI screens may also be received via operation to the operation unit 44. The UI screen 310 shown on the left side of Figure 9 mainly concerns the setting of a specified area. The UI screen 320 shown on the right side of Figure 9 is a setting screen for detailed settings of the stop method.

[0044] The UI screen 310 has a region specification field 311 in which either an operating region or a restricted region can be specified as the specified area. Figure 9 shows an example in which the operating region is specified as the specified area. For example, the position of the operating region can be set in the position specification field 312. For example, when setting a rectangular parallelepiped region, the diagonal positions are specified in the position specification field 312. In the target model specification field 313, a robot model for interference checking, as shown in Figure 2, can be specified.

[0045] UI screen 310 includes a stop method specification field 314. By selecting in the stop method specification field 314, a UI screen 320 for detailed settings of the stop method can be called up. As shown in Figure 9, UI screen 320 is configured so that different stop methods can be set depending on the direction of operation. In UI screen 320, for each stop method, (1) Stop category (specified field 321) (2) Direction of robot movement during interference (specified field 322) (3) Reference coordinate system for detecting the direction of movement (specified field 323) You can set this.

[0046] In the UI screen 320 of Figure 9, the following four stopping methods are set: (1) Stopping method 1: Stopping category 0, movement direction is +X direction, reference coordinate system is world coordinate system (2) Stopping method 2: Stopping category 0, operating direction is +Y direction, reference coordinate system is user coordinate system 1 (3) Stopping method 3: Setting to not stop, operating direction is +Z direction, reference coordinate system is user coordinate system 2 (4) Stopping method 4: Stopping category 1, operating direction is -X direction, reference coordinate system is user coordinate system 3

[0047] The robot control device 20 may also detect components of the robot's direction of movement when the robot 10 interferes with the outer surface or limiting area of ​​the operating area, and determine a stop category based on the detected components. If multiple components are detected as the direction of movement, the robot control device 20 can determine the stop category using the following procedure. (A1) Detect interference between the robot and the outer or restricted area of ​​the operating region. (A2) Detect multiple components of the direction of movement. (A3) For all motion direction components detected in step (A2), obtain the set stop category. (A4) The highest priority stop category among the stop categories obtained in step (A3) is selected.

[0048] The determination of specific stop categories based on the above procedure will be explained with reference to Figures 10 and 11. Figure 10 shows a situation in which two components are required for the direction of movement when the robot 10 deviates from the operating area R101. In the situation in Figure 10, the +Y component and -X component are obtained as components of the robot's direction of movement V. Figure 11 shows the settings for the stop method used in this example (UI screen 320A).

[0049] In the situation shown in Figure 10, the components of the direction of movement obtained are the +Y component and the -X component. As indicated in the columns labeled 325 and 326 in Figure 11, the stop categories obtained in the above procedure (A3) are stop category 0 and stop category 1. As an example of the priority of stop categories, a higher priority is assigned to the stop category that should be given more importance from a safety standpoint. In this case, stop category 0 has a higher priority than stop category 1. Therefore, in this case, stop category 0 is adopted in procedure (A4), and the robot 10 is stopped in stop category 0. As a result, if the robot 10 moves in a direction that approaches the operator OP and deviates from the operating area R101 as shown in Figure 10, the robot 10 will be emergency stopped by stop category 0, and the safety of the operator OP will be ensured.

[0050] Furthermore, when calculating interference between the robot 10 and the outer surface or limiting area of ​​the operating region, as shown in Figure 12, a robot model 101M (see Figure 2) that covers the robot 10 may be used to calculate whether interference occurs between the robot model 101M and the outer surface or limiting area of ​​the operating region. Figure 12 shows a situation in which interference between the robot model 101M set on the robot 10 and the outer surface of the operating region R101 (the robot model 101M deviates from the operating region R101) is detected. In this way, by using the robot model 101M to detect interference, the computational load can be reduced.

[0051] Second Embodiment The robot control device 20A according to the second embodiment will now be described. The robot control device 20A according to the second embodiment is configured to detect which of the surfaces constituting the outer surface of the operating area or restricted area the robot 10 interferes with, and to set a stop category according to the surface with which interference occurred.

[0052] Figure 13 is a functional block diagram of the robot control device 20A according to the second embodiment. In the functional block diagram of Figure 13, the same reference numerals are used for functional blocks that are the same as those for the robot control device 20 according to the first embodiment shown in Figure 4. As shown in Figure 13, the robot control device 20A includes an motion control unit 201, a region setting unit 202, a stop method setting unit 203A, a position calculation unit 204, an interference detection unit 205, an interference surface detection unit 209, and a stop unit 207A.

[0053] The stop method setting unit 203A can provide a function for setting a stop category for each surface of the outer surface of the operating area or restricted area. The interference surface detection unit 209 functions as an operating state detection unit that detects the operating state of the robot 10 when interference is detected by the interference detection unit 205. When interference between the robot 10 and the outer surface of the operating area or restricted area is detected, the interference surface detection unit 209 detects which surface of the outer surface of the operating area or restricted area the robot 10 has interfered with.

[0054] The stopping unit 207A stops the robot 10 according to the stopping category set for the surface detected by the interference surface detection unit 209.

[0055] When configuring the system to set a stop category for each face of a designated area, identification information may be assigned to each face as shown in Figures 14 and 15. Figure 14 shows an example where a rectangular operating area R1 is set, and identification numbers 1 to 6 are assigned to the front, right side, back, left side, bottom, and top faces, respectively. In Figure 14, identification numbers 1 to 6 are shown as numbers with circles around them.

[0056] Figure 15 shows a configuration in which an octagonal prism-shaped operating area R2 is set around the robot, with identification numbers 1 through 8 assigned to the eight sides, and identification numbers 9 and 10 assigned to the top and bottom surfaces, respectively. In Figure 15, identification numbers 1 through 10 are shown as numbers with circles around them. The interference surface detection unit 209 and the stopping unit 207A can identify each surface on the outer surface of the designated area via these identification numbers. By configuring the system to assign identification information to each surface on the outer surface constituting the designated area and to identify each surface in this way, it is possible to efficiently specify the stopping category for each surface, even when the designated area is set as a polyhedron.

[0057] Figure 16A shows a rectangular operating region R101, with the lower side of the figure considered the front, and identification numbers 1 through 4 assigned to the front, right side, back, and left side of the operating region R101, respectively. In Figure 16A (and similarly in other similar figures), the identification numbers are shown as numbers enclosed in circles. In this example, it is assumed that stop category 0 is set on the side with identification number 2 (right side), and stop category 1 is set on the other sides.

[0058] Figure 16A illustrates a situation where robot 10 deviates from the operating area R101 while interfering with the side with identification number 2 (right side). In this case, robot 10 stops in stop category 0, which is assigned to the side with identification number 2 (right side). In this case, since robot 10 deviates from the operating area R101 by moving toward operator OP, the safety of operator OP is reliably ensured.

[0059] Figure 16B illustrates a situation where robot 10 deviates from the operating area R101 while interfering with the side with identification number 4 (left side). In this case, robot 10 stops in stop category 1, which is assigned to the side with identification number 4 (left side). In this case, since robot 10 deviates from the operating area R101 by moving away from operator OP, the safety of operator OP is maintained while avoiding putting a load on robot 10.

[0060] Figures 17A and 17B show an example of operation when assigning identification numbers to each face that constitutes the outer surface of the restricted area. Here, for restricted areas R102 and R103, with the lower side in the figure being the front, identification numbers 1 to 4 are assigned to the front, right side, back, and left side, respectively. In this case, it is assumed that the face with identification number 4 (left side) is set to stop category 0, and the other faces are set to stop category 1.

[0061] Figure 17A shows a situation where robot 10 enters restricted area R102 by interfering with the side with identification number 4 (left side) of restricted area R102. In this case, robot 10 will stop at stop category 0, which is set for the side with identification number 4 (left side). In the situation shown in Figure 17A, operator OP is on the right side of restricted area R102. Therefore, in a situation like Figure 17A where robot 10 enters restricted area R102 in a way that brings it close to operator OP, robot 10 will stop at stop category 0, ensuring the safety of operator OP.

[0062] Figure 17B illustrates a situation where robot 10 enters restricted area R103 by interfering with the side of restricted area R103 with identification number 2 (right side). In this case, robot 10 is stopped in stop category 1, which is set for the side of restricted area R103 with identification number 2 (right side). In the situation shown in Figure 17B, operator OP is on the right side of restricted area R103. Therefore, in a situation like Figure 17B where robot 10 enters restricted area R103 moving away from operator OP, robot 10 is stopped in stop category 1, thereby preventing load on robot 10 while maintaining the safety of operator OP.

[0063] Figure 18 shows an example of a UI (User Interface) screen for setting a designated area and a stopping method in the second embodiment. These UI screens are provided as functions of the area setting unit 202 and the stopping method setting unit 203A. These UI screens are displayed on the display screen of the display unit 43 of the external input device 40, and operation input to the UI screen may also be received via operation to the operation unit 44. The UI screen 410 shown on the left side of Figure 18 mainly concerns the setting of a designated area. The UI screen 420 shown on the right side of Figure 18 is a setting screen for detailed settings of the stopping method.

[0064] UI screen 410 has specification fields similar to the specification fields 311 to 314 in UI screen 310 shown in Figure 9. UI screen 410 includes a specification field 411 for the stopping method. For example, by selecting this specification field 411, UI screen 420 for setting the details of the stopping method can be called up. As shown in Figure 18, UI screen 420 is configured so that multiple stopping methods can be set depending on the surface the robot interferes with. In UI screen 420, for each stopping method, (1) Stop category (specified field 421) (2) Surfaces that the robot interferes with (specified field 422) You can set this. In this way, by configuring the stopping method to be set on a surface-by-surface basis, the settings can be simplified. Furthermore, since the operator only needs to configure the association between each surface in the designated area and the stopping category, the stopping method can be set in an intuitive and easy-to-understand manner.

[0065] In the UI screen 420 of Figure 18, four stopping methods are configured, and they are set as follows: Stopping method 1: Designated surface 1 (identification number 1), stopping category 0 Stopping method 2: Designated surface 2 (identification number 2), stopping category 0 Stopping method 3: Designated side 3 (identification number 3), do not stop. Stopping method 4: Designated surface 4 (identification number 4), stopping category 1

[0066] Third Embodiment The robot control device 20B according to the third embodiment will now be described. The robot control device 20B according to the third embodiment allows the setting of enabling or disabling the restricted area, and is configured to enable the restricted area when the operator enters the restricted area, and to stop the robot in a stop category corresponding to the direction of movement of the robot 10 within the restricted area at that time.

[0067] The above functions of the robot control device 20B can be realized by placing a sensor to detect when a person enters a restricted area, inputting the signal from the sensor to the robot control device 20B, and performing control to activate the restricted area when entry of a person into the restricted area is detected. Various sensors such as light curtains, safety mats, and area sensors can be used as sensors to detect entry of a person into the restricted area. In addition to sensors, inputs from I / O devices such as a sequencer may also be used as signals via the input / output interface 45.

[0068] Figure 19 is a functional block diagram of the robot control device 20B according to the third embodiment. In Figure 19, the same reference numerals are assigned to the same functional blocks as those in the robot control device 20 according to the first embodiment. As shown in Figure 19, the robot control device 20B includes, as functional blocks related to safety functions, an area setting unit 202B, a stop method setting unit 203, a position calculation unit 204, an interference detection unit 205B, an operation direction detection unit 206, and a stop unit 207. The interference detection unit 205B receives a detection signal from a sensor 80 for detecting when a person enters a restricted area.

[0069] The area setting unit 202B is configured to provide a function for enabling or disabling a designated area, in addition to the function of the area setting unit 202 according to the first embodiment. The interference detection unit 205B enables the restricted area when the sensor 80 detects that a person has entered the restricted area, and notifies the movement direction detection unit 206 if interference between the robot 10 and the restricted area is detected in that situation. On the other hand, if the sensor 80 does not detect that a person has entered the restricted area, the interference detection unit 205B considers the restricted area to be inactive.

[0070] The motion direction detection unit 206 functions as a motion state detection unit that detects the motion state of the robot 10 when interference is detected by the interference detection unit 205B. The motion direction detection unit 206 detects the motion direction of the robot 10 when a person enters the restricted area in a situation where interference between the robot 10 and the restricted area is detected. The stop unit 207 stops the robot 10 with stop control corresponding to the motion direction of the robot 10 when a person enters the restricted area in a situation where interference between the robot 10 and the restricted area is detected.

[0071] A specific example of operation will be explained with reference to Figures 20A to 20C. In Figures 20A to 20C, a restricted area R110 is set on the front side of the robot 10, and the operator OP is in a situation where there is a possibility of entering the restricted area R110. In this example, the world coordinate system C1 set at the base of the robot 10 is used as the reference, and it is assumed that stop category 0 is set for the +X direction of movement, and stop category 1 is set for the -X direction of movement.

[0072] In the state shown in Figure 20A, the operator OP has not entered the restricted area R110, so the restricted area R110 is considered invalid. In this case, the interference detection unit 205B considers the restricted area R110 to be invalid and does not perform an interference detection check between the robot 10 and the restricted area R110. In this example, stop control is not executed when the robot 10 interferes with the restricted area R110, but the safety of the operator OP is maintained, and the load placed on the robot 10 due to stop control is avoided.

[0073] Figure 20B shows the situation when operator OP enters restricted area R110. In this case, sensor 80 detects operator OP's intrusion into restricted area R110, and restricted area R110 is activated. In this situation, when restricted area R110 is activated, robot 10 has entered restricted area R110 and its direction of movement is in the +X direction, so robot 10 is emergency stopped by stop category 0. This ensures the safety of operator OP.

[0074] Figure 20C shows the situation when operator OP has entered the restricted area R110. In this case, sensor 80 detects operator OP's entry into restricted area R110, and restricted area R110 is activated. In this situation, when restricted area R110 is activated, robot 10 has entered restricted area R110 and its direction of movement is in the -X direction, so robot 10 is stopped by stop category 1. In this case, since robot 10 is moving away from operator OP, the safety of operator OP is maintained, and the load on robot 10 is reduced.

[0075] Figure 21 shows an example of a UI screen used in the settings of the third embodiment. The UI screen 300A is provided as a function of the area setting unit 202B and the stop method setting unit 203. The UI screen 300A is displayed on the display screen of the display unit 43 of the external input device 40, and operation input for the UI screen 300A may be received via operation of the operation unit 44. The UI screen 300A used in this embodiment may be implemented by adding a specification field 309 for specifying the enable / disable signal for the specified area to the UI screen 300 of the first embodiment described with reference to Figure 8. The UI screen 300A shows an example in which the signal from the safety mat is specified as the signal to disable the restricted area. Based on the setting in the specification field 309, the interference detection unit 205B can determine when the signal from the sensor 80 should be in a state in which the restricted area should be disabled. In the UI screen 300A, the specification field 305A for specifying the stop method is in a format that specifies the direction of stop category 0.

[0076] In this embodiment, an example of operation in which a restricted area is set as a designated area and stop control is performed by disabling or enabling the restricted area based on a signal from the sensor 80 was described. However, it is also possible to set an operating area as a designated area and use the sensor 80 to detect human intrusion into the operating area, and then disable or enable the operating area based on a signal from the sensor 80 to perform stop control. In this case as well, it is possible to achieve stop control that reduces the burden on the robot while ensuring the safety of the operator, similar to the embodiment described above.

[0077] In this embodiment, an example of operation was described in which the robot is stopped according to the stop category corresponding to the direction of movement of the robot 10 when interference with the outer surface of the operating area or the restricted area is detected, and the area is enabled or disabled. However, in the case of Embodiment 2, when interference between the robot 10 and the outer surface of the operating area or the restricted area is detected, the system detects which surface of the outer surface of the operating area or the restricted area the robot 10 has interfered with, and stops the robot 10 according to the stop category set for the detected surface. In this case as well, it is possible to enable or disable the area and perform stop control by disabling or enabling the operating area based on the signal from the sensor 80.

[0078] As described above, according to each embodiment, when interference with the outer surface or limiting area of ​​the robot's operating area is detected, a suitable stop control can be applied according to the robot's operating state, thereby realizing a stop control that reduces the load on the robot mechanism while ensuring the safety of the operator.

[0079] Although the present invention has been described above using typical embodiments, those skilled in the art will understand that modifications to the above embodiments and various other modifications, omissions, and additions can be made without departing from the scope of the present invention.

[0080] For example, the functional arrangement shown in the functional block diagrams of the robot control device in the above-described embodiment (Figures 4, 13, and 19) is illustrative, and various modifications are possible regarding the arrangement of these functional blocks. For example, there may be a configuration in which at least a portion of the functional blocks related to safety functions located within the robot control device (e.g., area setting unit, stop method setting unit) are located within the teaching control panel as an external input device. In this case, the robot control device can also be defined as the overall function combining the functions of the teaching control panel as an external input device and the functions of the robot control device.

[0081] In detecting interference between a robot and the outer surface or limiting area of ​​the operating region, it goes without saying that if interference is detected between any part of the robot (or the robot model covering the robot) (including any part from the robot's base to the tool part) and the outer surface or limiting area of ​​the operating region, then it is acceptable to say that "interference between the robot and the outer surface or limiting area of ​​the operating region has been detected." Furthermore, in detecting the direction of motion or interference surface when interference between a robot and the outer surface or limiting area of ​​the operating region is detected, it goes without saying that if interference is detected between any part of the robot (or the robot model covering the robot) (including any part from the robot's base to the tool part) and the outer surface or limiting area of ​​the operating region, then it is acceptable to say that "the direction of motion of the robot and the interference surface that interfered with the robot have been detected."

[0082] The functional blocks of the robot control device shown in Figures 4, 13, and 19 may be implemented by the robot control device's processor executing various software stored in a memory device, or they may be implemented by a hardware-based configuration such as an ASIC (Application Specific Integrated Circuit).

[0083] The program that performs various processes, such as the procedure for determining the stop category in the above-described embodiment, can be recorded on various computer-readable recording media (for example, semiconductor memory such as ROM, EEPROM, and flash memory, magnetic recording media, optical discs such as CD-ROM and DVD-ROM). [Explanation of symbols]

[0084] 10 Robots 11 Position Sensor 20, 20A, 20B Robot Control Devices 21 processors 22 memory 23 Input / Output Interfaces 24 Control section 40 External input device 41 processors 42 memory 43 Display section 44 Control section 45 Input / Output Interfaces 100 Robot Systems 101M Robot Model 201 Operation Control Unit 202, 202B area setting section 203, 203A, 203B Stop method setting section 204 Position calculation section 205, 205B Interference detection unit 206 Operation direction detection unit 207, 207A Stop part 208 Operating Program 209 Interference surface detection unit 310A, 320, 320A, 410, 420 UI screen

Claims

1. A robot control device for controlling a robot, A region setting unit for setting an operating area in which the robot can operate, or a restricted area in which the robot cannot enter, A position calculation unit that calculates the position of the robot, An interference detection unit that detects interference between the robot and the outer surface of the operating area or the limiting area based on the calculated position of the robot, An operating state detection unit for detecting the operating state of the robot when the interference is detected, A stopping unit that stops the robot by stop control according to the detected operating state, A robot control device equipped with the following features.

2. The robot further comprises a stop method setting unit for setting stop control according to the operating state of the robot, The robot control device according to claim 1, wherein the stopping unit stops the robot by stop control according to the operating state, which is set in the stopping method setting unit.

3. The aforementioned operating state detection unit includes an operating direction detection unit that detects the operating direction of the robot when the interference is detected, The robot control device according to claim 2, wherein the stopping unit stops the robot by stopping control corresponding to the direction of movement of the robot when the interference is detected.

4. The robot control device according to claim 3, wherein the stop method setting unit is configured to set different stop controls for each direction of the robot's movement.

5. A robot control device for controlling a robot, A region setting unit for setting an operating area in which the robot can operate, or a restricted area in which the robot cannot enter, A position calculation unit that calculates the position of the robot, An interference detection unit that detects interference between the robot and the outer surface of the operating area or the limiting area based on the calculated position of the robot, An operating state detection unit for detecting the operating state of the robot when the interference is detected, A stopping unit that stops the robot by stop control according to the detected operating state, The robot comprises a stop method setting unit for setting stop control according to the operating state of the robot, The stopping unit stops the robot according to the stopping control set in the stopping method setting unit, which is based on the operating state. The aforementioned operating state detection unit includes an operating direction detection unit that detects the operating direction of the robot when the interference is detected, The stopping unit stops the robot by stopping control according to the direction of the robot's movement when the interference is detected. The robot control device is configured such that the stop method setting unit can set a coordinate system that serves as a reference when detecting the robot's direction of motion in the direction of motion detection unit.

6. The operation state detection unit includes an interference surface detection unit that, when interference is detected, detects which of the multiple surfaces constituting the outer surface of the operation area or the outer surface of the restriction area the robot has interfered with. The robot control device according to claim 2, wherein the stopping unit stops the robot with stopping control corresponding to the surface on which the robot interfered among the plurality of surfaces when the interference is detected.

7. A robot control device for controlling a robot, A region setting unit for setting an operating area in which the robot can operate, or a restricted area in which the robot cannot enter, A position calculation unit that calculates the position of the robot, An interference detection unit that detects interference between the robot and the outer surface of the operating area or the limiting area based on the calculated position of the robot, An operating state detection unit for detecting the operating state of the robot when the interference is detected, A stopping unit that stops the robot by stop control according to the detected operating state, The robot comprises a stop method setting unit for setting stop control according to the operating state of the robot, The stopping unit stops the robot according to the stopping control set in the stopping method setting unit, which is based on the operating state. The operation state detection unit includes an interference surface detection unit that, when interference is detected, detects which of the multiple surfaces constituting the outer surface of the operation area or the outer surface of the restriction area the robot has interfered with. When the interference is detected, the stopping unit stops the robot with stopping control corresponding to the surface on which the robot interfered among the plurality of surfaces. The robot control device is configured such that the stop method setting unit can set different stop controls for each surface constituting the outer surface of the operating area or the outer surface of the limiting area.

8. The area setting unit is configured to be able to specify a signal for switching the operation area or the restriction area to enable or disable, The interference detection unit is configured to detect interference when the operating area or the limiting area is effective based on the signal. The robot control device according to claim 1, wherein the stopping unit stops the robot by stopping control according to the operating state of the robot when the interference is detected, when the operating area or the limiting area is effective based on the signal.

9. The robot control device according to claim 8, wherein the area setting unit is configured to be able to specify a detection signal from a sensor for detecting when a person enters the operating area or the restricted area as a signal for switching the operating area or the restricted area to be enabled or disabled.

10. The robot control device according to any one of claims 2 to 7, wherein the stop method setting unit is configured to accept a stop control setting according to the operating state of the robot via a user interface screen.

11. The robot control device according to any one of claims 1 to 9, wherein the area setting unit is configured to accept settings relating to the operating area or the restricted area via a user interface screen.