The present invention relates to a controller, a robot controller, and a control method, and particularly to a controller, a robot controller, and a control method for the controller that create a compensation amount for controlling a motion of a robot.
An increase in speed and improvement of path accuracy by way of vibration reduction during a motion of a robot leads to improvements in production efficiency and quality. Therefore, there is a demand to reduce vibration or path divergence that occurs during the motion of the robot. In response to such a demand, Patent Document 1 proposes a method of reducing vibration by means of learning control that is performed using a sensor such as an acceleration sensor. According to this method, the sensor is installed at a location where removal of vibration is desired or a location where a high precision path is desired, and measures vibration during a motion of a robot.
Specifically Patent Document 1 discloses a robot including a robot mechanical unit that includes a sensor at a part as a position control target and a controller that controls a motion of the robot mechanical unit. The controller includes a normal control unit that controls the motion of the robot mechanical unit and a learning control unit that causes the robot mechanical unit to move according to a task program and performs learning for calculating a learning compensation amount to bring the position as the position control target of the robot mechanical unit, which is detected by the sensor, closer to a target path or position assigned for the normal control unit.
Patent. Document 1: Japanese Unexamined Patent Application, Publication No.2011-167817
A learning control unit generated before robot shipment does not take into account an operating (producing) state where a robot will be operating at a user's end (for example, tools and postures of the robot). The learning control unit generated based on frequency response characteristics in a standard load state before robot shipment may not be able to obtain the optimum effect at the time of production at the user's end. In order to enhance the effect of vibration reduction by learning at the time of production at the user's end, a controller, a robot controller, and a control method for a controller are required, the controller including a learning control unit taking into account frequency response characteristics at the time of production.
According to the aspects of the present disclosure, it is possible to enhance the effect of vibration reduction by learning at the time of production at the user's end.
Hereafter, an embodiment of the present invention will be described in detail with reference to the drawings.
As shown in
The robot 100 includes a robot mechanical unit 101, a spot welding gun 102 attached to a tip of the robot mechanical unit 101, and a sensor 110 such as an acceleration sensor attached to the spot welding gun 102. The spot welding gun 102 serves as a position detection part of the robot. When the sensor 110 is connected in a wired manner, the sensor 110 is connected to the robot controller 200 via cables, and when the sensor 110 is connected in a wireless manner, the sensor 110 wireless communicates with the robot controller 200. While the sensor 110 of the present embodiment is an acceleration sensor, the sensor 110 may be of a different type, for example, a gyro sensor, an inertia sensor, a force sensor, a laser tracker, a camera, or a motion capture. As shown in
The robot controller 200 includes a frequency generation unit 210, a frequency characteristic measurement unit 220, a. control unit 230, and motion control unit 240, as shown in
The frequency generation unit 210 outputs sine wave signals as motion commands to the frequency characteristic measurement unit 220, the control unit 230, and the motion control unit 240, while changing a frequency.
The frequency characteristic measurement unit 220 measures an amplitude ratio (input/output gain) between an input signal and an output signal and a phase lag for each of frequencies defined by the motion commands, using a motion command (sine wave) as an input signal generated by the frequency generation unit 210 and a detection position (sine wave) as an output signal output from the sensor 110. The frequency characteristic measurement unit 220 outputs frequency characteristics (frequency response characteristics) at the measured input/output gain and phase lag to the parameter adjustment unit 231 of the control unit 230. Before shipment, the frequency characteristic measurement unit 220 measures frequency characteristics of the input/output gain and the phase lag when the robot 100 moves in several postures (inertia) under a maximum load test workpiece and a no-load state, and outputs the measured frequency characteristics to the parameter adjustment unit 231 of the control unit 230.
Here, the time of production includes a time of learning before actual production at the user's end, and the environment at the time of production at this time is an environment with the same tools and postures as in the actual production. However, when the parameter adjustment unit 231 adjusts parameters of the learning control unit 233 while the production is actually being performed, the time of production means a time when the production is actually being performed. Hereinafter, the “time of production” may refer to he time of learning before the production is actually performed at the user's end or a time when the production is actually being performed at the user's end. The parameters of the learning control unit 233 are internal parameters of a transfer function of constituent elements of the learning control unit 233. When the learning control unit 233 includes a band pass filter Wt, a low pass filter Q, a learning controller L, and a high pass filter Wp, the parameters of the learning control unit 233 are internal parameters of a transfer function of each of the band pass filter Wt, the low pass filter Q, the learning controller L, and the high pass filter Wp. The internal parameters of the transfer function of each of the band pass filter Wt, the low pass filter Q, the learning controller L, and the high pass filter Wp will be described below. The production is not limited to factory-based manufacturing activities, but refers to activities that bring out goods, services, or added values capable of being used by the robot. For example, the production includes activities performed by agricultural robots such as fruit harvesting robots, forestry robots such as branch cutting robots, and commercial robots such as transport robots.
Before shipment, the parameter adjustment unit 231 calculates reciprocals of the frequency characteristics (frequency response characteristics) of the input/output gain and the phase lag output from the frequency characteristic measurement unit 220, adjusts the parameters of the learning control unit 233 based on the reciprocals, and determines optimum parameters, and the optimum parameter are stored in the parameter storage unit 232 and are set in the learning control unit 233. In this way, a pre-shipment learning control unit is generated. At the time of production at the user's end, the parameter adjustment unit 231 reads parameters from the parameter storage unit 232, sets the read parameters as initial parameters, calculates the reciprocals of the frequency characteristics output from the frequency characteristic measurement unit 220, adjusts the initial parameters of the learning control unit 233 based on the reciprocals, and determines optimum parameters, and the optimum parameters are set in the learning control unit 233. In this way, a learning control unit at the time of production at the user's end is generated.
The learning control unit 233 calculates a compensation amount to bring the detection position output from the sensor 110 closer to a target position of the motion command. Further, the learning control unit 233 inversely transforms the calculated compensation amount to obtain a compensation amount corresponding to each of the joint axes 1011 to 1016, and outputs the calculated compensation amount of each of the joint axes to the motion control unit 240. The motion control unit 240 uses the compensation amount outputs from the learning control unit 233 to control each of the joint axes of the robot 100. Vibration on the world coordinate system is compensated when vibration of each of the joint axes is compensated.
The parameter adjustment unit 231, the learning control unit 233, and the motion control unit 240 will be described in more detail below.
The learning control unit 233 updates the compensation amount by using iterative learning control to bring the detection position output from the sensor 110 closer to the target position of the motion command. The iterative learning control is disclosed in, for example, “Survey of Iterative Learning Control: A Learning-Based Method for High-Performance Tracking Control”, Bristow, D. A., Tharayil M., & Alleyne, A. G. (2006), IEEE Control Systems, 26(3), 96-114., “Iterative Learning Control Analysis, Design, and Experiments”, Mikael Norrlof, Department of Electrical Engineering Linkopings universitet, SE-581 83 Linkoping, Sweden Linkoping 2000.
The output (compensation amount) from the learning control unit 233 to the motion control unit 240 is updated according to Expression 1 (Math. 1 below). In Expression 1, ui+1(t) represents an output (compensation amount) to the motion. control unit 240 in (i+1)-th learning, ui(t) represents an output (compensation amount) to the motion control unit 240 in i-th learning, ei(t) represents a path error in the i-th learning, Q represents a transfer function of the low pass filter included in the learning control unit 233, and L represents a transfer function of the learning controller (digital filter) included in the learning control unit 233. When a real path of the robot in the i-th learning is represented by yi(t) and an ideal path (command path) is represented by r(t) , the path error ei(t) is expressed by Expression 2 (Math. 2 below). The real path yi(t) of the robot corresponds to the detection position output from the sensor 110, and the ideal path r(t) corresponds to the motion command (position command) output from the frequency generation unit 2100.
u
i+1(t)=Q(ui(t)+Lei(t)) [Math. 1]
e
i(t)=r(t)−yi(t) [Math. 2]
The following two properties are important for the learning control unit 233.
It is important to converge to a bounded value u∞(t) as indicated in Expression 3 (Math. 3 below) without diverging of the output (compensation amount) ui(t) to the motion control unit 240.
A case is often not accepted in practical use where the path error ei(t) is converged with an increase once. Therefore, as indicated by Expression 4 (Math. 4 below), it is important to have a characteristic of monotonic decrease in which the path error ei(t) is uniformly converged to a certain bounded value e∞.
γ<1, ∥ei+1−e∞∥≤γ∥ei−e∞∥ [Math. 4]
A relationship between the compensation amount ui(t) in the i-th learning and the compensation amount ui+1(t) is the (i+1)-th learning satisfies a relational expression indicated by Expression. 5 (Math. 5 below), and a relationship between the path error ei(t) in the i-th learning and the path error ei+1(t) in the (i+1)-th learning satisfies a relational expression indicated by Expression 6 (Math. 6 below). In Expression 5 and Expression 6, Q represents a transfer function of the low pass filter, L represents a transfer function of the learning controller, and P represents a transfer function from the output of the compensation amount of the motion control unit 240 to the output to the robot 100.
In Expression 5 and Expression 6 above, when Expression 7 (Math. 7 below) is equal to 1 or smaller than 1, the compensation amount and the path error are converged to u∞(t) and e∞(t), respectively, and the stability and the characteristic monotonic decrease are maintained.
∥Q(1−LP)∥∞ [Math. 7]
Conditions for maintaining the stability and the characteristic of monotonic decrease of the learning control unit 233 are as described above. When the learning control unit 233 includes the band pass filter Wt, the low pass filter Q, the learning controller L, and the high pass filter Wp, the parameter adjustment unit 231 designs the internal parameters to be described below of the transfer function of the learning control unit 233 such that Expression 8 (Math. 8 below) is minimized.
∥WtQ(1−LWpP)∥∞ [Math. 8]
The transfer function of the band pass filter Wt has, as internal parameters, a pass band (wt) and a gain (dcwt) in the pass band. The transfer function of the low pass filter Q has, as internal parameters, a filter order (Nq) and a cut-off frequency (wn). The transfer function of the learning controller L has, as internal parameters, a value (N_ILC) indicating whether a vibration of which sample is used and a sample order (No). The transfer function of the high pass filter Wp has, as internal parameters, a cut-off frequency (wp), a filter gain (dcwp), and a filter order (wpNo).
Before shipment the parameter adjustment unit 231 acquires, from the frequency characteristic measurement unit 220, a plurality of frequency characteristics of the input/output gain and the phase tag when the robot 100 moves in several postures (inertia) under a maximum load test workpiece and no-load state, and obtains reciprocals of these frequency characteristics. Then, the parameter adjustment unit 231 changes at least one selected from nine internal parameters of the transfer function of the band pass filter Wt, the low pass filter Q, the learning controller L, and the high pass filter Wp, for example, changes two internal parameter of the transfer function of the learning controller L such that the frequency characteristics of the learning control unit 233 are the reciprocals of the plurality of frequency characteristics. The frequency characteristics of the learning control unit 233 are desirably close to the reciprocals of the plurality of measured frequency characteristics of the input/output gain and the phase lag. The reason is that the frequency characteristics of the learning control unit 233 match the reciprocals of the measured frequency characteristics and thus the compensation amount created by the learning control unit 233 works as a compensation in a direction opposite to the vibration, whereby the vibration of the robot 100 can be canceled.
Therefore, the parameter adjustment unit 231 adjusts the internal parameters to be the reciprocals of the frequency characteristics of input/output gain and the phase lag which are measured at the time of production at the user's end. At this time, the parameter adjustment unit 231 reads the parameters as initial parameters from the parameter storage unit 232, adjusts the initial parameters of the learning control unit 233 based on the reciprocals of the frequency characteristics output from the frequency characteristic measurement unit 220, determines optimum internal parameters, and sets the internal parameters in the learning control unit 233.
A method of searching for the optimum internal parameters with the parameter adjustment unit 231 is not particularly limited, but can use a genetic algorithm, which will be described below, for example.
The subtractor 2401 obtains a difference between a command position of the motion command and a position feedback value output from a position detector such as a rotary encoder of the motor 1020 of the joint axis of the robot, and outputs the difference as a positional deviation to the adder 2402. The adder 2402 adds a positional deviation output from the subtractor 2401 and a compensation amount output from the compensation unit 2410, and outputs the compensated positional deviation to the position control unit 2403.
The position control unit 2403 generates a speed command value based on the compensated positional deviation, and outputs the generated speed command to the subtractor 2404. The subtractor 2404 obtains a difference between the speed command value output from the position control unit 2403 and a speed feedback value output from the differentiator 2409, and outputs the difference as a speed deviation to the speed control unit 2405.
The speed control unit 2405 generates a current command value based on the speed deviation, and outputs the current command value to the subtractor 2406. The subtractor 2406 obtains a difference between the current command value output from the speed control unit 2405 and a current feedback value output from the amplifier 2408, and outputs the difference as a current deviation to the current control unit 2407. The current control unit 2407 generates a torque command value (current value) based on the current deviation, and outputs the torque command value to the amplifier 2408. The amplifier 2408 calculates desired power based on the current value output from the current control unit 2407, and inputs the power to the motor 1020 of the joint axis 1011 of the robot 100. The differentiator 2409 differentiates the position feedback value, and outputs it to the subtractor 2404. The compensation unit 2410 stores the compensation amount output from the learning control unit 233, and outputs the compensation amount to the adder 2402.
In order to implement the functional blocks of the robot controller 200 shown in
In the robot controller 200, the arithmetic operation. processing device reads the application software or OS from the auxiliary storage device, and performs arithmetic operation processing based on the application software or OS, while deploying the read application software or OS to the main storage device. Further, the arithmetic operation processing device controls various hardware provided in the robot controller 200, based on arithmetic results. Thus, the functional blocks of the present embodiment are implemented. In other words, the present embodiment can be realized by cooperation of hardware and software.
For the learning control unit 233, when the amount of arithmetic operations accompanied by learning is large, for example, a GPU (Graphics Processing Units) is equipped in a personal computer, and the GPU is used for arithmetic operation processing accompanied by machine learning with a technique called GPGPU (General-Purpose computing on Graphics Processing Units) to perform high-speed processing. Further, in order to perform higher-speed processing, a computer cluster is constructed using a plurality of computers equipped with such a GPU, and the plurality of computers included in the computer cluster may perform parallel processing.
Next, a description will be given with respect to the operation of the robot controller 200 in the environment at the time of production at the user's end.
In Step S10, the frequency generation unit 210 outputs sine wave signals as motion commands to the motion control unit 240 in the environment at the time of production at the user's end, and the motion control unit 240 causes the robot 100 to move.
In Step S11, the frequency characteristic measurement unit 220 measures an amplitude ratio (input/output gain) between the input signal and the output signal and a frequency characteristic of the phase lag, the motion command (sine wave) generated by the frequency generation unit 210 and the detection position (sine wave) output from the sensor 110.
In Step S12, the parameter adjustment unit 231 reads the parameters as initial parameters of the control unit 230 before shipment from the parameter storage unit 232.
In Step S13, the parameter adjustment unit 231 calculates reciprocals of the frequency characteristics output from the frequency characteristic measurement unit 220, adjusts the initial parameters of the learning control unit 233 based on the reciprocals, determines optimum parameters, and sets the optimum parameter in the learning control unit 233.
In Step S14, the learning control unit 233 calculates a compensation amount to bring the detection position output from the sensor 110 closer to the target position of the motion command, and the motion control unit 240 uses the compensation amount to control each of the joint axes of the robot 100.
The control unit (to be a controller) described above can enhance the effect of vibration reduction by learning at the time of production at the user's end. Further, since the control unit adjusts the parameters of the learning control unit using the initial parameters at the time of production at the user's end, there is no need to significantly change the parameters, and the number of trials can be set to be small. As a result, the adjustment time at the user's end can be shortened. In addition, when the control unit adjusts the parameters of the learning control unit based on the frequency characteristics output from the frequency characteristic measurement unit without using the initial parameters before shipment at the time of production at the user's end, although there is a possibility that the learning control unit will cause vibration to diverge when the frequency characteristics are changed, the divergence can be prevented using the initial parameters before shipment.
Although the embodiment according to the present invention has been described above, each of the components of the controller, the robot controller, and the control method of the embodiment can be implemented by hardware, software, or a combination thereof. For example, each of the components may be implemented by an electronic circuit. Further, an image processing method performed by cooperation of each of the components can also be implemented by hardware, software, or a combination thereof. Here, the implementation by software means that each of the components is implemented when a computer reads and executes a program.
The program may be stored and supplied to a computer using various types of non-transitory computer readable media. The non-transitory computer readable media include various types of tangible storage media. Examples of the non-transitory computer readable media include a magnetic recording medium (for example, a hard disk drive), a magneto-optic recording medium (for example, a magneto-optic disk), a CD-ROM (Read Only Memory), a CD-R, a CD-R/W, and a semiconductor memory (for example, a mask ROM, a PROM (Programmable ROM), an EPROM (Erasable PROM), a flash ROM, and a RAM (random access memory)).
Although the above-described embodiment is a preferred embodiment of the present invention, the scope of the present invention is not limited only to the above-described embodiment, and various modifications can be made without departing from the gist of the present invention.
For example, the above-described embodiment is configured in which the robot system 10 is separated into the robot 100 and the robot controller 200, but the robot controller 200 may be included in the robot 100.
In the above-described embodiment, as the robot, the spot welding robot has been described, but another robot, for example, a painting robot, an assembly robot, or a transport robot may be used.
The controller, the robot controller, and the control method according to the present disclosure can take various embodiments including the above-described embodiment having the following configurations.
According to the robot controller, it is possible to enhance the effect of vibration reduction by learning at the time of production at the user's end.
According to the control method, it is possible to enhance the effect of vibration reduction by learning at the time of production at the user's end.
Number | Date | Country | Kind |
---|---|---|---|
2020-139925 | Aug 2020 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2021/029861 | 8/16/2021 | WO |