Robot control device, control method, and computer program

The robot control device addresses the issue of robots entering restricted areas by employing a direction acquisition unit to execute customized stopping operations, ensuring safety and efficiency through tailored stop schemes.

JP7879384B2Active Publication Date: 2026-06-23FANUC LTD

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
FANUC LTD
Filing Date
2024-07-03
Publication Date
2026-06-23

AI Technical Summary

Technical Problem

Robots may inadvertently enter restricted areas during operation, necessitating improved safety measures without compromising work efficiency.

Method used

A robot control device that includes a direction acquisition unit to determine the movement direction of the robot upon entering a restricted area and executes a specific stopping operation based on predefined schemes, such as immediate emergency stop, gradual deceleration, or conditional stop, to ensure safety and efficiency.

Benefits of technology

Enhances safety by preventing collisions with environmental objects while maintaining operational efficiency by allowing tailored stop operations based on the robot's movement direction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007879384000001
    Figure 0007879384000001
  • Figure 0007879384000002
    Figure 0007879384000002
  • Figure 0007879384000003
    Figure 0007879384000003
Patent Text Reader

Abstract

Robots at work sometimes erroneously enter restricted areas. In such cases, it is necessary to improve work efficiency while ensuring work safety. A control device 50 of a robot 12 in which a plurality of stop schemes, each prescribing a stop operation of the robot 12, is predetermined includes: a direction acquisition unit 66 that acquires a movement direction MD of the robot 12 that has entered a restricted area 104, 104A, 104B, 104C where the operation of the robot 12 is restricted; and a stop operation execution unit 68 that executes a stop operation in accordance with a stop scheme that is different according to the movement direction MD acquired by the direction acquisition unit 66.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure relates to a robot control device, a control method, and a computer program. [Background technology]

[0002] It is known to set restricted areas to limit the movement of robots for safety reasons during work (for example, Patent Document 1). [Prior art documents] [Patent Documents]

[0003] [Patent Document 1] Japanese Patent Publication No. 2015-47649 [Overview of the Initiative] [Problems that the invention aims to solve]

[0004] There are instances where a robot in operation may enter a restricted area. In such cases, it is necessary to improve work efficiency while ensuring safety during the operation. [Means for solving the problem]

[0005] In one embodiment of the present disclosure, a robot control device, which has a plurality of predetermined stopping schemes each defining a stopping operation for the robot, includes a direction acquisition unit that acquires the direction of movement of the robot when it enters a restricted area that restricts the movement of the robot, and a stopping operation execution unit that executes a stopping operation according to a different stopping scheme according to the direction of movement acquired by the direction acquisition unit.

[0006] In another embodiment of the present disclosure, a robot control method in which a plurality of stop schemes, each defining a stopping operation for the robot, are predetermined, acquires the direction of movement of the robot when it enters a restricted area that restricts the robot's movement, and executes a stopping operation according to a different stop scheme depending on the acquired direction of movement. [Brief explanation of the drawing]

[0007] [Figure 1] This is a schematic diagram of a robot system according to one embodiment. [Figure 2] Figure 1 is a block diagram of the robot system shown. [Figure 3] An example of the operating area is shown. [Figure 4] Here are some other examples of operating regions. [Figure 5] This indicates that the robot has entered a restricted area. [Figure 6] Figure 1 is a flowchart showing an example of the operation flow of a robot system. [Figure 7] This is a flowchart showing an example of the flow of step S7 in Figure 6. [Figure 8] This flowchart shows another example of the flow in step S7 in Figure 6. [Figure 9] Figure 1 is a block diagram showing other functions of the robot system. [Figure 10] This diagram illustrates one example of how to set an acceptable distance. [Figure 11] This flowchart shows yet another example of the flow of step S7 in Figure 6. [Figure 12] This is a diagram illustrating another example of how to set an acceptable distance. [Figure 13] Figure 1 is a block diagram showing other functions of the robot system. [Figure 14] Here are yet another example of the operating region. [Figure 15] Here are yet another example of the operating region. [Figure 16] This diagram illustrates the priority order when a stopping scheme is set for each direction. [Figure 17] This diagram illustrates the priority order when a stopping scheme is set for each direction. [Figure 18] Figure 1 is a block diagram showing other functions of the robot system. [Figure 19]An example of image data for setting a stopping scheme for each direction of movement is shown. [Figure 20] An example of image data displaying identification information for a currently running termination scheme is shown. [Modes for carrying out the invention]

[0008] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In the various embodiments described below, similar elements will be denoted by the same reference numerals, and redundant descriptions will be omitted. First, a robot system 10 according to one embodiment will be described with reference to Figures 1 and 2. The robot system 10 comprises a robot 12 and a control device 50.

[0009] In this embodiment, the robot 12 is a vertical articulated robot having a robot base 14, a swivel torso 16, a forearm 18, an upper arm 20, a wrist 22, and an end effector 24. The robot base 14 is fixed to the floor of the work cell. The swivel torso 16 is mounted on the robot base 14 so as to be rotatable around a vertical axis. The forearm 18 is mounted on the swivel torso 16 so as to be rotatable at its base end around a horizontal axis. The upper arm 20 is mounted so as to be rotatable at the tip of the forearm 18.

[0010] The wrist portion 22 is provided such that its base end can rotate to the tip of the upper arm portion 20. The end effector 24 is detachably attached to the tip of the wrist portion 22. The end effector 24 is, for example, a robot hand, a cutting tool, a welding torch, or a paint applicator, and performs a predetermined operation (work handling, cutting, welding, or coating, etc.) on a workpiece W (not shown).

[0011] Multiple servo motors 26 (Figure 2) are provided on each of the robot base 14, rotating torso 16, forearm 18, upper arm 20, and wrist 22. These servo motors 26 rotate the rotating torso 16, forearm 18, upper arm 20, wrist 22, and end effector 24 of the robot 12 around their respective drive axes in response to commands from the control device 50, thereby moving the end effector 24 to any desired position.

[0012] Each servo motor 26 is equipped with a rotation sensor 28 (Figure 2). Each rotation sensor 28 has, for example, an encoder or a Hall element and detects the rotation (rotation position, rotation angle) of the output shaft of the servo motor 26. The rotation sensor 28 supplies the detected rotation data to the control device 50 as feedback FB.

[0013] The control device 50 controls the operation of the robot 12. As shown in Figure 2, the control device 50 is a computer having a processor 52, memory 54, I / O interface 56, input device 58, display device 60, and power supply 62. The processor 52 has a CPU or GPU, and is communicatively connected to the memory 54, I / O interface 56, input device 58, display device 60, and power supply 62 via a bus 64. While communicating with these components, it performs calculation processing to execute the stop scheme described later.

[0014] Memory 54 has RAM or ROM, and temporarily or permanently stores various data used in the arithmetic processing performed by the processor 52, as well as various data generated during the arithmetic processing. Memory 54 may consist of a computer-readable non-temporary storage medium such as volatile memory, non-volatile memory, magnetic storage medium, or optical storage medium.

[0015] The I / O interface 56 has, for example, an Ethernet® port, a USB port, an optical fiber connector, or an HDMI® terminal, and communicates data with external devices via wired or wireless connection under the command of the processor 52. In this embodiment, the servo motor 26 and the rotation sensor 28 are communicated to the I / O interface 56.

[0016] The input device 58 has buttons, switches, a keyboard, a mouse, or a touch panel, and accepts data input from the operator. The display device 60 has a liquid crystal display or an organic EL display, and displays various data in a visible manner. The input device 58 and the display device 60 may be integrated into the housing of the control device 50, or they may be provided separately from the housing of the control device 50 (for example, as a PC) and connected to the I / O interface 56 by wire or wireless.

[0017] As shown in Figure 1, the robot 12 is configured with a robot coordinate system C1 and a tool coordinate system C2. The robot coordinate system C1 is a coordinate system C for automatically controlling each movable component of the robot 12 (rotating torso 16, forearm 18, upper arm 20, wrist 22, and end effector 24). In this embodiment, the robot coordinate system C1 is fixed to the robot base 14 such that its origin is located at the center of the robot base 14 and its z-axis coincides with the rotation axis (i.e., the vertical axis) of the rotating torso 16.

[0018] The tool coordinate system C2 is a coordinate system C that defines the position of the end effector 24 in the robot coordinate system C1, and is fixedly set relative to the end effector 24. In this embodiment, the tool coordinate system C2 is fixedly set relative to the end effector 24 such that its origin is located at the working position of the end effector 24 (e.g., workpiece gripping position, tool tip point, welding position, paint nozzle, etc.). Alternatively, the origin of the tool coordinate system C2 may be located at the center of the tip surface of the wrist portion 22 (a so-called mechanical interface coordinate system).

[0019] When positioning the end effector 24 to a predetermined target position (e.g., a teaching point), the processor 52 sets a tool coordinate system C2 that represents the target position in the robot coordinate system C1, generates a command to position the end effector 24 at the position represented by the set tool coordinate system C2, and drives each servo motor 26. In this way, the processor 52 can position the end effector 24 at any target position in the robot coordinate system C1 through the movement of the robot 12.

[0020] To ensure safety during operation, a working area 100 is defined for the robot 12. The working area 100 will be described below with reference to Figures 3 and 4. Figure 3 shows a movable area 100A as an example of the working area 100. The movable area 100A defines an area 102 within which the robot 12 can move the end effector 24. On the other hand, the area outside the movable area 100A becomes a restricted area 104 that restricts (for example, prohibits) the movement of the robot 12.

[0021] Figure 4 shows a restricted area 100B as another example of the operating area 100. Inside the restricted area 100B is a restricted area 104 that limits the movement of the robot 12. Outside the restricted area 100B is a region 102 in which the robot 12 can move the end effector 24. The movable area 100A and the restricted area 100B are expressed as coordinates in the robot coordinate system C1.

[0022] The operating area 100, which includes the movable area 100A and the restricted area 100B, is set in the robot coordinate system C1, for example, to avoid collisions between the robot 12 and the surrounding environment objects 106. The environment objects 106 include, for example, workers 108 and structures 110 (equipment, buildings, etc.) present in the work cell. movable Area 100A, restricted area 100B, etc. may be predetermined by the operator.

[0023] The processor 52 switches the setting of the operating area 100 between enabled and disabled in response to a predetermined signal S. For example, in the example shown in Figures 3 and 4, a safety mat 112 and a safety switch 114 are provided in the restricted area 104. The safety mat 112 has a weight sensor or the like and detects the presence of a worker 108 by detecting the weight of the worker 108 standing on it. When a worker 108 is detected, the safety mat 112 supplies a safety signal Ss to the control device 50.

[0024] Furthermore, when worker 108 operates the safety switch 114 to the ON position, the safety switch 114 supplies a safety signal Ss to the control device 50. Upon receiving the safety signal Ss, the processor 52 activates the setting of either the movable area 100A or the restricted area 100B as the operating area 100. As a result, the movable area 100A or the restricted area 100B is set in the robot coordinate system C1. The safety signal Ss may be an ON signal, a "1" signal, or any other type of signal.

[0025] Conversely, when worker 108 leaves the safety mat 112 and the weight detected by the safety mat 112 falls below a threshold, the safety mat 112 supplies an invalid signal Si to the control device 50. Also, when worker 108 operates the safety switch 114 to OFF, the safety switch 114 supplies an invalid signal Si to the control device 50. When the processor 52 receives the invalid signal Si, it invalidates the setting of the movable area 100A or the prohibited area 100B. As a result, the restricted area 104 disappears from the robot coordinate system C1. The invalid signal Si may be an OFF signal, a "0" signal, or any other type of signal.

[0026] Here, when the operating area 100 is enabled, the robot 12 may enter the restricted area 104 due to some factor. For example, at the moment the processor 52 enables the operating area 100 in response to the safety signal Ss, the end effector 24 of the robot 12 may be within the restricted area 104. Alternatively, while the robot 12 is performing a predetermined task, the movement trajectory of the end effector 24 may deviate from the control target movement trajectory and enter the restricted area 104. Figure 5 shows the state in which the end effector 24 of the robot 12 (i.e., tool coordinate system C2) has entered the restricted area 104.

[0027] In this embodiment, when the robot 12 enters the restricted area 104 in this manner, the processor 52 executes a stop operation SO according to a different stop scheme SC depending on the direction of movement MD of the robot 12. The operation of the robot system 10 will be described below with reference to Figure 6. Hereinafter, in this embodiment, the stop operation SO of the robot 12 i Multiple stopping schemes SC each defined i The values ​​are predetermined (i=1,2,3,...).

[0028] For example, the first stop scheme SC1 defines a first stop operation SO1 that immediately and urgently stops the operation of the robot 12. In this first stop operation SO1, the processor 52 urgently stops the robot 12 by, for example, cutting off the power supply to each servo motor 26 provided on the robot 12. Specifically, the processor 52 cuts off the power supply by cutting off the connection between the drive power supply 62 and each servo motor 26.

[0029] To cut off the power supply to each servo motor 26, the processor 52 may, for example, cut off the power supply to each servo motor 26 by opening an electromagnetic switch, or it may perform the "Safe Torque Off (STO) function" specified in IEC61800-5-2. The first stop scheme SC1 may also correspond to "Stop Category 0" as specified in standards such as IEC60204-1 and ISO13850.

[0030] Alternatively, each servo motor 26 may be provided with a brake mechanism BR (not shown) that brakes the drive shaft of the servo motor 26. The processor 52 may then brake each servo motor 26 by activating each brake mechanism BR during the first stop operation SO1, thereby causing the robot 12 to be brought to an emergency stop. Alternatively, the processor 52 may also bring the robot 12 to an emergency stop by cutting off the power supply to each servo motor 26 and activating each brake mechanism BR during the first stop operation SO1.

[0031] On the other hand, the second stopping scheme SC2 defines a second stopping operation SO2 that slows down and stops the robot 12. In this second stopping operation SO2, the processor 52 controls each servo motor 26 according to the deceleration command CM1, gradually reducing the rotation of the servo motors 26, thereby slowing down the movement of the robot 12. In this second stopping operation SO2, the robot 12 will stop after moving a predetermined deceleration distance. The processor 52 may also cut off the power supply to each servo motor 26 after slowing down the robot 12.

[0032] Furthermore, the third stop scheme SC3 defines a third stop operation SO3 that stops the robot 12 after allowing it to move under a predetermined movement permission condition CD. For example, the movement permission condition CD includes a condition that allows the robot 12 to move until a predetermined instruction code IC1 (e.g., an instruction code for positioning to the next teaching point or the last teaching point) in the currently executing work program PG1 is executed.

[0033] In this case, the processor 52 continues the operation of the robot 12 until it reads and executes the instruction code IC1 of the working program PG1 being executed in the third stop operation SO3, and then stops the operation of the robot 12. Note that the movement permission condition CD may include the condition that the movement of the robot 12 is permitted until the elapsed time from the current time reaches a predetermined time, until the drive power supply 62 (or the power supply of the control device 50) is turned off, or until the working program PG1 being executed is stopped or terminated (that is, until the instruction code IC2: "END" for terminating the working program PG1 is read). That is, the third stop operation SO3 may include not substantially stopping the operation of the robot 12.

[0034] As described above, the stop scheme SC i (i = 1, 2, 3) respectively defines different stop operations SO i . The stop scheme SC i may be predetermined by an operator (for example, the manufacturer or integrator of the control device 50). Note that the stop scheme SC i may be realized by an algorithm AL i (or a computer program) specific to each. When the processor 52 executes the stop operation SO i according to the stop scheme SC i , it reads and executes the algorithm AL i for the stop scheme SC i from the memory 54 to execute the stop operation SO i .

[0035] The flow shown in Figure 6 begins when the processor 52 receives a work start command from an operator, a higher-level controller (not shown), or a computer program PG2. In step S1, the processor 52 starts the work performed by the robot 12. Specifically, the processor 52 sequentially reads and executes the instruction code ICs specified in the work program PG1, which is pre-stored in the memory 54, and causes the robot 12 to perform the operations for the work specified in each instruction code IC of the work program PG1. As a result, the robot 12 performs a predetermined operation on the workpiece W according to the work program PG1.

[0036] After the start of step S1, the processor 52 determines the position P of the robot 12. n This is repeatedly acquired. Specifically, the processor 52, based on the feedback FB from the rotation sensor 28, determines the position P in the robot coordinate system C1 of the origin of the tool coordinate system C2. n Obtain this position P. n This indicates the current position of the end effector 24 in the robot coordinate system C1 and is expressed as coordinates (x, y, z) in the robot coordinate system C1. The processor 52, for example, controls the position P at a predetermined control period τ (e.g., τ = 50 [msec]). n Retrieve repeatedly.

[0037] In step S2, the processor 52 determines whether or not to set the operating area 100. For example, when the processor 52 receives a safety signal Ss from the safety mat 112 or safety switch 114, it determines to set the operating area 100 (i.e., YES). If the processor 52 determines it is YES, it proceeds to step S3; if it determines it is NO, it proceeds to step S4.

[0038] In step S3, the processor 52 sets the operating area 100. Specifically, as described above, the processor 52 enables the setting of either the movable area 100A or the restricted area 100B. As a result, the movable area 100A or the restricted area 100B is set in the robot coordinate system C1. In the flow of Figure 6, as will be described later, the processor 52 repeatedly executes the loop of steps S2 to S5 while determining NO in steps S4 and S5.

[0039] In this case, if step S2 is executed after setting the operating area 100 in step S3, the processor 52 may determine whether or not it has received an invalid signal Si. If the processor 52 has received an invalid signal Si, it may determine NO and disable the operating area 100 that was set in the previous step S3.

[0040] In step S4, the processor 52 determines whether the robot 12 has entered the restricted area 104. For example, the processor 52 determines the most recently acquired position P of the robot 12. n However, it is determined whether or not the robot is within the restricted area 104 in the robot coordinate system C1. The processor 52 determines the position P n If it is within the restricted area 104, the result is determined to be YES.

[0041] As another example, an end effector model 24M may be predetermined for the end effector 24. This end effector model 24M may be set up to encompass the area occupied by the end effector 24 as a simplified model representing the general shape of the end effector 24. Each model component (face, edge, vertex, etc.) of this end effector model 24M can be represented as coordinates in the tool coordinate system C2.

[0042] Processor 52 retrieves the most recently acquired position P nBased on this, the end effector model 24M is simulated and placed in the robot coordinate system C1. The processor 52 may then determine YES if at least a portion of the area occupied by the end effector model 24M is within the restricted area 104. In addition to the end effector model 24M, models of other parts of the robot 12 (for example, the forearm model 18M, the upper arm model 20M, or the wrist model 22M) may be defined. If the processor 52 determines YES, it proceeds to step S6; if it determines NO, it proceeds to step S5.

[0043] In step S5, the processor 52 determines whether the task is complete. Specifically, it determines YES if the task program PG1 started in step S1 has finished (or if it reads the instruction code IC2: "END" to terminate the task program PG1). If the processor 52 determines YES, it terminates the flow in Figure 6, while if it determines NO, it returns to step S2. In this way, while the processor 52 determines NO in steps S4 and S5, it repeatedly executes the loop of steps S2 to S5 for, for example, a control period τ.

[0044] On the other hand, if the result in step S4 is YES, in step S6, the processor 52 obtains the movement direction MD of the robot 12 (specifically, the end effector 24). Specifically, the processor 52 obtains the position P of the robot 12 (end effector 24) moving within the restricted area 104. n Based on this, obtain the movement direction MD.

[0045] As an example, the processor 52 has acquired multiple positions P up to this point. n , P n-1 , P n-2 Movement trajectory defined by MP n Obtain the acquired movement trajectory MP n Based on this, the direction of movement MD is obtained. For example, processor 52 obtains the direction of movement MD at the most recent time t n The position P obtained n And, at that time tn Time point t is one control period τ earlier than time point t n-1 (=t n Position P obtained at -τ) n-1 Using and, position P n-1 From position P n Movement trajectory to MP n The vector can also be determined as the direction of movement MD.

[0046] Alternatively, at time t n-2 (=t n Position P obtained at -2τ) n-2 From position P n-1 Movement trajectory to MP n-1 The vector and the above movement trajectory MP n The sum with the vector may be calculated as the direction of movement MD. That is, the processor 52 calculates the sum of multiple positions P acquired in the past. n , P n-1 , P n-2 ...Multiple movement trajectories MP obtained from... n MP n-1 MP n-2 ... vector sum Σ(MP n ) may be determined as the direction of movement MD. In this way, the processor 52 determines the movement trajectory MP n Based on this, the movement direction MD can be obtained.

[0047] As another example, the processor 52 may obtain the direction of movement MD from the currently executing work program PG1. For example, the work program PG1 includes an instruction code IC that defines teaching points where the end effector 24 (specifically, the origin of the tool coordinate system C2) should be positioned. These teaching points are expressed as coordinates in the robot coordinate system C1. The processor 52 obtains the position data of the two teaching points defined in the most recently executed instruction code IC and determines the target movement trajectory defined by these two teaching points. The processor 52 then obtains the vector of the determined target movement trajectory as the direction of movement MD.

[0048] As yet another example, processor 52 will determine a future time t n+1 Predicted destination P of robot 12n+1 We estimate the predicted arrival position P. n+1 Based on this, the direction of movement MD may be obtained. Specifically, the processor 52 obtains multiple positions P in the past. n , P n-1 , P n-2 ...Multiple movement trajectories MP n MP n-1 MP n-2 ...to find these movement trajectories MP n MP n-1 MP n-2 By performing a predetermined calculation using ..., the expected destination position P n+1 To estimate the most recently acquired position P. n For position P n-α The trajectory MP, which summarizes the positions up to (α is any integer). n-α The nearest location Q α Calculate position Q α From position P n By weighting the vectors up to a certain point with respect to a numerical value α and taking their sum, we can obtain the position P. n Predicted arrival position P n+1 It may also be estimated that the most recently acquired position P n From this, the estimated predicted arrival position P n+1 Predicted movement trajectory MP n+1 The vector may be obtained as the direction of movement (MD).

[0049] Alternatively, processor 52 will determine the expected location P from the running work program PG1. n+1 It is also possible to estimate a time t that is further ahead than the present time. For example, processor 52 estimates a time t that is further ahead than the present time. n+1 The system obtains the position data of the teaching point specified in the instruction code IC to be executed, and sets the position of the teaching point to the expected destination position P. n+1 It may be assumed that this is the case.

[0050] Then, the processor 52 uses the most recently acquired position P n Alternatively, the estimated expected destination P is determined from the location of the teaching point specified in the most recently executed instruction code IC. n+1The vector of the movement trajectory up to the point may be obtained as the movement direction MD. In this way, the processor 52 determines the expected destination position P n+1 Based on this, the direction of movement MD can be obtained. In this way, the processor 52 obtains the direction of movement MD of the robot 12 that has entered the restricted area 104. Therefore, the processor 52 functions as a direction acquisition unit 66 (Figure 2) that acquires the direction of movement MD.

[0051] In step S7, the processor 52 executes a stop operation process. Step S7 will be explained with reference to Figure 7. After the start of step S7, in step S11, the processor 52 determines whether the direction of movement MD obtained in the most recent step S6 is toward the environmental object 106. Here, in this embodiment, the position Ps of the environmental object 106 (i.e., the worker 108 and the structure 110) in the robot coordinate system C1 is predetermined. Hereinafter, the position Ps of the environmental object 106 is determined by the position P of the robot 12 obtained most recently. n Next, we will explain the case where the object is located at a position away from the robot coordinate system C1 in the positive x-axis direction.

[0052] As an example, the processor 52 calculates the component MDx of the most recently acquired movement direction MD that is toward the environmental object 106 (in this embodiment, the positive x-axis direction of the robot coordinate system C1). The processor 52 may determine YES if the movement direction MD includes the component MDx, or if the magnitude of the component MDx exceeds a predetermined threshold.

[0053] As another example, the processor 52 receives the most recently acquired position P of the robot 12. n The vector of the direction of movement MD starting from point P, and the position P n A virtual line VL from the position Ps of the environmental object 106 is defined in the robot coordinate system C1. Then, the processor 52 finds the angle θ between the vector of the movement direction MD and the virtual line VL, and the angle θ is a predetermined threshold θ. th (For example, θ th You may determine the answer to YES if the value is less than or equal to 60°.

[0054] Thus, the processor 52 determines whether the direction of movement MD is toward the environmental object 106 (in this embodiment, the positive x-axis direction of the robot coordinate system C1). If the processor 52 determines that the direction of movement MD is toward the environmental object 106 (i.e., YES), it proceeds to step S12. On the other hand, if the processor 52 determines that the direction of movement MD is toward the environmental object 106 (i.e., NO), it proceeds to step S13.

[0055] In step S12, the processor 52 executes a first stop operation SO1 according to the first stop scheme SC1. Specifically, the processor 52 terminates the running work program PG1 and, as described above, as the first stop operation SO1, it cuts off the power supply to each servo motor 26 or activates the brake mechanism BR to emergency stop the operation of the robot 12. This allows the robot 12 to be stopped immediately. After the completion of step S12, the processor 52 terminates the flow of step S7, and thus the flow in Figure 6 ends.

[0056] If NO is determined in step S11, in step S13 the processor 52 determines whether the second stop scheme SC2 is set. In this embodiment, the operator determines the stop scheme SC2 to be executed when NO is determined in step S11. i The system can then set either a second stop scheme SC2 or a third stop scheme SC3. If the second stop scheme SC2 is set, the processor 52 determines YES and proceeds to step S14, while if the third stop scheme SC3 is set, it determines NO and proceeds to step S15.

[0057] In step S14, the processor 52 executes a second stop operation SO2 according to the second stop scheme SC2. Specifically, the processor 52 terminates the currently running work program PG1 and, as described above, controls each servo motor 26 according to the deceleration command CM1 as the second stop operation SO2 to decelerate the robot 12. As a result, the robot 12 moves a predetermined deceleration distance and then stops.

[0058] At this time, the processor 52 may decelerate the robot 12 along the target movement trajectory (i.e., teaching point) defined in the work program PG1, or it may decelerate the robot 12 in a predetermined direction Dd. This direction Dd is the movement trajectory MP acquired in step S6. n The direction may be the direction shown, or it may be a predetermined direction (for example, the negative x-axis direction, y-axis direction, or z-axis direction of the robot coordinate system C1). After step S14 is completed, the processor 52 terminates the flow of step S7, and thus terminates the flow in Figure 6.

[0059] If NO is determined in step S13, in step S15, the processor 52 executes a third stop operation SO3 according to the third stop scheme SC3. Specifically, as described above, the processor 52, as the third stop operation SO3, permits the movement of the robot 12 under the movement permission condition CD, and then stops the robot 12.

[0060] For example, the processor 52 continues to execute the work program PG1, which was started in step S1, until it reads and executes a predetermined instruction code IC1 defined therein, or until it terminates the work program PG1, and then stops the robot 12. After the completion of step S15, the processor 52 terminates the flow of step S7, and thus terminates the flow in Figure 6.

[0061] Furthermore, while the robot 12 continues to operate in step S15, the processor 52 may repeatedly execute steps S6 and S11 described above. If it determines YES in step S11, which is executed at this time, the processor 52 may proceed to step S12. In this case, if the robot 12 moves toward the environmental object 106 while it continues to operate in step S15, the processor 52 will emergency stop the robot 12.

[0062] Furthermore, while the robot 12 continues to operate in step S15, the processor 52 may repeatedly execute step S4 described above. If it determines NO in step S4 executed at this time, the processor 52 may proceed to step S5. In other words, in this case, if the robot 12 exits the restricted area 104 while the processor 52 continues to operate in step S15, the processor 52 returns to the loop of steps S2 to S5 and continues the operation.

[0063] Thus, in this embodiment, the processor 52 executes different stopping operations SO1, SO2, or SO3 according to different stopping schemes SC1, SC2, or SC3 depending on the direction of movement MD acquired in step S6. Therefore, the processor 52 functions as a stopping operation execution unit 68 (Figure 2).

[0064] As described above, in the control device 50 according to this embodiment, the direction acquisition unit 66 acquires the movement direction MD of the robot 12 that has entered the restricted area 104 (step S6). Then, the stop operation execution unit 68 executes a different stop scheme SC according to the movement direction MD acquired by the direction acquisition unit 66. i (In this embodiment, the stop operation SO is performed according to i=1,2,3) i Execute this.

[0065] In this configuration, when the robot 12 enters the restricted area 104, the operator can, taking into consideration the safety of the operation, stop the robot 12 according to the direction of movement MD SC iThis allows for arbitrary design of the robot. Compared to the case where the robot 12 is immediately stopped when it enters the restricted area 104, this improves work efficiency while ensuring safety during the operation.

[0066] Furthermore, in this embodiment, if the direction of movement MD acquired by the direction acquisition unit 66 is in the direction toward an environmental object 106 (worker 108, structure 110, etc.) (YES in step S11), the stop operation execution unit 68 executes a first stop operation SO1 to emergency stop the robot 12 according to the first stop scheme SC1.

[0067] This configuration ensures that the robot 12 can reliably avoid colliding with environmental objects 106, thereby improving work safety. In this embodiment, as an example of a first stop operation SO1, the stop operation execution unit 68 emergency stops the robot 12 by cutting off the power supply to the servo motor 26 provided on the robot 12. This configuration ensures that the robot 12 can be stopped reliably and quickly.

[0068] Furthermore, in this embodiment, if the movement direction MD acquired by the direction acquisition unit 66 is in a direction away from the environmental object 106 (NO in step S11), the stop operation execution unit 68 executes a second stop operation SO2 to decelerate and stop the robot 12 according to the second stop scheme SC2 (step S14), or executes a third stop operation SO3 to stop the robot 12 after allowing it to move in the direction away from the environmental object 106, according to the third stop scheme SC3.

[0069] According to this configuration, the operator can stop the robot 12 SC when the robot 12 is moving away from the environment object 106 within the restricted area 104. i This can be set by selecting from the second stop scheme SC2 and the third stop scheme SC3, while taking safety into consideration during operation. As a result, both safety during operation and improvement of work efficiency can be effectively achieved.

[0070] Also, in the present embodiment, the direction acquisition unit 66 acquires the moving direction MD based on the position P of the robot 12 moving within the restricted area 104 (step S6). As an example, the direction acquisition unit 66 acquires the movement trajectory MP defined by a plurality of positions P and P, and acquires the moving direction MD based on the acquired movement trajectory MP. According to this configuration, the processor 52 can obtain the moving direction MD with high accuracy using a relatively simple algorithm. n As another example, based on the acquired position P, the direction acquisition unit 66 estimates the predicted arrival position P of the robot 12 at the previous time point t, and acquires the moving direction MD based on the predicted arrival position P. According to this configuration, the moving direction MD can be obtained with higher accuracy in consideration of the future operation of the robot 12. n and P n-1 defined by the movement trajectory MP n acquired, and based on the acquired movement trajectory MP n acquires the moving direction MD. According to this configuration, the processor 52 can obtain the moving direction MD with high accuracy using a relatively simple algorithm.

[0071] As another example, based on the acquired position P n the direction acquisition unit 66 estimates the predicted arrival position P of the robot 12 at the previous time point t n+1 and acquires the moving direction MD based on the predicted arrival position P n+1 Thus, according to this configuration, the moving direction MD can be obtained with higher accuracy in consideration of the future operation of the robot 12. n+1 and acquires the moving direction MD based on the predicted arrival position P

[0072] Note that various changes can be made to the flow of FIG. 7. For example, when the processor 52 determines YES in step S11, it may execute step S14. That is, in this case, when the moving direction MD is the direction toward the environmental object 106, the processor 52 executes the second stop operation SO2 to decelerate and stop the robot 12 according to the second stop scheme SC2. In this case, when the processor 52 determines NO in step S11, it may execute step S15. Such a flow is shown in FIG. 8.

[0073] In other words, in this case, if the direction of movement MD acquired by the direction acquisition unit 66 is toward the environmental object 106, the stop operation execution unit 68 executes a second stop operation SO2 according to the second stop scheme SC2, while if the direction of movement MD is toward away from the environmental object 106, it executes a third stop operation SO3 according to the third stop scheme SC3, which allows the robot 12 to move toward that away direction. This configuration ensures safety during work and improves work efficiency. The processor 52 may execute step S15 (third stop scheme SC3) when it determines YES in step S11 in Figure 8, and execute step S14 (second stop scheme SC2) when it determines NO.

[0074] Next, other functions of the robot system 10 will be described with reference to Figures 9 and 10. In this embodiment, when step S12 in Figure 7 is executed, the processor 52 allows the robot 12 to move toward the environment object 106 within a predetermined allowable distance δ range Rδ from the boundary of the restricted area 104. For example, the allowable distance δ is defined as the distance from the boundary surface of the operating area 100 that defines the restricted area 104, as shown in Figure 10, and the range Rδ is defined as the range in which the distance from the boundary surface is less than or equal to the allowable distance δ.

[0075] The following describes another example of step S7 in Figure 6, with reference to Figure 11. In the flow of step S7 shown in Figure 11, the same step numbers are used for processes similar to those in the flow of Figure 7, and redundant explanations are omitted. In step S7 shown in Figure 11, if the processor 52 determines YES in step S11, it executes steps S21 to S25 before step S12.

[0076] In step S21, the processor 52 sets the allowable distance δ. In this embodiment, an initial value δ0 of the allowable distance δ is predetermined. When step S21 is executed for the first time, the processor 52 sets the allowable distance δ to the initial value δ0. As a result, the range Rδ of the allowable distance δ0 is defined in the robot coordinate system C1. Thus, in this embodiment, the processor 52 functions as an allowable distance setting unit 70 (Figure 9) that sets the allowable distance δ.

[0077] In step S22, the processor 52 determines whether the robot 12 has moved beyond the range Rδ defined in the most recent step S21. Specifically, the processor 52 determines the most recently acquired position P n However, if the value is outside the range Rδ within the restricted area 104, the determination is YES. If the determination is YES, the processor 52 proceeds to step S12 and executes the first stop operation SO1 according to the first stop scheme SC1. On the other hand, if the determination is NO, the processor 52 proceeds to step S23.

[0078] In step S23, the processor 52 determines whether the task is complete, similar to step S5 described above. If the processor 52 determines that the task is complete, it terminates step S7, thereby ending the flow in Figure 6. On the other hand, if it determines that the task is complete, the processor 52 proceeds to step S24.

[0079] In step S24, the processor 52 determines whether the robot 12 has entered the restricted area 104, similar to step S4 described above. If the robot 12 is still in the restricted area 104, the processor 52 determines YES and proceeds to step S25. On the other hand, if the robot 12 has left the restricted area 104, the processor 52 determines NO and proceeds to step S5 in Figure 6.

[0080] In step S25, the processor 52 obtains the movement direction MD of the robot 12, similar to step S6 described above. Then, the processor 52 returns to step S21 and readjusts the allowable distance δ so as to change the allowable distance δ according to the movement direction MD obtained in the most recent step S25. As an example, the processor 52 obtains the movement direction MD described above (or the movement speed V of the robot 12, which will be described later). n The allowable distance δ is changed so as to decrease the allowable distance δ from the initial value δ0, depending on the magnitude of the component MDx of ).

[0081] For example, the processor 52 reduces the allowable distance δ from its initial value δ0 such that the larger the component MDx, the smaller the allowable distance δ becomes. As another example, the processor 52 changes the allowable distance δ from its initial value δ0 according to the angle θ described above. For example, the processor 52 reduces the allowable distance δ from its initial value δ0 such that the smaller the angle θ, the smaller the allowable distance δ becomes.

[0082] Here, if component MDx is large or angle θ is small, it means that the robot 12 can reach the position Ps of the environmental object 106 in a shorter distance. In this embodiment, the processor 52 sets the allowable distance δ to be smaller the larger component MDx is or the smaller angle θ is, thereby reducing the range Rδ. In this case, it becomes easier to determine YES in step S22, so the robot 12 can be stopped in step S12, thereby more effectively ensuring the safety of the operation. However, the processor 52 may also set the allowable distance δ to be larger the larger component MDx is or the smaller angle θ is.

[0083] Thus, while the processor 52 determines NO in steps S22 and S23 and YES in step S24, it repeatedly executes the loop of steps S21 to S25, changing the allowable distance δ according to the direction of movement MD each time step S21 is executed. And while the loop of steps S21 to S25 is being executed, the processor 52 continues to operate the robot 12 according to the work program PG1.

[0084] As described above, in this embodiment, the processor 52 functions as a stop operation execution unit 68 and, when executing the first stop operation SO1 according to the first stop scheme SC1 (step S12), allows the robot 12 to move toward the environmental object 106 within a predetermined allowable distance δ range Rδ from the boundary of the restricted area 104 (NO in step S22). Then, the processor 52 executes the first stop operation SO1 (step S12) when the robot 12 moves beyond the range Rd (YES in step S22).

[0085] In the example shown in Figure 10, the target movement trajectory 134 is defined by teaching points 120, 122, 124, 126, 128, 130, and 132 specified in the work program PG1. When the end effector 24 is moved along the target movement trajectory 134 according to the work program PG1, the processor 52 can move the end effector 24 from the restricted area 104 to area 102 without exceeding the range Rd. According to this embodiment, when the first stop operation SO1 is executed, allowing the robot 12 to move within the range Rδ in this way makes it possible to more effectively ensure work safety and improve work efficiency.

[0086] Furthermore, in this embodiment, the allowable distance setting unit 70 sets the allowable distance δ so as to change the allowable distance δ according to the direction MD of movement of the robot 12 within the restricted area 104 (step S21). With this configuration, as described above, safety during work can be effectively ensured, and if there is a high probability that safety can be ensured, the operation of the robot 12 can be continued. Therefore, work efficiency can be effectively improved.

[0087] The processor 52 determines the allowable distance δ and the movement trajectory MP of the robot 12 within the restricted area 104. n The settings may be configured to change accordingly. For example, the processor 52 may use multiple recently acquired positions P n and P n-1 Movement trajectory MPn To find the movement trajectory MP n Any position on the above (for example, position P) n or P n-1 The allowable distance δ may be changed according to the tangential direction TD of the robot coordinate system C1. For example, the processor 52 may change the allowable distance δ according to the component TDx of the tangential direction TD in the positive x-axis direction of the robot coordinate system C1 (i.e., the direction toward the environmental object 106), or according to the angle θ between the tangential direction TD and the virtual line VL, similar to the movement direction MD in the above-described embodiment.

[0088] Furthermore, the processor 52 determines the allowable distance δ and the movement speed V of the robot 12 within the restricted area 104. n It may be set to change according to position P. For example, the processor 52 will n and P n-1 The distance d between them n Determine the distance d n By dividing by the control period τ, the moving speed V n =d n The processor 52 calculates the movement speed V. n The allowable distance δ may be set such that the larger the value of [another variable], the smaller (or larger) the allowable distance δ becomes.

[0089] The allowable distance δ may be predetermined as a fixed value. For example, the allowable distance δ may be determined specifically for each of the teaching points 120, 122, 124, 126, 128, 130, and 132. Specifically, an allowable distance δ1 may be determined for teaching points 120 and 132, an allowable distance δ2 for teaching points 122 and 130, an allowable distance δ3 for teaching points 124 and 128, and an allowable distance δ3 for teaching point 126.

[0090] In this case, δ1 < δ2 < δ3 (or δ1 > δ2 > δ3) may also be the case. That is, a larger (or smaller) allowable distance δ may be set for teaching points closer to the environmental object 106. Alternatively, the same allowable distance δ may be set for all teaching points 120, 122, 124, 126, 128, 130 and 132.

[0091] Next, with reference to Figure 12, another example of how to set the allowable distance δ will be described. In the example shown in Figure 12, the environmental object 106 is located on the negative x-axis side of the robot coordinate system C1 relative to the end effector 24, and the robot 12 is moving the end effector 24 away from the environmental object 106 along the target movement trajectory 136 within the restricted area 104. Such a situation can occur, for example, in step S15 described above.

[0092] In this embodiment, the processor 52 determines the position P of the robot 12 (end effector 24 in this example) that has entered the restricted area 104. n Based on this, the allowable distance δ is set. Specifically, the processor 52 functions as an allowable distance setting unit 70 and sets the most recently acquired position P n From there, an allowable distance δ is set in the direction toward the environmental object 106. This sets position P n A range Rδ is defined in the robot coordinate system C1 such that the distance Rδ is less than or equal to the allowable distance δ in the direction from the robot to the environmental object 106.

[0093] This method for setting the allowable distance δ can be applied to step S15 described above. Specifically, in step S15, when the processor 52 permits the movement of the robot 12 under the movement permission condition CD, it moves the robot 12 (end effector 24) away from the environmental object 106 within the restricted area 104, as shown in Figure 12. While the operation continues in step S15, the processor 52 repeatedly executes steps S6 and S11 as described above, and if it determines YES in step S11, it proceeds to step S12. When executing such a step S15, the processor 52 sets the allowable distance δ shown in Figure 12.

[0094] Here, as shown in Figure 12, when the end effector 24 is being moved away from the environmental object 106 within the restricted area 104, some factor (such as vibration) may cause the end effector 24 to move toward the environmental object 106. According to this embodiment, by setting the allowable distance δ shown in Figure 12, even if the end effector 24 moves a small amount toward the environmental object 106, it is possible to avoid emergency stopping of the robot 12 in step S12. This effectively improves work efficiency.

[0095] Furthermore, the processor 52, similar to the embodiment shown in Figure 10, uses the allowable distance δ shown in Figure 12, along with the movement direction MD and movement trajectory MP of the robot 12. n , or movement speed V n The allowable distance δ may be set so as to vary accordingly. For example, the processor 52 calculates the component MDx of the movement direction MD in the positive x-axis direction of the robot coordinate system C1 (i.e., the direction away from the environmental object 106). The processor 52 may then set the allowable distance δ such that the larger the component MDx, the larger (or smaller) the allowable distance δ becomes.

[0096] Alternatively, processor 52 controls the movement trajectory MP n The component TDx in the positive x-axis direction of the robot coordinate system C1 of the tangential direction TD at any position above can be determined, and the allowable distance δ may be set such that the larger the component TDx, the larger (or smaller) the allowable distance δ becomes. Alternatively, the processor 52 determines the movement speed V n The allowable distance δ may be set such that the larger the value, the larger (or smaller) the allowable distance δ becomes.

[0097] Next, with reference to Figures 13 and 14, further functions of the robot system 10 will be described. In this embodiment, for each of the multiple restricted areas 104, a stopping scheme SC is used. i The pattern PT is defined. This configuration will be explained with reference to Figure 14. In the example in Figure 14, the robot coordinate system C1 has a first restricted area 100B as the operating area 100. A and the first prohibited area 100BA The second forbidden area, 100B, partially overlaps with the first. B The following is set. First prohibited area 100B A Inside this, a first restricted area 104A is defined, and a second prohibited area 100B B Inside this, a second restriction area 104B is defined. Therefore, there is an overlapping area 138 where the first restriction area 104A and the second restriction area 104B overlap.

[0098] As an example, the first prohibited area 100B A Within the first restricted area 104A, the stop scheme SC i The first pattern PT1 is set. The first pattern PT1 is, for example, a pattern PT which executes the first stop scheme SC1 in all directions, regardless of the direction of movement MD of the robot 12. This first pattern PT1, which causes the robot 12 to be emergency stopped in all directions, may be set in an operating area 100 which is considered effective, for example, when an abnormality (power outage, disaster, etc.) occurs throughout the entire factory.

[0099] Meanwhile, the second prohibited area is 100B. B A second pattern PT2 is set in the second restricted area 104B within the structure. The second pattern PT2 is a pattern PT that, for example, as shown in the flow in Figure 7, executes the first stop scheme SC1 when the movement direction MD of the robot 12 is toward the environment object 106, while executing the second stop scheme SC2 or the third stop scheme SC3 when the movement direction MD is toward the environment object 106.

[0100] In this case, where different patterns PT1 and PT2 are defined for each of the restricted areas 104A and 104B, suppose that the end effector 24 of the robot 12 enters the overlapping area 138 as shown in Figure 14. In this case, the robot 12 will perform the stop scheme SC of the first pattern PT1. i And the second pattern PT2 stopping scheme SC i This will result in overlapping application. Therefore, in this embodiment, multiple stop schemes SC iA priority PR (1st, 2nd, 3rd, etc.) is assigned to each.

[0101] Specifically, before starting work, the processor 52 generates image data IM (not shown) for assigning priority PRs and displays it on the display device 60. This image data IM is, for example, a stop scheme SC included in the first pattern PT1 and the second pattern PT2. i (The first stop scheme SC1, the second stop scheme SC2, and the third stop scheme SC3 are displayed, and these stop schemes SC i Each of these includes an input image IMi to specify the priority PR.

[0102] The operator, while visually inspecting the image data IM, operates the input device 58 to initiate the stop scheme SC. i Priority PR is input to the input image IMi each time. The processor 52 receives input IP1 specifying priority PR through the image data IM and stores the information of priority PR specified by input IP1 in memory 54. Thus, in this embodiment, the processor 52 functions as an input receiving unit 72 (Figure 13) that receives input IP1 specifying priority PR.

[0103] For example, suppose the operator assigns a first priority PR to the first stop scheme SC1, a second priority PR to the second stop scheme SC2, and a third priority PR to the third stop scheme SC3. In this case, suppose the robot 12 shown in Figure 14 moves the end effector 24 away from the environmental object 106.

[0104] In this case, according to the first pattern PT1 set in the first restricted area 104A, the first stop scheme SC1 will be applied, while according to the second pattern PT2 set in the second restricted area 104B, the second stop scheme SC2 or the third stop scheme SC3 will be applied. Of the first stop scheme SC1 and the second stop scheme SC2 or the third stop scheme SC3 that are applied at this time, the first stop scheme SC1 has the highest priority PR.

[0105] Therefore, in this case, the processor 52 functions as a stop operation execution unit 68, referring to the priority PR information stored in memory 54 and applying multiple stop schemes SC. i Of these, the first stop scheme SC1 of the first pattern PT1, which has a higher priority PR specified by input IP1, will be adopted, and the first stop operation SO1 will be executed according to the first stop scheme SC1.

[0106] Next, referring to Figure 15, stop scheme SC i Let's look at another example of pattern PT. In the example in Figure 15, the robot coordinate system C1 is defined as an operating area 100, which includes a movable area 100A and a restricted area 100B adjacent to the movable area 100A. A first restricted area 104C is defined outside the movable area 100A, while a second restricted area 104B is defined inside the restricted area 100B. Therefore, in the example in Figure 15, the area inside the restricted area 100B becomes an overlapping area 140 where the first restricted area 104C and the second restricted area 104B overlap.

[0107] As an example, the second pattern PT2 (Figure 7) described above is set in the first restricted area 104C, while the fourth pattern PT4 is set in the second restricted area 104B. The fourth pattern PT4 is a pattern PT that, for example, as shown in the flow in Figure 8, executes the second stop scheme SC2 when the movement direction MD of the robot 12 is toward the environmental object 106, and executes the third stop scheme SC3 when the movement direction MD is toward the environmental object 106.

[0108] For example, suppose the operator provides the processor 52 with an input IP1 that assigns the first priority PR to the first stop scheme SC1, the second priority PR to the third stop scheme SC3, and the third priority PR to the second stop scheme SC2. Then, suppose the robot 12 shown in Figure 15 moves the end effector 24, which has entered the inside of the prohibited area 100B (i.e., the overlapping area 140), toward the environmental object 106.

[0109] In this case, according to the second pattern PT2 set in the first restricted area 104C, the first stop scheme SC1 is applied (Figure 7), while according to the fourth pattern PT4 set in the second restricted area 104B, the second stop scheme SC2 is applied (Figure 8). In this case, the processor 52 functions as a stop operation execution unit 68 and executes the first stop operation SO1 according to the first stop scheme SC1 of the second pattern PT2, which has a higher priority PR.

[0110] Conversely, suppose the robot 12 shown in Figure 15 moves the end effector 24, which has entered the overlapping area 140, away from the environmental object 106. In this case, according to the second pattern PT2 set in the first restricted area 104C, the second stopping scheme SC2 will be applied (step S14 in Figure 7), while according to the fourth pattern PT4 set in the second restricted area 104B, the third stopping scheme SC3 will be applied (step S15 in Figure 8).

[0111] In this case, among the second stop scheme SC2 and the third stop scheme SC3 that are applied, the one with the higher priority PR is the third stop scheme SC3, which is given the second highest priority PR. Therefore, in this case, the processor 52 functions as a stop operation execution unit 68 and, according to the priority PR specified by input IP1, adopts the third stop scheme SC3, which has the higher priority PR (second highest), and executes the third stop operation SO3 according to the third stop scheme SC3.

[0112] As described above, in this embodiment, for each of the multiple restricted areas 104A, 104B, and 104C, the stop scheme SC i The pattern PT is defined, along with multiple stopping schemes SC. i A priority PR is assigned to each. Then, in the overlapping areas 138 and 140 of the multiple overlapping restricted areas 104A, 104B, and 104C, the stop operation execution unit 68 selects the stop scheme SC with the higher priority PR. i (In the example above, the stop operation SO follows the first stop scheme SC1 or the third stop scheme SC3) i Execute this.

[0113] According to this configuration, for each of the multiple restricted areas 104A, 104B, and 104C, there are various stopping schemes SC for pattern PT. i It is possible to configure multiple stop schemes SC that can be applied in overlapping manner. i Of these, those that are effective in ensuring safety and improving work efficiency can be prioritized and implemented. This allows for the design of a wider variety of safety measures depending on the application. In this embodiment, the input receiving unit 72 receives input IP1 that specifies the priority PR. With this configuration, the operator can arbitrarily specify the priority PR, thereby increasing the degree of freedom in designing safety measures.

[0114] Next, with reference to Figure 16, another example of priority PR will be described. In this embodiment, for each axis direction of the robot coordinate system C1, the stop scheme SC i These are set accordingly. In Figure 16, the end effector 24 that has entered the restricted area 104 is shown, and the positive x-axis direction of the robot coordinate system C1 is the direction toward the environmental object 106, while the negative x-axis direction, positive y-axis direction, negative y-axis direction, positive z-axis direction, and negative z-axis direction are the directions toward the environmental object 106.

[0115] For example, suppose a first stop scheme SC1 is set in the positive x-axis direction of the robot coordinate system C1, a second stop scheme SC2 is set in the positive y-axis direction, negative y-axis direction, positive z-axis direction, and negative z-axis direction, and a third stop scheme SC3 is set in the negative x-axis direction. Then, suppose the operator provides the processor 52 with an input IP1 specifying a first priority PR for the first stop scheme SC1, a second priority PR for the third stop scheme SC3, and a third priority PR for the second stop scheme SC2.

[0116] In this case, if the processor 52 moves the end effector 24 in the movement direction MD within the restricted area 104 as shown in Figure 16, then the movement direction MD includes the x-axis positive component MDx and the y-axis positive component MDy of the robot coordinate system C1. For such movement in the movement direction MD, a first stop scheme SC1 set in the x-axis positive direction and a second stop scheme SC2 set in the y-axis positive direction will be applied. In this case, the processor 52 functions as a stop operation execution unit 68 and adopts the first stop scheme SC1, which has a higher priority PR, and executes the first stop operation SO1 according to the first stop scheme SC1.

[0117] On the other hand, as shown in Figure 17, if the processor 52 moves the end effector 24 in the movement direction MD within the restricted area 104, then the movement direction MD includes the x-axis negative component -MDx and the y-axis negative component -MDy of the robot coordinate system C1. For such movement in the movement direction MD, a third stop scheme SC3 set in the x-axis negative direction and a second stop scheme SC2 set in the y-axis negative direction will be applied.

[0118] In this case, the processor 52 functions as a stop operation execution unit 68 and adopts the third stop scheme SC3, which has a higher priority PR, and executes the third stop operation SO3 according to the third stop scheme SC3. Thus, the stop scheme SC set for each direction iPriority PR may be assigned to this. Furthermore, not limited to the examples shown in Figures 16 and 17, the stopping scheme SC can also be applied to other axes of the robot coordinate system C1 according to priority PR. i Please understand that we can employ this.

[0119] As described above, in this embodiment, one stopping scheme (for example, stopping scheme SC1 or SC3) is defined for a first direction (for example, the positive or negative x-axis direction of the robot coordinate system C1), and another stopping scheme (for example, stopping scheme SC2) is defined for a second direction (the positive or negative y-axis direction of the robot coordinate system C1).

[0120] Then, if the movement direction MD acquired by the direction acquisition unit 66 has a component in the first direction (MDx or -MDx) and a component in the second direction (MDy or -MDy), the stop operation execution unit 68 executes a stop operation SO1 or SO3 according to the stop scheme SC1 or SC3 which has a higher priority PR. According to this configuration, if the movement direction MD has a component in the stop scheme SC i When each component has components in multiple directions as defined, a stopping scheme SC is effective for ensuring safety and improving work efficiency. i This allows for the prioritization of certain actions. This enables the design of diverse safety measures.

[0121] In this embodiment, we have described the case where the processor 52 receives an input IP1 that specifies a priority PR. However, the invention is not limited to this case, and the priority PR may be predetermined, and information about the priority PR may be stored in the memory 54 in advance.

[0122] Next, with reference to Figures 18 and 19, further functions of the robot system 10 will be described. In this embodiment, the processor 52 functions as an input receiving unit 72, and multiple stop schemes SC for each of the multiple movement directions MD. iThe processor 52 accepts an input IP2 to set one of the following. Specifically, the processor 52 generates image data 150 to accept the input IP2 and displays it on the display device 60. Therefore, the processor 52 functions as an image generation unit 74 (Figure 18) that generates the image data 150.

[0123] An example of image data 150 is shown in Figure 19. Image data 150 includes a setting selection image 152. The setting selection image 152 is a stop scheme SC accessed through image data 150. i A graphical user interface (GUI) for selecting whether to enable or disable a setting, including an operation button image 152a. The operator can select enable or disable by operating the input device 58 and clicking on the operation button image 152a on the image. The processor 52 functions as an input receiving unit 72 and receives an input IP3 for operating the operation button image 152a.

[0124] If an input IP3 for disabling the function is received, the processor 52 will execute the stop scheme SC using image data 150. i This disables all settings. This will disable the stop scheme SC set in restricted area 104. i All pattern PTs are disabled, for example, one predetermined stop scheme SC for each restricted area 104 i (For example, the first cessation scheme SC1) is applied. Alternatively, the common cessation scheme SC i However, this may apply to all restricted areas 104. On the other hand, when an input IP3 for an operation to enable a function is received for the operation button image 152a, the processor 52 performs a stop scheme SC based on the image data 150. i Enable the setting. This will enable the stop scheme SC set via image data 150 as described later. i The pattern PT becomes active.

[0125] Image data 150 includes an input selection image 154 and a region selection image 156 for setting the safety signal Ss and the invalid signal Si. The input selection image 154 is a GUI for selecting the source equipment (safety mat 112, safety switch 114, etc.) of the safety signal Ss and invalid signal Si to be input to the control device 50. The operator can select the source equipment of the safety signal Ss and invalid signal Si from, for example, the safety mat 112 and the safety switch 114 by operating the input device 58 and clicking on the input selection image 154. The input selection image 154 may be configured so that the source equipment of the safety signal Ss and the source equipment of the invalid signal Si can be set individually.

[0126] On the other hand, the region selection image 156 is a GUI for selecting the operating region 100 (in other words, the restricted region 104) to be enabled or disabled according to the safety signal Ss and invalid signal Si from the equipment selected in the input selection image 154. The operator operates the input device 58 and clicks on the region selection image 156 to enable or disable the operating region, for example, the movable region 100A, prohibited region 100B, and 100B mentioned above. A and 100B B You can choose from the following options.

[0127] Suppose the operator operates the input device 58 to provide the processor 52 with input IP4, which selects the safety mat 112 in input selection image 154 and the movable area 100A in area selection image 156. In this case, the processor 52, acting as the input receiving unit 72, receives input IP4, sets the source device for the safety signal Ss and invalid signal Si to the safety mat 112, and sets the movable area 100A to be enabled or disabled according to the safety signal Ss and invalid signal Si. As a result, the processor 52 becomes capable of receiving the safety signal Ss and invalid signal Si transmitted from the safety mat 112, and enables or disables the movable area 100A in the robot coordinate system C1 according to the received safety signal Ss and invalid signal Si.

[0128] Furthermore, when the movable area 100A is disabled in response to the invalid signal Si, the stop scheme SC set in the restricted area 104 outside the movable area 100A is activated. i All pattern PTs are disabled, for example, one predetermined stop scheme SC i (For example, the first halting scheme SC1) may be applied.

[0129] Image data 150 includes a type selection image 158 and a numerical input image 160 for setting the allowable distance δ. The type selection image 158 is a GUI for selecting the type of allowable distance δ described above. The types of allowable distance δ include various types of fixed or variable values, as explained using Figures 10 and 11. The type selection image 158 is a GUI for selecting such a type of allowable distance δ. On the other hand, the numerical input image 160 is a GUI for inputting a numerical value for the allowable distance δ.

[0130] Suppose the operator operates the input device 58 to select the allowable distance δ as a fixed value shown in Figure 10 from the type selection image 158, and provides the processor 52 with input IP5 by selecting "10 mm" from the numerical input image 160. In this case, the processor 52, acting as the input reception unit 72, receives input IP5 and sets the allowable distance δ as a fixed value of 10 [mm] from the boundary of the restricted area 104 to the robot coordinate system C1.

[0131] Furthermore, when setting the allowable distance δ as a fixed value, the type selection image 158 and the numerical input image 160 may be configured to allow detailed setting of the allowable distance δ for each teaching point 120 to 132 (Figure 10) as described above. Also, when setting the allowable distance δ as a variable value, the type selection image 158 and the numerical input image 160 may be configured to allow detailed setting of the allowable distance δ for each teaching point 120 to 132 (Figure 10). n The system may be configured to allow detailed setting of the numerical value that reduces the allowable distance δ from the initial value δ0.

[0132] Image data 150 shows the stop scheme SC for each movement direction MD. iThis includes a coordinate system selection image 162 for setting the coordinate system, and stop scheme setting images 164, 166, 168, 170, 172, and 174. The coordinate system selection image 162 is a GUI for selecting the coordinate system C to be used as the basis for determining the direction of movement MD. By operating the input device 58 and clicking on the coordinate system selection image 162, the operator can select the reference coordinate system C from among multiple coordinate systems C, including the robot coordinate system C1 and the tool coordinate system C2.

[0133] Stop scheme setting images 164, 166, 168, 170, 172, and 174 each represent multiple stop schemes SC for the x-axis positive direction, x-axis negative direction, y-axis positive direction, y-axis negative direction, z-axis positive direction, and z-axis negative direction of coordinate system C selected by coordinate system selection image 162. i This is a GUI for selecting and configuring one of the options. These options—x-axis positive direction, x-axis negative direction, y-axis positive direction, y-axis negative direction, z-axis positive direction, and z-axis negative direction—represent the expected movement direction MD.

[0134] The operator can select and set a stop scheme for each axis direction of the reference coordinate system C by operating the input device 58 and clicking on the stop scheme setting images 164, 166, 168, 170, 172, and 174 on the image, from, for example, the first stop scheme SC1, the second stop scheme SC2, and the third stop scheme SC3.

[0135] Suppose the operator operates the input device 58 to select the robot coordinate system C1 in the coordinate system selection image 162, set the first stop scheme SC1 in the stop scheme setting image 164, set the third stop scheme SC3 in the stop scheme setting image 166, and provide input IP2 to set the second stop scheme SC2 in the stop scheme setting images 168, 170, 172, and 174.

[0136] In this case, the processor 52 receives the input IP2 as the input receiving unit 72, and as shown in Figure 19, sets a first stop scheme SC1 for the positive x-axis direction of the robot coordinate system C1 as the movement direction MD, sets a third stop scheme SC3 for the negative x-axis direction, and sets a second stop scheme SC2 for the positive y-axis direction, negative y-axis direction, positive z-axis direction, and negative z-axis direction. Thus, according to the input IP2, the processor 52 sets one stop scheme SC for each movement direction MD. i Set it.

[0137] As described above, in this embodiment, the input receiving unit 72 receives multiple stop schemes SC for each of the multiple movement directions MD (for example, the direction of each axis of the robot coordinate system C1). i It accepts input IP2 to configure one of the following. With this configuration, the operator can set the stop scheme SC for various movement directions MD. i Since these settings can be configured arbitrarily, safety measures can be designed in a more diverse range of ways depending on the application.

[0138] Furthermore, in this embodiment, the image generation unit 74 generates one stop scheme SC for each of the multiple movement directions MD. i Image data 150 is generated to set the stop scheme SC. Then, the input receiving unit 72 receives input IP2 through the image data 150. With this configuration, the operator can visually check the image data 150 and set the stop scheme SC. i It can be easily configured.

[0139] Next, with reference to Figure 20, further functions of the robot system 10 will be described. In this embodiment, the processor 52 functions as an image generation unit 74, and the execution of the stop scheme SC i Image data 180 is generated to display the identification information 182. The image data 180 shown in Figure 20 includes a 3D image in which a robot model 12M, which is a model of the robot 12, is placed in a virtual space together with the robot coordinate system C1 and the tool coordinate system C2. The robot model 12M is a 3D CAD model or the like, and is stored in memory 54 in advance.

[0140] For example, when the processor 52 starts the operation in step S1 in Figure 6, it generates image data 180 and displays it on the display device 60. Then, during the operation, the processor 52 moves the robot model 12M to position P acquired based on the feedback FB. n Image data 180 may be updated to simulate movement.

[0141] Alternatively, the processor 52 may simulate the movement of the robot model 12M within the image data 180 based on the work program PG1. Specifically, the processor 52 may update the image data 180 to simulate the movement of the robot model 12M along the target movement trajectory (i.e., teaching points) defined in the work program PG1. The processor 52 also displays the operating area 100 enabled in step S3 (Figure 6) along with the robot model 12M in the image data 180. Figure 20 shows the first restricted area 100B shown in Figure 14. A and the second prohibited area 100B B This shows an example where it is set.

[0142] Here, processor 52 stops during operation scheme SC i When executed, in image data 180, the execution stop scheme SC i The identification information 182 is displayed. Identification information 182 is, for example, the execution of the stop scheme SC i The identification code (name, identification number, etc.), or the stop scheme SC i This includes explanatory text describing the contents. In the example shown in Figure 20, the identification information 182 displays the identification information of the first stop scheme SC1. In this example, when the processor 52 executes, for example, step S12 described above, it displays the identification information 182 of the first stop scheme SC1 in the image data 180 together with the robot model 12M that is simulated to be operating in the virtual space.

[0143] Furthermore, processor 52 is executing the stop scheme SC iThe associated operating area 100 may be displayed in an identifiable manner. For example, in the example shown in Figure 20, the processor 52, at the start of the operation, has a first forbidden area 100B A and the second prohibited area 100B B Both will be displayed using the default visual effects (color, pattern, etc.).

[0144] Subsequently, as shown in the embodiment described in Figure 14, the first restricted area 100B A When the first stop scheme SC1 of the first pattern PT1 set in the restricted area 104A is executed, the processor 52 enters the first forbidden area 100B A Update image data 180 to change the visual effects from the default settings. By changing the visual effects in this way, the operator can control the running stop scheme SC i However, it is intuitively recognizable which operating area 100 (restricted area 104) it relates to.

[0145] As described above, in this embodiment, the image generation unit 74 performs the stop scheme SC executed by the stop operation execution unit 68. i Image data 180 is generated that displays the identification information 182. According to this configuration, the operator can determine what kind of stopping scheme SC the robot 12 is using during operation. i It is intuitively recognizable whether or not it is being executed.

[0146] Furthermore, the processor 52 places the robot model 12M in a virtual space along with the operating area 100, and when the robot model 12M is simulated to operate, any stop scheme SC within the restricted area 104 is determined i A simulation visually indicating whether to perform the action may be configured to run. For example, the processor 52 may run such a simulation when the setting of the operating area 100 (or the setting of the setting selection image 152 in Figure 19) is disabled and display it on the display device 60 as a playback image.

[0147] The processor 52 may execute the various processes described with reference to Figures 6-8, 10-12, 14-17, 19, and 20 according to a computer program PG2 pre-stored in memory 54. Furthermore, the functions of the direction acquisition unit 66, stop operation execution unit 68, allowable distance setting unit 70, input reception unit 72, and image generation unit 74 executed by the processor 52 may be functional modules implemented by the computer program PG2.

[0148] In the above embodiment, we described a case where the position Ps of the environmental object 106 (worker 108, structure 110, etc.) is predetermined. However, the processor 52 is not limited to this case; it may also image the environmental object 106 in the work cell with a visual sensor and acquire the position Ps of the environmental object 106 based on the image data. Alternatively, the processor 52 may acquire the position Ps of the environmental object 106 using a non-contact sensor such as an infrared sensor.

[0149] Instead of defining the position Ps of the environmental object 106, the region Es in which the environmental object 106 exists may be defined in the robot coordinate system C1. In this case, the processor 52, in step S11 described above, uses the most recently acquired position P of the robot 12. n You may also determine that the result is YES if the vector of the movement direction MD, starting from point , intersects with the region Es.

[0150] Furthermore, multiple environmental objects 106 may exist at different locations within the work cell. In this case, for each of the multiple environmental objects 106, a different stopping scheme SC may be used. i A pattern PT may be set. For example, suppose that within a work cell, a first environmental object 106A (e.g., worker 108) is placed at position Ps1, and a second environmental object 106B (e.g., structure 110) is placed at position Ps2.

[0151] Then, pattern PT3 is set for the first environmental object 106A. This pattern PT3 is a pattern PT that, for example, executes the first stop scheme SC1 when the direction of movement MD of the robot 12 within the restricted area 104 is toward the first environmental object 106A (i.e., position Ps1), and executes the second stop scheme SC2 when the direction of movement MD is toward away from the first environmental object 106A.

[0152] Meanwhile, pattern PT4 is set for the second environmental object 106B. This pattern PT4 is a pattern PT that, for example, executes the first stop scheme SC1 (or the second stop scheme SC2) when the direction of movement MD of the robot 12 within the restricted area 104 is toward the second environmental object 106B (i.e., position Ps2), while executing the third stop scheme SC3 when the direction of movement MD is toward the second environmental object 106B. Then the processor 52 executes different stop schemes SC depending on whether the direction of movement MD of the robot 12 within the restricted area 104 is toward or toward environmental objects 106A and 106B. i The following is executed. In this case, the stop scheme SC is executed according to the predetermined priority PR. i A common stopping scheme SC may be established for multiple environmental objects 106. i The pattern PT may be set.

[0153] In the above-described embodiment, the position P of the robot 12 is n The case described above involves obtaining the position of the end effector 24 in the robot coordinate system C1 (specifically, the coordinates of the origin in the tool coordinate system C2). However, the processor 52 is not limited to this case; it also obtains the position P of the robot 12. n For example, the position of any component of the robot 12, such as the upper arm 20 or the wrist 22, may be obtained.

[0154] In this case, for example, a component coordinate system C3 is set for a component such as the upper arm 20 or the wrist 22, and the processor 52 sets the origin of the component coordinate system C3 in the robot coordinate system C1 to the position P of the component. n It may also be obtained as follows. Furthermore, although the above embodiment exemplified the robot coordinate system C1, the position P may be obtained based on any other coordinate system C, such as the world coordinate system that defines the three-dimensional space of the work cell. n You may obtain it.

[0155] Furthermore, the first stopping scheme SC1, the second stopping scheme SC2, and the third stopping scheme SC3 described above are just examples, and stopping scheme SC i As such, any other stopping operation SO i The suspension scheme SC that defines this i This may be specified. Furthermore, the robot 12 is not limited to a vertical articulated robot, but may be any type of robot, such as a horizontal articulated robot or a parallel link robot.

[0156] 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.

[0157] As described above, this disclosure describes the following aspects. (Aspect 1) Stopping operation of robot 12 SO i Multiple stopping schemes SC each defined iThe control device 50 for the robot 12 includes a direction acquisition unit 66 that acquires the direction MD of movement of the robot 12 when it enters a restricted area 104, 104A, 104B, 104C that restricts the movement of the robot 12, and different stop schemes SC depending on the direction MD of movement acquired by the direction acquisition unit 66. i Stop operation SO i A control device 50 comprising a stop operation execution unit 68 that performs a stop operation. (Aspect 2) The control device 50 according to aspect 1, wherein the stop operation execution unit 68, when the direction of movement MD acquired by the direction acquisition unit 66 is in the direction toward the environmental object 106, executes a first stop operation SO1 to emergency stop the robot 12 according to a first stop scheme SC1, or executes a second stop operation SO2 to decelerate and stop the robot 12 according to a second stop scheme SC2. (Aspect 3) The control device 50 according to aspect 2, wherein the stop operation execution unit 68 executes a first stop operation SO1 according to the first stop scheme SC1 if the direction of movement MD acquired by the direction acquisition unit 66 is toward the environmental object 106, and if the direction of movement MD is toward away from the environmental object 106, it executes a second stop operation SO2 according to the second stop scheme SC2, or executes a third stop operation SO3 according to the third stop scheme SC3, which allows the robot 12 to move toward the away direction. (Aspect 4) The control device 50 according to aspect 2, wherein the stop operation execution unit 68 executes a second stop operation SO2 according to the second stop scheme SC2 if the direction of movement MD acquired by the direction acquisition unit 66 is toward the environmental object 106, and executes a third stop operation SO3 according to the third stop scheme SC3 which allows the robot 12 to move toward the environmental object 106 if the direction of movement MD is toward the environmental object 106. (Aspect 5) The stop operation execution unit 68 performs the first stop operation SO i The control device 50 according to embodiment 2 or 3, wherein the robot 12 is brought to an emergency stop by cutting off the power supply to the servo motor 26 provided on the robot 12. (Aspect 6) The stop operation execution unit 68 executes the first stop scheme SC iWhen the first stopping operation SO1 is performed according to the following, the position P of the robot 12 is at the boundary of the restricted areas 104, 104A, 104B, 104C, or within the restricted areas 104, 104A, 104B, 104C. n A control device 50 according to embodiment 2, 3, or 5, which allows the robot 12 to move in the direction described above within a predetermined allowable distance δ range Rδ, and executes the first stop operation SO1 when the robot 12 moves beyond the range Rδ. (Aspect 7) Movement direction MD and movement trajectory MP of the robot 12 within the restricted areas 104, 104A, 104B, and 104C. n or movement speed V n The control device 50 according to embodiment 6, comprising an allowable distance setting unit 70 for setting the allowable distance δ so as to change the allowable distance δ accordingly. (Aspect 8) Stop scheme SC executed by the stop operation execution unit 68 i The control device 50 according to any one of embodiments 1 to 7, further comprising an image generation unit 74 that generates image data 180 displaying identification information 182. (Aspect 9) Multiple stopping schemes SC for each of the multiple movement directions MD i The control device 50 according to any one of embodiments 1 to 8, further comprising an input receiving unit 72 that receives an input IP2 for setting one of the following. (Aspect 10) One stop scheme SC for each of the multiple movement directions MD i The control device 50 according to embodiment 9 further comprises an image generation unit 74 that generates image data 150 for setting, and an input receiving unit 72 that receives input IP2 through the image data 150. (Aspect 11) Stop scheme SC for each of the multiple restricted areas 104A, 104B, 104C i The patterns are defined, and multiple stopping schemes SC i A priority PR is assigned to each, and in the overlapping regions 138 and 140 of the multiple overlapping restricted regions 104A, 104B, and 104C, the stop operation execution unit 68 selects the stop scheme SC with the higher priority PR. i Stop operation SO i A control device 50 according to any one of embodiments 1 to 10, which performs the following actions. (Aspect 12) Multiple stopping schemes SC i A priority PR is assigned to each, and one stop scheme SC1, SC3 is defined for the first direction, and another stop scheme SC2 is defined for the second direction. The stop operation execution unit 68 performs a stop operation SO according to the one stop scheme SC1, SC3 or the other stop scheme SC2 with a higher priority PR when the movement direction MD acquired by the direction acquisition unit 66 has components MDx, -MDx for the first direction and components MDy, -MDy for the second direction. i A control device 50 according to any one of embodiments 1 to 10, which performs the following actions. (Aspect 13) The control device 50 according to aspect 11 or 12, further comprising an input receiving unit 72 that receives an input IP1 specifying a priority PR. (Aspect 14) The direction acquisition unit 66 determines the position P of the robot 12 moving within the restricted areas 104, 104A, 104B, and 104C. n A control device 50 according to any one of embodiments 1 to 13, which acquires the direction of movement MD based on the following. (Aspect 15) Direction acquisition unit 66 has multiple positions P n , P n-1 Movement trajectory defined by MP n Obtain the acquired movement trajectory MP n A control device 50 according to embodiment 14, which acquires the direction of movement MD based on the following. (Aspect 16) The direction acquisition unit 66 determines the previous time t n+1 Predicted destination P of robot 12 n+1 We estimate the expected arrival position P. n+1 A control device 50 according to any one of embodiments 1 to 15, which acquires the direction of movement MD based on the above. (Aspect 17) Stopping operation of robot 12 SO i Multiple stopping schemes SC each defined i A control method for the robot 12 in which the following is predetermined, the method of controlling the robot 12 is obtained when the robot 12 enters a restricted area 104, 104A, 104B, 104C that restricts the movement of the robot 12, and a different stopping scheme SC is determined according to the obtained movement direction MD. i Stop operation SO i A control method for executing this. (Aspect 18) The method described in Aspect 17 is performed on the processor 52. Computer program PG2. [Explanation of symbols]

[0158] 10 Robot Systems 12 Robots 26 Servo motors 50 Control device 52 processors 66 Direction acquisition part 68 Stop operation execution unit 70 Allowable distance setting section 72 Input Reception Section 74 Image generation unit 100 working area 100A movable area 100B, 100B A , 100B B Forbidden area 102 areas 104, 104A, 104B, 104C Restricted area 106 Environmental objects 150, 180 image data

Claims

1. A control device for a robot in which multiple stopping schemes defining the stopping actions of the robot are defined, A direction acquisition unit that acquires the direction of movement of the robot when it enters a restricted area that restricts the movement of the robot, The unit comprises a stop operation execution unit that executes the stop operation according to a different stop scheme depending on the direction of movement acquired by the direction acquisition unit, The aforementioned multiple stop schemes are assigned a priority order. The stop operation execution unit is a control device that executes the stop operation in the overlapping areas of a plurality of the restricted areas in accordance with the stop scheme adopted according to the priority order.

2. A control device for a robot in which a plurality of stopping schemes defining the stopping operation of the robot are defined, A direction acquisition unit that acquires the direction of movement of the robot when it enters a restricted area that restricts the movement of the robot, A stop operation execution unit that executes the stop operation according to a different stop scheme depending on the direction of movement acquired by the direction acquisition unit, The system includes an allowable distance setting unit that sets an allowable distance for the robot's movement toward an environmental object based on the robot's movement direction, movement trajectory, or movement speed within the restricted area, The stop operation execution unit is a control device that, when executing the stop operation according to the stop scheme, allows the robot to move in the direction it is facing within the range of the allowable distance set by the allowable distance setting unit.

3. The stop operation execution unit, when the direction of movement acquired by the direction acquisition unit is toward an environmental object, In accordance with the first stop scheme, the first stop operation is performed to emergency stop the robot, or The control device according to claim 1 or 2, which performs a second stopping operation to decelerate and stop the robot in accordance with the second stopping scheme.

4. The aforementioned stop operation execution unit, If the direction of movement acquired by the direction acquisition unit is the direction to be moved, the first stopping operation is performed according to the first stopping scheme, The control device according to claim 3, wherein if the direction of movement is away from the environmental object, the control device performs the second stopping operation according to the second stopping scheme, or performs the third stopping operation according to the third stopping scheme, which permits the robot to move in the direction away.

5. The aforementioned stop operation execution unit, If the direction of movement acquired by the direction acquisition unit is the direction to be moved, the second stopping operation is performed according to the second stopping scheme, The control device according to claim 3, wherein if the direction of movement is away from the environmental object, the control device performs a third stop operation that permits the robot to move in the direction away from the environmental object, in accordance with the third stop scheme.

6. The control device according to claim 3, wherein the stop operation execution unit, in the first stop operation, causes the robot to be stopped in an emergency by cutting off the power supply to the servo motor provided on the robot.

7. The control device according to claim 3, wherein the stop operation execution unit, when executing the first stop operation in accordance with the first stop scheme, allows the robot to move in the direction it is heading within a predetermined allowable distance range from the boundary of the restricted area or the position of the robot within the restricted area, and executes the first stop operation when the robot moves beyond that range.

8. The control device according to claim 7, further comprising a tolerance distance setting unit for setting the tolerance distance such that the tolerance distance is changed according to the direction of movement, trajectory, or speed of movement of the robot within the restricted area.

9. The control device according to claim 1 or 2, further comprising an image generation unit that generates image data for displaying identification information of the stop scheme executed by the stop operation execution unit.

10. The control device according to claim 1 or 2, further comprising an input receiving unit that receives an input for setting one of the plurality of stopping schemes for each of the plurality of movement directions.

11. The system further includes an image generation unit that generates image data for setting one of the aforementioned multiple movement directions, The control device according to claim 10, wherein the input receiving unit receives the input through the image data.

12. A control device for a robot in which a plurality of stopping schemes defining the stopping operation of the robot are predetermined, A direction acquisition unit that acquires the direction of movement of the robot when it enters a restricted area that restricts the movement of the robot, The unit comprises a stop operation execution unit that executes the stop operation according to a different stop scheme depending on the direction of movement acquired by the direction acquisition unit, The aforementioned multiple shutdown schemes are assigned a priority order. One stopping scheme is defined for the first direction, and another stopping scheme is defined for the second direction. The stop operation execution unit is a control device that, when the direction of movement acquired by the direction acquisition unit has a component of the first direction and a component of the second direction, executes the stop operation according to the one stop scheme with the higher priority or the other stop scheme.

13. The control device according to claim 12, further comprising an input receiving unit that receives input specifying the priority order.

14. The control device according to claim 1 or 2, wherein the direction acquisition unit acquires the direction of movement based on the position of the robot moving within the restricted area.

15. The direction acquisition unit, Obtain a movement trajectory defined by multiple aforementioned positions, The control device according to claim 14, which acquires the direction of movement based on the acquired movement trajectory.

16. The direction acquisition unit, The predicted destination of the robot at the previous point in time is estimated, The control device according to claim 1 or 2, which acquires the direction of movement based on the predicted arrival position.

17. A control method for a robot in which multiple stopping schemes defining the stopping actions of the robot are defined, The aforementioned multiple stop schemes are assigned a priority order. The direction of movement of the robot when it enters a restricted area that restricts the robot's movement is obtained. A control method in which, when executing the stop operation according to different stop schemes depending on the acquired direction of movement, the stop operation is executed in the overlapping area of ​​a plurality of restricted areas according to the stop scheme adopted according to the priority.

18. A robot control method comprising defining a plurality of stopping schemes that define the stopping operation of the robot, The direction of movement of the robot when it enters a restricted area that restricts the robot's movement is obtained. The stopping operation is performed according to a different stopping scheme depending on the acquired direction of movement. Based on the robot's direction of movement, trajectory, or speed within the restricted area, the permissible distance for the robot's movement toward the environment object is set. A control method that, when performing the stopping operation according to the stopping scheme, allows the robot to move in the direction it is facing within a set allowable distance range.

19. A computer program that causes a processor to execute the method described in claim 17 or 18.