Force detection device and robot system

The force detection device addresses the cost and accuracy challenges by using a combination of measurements and estimations, with corrections based on sensed axes, to accurately detect forces on industrial robots with fewer sensors.

JP7695565B2Active Publication Date: 2025-06-19NACHI FUJIKOSHI CORP
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2022565067
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-11-27
Filing Date
2021-09-02
Publication Date
2025-06-19
Estimated Expiration
2041-09-02

AI Technical Summary

Technical Problem

The challenge is to maintain high detection accuracy of forces acting on industrial robots while reducing the number of installed force sensors, which would otherwise increase device costs.

Method used

A force detection device that includes a measurement unit, an estimation unit, and a correction unit. The device measures forces on joint axes with force sensors and estimates forces on unsensored joint axes based on actuator state quantities. The correction unit adjusts these estimates using differences from sensed axes, thereby improving detection accuracy without additional sensors.

Benefits of technology

This approach allows for accurate detection of forces on robots with fewer force sensors, thereby reducing costs while maintaining high detection accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007695565000001
    Figure 0007695565000001
  • Figure 0007695565000002
    Figure 0007695565000002
  • Figure 0007695565000003
    Figure 0007695565000003
Patent Text Reader

Abstract

The present invention relates to a force detection device, and a robot system. A control device 14 as a force detection device comprises: a measurement unit 42 for measuring force acting on a joint axis 20a using a force sensor 26; an estimation unit 44 for estimating force acting on the joint axes 20a, 20b, on the basis of a status amount indicating the drive status of a servo motor 22; and a correction unit 46 for correcting an estimated value obtained by estimation by the estimation unit 44. The control device 14 acquires, as detection values of force, a measured value obtained by measurement by the measurement unit 42 for the joint axis 20a which is provided with the force sensor 26, and the estimated value corrected by the correction unit 46 for the joint axis 20b which is not provided with the force sensor 26, respectively.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a force detection device and a robot system.

Background Art

[0002] For example, in the technical field of industrial robots, collaborative robots that work in cooperation with workers are known. In this type of robot, when physical interference with a worker is detected, control to stop the robot as necessary is required. Therefore, various techniques for highly accurately detecting an external force acting on a robot using a force sensor attached to a joint axis of the robot have been proposed (see, for example, Patent Documents 1 and 2).

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Patent Document 2

Summary of the Invention

Problems to be Solved by the Invention

[0004] From the viewpoint of detection accuracy, it is desirable to provide a force sensor for all joint axes of the robot. On the other hand, increasing the number of installed force sensors causes a problem that the device cost increases accordingly.

[0005] The present invention has been made in view of such problems, and an object thereof is to provide a force detection device and a robot system capable of suppressing a decrease in detection accuracy of a force acting on a robot while reducing the number of installed force sensors.

Means for Solving the Problems

[0006] The force detection device according to the first aspect of the present invention is a device that detects a force acting on a robot configured to include a plurality of joint axes and a plurality of actuators each connected to each of the joint axes, and measures the force acting on the joint axis using a force sensor. A measurement unit, an estimation unit that estimates the force acting on the joint axis based on a state quantity indicating the driving state of the actuator, and a correction unit that corrects an estimated value obtained by the estimation by the estimation unit. In the case of the first joint axis provided with the force sensor among the plurality of joint axes, a measurement value obtained by the measurement by the measurement unit is obtained as a force detection result, and in the case of the second joint axis not provided with the force sensor among the plurality of joint axes, an estimated value corrected by the correction unit is obtained as a force detection value.

[0007] In the force detection device according to the second aspect of the present invention, the correction unit corrects the estimated value in the second joint axis using a difference component between the measurement value and the estimated value in the first joint axis.

[0008] In the force detection device according to the third aspect of the present invention, the estimation unit estimates the forces acting on the first joint axis and the second joint axis according to a common estimation model, respectively.

[0009] In the force detection device according to the fourth aspect of the present invention, the difference component is calculated by statistical processing on a set of difference components corresponding to two or more first joint axes.

[0010] In the force detection device according to the fifth aspect of the present invention, when the plurality of joint axes are connected in series, the correction unit corrects the estimated value in the second joint axis using the difference component of the first joint axis closest to the upstream or downstream.

[0011] The robot system according to the sixth aspect of the present invention includes a robot configured to include a plurality of joint axes and a plurality of actuators each connected to each of the joint axes, and a force detection device according to any one of the first to fifth aspects.

Advantages of the Invention

[0012] According to the present invention, it is possible to suppress a decrease in the detection accuracy of the force acting on the robot while reducing the number of installed force sensors.

Brief Description of the Drawings

[0013]

Figure 1

Figure 2

Figure 3

Figure 4

Embodiments for Carrying Out the Invention

[0014] Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. For ease of understanding of the description, the same reference numerals are given to the same components in each drawing as much as possible, and redundant descriptions are omitted.

[0015] [Configuration of Robot System 10] <Overall Configuration> FIG. 1 is an overall configuration diagram of a robot system 10 incorporating a control device 14 as a force detection device according to an embodiment of the present invention. The robot system 10 is a system for the robot 12 and the worker to cooperate in performing work. Specifically, the robot system 10 includes a robot 12 and a control device 14 that controls the driving of the robot 12.

[0016] Robot 12 is an articulated robot having a plurality of joint axes 20. In the example of FIG. 1, robot 12 has a swivel axis (J1 axis) for rotating the body, a forearm axis (J2 axis) for moving the body back and forth, an upper arm axis (J3 axis) for moving the arm up and down, a wrist swivel axis (J4 axis) for rotating the arm, a "wrist bending axis" (J5 axis) for swinging the wrist up and down, and a wrist rotation axis (J6 axis) for rotating the wrist. Note that an end effector (not shown) is attached to the tip of robot 12.

[0017] A servo motor 22 (FIG. 2) for performing rotational drive through servo control is connected to each joint axis 20. Robot 12 can perform various operations including gripping and moving a workpiece, welding, and painting by independently driving the plurality of joint axes 20 in response to commands from control device 14.

[0018] Control device 14 is a computer that controls robot 12. Specifically, this control device 14 includes a connector 30, a communication I / F 32, a processor 34, and a memory 36. The number of each component is one in the example of FIG. 1, but may be two or more.

[0019] Connector 30 is a terminal for electrically connecting to robot 12 via a power cable or a communication cable (both not shown). Thereby, control device 14 supplies power and control signals to robot 12 and acquires measurement signals from various sensors provided on robot 12.

[0020] Communication I / F 32 is an interface for communicating with an external device. Thereby, control device 14 can exchange data with, for example, a programming pendant, a work terminal, or a host device (all not shown).

[0021] The processor 34 may be a general-purpose processor including a CPU (Central Processing Unit), or may be a dedicated processor including an FPGA (Field Programmable Gate Array) or a GPU (Graphics Processing Unit). The memory 36 is a non-transitory storage medium and stores programs and data necessary for the processor 34 to control each component.

[0022] <Functional block diagram> FIG. 2 is a functional block diagram of the robot system 10 shown in FIG. 1. The robot 12 includes the above-described joint axes 20, a servo motor 22, a position sensor 24, and a force sensor 26. The control device 14 includes a servo control unit 40, a measurement unit 42, an estimation unit 44, a correction unit 46, a dynamics calculation unit 48, and a determination unit 50.

[0023] The servo motor 22 is a rotary actuator that rotates the joint axis 20. The position sensor 24 outputs a detection signal (hereinafter referred to as a "position signal") indicating the angular position of the servo motor 22. The force sensor 26 outputs a detection signal (hereinafter referred to as a "force signal") indicating the magnitude of the force acting on the joint axis 20.

[0024] The force sensor 26 is provided only on n (1 ≦ n < N) of the N (N ≧ 2) joint axes 20. Hereinafter, when distinguishing and representing the reference signs of the joint axes 20 according to the presence or absence of the installation of the force sensor 26, specifically, the joint axis on which the force sensor 26 is provided is denoted as "joint axis 20a", and the joint axis on which the force sensor 26 is not provided is denoted as "joint axis 20b".

[0025] The servo control unit 40 performs drive control of the servo motor 22 based on a position signal from the position sensor 24 (or an encoder). For drive control, for example, PWM (Pulse Width Modulation) using the current flowing through the servo motor 22 as a control amount is used.

[0026] The measurement unit 42 measures the force acting on the joint axis 20a using the force sensor 26. For example, the measurement unit 42 refers to the known detection characteristics of the force sensor 26 and converts the force signal from the force sensor 26 into a measured value of the force acting on the joint axis 20a. In the case of the joint axis 20a where the force sensor 26 is provided, the measured value obtained by the measurement by the measurement unit 42 is obtained as a force detection result (hereinafter, also referred to as "first detection value").

[0027] The estimation unit 44 estimates the forces acting on the joint axes 20a and 20b based on the state quantity indicating the driving state of the servo motor 22. This "state quantity" is a physical quantity having a relatively high correlation with the force, and examples thereof include current or voltage. The state quantity may be an actually measured value actually measured, or may be a control command value of the servo motor 22. The estimation unit 44 estimates the forces acting on the joint axes 20a and 20b according to an estimation model specified by the estimation parameter. This estimation model is, for example, a model common to a plurality of joint axes 20, and describes an operation rule in which the torque generated by the servo motor 22 is proportional to the magnitude of the current (hereinafter, current value). Note that the "common model" means that the mathematical formula type of the model function is the same or similar, and includes cases where the multiplier or constant is different.

[0028] The correction unit 46 corrects the estimated value obtained by the estimation by the estimation unit 44 according to the operation rule specified by the correction parameter. The correction unit 46 corrects the estimated value on the joint axis 20b using the difference component between the measured value and the estimated value on the joint axis 20a. This difference component may be the difference between the measured value and the estimated value, or may be the ratio between the measured value and the estimation. In the case of the joint axis 20b where the force sensor 26 is not provided, the estimated value corrected by the correction unit 46 is obtained as a force detection result (hereinafter, also referred to as "second detection value").

[0029] When two or more force sensors 26 are provided on the robot 12, the correction unit 46 corrects the estimated value of the joint axis 20b using the difference amount at all or part of two or more joint axes 20a. In this case, the difference amount may be calculated by statistical processing on the set of difference amounts corresponding to the plurality of joint axes 20a. This statistic may be any of an average value, a maximum value, a minimum value, a mode value, or a median value. Further, when the plurality of joint axes 20 are connected in series, the correction unit 46 corrects the estimated value of the joint axis 20b using the difference amount of the joint axis 20a that is immediately upstream or downstream. Alternatively, the difference amount may be calculated by a weighted sum of the difference amounts corresponding to the plurality of joint axes 20a. This weighting coefficient may be set to a large value as the positions of the joint axes 20 approach each other and a small value as the positions of the joint axes 20 move away from each other, for example.

[0030] The dynamics calculation unit 48 dynamically calculates the forces acting on the joint axes 20a and 20b due to the self-weight of the robot 12 or its own operation using the position information of the servo motor 22 and the dynamics parameters. The position information includes a position signal or a position, velocity, acceleration, jerk, etc. specified from its temporal change. The dynamics parameters include the distance and intersection angle between the joint axes 20, and the mass, center of gravity position, inertia, etc. of the arm and the end effector. These parameters may be preset at the time of shipment from the factory, or may be set by the system manufacturer or the user of the robot 12. The calculated operation value is the force acting during the normal operation of the robot 12 under a situation where no interference with an external object (including an operator) occurs, and corresponds to the reference value in the determination by the determination unit 50.

[0031] The determination unit 50 determines whether the robot 12 has interfered with an external object by using [1] the first detection value from the measurement unit 42 and the calculated value from the dynamics calculation unit 48, or [2] the second detection value from the correction unit 46 and the estimated value from the dynamics calculation unit 48. For example, the determination unit 50 regards the value obtained by subtracting the calculated value from the detection value as an "external force", and determines whether this external force exceeds a threshold value. When the external force exceeds the threshold value, the determination unit 50 determines that the robot 12 has interfered with an external object, and outputs a stop signal to stop the driving of the servo motor 22 to the corresponding servo control unit 40 or the brake mechanism (not shown).

[0032] [Operation of the control device 14] The robot system 10 in this embodiment is configured as described above. Subsequently, the operation of the control device 14 that constitutes a part of the robot system 10 will be described with reference to the flowchart of FIG. 3.

[0033] In step SP10 of FIG. 3, the processor 34 of the control device 14 sets calculation parameters. As a result, estimation parameters are set in the estimation unit 44, correction parameters are set in the correction unit 46, and dynamics parameters are set in the dynamics calculation unit 48, respectively. The estimation parameters correspond to M, L, and R in Equation (1) described later. The correction parameters correspond to the parameters for specifying F in Equation (2) described later. These parameters are identified (i.e., optimized) in advance for each joint axis 20 by performing calibration.

[0034] In step SP12, the processor 34 of the control device 14 checks whether the execution timing of the determination process has arrived. If the execution timing has not arrived yet (step SP12: NO), the process remains in step SP12 until the timing arrives. On the other hand, if the execution timing has arrived (step SP12: YES), the process proceeds to the next step SP14.

[0035] FIG. 4 is a diagram showing an example of a torque detection method. Here, it is assumed that the number of joint axes 20 is N = 6 and the number of force sensors 26 is n = 3, and the force sensors 26 are provided every other one among the J1 to J6 axes. Specifically, sensor A is provided on the J2 axis, sensor B is provided on the J4 axis, and sensor C is provided on the J6 axis. For the even-numbered joint axes 20a, a first detection value is derived by measurement. On the other hand, for the odd-numbered joint axes 20b, a second detection value is derived by estimation and correction.

[0036] In step SP14 of FIG. 3, the measurement unit 42 acquires force signals corresponding to the J2, J4, and J6 axes from the force sensor 26 provided on the robot 12. In addition to this, the estimation unit 44 acquires current control command values (hereinafter referred to as "current values") from the servo control units 40 corresponding to the J1 to J6 axes, respectively.

[0037] In step SP16, the measurement unit 42 measures the torque acting on the J2, J4, and J6 axes using the force signals acquired in step SP14. Then, the measurement unit 42 supplies the measured value (= Tm) obtained by the measurement as the first detection value to the correction unit 46 and the determination unit 50, respectively.

[0038] In step SP18, the estimation unit 44 estimates the torque acting on the J1 to J6 axes using the current values acquired in step SP14. The estimated value of the torque is obtained according to the estimation model shown in the following formula (1). Te = I × M × L × R ··(1) Here, Te corresponds to the estimated value of the torque (unit: N·m). I corresponds to the current value (unit: A). M corresponds to the torque constant of the servo motor 22 (unit: N·m / A). L corresponds to the mechanical loss coefficient (dimensionless quantity). R corresponds to the reduction ratio (dimensionless quantity).

[0039] In step SP20, the correction unit 46 corrects the estimated values on the J1, J3, and J5 axes obtained in step SP18. The estimated value of the torque is corrected according to the following formula (2). Tc = Te × F({Δ}) ··(2) Here, Tc corresponds to the corrected estimated value (unit: N·m). {Δ} corresponds to the population of torque ratios (= Te / Tm) on the J2, J4, and J6 axes. F(·) is a function that returns the average value of the torque ratios belonging to the population. The number of samples used for calculating the average value may be all 3, or may be 2 or less.

[0040] In the example of FIG. 4, for the J1 axis, which is the most upstream among the 6 axes, the measured values of all sensors A, B, and C are used. By increasing the number of samples of the population using all torque ratios, the robustness against torque ratios is increased, and the variation in detection accuracy may be suppressed. On the other hand, for the other J3 and J5 axes, only the measured values of the sensors immediately upstream and downstream are used. Specifically, for the J3 axis, the measured values of sensors A and B are used, and for the J5 axis, the measured values of sensors B and C are used. By using only the torque ratios of adjacent joint axes 20a, the detection accuracy may be further improved.

[0041] In step SP22, the dynamics calculation unit 48 calculates the torque Td acting on the joint axes 20a and 20b assuming a situation where no interference occurs between the robot 12 and an external object, using the position information and dynamics parameters of the servo motor 22.

[0042] In step SP24, the determination unit 50 determines whether the robot 12 has interfered with an external object, using the detection value obtained in step SP16 or SP20 and the calculated value obtained in step SP22. Specifically, the determination unit 50 determines "interference occurred" when the value obtained by subtracting the calculated value (Td) from the detection values (Tm, Tc) exceeds the threshold, and determines "no interference" when it is below the threshold.

[0043] In step SP26, the determination unit 50 checks whether there has been interference with an external object. If there is no interference (step SP26: NO), the process returns to step SP12, and hereinafter, the operations of steps SP12 to SP26 are repeated. On the other hand, if there is interference (step SP26: YES), the process proceeds to the next step SP28.

[0044] In step SP28, the determination unit 50 outputs a stop signal for instructing the stop of the servo motor 22 to all the servo control units 40. As a result, the brake is activated and the robot 12 stops operating. Thereafter, when an operator operates a recovery switch (not shown), the brake is released and the operation of the robot 12 resumes.

[0045] [Summary of Embodiment] As described above, the robot system 10 includes a robot 12 configured to include a plurality of joint axes 20 and a plurality of actuators (here, servo motors 22) respectively connected to the joint axes 20, and a force detection device (here, the control device 14) that detects an external force acting on the robot 12. The control device 14 includes a measurement unit 42 that measures the force acting on the joint axis 20 using the force sensor 26, an estimation unit 44 that estimates the force acting on the joint axis 20 based on a state quantity indicating the driving state of the servo motor 22, and a correction unit 46 that corrects the estimated value obtained by the estimation by the estimation unit 44.

[0046] Then, in the case of the first joint axis (that is, the joint axis 20a) where the force sensor 26 is provided, the control device 14 obtains the measurement value obtained by the measurement by the measurement unit 42 as the force detection result. On the other hand, in the case of the second joint axis (that is, the joint axis 20b) where the force sensor 26 is not provided, the control device 14 obtains the estimated value corrected by the correction unit 46 as the force detection value.

[0047] Thus, regarding the joint axis 20b where the force sensor 26 is not provided, not only the estimation based on the state quantity of the servo motor 22 but also the further correction of this estimated value improve the estimation accuracy of the force acting on the joint axis 20b. As a result, while reducing the number of installed force sensors 26, a decrease in the detection accuracy of the force acting on the robot 12 is suppressed.

[0048] Further, the correction unit 46 may correct the estimated value of the joint axis 20b using the difference between the measured value and the estimated value of the joint axis 20a. Since the relationship of the error between the measured value and the estimated value of the joint axis 20a is reflected in the correction of the estimated value of the joint axis 20b, the detection accuracy of the force on the joint axis 20b is further improved.

[0049] Furthermore, the estimation unit 44 may estimate the forces acting on the joint axes 20a and 20b according to a common estimation model. Thereby, it becomes possible to appropriately correct the tendency of the error peculiar to the estimation model, and the detection accuracy of the force on the joint axis 20b is further improved.

[0050] Also, the difference may be calculated by statistical processing on a set of differences corresponding to two or more joint axes 20a. Thereby, the robustness against the difference is increased, and the variation in the detection accuracy is suppressed.

[0051] Further, when a plurality of joint axes 20 are connected in series, the correction unit 46 may correct the estimated value of the joint axis 20b using the difference of the joint axis 20a that is closest upstream or downstream. By using the differences of adjacent joint axes 20a, the detection accuracy of the force on the joint axis 20b is further improved.

[0052] [Modification Example] Note that the present invention is not limited to the above-described embodiments, and it goes without saying that it can be freely changed without departing from the gist of the present invention. Alternatively, the respective configurations may be arbitrarily combined as long as there is no technical contradiction. Alternatively, the execution order of each step in the flowchart may be changed as long as there is no technical contradiction.

[0053] In the above-described embodiment, the case where the joint axis 20 is driven using the servo motor 22 has been described, but the type of the actuator is not limited thereto. For example, a rotary actuator other than a servo motor, a linear actuator, or a combination thereof may be used.

[0054] In the above-described embodiment, the case where the force sensors 26 are provided every other one among the J1 to J6 axes has been described. However, the number of installed force sensors 26, the arrangement distribution, the ratio, etc. are not limited to this. Further, although all the joint axes where the force sensors 26 are provided are classified as "first joint axes", a part of them may be classified as "second joint axes". For example, it is assumed that the reliability of the measurement results decreases due to a failure or performance degradation of the force sensor 26.

[0055] In the above-described embodiment, the case where the estimated value is calculated according to the formula (1) has been described. However, various estimation models different from this may be used. Further, in the above-described embodiment, the case where the estimated value is corrected according to the formula (2) has been described. However, various correction formulas different from this may be used. For example, a temperature sensor may be provided around the position sensor 24 or the force sensor 26, and a temperature compensation function may be incorporated into the above-described estimation or correction.

[0056] In the above-described embodiment, the case where the derivation of the detection value (steps SP16 and SP20 in FIG. 3) and the calculation of the calculated value (step SP22 in FIG. 3) are performed synchronously has been described. However, these calculation processes may be performed asynchronously. Specifically, step SP22 may be excluded from the flowchart of FIG. 3, and the determination unit 50 may determine the presence or absence of interference using the calculated value calculated most recently.

[0057] In the above-described embodiment, the case where the force detection device is provided integrally with the control device 14 of the robot 12 has been described. However, the device configuration is not limited to this. For example, the force detection device may be a computer separate from the control device, or may be provided integrally with the robot.

[0058] In the above-described embodiment, a 6-axis vertically articulated robot has been described as an example, but the type of the robot 12 is not limited to this. For example, the robot 12 may be any of a 7-axis robot, a horizontally articulated robot (so-called SCARA robot), a parallel link robot, or an orthogonal robot (so-called gantry robot). Further, the present invention is not limited to industrial robots and can be applied to various movable devices having a plurality of joint axes 20.

[0059] [Description of Reference Numerals] 10... Robot system, 12... Robot, 14... Control device (force detection device), 20, 20a, 20b... Joint axes, 22... Servo motor (actuator), 24... Position sensor, 26... Force sensor, 40... Servo control unit, 42... Estimation unit, 44... Measurement unit, 46... Correction unit, 48... Dynamics calculation unit, 50... Determination unit

Claims

1. A force detection device for detecting a force acting on a robot configured to include a plurality of joint axes and a plurality of actuators each connected to each of the joint axes, a measurement unit that measures a force acting on the joint axis using a force sensor, an estimation unit that estimates a force acting on the joint axis based on a state quantity indicating a driving state of the actuator, a correction unit that corrects an estimated value obtained by the estimation by the estimation unit, comprising: In the case of a first joint axis provided with the force sensor among the plurality of joint axes, a measurement value obtained by the measurement by the measurement unit is obtained as a force detection result, In the case of a second joint axis not provided with the force sensor among the plurality of joint axes, the correction unit uses a difference amount between the measurement value and the estimated value in the first joint axis to correct the estimated value in the second joint axis. A force detection device characterized by obtaining a value obtained by correction as a force detection result.

2. The force detection device according to claim 1, wherein the estimation unit estimates forces acting on the first joint axis and the second joint axis according to a common estimation model.

3. The force detection device according to claim 1 or 2, wherein the difference amount is calculated by statistical processing on a set of the difference amounts corresponding to two or more first joint axes.

4. The force detection device according to any one of claims 1 to 3, wherein when the plurality of joint axes are connected in series, the correction unit uses the difference amount of the first joint axis closest to the upstream or downstream to correct the estimated value in the second joint axis.

5. A robot configured to include a plurality of joint axes and a plurality of actuators each connected to each of the joint axes, The force detection device according to any one of claims 1 to 4, A robot system characterized by comprising:

Citation Information

Patent Citations

  • Device for calibrating torque sensor, calibration method, and program

    JP2012176465A

  • Load estimation and gravity compensation method for robot arm, and system therefor

    JP2019193965A

  • Method and device for torque estimation

    JP2020101541A

  • Industrial robot system

    JP2020104249A

  • Robot

    JP2020179483A