Robot system and robot control device
The robot system and control device dynamically adjust load profiles to adapt to environmental changes, addressing the inefficiency of safety fences and environmental adjustments in collaborative robots, ensuring continuous and safe operation.
Patent Information
- Application Number
- JP2023547954
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-09-14
- Publication Date
- 2025-12-09
- Estimated Expiration
- 2041-09-14
AI Technical Summary
Existing collaborative robots require safety fences and costly environmental adjustments to prevent unintended stops due to external force detection, which is inefficient and burdensome.
A robot system and control device that dynamically adjust reference load profiles based on sensor data to detect and adapt to changes in external forces without altering the environment, using a recording processing unit and determination unit to store and update load profiles.
Enables safe operation of collaborative robots by dynamically adjusting to environmental changes without the need for safety fences or significant user intervention, ensuring continuous operation and safety.
Smart Images

Figure 0007783286000001 
Figure 0007783286000002 
Figure 0007783286000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a robot system and a robot control device. [Background technology]
[0002] 2. Description of the Related Art Collaborative robots that work in collaboration with humans are known, and that ensure safety by detecting external forces using sensors and stopping when external forces are detected. For example, when the load on a robot fluctuates, in order to prevent the robot from stopping by detecting the load as an external force, a technique is known in which, when no external force is acting, one or more operation commands included in an operation program executed to perform a task are executed, the magnitude of the force detected by a sensor is stored in association with the operation command, and when an operation command of the operation program is executed in a state in which an external force may be acting, the presence or absence of an external force is determined based on the magnitude of the force stored in association with the operation command and the magnitude of the force detected by the sensor (see, for example, Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 6526097 Summary of the Invention [Problem to be solved by the invention]
[0004] In Patent Document 1, when the magnitude of the force (load) is memorized, the force (load) acting on the robot is detected as an external force, so it is necessary to set the robot so that it does not stop (stop on contact) due to external force detection. However, since a setting that does not stop on contact cannot ensure safety as a collaborative robot, it is necessary to set up the environment and settings to ensure safety, such as surrounding it with a safety fence, just like with a normal robot, which requires time and cost. Furthermore, the magnitude of the stored force (load) may change depending on the environment in which the robot is installed, the season, and the like.
[0005] Therefore, it is desirable to record the load acting on a robot in response to changes over time without changing the environment or settings in which the robot is used. [Means for solving the problem]
[0006] One aspect of the robot system of the present disclosure is a robot system including a robot, a robot control device that controls the robot, and a sensor that can detect information regarding forces acting on the robot, wherein the robot control device includes a recording processing unit that stores a first reference load profile in a memory unit, and a determination unit that determines at least the presence or absence of an external force acting on the robot based on the first reference load profile and the load acting on the robot detected by the sensor, and the recording processing unit stores the load in the memory unit as a second reference load profile depending on the status of the external force.
[0007] One aspect of the robot control device disclosed herein includes a recording processing unit that stores a first reference load profile in a memory unit, and a determination unit that determines at least the presence or absence of an external force acting on the robot based on the first reference load profile and a load acting on the robot detected by a sensor, and the recording processing unit stores the load in the memory unit as a second reference load profile depending on the status of the external force.
[0008] One aspect of the robot control device disclosed herein includes a recording processing unit that stores a first reference load profile in a memory unit, and a determination unit that determines the magnitude of an external force acting on the robot based on the first reference load profile and a load acting on the robot detected by a sensor, and the recording processing unit records the load as a second reference load profile in the memory unit in accordance with the determination result of the external force.
[0009] One aspect of a robot control device of the present disclosure includes at least one memory and at least one processor, wherein the at least one memory stores a first reference load profile, and the at least one processor is configured to be able to acquire a load acting on a robot detected by a sensor, determine a magnitude of an external force acting on the robot based on the first reference load profile and the load, and store the load in the at least one memory as a second reference load profile according to the determination result of the external force. [Effects of the Invention]
[0010] According to one embodiment, the load acting on the robot can be recorded in response to changes over time without changing the environment or settings in which the robot is used. [Brief explanation of the drawings]
[0011] [Figure 1] FIG. 1 is a diagram illustrating an example of a configuration of a robot system according to a first embodiment. [Figure 2] FIG. 2 is a functional block diagram showing an example of the functional configuration of the robot control device according to the first embodiment. [Figure 3] FIG. 10 is a diagram illustrating an example of a load, a sensor value of the load, and a calculated external force of a provisional reference load profile. [Figure 4] FIG. 10 is a diagram illustrating an example of a change in a reference load profile over time. [Figure 5] 10 is a flowchart illustrating a determination process of the robot control device. [Figure 6] FIG. 10 is a functional block diagram showing an example of the functional configuration of a robot system according to a second embodiment. [Figure 7] FIG. 10 is a functional block diagram showing an example of the functional configuration of a robot control device according to a second embodiment. [Figure 8A] FIG. 10 is a diagram illustrating an example of the operation of the robot. [Figure 8B] FIG. 10 is a diagram illustrating an example of the operation of the robot. [Figure 8C]FIG. 10 is a diagram illustrating an example of the operation of the robot. [Figure 9] FIG. 10 is a diagram showing an example of a calculated change in load acting on a robot. [Figure 10] FIG. 10 is a functional block diagram showing an example of the functional configuration of a robot system according to a third embodiment. [Figure 11] FIG. 10 is a functional block diagram showing an example of the functional configuration of a robot control device according to a second embodiment. [Figure 12] FIG. 10 is a diagram showing an example of an external force calculated when the robot control device executes the determination process for the first time. [Figure 13] FIG. 10 is a diagram showing an example of an external force calculated when the robot control device executes the determination process for the second time. [Figure 14] FIG. 1 is a diagram illustrating an example of a robot that grips a hose, a cable, or the like. [Figure 15] FIG. 10 is a diagram illustrating an example of a recorded reference load. [Figure 16] FIG. 10 is a diagram illustrating an example of a change in a reference load over time. DETAILED DESCRIPTION OF THE INVENTION
[0012] Before describing specific embodiments of the robot system and the robot control device, conventional problems will be briefly described. Fig. 14 is a diagram showing an example of a robot that grips a hose, a cable, etc. In Fig. 14, the force (load) acting on the robot R1 is schematically shown by the expansion and contraction of a spring B1. As shown in FIG. 14, when the robot R1 operates based on a work program in the absence of any external force, the magnitude of the force (load) such as tension caused by the hose H1 that it is holding is detected by a sensor (not shown), and the magnitude of the detected force (load) is stored as a reference (hereinafter also referred to as the "reference load").
[0013] Fig. 15 is a diagram showing an example of a recorded reference load. The vertical axis of Fig. 15 represents tension (reference load), and the horizontal axis of Fig. 15 represents the program progress (time, position, etc.) of the work program. Fig. 15 shows the load (shown by the dashed line) detected by a sensor (not shown) and the reference load (shown by the solid line) recorded in the form of a step function, with the detected load associated with the program progress. When the robot R1 is operating in a state where an external force may be acting (i.e., a state where the robot R1 may come into contact with surrounding people, equipment, etc.), an external force determination is made to determine whether the absolute value of the difference between the load detected by a sensor (not shown) and the reference load (i.e., the external force acting on the robot R1) exceeds a preset threshold value, using the stored reference load as a reference, and if the external force exceeds the threshold value, the robot R1 is stopped as it has come into contact with a person, etc.
[0014] However, as shown in FIG. 16, the magnitude of the force (load) on the hose H1, etc., changes over time due to factors such as deterioration of the hose H1, hardening of the fluid inside the hose H1 due to low temperatures, etc. In FIG. 16, the reference load in FIG. 15 is shown by a solid line, and the force (load) that changes over time detected by a sensor (not shown) is shown by a dashed line. In this case, the external force calculated as the absolute value of the difference between the reference load in FIG. 15 and the force (load) that changes over time exceeds a threshold value even if the robot R1 is not in contact with a person or other object, causing the robot R1 to stop. Therefore, the tension (load) that changes over time must be re-stored as a new reference load (shown by a dashed line) that corresponds to the program progress. However, re-storing the tension (load) requires changing the environment and settings again, which is a significant burden on the user. The above is a brief description of the conventional problems.
[0015] Next, first to third specific embodiments of a robot system and a robot control device will be described in detail with reference to the drawings. Here, each embodiment has in common a configuration in which an external force due to unintentional contact (interference) with surrounding people, equipment, etc. is detected from the load acting on the robot. However, in the first embodiment, the robot is operated based on a task program in advance in a state where external force detection is disabled and there is no unintended interference between the robot and its surroundings, and changes in the load acting on the robot detected by sensors corresponding to the task performed are stored as the reference load profile. In contrast, the second embodiment differs from the first embodiment in that a simulation of the robot's task is performed in advance based on the task program, and the calculated changes in the load acting on the robot are stored as the reference load profile. Furthermore, the third embodiment differs from the first and second embodiments in that the robot is operated based on a task program in a state where external force detection is enabled and there is a possibility of interference, and changes in the load acting on the robot detected by sensors until the robot's task is stopped due to a false detection of interference caused by a load exceeding the contact stop threshold are stored as the reference load profile. In the following, the first embodiment will be described in detail first, and then the second and third embodiments will be described, focusing on the differences from the first embodiment.
[0016] First Embodiment FIG. 1 is a diagram illustrating an example of the configuration of a robot system according to the first embodiment. As shown in FIG. 1, the robot system 1 is a system in which a human and a robot 10 operate in a shared work area without a safety fence, and includes the robot 10, a robot control device 20, and a force sensor 30.
[0017] The robot 10, robot control device 20, and force sensor 30 may be directly connected to each other via a connection interface (not shown). The robot 10, robot control device 20, and force sensor 30 may also be connected to each other via a network (not shown) such as a LAN (Local Area Network) or the Internet. In this case, the robot 10, robot control device 20, and force sensor 30 are provided with a communication unit (not shown) for communicating with each other via such connection.
[0018] The robot 10 is a collaborative robot that operates under the control of a robot control device 20, which will be described later. The robot 10 includes a base 11 for rotating around a vertical axis, an arm 12 that moves and rotates, and an end effector 13, such as a hand, attached to the tip of the arm 12 for picking up a workpiece.
[0019] The force sensor 30 is mounted on the robot 10, for example, and detects the magnitude of a force including a load acting on the robot 10. Furthermore, when the end effector 13 at the tip of the robot 10 is a hand that grips a workpiece, the force sensor 30 detects the load formed by the weight of the workpiece or the like gripped by the hand, and also detects an external force acting on the robot 10 from a person or the like when the person or the like comes into contact with (interferes with) the robot 10. Note that the force sensor 30 may be provided for each axis of the robot 10, or may be provided as a torque sensor for each axis. Furthermore, the detected load may include correction values such as the weight of the arm 12, end effector 13, workpiece, etc. of the robot 10, and / or load due to acceleration / deceleration, and offset of the force sensor 30.
[0020] <Robot control device 20> The robot control device 20 is a device known to those skilled in the art for controlling the operation of the robot 10. The robot control device 20 generates control signals by executing a task program that is generated using Cartesian coordinate values or axis values that indicate the position of the tip point of the robot 10 that are taught by a user operating a teaching operation panel (not shown), and outputs the generated control signals to the robot 10, thereby operating the robot 10.
[0021] FIG. 2 is a functional block diagram showing an example of the functional configuration of the robot control device 20 according to the first embodiment. 2, the robot control device 20 includes a control unit 210, a storage unit 220, and an input unit 230. The control unit 210 also includes a program execution unit 211, a determination unit 212, and a record processing unit 213.
[0022] The input unit 230 is, for example, a keyboard, a teaching operation panel (not shown), a touch panel arranged on a display unit (not shown) included in the robot control device 20, or the like, and receives input from a user such as an operator.
[0023] The storage unit 220 is a ROM (Read Only Memory) or HDD (Hard Disk Drive), and stores a reference load profile 221 together with various control programs. The reference load profile 221 as the first reference load profile is data on changes in load, for example, when the program execution unit 211 described later operates the robot 10 based on a work program without stopping the robot due to the detection of an external force, and the program execution unit 211 described later operates the robot 10 based on a work program, and the data on changes in load acting on the robot 10 detected by the force sensor 30 in response to the work performed by the robot 10 (for example, the reference load shown by the solid line in Figure 15), and is stored in the memory unit 220 by the recording processing unit 213 described later. The reference load profile 221 may be data on changes in the load acting on the robot 10 detected by the force sensor 30 due to the most recent operation of the robot 10 .
[0024] The control unit 210 has a CPU (Central Processing Unit), ROM, RAM (Random Access Memory), CMOS (Complementary Metal-Oxide-Semiconductor) memory, etc., which are configured to be able to communicate with each other via a bus, and are well known to those skilled in the art. The CPU is a processor that controls the entire robot control device 20. The CPU reads out system programs and application programs stored in ROM via the bus, and controls the entire robot control device 20 in accordance with the system programs and application programs. As a result, as shown in FIG. 2, the control unit 210 is configured to realize the functions of a program execution unit 211, a determination unit 212, and a recording processing unit 213. The RAM stores various data such as temporary calculation data and display data. In addition, the CMOS memory is backed up by a battery (not shown), and is configured as a non-volatile memory that retains its stored state even when the power to the robot control device 20 is turned off.
[0025] For example, when the program execution unit 211 receives an instruction to execute a work program from a user via the input unit 230, it executes the work program to generate a control signal and outputs the generated control signal to the robot 10, thereby causing the robot 10 to operate.
[0026] The determination unit 212 determines at least whether or not an external force is acting on the robot 10 based on the reference load profile 221 and the load detected by the force sensor 30, for example. Specifically, for example, when the program execution unit 211 receives an instruction to execute a task program from a user via the input unit 230, the determination unit 212 reads out the reference load profile 221 from the storage unit 220 as a provisional reference load profile. The program execution unit 211 then executes the task program to operate the robot 10, and the determination unit 212 corrects the load sensor value by subtracting the load of the provisional reference load profile corresponding to the program progress from the load sensor value detected by the force sensor 30, and calculates the external force acting on the robot 10 when a person or the like comes into contact with (interferes with) the robot 10. Note that the load sensor value detected by the force sensor 30 may be corrected in advance by a correction value such as a load due to the weight and / or acceleration / deceleration of the arm 12, end effector 13, workpiece, etc. of the robot 10, or an offset of the force sensor 30.
[0027] 3 is a diagram showing an example of the load of the provisional reference load profile, the load sensor value, and the calculated external force. In FIG. 3, the load of the provisional reference load profile is shown by a solid line, the load sensor value is shown by a dashed line, and the calculated external force is shown by a dashed-dotted line. The judgment unit 212 judges whether the calculated external force exceeds a predetermined threshold value (hereinafter also referred to as the "contact stop threshold value") that has been set in advance, and judges that an external force is present if the calculated external force exceeds the contact stop threshold value, and judges that an external force is not present if the calculated external force is equal to or less than the contact stop threshold value. By doing so, the robot control device 20 can stop the robot 10 when it is determined that an external force is present, thereby ensuring safety, without having to install a safety fence between the robot 10 and nearby people, etc.
[0028] The recording processing unit 213 updates the sum of the load of the provisional reference load profile and the calculated external force by associating it with the program progress (time, position, etc.), as a new reference load profile 221 (second reference load profile), and stores it in the storage unit 220. Note that instead of the sum, the recording processing unit 213 may store, as the new reference load profile 221, a sensor value before correction detected by the force sensor 30, or a sensor value after correction based on a correction value such as a load due to the weight and / or acceleration / deceleration of the arm 12, end effector 13, workpiece, etc. of the robot 10, or an offset of the force sensor 30. In this way, even if the reference load profile gradually changes over time due to deterioration of hoses or cables, as shown in FIG. 4 (in FIG. 4, the reference load profile shown by the solid line changes from the bottom to the top of the vertical axis), the robot control device 20 can respond to changes over time by storing the reference load profile as appropriate during normal operating conditions / operation in a state where interference may occur.
[0029] <Determination process of the robot control device 20> Next, the operation of the determination process of the robot control device 20 according to this embodiment will be described. 5 is a flowchart illustrating the determination process of the robot control device 20. The flow shown here is executed every time an instruction to execute a work program is received from the user.
[0030] In step S11, when the program execution unit 211 receives an instruction to execute a work program from the user via the input unit 230, the determination unit 212 reads out the reference load profile 221 from the storage unit 220 as a provisional reference load profile.
[0031] In step S12, the program execution unit 211 executes the task program to operate the robot 10.
[0032] In step S13, the determination unit 212 corrects the sensor value of the load detected by the force sensor 30 by subtracting the load of the provisional reference load profile corresponding to the program progress, and calculates the external force acting on the robot 10 when a person or the like comes into contact with (interferes with) the robot 10. Note that the sensor value of the load detected by the force sensor 30 may be corrected in advance by a correction value such as the weight and / or load due to acceleration / deceleration of the arm 12, end effector 13, workpiece, etc. of the robot 10, or an offset of the force sensor 30.
[0033] In step S14, the recording processing unit 213 associates the sum of the load of the provisional reference load profile and the external force calculated in step S13 with the program progress and stores it in the storage unit 220 as a new reference load profile 221. Note that instead of the sum, the recording processing unit 213 may store, as the new reference load profile 221, a sensor value before correction detected by the force sensor 30, or a sensor value corrected by a correction value such as a load due to the weight and / or acceleration / deceleration of the arm 12, end effector 13, workpiece, etc. of the robot 10, or an offset of the force sensor 30.
[0034] In step S15, the determination unit 212 determines whether the external force calculated in step S13 exceeds the contact stop threshold. If the external force exceeds the contact stop threshold, the process proceeds to step S16. On the other hand, if the external force is equal to or less than the contact stop threshold, the process proceeds to step S17.
[0035] In step S16, the determination unit 212 stops the robot 10 and ends the determination process.
[0036] In step S17, the program execution unit 211 determines whether the work program has ended. If the work program has ended, the determination process ends. On the other hand, if the work program has not ended, the process returns to step S13.
[0037] As described above, the robot control device 20 according to the first embodiment operates the robot 10 based on a task program in advance in a state where unintended interference between the robot 10 and its surroundings is prevented and external force detection is disabled, stores changes in the load acting on the robot 10 detected by the force sensor 30 in accordance with the task performed as the reference load profile 221, and updates and stores the reference load profile 221 as appropriate during normal operating conditions / operation in a state where interference may occur. This allows the robot control device 20 to record the load acting on the robot 10 in accordance with changes over time in the environment or settings in which the robot 10 is used, without imposing a large burden on the user. The first embodiment has been described above.
[0038] Second Embodiment Next, a second embodiment will be described. In the first embodiment, the robot 10 is operated based on a work program in advance in a state where unintended interference between the robot 10 and its surroundings does not occur and detection of external forces is disabled, and changes in the load acting on the robot 10 detected by the force sensor 30 in accordance with the work performed are stored as a reference load profile. In contrast, the second embodiment differs from the first embodiment in that a simulation of the work of the robot 10 is performed in advance based on the work program, and the calculated changes in the load acting on the robot 10 are stored as a reference load profile. This allows the robot control device 20A of the second embodiment to record the load acting on the robot 10 that may exceed the contact stop threshold without changing the environment or settings in which the robot 10 is used. The second embodiment will be described below.
[0039] Fig. 6 is a functional block diagram showing an example of the functional configuration of a robot system according to the second embodiment. Elements having the same functions as those of the robot system 1 in Fig. 1 are denoted by the same reference numerals, and detailed description thereof will be omitted. As shown in FIG. 6, the robot system 1A includes a robot 10, a robot control device 20A, and a force sensor 30. The robot 10 and the force sensor 30 have the same functions as the robot 10 and the force sensor 30 in the first embodiment.
[0040] <Robot control device 20A> Fig. 7 is a functional block diagram showing an example of the functional configuration of a robot control device 20A according to the second embodiment. Elements having the same functions as those of the robot control device 20 in Fig. 2 are given the same reference numerals, and detailed descriptions thereof will be omitted. 7, the robot control device 20A includes a control unit 210a, a storage unit 220a, and an input unit 230. The control unit 210a also includes a program execution unit 211, a determination unit 212, a record processing unit 213, and a simulation execution unit 214. The input unit 230 has the same functions as the input unit 230 in the first embodiment. The program execution unit 211, the determination unit 212, and the recording processing unit 213 have the same functions as the program execution unit 211, the determination unit 212, and the recording processing unit 213 in the first embodiment.
[0041] The storage unit 220a is a ROM, HDD, or the like, similar to the storage unit 220 of the first embodiment, and stores a reference load profile 221a along with various control programs. The reference load profile 221a is data on changes in load, for example, data on changes in load acting on the robot 10 calculated by a simulation of the work of the robot 10 based on a work program performed in advance by the simulation execution unit 214 described later, and is stored in the memory unit 220a by the recording processing unit 213.
[0042] The simulation execution unit 214 executes a simple simulation of the work of the robot 10 based on the work program, and calculates changes in the load acting on the robot 10. Specifically, for example, as shown in Figures 8A to 8C, when lifting a soft, long workpiece W such as a hose or cable, the simulation execution unit 214 performs a simple simulation to calculate the load acting on the robot 10 according to the length of the lifted workpiece W, ignoring friction with the floor, etc., and calculates the change in the load acting on the robot 10. Fig. 9 is a diagram showing an example of changes in the calculated load acting on the robot 10. In Fig. 9, the calculated load acting on the robot 10 is shown by a solid line, and the sensor value of the load detected by the force sensor 30 is shown by a dashed line. The simulation execution unit 214 associates the calculated load change with the program progress and stores it as a reference load profile 221a. 8A to 8C, in order to set the robot 10 to not come into contact with the workpiece W from the beginning to the end of the lifting, the movements of the robot 10 are large, and it is necessary to ensure safety with a safety fence or the like and set the robot 10 to not come into contact with the workpiece W. Also, accurately simulating the load of the work performed by the robot 10 shown in FIGS. 8A to 8C is difficult and requires a lot of man-hours. In contrast, the simulation execution unit 214 can easily obtain the reference load profile 221a by executing a simple simulation. The simulation execution unit 214 may be configured separately from the robot control device 20 A. For example, the robot control device 20 A may be configured to take in the results of a simulation performed by another computer as the reference load profile 221 a.
[0043] The determination process of the robot control device 20A is the same as the process shown in FIG. 5, and a detailed description thereof will be omitted.
[0044] As described above, the robot control device 20A according to the second embodiment executes a simulation of the work of the robot 10 based on the work program in advance, stores the calculated changes in the load acting on the robot 10 as the reference load profile 221a, and updates and stores the reference load profile 221a as appropriate during normal operating conditions / operation in a state in which interference may occur. This allows the robot control device 20A to record the load acting on the robot 10 that may exceed the contact stop threshold without imposing a large burden on the user and without changing the environment or settings in which the robot 10 is used. Furthermore, the robot control device 20A calculates the external force by correcting the sensor value of the load detected by the force sensor 30 using the provisional reference load profile, and updates the new reference load profile by the sum of the provisional reference load profile and the calculated external force. Therefore, if the reference load profile 221a can be estimated to some extent, the reference load profile 221a can be stored without preparing an environment for storage. The second embodiment has been described above.
[0045] Third Embodiment Next, a third embodiment will be described. In the first embodiment, the robot 10 is operated based on a task program in a state where external force detection is disabled and there is no unintended interference between the robot 10 and its surroundings. Changes in the load acting on the robot 10, detected by the force sensor 30, corresponding to the performed task are stored as a reference load profile. In the second embodiment, a simulation of the task of the robot 10 is performed based on the task program in advance, and the calculated changes in the load acting on the robot 10 are stored as a reference load profile. In contrast, the third embodiment differs from the first and second embodiments in that the robot 10 is operated based on a task program in a state where external force detection is enabled and there is a possibility of interference. Changes in the load acting on the robot 10, detected by the force sensor 30, are stored as a reference load profile until the robot 10 is stopped due to a false detection of interference caused by a load exceeding the contact stop threshold. Note that the false detection of interference includes a stop due to the detection of contact during an intended task. If the contact is intended and safe, stopping the robot 10 is not actually desired. As a result, the robot control device 20B of the third embodiment can record the load acting on the robot 10 that may exceed the contact stop threshold without changing the environment or settings in which the robot 10 is used. The third embodiment will be described below.
[0046] Fig. 10 is a functional block diagram showing an example of the functional configuration of a robot system according to the third embodiment. Elements having the same functions as those of the robot system 1 in Fig. 1 are denoted by the same reference numerals, and detailed description thereof will be omitted. As shown in FIG. 10, the robot system 1 includes a robot 10, a robot control device 20B, and a force sensor 30. The robot 10 and the force sensor 30 have the same functions as the robot 10 and the force sensor 30 in the first embodiment.
[0047] <Robot control device 20B> Fig. 11 is a functional block diagram showing an example of the functional configuration of a robot control device 20B according to the second embodiment. Elements having the same functions as those of the robot control device 20 in Fig. 2 are given the same reference numerals, and detailed description thereof will be omitted. 11, the robot control device 20B includes a control unit 210b, a storage unit 220b, and an input unit 230. The control unit 210b also includes a program execution unit 211, a determination unit 212b, and a record processing unit 213. The input unit 230 has the same functions as the input unit 230 in the first embodiment. The program execution unit 211 and the recording processing unit 213 have the same functions as the program execution unit 211 and the recording processing unit 213 in the first embodiment.
[0048] The storage unit 220b is a ROM, HDD, or the like, similar to the storage unit 220 of the first embodiment, and stores a reference load profile 221b together with various control programs. The reference load profile 221b is data on changes in load, as will be described later, when there is insufficient space to install a safety fence or the like around the robot 10 and it is difficult to prepare a safe environment, and the program execution unit 211 operates the robot 10 based on a task program in a state where there is a possibility of contact (interference) between the robot 10 and surrounding people or equipment, and the data is stored in the memory unit 220b by the recording processing unit 213. In other words, the reference load profile 221b is data on changes in load, such as a load of "0", until the robot 10 stops working due to a false detection of contact (interference) caused by a load exceeding a contact stop threshold.
[0049] For example, when there is insufficient space to set up a safety fence or the like around the robot 10 and it is difficult to prepare a safe environment, the judgment unit 212b judges the magnitude of the external force acting on the robot 10 based on the reference load profile 221b and the load detected by the force sensor 30 in a state where there is a possibility of contact (interference) occurring between the robot 10 and a person or the like due to a load that exceeds the contact stop threshold from the start.
[0050] Specifically, for example, when the program execution unit 211 receives an instruction to execute an initial (first) task program from the user via the input unit 230, the determination unit 212b reads out the reference load profile 221b with a load of "0" from the storage unit 220b as a provisional reference load profile. The program execution unit 211 then executes the task program to operate the robot 10, and the determination unit 212 corrects the load sensor value by subtracting the load (for example, "0") in the provisional reference load profile corresponding to the program progress from the load sensor value detected by the force sensor 30, and calculates the external force acting on the robot 10 when a person or the like comes into contact with (interferes with) the robot 10. 12 is a diagram showing an example of the external force calculated when the robot control device 20B executes the determination process for the first time. In FIG. 12, the calculated external force, i.e., the sensor value of the load detected by the force sensor 30, is shown by a dashed line. The determination unit 212b determines whether the calculated external force exceeds a preset contact stop threshold. If the calculated external force exceeds the contact stop threshold, the determination unit 212b determines that an external force is present and stops the robot 10. On the other hand, if the calculated external force is equal to or less than the contact stop threshold, the determination unit 212b determines that an external force is absent.
[0051] Then, the recording processing unit 213 updates the new reference load profile 221b by associating the sum of the load of the provisional reference load profile and the calculated external force with the program progress (time, position, etc.) as shown by the solid line in Fig. 12, and stores the updated new reference load profile 221b in the storage unit 220b. Note that, as shown in Fig. 12, the load of the newly stored reference load profile 221b is a value corresponding to the sensor value of the load detected by the force sensor 30 while the robot 10 is below the contact stop threshold and is not in contact (interference) with surrounding people or equipment, and after a false detection of contact (interference), a value corresponding to the contact stop threshold or a value corresponding to the sensor value at the time of detection is stored.
[0052] 12 as a provisional reference load profile from the storage unit 220b. The program execution unit 211 then executes the work program to operate the robot 10, and the determination unit 212b corrects the load sensor value by subtracting the load in the provisional reference load profile corresponding to the program progress from the load sensor value detected by the force sensor 30, and calculates the external force acting on the robot 10. Fig. 13 is a diagram showing an example of the calculated external force when the robot control device 20B executes the determination process for the second time. In Fig. 13, the sensor value of the load detected by the force sensor 30 is indicated by a dashed line, the reference load profile 221b shown in Fig. 12 is indicated by a solid line, and the calculated external force is indicated by a dashed-dotted line. Also, in Fig. 13, the external force calculated from the first stop to the second stop, associated with the program progress (time, position, etc.), is indicated by a thick solid line.
[0053] The recording processing unit 213 updates the new reference load profile 221b by associating the sum of the load of the provisional reference load profile shown by the solid line in Figure 13 and the calculated external force shown by the thick solid line with the program progress (time, position, etc.), and stores it in the memory unit 220b. The recording processing unit 213 can store the reference load profile 221b over the entire period of the work program in the storage unit 220b by causing the robot control device 20B to repeat the determination process.
[0054] The determination process of the robot control device 20B is the same as the process shown in FIG. 5, and a detailed description thereof will be omitted.
[0055] As described above, the robot control device 20B according to the third embodiment operates the robot 10 based on the task program during normal operating conditions / operation in a state where interference may occur, and updates and stores, as the reference load profile 221b, the change in the load acting on the robot 10 detected by the force sensor 30 until the robot 10 stops working due to a false detection of interference. This allows the robot control device 20B to record the load acting on the robot 10 that may exceed the contact stop threshold, without imposing a heavy burden on the user and without changing the environment or settings in which the robot 10 is used. Furthermore, even if the load of the reference load profile 221b is unknown when the determination process is executed for the first time, the robot control device 20B can store the reference load profile 221b by repeatedly executing the determination process. If the external force exceeds the contact stop threshold due to unintentional interference and the robot 10 stops, the user needs to remove the cause of the interference and re-store the reference load profile 221b. The third embodiment has been described above.
[0056] <Modification of the third embodiment> In the third embodiment, when the robot control device 20B determines that contact (interference) has occurred in the determination process, it stops the robot 10 and executes the next determination process from the beginning, but this is not limiting. For example, the robot control device 20B may restart the program progress from the position where it was stopped in the most recent determination process, or may start from a position on the program operation path before the position where it was stopped. Alternatively, after the robot control device 20B has stopped the robot 10 due to a judgment process determining that contact (interference) has occurred, if the user confirms safety (for example, that the robot 10 is not actually in contact with a person, etc., or that no external forces other than those involved in the work are occurring), and the user inputs a safety confirmation and an instruction to resume the work of the robot 10 via the input unit 230, the robot control device 20B may resume the judgment process from the position where the robot 10 was stopped.
[0057] The first, second, and third embodiments have been described above, but the robot systems 1, 1A, and 1B and the robot control devices 20, 20A, and 20B are not limited to the above-described embodiments and include modifications, improvements, etc. within the scope that can achieve the objectives.
[0058] <Variation 1> In the first, second, and third embodiments, the robot control devices 20, 20A, and 20B stop the robot 10 when the calculated external force exceeds the contact stop threshold, but this is not limiting. For example, the robot control devices 20, 20A, and 20B may stop the robot 10 and notify the user of this.
[0059] <Variation 2> Furthermore, for example, in the first, second, and third embodiments, the robot control devices 20, 20A, and 20B operate the robot 10 based on a work program in advance under conditions in which unintended interference between the robot 10 and its surroundings will not occur, and store as a reference load profile either data on changes in the load acting on the robot 10 detected by the force sensor 30 in response to the work performed, data on changes in the load acting on the robot 10 calculated by simulating the work of the robot 10 in advance based on the work program, or data on changes in the load acting on the robot 10 detected by the force sensor 30 after operating the robot 10 based on the work program in a condition in which interference may occur until the work of the robot 10 is stopped due to a false detection of interference, but this is not limited to the above. For example, the robot control devices 20, 20A, 20B may store as reference load profiles a combination of two or more of the following: a reference load profile in which the robot 10 is operated based on a work program in a state where unintended interference between the robot 10 and its surroundings is prevented, and changes in the load acting on the robot 10 detected by the force sensor 30 corresponding to the work performed are stored; a reference load profile in which a simulation of the work of the robot 10 is performed based on the work program in advance, and changes in the load acting on the robot 10 calculated and stored; a reference load profile in which the robot 10 is operated based on the work program in a state where interference may occur, and changes in the load acting on the robot 10 detected by the force sensor 30 until the work of the robot 10 is stopped due to a false detection of interference; and a reference load profile in which the load at the time of false detection is stored.
[0060] The functions of the robot systems 1, 1A, and 1B and the robot control devices 20, 20A, and 20B according to the first, second, and third embodiments can be realized by hardware, software, or a combination of these. Here, "realized by software" means that the functions are realized by a computer reading and executing a program.
[0061] The program can be stored and supplied to a computer using various types of non-transitory computer-readable media. Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic storage media (e.g., flexible disks, magnetic tapes, hard disk drives), magneto-optical storage media (e.g., magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs, CD-R / Ws, and semiconductor memories (e.g., mask ROMs, PROMs (Programmable ROMs), EPROMs (Erasable PROMs), flash ROMs, and RAMs). The program may also be supplied to a computer by various types of transitory computer-readable media. Examples of transitory computer-readable media include electrical signals, optical signals, and electromagnetic waves. The transitory computer-readable media can be supplied to a computer via wired communication paths such as electric wires and optical fibers, or via wireless communication paths.
[0062] In addition, the steps of writing a program to be recorded on a recording medium include not only processes that are performed chronologically in accordance with the order, but also processes that are not necessarily performed chronologically but are performed in parallel or individually.
[0063] In other words, the robot system and robot control device of the present disclosure can take on a variety of embodiments having the following configurations.
[0064] (1) The robot system 1 of the present disclosure is a robot system including a robot 10, a robot control device 20 that controls the robot 10, and a force sensor 30 that can detect information regarding forces acting on the robot 10. The robot control device 20 includes a recording processing unit 213 that stores a reference load profile 221 in the memory unit 220, and a determination unit 212 that determines at least the presence or absence of an external force acting on the robot 10 based on the reference load profile 221 and the load acting on the robot 10 detected by the force sensor 30. The recording processing unit 213 stores the load as the reference load profile 221 in the memory unit 220 depending on the status of the external force. According to this robot system 1, the load acting on the robot 10 can be recorded in accordance with changes over time without changing the environment or settings in which the robot 10 is used, or the load acting on the robot 10 can be determined to be an external force.
[0065] (2) In the robot system 1 described in (1), the reference load profile 221 as the second reference load profile may be the sum of the reference load profile 221 as the first reference load profile and an external force. In doing so, the robot system 1 can update the reference load profile.
[0066] (3) In the robot system 1B described in (1) or (2), when the judgment unit 212b judges that the external force is equal to or less than a predetermined threshold, the recording processing unit 213 may record the load as a reference load profile 221 in the memory unit 220b. In this way, the robot system 1B can record the load while the robot 10 is not in contact (interfering) with the surroundings.
[0067] (4) In the robot system 1 described in any one of (1) to (3), the determination unit 212 may stop the operation of the robot 10 when it determines that the external force is greater than a predetermined threshold value. In this way, the robot system 1 can operate the robot 10 safely.
[0068] (5) In the robot system 1 described in any one of (1) to (4), the recording processing unit 213 may store the provisional reference load profile in the memory unit 220 as a new reference load profile 221 instead of the reference load profile 221. In doing so, the robot system 1 can update the reference load profile.
[0069] (6) In the robot system 1 described in (1), the reference load profile 221 may be a reference load profile that is created by operating the robot 10 based on a work program in a state in which unintended interference between the robot 10 and its surroundings does not occur, and storing changes in load corresponding to the work performed. In this way, the robot system 1 can store an accurate reference load profile 221 from the beginning.
[0070] (7) In the robot system 1A described in (1), the reference load profile 221a may be a reference load profile that stores changes in the load acting on the robot 10 calculated by performing a simulation of the work of the robot 10 based on a work program in advance. In this way, the robot system 1A can store the reference load profile 221a without preparing an environment for storage.
[0071] (8) In the robot system 1B described in (1), the reference load profile 221b may be a reference load profile that stores the change in load when the robot 10 is operated based on a work program and the robot 10 stops due to a false detection of unintended interference between the robot 10 and its surroundings. This allows the robot system 1B to store the reference load profile 221b even when there is not enough space to install a safety fence or the like around the robot 10 and it is difficult to prepare a safe environment.
[0072] (9) In the robot system 1B described in (1), the reference load profile 221b may be a reference load profile that records the load change until the robot 10 stops due to a false detection of unintended interference between the robot 10 and its surroundings when the robot 10 is operated based on a work program, and the load acting on the robot 10 at the time of the false detection. By doing so, the robot system 1B can achieve the same effect as (8).
[0073] (10) In the robot system 1B described in (8) or (9), an input unit 230 is further provided, and when the input unit 230 determines that the stoppage of the robot 10 is due to the erroneous detection after the robot 10 has stopped and confirms the safety of the robot 10, and inputs an instruction to resume the work of the robot 10, the determination unit 212b may use the reference load profile 221b to correct the load acting on the robot 10 after the robot 10 has stopped. In this way, the robot system 1B can store the reference load profile 221b by repeatedly executing the determination process.
[0074] (11) In the robot systems 1, 1A, and 1B described in (1), the reference load profile may be a combination of two or more of the following: a reference load profile 221 in which the robot 10 is operated based on a work program in advance in a state where no unintended interference occurs between the robot 10 and its surroundings, and the change in load corresponding to the work performed is stored; a reference load profile 221a in which a simulation of the work of the robot 10 is performed in advance based on the work program and the change in load acting on the robot 10 calculated and stored; a reference load profile 221b in which the robot 10 is operated based on the work program and the change in load until the robot 10 stops due to a false detection of unintended interference is stored; and a reference load profile in which the load at the time of the false detection is stored. This allows the robot systems 1, 1A, and 1B to adapt to various environments and settings in which the robot 10 is placed.
[0075] (12) In the robot system 1, 1A, 1B described in any one of (1) to (11), the load may include a correction value for at least one of the weight and / or load due to acceleration / deceleration of the mechanical part of the robot 10, the end effector 13 including the hand, and the workpiece held by the hand, and an offset of the force sensor 30.
[0076] (13) The robot control device 20 of the present disclosure includes a recording processing unit 213 that stores a reference load profile 221 in the memory unit 220, and a determination unit 212 that determines at least the presence or absence of an external force acting on the robot 10 based on the reference load profile 221 and the load acting on the robot 10 detected by the force sensor 30, and the recording processing unit 213 stores the load as the reference load profile 221 in the memory unit 220 depending on the status of the external force. According to this robot control device 20, the same effect as (1) can be achieved.
[0077] (14) The robot control device 20B of the present disclosure includes a recording processing unit 213 that stores a reference load profile 221b in a memory unit 220b, and a determination unit 212b that determines the magnitude of an external force acting on the robot 10 based on the reference load profile 221b and the load acting on the robot 10 detected by the force sensor 30. The recording processing unit 213 records the load as the reference load profile 221b in the memory unit 220b in accordance with the determination result of the external force. According to this robot control device 20B, it is possible to achieve the same effect as (1).
[0078] (15) The robot control device 20 of the present disclosure includes at least one memory (storage unit 220) and at least one processor (control unit 210), wherein the at least one memory stores a reference load profile 221, and the at least one processor is configured to be able to acquire the load acting on the robot 10 detected by the force sensor 30, determine the magnitude of the external force acting on the robot 10 based on the reference load profile 221 and the load, and store the load as the reference load profile 221 in the at least one memory according to the determination result of the external force. According to this robot control device 20, the same effect as (1) can be achieved. [Explanation of symbols]
[0079] 1, 1A, 1B Robot System 10. Robot 20, 20A, 20B Robot control device 210, 210a, 210b Control unit (processor) 211 Program Execution Department 212, 212b Judgment section 213 Recording Processing Unit 214 Simulation Execution Unit 220, 220a, 220b storage unit (memory) 221, 221a, 221b Reference Load Profiles 30 Robot
Claims
1. A robot system including a robot, a robot control device that controls the robot, and a sensor that can detect information regarding a force acting on the robot, The robot control device a recording processing unit that stores the first reference load profile in a storage unit; a determination unit that determines at least whether or not an external force is acting on the robot based on the first reference load profile read from the storage unit when an instruction to execute a program is received and a load acting on the robot detected by the sensor during execution of the program, The recording processing unit stores the load in the storage unit as a second reference load profile according to the state of the external force. Robot system.
2. The robot system of claim 1 , wherein the second reference load profile is a sum of the first reference load profile and the external force.
3. When the determination unit determines that the external force is equal to or less than a predetermined threshold, The recording processing unit causes the storage unit to record the load as the second reference load profile. The robot system according to claim 1 or 2.
4. When the determination unit determines that the external force is greater than a predetermined threshold, the operation of the robot is stopped. The robot system according to any one of claims 1 to 3.
5. The robot system according to claim 1 , wherein the recording processing unit stores the second reference load profile in the storage unit as a new reference load profile in place of the first reference load profile.
6. 2. The robot system according to claim 1, wherein the first reference load profile is a reference load profile that is obtained by operating the robot based on a work program in advance in a state in which unintended interference between the robot and its surroundings does not occur, and storing changes in the load corresponding to the work performed.
7. 2. The robot system according to claim 1, wherein the first reference load profile is a reference load profile that stores changes in load acting on the robot calculated by executing a simulation of a task of the robot based on a task program in advance.
8. 2. The robot system according to claim 1, wherein the first reference load profile is a reference load profile that stores a change in the load when the robot is operated based on a work program and when the robot is stopped due to a false detection of unintended interference between the robot and its surroundings.
9. 2. The robot system according to claim 1, wherein the first reference load profile is a reference load profile that records a change in the load when the robot is operated based on a work program and the load acting on the robot at the time of the false detection of unintended interference between the robot and its surroundings, and stores the change in the load until the robot is stopped due to the false detection.
10. further comprising an input unit; 10. The robot system according to claim 8, wherein when the input unit inputs an instruction to resume work of the robot after the robot has stopped, after the input unit has confirmed that the stop was due to the erroneous detection and that the robot is safe, the determination unit corrects the load acting on the robot after the stop using the first reference load profile.
11. The first reference load profile comprises: a reference load profile in which the robot is operated in advance based on a work program under conditions in which no unintended interference occurs between the robot and its surroundings, and changes in the load corresponding to the work performed are stored; a reference load profile that stores changes in load acting on the robot calculated by previously executing a simulation of the robot's work based on the work program; and a reference load profile that stores a change in the load when the robot is operated based on the work program and the robot is stopped due to the erroneous detection of the unintended interference; a reference load profile that stores the load at the time of the false detection; The robot system according to claim 1 , wherein the robot system is a combination of any two or more of the above.
12. 12. The robot system according to claim 1, wherein the load includes at least one correction value for the weight and / or load due to acceleration / deceleration of the mechanical part of the robot, the end effector including the hand, and the workpiece held by the hand, and an offset of the sensor.
13. a recording processing unit that stores the first reference load profile in a storage unit; a determination unit that determines at least whether or not an external force is acting on the robot based on the first reference load profile read from the storage unit when an instruction to execute a program is received and a load acting on the robot detected by a sensor during execution of the program, The recording processing unit stores the load as a second reference load profile in the storage unit according to the state of the external force. Robot control device.
14. a recording processing unit that stores the first reference load profile in a storage unit; a determination unit that determines a magnitude of an external force acting on the robot based on the first reference load profile read from the storage unit when an instruction to execute a program is received and a load acting on the robot detected by a sensor during execution of the program, The recording processing unit causes the storage unit to record the load as a second reference load profile in accordance with the determination result of the external force. Robot control device.
15. at least one memory; at least one processor; the at least one memory stores a first reference load profile; The at least one processor reading the stored first reference load profile when an instruction to execute a program is received; acquiring a load acting on the robot detected by a sensor during execution of the program; determining a magnitude of an external force acting on the robot based on the first reference load profile and the load; and storing the load as a second reference load profile in the at least one memory in response to the determination of the external force. Robot control device.
Citation Information
Patent Citations
Loading machine controller and its collision detecting threshold value renewing method
JP2008183680A
Robot, control device, and control method of the robot
JP2019209407A
Robot system
JP2020069633A
Detection method
JP2021020287A
Robot System
JP6526097B2