Source: https://patents.google.com/patent/JP6083145B2/en
Timestamp: 2020-01-21 10:01:49
Document Index: 331633580

Matched Legal Cases: ['art 83', 'art 41', 'art, 50', 'art, 81', 'art, 85', 'art, 86']

JP6083145B2 - Robot control device and robot - Google Patents
JP6083145B2
JP6083145B2 JP2012169285A JP2012169285A JP6083145B2 JP 6083145 B2 JP6083145 B2 JP 6083145B2 JP 2012169285 A JP2012169285 A JP 2012169285A JP 2012169285 A JP2012169285 A JP 2012169285A JP 6083145 B2 JP6083145 B2 JP 6083145B2
JP2012169285A
JP2014028407A (en
JP2014028407A5 (en
2012-07-31 Application filed by セイコーエプソン株式会社 filed Critical セイコーエプソン株式会社
2012-07-31 Priority to JP2012169285A priority Critical patent/JP6083145B2/en
2014-02-13 Publication of JP2014028407A publication Critical patent/JP2014028407A/en
2015-08-13 Publication of JP2014028407A5 publication Critical patent/JP2014028407A5/ja
2017-02-22 Publication of JP6083145B2 publication Critical patent/JP6083145B2/en
The present invention relates to a control device of the robot, about your and robot.
For industrial robots, there are continuing demands for higher speed, more functions, higher accuracy, and lower power consumption. The articulated robot that embodies them is an element that conflicts between light weight for realizing high speed and power saving and high rigidity for realizing high accuracy, and therefore, it is possible to achieve both of them as control technology. Has been. For example, Patent Document 1 proposes a method for suppressing the vibration of the robot tip that occurs when the operation of the robot stops. Specifically, an acceleration sensor is provided at the tip of the robot, and based on the detected torsional angular velocity and torsional angle, a compensation amount that eliminates torsion is added to the control input of the motor that drives each link. It is a method of damping. As a result, the position accuracy at the time of stopping was improved and the waiting time until the vibration subsided was shortened.
JP 2011-136395 A
However, the control method (vibration suppression method) described in Patent Document 1 has a problem that it is not possible to suppress vibrations generated during the operation of the robot. Specifically, since the acceleration detection timing is based on the assumption that the robot operation stops, for example,
If the robot arm is unable to eliminate vibrations and distortions that occur during movement, and the robot is moved or moved, such as painting or welding, the accuracy of those operations is reduced due to vibration. There is a problem that it cannot be suppressed.
Application Example 1 A robot control apparatus according to this application example includes an arm configured to include a plurality of linked links, a robot body including the arms, and a plurality of driving units that respectively drive the plurality of links. A robot control device that suppresses vibration of the arm of the robot, and is attached to a vibration suppression position as a target position of vibration suppression of the arm, and includes at least acceleration and angular velocity of the vibration suppression position. An inertial sensor that detects one of them, an angle sensor that detects a drive amount of the drive unit that drives the link between the vibration suppression position and the robot body, and the vibration suppression position detected by the inertial sensor. A first calculation unit that calculates an actual arm speed of the damping position from at least one of acceleration and angular velocity, and a drive unit that is detected by the angle sensor. A second calculation unit that calculates a driving speed from the amount of movement and calculates an arm driving speed at the vibration suppression position based on the driving amount and the driving speed; and based on the arm actual speed and the arm driving speed, A third arithmetic unit that calculates an arm strain speed corresponding to a difference between the arm actual speed and the arm driving speed; and the link between the robot body and the vibration suppression position based on the arm strain speed A fourth calculation unit that calculates a correction speed for each of the drive units that drive the drive, the drive amount, the drive speed, and the correction speed;
And a control unit that controls the drive unit that drives the link between the robot body and the vibration suppression position.
According to the robot control apparatus according to this application example, the arm strain speed at the damping position is calculated based on the information on the actual arm speed obtained from the inertia sensor and the information on the arm driving speed obtained from the angle sensor. . Further, based on the calculated arm strain speed, a correction speed for each drive unit that drives the link between the robot body and the vibration suppression position is calculated. By controlling each drive unit based on the correction speed for each drive unit, it is possible to suppress vibration generated at the vibration suppression position.
More specifically, for example, in the case of an ideal robot that is lightweight, has high rigidity, and does not bend or vibrate due to bending, the actual arm speed substantially represents this arm driving speed. On the other hand, the actual arm speed obtained from the inertial sensor is a speed detected by the actual movement of the vibration control position to which the inertial sensor is attached. That is, the speed includes a speed component such as vibration generated in accordance with an actual operation due to bending of an arm that does not have ideal rigidity. Therefore, by evaluating the difference between the actual arm speed and the arm drive speed, it is possible to extract a speed component due to bending or vibration. This extracted speed component is distributed as a correction speed to the drive units that drive the respective links, and by generating a torque that suppresses bending and vibration, vibration can be suppressed.
By suppressing vibration by evaluating the difference between the actual arm speed and the arm drive speed as needed, not only vibration at the time of stopping but also vibration of the arm during driving (during operation) can be suppressed. As a result, the arm position accuracy during driving can be controlled to be higher. Further, since vibration at the time of stop can be suppressed without waiting for the arm stop operation, the waiting time until the vibration subsides after the stop can be shortened.
As described above, the robot control apparatus according to this application example can achieve higher accuracy and higher speed in an articulated robot or the like.
Application Example 2 In the robot control apparatus according to the application example, the third calculation unit further includes a filter that removes a low frequency component equal to or lower than a predetermined frequency included in the calculated waveform of the arm strain rate. It is preferable.
As in this application example, by further providing a filter that removes the low-frequency component of the arm strain rate, the vibration component can be extracted more accurately by evaluating the difference between the arm actual speed and the arm drive speed. . Specifically, by removing the low-frequency component of the arm strain rate, it is possible to reduce the effects of erroneous correction that suppresses the original motion of the robot arm and the effects of offset errors of the inertial sensor. become.
Application Example 3 A robot control method according to this application example suppresses vibration of the arm of a robot including an arm configured to include a plurality of linked links and a drive unit that drives the links. A method for controlling a robot, the step of detecting an actual arm speed that is a speed at which a vibration suppression position as a target position for suppressing vibration of the arm moves, the detected actual arm speed, and the drive unit The arm strain speed corresponding to the difference between the arm actual speed and the arm drive speed obtained by comparing the arm drive speed, which is the speed at which the damping position is driven, calculated based on the drive amount of And calculating and controlling the drive unit based on the calculated arm strain rate.
According to the robot control method according to this application example, the step of calculating the arm strain speed obtained by comparing the arm actual speed and the arm drive speed, and the correction control of the drive unit based on the calculated arm strain speed Including the step of performing the vibration, the vibration during the operation of the robot can be suppressed. As a result, the arm position accuracy during driving (during operation) can be controlled higher. Further, since vibration at the time of stop can be suppressed without waiting for the arm stop operation, the waiting time until the vibration subsides after the stop can be shortened.
That is, according to the robot control method according to this application example, higher accuracy and higher speed can be achieved in an articulated robot or the like.
Application Example 4 A robot control method according to this application example includes an arm configured to include a plurality of linked links, a robot body including the arms, and a plurality of driving units that respectively drive the plurality of links. And a robot control method for suppressing vibration of the arm of the robot, comprising: an acceleration of the vibration suppression position by an inertial sensor attached to a vibration suppression position as a target position of vibration suppression of the arm; An inertia amount detection step for detecting at least one of angular velocities; a drive amount detection step for detecting a drive amount of the drive unit for driving the link between the vibration suppression position and the robot body by an angle sensor; The arm actual speed at the damping position is calculated from at least one of acceleration and angular velocity at the damping position detected by the inertial sensor. The actual driving speed calculating step, and calculating the driving speed from the driving amount of the driving unit detected by the angle sensor, and calculating the arm driving speed of the damping position based on the driving amount and the driving speed. A step of calculating, an arm strain rate calculating step of calculating an arm strain rate of the damping position based on the actual arm speed and the arm driving speed, and the robot body and the damping position based on the arm strain rate. Based on the strain correction speed calculation step for calculating the correction speed for each of the drive units that drive the link between, the drive amount, the drive speed, and the correction speed, the robot body and the control speed are calculated. And a drive unit control step for controlling the drive unit that drives the link between the swing position and the swing position.
According to the robot control method according to this application example, the arm strain speed at the damping position is calculated based on the information on the actual arm speed obtained from the inertia sensor and the information on the arm driving speed obtained from the angle sensor. . Further, based on the calculated arm strain speed, a correction speed for each drive unit that drives the link between the robot body and the vibration suppression position is calculated. By controlling each drive unit based on the correction speed for each drive unit, it is possible to suppress vibration generated at the vibration suppression position.
More specifically, for example, in the case of an ideal robot that is lightweight, has high rigidity, and does not bend or vibrate due to bending, the actual arm speed substantially represents this arm driving speed. On the other hand, the actual arm speed obtained from the inertial sensor is a speed detected by the actual movement of the vibration control position to which the inertial sensor is attached. That is, the speed includes a speed component such as vibration generated in accordance with an actual operation due to bending of an arm that does not have ideal rigidity. Therefore, by evaluating the difference between the actual arm speed and the arm drive speed, the speed component due to vibration can be extracted. The extracted vibration speed component is distributed as a correction speed to the drive units that drive the respective links, and a torque that suppresses the vibration is generated, thereby suppressing the vibration.
As described above, according to the robot control method according to this application example, higher accuracy and higher speed can be achieved in an articulated robot or the like.
Application Example 5 In the robot control method according to the application example described above, the arm strain rate calculation step includes a low frequency component for removing a low frequency component equal to or lower than a predetermined frequency included in the calculated waveform of the arm strain rate. It is preferable to further include a removal step.
As in this application example, by further including a low-frequency component removal step that removes the low-frequency component of the arm strain rate, the vibration component can be more accurately extracted by evaluating the difference between the actual arm speed and the arm drive speed. Become so. Specifically, by removing the low-frequency component of the arm strain rate, it is possible to reduce the effects of erroneous correction that suppresses the original motion of the robot arm and the effects of offset errors of the inertial sensor. become.
Application Example 6 In the robot control method according to the application example, the strain correction speed calculation step is selected in advance from among the drive units that drive the link between the vibration suppression position and the robot body. It is preferable to carry out with respect to the drive unit.
According to the robot control method according to this application example, for example, when a drive unit that does not need control for suppressing vibration is known in advance, or when there is a drive unit that does not perform control intentionally, By removing the drive unit from the control target, the processing of each step is further simplified,
Processing can be performed more efficiently, for example, by increasing processing speed.
Application Example 7 In the strain correction speed calculation step of the robot control method according to the application example, calculation of a correction speed for each driving unit that drives the link between the robot body and the vibration control position is performed. Is preferably performed with weighting for each of the driving units set in advance.
According to the robot control method according to this application example, by distributing the correction speed for each drive unit with a preset weight for each drive unit, the robot specifications and characteristics, or the work to be performed by the robot More effective vibration suppression control can be performed in accordance with the load (for example, the weight of an object held by the robot hand). Specifically, for example, by setting the vibration damping torque of the drive unit near the robot body to be larger, vibration can be suppressed more effectively, or in a series of operations of the robot, In the case where the object held by the robot hand changes and the weight changes, vibration can be suppressed more effectively.
Application Example 8 A robot according to this application example includes the robot control device described in Application Example 1 or Application Example 2.
According to this application example, by using the robot control device described above as a robot, vibrations generated during the operation of the robot can be more effectively suppressed. As a result, it is possible to provide a robot with higher accuracy and higher speed. For example, when high-precision work is performed while moving the arm, it is possible to suppress a reduction in precision of those work due to vibration.
Schematic which shows the link model of the robot which concerns on Embodiment 1. FIG. FIG. 3 is a functional block diagram of the robot control device according to the first embodiment. The flowchart which shows the vibration suppression method as a control method of a robot. Schematic which shows the link model of the robot which concerns on Embodiment 2. FIG. Schematic which shows the link model of the robot which concerns on Embodiment 3. FIG. FIG. 6 is a schematic diagram of a robot according to a fourth embodiment.
DESCRIPTION OF EMBODIMENTS Embodiments embodying the present invention will be described below with reference to the drawings. The following is one embodiment of the present invention and does not limit the present invention. In the following drawings, the scale may be different from the actual scale for easy understanding.
First, the robot control apparatus and control method according to the first embodiment will be described.
FIG. 1 is a schematic diagram illustrating a link model of a robot 200 equipped with the robot control apparatus according to the first embodiment. In FIG. 1, the robot controller is not shown.
The robot 200 is a six-axis articulated robot, and is connected to six links 10 (10
a) including an arm 20 including a) to 10f), a robot body 30 including the arm 20,
The drive unit 40 includes six drive units 40 (40a to 40f) that drive the links 10, respectively.
Hereinafter, “arm” will be described as “a structure in which a plurality of links are connected”. In addition, a connecting portion as a joint that connects each link will be described as a driving portion having a function of driving each link.
In the arm 20, six links 10a to 10f are sequentially connected via drive units 40a to 40f, and the tip of the link 10f constituting one end of the arm 20 is a hand tool, a welding gun, or a spray. A gun or the like (not shown) is provided.
The other end of the arm 20 is connected to the robot body 30 via the drive unit 40a.
The drive units 40a, 40d, and 40f include motors that rotationally drive the shafts of the links 10a, 10d, and 10f to be connected.
The drive units 40b, 40c, and 40e include motors that rotate the links so that the connection angles of the links 10b, 10c, and 10e to be connected change.
Since the robot 200 configured as described above has a cantilever structure in which one end of the arm 20 is supported by the robot main body 30, the arm 20 includes the rigidity, operation speed, and hand of the arm 20 as a structure. The bending according to the weight load of a part etc. and the vibration by bending generate | occur | produce. When improving the operation position accuracy of the arm 20 or speeding up the operation, the position accuracy can be improved and the position control of the high-speed operation can be performed by programming in consideration of the deflection amount and vibration in advance. However, the programming load in that case is large, or there are great difficulties such as motion analysis. Therefore, while detecting bending and vibration that occur during operation,
It is more convenient and preferable to perform control to suppress them.
The robot control apparatus according to the present embodiment has this control function. The function will be described below.
FIG. 2 is a functional block diagram of the vibration damping device 100 as the robot control device according to the first embodiment.
The vibration damping device 100 includes an arm 20 in the robot 200 that is operating or stopped.
Is a control apparatus for a robot that suppresses bending and vibration (hereinafter referred to as “vibration” including bending) generated in the encoder 50 and includes an encoder 50 (50a to 50a) as an angle sensor.
f) An inertial sensor 60, an arithmetic control unit 80, and the like.
First, the encoder 50 and the inertial sensor 60 will be described with reference to FIG.
The encoder 50 (50a to 50f) detects the rotation angles θ 1 to θ 6 of the motors included in the drive units 40a to 40f, that is, the drive amount of the drive unit 40.
The inertial sensor 60 is a 6-axis sensor, and detects the acceleration and angular velocity of the attachment position. That is, the inertial sensor 60 in FIG. 1 is accelerated in the X, Y, and Z axis directions (x ″, y
", Z") and angular velocities (Rx ', Ry', Rz ') around the X, Y, and Z axes.
In the vibration damping device 100, the inertial sensor 60 is attached to a vibration damping position as a target position for suppressing the vibration of the arm 20. The robot 200 shows an example in which the inertial sensor 60 is attached to the link 10f (that is, the link at the tip of the arm 20).
Next, returning to FIG. 2, the arithmetic control unit 80 will be described.
The calculation control unit 80 includes a first calculation unit 81 to a fourth calculation unit 84, a control unit 85, a Jacobian matrix calculation unit 87, and the like.
The first calculation unit 81 calculates the arm actual speed at the damping position from the acceleration and angular velocity at the damping position detected by the inertial sensor 60.
The second calculation unit 82 calculates the driving speed from the driving amount of the driving unit 40 detected by the encoder 50, and calculates the arm driving speed at the damping position based on the Jacobian matrix J corresponding to the driving speed and the damping position. The Jacobian matrix J is calculated based on the driving amount information detected by the encoder 50 in the Jacobian matrix calculation unit 87.
The third calculation unit 83 calculates the arm strain speed at the damping position based on the actual arm speed calculated by the first calculation unit 81 and the arm drive speed calculated by the second calculation unit 82. In addition, the third calculation unit 83 includes a filter 86, and removes a low-frequency component equal to or lower than a predetermined frequency included in the calculated arm strain rate waveform. In the present embodiment, the predetermined frequency is set to 1 Hz, and low frequency components of 1 Hz or less are removed. Filter 86 is HPF (High Pas
s Filter).
Based on the arm strain rate calculated by the third calculation unit 83, the fourth calculation unit 84 drives the link 10 between the robot body 30 and the vibration damping position by the inverse Jacobian matrix J- 1 .
The correction speed for each zero is calculated. The inverse Jacobian matrix J −1 is calculated based on the driving amount information detected by the encoder 50 in the Jacobian matrix calculation unit 87.
The control unit 85 controls the drive unit 40 that drives the link 10 between the robot body 30 and the vibration suppression position based on the correction speed calculated by the fourth calculation unit 84.
FIG. 3 is a flowchart showing a vibration damping method by the vibration damping device 100 as the robot control method of the present embodiment.
With reference to the flowchart of FIG. 3, the calculation control unit 80 and the vibration control method by the calculation control unit 80 will be specifically described for the link model of the robot 200 illustrated in FIG. 1.
First, along with the operation of the robot 200, the configuration specifications of the robot 200 (such as the distance between links), information on the vibration suppression position in the robot 200 to which the inertial sensor 60 is attached,
Based on the rotation angles θ 1 to θ 6 detected by the encoder 50 (50a to 50f), the Jacobian matrix J corresponding to the vibration suppression position is obtained (step S1).
Next, the inverse Jacobian matrix J −1 is obtained by calculating the inverse matrix of the Jacobian matrix J (step S2).
The Jacobian matrix J and the inverse Jacobian matrix J −1 satisfy the following relational expression.
Next, in the first computing unit 81, the acceleration and angular velocity (x 1 ″, y 1 ″, z 1 ″, Rx 1 ′, Ry 1 ′, Rz 1 ) detected by the inertial sensor 60 (step S3). ')
To the actual arm speed of the damping position (x 1 ', y 1 ', z 1 ', Rx 1 ', Ry 1 ', Rz 1 ')
Is calculated (step S4).
Next, in the second calculation unit 82, the drive speed θ ′ is determined from the drive amounts (rotation angles θ 1 to θ 6 ) of the drive units 40a to 40f detected by the encoder 50 (step S5).
(Θ '1, θ' 2 , θ '3, θ' 4, θ '5, θ' 6)
(Step S6), and based on the Jacobian matrix J corresponding to the driving speed and the damping position, the arm driving speed (x 2 ′, y 2 ′, z 2 ′, Rx 2 ′, Ry 2 ′, Rz 2 ')
Is calculated (step S7).
Next, the third calculation unit 83 calculates the difference between the arm actual speed calculated by the first calculation unit 81 and the arm drive speed calculated by the second calculation unit 82 to obtain an arm strain speed (x 1 '-x 2', y 1 '-y 2', z 1 '-z 2', Rx 1 '-Rx 2', Ry 1 '-R
y 2 ', Rz 1' -Rz 2 ')
(Step S8), and the filter 86 included in the third calculation unit 83 removes low frequency components equal to or lower than a predetermined frequency included in the calculated arm strain velocity waveform (step S).
9). Specifically, in this embodiment, 1 Hz or less is removed by HPF.
Next, in the fourth calculation unit 84, based on the arm strain rate calculated by the third calculation unit 83, a drive unit that drives the link 10 between the robot body 30 and the vibration damping position by the inverse Jacobian matrix J −1 . A correction speed θ′r (θ′r 1 to θ′r 6 ) for every 40 is calculated (step S10).
. The correction speed θ′r (θ′r 1 to θ′r 6 ) satisfies the following relational expression.
Next, in the control unit, the drive amount (rotation angles θ 1 to θ 6 ), the drive speed θ ′, and the correction speed θ
Based on 'r', feedback control is performed on the drive unit 40 that drives the link 10 between the robot body 30 and the vibration suppression position (step S11). Specifically, the drive unit 40
The motors included in the respective drive units 40a to 40f are controlled so as to generate torque in a direction that cancels the correction speed θ′r (θ′r 1 to θ′r 6 ) distributed to each of a to 40f.
Next, it is determined whether or not to end the control (step S12). If the control of the robot is continued, the process returns to step S1.
As described above, according to the robot control device and the control method of the present embodiment, the following effects can be obtained.
Based on the information on the actual arm speed obtained from the inertial sensor 60 and the information on the arm drive speed obtained from the encoder 50, the arm strain speed at the damping position is calculated. Further, based on the calculated arm strain speed, a correction speed for each drive unit 40 that drives the link 10 between the robot body 30 and the vibration suppression position is calculated. By controlling each drive unit 40 based on the correction speed for each drive unit 40, it is possible to suppress vibration generated at the vibration damping position.
More specifically, the arm drive speed of the vibration damping position obtained from the encoder 50 is
Since the speed is calculated from the drive amount controlled so as to follow a command (for example, a command programmed in advance) for controlling the plurality of drive units 40, a speed component due to vibration generated in the arm 20 due to the operation Of very little speed. In other words, in the case of an ideal robot that is lightweight and has high rigidity and does not have bending or vibration due to bending, the actual speed of the arm 20 is
This substantially shows the arm drive speed.
On the other hand, the actual arm speed obtained from the inertial sensor 60 is a speed detected by the actual movement of the damping position to which the inertial sensor 60 is attached. That is, the speed includes a speed component such as vibration generated in accordance with an actual operation due to the bending of the arm 20 having no ideal rigidity. Therefore, by evaluating the difference between the actual arm speed and the arm drive speed, the speed component due to vibration can be extracted. The extracted vibration speed component is distributed as a correction speed to the drive units 40 that drive the respective links 10, and the vibration is suppressed by generating a torque that suppresses the vibration.
By suppressing the vibration by evaluating the difference between the actual arm speed and the arm driving speed as needed, not only the vibration at the time of stopping but also the vibration of the arm 20 at the time of driving (during operation) can be suppressed. As a result, the arm position accuracy during driving can be controlled to be higher. Further, since vibration at the time of stopping can be suppressed without waiting for the arm 20 to stop, it is possible to shorten the waiting time until the vibration subsides after stopping.
Further, by further including a filter 86 that removes low frequency components below a predetermined frequency included in the waveform of the arm strain rate, the vibration component can be more accurately extracted by evaluating the difference between the arm actual speed and the arm drive speed. You can do it. Specifically, by removing the low-frequency component of the arm strain rate, it is possible to reduce the influence of erroneous correction that suppresses the original operation of the arm 20 and the offset error of the inertial sensor 60. It becomes like this.
As described above, according to the robot control device and the control method according to the present embodiment, higher accuracy and higher speed can be achieved in an articulated robot or the like.
In addition, although the 3rd calculating part 83 was provided with the filter 86 and demonstrated that the low frequency component below 1 Hz was removed as a low frequency component below the predetermined frequency contained in the calculated arm distortion speed waveform, It does not necessarily have to be 1 Hz or less. It is desirable to determine appropriately according to the vibration control status of the vibration suppression position. Further, the filter 86 is not necessarily provided. For example,
The filter 86 can be omitted when there is no low frequency component to be removed from the calculated arm strain rate or when it can be ignored.
Further, although it has been described that the Jacobian matrix J and the inverse Jacobian matrix J −1 are calculated based on the driving amount information detected by the encoder 50 in the Jacobian matrix calculation unit 87, it is necessary to always obtain them while calculating the robot 200 during operation. There is no. For example, a timing for vibration suppression is determined in advance, and a Jacobian matrix J and an inverse Jacobian matrix J −1 that match the timing are prepared in advance as a table, and a corresponding Jacobian matrix J or A method of selecting the inverse Jacobian matrix J −1 may be used. In this case, the operation control unit 80 does not need to include the Jacobian matrix operation unit 87.
Next, a robot control apparatus and control method according to the second embodiment will be described. In addition,
In the description, the same components as those in the above-described embodiment are denoted by the same reference numerals, and redundant description is omitted.
FIG. 4 is a schematic diagram illustrating a link model of the robot 201 on which the robot control apparatus according to the second embodiment is mounted.
The robot 201 is similar to the robot 200 equipped with the vibration control device 101 (not shown).
It is a multi-joint robot.
The vibration damping device 101 uses a gyro sensor (hereinafter referred to as inertial sensor 61) that detects triaxial angular velocities (Rx ′, Ry ′, Rz ′) as an inertial sensor.
Same as 0. In the present embodiment, the inertial sensor 61 is attached to the link 10d. That is, in the first embodiment, the inertial sensor 60 is attached to the link 10f to suppress the vibration of the tip portion of the arm 20, whereas in the present embodiment, the inertial sensor 6
1 is attached to the fourth link 10d, and the middle of the arm 20 is set as a vibration control position. Also,
In the first embodiment, the inertial sensor 60 is a six-axis acceleration and angular velocity sensor, but in this embodiment, a gyro sensor that detects three-axis angular velocities (Rx ′, Ry ′, Rz ′) is used. ing. The second embodiment is the same as the first embodiment except for these points.
The feedback control for suppressing the vibration in the present embodiment is performed on the drive unit on the robot body 30 side from the vibration damping position where the inertial sensor 61 is attached. That is, based on the three-axis angular velocity information, control is performed on the four drive units 40a to 40d having one degree of freedom. Thus, in the case of redundant control, control is distributed by a weighted pseudo inverse matrix.
The Jacobian matrix J 1 and the weighted pseudo inverse matrix J 1 # corresponding to this embodiment are shown below.
In the above equation, the weighted pseudo inverse matrix J 1 # is given by the following relational expression.
J 1 # - = W -1 J 1 T (J 1 T W -1 J 1 T) -1
J 1 # is the correction speed θ distributed to each of the drive units 40a to 40d determined thereby.
This is a matrix in which the sum of squares weighted with 'r (θ'r 1 to θ'r 4 ) is minimized. That is, for the degree of freedom, the movement for suppressing vibration is set to the minimum value.
W is a 4 × 4 weighting matrix. That is, the value of the correction speed θ′r distributed to each of the drive units 40a to 40d is weighted.
The vibration damping device 101 and the vibration damping method are the weighted pseudo inverse matrix J 1 # instead of the inverse Jacobian matrix J −1.
Is the same as in the first embodiment, except that is used.
As in the present embodiment, even in a robot with the same specifications, vibration can be similarly suppressed by changing the position where the inertial sensor is attached depending on the position of the object to be damped.
In addition, by distributing the magnitude of the correction speed for each drive unit 40 with a preset weight for each drive unit 40, the specifications and characteristics of the robot 201 or the work load to be performed on the robot 201 (for example, the robot hand More effective vibration suppression control can be performed according to the weight of the object to be held. Specifically, for example, by setting the damping torque of the drive unit 40 near the robot body 30 to be larger, vibration can be suppressed more effectively, or a series of operations of the robot 201 can be performed. In particular, vibrations can be more effectively suppressed when things held by the robot hand change and the weight changes.
Next, a robot control apparatus and control method according to Embodiment 3 will be described. In addition,
FIG. 5 is a schematic diagram illustrating a link model of the robot 202 on which the robot control apparatus according to the third embodiment is mounted.
The robot 202 is a double-armed articulated robot equipped with a vibration damping device 102 (not shown), and includes two arms 21, a swing arm 22, a robot body 30, and a vibration damping device 1 that form a seven-axis double arm.
02 etc. are comprised.
In the arm 21, seven links 11b to 11h are sequentially connected via drive units 41b to 41h. A hand tool, a welding gun, a spray gun, or the like (not shown) is provided as a hand portion at the distal end portion of the link 11h constituting one end portion of the arm 21.
The swivel arm 22 includes a link 11a and a drive unit 41a. One end of the link 11a is connected to the robot body 30 via the drive unit 41a, and the other end includes two drive units 41b. The two arms 21 connected to the respective drive units 41b are supported. That is, the other end of the arm 21 is connected to the turning arm 22 via the drive unit 41b.
The drive units 41a, 41b, 41d, 41f, and 41h are connected to the links 11a, 11b,
A motor that rotationally drives the shafts 11d, 11f, and 11h is provided.
The drive units 41c, 41e, and 41g are provided with motors that rotate the links so that the connection angles of the links 11c, 11e, and 11g to be connected change.
Each drive part 41a-41h is equipped with encoder 50a-50h which detects the drive amount (rotation angle of a motor).
The encoder 50 (50a to 50h) detects the respective rotation angles θ 1 to θ 8 of the motors included in the drive units 41a to 41h.
An inertial sensor 61 is attached to each link 11 e of the arm 21.
In the present embodiment, the feedback control for suppressing vibration is performed for each arm 2.
1 independently. Therefore, the vibration damping device 102 is configured such that the two vibration damping devices 101 are processed in parallel.
Note that the vibration damping device 102 is not such a configuration (a configuration in which two vibration damping devices 101 are provided to perform processing in parallel), and one vibration damping device 101 is time-shared to each arm 21. It may be a method to do. In other words, processing by one vibration control device 101 is 2
It is good also as a structure performed independently, switching with respect to the one arm 21. FIG.
Further, the state feedback control for suppressing the vibration in the present embodiment is not performed for the swivel arms 22 common to the respective arms 21. That is, based on the triaxial angular velocity information detected by the inertial sensor 61 provided in each arm 21, the drive units 41 b to 41 b.
Control is performed on the four drive units 41e.
The Jacobian matrix J 2 and the weighted pseudo inverse matrix J 3 # corresponding to the present embodiment are shown below.
In the above equation, the Jacobian matrix J 2 is a matrix reflected by the five axes (θ 1 to θ 5 ) of the drive units 41a to 41e, and is given as a 3 × 5 matrix. On the other hand, since the drive unit to be controlled is the four axes (θ 2 to θ 5 ) of the drive units 41b to 41e, the weighted pseudo inverse matrix J 3 # is
Using the 3 × 5 Jacobian matrix J 3 for the four axes (θ 2 to θ 5 ), the following relational expression is used.
J 3 # - = W -1 J 2 T (J 2 T W -1 J 2 T) -1
J 3 # is a correction speed θ distributed to each of the drive units 41b to 41e obtained thereby.
This is a matrix in which the sum of squares weighted by 'r (θ'r 2 to θ'r 5 ) is minimized. That is, the movement for suppressing the vibration is set to the minimum value for the degree of freedom as in the second embodiment.
As in this embodiment, when a drive unit that does not need to be controlled to suppress vibration is known in advance, or when there is a drive unit that does not perform control intentionally, the drive unit is controlled. By removing it, the processing of each step is further simplified, and processing can be performed more efficiently, such as increasing the processing speed.
Next, a robot according to the fourth embodiment that more specifically shows the robot according to the above-described embodiment will be described. In the description, the same components as those in the above-described embodiment are denoted by the same reference numerals, and redundant description is omitted.
FIG. 6 is a schematic diagram of the robot 203 according to the fourth embodiment.
The robot 203 is a double-armed articulated robot on which the vibration damping device 102 is mounted, and includes two arms 23, a turning arm 24, a hand 70, a robot body 30, the vibration damping device 102, and the like.
In the arm 23, the link 13b and the link 13c are connected via a drive unit 43c, and a hand 70 is provided at one end of the arm 23 via a drive unit 43d. The hand 70 has a function of gripping a predetermined object.
The swivel arm 24 includes a link 13a and a drive unit 43a. One end of the link 13a is connected to the robot body 30 via the drive unit 43a, and the other end has two drive units 43b. The two arms 23 connected to the respective drive units 43b are supported. That is, the other end of the arm 23 is connected to the turning arm 24 via the drive unit 43b.
The drive units 43b and 43c are connected to the links 13b and 1 so that the connection angle of the links to be connected changes.
A motor for rotating 3c is provided.
The drive units 43a and 43d include a link 13a and a motor that rotationally drive the shaft of the hand 70, respectively.
Each of the drive units 43a to 43d includes encoders 50a to 50d that detect the drive amount (rotation angle of the motor).
The inertial sensor 61 is attached to each link 13 c of the arm 23.
The robot body 30 includes a swivel arm 24 and two arms 2 via the swivel arm 24.
3 is supported and installed on the floor. A robot controller 31 including a vibration control device 102 and the like is provided inside the robot body 30.
The robot controller 31 includes control of the vibration control device 102 and the like, and controls the entire robot 203.
Even in the double-armed articulated robot having the above-described configuration, since the vibration control device 102 is mounted, it is possible to suppress the vibration generated in the arm 23 in operation as in the robot control method described above. it can. As a result, it is possible to provide a robot with further enhanced functions as an articulated robot that can flexibly perform high-precision and high-speed operations. For example, hand 70
In the case where a spray gun or the like is attached to the object to be painted, and there is a tendency for uneven coating due to vibration generated in the arm 23 to occur, the uneven coating is reduced by suppressing the vibration. It becomes possible.
10 ... Link, 20 ... Arm, 30 ... Robot body, 31 ... Robot controller,
DESCRIPTION OF SYMBOLS 40 ... Drive part, 50 ... Encoder, 60 ... Inertial sensor, 70 ... Hand, 80 ... Calculation control part, 81-84 ... 1st-4th calculation part, 85 ... Control part, 86 ... Filter, 87 ... Jacobian matrix calculation 100, vibration control device, 200 ... robot.
Controlling a robot having an arm including a plurality of links, a robot main body including the arms, and a plurality of driving units that respectively drive the plurality of links between the first position of the arm and the robot main body. A robot control device,
A first calculator that calculates a first arm speed from at least one of acceleration and angular velocity detected by an inertial sensor attached to the first position;
A second calculation unit that calculates a driving speed from a driving amount of the driving unit detected by the angle sensor, and calculates a second arm speed of the first position based on the driving amount and the driving speed;
A control unit for controlling the drive unit based on the first arm speed and the second arm speed;
A filter that removes a low frequency component equal to or lower than a predetermined frequency included in a waveform of a third arm speed based on the first arm speed and the second arm speed;
The said control part controls the said drive part based on the correction speed calculated for every said drive part based on the said 1st arm speed and the said 2nd arm speed. Robot control device.
The inertial sensor, the control apparatus for a robot according to claim 1 or 2, characterized in that it has a plurality of axes.
A robot controlled by the robot control device according to any one of claims 1 to 3 .
JP2012169285A 2012-07-31 2012-07-31 Robot control device and robot Active JP6083145B2 (en)
JP2012169285A JP6083145B2 (en) 2012-07-31 2012-07-31 Robot control device and robot
TW102126977A TWI577515B (en) 2012-07-31 2013-07-26 Control device and control method for robot and the robot
CN201310322411.8A CN103568013B (en) 2012-07-31 2013-07-29 Control device, control method and the robot of robot
US13/953,120 US9095979B2 (en) 2012-07-31 2013-07-29 Control device and control method for robot and the robot
EP13178508.1A EP2692488B1 (en) 2012-07-31 2013-07-30 Control device and control method for robot and the robot
KR1020130090028A KR20140016839A (en) 2012-07-31 2013-07-30 Control device and control method for robot and the robot
US14/790,778 US20150306765A1 (en) 2012-07-31 2015-07-02 Control device and control method for robot and the robot
JP2014028407A JP2014028407A (en) 2014-02-13
JP2014028407A5 JP2014028407A5 (en) 2015-08-13
JP6083145B2 true JP6083145B2 (en) 2017-02-22
ID=48875612
JP2012169285A Active JP6083145B2 (en) 2012-07-31 2012-07-31 Robot control device and robot
US (2) US9095979B2 (en)
EP (1) EP2692488B1 (en)
JP (1) JP6083145B2 (en)
KR (1) KR20140016839A (en)
CN (1) CN103568013B (en)
TW (1) TWI577515B (en)
CN104537944B (en) * 2014-12-30 2017-09-26 浙江钱江机器人有限公司 A kind of six-bar linkage teaching apparatus of six-joint robot
JP6088601B2 (en) * 2015-08-10 2017-03-01 ファナック株式会社 Robot controller that suppresses tool tip deflection in robot with traveling axis
CN105953792B (en) * 2016-04-27 2018-08-31 宁夏巨能机器人系统有限公司 A kind of detection device and its detection method of articulated robot positioning accuracy
JP2018083274A (en) * 2016-11-25 2018-05-31 株式会社東芝 Robot control device, robot control method and picking device
CN106863303A (en) * 2017-03-04 2017-06-20 安凯 A kind of welding manipulator and its path learning method
JP2019195892A (en) * 2018-05-11 2019-11-14 川崎重工業株式会社 Deflection amount estimation device, robot control device, and deflection amount estimation method
JP2521458B2 (en) * 1987-02-17 1996-08-07 瑛二 安達 Manipiyure - other anti-vibration control device
JPH106261A (en) 1996-06-18 1998-01-13 Sony Corp Robot controller
CN1344908A (en) 2000-09-15 2002-04-17 林清芳 Microelectromechanical system for measuring angular speed
EP1132790B1 (en) * 2000-02-10 2003-06-18 Fanuc Ltd Controller for machine
JP2002304219A (en) 2001-04-04 2002-10-18 Yaskawa Electric Corp Motor controller and mechanism characteristic measuring method
JP2005212054A (en) 2004-01-30 2005-08-11 Keio Gijuku Force detecting method, force detector, and control device equipped with force detecting function
CN101890720B (en) 2004-07-13 2012-01-11 松下电器产业株式会社 Article holding system, robot, and method of controlling robot
CN101043198A (en) * 2006-03-22 2007-09-26 Juki株式会社 Electro part carrying device
AT504257B1 (en) * 2006-09-18 2008-06-15 Univ Linz Device for controlling a robot arm
JP4565034B2 (en) 2008-12-16 2010-10-20 ファナック株式会社 Control device and control system for inertia estimation
DE102009032278A1 (en) * 2009-07-08 2011-01-13 Kuka Roboter Gmbh Method and device for operating a manipulator
JP5353581B2 (en) 2009-09-10 2013-11-27 セイコーエプソン株式会社 Robot
JP5417161B2 (en) * 2009-12-28 2014-02-12 川崎重工業株式会社 Robot vibration control method and robot control apparatus
JP2011161562A (en) * 2010-02-09 2011-08-25 Yaskawa Electric Corp Wireless transmission device, vibration suppression control device of robot using the same and robot control device
DE112011104448T5 (en) * 2010-12-20 2013-09-19 Mitsubishi Electric Corp. Motor control device
2012-07-31 JP JP2012169285A patent/JP6083145B2/en active Active
2013-07-26 TW TW102126977A patent/TWI577515B/en active
2013-07-29 CN CN201310322411.8A patent/CN103568013B/en active IP Right Grant
2013-07-29 US US13/953,120 patent/US9095979B2/en active Active
2013-07-30 EP EP13178508.1A patent/EP2692488B1/en active Active
2013-07-30 KR KR1020130090028A patent/KR20140016839A/en not_active Application Discontinuation
2015-07-02 US US14/790,778 patent/US20150306765A1/en not_active Abandoned
EP2692488B1 (en) 2018-10-17
EP2692488A2 (en) 2014-02-05
JP2014028407A (en) 2014-02-13
CN103568013B (en) 2016-05-04
KR20140016839A (en) 2014-02-10
US20150306765A1 (en) 2015-10-29
TW201410418A (en) 2014-03-16
EP2692488A3 (en) 2017-04-12
TWI577515B (en) 2017-04-11
US9095979B2 (en) 2015-08-04
US20140039678A1 (en) 2014-02-06
CN103568013A (en) 2014-02-12
EP2895305B1 (en) 2017-12-20 Constraining robotic manipulators with redundant degrees of freedom
Ref document number: 6083145