1. Field
The present disclosure relates to a method for adjusting robot control parameters, a robot system, and a robot controller.
2. Description of the Related Art
In JP2011-104740A discloses a force controller capable of switching force restricting values and compliance control parameters during operation to achieve high speed operation, while preventing excessive force from being applied at the time of occurrence of misalignment.
A method for adjusting a control parameter of a robot according to the present disclosure comprising: (A) inserting a part into a hole where a plurality of sections has been set in a depth direction by a robot, the robot having a force sensor that detects force applied from outside according to impedance control; and (B) setting one of the plurality of sections a target to be updated so as not to make the same section a target to be updated continuously, and lowering a viscosity parameter of the section, wherein the method adjusts the viscosity parameter of each section.
A robot system according to the present disclosure comprising: a robot that performs an inserting operation of inserting a part into a hole where a plurality of sections has been set in a depth direction; and a robot controller that controls an operation of the robot, wherein the robot controller configured to perform controlling impedance control of the inserting operation performed by the robot, and adjusting a viscosity parameter of the impedance control, the viscosity parameter being set stepwise according to an insertion length of the part.
A robot controller according to the present disclosure comprising: a control module configured to perform impedance control of the operation of a robot that performs an inserting operation of inserting a part into a hole where a plurality of sections has been set in a depth direction; and a parameter adjusting module configured to adjust a viscosity parameter of the impedance control stepwise according to an insertion length of the part in the depth direction.
Hereinafter, an embodiment will be described with reference to the drawings. In the description, the same reference numerals will be given to the same components or the components having the same functions, and the description thereof will not be repeated.
A robot system 10 according to an embodiment of the present disclosure includes a robot 20 and a robot controller 30 that controls operations of the robot 20, as illustrated in
A position of a hand 202 of the robot 20 is corrected according to impedance control based on an impedance control model, as illustrated in
The robot 20 is, for example, a six-axis articulated robot. The robot 20 has a force sensor FS that detects force applied from the outside between a wrist 204 and the hand 202. The force sensor FS is, for example, a six-axis force sensor. The force sensor FS can measure forces in directions of X, Y, and Z-axes, respectively, of a tool coordinate system fixed to the hand 202. The force sensor FS can also measure moment around the X, Y, and Z-axes of the tool coordinate system. That is, the force sensor FS can detect an external force acting on the hand 202 of the robot 20.
The robot controller 30 (see
In addition, the robot controller 30 can adjust the viscosity parameter of sections (see
The robot controller 30 includes a force signal processing module 302, a parameter storage module 304, a parameter adjusting module 306, an execution program storage module 310, and a control module 312.
The force signal processing module 302 receives an electric signal representing the external force detected by the force sensor FS. The force signal processing module 302 processes the electric signal and outputs the processed signal as a force feedback value Ffb.
The parameter storage module 304 can store an impedance parameter Pins necessary for the impedance control of the robot 20, a setting parameter Ps set by an operator to adjust the viscosity parameter, and an internal parameter Pi used by the parameter adjusting module 306 to adjust the viscosity parameter.
The parameter adjusting module 306 can adjust the viscosity parameter of each section stored in the parameter storage module 304 based on the force feedback value Ffb input from the force signal processing module 302 and position information POS obtained by forwardly converting encoder values of servo motors that drive each axis of the robot 20. Specifically, the parameter adjusting module 306 can adjust the viscosity parameter of the impedance control set stepwise according to the insertion quantity of the part P.
The execution program storage module 310 can store an execution program prg that defines the operation of the robot 20. The execution program storage module 310 may be formed by, for example, a flash memory or a hard disk drive.
The control module 312 interprets the execution program prg stored in the execution program storage module 310, and performs the impedance control of the robot 20 according to the force feedback value
Fib and the impedance parameter Pins. The robot 20 executes the inserting operation according to the impedance control.
The control module 312 includes an impedance controller 312a, a coordinate converter 312b, and a position controller 312c, as illustrated in
The impedance controller 312a outputs a position correction quantityδP in a robot coordinate system (an orthogonal coordinate system fixed to the base of the robot 20) according to the impedance control, based on the force feedback value Fib and a force direction value Fref.
A model of the impedance control is expressed using an inertia parameter M, a viscosity parameter D, a rigidity parameter K, and a Laplace operator s by the following equation (1):
(Ms2+Ds+K)δP−Fref−Ffb (Equation 1)
A value to be used as the viscosity parameter in the inserting direction corresponds to the section through which the tip end of the part P passes. The section is identified based on the position information POS.
The coordinate converter 312b converts the position correction quantity δP in the robot coordinate system into a correction quantity 80 of each articulation axis.
The position controller 312c outputs torque T to the robot 20 based on the correction quantity δθ of each articulation axis.
An input device, such as a teach pendant 40, is connected to the robot controller 30 (see
An operator can make the robot 20 perform desired motions from the execution program input module 402, while creating the execution program prg that describes such motions. The created execution program prg is stored in the execution program storage module 310.
In addition, the operator can select a desired execution program prg stored in the execution program storage module 310 from the execution program input module 402, to drive the robot 20 according to the selected execution program prg.
Further, the operator can set the setting parameter Ps stored in the parameter storage module 304 from the parameter input module 404.
Next, an operation of the robot system 10 is described.
The robot controller 30 of the robot system 10 adjusts a viscosity parameter Dz in the inserting direction of the part P for each section having been set in the depth direction of the hole H according to a control parameter adjusting method which will be described later,
The robot controller 30 then executes the impedance control of the robot 20 according to the viscosity parameter Dz that has been adjusted for each section. As a result, the robot 20 inserts the part P grasped by the robot 20 into the hole H. That is, the robot system 10 switches the viscosity parameter Dz according to the insertion quantity (insertion length) of the part P before inserting the part P into the hole H.
The control parameter adjusting method includes, as an adjusting operation of the viscosity parameter Dz, the step of executing a preliminary adjustment and the step of repeating an inserting operation of the part P and updating of the parameter after the preliminary adjustment has been executed, as illustrated in
During the preliminary adjustment, the part P is repeatedly brought into contact with work Wadj to be adjusted by the robot 20, as illustrated in
In adjusting the viscosity parameter D indicated in the equation (1) during the preliminary adjustment, response is faster as the viscosity parameter D is smaller, but fluctuation increases and stability decreases when the part P is in contact. In contrast, the fluctuation decreases and the stability increases when the viscosity parameter D is increased, but the response is delayed.
Therefore, as illustrated in
As a result of the preliminary adjustment, the initial value Dini of the viscosity parameter is determined such that the minimum settling time is attained during the contact.
During the preliminary adjustment, the position and posture of the robot 20 are set in such a manner that the tip end of the part P is fitted in the hole H, as illustrated in
Further, a force command value Fref_z in the inserting direction of the part P is also provided during the preliminary adjustment.
In the inserting operation illustrated in
In the parameter updating operation, the viscosity parameter Dz is updated (lowered), as an updating step, for each of the plurality of sections having been set in the depth direction of the hole H according to the reaction force applied to the robot 20 during the inserting operation, as illustrated in
In principle, the viscosity parameter Dz decreases by a predetermined magnitude each time the parameter updating operation is executed unless the peak value Fpeak1 of the reaction force acting on the part P before it reaches the bottom of the hole H and the peak value Fpeak2 of the reaction force acting on the part P after it has reached the bottom of the hole H exceed a predetermined threshold value (first threshold value) Fthre1 and a predetermined threshold value (second threshold value) Fthre2, respectively, and the viscosity parameter reaches a predetermined lower limit value.
In the parameter updating operation, during the inserting operation, the force command value Fref_z is kept constant irrespective of the position of the part P. The force command value Fref_z is kept constant even when the viscosity parameter Dz has been updated.
Regarding the section including the bottom of the hole H, as indicated by a section 5 of
Until the tip end of the part P is completely fitted in the hole H, the robot 20 is controlled by tie impedance control using the viscosity parameter set in the preliminary adjustment.
According to the adjustment algorithm, the reaction force acting on the robot 20 is monitored to prevent the robot from being subjected to an excessively increased reaction force, and the viscosity parameter Dz is decreased for each section. As a result, the response of the inserting operation of the robot 20 is improved and the time necessary for inserting the part P is decreased.
Next, the adjustment algorithm executed by the parameter adjusting module 306 is described in detail by referring to
The impedance parameter Pins stored in the parameter storage module 304, the setting parameter Ps set by the operator to adjust the viscosity parameter D, and the internal parameter Pi used by the parameter adjusting module 306 to adjust the viscosity parameter D have been mentioned above and are specifically listed as follows:
(Step S101)
In this step, parameter settings are initialized. Specifically, a variable Flg_Cnt indicating the number of Dz (i) capable of being updated is set to N−1.
A variable i_old indicating the preceding target section is set to 1.
A variable i indicating the current target section is set to 1.
The current viscosity parameter Dz (1) to Dz (N−1) is set to the initial value of the viscosity parameter Dzini obtained in the preliminary adjustment mentioned above.
The preceding viscosity parameter OldDz (1) to OldDz (N−1) is set to the initial value of the viscosity parameter Dzini obtained in the preliminary adjustment mentioned above.
Flags Flg(1to Flg (1−N) indicating propriety of updating of the viscosity parameters Dz (1) to Dz (N−1) are set to “on” to indicate that these flags can be updated.
(Step S102)
It is determined whether the Flag (i) is “on”. If it is “on”, the process proceeds to step S103. If it is “off” indicating that the update is impossible, the process proceeds to step S203.
(Step S103)
The inserting operation is executed to allow the robot 20 to insert the part P into the hole H (see
(Step S104)
As a first determination step, if the peak value Fpeak1 of the reaction force acting on the part P before it reaches the bottom of the hole H is equal to or smaller than the threshold value Fthre1, the process proceeds to step S105. Otherwise, the process proceeds to step S204.
The peak value Fpeak1 of the reaction force is determined from the force feedback value Ffb output from the force signal processing module 302.
(Step S105)
As a second determination step, if the peak value Fpeak2 of the reaction force acting on the part P after it has reached the bottom of the hole H is equal to or smaller than the threshold value Fthre2, the process proceeds to step S106. Otherwise, the process proceeds to step S204.
The peak value Fpeak2 of the reaction force is determined from the force feedback value Ffb output from the force signal processing module 302.
(Step S106)
If the variable Flg_Cnt is larger than 0, the process proceeds to step S107. If the variable Flg_Cnt is 0, the adjustment is ended.
(Step S107)
The viscosity parameter Dz (i) is stored in the viscosity parameter OldDz (i). The decreased quantity (update quantity) ΔDz of the viscosity parameter is subtracted from the viscosity parameter Dz (i), and an obtained value is regarded as a new viscosity parameter Dz (i). The variable i_old is set to i.
(Step S108)
As a third determination step, if the new viscosity parameter Dz (i) is equal to or smaller than the lower limit value Dzmin of the viscosity parameter, the process proceeds to step S109. Otherwise, the process proceeds to step S110.
(Step S109)
The viscosity parameter Dz (i) is set to the lower limit value Dzmin of the viscosity parameter.
The flag Fig (i) is set to “off” indicating that the update is impossible. The variable Flg_Cnt indicating the number of Dz (i) capable of being updated is decreased by 1.
(Step S110)
If the variable i is smaller than N−1, the variable i is increased by 1. Otherwise, the variable i is set to 1. The section of the target to be updated is transferred to the section located on the side of the bottom of the hole, due to the variable i is increased by 1. When the target to be updated is the section closest to the bottom of the hole, the target to update is transferred to the section closest to an opening of the hole, due to the variable i is set to 1. The section N is excluded from updating of the viscosity parameter, as the variable i is not going to be N in the subsequent steps.
After that, the process returns to the step S102.
(Step S203)
If the variable i is smaller than N−1, the variable i is increased by 1. Otherwise, the variable i is set to 1. The section of the target to be updated is transferred to the section located on the side of the bottom of the hole, due to the variable i is increased by 1. When the target to be updated is the section closest to the bottom of the hole, the target to update is transferred to the section closest to an opening of the hole, due to the variable i is set to 1. The sections having the flag Flg (i) set to “off” in the flow from the step S102 to the present step S203 are excluded from updating of the viscosity parameter Dz (i). In addition, the section N is excluded from updating of the viscosity parameter, as the variable i is not going to be N in the subsequent steps.
After that, the process returns to the step S102.
(Step S204)
The end state of the inserting operation executed in the step S103 is determined. If the inserting operation has been ended normally, the process proceeds to step S205. If the process has been suspended, the adjustment is ended. That is, if the part P is stuck in the hole H and stopped, and the peak value Fpeak1 of the reaction force exceeds the threshold value Fthre1 in the flow from the steps S103, S104 to step S204, it is determined that abnormality has occurred and the adjustment is ended. Meanwhile, if the vibration is not settled after the part P has reached the bottom of the hole H and the peak value Fpeak2 of the reaction force exceeds the threshold value Fthr2 in the flow from the step S103, S104, S105 to the step S204, it is determined that the abnormality has occurred and the adjustment is ended.
(Step S205)
The current viscosity parameter Dz (i_old) of the preceding target section to be updated is returned to the previous viscosity parameter OldDz (i_old) of the preceding target section to be updated. That is, the viscosity parameter Dz (i_old) is returned to the previous value before updating for the target section updated immediately before the current section.
The flag Fig (i_old) is set to “off” indicating that updating is impossible. The variable Flg_Cnt indicating the number of Dz (i) capable of being updated is decreased by 1.
(Step S206)
If the variable Fig_Cnt is larger than 0, the process proceeds to step S207. If the variable Fig_Cnt is 0, the adjustment is ended,
(Step S207)
If the variable i is smaller than N−1, i is increased by 1. Otherwise, the variable i is set to 1. The section of the target to be updated is transferred to the section located on the side of the bottom of the hole, due to the variable i is increased by 1. When the target to be updated is the section closest to the bottom of the hole, the target to update is transferred to the section closest to an opening of the hole, due to the variable i is set to 1. The section N is excluded from the updating of the viscosity parameter, as the variable i is not going to be N in the succeeding steps.
After that, the process returns to the step S102.
By repeating the above steps, the viscosity parameter Dz (i) for each section is determined.
In this case, if the updating of a specific section alone is repeatedly performed, it may cause sudden acceleration or deceleration during the execution of the inserting operation, cause the part P to be stuck in the hole H, or otherwise excessively increase the reaction force. In contrast, according to the present adjustment algorithm, the target section i to be updated changes in turn like 1, 2 . . . N−1, 1, 2. That is, a smooth inserting operation can be realized. The viscosity parameter of the section located next to the preceding target section is updated according to the present adjustment algorithm (The section of the target to be updated is transferred to a section next to a section that has been the target to be updated). The target section i to be updated is not necessarily changed one section at a time. That is, it is sufficient that the same section does not continue to be the target section to be updated (One of the pluralities of sections may be set the target to be updated so as not to make the same section the target to be updated continuously).
Next, examples of experiment of inserting the part P grasped by the robot 20 will be illustrated to further describe the robot system 10.
(First Example of Experiment)
After the preliminary adjustment mentioned above, the inserting operation and the parameter updating were performed in a state where the tip end of the part P was fitted about 1 mm into the work W to be inserted, as illustrated in
Specifications and adjustment parameters of the part P and the work W to be inserted are illustrated in Tables 1 and 2 below. [Table 1]
As a result of the experiment, the inserting operation was repeated 21 times, and time (insertion time) Tim taken to reach the bottom of the hole from the start position of insertion, and the peak values Fpeak1, Fpeak2 of the reaction force were changed as illustrated in
Meanwhile,
As illustrated in
As a result, the insertion time Tim was decreased from 4.8 seconds (1st updating) to 1.3 seconds (21st updating).
(Second Example of Experiment)
After the preliminary adjustment mentioned above, the inserting operation and the parameter updating were performed in a state where the part P grasped by the robot 20 is tilted by +0.5 degree around the y-axis running through the tool center point (TCP) and the part P is fitted into the hole H in a tilted manner, as illustrated in
Specifications and adjustment parameters of the part P were the same as those of the first example of experiment (see Tables 1 and 2).
As a result of the experiment, the inserting operation was repeated 21 times, and the insertion time Tim and the peak values Fpeak1, Fpeak2 of the reaction force were changed as illustrated in
As illustrated in
Fpeak1 became lower than the threshold value, such that the parameter was updated to continue adjustment. In the twentieth operation, Fpeak1 was larger than the threshold value Fthre1, and the adjustment result was rejected to terminate the update of Dz (3). In the final adjustment result adopted, Dz (3) did not reach the lower limit value Dmin of the viscosity (see
As a result, the insertion time Tim was decreased from 5.8 seconds (third update) to 2.1 seconds (twenty-first update).
As described above, the robot system 10 decreases the insertion time of inserting the part P into the hole. The robot system 10 suppresses the reaction force to be equal to or smaller than the determined threshold value when the part P inserted by the robot 20 has reached the bottom of the hole H.
The present invention is not limited to the embodiments described above, and various changes can be conceived so long as the scope of the present invention is maintained. For example, it may be possible to constitute The present invention by combining a portion or all embodiments of modifications above to fall within the technical scope of the present invention.
For example, the peaks of the reaction force being internal parameter or the lower limit values of the viscosity parameter in the inserting direction being the setting parameter may vary depending on the sections.
Indeed, the novel devices and methods described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the devices and methods described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modification as would fall within the scope and spirit of the inventions.
Certain aspects, advantages, and novel features of the embodiment have been described herein. It is to be understood that not necessarily all such advantages may be achieved in accordance with any particular embodiment of the invention. Thus, the invention may be embodied or carried out in a manner that achieves or optimizes one advantage or group of advantages as taught herein without necessarily achieving other advantages as may be taught or suggested herein.
This application is a continuation application of PCT Application No. PCT/JP2012/072486, filed Sep. 4, 2012, the entire contents of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2012/072486 | Sep 2012 | US |
Child | 14637272 | US |