Force detection device and robot system

The described system improves torque sensor and dynamic model calibration convergence by alternately correcting offsets and parameters, addressing errors and time issues in existing methods, resulting in more accurate force detection.

JP7862709B2Active Publication Date: 2026-05-20NACHI FUJIKOSHI CORP
View PDF 8 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
NACHI FUJIKOSHI CORP
Filing Date
2022-04-08
Publication Date
2026-05-20

AI Technical Summary

Technical Problem

Existing calibration methods for torque sensors in robots suffer from increased calculation errors and extended calibration times due to the number of identification parameters, leading to instability and decreased convergence.

Method used

A force detection device and robot system that alternately repeats first and second calibration operations to correct torque sensor offsets and dynamic model parameters, respectively, improving convergence by dynamically adjusting calibration conditions based on correction amounts.

Benefits of technology

Enhances the convergence of calibration calculations for torque sensors and dynamic models, reducing measurement and calculation errors, thereby enhancing the accuracy of force detection in robots.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007862709000001
    Figure 0007862709000001
  • Figure 0007862709000002
    Figure 0007862709000002
  • Figure 0007862709000003
    Figure 0007862709000003
Patent Text Reader

Abstract

To provide a force detection device and a robot system, which can improve converging performance of calibration operation when calibrating a torque sensor and a dynamic model.SOLUTION: A control device 14 as a force detection device includes: an external force detection section 42 which detects external force applied to a joint shaft 20 using a measured value of torque measured by a torque sensor 26 and a calculated value of torque calculated in accordance with a dynamic model from positional information of an actuator 22 connected to the joint shaft 20; and a calibration section 44 which calibrates a detection value of external force by the external force detection section 42 by alternately repeating a first calibration operation for calibrating the torque sensor 26 and a second calibration operation for calibrating the dynamic model.SELECTED DRAWING: Figure 3
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 that detect forces acting on a robot having a plurality of joint axes.

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. For example, various techniques for calibrating torque sensors provided on the joint axes of a robot have been proposed in order to detect external forces acting on the robot with high accuracy.

[0003] Patent Document 1 discloses a calibration method for associating a torque detection value detected by a torque sensor provided on a rotation axis of a robot with a moment value calculated from the posture or motion of the robot.

[0004] Patent Document 2 discloses a calibration method for simultaneously identifying the minimum mechanical parameters of a motion equation, the offset value of the torque of a torque sensor, based on the torque of a joint measured by the torque sensor, the external force measured by a force sensor, and the motion equation regarding the base link of a multi-joint robot.

Prior Art Documents

Patent Documents

[0005]

Patent Document 1

Patent Document 2

Summary of the Invention

Problems to be Solved by the Invention

[0006] However, the calibration method disclosed in Patent Document 1 had a problem in that, as the calculation error of the moment value increased, even if the correspondence between the torque detection value and the moment value was properly made, the calibration error of the torque sensor could not be reduced.

[0007] Furthermore, in the calibration method disclosed in Patent Document 2, as the number of identification parameters increases, the number of data samples required to optimize the identification parameters also increases, which tends to decrease the stability and convergence of the solution. As a result, there was a problem in that the time required to complete the calibration was extended.

[0008] This invention has been made in view of the above problems, and its objective is to provide a force detection device and a robot system that can improve the convergence of calibration calculations when calibrating a torque sensor and a dynamics model. [Means for solving the problem]

[0009] The force detection device according to the present invention is a device for detecting a force acting on a robot having a plurality of joint axes, and comprises: a detection unit that detects an external force acting on the joint axis using a measured torque value measured by a torque sensor provided on the joint axis and a calculated torque value calculated according to a dynamic model from position information of an actuator connected to the joint axis; and a calibration unit that calibrates the detected value of the external force by the detection unit by alternately repeating a first calibration operation for calibrating the torque sensor and a second calibration operation for calibrating the dynamic model.

[0010] Furthermore, the first calibration operation may be an operation to correct the offset value of the torque sensor so that the measured value approaches zero when no torque is applied to the joint axis, and the second calibration operation may be an operation to correct the dynamic parameters for identifying the dynamic model so that the torque error between the measured value and the calculated value becomes smaller.

[0011] Furthermore, the calibration unit may alternately repeat the first calibration operation and the second calibration operation while changing the calibration conditions of the torque sensor according to the magnitude of the correction amount of the offset value.

[0012] Furthermore, the calibration unit may alternately repeat the first calibration operation and the second calibration operation while changing the calibration conditions of the dynamic model according to the magnitude of the correction amount of the dynamic parameters or the magnitude of the torque error.

[0013] The robot system in the present invention comprises a robot having multiple joint axes and the force detection device described above for detecting the force acting on the robot. [Effects of the Invention]

[0014] According to the present invention, the convergence of calibration calculations can be further improved when calibrating torque sensors and dynamic models. [Brief explanation of the drawing]

[0015] [Figure 1] This is an overall configuration diagram of a robot system incorporating a control device as a force detection device in one embodiment of the present invention. [Figure 2] Figure 1 is the first block diagram of the robot system shown. [Figure 3] Figure 1 is the second block diagram of the robot system shown. [Figure 4] This figure shows an example of the data structure of calibration condition information. [Figure 5] Figures 2 and 3 are detailed block diagrams of the calibration unit. [Figure 6] Figure 5 is a flowchart showing an example of the sequential calibration operation performed by the calibration unit. [Modes for carrying out the invention]

[0016] 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 used as much as possible for the same components in each drawing, and duplicate descriptions are omitted.

[0017] [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 in an embodiment of the present invention. The robot system 10 is a system for a robot 12 and an operator (not shown) to cooperate in performing work. Specifically, this robot system 10 includes a robot 12 and a control device 14 that controls the driving of the robot 12.

[0018] The robot 12 is a vertically articulated robot having a plurality of joint axes 20. In the example of FIG. 1, the robot 12 has a swivel axis (J1 axis) for rotating the body, a lower arm 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. An end effector (not shown) is attached to the tip of the robot 12.

[0019] A servo motor 22 (see FIGS. 2 and 3) that performs rotational driving clockwise or counterclockwise through servo control is connected to each joint axis 20. The robot 12 can perform various operations including gripping / moving a workpiece, welding, and painting by independently driving a plurality of joint axes 20 according to a command from the control device 14.

[0020] The control device 14 is a computer that controls the operation of the 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.

[0021] Connector 30 is a terminal for electrically connecting to the robot 12 via a power cable or a communication cable (neither of which is shown). Through this, the control device 14 supplies power and control signals to the robot 12 and acquires measurement signals from various sensors installed on the robot 12.

[0022] The communication I / F32 is an interface for communicating with external devices. This allows the control device 14 to exchange data with, for example, a programming pendant, a work terminal, or a higher-level device (none of which are shown).

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

[0024] <Block diagram> Figure 2 is the first block diagram of the robot system 10 shown in Figure 1. The main components involved in the drive control of the robot 12 are shown in this figure. The arrows in this figure indicate the flow of signals or data. The robot 12 comprises the joint axis 20 described above, a servo motor 22 (corresponding to "actuator"), a position sensor 24, and a torque sensor 26. The control device 14 comprises a servo control unit 40, an external force detection unit 42 (corresponding to "detection unit"), and a calibration unit 44.

[0025] Note that, for illustrative purposes, only one set of the joint axis 20, servo motor 22, position sensor 24, torque sensor 26, and servo control unit 40 is shown; however, in reality, multiple sets (six sets in the example of robot 12 shown in Figure 1) are provided. Also, during this drive control, the operation of the calibration unit 44 is stopped.

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

[0027] The servo control unit 40 controls the drive of the servo motor 22 based on the position signal from the position sensor 24 (or encoder). For drive control, for example, PWM (Pulse Width Modulation) is used, which controls the current flowing through the servo motor 22.

[0028] The external force detection unit 42 detects the external force acting on the joint axis 20 using the torque measurement value (hereinafter also referred to as "torque measurement value") measured by the torque sensor 26 provided on the joint axis 20 and the calculated torque value (hereinafter also referred to as "torque calculated value") calculated according to a dynamic model from the position information of the servo motor 22 connected to the joint axis 20. Specifically, the external force detection unit 42 is composed of a measurement unit 46, a calculation unit 48, and a determination unit 50.

[0029] The measuring unit 46 measures the torque acting on the joint axis 20 using the torque sensor 26. For example, the measuring unit 46 refers to the known detection characteristics of the torque sensor 26 and converts the torque signal from the torque sensor 26 into a measured value of the torque acting on the joint axis 20. The measuring unit 46 has a calibration parameter C1 set for each torque sensor 26. This calibration parameter C1 is a variable parameter used to calibrate the torque sensor 26, and is, for example, an offset value or a gain value.

[0030] The calculation unit 48 uses position information indicated by the position signal from the servo motor 22 to calculate the torque acting on the joint axis 20 according to a dynamic model. More specifically, the calculation unit 48 uses the position information of the servo motor 22 to dynamically calculate the torque acting on the joint axis 20 due to the robot 12's own weight or its own movement. The position information includes position, velocity, acceleration, jerk, etc., which are determined from the position signal or its temporal change. The calculation unit 48 has calibration parameters C2 set for each joint axis 20. These calibration parameters C2 are variable parameters used to calibrate the dynamic model, i.e., dynamic parameters. The dynamic parameters include the distance and intersection angle between the joint axes 20, and the mass, center of gravity position, and inertia of the arm and end effector. The calculated torque value obtained when the external force acting on the robot 12 is zero corresponds to the reference value in the judgment of the judgment unit 50.

[0031] The determination unit 50 uses the torque measurement value from the measurement unit 46 and the torque calculation value from the calculation unit 48 to determine whether the robot 12 has interfered with an external object. For example, the determination unit 50 considers the value obtained by subtracting the torque calculation value from the torque measurement value as the "external force" and determines whether this external force exceeds a threshold. If the external force exceeds the threshold, the determination unit 50 determines that the robot 12 has interfered with an external object and outputs a stop signal to the corresponding servo control unit 40 or brake mechanism (not shown) to stop the driving of the servo motor 22.

[0032] Figure 3 is a second block diagram of the robot system 10 shown in Figure 1. This figure shows the main components involved in the sequential calibration of the detected external force. The arrows in this figure indicate the flow of signals or data. Unlike in Figure 2, the calibration unit 44 operates during this sequential calibration.

[0033] The calibration unit 44 refers to information describing the calibration conditions (hereinafter referred to as "calibration condition information") and, in cooperation with the servo control unit 40 and the external force detection unit 42, performs sequential calibration operations to calibrate the external force detected by the external force detection unit 42. This "sequential calibration operation" means alternating between a "first calibration operation" for calibrating the torque sensor 26 (hereinafter also referred to as "torque calibration") and a "second calibration operation" for calibrating the dynamics model (hereinafter also referred to as "model calibration"). The first calibration operation is, for example, a single or series of operations that corrects the offset value of the torque sensor 26 so that the torque measurement value approaches zero when no external force is acting on the joint axis 20. The second calibration operation is, for example, a single or series of operations that corrects the dynamics parameters for identifying the dynamics model so that the error between the torque measurement value and the torque calculation value (hereinafter also referred to as "torque error") becomes smaller.

[0034] Furthermore, the calibration unit 44 may alternately repeat the first calibration operation and the second calibration operation while changing the calibration conditions for the torque sensor 26 (hereinafter also referred to as the "first calibration conditions") according to the magnitude of the offset value correction amount. These first calibration conditions include, for example, [1] identification information or the number of torque sensors 26 to be calibrated, [2] the execution order of sensor calibration when there are two or more calibration targets, or [3] the completion conditions for sensor calibration (e.g., tolerance error or maximum number of repetitions). Specifically, the first calibration conditions may be set such that as the offset value correction amount decreases, [1] the number of torque sensors 26 to be calibrated decreases, [2] the tolerance error decreases, or [3] the maximum number of repetitions decreases.

[0035] Furthermore, the calibration unit 44 may alternately repeat the first calibration operation and the second calibration operation while changing the calibration conditions of the dynamics model (hereinafter also referred to as the "second calibration conditions") according to the magnitude of the correction amount of the dynamics parameters or the magnitude of the torque error. These second calibration conditions include, for example, [1] identification information or the number of joint axes 20 to be calibrated, [2] completion conditions for model calibration (e.g., tolerance error or maximum number of iterations), [3] the number of data pairs used for model calibration, or [4] the range of motion of the robot 12 during model calibration. Specifically, the second calibration conditions may be set such that as the magnitude of the correction amount of the dynamics parameters (or the magnitude of the torque error) decreases, [1] the number of torque sensors 26 to be calibrated decreases, [2] the tolerance error decreases, [3] the maximum number of iterations decreases, and [4] the number of data pairs decreases.

[0036] The measuring unit 46 calibrates the torque sensor 26 according to a provisionally set calibration parameter C1 (hereinafter referred to as "provisional parameter C10") and obtains a torque measurement value that reflects the calibration. This provisional parameter C10 is updated sequentially through the first calibration operation of the calibration unit 44.

[0037] The calculation unit 48 calibrates the dynamics model according to the provisionally set calibration parameter C2 (hereinafter referred to as "provisional parameter C20") and obtains a torque calculation value that reflects the calibration. This provisional parameter C20 is updated sequentially through the second calibration operation of the calibration unit 44.

[0038] Figure 4 shows an example of the data structure of calibration condition information. This calibration condition information is a table data that describes the relationship between [1] the "task number" indicating the execution order of tasks, [2] the "maximum number of iterations" of a task, [3] the "first decision condition" regarding the completion of sensor calibration, and [4] the "second decision condition" regarding the completion of model calibration. The first and second decision conditions consist of the target of the task execution and the task completion condition, respectively.

[0039] In the example shown in this figure, for task number "#1", the execution target and termination conditions in the first judgment condition are set to "all" and "correction amount is X1 or less", and the execution target and termination conditions in the second judgment condition are set to "all" and "error is Y1 or less". In this case, the calibration unit 44 sequentially performs sensor calibration on all torque sensors 26, and terminates the sensor calibration for task #1 when the amount of change in the offset value before and after the sensor calibration (i.e., the correction amount of the offset value) becomes X1 or less. Note that if the correction amounts for tasks #1, #2, and #3 are X1, X2, and X3, the relationship X1 > X2 > X3 is satisfied.

[0040] Furthermore, the calibration unit 44 sequentially performs model calibration for all joint axes 20, and terminates the model calibration in task #1 when the error between the torque measurement value and the torque calculation value after model calibration (i.e., torque error) becomes less than or equal to Y1. Note that if the allowable errors in tasks #1, #2, and #3 are Y1, Y2, and Y3, the relationship Y1 > Y2 > Y3 is satisfied.

[0041] While Task #1 is being executed, the calibration unit 44, for example, if the completion condition for sensor calibration is met, sequentially repeats only the model calibrations for which the completion condition has not yet been met. In this way, the calibration unit 44 repeats at least one of the sensor calibration and model calibrations up to three times, and then completes the execution of Task #1. Subsequently, the calibration unit 44 executes Tasks #2 and #3 in order following Task #1. The calibration unit 44 may also make a determination at the end of each task regarding whether the torque error has converged. In the example in Figure 4, the calibration convergence condition is set so that the sequential calibration operation is completed when the torque error in all joint axes 20 becomes less than or equal to C.

[0042] Figure 5 is a detailed block diagram of the calibration unit 44 shown in Figures 2 and 3. The calibration unit 44 includes switch units 52 and 54, a sensor calibration unit 56, a model calibration unit 58, and a sequence control unit 60.

[0043] The switch unit 52 is connected to the measurement unit 46 on its input side, to the sensor calibration unit 56 on its first output side (S terminal), and to the model calibration unit 58 on its second output side (M terminal). The switch unit 52 switches the output destination according to the value of the mode flag output from the sequence control unit 60. As a result, the torque measurement value is supplied to the sensor calibration unit 56 during the execution of the first calibration operation, while the torque measurement value is supplied to the model calibration unit 58 during the execution of the second calibration operation.

[0044] The switch unit 54 is connected to the calculation unit 48 on its input side, to the sensor calibration unit 56 on its first output side (S terminal), and to the model calibration unit 58 on its second output side (M terminal). The switch unit 54 switches the output destination according to the value of the mode flag output from the sequence control unit 60. As a result, the torque calculation value is supplied to the sensor calibration unit 56 during the execution of the first calibration operation, while the torque calculation value is supplied to the model calibration unit 58 during the execution of the second calibration operation.

[0045] The sensor calibration unit 56 calibrates the corresponding torque sensor 26 using the torque measurement value supplied from the measurement unit 46 and the torque calculation value supplied from the calculation unit 48. As a result of the calibration of the sensor calibration unit 56, a calibration parameter C1 is output, and the calibration parameter C1 is also supplied to the measurement unit 46.

[0046] The model calibration unit 58 calibrates the corresponding dynamics model using the torque measurement values ​​supplied from the measurement unit 46 and the torque calculation values ​​supplied from the calculation unit 48. As a result of the calibration by the model calibration unit 58, the calibration parameter C2 is output and supplied to the calculation unit 48.

[0047] The sequence control unit 60 performs control for executing a series of tasks related to sequential calibration. Specifically, the sequence control unit 60 drives multiple joint axes 20 so that the arm of the robot 12 is in a desired position and orientation by supplying control signals to the servo control unit 40 (Figure 3) to command the execution of tasks. In addition, the sequence control unit 60 can manage the progress of the sequential calibration by exchanging signals with the sensor calibration unit 56 or the model calibration unit 58.

[0048] [Operation of robot system 10] The robot system 10 in this embodiment is configured as described above. Next, the sequential calibration operation by this robot system 10, in particular the control device 14, will be explained with reference to the detailed block diagram in Figure 5 and the flowchart in Figure 6.

[0049] <Step SP10: First Calibration Step> In step SP10 of Figure 6, the control device 14 performs an operation to calibrate the torque sensor 26 (i.e., the first calibration operation) in conjunction with the robot 12. Step S10 consists of four substeps: steps SP12, SP14, SP16, and SP18. The sequence control unit 60 outputs a mode flag indicating "first calibration operation," which connects the input terminals of the switch units 52 and 54 to the S terminals, respectively.

[0050] <Step SP12: Specified Step> In step SP12, the sequence control unit 60 selects one of the multiple joint axes 20 that has not yet been selected. Initially, "J6", which is located at the very end, is selected.

[0051] <Step SP14: Exploration Step> In step SP14, the sensor calibration unit 56, in cooperation with the sequence control unit 60, searches for a position and orientation in which the torque calculation value of the joint axis 20 specified in step SP12 becomes zero.

[0052] <Step SP16: Sensor Calibration Step> In step SP16, the sensor calibration unit 56 uses the search results from step SP14 to calibrate the corresponding torque sensor 26. Specifically, the sensor calibration unit 56 determines the torque measurement value obtained when the torque calculation value is zero as the "offset value" (i.e., provisional parameter C10). This provisional parameter C10 is supplied to the measurement unit 46, thereby calibrating the torque sensor 26 corresponding to the "J6" joint axis 20.

[0053] <Step SP18: Confirmation Step> In step SP18, the sequence control unit 60 checks whether all sensor calibrations for the joint axis 20 to be calibrated have been completed. In the first process, the sensor calibration is not yet complete (step SP18: NO), so the sequence control unit 60 returns to step SP12.

[0054] In the second step SP12, the sequence control unit 60 selects "J5," the second joint axis from the end, which is one of the multiple joint axes 20 that has not yet been selected. In this way, sensor calibration is performed in the order of "J6" → "J5" → "J4" → "J3" → "J2" → "J1". If all sensor calibration is completed (step SP18: YES), the process proceeds to the next step SP20.

[0055] <Step SP20: Second Calibration Step> In step SP20, the control device 14 performs an operation to calibrate the dynamics model (i.e., a second calibration operation) in conjunction with the robot 12. Step S20 consists of four substeps: steps SP22, SP24, SP26, and SP28. The sequence control unit 60 outputs a mode flag indicating "second calibration operation," which connects the input terminals of the switch units 52 and 54 to the M terminals, respectively.

[0056] <Step SP22: Specified Step> In step SP22, the sequence control unit 60 selects one of the multiple joint axes 20 that has not yet been selected. Initially, as in step SP12, the "J6" axis, which is located at the very end, is selected.

[0057] In step SP24, the model calibration unit 58, in cooperation with the sequence control unit 60, acquires data pairs for each position and orientation of the joint axis 20 specified in step SP22. This data pair consists of torque measurements from the measurement unit 46 and torque calculation values ​​from the calculation unit 48 (or position information for determining the torque calculation value), obtained at a predetermined position and orientation of the robot 12.

[0058] In step SP26, the model calibration unit 58 calibrates the corresponding dynamics model using multiple data pairs acquired in step SP24. Specifically, the model calibration unit 58 uses various optimization methods, including the least squares method, to determine the "dynamics parameters" (i.e., provisional parameters C20) from the multiple data pairs. These provisional parameters C20 are supplied to the calculation unit 48, thereby calibrating the dynamics model corresponding to the "J6" joint axis 20.

[0059] In step SP28, the sequence control unit 60 checks whether all model calibrations for the joint axis 20 to be calibrated have been completed. In the first process, the model calibration is not yet complete (step SP28: NO), so the sequence control unit 60 returns to step SP22.

[0060] In the second step SP22, the sequence control unit 60 selects "J5," the second joint axis from the end, which is one of the multiple joint axes 20 that has not yet been selected. Thus, model calibration is performed in the order of "J6" → "J5" → "J4" → "J3" → "J2" → "J1". When all model calibration is completed (step SP28: YES), the process proceeds to the next step SP30.

[0061] <Step SP30: Judgment Step> In step SP30, the sequence control unit 60 determines whether the convergence conditions for calibration convergence are met. If the convergence conditions are not yet met (step SP30: NO), the sequence control unit 60 returns to step SP10.

[0062] The control device 14 then sequentially repeats steps SP10 and SP20. By sequentially repeating tasks consisting of the first calibration operation and the second calibration operation, the error between the measured torque and the calculated torque (i.e., the torque error) gradually decreases. Then, in step SP30, if the convergence condition is met (step SP30: YES), the sequence control unit 60 proceeds to the next step SP32.

[0063] <Step SP32: Setup Step> In step SP32, the external force detection unit 42 sets the calibration parameters C1 and C2 that were last obtained in steps SP10 and SP20. Specifically, the last obtained provisional parameter C10 is set as the calibration parameter C1 in the measurement unit 46. Similarly, the last obtained provisional parameter C20 is set as the calibration parameter C2 in the calculation unit 48. In this way, the sequential calibration operation by the control device 14 is completed. As a result, the discrepancy between the torque measurement value and the torque calculation value becomes smaller, so the control device 14 can detect the external force acting on the robot 12 more accurately.

[0064] [Summary of Embodiments] As described above, by alternately repeating the first calibration operation, which calibrates the torque sensor 26, and the second calibration operation, which calibrates the dynamics model, the measurement error of the torque sensor 26 and the calculation error of the dynamics model can be reduced alternately and in stages. As a result, when calibrating the torque sensor 26 and the dynamics model, the convergence of the calibration calculation can be improved compared to when both calibrations are performed simultaneously.

[0065] Furthermore, the first calibration operation is an operation to correct the offset value of the torque sensor 26 (corresponding to "calibration parameter C1") so that the torque measurement value approaches zero when no external force is applied to the joint axis 20, and the second calibration operation may be an operation to correct the dynamic parameters (corresponding to "calibration parameter C2") for identifying the dynamic model so that the torque error between the torque measurement value and the torque calculation value becomes smaller.

[0066] Furthermore, the calibration unit 44 may alternately repeat the first calibration operation and the second calibration operation while changing the calibration conditions of the torque sensor 26 according to the magnitude of the offset value correction amount. By dynamically setting appropriate calibration conditions that take into account the magnitude of the offset value correction amount, the convergence of the calibration calculation can be further improved.

[0067] Furthermore, the calibration unit 44 may alternately repeat the first calibration operation and the second calibration operation while changing the calibration conditions of the dynamics model according to the magnitude of the correction amount of the dynamics parameters or the magnitude of the torque error. By dynamically setting appropriate calibration conditions that take into account the magnitude of the correction amount of the dynamics parameters or the magnitude of the torque error, the convergence of the calibration calculation can be further improved.

[0068] [Differentiation] It should be noted that the present invention is not limited to the embodiments described above, and can be freely modified without departing from the spirit of the invention. Alternatively, the various components may be combined in any way that does not create a technical inconsistency. Alternatively, the execution order of each step constituting the flowchart may be changed as long as it does not create a technical inconsistency.

[0069] In the embodiment described above, a device configuration in which a torque sensor 26 is provided for each joint axis 20 (Figure 2) was used as an example, but a device configuration in which a torque sensor 26 is provided for only some of the joint axes 20 is also possible. Furthermore, in the embodiment described above, the case in which calibration parameters C1 and C2 are set in the external force detection unit 42 was used as an example, but the method of setting calibration parameters C1 and C2 is not limited to this. For example, the robot system 10 may be configured to directly set the obtained calibration parameter C1 to the torque sensor 26 and to supply the calibrated torque signal from the torque sensor 26 to the external force detection unit 42.

[0070] In the embodiments described above, a vertical articulated robot was used as an example, but the type of industrial robot is not limited to this. For example, it could be a horizontal articulated robot, a parallel link robot, or a Cartesian robot. [Explanation of Symbols]

[0071] 10…Robot system, 12…Robot, 14…Control device (force detection device), 20…Joint axis, 22…Servo motor (actuator), 26…Torque sensor, 42…External force detection unit (detection unit), 44…Calibration unit, 46…Measurement unit, 48…Calculation unit, 56…Sensor calibration unit, 58…Model calibration unit, 60…Sequence control unit

Claims

1. A force detection device for detecting forces acting on a robot having multiple joint axes, A detection unit detects an external force acting on the joint axis using a torque measurement value obtained by a torque sensor provided on the joint axis and a calculated torque value obtained from the position information of an actuator connected to the joint axis according to a dynamic model. A calibration unit that calibrates the detected value of the external force by the detection unit by alternately repeating the following: first calibration operation, which acquires the measured value at the position and orientation where the calculated value becomes zero through the search for the position and orientation of the robot while the external force is not acting on the joint axis; first calibration operation, which corrects the first parameter used for calibrating the torque sensor so that the measured value approaches zero; and second calibration operation, which corrects the second parameter used for calibrating the dynamic model so that the torque error between the measured value and the calculated value becomes small. A force detection device characterized by comprising the following features.

2. The force detection device according to claim 1, characterized in that when the combination unit of the first calibration operation and the second calibration operation is defined as a task, a combination of calibration conditions relating to the torque sensor and the dynamic model is set for each task.

3. The force detection device according to claim 1, characterized in that the calibration unit alternately repeats the first calibration operation and the second calibration operation while changing the calibration conditions of the torque sensor according to the magnitude of the correction amount of the first parameter.

4. The force detection device according to claim 1, characterized in that the calibration unit alternately repeats the first calibration operation and the second calibration operation while changing the calibration conditions of the dynamic model according to the magnitude of the correction amount of the second parameter or the magnitude of the torque error.

5. A robot with multiple joint axes, A force detection device according to any one of claims 1 to 4 for detecting the force acting on the robot, A robot system characterized by having the following features.