Control device, control method, and computer program for robot
The robot control device improves work safety and efficiency by using a direction acquisition unit and stopping operation execution unit to adaptively manage robot movements in restricted areas, ensuring safe and efficient operation.
Patent Information
- Application Number
- PCT/JP2024/024123
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-07-03
- Publication Date
- 2026-01-08
AI Technical Summary
Existing robot systems face inefficiencies in work safety when entering restricted areas, necessitating improved methods to balance safety and efficiency during operations.
A robot control device that includes a direction acquisition unit to determine the movement direction upon entering a restricted area, and a stopping operation execution unit that selects from multiple predefined stopping schemes based on this direction, such as emergency stop, gradual deceleration, or conditional movement, to ensure safety and efficiency.
Enhances work safety by preventing collisions with environmental objects and optimizing operational efficiency by selecting appropriate stopping operations based on the robot's movement direction within restricted areas.
Smart Images

Figure JP2024024123_08012026_PF_FP_ABST
Abstract
Description
Robot control device, control method, and computer program
[0001] The present disclosure relates to a robot control device, a control method, and a computer program.
[0002] It is known to set a restricted area that limits the movement of a robot for the sake of work safety (for example, see Patent Document 1).
[0003] JP 2015-47649 A
[0004] There are cases where a robot working on a task enters a restricted area. In such cases, there is a need to improve work efficiency while ensuring work safety.
[0005] In one aspect of the present disclosure, a control device for a robot in which a plurality of stopping schemes each defining a stopping operation for the robot are predefined includes a direction acquisition unit that acquires the movement direction of the robot when it enters a restricted area that restricts the robot's operation, and a stopping operation execution unit that executes a stopping operation according to a different stopping scheme depending on the movement direction acquired by the direction acquisition unit.
[0006] In another aspect of the present disclosure, a method for controlling a robot in which a plurality of stopping schemes each defining a stopping operation of the robot are predefined acquires a movement direction of the robot when the robot enters a restricted area that restricts the robot's movement, and executes a stopping operation according to a different stopping scheme depending on the acquired movement direction.
[0007] 6 is a schematic diagram of a robot system according to an embodiment. It is a block diagram of the robot system shown in FIG. 1. It shows an example of an operating area. It shows another example of an operating area. It shows a state in which the robot is entering a restricted area. It is a flowchart showing an example of an operation flow of the robot system shown in FIG. 1. It is a flowchart showing an example of the flow of step S7 in FIG. 6. It is a flowchart showing another example of the flow of step S7 in FIG. 6. It is a block diagram showing other functions of the robot system shown in FIG. 1. It is a diagram for explaining an example of a method for setting an allowable distance. It is a flowchart showing yet another example of the flow of step S7 in FIG. 6. It is a diagram for explaining another example of a method for setting an allowable distance. It is a block diagram showing still other functions of the robot system shown in FIG. 1. It shows yet another example of an operating area. It shows yet another example of an operating area. It is a diagram for explaining priority when a stopping scheme is set for each direction. It is a diagram for explaining priority when a stopping scheme is set for each direction. It is a block diagram showing still other functions of the robot system shown in FIG. 1. It shows example image data for setting a stopping scheme for each movement direction. It shows example image data displaying identification information of a stopping scheme currently being executed.
[0008] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings. In various embodiments described below, like elements will be designated by like reference numerals, and duplicated descriptions will be omitted. First, a robot system 10 according to one embodiment will be described with reference to FIGS. 1 and 2. The robot system 10 includes a robot 12 and a control device 50.
[0009] In this embodiment, the robot 12 is a vertical articulated robot and includes a robot base 14, a rotating body 16, a lower arm 18, an upper arm 20, a wrist 22, and an end effector 24. The robot base 14 is fixed on the floor of a work cell. The rotating body 16 is attached to the robot base 14 so as to be rotatable about a vertical axis. The lower arm 18 has a base end attached to the rotating body 16 so as to be rotatable about a horizontal axis. The upper arm 20 has a base end rotatably attached to the tip of the lower arm 18.
[0010] The wrist 22 is provided so that its base end can rotate around the tip of the upper arm 20. The end effector 24 is detachably attached to the tip of the wrist 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 (workpiece handling, cutting, welding, coating, etc.) on a workpiece W (not shown).
[0011] A plurality of servo motors 26 (FIG. 2) are provided on each of the robot base 14, rotating body 16, lower arm 18, upper arm 20, and wrist 22. In response to commands from the control device 50, these servo motors 26 rotate the rotating body 16, lower arm 18, upper arm 20, wrist 22, and end effector 24 of the robot 12 around their respective drive axes, thereby moving the end effector 24 to a desired position.
[0012] Each servo motor 26 is provided with a rotation sensor 28 (FIG. 2). Each rotation sensor 28 has, for example, an encoder or a Hall element, and detects the rotation (rotational 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 Fig. 2, the control device 50 is a computer having a processor 52, a memory 54, an I / O interface 56, an input device 58, a display device 60, and a drive power supply 62. The processor 52 has a CPU, a GPU, or the like, and is communicatively connected to the memory 54, the I / O interface 56, the input device 58, the display device 60, and the drive power supply 62 via a bus 64, and performs calculations for executing a stopping scheme, which will be described later, while communicating with these components.
[0014] The memory 54 includes RAM, ROM, or the like, and temporarily or permanently stores various data used in the arithmetic processing executed by the processor 52 and various data generated during the arithmetic processing. The memory 54 may be configured from a computer-readable non-transitory storage medium such as a volatile memory, a non-volatile memory, a magnetic storage medium, or an optical storage medium.
[0015] The I / O interface 56 has, for example, an Ethernet (registered trademark) port, a USB port, an optical fiber connector, or an HDMI (registered trademark) terminal, and communicates data with external devices via a wired or wireless connection under instructions from the processor 52. In the present embodiment, the servo motor 26 and the rotation sensor 28 are communicatively connected to the I / O interface 56.
[0016] The input device 58 has buttons, switches, a keyboard, a mouse, a touch panel, or the like, and receives data input from an operator. The display device 60 has a liquid crystal display, an organic EL display, or the like, and visibly displays various data. The input device 58 and the display device 60 may be integrated into the housing of the control device 50, or may be provided as a separate entity (e.g., a PC) from the housing of the control device 50 and connected to the I / O interface 56 by wire or wirelessly.
[0017] 1, a robot coordinate system C1 and a tool coordinate system C2 are set for the robot 12. The robot coordinate system C1 is a coordinate system C for automatically controlling each movable component of the robot 12 (the rotating body 16, the lower arm 18, the upper arm 20, the wrist 22, and the end effector 24). In this embodiment, the robot coordinate system C1 is set fixedly with respect to the robot base 14 so 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 body 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 set to be fixed with respect to the end effector 24. In this embodiment, the tool coordinate system C2 is set to be fixed with respect to the end effector 24 so that its origin is located at a work position of the end effector 24 (for example, a workpiece gripping position, a tool center point, a welding position, a paint spray nozzle, etc.). Note that the tool coordinate system C2 may have its origin located at the center of the tip surface of the wrist 22 (a so-called mechanical interface coordinate system).
[0019] When positioning the end effector 24 at a predetermined target position (e.g., a taught 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 by operating the robot 12.
[0020] To ensure work safety, an operating area 100 is set for the robot 12. The operating 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 operating area 100. Inside the movable area 100A, an area 102 in which the robot 12 can move the end effector 24 is defined. On the other hand, outside the movable area 100A, a restricted area 104 is defined that restricts (e.g., prohibits) the movement of the robot 12.
[0021] 4 shows a prohibited area 100B as another example of the operating area 100. Inside the prohibited area 100B, a restricted area 104 is defined that restricts the operation of the robot 12. On the other hand, outside the prohibited area 100B, an area 102 in which the robot 12 can move the end effector 24 is defined. The movable area 100A and the prohibited area 100B are expressed as coordinates in the robot coordinate system C1.
[0022] The operating area 100 including the movable area 100A and the prohibited area 100B is set in the robot coordinate system C1, for example, to avoid collision between the robot 12 and environmental objects 106 around the robot 12. The environmental objects 106 include, for example, workers 108 and structures 110 (equipment, buildings, etc.) present in the work cell. The operating area 100 (working area 100A, prohibited area 100B, etc.) may be predetermined by an 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 FIGS. 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 weight of the worker 108 standing on it, thereby detecting the presence of the worker 108. When the safety mat 112 detects the worker 108, it supplies a safety signal Ss to the control device 50.
[0024] Furthermore, when the operator 108 turns the safety switch 114 ON, the safety switch 114 supplies a safety signal Ss to the control device 50. When the processor 52 receives the safety signal Ss, it validates the setting of the movable area 100A or the prohibited area 100B as the motion area 100. As a result, the movable area 100A or the prohibited 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 the worker 108 leaves the safety mat 112 and the weight detected by the safety mat 112 falls below the threshold, the safety mat 112 supplies an invalid signal Si to the control device 50. Furthermore, when the worker 108 turns the safety switch 114 OFF, the safety switch 114 supplies an invalid signal Si to the control device 50. Upon receiving the invalid signal Si, the processor 52 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. Note that 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, the end effector 24 of the robot 12 may be present within the restricted area 104 when the processor 52 enables the operating area 100 in response to the safety signal Ss. Alternatively, when the robot 12 is performing a predetermined task, the movement trajectory of the end effector 24 may deviate from the target movement trajectory set in control and enter the restricted area 104. Figure 5 shows a state in which the end effector 24 of the robot 12 (i.e., the 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 stopping operation SO according to a stopping scheme SC that varies depending on the moving direction MD of the robot 12. The operation of the robot system 10 will be described below with reference to FIG. 6. Here, in this embodiment, the stopping operation SO of the robot 12 i A plurality of stopping schemes SC each defining i is predetermined (i=1, 2, 3, . . . ).
[0028] For example, the first stopping scheme SC 1 is a first stopping operation SO that immediately and urgently stops the operation of the robot 12. 1 This first stopping operation SO 1 In the example, the processor 52 brings the robot 12 to an emergency stop by, for example, cutting off the power supply to each servo motor 26 provided in 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 may execute the "safe torque off (STO) function" specified in IEC 61800-5-2. 1may correspond to "Stop Category 0" defined in standards such as IEC 60204-1 and ISO 13850.
[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. Then, the processor 52 performs the first stopping operation SO 1 In the first stopping operation SO , each brake mechanism BR may be activated to brake each servo motor 26, thereby bringing the robot 12 to an emergency stop. 1 In this case, the robot 12 may be brought to an emergency stop by cutting off the power supply to each servo motor 26 and activating each brake mechanism BR.
[0031] On the other hand, the second stopping scheme SC 2 is a second stopping operation SO that decelerates and stops the robot 12. 2 This second stopping operation SO 2 In this second stopping operation SO 2 , the processor 52 controls each servo motor 26 in accordance with the deceleration command CM1 to gradually decelerate the rotation of the servo motor 26, thereby decelerating the movement of the robot 12. 2 In this case, the robot 12 moves a predetermined deceleration distance and then stops. Note that the processor 52 may cut off the power supply to each servo motor 26 after decelerating the robot 12.
[0032] Also, the third stopping scheme SC 3 is a third stopping operation SO for stopping the robot 12 after permitting the robot 12 to move under a predetermined movement permission condition CD. 3 For example, the movement permission condition CD includes a condition that allows movement of the robot 12 until a predetermined command code IC1 (e.g., a command code for positioning to the next teaching point or the last teaching point) in the currently executed task program PG1 is executed.
[0033] In this case, the processor 52 executes the third stopping operation SO 3In this case, the robot 12 continues to move until the command code IC1 of the currently running work program PG1 is read and executed, and then stops moving the robot 12. The movement permission condition CD may include a condition that permits the movement of the robot 12 until a predetermined time has elapsed from the current time, until the drive power supply 62 (or the power supply of the control device 50) is turned off, or until the currently running work program PG1 is stopped or ended (i.e., until the command code IC2: "END" that ends the work program PG1 is read). That is, the third stop operation SO 3 may include not substantially stopping the movement of the robot 12.
[0034] As described above, the stop scheme SC i (i=1, 2, 3) are different stopping operations SO i The stop scheme SC i may be predetermined by an operator (e.g., a manufacturer or integrator of the control device 50). i Each has its own unique algorithm AL i (or a computer program). The processor 52 may implement the stopping scheme SC i Stop operation according to SO i When executing the stopping scheme SC i Algorithm AL for i is read from the memory 54 and executed, the stop operation SO i Execute.
[0035] 6 starts when the processor 52 receives a work start command from an operator, a higher-level controller (not shown), or the computer program PG2. In step S1, the processor 52 starts work by the robot 12. Specifically, the processor 52 sequentially reads and executes the command codes IC defined in a work program PG1 pre-stored in the memory 54, and causes the robot 12 to perform the operations for the work defined in each command code IC in the work program PG1. In this way, the robot 12 performs a predetermined work on the workpiece W in accordance with the work program PG1.
[0036] After the start of step S1, the processor 52 calculates the position P n Specifically, the processor 52 repeatedly acquires the position P of the origin of the tool coordinate system C2 in the robot coordinate system C1 based on the feedback FB from the rotation sensor 28. n This position P n 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 calculates the position P n is repeatedly obtained.
[0037] In step S2, the processor 52 determines whether or not to set the operating area 100. For example, the processor 52 determines to set the operating area 100 (i.e., YES) when it receives a safety signal Ss from the above-described safety mat 112 or safety switch 114. If the processor 52 determines YES, it proceeds to step S3, and if the processor 52 determines NO, it proceeds to step S4.
[0038] In step S3, the processor 52 sets the motion area 100. Specifically, as described above, the processor 52 validates the setting of the movable area 100A or the prohibited area 100B. As a result, the movable area 100A or the prohibited area 100B is set in the robot coordinate system C1. In the flow of FIG. 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, when executing step S2 described above after setting the operating region 100 in step S3, the processor 52 may determine whether or not an invalid signal Si has been received. If the invalid signal Si has been received, the processor 52 may determine NO and invalidate the operating region 100 previously set in 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 whether the robot 12 has entered the restricted area 104 by using the most recently acquired position P n is within the restricted area 104 in the robot coordinate system C1. n If it is within the restricted area 104, the result is YES.
[0041] As another example, an end effector model 24M may be defined in advance for the end effector 24. This end effector model 24M may be set as a simplified model representing the general shape of the end effector 24 so as to encompass the area occupied by the end effector 24. Each model component (face, edge, vertex, etc.) of this end effector model 24M can be expressed as coordinates in the tool coordinate system C2.
[0042] The processor 52 determines the most recently acquired position P nThe processor 52 then calculates and simulates the placement of the end effector model 24M in the robot coordinate system C1 based on the calculated position. 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. Note that instead of (or in addition to) the end effector model 24M, a model of a part of the robot 12 other than the end effector 24 (for example, the lower arm model 18M, the upper arm model 20M, or the wrist model 22M) may be defined. If the processor 52 determines "YES," the process proceeds to step S6, whereas if the processor 52 determines "NO," the process proceeds to step S5.
[0043] In step S5, the processor 52 determines whether the work has ended. Specifically, if the work program PG1 started in step S1 has ended (or if the instruction code IC2: "END" for ending the work program PG1 is read), the processor 52 determines YES. If the processor 52 determines YES, it ends the flow of FIG. 6, but if the processor 52 determines NO, it returns to step S2. Thus, while the processor 52 determines NO in steps S4 and S5, it repeatedly executes the loop of steps S2 to S5, for example, at a control period τ.
[0044] On the other hand, if the determination in step S4 is YES, in step S6, the processor 52 acquires the movement direction MD of the robot 12 (specifically, the end effector 24). Specifically, the processor 52 acquires the position P of the robot 12 (the end effector 24) moving within the restricted area 104. n The moving direction MD is obtained based on the above.
[0045] As an example, the processor 52 may use the plurality of positions P n , P n-1 , P n-2 A movement trajectory MP defined by... n and obtain the movement trajectory MP n For example, the processor 52 acquires the moving direction MD based on the most recent time t n The position P obtained n and the time t n The time t before the control period τn-1 (=t n -τ) n-1 and position P n-1 From position P n Movement trajectory MP up to n The vector may be obtained as the movement direction MD.
[0046] Alternatively, at time t n-2 (=t n -2τ) n-2 From position P n-1 Movement trajectory MP up to n-1 and the above movement trajectory MP n In other words, the processor 52 may calculate the moving direction MD by summing the vectors of the previously acquired positions P n , P n-1 , P n-2 Multiple movement trajectories MP obtained from n , M.P. n-1 , M.P. n-2 ... vector sum Σ(MP n ) may be calculated as the movement direction MD. n Based on this, the moving direction MD can be obtained.
[0047] As another example, the processor 52 may obtain the movement direction MD from the currently executing work program PG1. For example, the work program PG1 includes an instruction code IC that specifies a teaching point at which the end effector 24 (specifically, the origin of the tool coordinate system C2) should be positioned. This teaching point is expressed as coordinates in the robot coordinate system C1. The processor 52 obtains position data for two teaching points specified in the most recently executed instruction code IC and determines a target movement trajectory defined by the two teaching points. The processor 52 then obtains the vector of the obtained target movement trajectory as the movement direction MD.
[0048] As yet another example, the processor 52 may calculate a time t n+1 The expected arrival position P of the robot 12 at n+1 and estimate the predicted arrival position P n+1Specifically, the processor 52 may acquire the moving direction MD based on a plurality of positions P n , P n-1 , P n-2 Multiple movement trajectories MP from n , M.P. n-1 , M.P. n-2 ... and calculate these movement trajectories MP n , M.P. n-1 , M.P. n-2 By performing a predetermined calculation using the n+1 For example, the most recently acquired position P n With respect to position P n-α (α is an arbitrary integer) n-α The closest position Q α Calculate the position Q α From position P n The vectors up to the position P are weighted by the value α and summed up. n The predicted arrival position P n+1 Then, the processor 52 may estimate the most recently acquired position P n From the estimated expected arrival position P n+1 Predicted movement trajectory MP n+1 The vector may be acquired as the movement direction MD.
[0049] Alternatively, the processor 52 may calculate the predicted arrival position P from the currently executing work program PG1. n+1 For example, the processor 52 may estimate a time t n+1 The position data of the teaching point specified in the command code IC to be executed is acquired, and the position of the teaching point is set to the predicted arrival position P n+1 It may be estimated as:
[0050] Then, the processor 52 calculates the most recently acquired position P n , or the predicted arrival position P estimated from the position of the teaching point specified in the most recently executed instruction code IC n+1 The processor 52 may obtain the vector of the movement trajectory from the predicted arrival position P n+1In this way, the processor 52 acquires the movement direction MD of the robot 12 that has entered the restricted area 104. Therefore, the processor 52 functions as a direction acquisition unit 66 (FIG. 2) that acquires the movement direction MD.
[0051] In step S7, the processor 52 executes a stopping operation process. This step S7 will be described with reference to FIG. 7. After the start of step S7, in step S11, the processor 52 determines whether the movement direction MD obtained in the most recent step S6 is a direction toward the environmental object 106. 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 determined in advance. Hereinafter, the position Ps of the environmental object 106 will be referred to as the position P of the robot 12 obtained most recently. n The case where the robot is located in a position away from the robot in the positive direction of the x-axis of the robot coordinate system C1 will be described.
[0052] As an example, the processor 52 obtains a component MDx of the most recently acquired movement direction MD in a direction toward the environmental object 106 (in this embodiment, the positive direction of the x-axis 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 may calculate the most recently acquired position P of the robot 12. n A vector of the movement direction MD starting from the position P n The processor 52 then calculates the angle θ between the vector of the moving direction MD and the virtual line VL, and calculates whether the angle θ is equal to or smaller than a predetermined threshold value θ. th (For example, θ th If the angle is equal to or smaller than 60°, the result may be YES.
[0054] In this way, the processor 52 determines whether or not the movement direction MD is a direction toward the environmental object 106 (in this embodiment, the positive direction of the x-axis of the robot coordinate system C1). If the processor 52 determines that the movement direction MD is a direction toward the environmental object 106 (i.e., YES), the process proceeds to step S12. On the other hand, if the processor 52 determines that the movement direction MD is a direction away from the environmental object 106 (i.e., NO), the process proceeds to step S13.
[0055] In step S12, the processor 52 selects a first stopping scheme SC 1 The first stopping operation SO 1 Specifically, the processor 52 stops the running work program PG1 and executes the first stop operation SO 1 6. Then, the processor 52 cuts off the power supply to each servo motor 26 or activates the brake mechanism BR to bring the operation of the robot 12 to an emergency stop. This makes it possible to immediately stop the robot 12. After step S12 is completed, the processor 52 ends the flow of step S7, thereby ending the flow of FIG.
[0056] If the determination in step S11 is NO, in step S13, the processor 52 executes the second stopping scheme SC 2 In this embodiment, the operator determines whether the stop scheme SC is set or not when the determination in step S11 is NO. i As a second stopping scheme SC 2 or the third stopping scheme SC 3 The processor 52 can set the second stopping scheme SC 2 If the third stopping scheme SC 3 If it is set, the result is NO, and the process proceeds to step S15.
[0057] In step S14, the processor 52 selects a second stopping scheme SC 2 The second stopping operation SO 2Specifically, the processor 52 stops the running work program PG1 and executes the second stop operation SO 2 , and controls each servo motor 26 in accordance with the deceleration command CM1 to decelerate the robot 12. As a result, the robot 12 stops after moving a predetermined deceleration distance.
[0058] At this time, the processor 52 may decelerate the robot 12 along the target movement trajectory (i.e., the teaching point) defined in the task program PG1, or may decelerate the robot 12 in a predetermined direction Dd. This direction Dd is determined based on the movement trajectory MP acquired in step S6. n 6 , or a predetermined direction (for example, the minus x-axis direction, the y-axis direction, or the z-axis direction of the robot coordinate system C1). After step S14 is completed, the processor 52 ends the flow of step S7, thereby completing the flow of FIG.
[0059] If the determination in step S13 is NO, in step S15, the processor 52 executes the third stopping scheme SC 3 The third stopping operation SO 3 Specifically, the processor 52 executes the third stopping operation SO 3 After the movement of the robot 12 is permitted under the movement permission condition CD, the robot 12 is stopped.
[0060] For example, the processor 52 continues to execute the work program PG1 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 step S15 is completed, the processor 52 terminates the flow of step S7, thereby terminating the flow of FIG.
[0061] The processor 52 may repeatedly execute steps S6 and S11 described above while the robot 12 continues to operate in step S15. If the determination in step S11 executed at this time is YES, the processor 52 may proceed to step S12. That is, in this case, the processor 52 brings the robot 12 to an emergency stop when the robot 12 moves toward the environmental object 106 while the robot 12 continues to operate in step S15.
[0062] The processor 52 may also repeatedly execute step S4 described above while continuing the operation of the robot 12 in step S15. If the determination in step S4 executed at this time is NO, the processor 52 may proceed to step S5. That is, in this case, when the robot 12 exits the restricted area 104 while continuing the operation in step S15, the processor 52 returns to the loop of steps S2 to S5 and continues the work.
[0063] In this manner, in this embodiment, the processor 52 selects different stopping schemes SC depending on the moving direction MD obtained in step S6. 1 , SC 2 or SC 3 According to the different stopping operations SO 1 , S.O. 2 or SO 3 Thus, the processor 52 functions as a stop operation execution unit 68 (FIG. 2).
[0064] As described above, in the control device 50 according to this embodiment, the direction acquisition unit 66 acquires the moving direction MD of the robot 12 that has entered the restricted area 104 (step S6). Then, the stopping operation execution unit 68 selects a different stopping scheme SC according to the moving direction MD acquired by the direction acquisition unit 66. i (In this embodiment, i=1, 2, 3) according to the stop operation SO i Execute.
[0065] According to this configuration, when the robot 12 enters the restricted area 104, the operator can select the stopping scheme SC of the robot 12 according to the moving direction MD, taking into consideration the safety of the work. iThis makes it possible to improve work efficiency while ensuring work safety, compared to when the robot 12 is immediately stopped upon entering the restricted area 104.
[0066] In this embodiment, when the movement direction MD acquired by the direction acquisition unit 66 is a direction toward the environmental object 106 (the worker 108, the structure 110, etc.) (YES in step S11), the stop operation execution unit 68 executes the first stop scheme SC 1 A first stopping operation SO 1 Execute.
[0067] This configuration can reliably prevent the robot 12 from colliding with the environmental object 106, thereby improving the safety of the work. 1 As an example, the robot 12 is brought to an emergency stop by cutting off the power supply to the servo motor 26 provided in the robot 12. With this configuration, the robot 12 can be stopped reliably and quickly.
[0068] In this embodiment, when the moving direction MD acquired by the direction acquisition unit 66 is a direction away from the environmental object 106 (NO in step S11), the stopping operation execution unit 68 executes the second stopping scheme SC 2 A second stopping operation SO 2 (step S14), or execute the third stopping scheme SC 3 a third stopping operation SO for stopping the robot 12 after permitting the robot 12 to move in the direction away from the target object; 3 Execute.
[0069] With this configuration, the operator can select the stopping scheme SC of the robot 12 when the robot 12 is moving away from the environment 106 within the restricted area 104. i Considering the safety of the work, the second shutdown scheme SC 2 and the third stopping scheme SC 3As a result, it is possible to effectively ensure work safety and improve work efficiency.
[0070] In this embodiment, the direction acquisition unit 66 acquires the position P n As an example, the direction acquisition unit 66 acquires the movement direction MD based on the plurality of positions P n and P n-1 The movement trajectory MP is defined by n and obtain the movement trajectory MP n According to this configuration, the processor 52 can obtain the movement direction MD with high accuracy using a relatively simple algorithm.
[0071] As another example, the direction acquisition unit 66 may n Based on this, at the previous time t n+1 The expected arrival position P of the robot 12 at n+1 and estimate the predicted arrival position P n+1 According to this configuration, the movement direction MD can be determined with higher accuracy by taking into account the future movement of the robot 12.
[0072] 7 can be modified in various ways. For example, the processor 52 may execute step S14 when determining YES in step S11. That is, in this case, the processor 52 executes the second stopping scheme SC when the moving direction MD is a direction toward the environmental object 106. 2 A second stopping operation SO 2 In this case, if the determination in step S11 is NO, the processor 52 may execute step S15. Such a flow is shown in FIG.
[0073] That is, in this case, when the moving direction MD acquired by the direction acquisition unit 66 is a direction toward the environmental object 106, the stopping operation execution unit 68 executes the second stopping scheme SC 2 The second stopping operation SO 2while if the direction of movement MD is away from the environment 106, a third stopping scheme SC 3 a third stopping operation SO that allows the robot 12 to move in the direction away according to 3 According to this configuration, it is possible to ensure the safety of the work and improve the work efficiency. When the determination in step S11 in FIG. 8 is YES, the processor 52 executes step S15 (the third stopping scheme SC 3 ) is executed, and if the result is NO, step S14 (the second stopping scheme SC 2 ) may be performed.
[0074] Next, other functions of the robot system 10 will be described with reference to Figures 9 and 10. In this embodiment, when the processor 52 executes step S12 in Figure 7, it allows the robot 12 to move in a direction toward the environmental object 106 within a range Rδ of a predetermined allowable distance δ from the boundary of the restricted area 104. For example, as shown in Figure 10, the allowable distance δ is defined as the distance from the boundary surface of the operating area 100 that defines the restricted area 104, and the range Rδ is defined as the range within which the distance from the boundary surface is equal to or less than the allowable distance δ.
[0075] Another example of step S7 in Fig. 6 will be described below with reference to Fig. 11. In the flow of step S7 shown in Fig. 11, the same processes as those in the flow of Fig. 7 are assigned the same step numbers, and duplicated descriptions will be omitted. In step S7 shown in Fig. 11, when 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, the initial value δ of the allowable distance δ is 0 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 allowable distance δ 0 The range Rδ is defined in the robot coordinate system C1. In this manner, in this embodiment, the processor 52 functions as an allowable distance setting unit 70 (FIG. 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 whether the robot 12 has moved beyond the range Rδ defined in the most recent step S21. n is outside the range Rδ within the restricted region 104, the processor 52 determines YES. If the determination is YES, the processor 52 proceeds to step S12 and determines whether the first stopping scheme SC 1 The first stopping operation SO 1 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 work has been completed, similarly to step S5 described above. If the processor 52 determines YES, it ends step S7, thereby ending the flow of Fig. 6. On the other hand, if the processor 52 determines NO, it proceeds to step S24.
[0079] In step S24, similarly to step S4 described above, the processor 52 determines whether or not the robot 12 has entered the restricted area 104. 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 exited the restricted area 104, the processor 52 determines NO, and proceeds to step S5 in FIG. 6 .
[0080] In step S25, the processor 52 acquires the moving direction MD of the robot 12, similar to step S6 described above. After that, the processor 52 returns to step S21 and resets the allowable distance δ so as to change the allowable distance δ in accordance with the moving direction MD acquired in the most recent step S25. As an example, the processor 52 resets the allowable distance δ in accordance with the moving direction MD described above (or the moving speed V of the robot 12, which will be described later). n ) depending on the magnitude of the component MDx, the allowable distance δ is set to the initial value δ 0 The allowable distance δ is changed so as to decrease from
[0081] For example, the processor 52 sets the allowable distance δ to the initial value δ so that the allowable distance δ becomes smaller as the component MDx increases. 0 As another example, the processor 52 reduces the allowable distance δ from the initial value δ in accordance with the angle θ. 0 For example, the processor 52 changes the allowable distance δ from the initial value δ so that the allowable distance δ decreases as the angle θ decreases. 0 Decrease from.
[0082] Here, a larger component MDx or a smaller angle θ means that the robot 12 will 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 the component MDx or the smaller the angle θ, thereby narrowing the range Rδ. In this case, it becomes easier to determine YES in step S22, so the robot 12 is brought to an emergency stop in step S12, thereby more effectively ensuring work safety. However, the processor 52 may also set the allowable distance δ to be larger the larger the component MDx or the smaller the angle θ.
[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, and changes the allowable distance δ in accordance with the movement direction MD each time it executes step S21. Then, while the processor 52 executes the loop of steps S21 to S25, it continues to operate the robot 12 in accordance with the work program PG1.
[0084] As described above, in this embodiment, the processor 52 functions as the shutdown operation execution unit 68 and executes the first shutdown scheme SC 1 The first stopping operation SO 1 When executing the first stopping operation SO (step S12), the processor 52 allows the robot 12 to move in a direction toward the environmental object 106 within a range Rδ of a predetermined allowable distance δ from the boundary of the restricted area 104 (NO in step S22). Then, when the robot 12 moves beyond the range Rd (YES in step S22), the processor 52 executes the first stopping operation SO 1(Step S12).
[0085] 10, a target movement trajectory 134 is defined by teaching points 120, 122, 124, 126, 128, 130, and 132 defined in the work program PG1. When the end effector 24 is moved along the target movement trajectory 134 in accordance with the work program PG1, the processor 52 can cause the end effector 24 to exit from the restricted area 104 to the area 102 without exceeding the range Rd. According to this embodiment, the first stopping operation SO 1 By allowing the robot 12 to operate within the range Rδ when executing the above, it is possible to more effectively ensure the safety of the work and improve the work efficiency.
[0086] In this embodiment, the permissible distance setting unit 70 sets the permissible distance δ so that the permissible distance δ varies depending on the movement direction MD of the robot 12 within the restricted area 104 (step S21). This configuration effectively ensures the safety of the work, as described above, and allows the robot 12 to continue operating when there is a high probability that safety can be ensured. This effectively improves work efficiency.
[0087] The processor 52 calculates the allowable distance δ based on the movement trajectory MP of the robot 12 within the restricted area 104. n For example, the processor 52 may be configured to change the position P n and P n-1 Movement trajectory MP n and calculate the movement trajectory MP n Any position on the n or P n-1 For example, similar to the movement direction MD in the above-described embodiment, the processor 52 may change the allowable distance δ according to a component TDx of the tangential direction TD in the positive direction of the x-axis 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.
[0088] The processor 52 also calculates the allowable distance δ as a function of the moving speed V of the robot 12 within the restricted area 104. n For example, the processor 52 may be configured to change the position P n and P n-1 The distance d between n and calculate the distance d n is divided by the control period τ to obtain the moving speed V n = d n Then, the processor 52 calculates the moving speed V n The allowable distance δ may be set so that the larger the value of .theta., the smaller (or larger) the allowable distance .delta..
[0089] The allowable distance δ may be predetermined as a fixed value. For example, the allowable distance δ may be uniquely determined for each of the teaching points 120, 122, 124, 126, 128, 130, and 132. Specifically, an allowable distance δ1 may be determined for the teaching points 120 and 132, an allowable distance δ2 may be determined for the teaching points 122 and 130, an allowable distance δ3 may be determined for the teaching points 124 and 128, and an allowable distance δ4 may be determined for the teaching point 126.
[0090] In this case, δ1<δ2<δ3 (or δ1>δ2>δ3) may be satisfied. That is, a larger (or smaller) allowable distance δ may be set for a teaching point that is 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, another example of a method for setting the allowable distance δ will be described with reference to Fig. 12. In the example shown in Fig. 12, it is assumed that an environmental object 106 is located on the negative x-axis side of the robot coordinate system C1 relative to the end effector 24, and that the robot 12 is moving the end effector 24 along the target movement trajectory 136 within the restricted area 104 in a direction away from the environmental object 106. This situation may occur, for example, in step S15 described above.
[0092] In this embodiment, the processor 52 calculates the position P of the robot 12 (in this example, the end effector 24) that has entered the restricted area 104. n Specifically, the processor 52 functions as the allowable distance setting unit 70 and sets the allowable distance δ based on the most recently acquired position P n The allowable distance δ is set in the direction from the position P n A range Rδ within which the distance from the target object 101 to the environmental object 106 is equal to or less than the allowable distance δ is defined in the robot coordinate system C1.
[0093] This method of 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, the processor 52 moves the robot 12 (end effector 24) in a direction away from the environmental object 106 within the restricted area 104 as shown in FIG. 12. While the operation in step S15 continues, the processor 52 repeatedly executes steps S6 and S11 as described above, and if the determination in step S11 is YES, the processor 52 proceeds to step S12. When executing step S15, the processor 52 sets the allowable distance δ shown in FIG. 12.
[0094] 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 FIG. 12, it is possible to avoid making an emergency stop of the robot 12 in step S12 even if the end effector 24 moves slightly toward the environmental object 106. This makes it possible to effectively improve work efficiency.
[0095] 10, the processor 52 calculates the allowable distance δ shown in FIG. 12 based on the movement direction MD of the robot 12 and the movement trajectory MP n , or movement speed V nFor example, the processor 52 determines a component MDx of the movement direction MD in the positive direction of the x-axis 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 δ so that the allowable distance δ increases (or decreases) as the component MDx increases.
[0096] Alternatively, the processor 52 may n Alternatively, the processor 52 may calculate a component TDx of the tangential direction TD at any position on the x-axis of the robot coordinate system C1 in the positive direction, and set the allowable distance δ so that the larger the component TDx, the larger (or smaller) the allowable distance δ. n The allowable distance δ may be set so that the larger the value of .theta. is, the larger (or smaller) the allowable distance .delta. becomes.
[0097] Next, other functions of the robot system 10 will be described with reference to Fig. 13 and Fig. 14. In this embodiment, a stop scheme SC i This configuration will be described with reference to Fig. 14. In the example of Fig. 14, a first prohibited area 100B is defined as the motion area 100 in the robot coordinate system C1. A and the first prohibited area 100B A A second prohibited area 100B that partially overlaps with B The first prohibited area 100B is set as follows: A A first restricted area 104A is defined inside the first restricted area 104A, and a second prohibited area 100B is defined inside the first restricted area 104A. B A second restricted area 104B is defined inside the first restricted area 104A. Therefore, there is an overlap area 138 where the first restricted area 104A and the second restricted area 104B overlap.
[0098] As an example, the first prohibited area 100B A The first restricted area 104A in i The first pattern PT1 is set in such a way that the first stopping scheme SC is applied in all directions, regardless of the moving direction MD of the robot 12, for example. 1The first pattern PT1, which brings the robot 12 to an emergency stop in all directions, can be set in the operating area 100 that is effective when an abnormality (such as a power outage or disaster) occurs affecting the entire factory, for example.
[0099] On the other hand, the second prohibited area 100B B The second pattern PT2 is set in the second restricted area 104B within the first restricted area 104. For example, as shown in the flow of FIG. 7, when the moving direction MD of the robot 12 is a direction toward the environmental object 106, the second pattern PT2 is set in the first stopping scheme SC 1 while if the direction of movement MD is away from the environment 106, a second stopping scheme SC 2 or the third stopping scheme SC 3 This is a pattern PT that executes the above.
[0100] In this case where different patterns PT1 and PT2 are defined for the restricted areas 104A and 104B, it is assumed that the end effector 24 of the robot 12 enters the overlap area 138 as shown in Figure 14. In this case, the operation of the robot 12 is affected by the stopping scheme SC i and the stopping scheme SC of the second pattern PT2 i Therefore, in this embodiment, a plurality of stopping schemes SC i are given a priority order PR (first, second, third, etc.).
[0101] Specifically, before starting work, the processor 52 generates image data IM (not shown) for assigning the priority order PR and displays it on the display device 60. This image data IM includes, for example, the stop scheme SC included in the first pattern PT1 and the second pattern PT2. i (First Stopping Scheme SC 1 , the second stopping scheme SC 2 , the third stopping scheme SC 3 ) and these stop schemes SC i , each of which includes an input image IMi for assigning a priority PR.
[0102] The operator operates the input device 58 while visually checking the image data IM to input the stop scheme SC i The processor 52 inputs a priority order PR to the input image IMi for each image. The processor 52 receives an input IP1 specifying the priority order PR through the image data IM, and stores information about the priority order PR specified by the input IP1 in the memory 54. In this manner, in this embodiment, the processor 52 functions as an input receiving unit 72 ( FIG. 13 ) that receives the input IP1 specifying the priority order PR.
[0103] For example, if the operator selects a first stopping scheme SC 1 The first priority PR is assigned to the second stopping scheme SC 2 The second priority PR is assigned to the third stopping scheme SC 3 14 moves the end effector 24 in a direction 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 stopping scheme SC 1 is applied, while the second pattern PT2 set in the second restricted area 104B applies the second stopping scheme SC 2 or the third stopping scheme SC 3 The first stopping scheme SC 1 and the second stopping scheme SC 2 or the third stopping scheme SC 3 Among them, the first stop scheme SC has the highest priority PR. 1 This becomes:
[0105] Therefore, in this case, the processor 52 functions as a stop operation execution unit 68, refers to the information of the priority order PR stored in the memory 54, and selects one of the plurality of stop schemes SC to be applied. i The first stopping scheme SC of the first pattern PT1 having the higher priority PR specified by the input IP1 1 The first stopping scheme SC 1The first stopping operation SO 1 will be carried out.
[0106] Next, referring to FIG. 15, the stopping scheme SC i Another example of the pattern PT will be described. In the example of Fig. 15, a movable area 100A and a prohibited area 100B adjacent to the movable area 100A are set as the operating area 100 in the robot coordinate system C1. A first restricted area 104C is defined outside the movable area 100A, while a second restricted area 104B is defined inside the prohibited area 100B. Therefore, in the example of Fig. 15, the inside of the prohibited area 100B is an overlapping area 140 where the first restricted area 104C and the second restricted area 104B overlap.
[0107] For example, the second pattern PT2 (FIG. 7) described above is set in the first restricted area 104C, while the fourth pattern PT4 is set in the second restricted area 104B. For example, as shown in the flow of FIG. 8, when the direction of movement MD of the robot 12 is toward the environmental object 106, the fourth pattern PT4 is set in the second restricted area 104C. 2 while if the direction of movement MD is away from the environment 106, a third stopping scheme SC 3 This is a pattern PT that executes the above.
[0108] For example, if the operator selects a first stopping scheme SC 1 The first priority PR is given to the third stopping scheme SC 3 The second priority PR is given to the second stopping scheme SC 2 15 , the end effector 24 has entered the inside of the prohibited area 100B (i.e., the overlap area 140) and is moving in the direction toward the environmental object 106.
[0109] In this case, according to the second pattern PT2 set in the first restricted area 104C, the first stopping scheme SC 1 is applied (FIG. 7), while the fourth pattern PT4 set in the second restricted area 104B applies the second stopping scheme SC 2In this case, the processor 52 functions as the shutdown operation execution unit 68 and executes the first shutdown scheme SC of the second pattern PT2 having the higher priority PR. 1 According to the first stopping operation SO 1 Execute.
[0110] 15, the end effector 24 that has entered the overlapping area 140 is moved in a direction 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 SC 2 is applied (step S14 in FIG. 7), while the third stopping scheme SC 3 is applied (step S15 in FIG. 8).
[0111] The second stopping scheme SC applied at this time 2 and the third stopping scheme SC 3 Among them, the one with the highest priority PR is the third stopping scheme SC, which is given the second highest priority PR. 3 Therefore, in this case, the processor 52 functions as the shutdown operation execution unit 68 and executes the third shutdown scheme SC1 with the higher (second) priority PR according to the priority PR specified by the input IP1. 3 The third stopping scheme SC 3 The third stopping operation SO 3 will be carried out.
[0112] As described above, in this embodiment, the stop scheme SC i A pattern PT of the stop scheme SC is defined. i In the overlapping areas 138 and 140 of the restricted areas 104A, 104B, and 104C, the stop operation execution unit 68 selects the stop scheme SC with the highest priority PR. i (In the above example, the first stopping scheme SC 1 , or the third stopping scheme SC 3) according to the stop operation SO i Execute.
[0113] According to this configuration, for each of the plurality of restricted areas 104A, 104B, and 104C, various stopping schemes SC of patterns PT are set. i It is possible to set multiple overlapping stopping schemes SC i Among these, those that are effective in ensuring safety and improving work efficiency can be given priority. This allows a wider variety of safety measures to be designed depending on the application. In addition, in this embodiment, the input receiving unit 72 receives an input IP1 that specifies the priority order PR. With this configuration, the operator can arbitrarily specify the priority order PR, thereby increasing the degree of freedom in designing safety measures.
[0114] Next, another example of the priority order PR will be described with reference to Fig. 16. In this embodiment, the stop scheme SC i 16 shows the end effector 24 entering the restricted area 104, 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 directions away from the environmental object 106.
[0115] For example, the first stopping scheme SC 1 is set in the positive y-axis direction, the negative y-axis direction, the positive z-axis direction, and the negative z-axis direction, and the second stop scheme SC 2 is set in the negative x-axis direction, and the third stopping scheme SC 3 Then, the operator sets the first stopping scheme SC 1 The first priority PR is assigned to the third stopping scheme SC 3 The second priority PR is assigned to the second stopping scheme SC 2 Assume that processor 52 is provided with an input IP1 specifying the third highest priority PR.
[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 Fig. 16, the movement direction MD includes a component MDx in the positive x-axis direction of the robot coordinate system C1 and a component MDy in the positive y-axis direction. For such an operation in the movement direction MD, the first stop scheme SC set in the positive x-axis direction is used. 1 and a second stopping scheme SC set in the positive y-axis direction. 2 In this case, the processor 52 functions as the shutdown operation execution unit 68 and executes the first shutdown scheme SC 1 The first stopping scheme SC 1 The first stopping operation SO 1 Execute.
[0117] 17, if the processor 52 moves the end effector 24 in the movement direction MD within the restricted area 104, the movement direction MD includes a component -MDx in the negative x-axis direction of the robot coordinate system C1 and a component -MDy in the negative y-axis direction. For such an operation in the movement direction MD, a third stopping scheme SC set in the negative x-axis direction is used. 3 and a second stopping scheme SC set in the negative y-axis direction. 2 The following will be applied.
[0118] In this case, the processor 52 functions as the shutdown operation execution unit 68 and executes the third shutdown scheme SC having the higher priority PR. 3 The third stopping scheme SC 3 The third stopping operation SO 3 In this way, the stopping scheme SC i 16 and 17, the priority order PR may be determined in the same manner for other axis directions of the robot coordinate system C1 according to the priority order PR. i Please understand that you can adopt.
[0119] As described above, in this embodiment, one stop scheme (for example, stop scheme SC 1 or SC 3 ) is defined, and another stopping scheme (for example, stopping scheme SC 2 ) is determined.
[0120] Then, when the moving direction MD acquired by the direction acquisition unit 66 has a first direction component (MDx or −MDx) and a second direction component (MDy or −MDy), the stop operation execution unit 68 executes the stop scheme SC 1 or SC 3 Stop operation according to SO 1 or SO 3 According to this configuration, the movement direction MD is determined by the stopping scheme SC i When each of the components has a plurality of directions, a stopping scheme SC is effective for ensuring safety and improving work efficiency. i This allows for the design of a variety of safety measures.
[0121] In the present embodiment, the processor 52 receives an input IP1 that specifies the priority order PR. However, the present invention is not limited to this. The priority order PR may be predetermined, and information about the priority order PR may be stored in the memory 54 in advance.
[0122] 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 receives a plurality of stopping schemes SC for each of a plurality of movement directions MD. i Specifically, the processor 52 generates image data 150 for receiving the input IP2 and displays it on the display device 60. Therefore, the processor 52 functions as the image generation unit 74 ( FIG. 18 ) that generates the image data 150.
[0123] An example of image data 150 is shown in Figure 19. The image data 150 includes a setting selection image 152. The setting selection image 152 indicates a stopping scheme SC i The GUI includes an operation button image 152a for selecting whether to enable or disable the setting of the setting. The operator can select enable or disable by operating the input device 58 and clicking 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 executes the stop scheme SC i This disables all the settings of the stop scheme SC set in the restricted area 104. i All patterns PT of the respective restricted areas 104 are disabled, and for example, one predetermined stopping scheme SC i (For example, the first stopping scheme SC 1 ) is applied. Alternatively, a common stopping scheme SC i may be applied to all of the restricted areas 104. On the other hand, when an input IP3 of an operation to activate a function for the operation button image 152a is received, the processor 52 applies the stop scheme SC i This enables the setting of the stopping scheme SC set through the image data 150 as described below. i The pattern PT becomes valid.
[0125] The image data 150 includes an input selection image 154 and an area selection image 156 for setting the safety signal Ss and the disable signal Si. The input selection image 154 is a GUI for selecting a source device (such as the safety mat 112 or the safety switch 114) of the safety signal Ss and the disable signal Si to be input to the control device 50. The operator can operate the input device 58 to click on the input selection image 154 to select the source device of the safety signal Ss and the disable signal Si from, for example, the safety mat 112 or the safety switch 114. Note that the input selection image 154 may be configured so that the source device of the safety signal Ss and the source device of the disable signal Si can be set individually.
[0126] On the other hand, the area selection image 156 is a GUI for selecting the motion area 100 (in other words, the restricted area 104) to be enabled or disabled in accordance with the safety signal Ss and the disable signal Si from the device selected in the input selection image 154. The operator operates the input device 58 and clicks on the area selection image 156 to select the motion area to be enabled or disabled, for example, the above-mentioned movable area 100A, the prohibited area 100B, 100B A and 100B B You can choose from the following.
[0127] Suppose that the operator operates the input device 58 to select the safety mat 112 in the input selection image 154 and provides the processor 52 with an input IP4 that selects the movable area 100A in the area selection image 156. In this case, the processor 52 receives the input IP4 as the input receiving unit 72, sets the device that transmitted the safety signal Ss and the disable signal Si to the safety mat 112, and sets the movable area 100 to be enabled or disabled in accordance with the safety signal Ss and the disable signal Si to the movable area 100A. As a result, the processor 52 becomes able to receive the safety signal Ss and the disable signal Si transmitted from the safety mat 112, and enables or disables the movable area 100A in the robot coordinate system C1 in accordance with the received safety signal Ss and the disable signal Si.
[0128] When the movable area 100A is disabled in response to the disable signal Si, the stop scheme SC set in the restricted area 104 outside the movable area 100A is i All patterns PT of the i (For example, the first stopping scheme SC 1 ) may also be applied.
[0129] The image data 150 includes a type selection image 158 and a numerical value input image 160 for setting the allowable distance δ. The type selection image 158 is a GUI for selecting the type of the allowable distance δ described above. The types of allowable distance δ include various types of fixed or variable allowable distances described using FIGS. 10 and 11 . The type selection image 158 is a GUI for selecting such a type of the allowable distance δ. On the other hand, the numerical value input image 160 is a GUI for inputting the numerical value of the allowable distance δ.
[0130] 10 on type selection image 158, and provides input IP5 to processor 52 by selecting "10 mm" on numerical value input image 160. In this case, processor 52 receives input IP5 as input receiving unit 72, and sets the allowable distance δ as a fixed value of 10 mm from the boundary of restricted area 104 in robot coordinate system C1.
[0131] When the allowable distance δ is set as a fixed value, the type selection image 158 and the numerical value input image 160 may be configured to allow the allowable distance δ to be set in detail for each of the teaching points 120 to 132 (FIG. 10) as described above. When the allowable distance δ is set as a variable value, the type selection image 158 and the numerical value input image 160 may allow the allowable distance δ to be set in detail for each of the teaching points 120 to 132 (FIG. 10) as described above. n and the allowable distance δ is set to the initial value δ 0 The value to be reduced from the value may be configured to be able to be set in detail.
[0132] The image data 150 includes a stop scheme SC for each movement direction MD. iThe image includes a coordinate system selection image 162 for setting a coordinate system C, and stop scheme setting images 164, 166, 168, 170, 172, and 174. The coordinate system selection image 162 is a GUI for selecting a coordinate system C that will be used as a reference for determining the movement direction MD. The operator can operate the input device 58 to click on the coordinate system selection image 162, thereby selecting the reference coordinate system C from a plurality of coordinate systems C including a robot coordinate system C1 and a tool coordinate system C2.
[0133] The stop scheme setting images 164, 166, 168, 170, 172, and 174 respectively set a plurality of stop schemes SC for the positive x-axis direction, negative x-axis direction, positive y-axis direction, negative y-axis direction, positive z-axis direction, and negative z-axis direction of the coordinate system C selected by the coordinate system selection image 162. i These 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 assumed movement direction MD.
[0134] The operator operates the input device 58 and clicks on the stop scheme setting images 164, 166, 168, 170, 172, and 174 on the image, thereby setting, for example, the first stop scheme SC 1 , the second stopping scheme SC 2 , and the third stopping scheme SC 3 You can select and set it from the following.
[0135] Suppose the operator operates the input device 58 to select the robot coordinate system C1 on the coordinate system selection image 162 and the first stopping scheme SC on the stopping scheme setting image 164. 1 and set the third stop scheme SC in the stop scheme setting image 166. 3 and set the second stopping scheme SC in the stopping scheme setting images 168, 170, 172 and 174. 2 Assume that an input IP2 is given that sets
[0136] In this case, the processor 52 receives an input IP2 as the input receiving unit 72, and as shown in FIG. 19, the first stopping scheme SC 1 and a third stopping scheme SC 3 and a second stopping scheme SC is set for the positive y-axis direction, the negative y-axis direction, the positive z-axis direction, and the negative z-axis direction. 2 Thus, the processor 52 sets one stopping scheme SC for each direction of movement MD according to the input IP2. i Set.
[0137] As described above, in this embodiment, the input receiving unit 72 generates a plurality of stopping schemes SC for each of a plurality of movement directions MD (for example, the directions of the axes of the robot coordinate system C1). i , and the stop scheme SC for the various directions of movement MD. i Since the value can be set arbitrarily, safety measures can be designed in a more diverse manner depending on the application.
[0138] In this embodiment, the image generating unit 74 generates one stop scheme SC for each of a plurality of movement directions MD. i Then, the input receiving unit 72 receives the input IP2 through the image data 150. According to this configuration, the operator can visually check the image data 150 while selecting the stop scheme SC i can be easily set.
[0139] Next, further functions of the robot system 10 will be described with reference to Fig. 20. In this embodiment, the processor 52 functions as an image generator 74 and generates an image of the stopping scheme SC i 20 includes a three-dimensional image in which a robot model 12M, which is a model of the robot 12, is placed in a virtual space together with a robot coordinate system C1 and a tool coordinate system C2. The robot model 12M is a three-dimensional CAD model or the like, and is stored in advance in the memory 54.
[0140] For example, when the work is started in step S1 in Fig. 6, the processor 52 generates image data 180 and displays it on the display device 60. Then, during the work, the processor 52 moves the robot model 12M to the position P obtained based on the feedback FB. n The image data 180 may be updated to simulate a movement of the object.
[0141] Alternatively, the processor 52 may simulate the movement of the robot model 12M within the image data 180 based on the task program PG1. Specifically, the processor 52 may update the image data 180 so as to simulate the movement of the robot model 12M along the target movement trajectory (i.e., teaching points) defined in the task program PG1. The processor 52 also displays the operation area 100 validated in step S3 ( FIG. 6 ) in the image data 180 together with the robot model 12M. FIG. 20 shows the first prohibited area 100B shown in FIG. 14 . A and the second prohibited area 100B B is set.
[0142] Here, the processor 52 selects a stop scheme SC i When the above is executed, the image data 180 includes the currently executing stop scheme SC i The identification information 182 is, for example, the identification information 182 of the currently running stop scheme SC i Identification code (name, identification number, etc.) of the stop scheme SC i In the example shown in FIG. 20, the identification information 182 includes a description of the first stopping scheme SC 1 In this example, when executing step S12 described above, the processor 52 displays the identification information of the first stopping scheme SC 1 The identification information 182 is displayed in the image data 180 together with the robot model 12M that operates in a simulated manner in the virtual space.
[0143] The processor 52 may stop the execution of the stop scheme SC iFor example, in the example shown in FIG. 20, the processor 52 may distinguishably display the first prohibited area 100B at the start of the work. A and the second prohibited area 100B B Both are displayed with the default visual effects (colors, patterns, etc.).
[0144] Thereafter, as in the embodiment described with reference to FIG. 14, the first prohibited area 100B A (i.e., restricted area 104A) 1 When the above is executed, the processor 52 determines whether the first prohibited area 100B A The image data 180 is updated so that the visual effect of the currently running stop scheme SC is changed from the initial setting. i It can be intuitively recognized which operating region 100 (restricted region 104) each of the above-mentioned expressions relates to.
[0145] As described above, in this embodiment, the image generating unit 74 generates the stopping scheme SC i According to this configuration, the operator can determine what kind of stopping scheme SC the robot 12 is using during the operation. i You can intuitively recognize what is being done.
[0146] The processor 52 places the robot model 12M together with the operating area 100 in the virtual space, and determines which of the stopping schemes SC i For example, when the setting of the operating area 100 (or the setting of the setting selection image 152 in FIG. 19 ) is disabled, the processor 52 may execute such a simulation and display it as a playback image on the display device 60.
[0147] 6 to 8, 10 to 12, 14 to 17, 19, and 20 in accordance with a computer program PG2 pre-stored in the memory 54. The functions of the direction acquisition unit 66, the stopping operation execution unit 68, the allowable distance setting unit 70, the input acceptance unit 72, and the image generation unit 74 executed by the processor 52 may be functional modules realized by the computer program PG2.
[0148] In the above embodiment, the position Ps of the environmental object 106 (worker 108, structure 110, etc.) is predetermined. However, this is not limiting. The processor 52 may capture an image of the environmental object 106 in the work cell with a visual sensor and obtain the position Ps of the environmental object 106 based on the captured image data. Alternatively, the processor 52 may obtain the position Ps of the environmental object 106 with a non-contact sensor such as an infrared sensor.
[0149] Instead of the position Ps of the environmental object 106, the area Es in which the environmental object 106 exists may be defined in the robot coordinate system C1. In this case, the processor 52 may define the most recently acquired position P of the robot 12 in step S11. n If a vector of the movement direction MD starting from the point intersects with the region Es, the result may be YES.
[0150] Furthermore, multiple environmental objects 106 may be present at different positions within the work cell. In this case, different stopping schemes SC i For example, in the work cell, when the first environmental object 106A (e.g., the worker 108) is at a position Ps 1 and a second environment 106B (e.g., structure 110) is located at position Ps 2 It is assumed that it was established in.
[0151] Then, a pattern PT3 is set for the first environmental object 106A. This pattern PT3 is set, for example, when the movement direction MD of the robot 12 in the restricted area 104 is aligned with the first environmental object 106A (i.e., the position Ps 1 ) the first stopping scheme SC1 while if the direction of movement MD is away from the first environment 106A, a second stopping scheme SC 2 This is a pattern PT that executes the above.
[0152] On the other hand, a pattern PT4 is set for the second environmental object 106B. This pattern PT4 is set, for example, when the movement direction MD of the robot 12 in the restricted area 104 is aligned with the second environmental object 106B (i.e., the position Ps 2 ) the first stopping scheme SC 1 (or the second stopping scheme SC 2 ), while if the direction of movement MD is away from the second environment 106B, a third stopping scheme SC 3 The processor 52 then determines a stopping scheme SC that is different depending on whether the direction of movement MD of the robot 12 within the restricted area 104 is toward or away from the environmental object 106A and the environmental object 106B. i In this case, the stop scheme SC to be executed is determined according to a predetermined priority PR. i A common stopping scheme SC may be defined for multiple environmental objects 106. i A pattern PT may be set as follows.
[0153] In the above embodiment, the position P of the robot 12 n The case where the position of the end effector 24 in the robot coordinate system C1 (specifically, the coordinate of the origin of the tool coordinate system C2) is acquired as the coordinate of the robot 12 is described above. However, the present invention is not limited to this. The processor 52 may acquire the position P 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. nIn the above embodiment, the robot coordinate system C1 is exemplified, but the position P may be obtained based on any other coordinate system C, such as a world coordinate system that defines the three-dimensional space of the work cell. n may be obtained.
[0155] Also, the first stopping scheme SC 1 , the second stopping scheme SC 2 , and the third stopping scheme SC 3 is an example of a stopping scheme SC i As such, any other stopping operation SO i The stop scheme SC i 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, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the present disclosure or the spirit of the present disclosure derived from the content of the claims and their equivalents. These embodiments can also be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these. The same applies when numerical values or mathematical expressions are used in the description of the above-described embodiments.
[0157] As described above, the present disclosure describes the following aspects: (Aspect 1) Stopping operation SO of the robot 12 i A plurality of stopping schemes SC each defining i a direction acquisition unit (66) that acquires a moving direction (MD) of the robot (12) that has entered a restricted area (104, 104A, 104B, 104C) that restricts the movement of the robot (12); and a stopping scheme (SC) that is different depending on the moving direction (MD) acquired by the direction acquisition unit (66). i Stop operation according to SO iThe control device 50 includes a stop operation execution unit 68 that executes the first stop scheme SC when the moving direction MD acquired by the direction acquisition unit 66 is a direction toward the environmental object 106. (Aspect 2) The stop operation execution unit 68 executes the first stop scheme SC 1 A first stopping operation SO 1 or by implementing a second stopping scheme SC 2 A second stopping operation SO 2 The control device 50 according to aspect 1 executes the first stopping scheme SC when the direction of movement MD acquired by the direction acquisition unit 66 is a direction toward the environmental object 106. 1 The first stopping operation SO 1 while if the direction of movement MD is away from the environment 106, a second stopping scheme SC 2 The second stopping operation SO 2 or by implementing a third stopping scheme SC 3 a third stopping operation SO that allows the robot 12 to move in the direction away according to 3 The control device 50 according to aspect 2 executes the second stopping scheme SC when the direction of movement MD acquired by the direction acquisition unit 66 is a direction toward the environmental object 106. 2 The second stopping operation SO 2 while if the direction of movement MD is away from the environment 106, a third stopping scheme SC 3 a third stopping operation SO that allows the robot 12 to move in the direction away according to 3 The control device 50 according to aspect 2 executes the first stopping operation SO. i The control device 50 according to the second or third aspect of the present invention brings the robot 12 to an emergency stop by cutting off the power supply to the servo motors 26 provided in the robot 12. (Aspect 6) The stop operation execution unit 68 executes the first stop scheme SC i The first stopping operation SO 1When executing the above, the boundary of the restricted area 104, 104A, 104B, 104C or the position P of the robot 12 within the restricted area 104, 104A, 104B, 104C n The robot 12 is permitted to move in the direction of the movement within a range Rδ of a predetermined allowable distance δ from the target position, and the first stopping operation SO 1 The control device 50 according to aspect 2, 3 or 5 executes the following: (Aspect 7) The 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 aspect 6 further includes an allowable distance setting unit (70) that sets the allowable distance (δ) so that the allowable distance (δ) is changed depending on the stop scheme (SC). i The control device (50) according to any one of aspects 1 to 7, further comprising an image generating unit (74) that generates image data (180) that displays the identification information (182) of the stop scheme (SC) for each of a plurality of moving directions (MD). i The control device 50 according to any one of aspects 1 to 8 further comprises an input receiving unit 72 configured to receive an input IP2 for setting one of the stop schemes SC for each of a plurality of movement directions MD. i The control device (50) according to aspect 9 further includes an image generating unit (74) that generates image data (150) for setting the stop scheme (SC), and the input receiving unit (72) receives the input IP2 through the image data (150). i The pattern of the stop scheme SC is defined. i In the overlapping areas 138 and 140 of the restricted areas 104A, 104B, and 104C, the stop operation execution unit 68 selects the stop scheme SC having the highest priority PR. i Stop operation according to SO i The control device 50 according to any one of aspects 1 to 10, wherein the control device 50 executes a plurality of stop schemes SC. i are given a priority PR and one stopping scheme SC for the first direction. 1 , SC3 is defined, and another stopping scheme SC for the second direction is defined. 2 is determined, and the stop operation execution unit 68 determines the one stop scheme SC having the highest priority PR when the movement direction MD acquired by the direction acquisition unit 66 has first direction components MDx, -MDx and second direction components MDy, -MDy. 1 , SC 3 or the other stopping scheme SC 2 Stop operation according to SO i The control device 50 according to any one of aspects 1 to 10, further comprising an input receiving unit 72 that receives an input IP1 that specifies a priority order PR. n The control device 50 according to any one of aspects 1 to 13, further comprising: a direction acquisition unit 66 for acquiring the movement direction MD based on a plurality of positions P n , P n-1 The movement trajectory MP is defined by n and obtain the movement trajectory MP n The control device 50 according to aspect 14 acquires the moving direction MD based on the previous time t n+1 The expected arrival position P of the robot 12 at n+1 is estimated, and the expected arrival position P n+1 The control device 50 according to any one of aspects 1 to 15 acquires the movement direction MD based on the above. i A plurality of stopping schemes SC each defining i The control method of the robot 12 is determined in advance, and the movement direction MD of the robot 12 that has entered the restricted area 104, 104A, 104B, 104C that restricts the movement of the robot 12 is acquired, and different stopping schemes SC are set according to the acquired movement direction MD. i Stop operation according to SO i (Aspect 18) A control method for causing a processor 52 to execute the method described in Aspect 17. Computer program PG2.
[0158] REFERENCE SIGNS LIST 10 Robot system 12 Robot 26 Servo motor 50 Control device 52 Processor 66 Direction acquisition unit 68 Stop operation execution unit 70 Allowable distance setting unit 72 Input reception unit 74 Image generation unit 100 Operation area 100A Movable area 100B, 100B A , 100B B Prohibited area 102 Area 104, 104A, 104B, 104C Restricted area 106 Environmental object 150, 180 Image data
Claims
1. A control device for a robot in which a plurality of stopping schemes that define the stopping operation of the robot are predefined, the control device comprising: a direction acquisition unit that acquires the moving direction of the robot when it enters a restricted area that restricts the movement of the robot; and a stopping operation execution unit that executes the stopping operation in accordance with the stopping scheme that differs depending on the moving direction acquired by the direction acquisition unit.
2. The control device described in claim 1, wherein the stopping operation execution unit, when the movement direction acquired by the direction acquisition unit is a direction toward an environmental object, executes a first stopping operation to bring the robot to an emergency stop in accordance with a first stopping scheme, or executes a second stopping operation to decelerate and stop the robot in accordance with a second stopping scheme.
3. The control device described in claim 2, wherein the stopping operation execution unit executes the first stopping operation according to the first stopping scheme when the movement direction acquired by the direction acquisition unit is the heading direction, while executing the second stopping operation according to the second stopping scheme when the movement direction is a direction away from the environmental object, or executes a third stopping operation that allows the robot to move in the direction away according to the third stopping scheme.
4. The control device described in claim 2, wherein the stop operation execution unit executes the second stop operation in accordance with the second stop scheme when the movement direction acquired by the direction acquisition unit is the heading direction, and executes a third stop operation in accordance with the third stop scheme to allow the robot to move in the away direction when the movement direction is a direction away from the environmental object.
5. A control device as described in claim 2 or 3, wherein the stop operation execution unit brings the robot to an emergency stop by cutting off the power supply to a servo motor provided on the robot during the first stop operation.
6. A control device as described in claim 2 or 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 of travel 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 if the robot moves beyond that range.
7. A control device as described in claim 6, further comprising an allowable distance setting unit that sets the allowable distance so that the allowable distance varies depending on the movement direction, movement trajectory, or movement speed of the robot within the restricted area.
8. The control device according to claim 1, further comprising an image generating unit that generates image data that displays identification information of the stopping scheme that is executed by the stopping operation executing unit.
9. The control device according to claim 1, 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.
10. The control device according to claim 9, further comprising an image generation unit that generates image data for setting one of the plurality of movement directions, and wherein the input reception unit receives the input through the image data.
11. The control device according to claim 1, wherein a pattern of the stop scheme is defined for each of the plurality of restricted areas, and a priority is assigned to the plurality of stop schemes, and in an overlapping area of the plurality of restricted areas that overlap each other, the stop operation execution unit executes the stop operation in accordance with the stop scheme with the highest priority.
12. The control device of claim 1, wherein the plurality of stopping schemes are given priorities, one stopping scheme is defined for a first direction, and another stopping scheme is defined for a second direction, and the stopping operation execution unit executes the stopping operation in accordance with the one stopping scheme or the other stopping scheme having the higher priority when the moving direction acquired by the direction acquisition unit has a component in the first direction and a component in the second direction.
13. The control device according to claim 11 or 12, further comprising an input receiving unit that receives an input specifying the priority order.
14. The control device according to claim 1, wherein the direction acquisition unit acquires the movement direction based on the position of the robot moving within the restricted area.
15. The control device according to claim 14, wherein the direction acquisition unit acquires a movement trajectory defined by a plurality of the positions, and acquires the movement direction based on the acquired movement trajectory.
16. The control device according to claim 1, wherein the direction acquisition unit estimates a predicted arrival position of the robot at a future point in time, and acquires the movement direction based on the predicted arrival position.
17. A method for controlling a robot in which a plurality of stopping schemes that define the stopping operation of the robot are predetermined, the method comprising: acquiring a moving direction of the robot when the robot enters a restricted area that restricts the movement of the robot; and executing the stopping operation according to different stopping schemes depending on the acquired moving direction.
18. A computer program product causing a processor to perform the method of claim 17.
Citation Information
Patent Citations
Interference avoidance device of robot
JP2011125975A
Robot system and robot control method
JP2018149627A
Robot system
JP2018176397A