Robot control device and robot system
The robot control device addresses collision detection delays and cost issues by monitoring spindle motor torque and load to set appropriate thresholds, enabling quick collision detection and prevention.
Patent Information
- Application Number
- JP2022033451
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-03-04
- Publication Date
- 2026-01-22
- Estimated Expiration
- 2042-03-04
AI Technical Summary
Existing robot control systems face challenges in quickly detecting collisions to prevent damage, either due to delayed detection with high threshold settings or increased costs from using multiple force sensors.
A robot control device that monitors torque on the spindle motor, calculates load, and sets a collision detection threshold based on the load to quickly detect collisions, adjusting the threshold according to whether the tool is in contact with a workpiece and considering the load factor.
Enables rapid collision detection and prevention, reducing damage to the cutting tool and robot by accurately determining collisions based on spindle motor load and adjusting thresholds accordingly.
Smart Images

Figure 0007804490000001 
Figure 0007804490000002 
Figure 0007804490000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a robot control device and a robot system. [Background technology]
[0002] In recent years, many robots have become widespread in industry. These robots are used, for example, for assembling, welding, and transporting electronic and mechanical parts, and for processing metals, castings, resins, wood, and the like, thereby improving the efficiency and automation of manufacturing processes.
[0003] For example, a robot with a cutting tool attached as an end effector to the tip of its arm is used to remove burrs from castings or cut weld beads. If the robot collides with a workpiece or a nearby obstacle, the cutting tool attached to the tip of the arm and the robot itself will be damaged. For this reason, it is desirable to properly detect collisions between the robot and the workpiece or a nearby obstacle and quickly stop the robot.
[0004] Patent Document 1 discloses technology related to a robot control device that detects when a robot collides with a surrounding object without using any additional sensors and prevents damage to the robot and the surrounding object. The robot control device described in Patent Document 1 calculates the drive torque required for the task to be performed by the robot, such as deburring or hand opening and closing, and determines whether a collision has occurred based on the drive torque and the current of the motors that drive each joint.
[0005] Furthermore, Patent Document 2 discloses a technology relating to a collision detection device for a robot that includes a force sensor in a robot hand that detects impact force and determines a collision depending on the magnitude of the detected impact force. [Prior art documents] [Patent documents]
[0006] [Patent Document 1] Japanese Patent Application Laid-Open No. 2003-25272 [Patent Document 2] Japanese Patent Application Publication No. 4-19093 Summary of the Invention [Problem to be solved by the invention]
[0007] However, in the robot control device described in Patent Document 1, for example, when detecting a collision during cutting, it is necessary to distinguish it from impacts during cutting, so the threshold for determining that a collision has been detected must be set high. This results in a delay in detecting the collision, making it impossible to stop the robot quickly. As a result, there is a possibility that the cutting tool, robot, etc. may be damaged.
[0008] It is also possible to equip the robot with a force sensor to quickly grasp the situation, as in the robot collision detection device described in Patent Document 2, but in order to properly detect collisions between the robot and obstacles, etc., it is necessary to equip multiple force sensors, which increases costs.
[0009] Therefore, an object of the present invention is to provide a robot control device and a robot system that can grasp the situation based on the load on a tool attached to the arm of the robot and appropriately detect a collision. [Means for solving the problem]
[0010] A robot control device according to one aspect of the present invention is a robot control device that controls the operation of a robot, and includes a torque monitoring unit that monitors the torque applied to the robot, a load calculation unit that calculates the load applied to a spindle motor that drives a tool attached to the robot's arm, a collision detection threshold setting unit that sets a collision detection threshold according to the load applied to the spindle motor, and a collision determination unit that determines a collision of the robot based on at least the monitored torque and the set collision detection threshold.
[0011] According to this aspect, the load calculation unit grasps the situation by calculating the load on the spindle motor that drives the tool attached to the arm of the robot, and the collision detection threshold setting unit sets the collision detection threshold according to the load on the spindle motor. The collision determination unit then determines a robot collision based on at least the monitored torque and the set collision detection threshold. As a result, it is possible to appropriately detect a robot collision and quickly stop the robot, thereby reducing or preventing damage to the cutting tool attached to the arm, the robot, etc.
[0012] In the above aspect, the collision detection threshold setting unit may set the collision detection threshold depending on whether or not work is being performed with the tool in contact with the workpiece.
[0013] According to this aspect, the collision detection threshold setting unit sets the collision detection threshold depending on whether or not the tool is in contact with the workpiece and is performing work, and therefore can appropriately detect collisions of the robot during work and when not working, taking into account the load on the tool during work.
[0014] In the above aspect, the collision detection threshold setting unit may set any one of a first threshold corresponding to a non-working state in which the tool is not in contact with the workpiece, a second threshold corresponding to a working state, and a threshold according to a load factor applied to the spindle motor.
[0015] According to this aspect, the collision detection threshold setting unit sets either a first threshold corresponding to when not working, a second threshold corresponding to when working, or a threshold according to the load rate, so that the load on the tool during work can be taken into more detail, making it possible to more appropriately detect collisions of the robot during work and when not working.
[0016] In the above aspect, the load calculation unit may calculate the load on the spindle motor based on the loads on multiple spindle motors sampled over a predetermined period, and the collision detection threshold setting unit may set a collision detection threshold according to the calculated load on the spindle motor.
[0017] According to this aspect, the load calculation unit calculates the load on the spindle motor based on multiple loads on the spindle motor sampled over a predetermined period, thereby enabling appropriate understanding of the situation.The collision detection threshold setting unit sets an appropriate collision detection threshold in accordance with the calculated load on the spindle motor, enabling more appropriate detection of robot collisions.
[0018] A robot system according to one aspect of the present invention includes a spindle motor that drives a tool attached to the arm of the robot, a spindle motor control device that controls the spindle motor, and a robot control device that controls the operation of the robot and instructs the spindle motor control device to operate.The robot control device includes a torque monitoring unit that monitors the torque applied to the robot, a load calculation unit that calculates the load applied to the spindle motor, a collision detection threshold setting unit that sets a collision detection threshold according to the load applied to the spindle motor, and a collision determination unit that determines a collision of the robot based on at least the monitored torque and the set collision detection threshold.
[0019] According to this aspect, in the robot control device, the load calculation unit grasps the situation by calculating the load on the spindle motor that drives the tool attached to the arm of the robot, and the collision detection threshold setting unit sets the collision detection threshold according to the load on the spindle motor. The collision determination unit then determines a robot collision based on at least the monitored torque and the set collision detection threshold. As a result, it is possible to appropriately detect a robot collision and quickly stop the robot, thereby reducing or preventing damage to the cutting tool attached to the arm, the robot, etc. [Effects of the Invention]
[0020] According to the present invention, it is possible to provide a robot control device and a robot system that can grasp the situation based on the load on a tool attached to the arm of the robot and appropriately detect a collision. [Brief explanation of the drawings]
[0021] [Figure 1] 1 is a configuration diagram showing an overview of a robot system 10 according to an embodiment of the present invention. [Figure 2] FIG. 1 is a functional block diagram showing each function of a robot system 10 according to an embodiment of the present invention. [Figure 3] FIG. 10 is a diagram showing a specific example of a current waveform related to a load applied to a spindle motor during cutting work. [Figure 4] FIG. 10 is a diagram showing a specific example of a collision detection threshold that is set according to a load applied to a spindle motor. [Figure 5] FIG. 10 is a diagram showing a specific example of timing at which a collision detection threshold is set in accordance with a load applied to a spindle motor. [Figure 6] 1 is a flowchart showing a robot collision detection method M100 executed by a robot control device 100 included in a robot system 10 according to an embodiment of the present invention. [Figure 7] FIG. 10 is a diagram showing another specific example of the timing at which the collision detection threshold is set in accordance with the load applied to the spindle motor. DETAILED DESCRIPTION OF THE INVENTION
[0022] Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Note that the embodiment described below is merely a specific example for carrying out the present invention and is not intended to limit the scope of the present invention. Furthermore, to facilitate understanding of the description, the same components in each drawing will be designated by the same reference numerals wherever possible, and duplicate descriptions may be omitted.
[0023] <One embodiment> [Robot system configuration] 1 is a configuration diagram showing an overview of a robot system 10 according to an embodiment of the present invention. As shown in FIG. 1, the robot system 10 includes a robot 20, a cutting tool 30, a spindle motor 31, a spindle motor control device 32, and a robot control device 100.
[0024] The robot 20 is an industrial robot equipped with a cutting tool 30 attached as an end effector to the tip of an arm, and is used to, for example, remove burrs from castings or cut weld beads. Based on operation instructions from the robot control device 100, the robot 20 rotates each axis using multiple servo motors 21 to move and rotate the arm, thereby moving the cutting tool 30 to an appropriate position and angle.
[0025] The cutting tool 30 includes, for example, an end mill, a face milling cutter, etc., and is driven by a spindle motor 31 to remove burrs from castings or cut weld beads.
[0026] The spindle motor 31 is controlled by a spindle motor control device 32 to drive the cutting tool 30 .
[0027] The spindle motor control device 32 controls the spindle motor 31 so that the spindle motor 31 rotates based on the rotation speed, rotation time, etc. commanded by the rotation start command from the robot control device 100. The spindle motor control device 32 also notifies the robot control device 100 of the current value during rotation of the spindle motor 31 as the load applied to the spindle motor 31.
[0028] The robot control device 100 controls the operation of the robot 20. Specifically, the robot control device 100 controls the multiple servo motors 21 in the robot 20 to rotate each axis and move and rotate the arm. In this way, the robot control device 100 controls the robot 20 to have an appropriate position and posture.
[0029] As described above, the robot control device 100 also controls the operation of the cutting tool 30 attached to the tip of the arm of the robot 20 by instructing the spindle motor control device 32 to rotate the spindle motor 31.
[0030] Furthermore, if the robot control device 100 detects a collision of the robot 20, it controls the robot 20 and the cutting tool 30 to stop.
[0031] [About robot collision detection] The collision detection function of the robot 20 will be described in detail below. 2 is a functional block diagram showing each function of a robot system 10 according to an embodiment of the present invention. As shown in FIG. 2, a robot control device 100 that controls the operation of a robot 20 includes a servo motor control unit 110, a torque monitoring unit 120, a load calculation unit 130, a collision detection threshold setting unit 140, a collision determination unit 150, and a storage unit 160.
[0032] The servo motor control unit 110 controls the multiple servo motors 21 that rotate the axes of the robot 20 so as to move and rotate the arms of the robot 20. Specifically, the servo motor control unit 110 sends commands including the required output (electric power) and the like regarding how to drive the multiple servo motors 21 (position, speed, rotational force, etc.) so that the position and posture of the robot 20 becomes the desired position and angle. The multiple servo motors 21 are driven based on commands from the servo motor control unit 110, but how they were actually driven is determined by detecting information such as the position, speed, rotational force, etc. of the multiple servo motors 21 using an encoder.
[0033] The torque monitoring unit 120 monitors the torque applied to the robot 20. Specifically, the torque monitoring unit 120 monitors the torque applied to the robot 20 based on information about the plurality of servo motors 21 detected by the encoders described above. That is, the torque monitoring unit 120 monitors the torque applied to the robot 20 based on how the plurality of servo motors 21 are actually driven (position, speed, rotational force, etc.), and grasps the situation of the robot 20 including the position and posture.
[0034] The load calculation unit 130 calculates the load applied to the spindle motor 31 that drives the cutting tool 30 attached to the arm of the robot 20. Specifically, the load calculation unit 130 may acquire, via the spindle motor control device 32, the current value during rotation of the spindle motor 31 as the load applied to the spindle motor 31. For example, if the robot 20 is cutting (operating) a workpiece such as a casting, the load calculation unit 130 acquires a current value according to the rotation speed, etc. of the spindle motor 31, and if cutting is not in progress, the spindle motor 31 is stopped and therefore acquires 0 or a small current value (such as a standby current).
[0035] The collision detection threshold setting unit 140 sets a collision detection threshold according to the load on the spindle motor 31 calculated by the load calculation unit 130. For example, the torque applied to the robot 20 depends on the position, posture, movement, etc. of the robot 20, and normally, when there is no collision of the robot 20, the torque applied to the robot 20 can be calculated based on the position, posture, etc. of the robot 20, including the rotation angle of each axis and the position and tilt of the arm, and the value can be estimated (estimated torque). On the other hand, when the robot 20 collides with an obstacle, etc., the torque actually applied to the robot 20 becomes larger than the estimated torque when there is no collision of the robot 20 described above.
[0036] Here, if a collision detection threshold that can be used to determine that a collision of the robot 20 has been detected is appropriately set, it is possible to detect that the robot 20 has collided with an obstacle or the like by comparing the torque applied to the robot 20 with the set collision detection threshold. Also, it may be determined that a collision of the robot 20 has been detected when there is a large difference between the torque actually applied to the robot 20 and the torque estimated when there is no collision of the robot 20. When determining that a collision of the robot 20 has been detected in this way, it is sufficient to set a collision detection threshold that corresponds to this difference.
[0037] However, since the torque applied to the robot 20 is greater when the robot 20 is cutting a workpiece such as a casting than when the robot 20 is not cutting, it is necessary to appropriately set the collision detection threshold for determining that a collision has been detected by the robot 20 depending on whether or not the robot 20 is cutting.
[0038] That is, the collision detection threshold setting unit 140 sets the collision detection threshold depending on whether cutting is in progress. For example, the collision detection threshold setting unit 140 may determine whether cutting is in progress based on the load on the spindle motor 31 calculated by the load calculation unit 130, and set the collision detection threshold depending on the determination.
[0039] Fig. 3 shows a specific example of a current waveform related to the load on the spindle motor during cutting work. As shown in Fig. 3, the current value of the spindle motor 31 rises sharply, reaches a maximum at point S, fluctuates while maintaining a high current value, and then drops sharply to a minimum at point E.
[0040] In other words, when the current value of the spindle motor 31 rises suddenly and fluctuates while maintaining a high level, cutting is in progress, and when the current value is stable near 0, cutting is not in progress.
[0041] Here, the collision detection threshold setting unit 140 may determine whether cutting is in progress or not based on the load on the spindle motor 31 calculated by the load calculation unit 130, and set a collision detection threshold in accordance with the determination. For example, the collision detection threshold corresponding to when not cutting is set as a first threshold, and the collision detection threshold corresponding to when cutting is set as a second threshold (first threshold<second threshold), and appropriate collision detection thresholds may be stored in advance in the storage unit 160.
[0042] Alternatively, cutting work may actually be performed by the robot 20, and torque applied to the robot 20 corresponding to the load applied to the spindle motor 31 during cutting and non-cutting may be collected by the torque monitoring unit 120, and an appropriate collision detection threshold may be stored in the storage unit 160 based on the collected torque applied to the robot 20. For example, a collision detection threshold (second threshold) based on the maximum and minimum loads applied to the spindle motor 31 and the torque applied to the robot 20 during cutting may be stored in the storage unit 160. Also, a collision detection threshold (first threshold) based on the torque applied to the robot 20 during non-cutting may be stored in the storage unit 160.
[0043] The first threshold and the second threshold are set according to conditions such as the material of the workpiece to be cut, the cutting position, and the types of robot 20 and cutting tool 30, and so the storage unit 160 may be updated when these conditions change. Specifically, when cutting a different type of workpiece, the first time, the torque applied to robot 20 is collected by torque monitoring unit 120 and appropriate collision detection thresholds (first threshold and second threshold) are calculated.
[0044] Furthermore, for example, during cutting, the load on the spindle motor 31 may differ or fluctuate depending on the cutting position, angle, cutting amount, timing, etc., and this load also affects the torque applied to the robot 20. For this reason, during cutting, it is preferable to set the collision detection threshold based on the torque applied to the robot 20 in more detail depending on the load on the spindle motor 31.
[0045] As described above, the collision detection threshold setting unit 140 sets, for example, a collision detection threshold corresponding to when not cutting as a first threshold and a collision detection threshold corresponding to when cutting as a second threshold (first threshold<second threshold), and further sets a threshold according to the load rate applied to the spindle motor 31. Here, the first threshold is the collision detection threshold corresponding to when not cutting and is the lower limit threshold of the thresholds for detecting a collision of the robot 20, and the second threshold is the collision detection threshold corresponding to when cutting and is the upper limit threshold of the thresholds for detecting a collision of the robot 20. Then, the threshold according to the load rate applied to the spindle motor 31 may be calculated using the following (Equation 1). Threshold value according to the load factor applied to the spindle motor 31=(second threshold value−first threshold value)×load factor+first threshold value (Equation 1)
[0046] Furthermore, the load rate applied to the spindle motor 31 may be calculated, for example, by dividing the period from when the spindle motor 31 starts to rotate until when it stops into a plurality of intervals in units of a predetermined period, and using the following equation (2) based on the load applied to the spindle motor 31 in each interval (e.g., maximum load and minimum load, etc.) and the specified values of the spindle motor 31 (e.g., maximum load and minimum load, etc. allowed as product specifications). Load factor applied to spindle motor 31=(difference between maximum load and minimum load in a predetermined period) / (difference between predetermined maximum load and minimum load) (Equation 2)
[0047] The period is divided into multiple sections, and the load on the spindle motor 31 in each section (e.g., maximum load and minimum load) is stored in a storage unit such as a memory as past performance, and is used when calculating the load rate on the spindle motor 31.
[0048] Fig. 4 is a diagram showing a specific example of a collision detection threshold set according to the load on the spindle motor. As shown in Fig. 4, the collision detection threshold setting unit 140 sets, as the collision detection threshold, a first threshold (lower limit threshold) when not cutting, a second threshold (upper limit threshold) when the load factor calculated using the above (Equation 2) is 90% or more, and a threshold according to the load factor on the spindle motor 31 calculated using the above (Equation 1) when the load factor is 10% or more and less than 90%.
[0049] Here, the load factor on the spindle motor 31 is set in units of 10%, and the result calculated using the above (Equation 2) is rounded up. Therefore, when the load factor is less than 10%, the collision detection threshold setting unit 140 sets the threshold calculated using a load factor of 10% as the collision detection threshold. This prevents the collision detection threshold from changing minutely and frequently, and simplifies the calculation and determination processes, but the unit is not limited to 10%. For example, if the change in torque applied to the robot 20 when it collides is minute, the result calculated using the above (Equation 2) can be validated in units smaller than 10%, and can be set appropriately depending on the required accuracy, etc.
[0050] Fig. 5 is a diagram showing a specific example of the timing at which the collision detection threshold is set according to the load on the spindle motor. As shown in Fig. 5, the collision detection threshold is set according to the load on the spindle motor 31, and a collision of the robot 20 is determined depending on whether the difference between the actual torque and the estimated torque applied to the robot 20 exceeds the collision detection threshold.
[0051] Specifically, the load calculation unit 130 calculates the load on the spindle motor 31 based on the loads on the spindle motor 31 sampled during each predetermined period T. By extracting the maximum load and the minimum load from the loads on the spindle motor 31 sampled during each predetermined period T, the load on the spindle motor 31 during each predetermined period T is calculated using the above (Equation 2). Then, the collision detection threshold setting unit 140 sets the collision detection threshold for each predetermined period T using the above (Equation 1) based on the load on the spindle motor 31 during each predetermined period T calculated by the load calculation unit 130. In other words, the collision detection threshold is set (updated) for each predetermined period T.
[0052] 3, the load on the spindle motor 31 fluctuates rapidly during cutting. Therefore, if the collision detection threshold is set to follow this fluctuation, the calculation and determination processes related to collision detection by the robot 20 may become complicated, or the collision detection threshold may fluctuate rapidly, which may result in an inappropriate collision detection determination. For this reason, as described above, it is preferable that the load calculation unit 130 calculates the load on the spindle motor 31 based on multiple loads on the spindle motor 31 sampled during each predetermined period T, thereby setting the collision detection threshold at an appropriate timing (every predetermined period T). Note that the predetermined period T may be set taking into consideration fluctuations in the load on the spindle motor 31, etc.
[0053] [Robot collision detection method] Next, a method for detecting a collision of the robot will be specifically described in detail.
[0054] 6 is a flowchart showing a robot collision detection method M100 executed by the robot controller 100 included in the robot system 10 according to one embodiment of the present invention. As shown in FIG. 6, the robot collision detection method M100 includes steps S110 to S180, and each step is executed by a processor included in the robot controller 100.
[0055] In step S110, the robot control device 100 determines whether the robot is in cutting mode. As a specific example, the collision detection threshold setting unit 140 determines whether the robot is in cutting mode based on the load applied to the spindle motor 31 calculated by the load calculation unit 130.
[0056] If it is determined in step S110 that cutting is not being performed, the robot control device 100 sets the collision detection threshold to a first threshold (lower limit threshold) (step S120).
[0057] If it is determined in step S110 that cutting is in progress, the robot control device 100 calculates the load factor on the spindle motor (step S130). As a specific example, the collision detection threshold setting unit 140 may use the above-mentioned (Equation 2) to calculate the load factor on the spindle motor 31 based on the maximum load and minimum load of the spindle motor 31 in each section from when the spindle motor 31 starts to when it stops rotating, and the maximum load and minimum load as specified values of the spindle motor 31.
[0058] In step S140, the robot controller 100 determines the load factor calculated in step S130.
[0059] If it is determined in step S140 that the load factor is 90% or more, the robot controller 100 sets the collision detection threshold to a second threshold (upper limit threshold) (step S150).
[0060] If it is determined in step S140 that the load factor is less than 90%, the robot control device 100 sets the collision detection threshold to a threshold value corresponding to the load factor calculated in step S130 (step S160). As a specific example, the collision detection threshold setting unit 140 may set the collision detection threshold to a threshold value calculated using the above-mentioned (Equation 1).
[0061] In step S170, the robot control device 100 determines the difference between the actual torque and the estimated torque applied to the robot. As a specific example, the collision determination unit 150 compares the difference between the torque actually applied to the robot 20 (actual torque) monitored by the torque monitoring unit 120 and the torque applied to the robot 20 calculated based on the position and posture of the robot 20 when there is no collision of the robot 20 (estimated torque) with the collision detection threshold set in step S120, S150, or S160.
[0062] If it is determined in step S170 that the difference is less than the collision detection threshold, the robot control device 100 returns to the process of step S110. Specifically, the collision determination unit 150 determines that a collision of the robot 20 has not been detected.
[0063] If it is determined in step S170 that the difference is equal to or greater than the collision detection threshold, the robot control device 100 determines that a collision of the robot has been detected (step S180). Specifically, the collision determination unit 150 detects that the robot 20 has collided with an obstacle or the like. Then, the robot control device 100 controls the robot 20 and the cutting tool 30 to stop.
[0064] As described above, in the robot control device 100, robot system 10, and robot collision detection method M100 according to one embodiment of the present invention, the load calculation unit 130 grasps the situation by calculating the load on the spindle motor 31 that drives the cutting tool 30 attached to the arm of the robot 20, and the collision detection threshold setting unit 140 sets a collision detection threshold according to the load on the spindle motor 31. The collision determination unit 150 then determines a collision of the robot 20 based on at least the torque applied to the robot 20 being monitored and the collision detection threshold set by the collision detection threshold setting unit 140. As a result, a collision of the robot 20 can be appropriately detected and the robot 20 can be quickly stopped, thereby reducing and preventing damage to the cutting tool 30 attached to the arm, the robot, etc.
[0065] 5, the collision detection threshold is set (updated) every predetermined period T, but it is also possible to take into account the load on the spindle motor 31 detected in real time. As described above, the predetermined period T may be set as appropriate, but when the load on the spindle motor 31 is sampled during the predetermined period T and the load rate and collision detection threshold for the predetermined period T are calculated, a time lag may occur before the calculated collision detection threshold is set (updated) every predetermined period T. For this reason, the load rate and collision detection threshold are calculated taking into account the load on the spindle motor 31 detected in real time so that the collision detection threshold is more appropriate for the current situation.
[0066] 7 is a diagram showing another specific example of the timing at which the collision detection threshold is set in accordance with the load on the spindle motor 31. As shown in FIG. 7, the collision detection threshold is set in accordance with the load on the spindle motor 31.
[0067] Specifically, the load factor on the spindle motor 31 is calculated by dividing the period from when the spindle motor 31 starts to rotate until when it stops into a plurality of intervals in predetermined units, and taking into consideration the load on the spindle motor 31 in each interval (for example, maximum load and minimum load, etc.) and the load on the spindle motor 31 detected in real time. Then, similar to the above-mentioned (Equation 2), the load factor can be calculated using the following (Equation 3) based on the specified values of the spindle motor 31 (for example, maximum load and minimum load allowed as product specifications, etc.). Load factor applied to spindle motor 31={(two loads in a predetermined period) / 2 and the difference between the minimum load in the predetermined period} / (difference between the predetermined maximum load and minimum load) (Equation 3)
[0068] The two loads in a specified period may include, for example, two consecutive loads among the loads applied to the spindle motor 31 acquired in each of multiple sections of the specified period, as well as the current load and the load t seconds ago or the most recent load.
[0069] In this way, by taking into consideration the load on the spindle motor 31 detected in real time, a collision detection threshold that reflects the load on the spindle motor 31 can be set, making it possible to more appropriately grasp the current situation. As a result, the collision detection threshold can be set more appropriately, and collisions of the robot 20 can be more appropriately detected.
[0070] In this embodiment, the cutting tool 30 is used as an example of an end effector attached to the arm of the robot 20, and the robot 20 is described as removing burrs from castings or cutting weld beads, but the present invention is not limited to this. For example, by attaching an appropriate tool as an end effector to the arm of the robot 20, the present invention may be applied to drilling, chamfering, emindling (a type of cutting), polishing, reaming (finishing of drilled holes), cutting, etc.
[0071] The above-described embodiments are intended to facilitate understanding of the present invention and are not intended to limit the present invention. The elements of the embodiments, as well as their arrangement, materials, conditions, shapes, sizes, etc., are not limited to those illustrated and can be modified as appropriate. Furthermore, configurations shown in different embodiments can be partially substituted or combined with each other. [Explanation of symbols]
[0072] 10... robot system, 20... robot, 21... servo motor, 30... cutting tool, 31... spindle motor, 32... spindle motor control device, 100... robot control device, 110... servo motor control unit, 120... torque monitoring unit, 130... load calculation unit, 140... collision detection threshold setting unit, 150... collision determination unit, 160... memory unit, M100... robot collision detection method, S110 to S180... each step of robot collision detection method M100
Claims
1. A robot control device for controlling the operation of a robot, a torque monitoring unit that monitors a torque applied to the robot; a load calculation unit that calculates a load applied to a spindle motor that drives a tool attached to an arm of the robot based on a plurality of loads applied to the spindle motor sampled over a predetermined period; a collision detection threshold setting unit that sets a collision detection threshold according to the load applied to the spindle motor calculated by the load calculation unit; a collision determination unit that determines a collision of the robot based on at least the monitored torque and the set collision detection threshold, the collision detection threshold setting unit sets one of a first threshold corresponding to a non-working state in which the tool is not in contact with a workpiece, a second threshold corresponding to the work being performed, and a threshold corresponding to a load rate applied to the spindle motor. Robot control device.
2. the collision detection threshold setting unit sets the collision detection threshold depending on whether or not the tool is in contact with a workpiece during an operation. The robot control device according to claim 1 .
3. a spindle motor that drives a tool attached to the arm of the robot; a spindle motor control device that controls the spindle motor; a robot control device that controls the operation of the robot and instructs the spindle motor control device to operate; The robot control device a torque monitoring unit that monitors a torque applied to the robot; a load calculation unit that calculates a load applied to the spindle motor based on a plurality of loads applied to the spindle motor sampled over a predetermined period; a collision detection threshold setting unit that sets a collision detection threshold according to the load applied to the spindle motor calculated by the load calculation unit; a collision determination unit that determines a collision of the robot based on at least the monitored torque and the set collision detection threshold, the collision detection threshold setting unit sets one of a first threshold corresponding to a non-working state in which the tool is not in contact with a workpiece, a second threshold corresponding to the work being performed, and a threshold corresponding to a load rate applied to the spindle motor. Robot system.
Citation Information
Patent Citations
Robot collision detecting device
JP1992019093A
Robot control device
JP2003025272A
Robot control device capable of preventing erroneous determination of collision determination unit
JP2016016490A
Cutting device
JP2016137529A
Workpiece processing apparatus
WO2021192071A1