Robot system, robot diagnostic device, diagnostic method, and diagnostic program
By using sensors in the robot system to detect external forces and combining diagnostic devices to calculate the load under joints, the problem of difficulty in accurately detecting the load under robot joints in the prior art is solved, and a comprehensive evaluation of the joint load of the robot and prevention of excessive loads are achieved.
Patent Information
- Application Number
- CN202280099576.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-09
- Publication Date
- 2025-04-11
AI Technical Summary
The prior art is difficult to accurately detect the loads that robot joints bear, especially when external forces act not only on the rotation direction around the drive shaft, it is difficult to determine whether there is an excessive load.
A robot system is designed, equipped with sensors for detecting external forces, and the diagnostic device calculates the load under the joint, including the directional force around the drive shaft, and determines whether there is an excessive load by comparing the preset allowable value.
A comprehensive evaluation of the loads subject to the robot joints is achieved, and the directional forces around the drive shaft can be accurately detected to prevent excessive load from causing damage to the robot.
Smart Images

Figure CN119816400A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a robot system, a robot diagnostic device, a diagnostic method and a diagnostic program. Background Art
[0002] There is known a control method for driving the joints of a multi-joint robot so that a tool attached to the front end of the robot body reaches a predetermined target position (for example, refer to Patent Document 1).
[0003] In this control method, in order to monitor the state of each joint when an external force is input to the robot body, the load around the drive axis applied to each joint is estimated based on the torque around the drive axis of the actuator of each joint. In addition, in this control method, it is determined whether the estimated load exceeds a preset threshold value, and when it is determined to be above the threshold value, the driving direction of the joint is changed.
[0004] Prior art literature
[0005] Patent Literature
[0006] Patent Document 1: Japanese Patent Application Publication No. 2008-000861 Summary of the invention
[0007] Problem that the invention aims to solve
[0008] Since the load acting on each joint is affected by the direction of the external force input to the robot body, it is not necessarily applied only in the rotation direction around the drive axis.
[0009] Therefore, it is desirable to be able to confirm whether an excessive load is acting on each joint even if the load around the drive shaft does not exceed the allowable value.
[0010] Solutions for solving problems
[0011] One embodiment of the present invention is a robot system, comprising: a robot having more than two joints; a sensor capable of detecting a physical quantity for measuring or estimating an external force acting on the robot; and a diagnostic device for diagnosing the robot, the diagnostic device calculating a force acting on each joint in at least one direction other than a direction of motion of each joint based on the external force measured or estimated according to the physical quantity detected by the sensor. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] Figure 1 It is a schematic overall configuration diagram showing a robot system according to a first embodiment of the present invention.
[0013] Figure 2 It means that the external force acts on Figure 1A partially enlarged stereoscopic view of the state of the tool at the front end of the robot.
[0014] Figure 3 Yes means Figure 1 Block diagram of the structure of the control device.
[0015] Figure 4 Yes Figure 1 A flowchart for explaining the operation of the control device.
[0016] Figure 5 It means acting on Figure 1 A diagram of the torque of the joints at the front end of the robot in the direction of the axis.
[0017] Figure 6 It means acting on Figure 1 A diagram of the force in the direction of the axis perpendicular to the axis of the joint at the front end of the robot.
[0018] Figure 7 It is a schematic overall configuration diagram showing a robot system according to a second embodiment of the present invention.
[0019] Figure 8 Yes means Figure 7 Block diagram of the structure of the control device.
[0020] Fig. 9 Yes Figure 7 A flowchart for explaining the operation of the control device. DETAILED DESCRIPTION
[0021] Hereinafter, a robot system 100 , a diagnostic device 30 , a diagnostic method, and a diagnostic program according to a first embodiment of the present invention will be described with reference to the drawings.
[0022] For example, Figure 1 As shown, the robot system 100 of the present embodiment includes: a six-axis vertical articulated robot 10 (hereinafter referred to as the robot 10 ) that performs a predetermined operation; and a control device 20 that controls the robot 10 .
[0023] like Figure 1 As shown, for example, the robot 10 includes: a base 2, which is set on a horizontal ground B; and a rotating body 3, which is supported to be rotatable around a vertical first axis J1 (hereinafter, also referred to as axis J1) relative to the base 2. In addition, the robot 10 includes a first arm 4, which is supported to be rotatable around a horizontal second axis J2 (hereinafter, also referred to as axis J2) relative to the rotating body 3. In addition, the robot 10 includes a second arm 5, which is supported to be rotatable around a horizontal third axis J3 (hereinafter, also referred to as axis J3) relative to the front end of the first arm 4.
[0024] Furthermore, the robot 10 includes a three-axis wrist unit 6 supported at the front end of the second arm 5 .
[0025] The wrist unit 6 includes a first wrist element 6a supported to be rotatable relative to the second arm 5 about a fourth axis J4 (hereinafter, also referred to as the axis J4) that is not coplanar with the axis J3. In addition, the wrist unit 6 includes a second wrist element 6b supported to be rotatable relative to the first wrist element 6a about a fifth axis J5 (hereinafter, also referred to as the axis J5) that is orthogonal to the axis J4.
[0026] Furthermore, the wrist unit 6 includes a third wrist element 6c supported to be rotatable relative to the second wrist element 6b about a sixth axis J6 (hereinafter also referred to as axis J6) orthogonal to the axis J5. That is, the robot 10 includes six joints A1 to A6.
[0027] A tool 7 for working on a workpiece is mounted on the third wrist element 6c. The tool 7 is, for example, a nut runner for tightening a thread or a grinding wheel for grinding.
[0028] The joint A1 is a rotary joint that uses a motor M1 to rotate the rotating body 3 around a first axis (rotation axis) J1 relative to the base 2. In addition, the joint A2 is a rotary joint that uses a motor M2 to rotate the first arm 4 around a second axis (rotation axis) J2 relative to the rotating body 3. And, the joint A3 is a rotary joint that uses a motor M3 to relatively rotate the first arm 4 and the second arm 5 around a third axis (rotation axis) J3.
[0029] The joint A4 is a rotary joint that uses a motor M4 to relatively rotate the second arm 5 and the first wrist element 6a around a fourth axis (rotation axis) J4. In addition, the joint A5 is a rotary joint that uses a motor M5 to relatively rotate the first wrist element 6a and the second wrist element 6b around a fifth axis (rotation axis) J5. In addition, the joint A6 is a rotary joint that uses a motor M6 to relatively rotate the second wrist element 6b and the third wrist element 6c around a sixth axis (rotation axis) J6.
[0030] A reducer (not shown) is installed at each joint A1 to A6 to reduce the rotation speed of the motors M1 to M6. In addition, a sensor S for detecting the force acting on the tip of the robot 10 is installed between the third wrist element 6c and the tool 7. The sensor S is a six-axis force sensor, for example, which can detect the sensor coordinate system fixed to the tip center of the third wrist element 6c (see Figure 2 )'s three orthogonal axes and a total of six components of torque around these three axes.
[0031] like Figure 2 As shown, the robot 10 moves the tool 7 mounted on the wrist unit 6 to a position required for the operation and works in this state, thereby performing a predetermined operation on a workpiece (not shown). In addition, the sensor S detects the force Fs acting on the front end of the third wrist element 6c by using the reaction force (external force) F acting on the front end of the tool 7 during the operation.
[0032] like Figure 3 As shown, the control device 20 includes: a storage unit 21 storing various programs and the like; and a control unit 22 controlling each motor M1 to M6 of the robot 10 according to the program stored in the storage unit 21. Each motor M1 to M6 includes an encoder (not shown), and the rotation angle information of each motor M1 to M6 detected by the encoder is fed back to the control unit 22. That is, the control unit 22 controls the tool 7 according to the program stored in the storage unit 21.
[0033] In addition, the control device 20 includes a diagnostic device 30 of one embodiment of the present invention. The diagnostic device 30 includes a calculation unit 23, a determination unit 24, a display unit 25, and a notification unit 26. In addition, a part of the storage unit 21 constitutes the diagnostic device 30. The storage unit 21 is a memory such as a ROM and a RAM, and the control unit 22 and the diagnostic device 30 are composed of a processor and a memory.
[0034] The storage unit 21 stores: at least one motion program for causing the robot 10 to perform a predetermined motion; and a diagnostic program for diagnosing whether an excessive load is applied to each joint A1 to A6 of the robot 10. The diagnostic program may be included in the motion program as a part of the motion program, or may be executed independently of the motion program.
[0035] In addition, the storage unit 21 stores the allowable values of multiple directional components of the loads f1 to f6 acting on the joints A1 to A6. For example, the storage unit 21 stores the allowable values of the force in the direction along the axis J1, the moment around the axis J1, the force in any direction orthogonal to the axis J1, and the moment around any axis orthogonal to the axis J1 for the joint A1.
[0036] Each allowable value is set in advance based on the value of the load resistance of the components constituting each joint A1 to A6, for example, the motors M1 to M6, the speed reducer, and the bearing (not shown).
[0037] The calculation unit 23 calculates the loads f1 to f6 acting on the joints A1 to A6 by the external force F based on, for example, the six directional components of the force Fs detected by the sensor S and the posture information of the robot 10 at the time when the force Fs is detected. The posture information of the robot 10 uses information calculated by the control unit 22 based on the rotation angle information from the encoders provided in the motors M1 to M6.
[0038] In addition, the loads f1 to f6 acting on each joint A1 to A6 include forces or moments of multiple directional components, and the calculation unit 23 calculates the forces and moments in multiple directions acting on each joint A1 to A6. For example, the calculation unit 23 calculates the force in the direction along the axis J1, the moment around the axis J1, the force in any direction orthogonal to the axis J1, and the moment around the axis in any direction orthogonal to the axis J1 for the joint A1. The same is true for the joints A2 to A6. That is, the calculation unit 23 also calculates the forces in directions other than the rotation direction (driving direction) around the axes J1 to J6 of each joint A1 to A6.
[0039] The determination unit 24 compares the forces and moments in each direction acting on the joints A1 to A6 calculated by the calculation unit 23 with the corresponding allowable values, and determines whether the allowable values are exceeded. Specifically, the determination unit 24 calculates the ratio of the forces and moments calculated by the calculation unit 23 to the allowable values corresponding to each other stored in the storage unit 21, and determines whether the ratio exceeds 100%.
[0040] Furthermore, the determination unit 24 sends the ratio of the directional component that becomes the maximum ratio to the display unit 25 together with the determination result for each of the joints A1 to A6.
[0041] The display unit 25 is a monitor that displays the determination result and ratio sent from the determination unit 24. Figure 1 In the example shown, the display unit 25 is provided on the teaching operation panel provided in the control device 20. The display unit 25 may be provided on the control device 20 or on another computer or the like that can receive signals from the control device 20. In addition, when there is a joint whose ratio exceeds 100%, the display unit 25 may change the display color of the joint to be different from the display color of other joints. Alternatively, only the joints A1 to A6 determined by the determination unit 24 to have a ratio exceeding 100% and the maximum ratio among the joints may be displayed.
[0042] In addition, the notification unit 26 receives the determination result from the determination unit 24 and notifies the outside when the ratio exceeds 100%. The notification unit 26 may have any configuration as long as it can prompt the operator to check the display unit 25, such as a monitor, a speaker, or a display lamp.
[0043] Hereinafter, a robot diagnosis method using the robot system 100 and the diagnosis device 30 of the present embodiment configured as described above will be described.
[0044] In the following, Figure 2 As shown in the figure, a case where a nut runner is attached to the wrist unit 6 at the front end of the robot 10 as the tool 7 and a screw tightening operation is performed on a predetermined workpiece will be described as an example.
[0045] First, by executing the action program stored in the storage unit 21 of the control device 20, the control unit 22 controls the drive current supplied to each motor M1 to M6 to change the posture of the robot 10. As a result, the tool 7 mounted on the wrist unit 6 of the robot 10 is arranged at a position and posture that allows the workpiece to be screwed.
[0046] Then, the tool 7 is operated by the control unit 22, so that a rotational force around the axis C of the screw is applied to the screw (not shown) fixed to the workpiece, and the threaded fastening operation is performed. At this time, a reaction force F in the opposite direction to the force around the axis C applied to the screw acts on the front end of the tool 7. In addition, since the reaction force F is transmitted to the joints A1 to A6 via the tool 7, it acts on the joints A1 to A6 as loads f1 to f6, respectively.
[0047] In this case, according to the present embodiment, the diagnostic device 30 included in the control device 20 executes the diagnostic program stored in the storage unit 21. The diagnostic program is executed in parallel with the operating program executed by the control device 20.
[0048] In addition, the following is a diagnostic method based on the execution of the diagnostic program. Figure 4 The flowchart shown is used for explanation.
[0049] First, when the reaction force F acts on the tool 7, the sensor S installed between the tool 7 and the third wrist element 6c detects the force Fs acting on the third wrist element 6c at each predetermined sampling interval. Figure 2 ) (step S11). Thereafter, the six directional components of the force Fs detected by the sensor S are sent to the calculation unit 23.
[0050] Next, the calculation unit 23 receives the force Fs from the sensor S and receives the rotation angle information of each motor M1 to M6 at the time when the sensor S detects the force Fs, which is fed back to the control unit 22. Furthermore, the calculation unit 23 geometrically calculates the forces and moments in multiple directions acting on each joint A1 to A6 based on the force Fs and the rotation angle information of each motor M1 to M6 (step S12).
[0051] For example, the calculation unit 23 calculates axial forces and moments about the axes J1 to J6 of the joints A1 to A6, respectively. The calculation unit 23 also calculates the maximum force and moment among the axial forces and moments about the axes orthogonal to the axes J1 to J6.
[0052] More specifically, for example, if the load f6 acting on the joint A6 is to be calculated using the external force F input to the tool 7, the following formulas (1) and (2) are first calculated. Figure 2 The joint A6 shown has an axial force f6Z relative to the axis J6 and a moment f6R about the axis.
[0053] f6Z=f·s... (1)
[0054] f6R=(r×f+M)·s... (2)
[0055] Here, f and M are respectively the force vector and moment vector of the force Fs detected by the sensor S, s is a unit vector in the direction of the sixth axis J6, and r is a position vector from the sixth axis J6 to the point of action of the external force input to the tool 7.
[0056] In addition, by performing the following calculations using formulas (3) and (4), for example, Figure 2 The joint A6 shown has an axial force f6Y with respect to an arbitrary axis that is orthogonal to the axis J6 and a moment f6Q about the axis.
[0057] f6Y=|s×(f×s)|... (3)
[0058] f6Q=|s×((r×f+M)×s)|... (4)
[0059] Furthermore, by performing the same calculation using the calculation unit 23 , the forces and moments acting on the joints A1 to A5 in four directions due to the external force F are calculated.
[0060] In addition, the calculation unit 23 adds the load caused by the weight of the robot 10 or the gravity and inertia force acting on the tool 7 to the calculated forces and moments in each of the four directions of each joint A1 to A6. Thus, the calculation unit 23 can calculate the components in each of the four directions of the total loads f1 to f6 acting on each joint A1 to A6, and the calculated components in each of the four directions of the total loads f1 to f6 are sent to the determination unit 24 respectively.
[0061] The load due to the weight of the robot 10 or gravity acting on the tool 7 is stored in advance in the storage unit 21 . The load due to the inertial force of the tool 7 is calculated by the calculation unit 23 based on the rotation angle information of the motors M1 to M6 fed back to the control unit 22 .
[0062] Next, the determination unit 24 reads out the allowable values corresponding to the components of the loads f1 to f6 acting on the joints A1 to A6 in four directions from the storage unit 21. The determination unit 24 calculates the ratio of the components of the loads f1 to f6 acting on the joints A1 to A6 in four directions to the allowable values (step S13).
[0063] Furthermore, the determination unit 24 transmits the largest ratios among the ratios of the components of the loads f1 to f6 in four directions calculated for each of the joints A1 to A6 to the allowable values to the display unit 25 at each predetermined sampling interval.
[0064] The display unit 25 displays the ratios of the joints A1 to A6 sent from the determination unit 24 in percentage (step S14). That is, the display unit 25 displays in real time the ratio of the load f1 to f6 acting on the joints A1 to A6 of the robot 10 in one direction with the least margin to the allowable value.
[0065] In addition, the determination unit 24 determines whether there is at least one joint among the joints A1 to A6 whose ratio sent to the display unit 25 exceeds 100% (step S15). As a result of the determination, if there is at least one joint whose ratio exceeds 100%, a predetermined signal is sent to the notification unit 26. Then, based on the signal from the determination unit 24, the notification unit 26 activates an alarm or a warning light, etc., to prompt the operator to check the display unit 25 (step S16).
[0066] As described above, according to the robot system 100 , the diagnostic device 30 , the diagnostic method, and the diagnostic program of the present embodiment, it is possible to evaluate loads acting on the joints A1 to A6 in directions other than around the axes J1 to J6 .
[0067] Therefore, for example, even if an excessive load acts on any joint of the joints A1 to A6 in a direction different from the driving direction of the joint, the operator can easily understand the situation by checking the display unit 25. Furthermore, the operator can prevent the excessive load from being continuously applied to the robot 10 by taking measures such as stopping the operation of the robot 10.
[0068] In the present embodiment, the sensor S is installed between the third wrist element 6 c and the tool 7 , but the present invention is not limited thereto. For example, the sensor S may be arranged between the floor surface B on which the robot 10 is installed and the base 2 .
[0069] In this case, the force acting on the base 2 can be detected by the sensor S disposed between the floor B and the base 2, and the loads f1 to f6 acting on the joints A1 to A6 can be calculated using the detected force in the same manner as described above. Thus, it is possible to prevent an excessive load from acting on the joints A1 to A6 in directions around the drive axis and in directions other than the drive axis.
[0070] In the present embodiment, the joints A1 to A6 of the robot 10 are rotation joints that rotate about the axes J1 to J6 , respectively. Alternatively, at least one of the joints A1 to A6 may be a direct motion joint that is driven along a predetermined axis.
[0071] In the present embodiment, the robot 10 includes six joints A1 to A6 , but the present invention is not limited thereto, and the same effects as described above can be obtained as long as the robot 10 includes two or more joints.
[0072] In addition, in the present embodiment, the diagnostic device 30 evaluates the loads f1 to f6 acting on the joints A1 to A6 using the allowable values pre-set for the joints A1 to A6. Alternatively, the diagnostic device 30 may use a threshold value calculated based on each allowable value. For example, the threshold value may be a value obtained by multiplying each allowable value by a safety factor greater than 0 and less than 1.
[0073] Thus, the load acting on each of the joints A1 to A6 can be evaluated while having a margin with respect to the allowable value. Therefore, it is possible to more reliably prevent a load exceeding the allowable value from being applied to each of the joints A1 to A6.
[0074] In addition, in the present embodiment, during the motion of the robot 10, the calculation unit 23 is always used to calculate the forces and moments in multiple directions acting on each joint A1 to A6 at each predetermined sampling interval. Alternatively, the calculation unit 23 may calculate the forces and moments in multiple directions acting on each joint A1 to A6 only in a predetermined interval t of the motion program. In this case, for example, the diagnosis start and diagnosis end commands may be configured at the start and end of the predetermined interval t of the motion program.
[0075] Thus, the calculation unit 23 calculates the loads f1 to f6 acting on the joints A1 to A6 only during the period from the execution of the diagnosis start command to the execution of the diagnosis end command in the action program. Furthermore, the forces and moments in multiple directions of each joint calculated by the calculation unit 23 within the predetermined interval t can be used as Figure 5 , Figure 6 The waveform shown is stored in the storage unit (recording unit) 21 .
[0076] For example, Figure 5represents the moment f6R acting on the joint A6 about the axis J6 (see Figure 2 ) time variation, Figure 6 represents a force f6Y acting in an arbitrary axial direction perpendicular to the axis J6 (see Figure 2 ) time changes.
[0077] In this case, the determination unit 24 compares the maximum value of each waveform of the moment f6R and the force f6Y in the above-mentioned predetermined interval t with the corresponding allowable value.
[0078] Alternatively, the determination unit 24 may average the waveforms of the moment f6R and force f6Y recorded in the storage unit 21, for example, for multiple times, and set a threshold by multiplying the averaged maximum value by a predetermined coefficient, for example, 1.1. Furthermore, it may be determined whether the moment f6R and force f6Y calculated after the next time exceed the set threshold.
[0079] In this way, when the force or moment acting on any joint in any direction exceeds the threshold value during repeated operations, it can be confirmed that the mechanism of the robot 10 has deteriorated. The coefficient multiplied for setting the threshold value may be arbitrarily set by the operator.
[0080] In addition, the timing of diagnosis start and diagnosis end can be edited arbitrarily by the operator. In other words, the operator can arbitrarily adjust the position of the diagnosis start and diagnosis end commands inserted into the operating program.
[0081] For example, when the operating program is created by listing icons representing various commands, it can be easily edited by simply inserting the diagnosis start and diagnosis end icons between arbitrary icons.
[0082] In addition, the icon may also have additional information. For example, when the robot 10 performs a threaded fastening operation based on the tool 7, signal information such as the start / end of fastening, OK / NG, and a fastening program number may be associated with the icon, and input and output may be performed on the tool 7. Alternatively, the icon may be used to select the axis of the tool coordinate system of the tool 7 to be used, or to set the magnitude of the force when the tool 7 is driven.
[0083] Next, the robot system 200 , the diagnostic device 230 , the diagnostic method, and the diagnostic program according to the second embodiment of the present invention will be described below with reference to the drawings.
[0084] In the following description, components common to the above-described robot system 100 and diagnostic device 30 are denoted by the same reference numerals, and description thereof will be omitted.
[0085] like Figure 7 As shown, the robot 210 of the robot system 200 of the present embodiment includes torque sensors S1 to S6 respectively attached to the joints A1 to A6 , instead of the force sensor S attached to the wrist unit 6 .
[0086] In addition, if Figure 8 As shown, the control device 220 includes a diagnostic device 230 . The diagnostic device 230 includes a calculation unit 223 and a determination unit 224 .
[0087] The torque sensors S1 to S6 detect torques T1 to T6 acting on the joints A1 to A6 about the axes J1 to J6 , and transmit the detected torques T1 to T6 to the control device 220 .
[0088] The calculation unit 223 calculates the Jacobian matrix based on the posture information of the robot 210 sent from the control unit 22. The calculation unit 223 estimates the force Fs acting on the tip of the robot 210 based on the torques T1 to T6 applied to the joints A1 to A6 detected by the torque sensors S1 to S6 and the Jacobian matrix.
[0089] Hereinafter, a robot diagnosis method using the robot system 200 and the diagnosis device 230 of the present embodiment configured as described above will be described.
[0090] In the following, similarly to the above, when a nut runner (tool) 7 mounted on the robot 210 is used to perform a thread tightening operation on a workpiece, the following is performed: Fig. 9 The flowchart shown is used for explanation.
[0091] First, when an external force F is input to the tool 7 and the diagnostic program is executed, the torque sensors S1 to S6 detect torques T1 to T6 about the axes J1 to J6 of the motors M1 to M6 acting on the joints A1 to A6 (step S21 ).
[0092] Next, the calculation unit 223 calculates a Jacobian matrix, and estimates six directional components of the force Fs acting on the third wrist element 6c based on the torques T1 to T6 sent from the torque sensors S1 to S6 and the calculated Jacobian matrix (step S22).
[0093] Specifically, first, the Jacobian matrix J is defined as shown in the following formula.
[0094] Number 1
[0095]
[0096] Here, s1 to s6 are direction vectors of the joints A1 to A6 along the axes J1 to J6, respectively, and r1 to r6 are position vectors of the points of action of the force Fs from the joints A1 to A6 toward the distal end of the third wrist element 6c, respectively.
[0097] In addition, a vector V that is a combination of the angular velocity ω and the translation velocity v of the tip of the third wrist element 6 c of the robot 10 can be expressed by the following formula.
[0098] Number 2
[0099] V=Jθ′ 20
[0100] Here, θ′ is a vector that combines all the angular velocities of the joints A1 to A6.
[0101] Then, by utilizing the relationship shown in the above formula, a vector Fs of the force and moment acting on the third wrist element 6c of the robot 10 is combined and calculated according to the following formula.
[0102] Number 3
[0103]
[0104] Here, τ is a vector that combines all the torques acting on the joints A1 to A6.
[0105] In the subsequent steps, the same processing as that of the first embodiment is performed (steps S23 to S27).
[0106] Thus, according to the present embodiment, the force Fs acting on the third wrist element 6c can be estimated using the torque sensors S1 to S6 provided at the joints A1 to A6 of the robot 210. Furthermore, by calculating the forces and moments in multiple directions acting on the joints A1 to A6 based on the estimated force Fs, and adding the loads caused by gravity and inertia to these forces and moments, the total loads f1 to f6 can be calculated.
[0107] Thus, even without directly detecting the reaction force F acting on the tool 7 using the six-axis force sensor S, it is possible to evaluate the loads acting on the joints A1 to A6 in a plurality of directions.
[0108] Therefore, for example, even if the wrist unit 6 needs to be designed to be smaller and there is no space to install the six-axis force sensor S in the wrist unit 6, the same effect as described above can be obtained.
[0109] Furthermore, in the present embodiment, the force Fs acting on the front end of the robot 10 is estimated based on the torques T1 to T6 acting on the joints A1 to A6 detected by the torque sensors S1 to S6. Alternatively, the force Fs may be estimated based on the displacement of the joints A1 to A6 detected by the auxiliary encoders provided at the joints A1 to A6. The auxiliary encoders are different from the encoders provided at the motors M1 to M6, and are detectors that directly detect the displacement of the joints A1 to A6. Alternatively, the force Fs may be estimated using the current values of the motors M1 to M6 provided at the joints A1 to A6.
[0110] Similar to the case of calculating the force Fs based on the torques T1 to T6 , the force Fs may be estimated based on the displacement of each joint A1 to A6 or the current value of each motor M1 to M6 using the Jacobian matrix.
[0111] In addition, in the present embodiment, the notification unit 26 has a function of notifying the operator when the determination unit 224 determines that a joint is acted upon by a load exceeding the allowable value. In addition, the notification unit 26 may also function as a singularity notification unit, that is, when the posture of the robot 210 approaches a singularity, the notification unit 26 notifies the operator of the situation.
[0112] In this case, for example, the determination unit 224 detects that the determinant of the transposed matrix of the Jacobian matrix calculated by the calculation unit 223 becomes 0, thereby determining whether the posture of the robot 210 is close to a singular point. Then, a predetermined signal based on the determination result is sent from the determination unit 224 to the notification unit 26, so that the notification unit 26 emits an alarm or a warning light.
[0113] This allows the operator to easily recognize that the robot 210 in motion is approaching a singular point, and prevents the robot 210 from reaching a singular point.
[0114] Furthermore, in the above-described embodiments, when the determination unit 24 , 224 determines that an excessive load is acting on any of the joints A1 to A6 , the control device 20 , 220 may automatically change the posture of the robot 10 , 210 .
[0115] In this case, the storage unit 21 may store a posture search program for changing the posture of the robot 210 .
[0116] When the determination unit 24 or 224 determines that a load exceeding the allowable value is acting on a specific joint, a signal is sent from the determination unit 24 or 224 to the control unit 22. The control unit 22 then interrupts the running motion program and reads out the posture search program from the storage unit 21 to execute it.
[0117] As a result, the robot 10, 210, for example, performs a small movement in each joint A1 to A6 within the movable range under the posture and operation condition at that moment. Moreover, each time each joint performs a small movement, the determination unit 24, 224 executes a diagnostic program and diagnoses the magnitude of the load acting on a specific joint. Thus, the determination unit 24, 224 searches for a posture of the robot 10, 210 in which the load acting on the specific joint is reduced, and can change the robot 10, 210 to the posture.
[0118] Alternatively, the control device 20 that controls the robot 10 may simulate minute movements of each joint to search for a posture of the robot 10 or 210 in which the load acting on a specific joint is reduced.
[0119] The embodiments of the present invention are described in detail above, but the present invention is not limited to the above-mentioned embodiments. In these embodiments, various additions, substitutions, changes, and partial deletions can be made without departing from the scope of the main purpose of the invention, or without departing from the concept and purpose of the present invention derived from the contents described in the claims and their equivalents. For example, in the above-mentioned embodiments, the order of each action and the order of each process are shown as an example and are not limited to this.
[0120] Description of reference numerals:
[0121] 10: Robots
[0122] 20: Control device
[0123] 21: Storage unit (recording unit)
[0124] 25: Display unit
[0125] 26: Notification Department, Singularity Notification Department
[0126] 30: Diagnostic device
[0127] 100: Robotic Systems
[0128] 200: Robotic Systems
[0129] 210: Robot
[0130] 220: Control device
[0131] 230: Diagnostic Device
[0132] A1, A2, A3, A4, A5, A6: Joints
[0133] B: Ground (installation surface)
[0134] F: External force
[0135] J1: First axis, axis (rotation axis)
[0136] J2: Second axis, axis (rotation axis)
[0137] J3: Third axis, axis (rotation axis)
[0138] J4: Fourth axis, axis (rotation axis)
[0139] J5: fifth axis, axis (rotation axis)
[0140] J6: Sixth axis, axis (rotation axis)
[0141] S: Sensor
[0142] S1, S2, S3, S4, S5, S6: Torque sensor
Claims
1. A robot system, characterized in that: have: A robot having more than two joints; a sensor capable of detecting a physical quantity for measuring or estimating an external force acting on the robot; and a diagnostic device, which diagnoses the robot, The diagnostic device calculates a force acting on each of the joints in at least one direction other than a movement direction of each of the joints, based on the external force measured or estimated from the physical quantity detected by the sensor.
2. The robot system according to claim 1, characterized in that: The diagnostic device determines whether any one of the calculated force or the value obtained based on the force is within a corresponding allowable value range.
3. The robot system according to claim 1 or 2, characterized in that: The sensor is arranged between the installation surface of the robot and the point of application of the external force.
4. The robot system according to claim 2, characterized in that: The robot has six joints. The sensor is arranged at each of the joints.
5. The robot system according to claim 4, characterized in that: Each of the joints is a revolute joint, The physical quantity is a physical quantity capable of measuring or estimating the moment around the rotation axis of each of the joints.
6. The robot system according to claim 4, characterized in that: The diagnostic device estimates the external force using the physical quantity detected by the sensor and a Jacobian matrix determined based on the posture of the robot.
7. The robot system according to claim 4, characterized in that: The diagnostic device includes a singular point notification unit configured to notify that the posture of the robot is a singular posture when the external force cannot be estimated.
8. The robot system according to claim 2, characterized in that: The diagnostic device is arranged in a control device for controlling the robot, In the operating program executed by the control device, a start point and an end point of the measurement or estimation of the external force can be set.
9. The robot system according to claim 8, characterized in that: The diagnostic device includes a recording unit configured to record a maximum value of the calculated values calculated between the start point and the end point.
10. The robot system according to claim 2, characterized in that: The diagnostic device includes a display unit configured to display a ratio of the calculated value to the allowable value.
11. The robot system according to claim 2, characterized in that: The diagnostic device includes a notification unit that sets a predetermined threshold value based on the calculated value and, when the calculated value exceeds the threshold value, notifies the user of the fact.
12. The robot system according to claim 2, characterized in that: The robot system comprises a control device, When the calculated value exceeds the allowable value, the control device searches for a posture of the robot in which the force is reduced by causing the robot to perform a minute movement.
13. The robot system according to claim 2, characterized in that: The robot system comprises a control device, When the calculated value exceeds the allowable value, the control device searches for a posture of the robot in which the force is reduced by simulating a minute movement of the robot.
14. A robot diagnostic device, characterized in that: Based on a physical quantity for measuring or estimating an external force acting on the robot detected by a sensor, a force acting on each joint of the robot in at least one direction other than a movement direction of each joint is calculated.
15. The robot diagnostic device according to claim 14, characterized in that: It is determined whether any of the calculated force or the value obtained based on the force is within a corresponding allowable value range.
16. A robot diagnostic method, characterized in that: include: measuring or estimating an external force acting on the robot based on a physical quantity acting on the robot having two or more joints detected by a sensor; as well as Based on the measured or estimated external force, a force acting on each of the joints in at least one direction other than the movement direction of each of the joints is calculated.
17. The robot diagnosis method according to claim 16, characterized in that: include: It is determined whether any of the calculated force or the value obtained based on the force is within a corresponding allowable value range.
18. A robot diagnostic program, characterized in that: Causes the computer to perform the following processing: measuring or estimating an external force acting on the robot based on a physical quantity acting on the robot having two or more joints detected by a sensor; as well as Based on the measured or estimated external force, a force acting on each of the joints in at least one direction other than the driving direction of each of the joints is calculated.
19. The robot diagnostic program according to claim 18, characterized in that: Causes the computer to perform the following processing: It is determined whether any of the calculated force or the value obtained based on the force is within a corresponding allowable value range.
Citation Information
Patent Citations
Articulated robot and its control program
JP2008000861A