a shows a robotic machining setup with a moving tool, stationary workpiece and force sensor measurement.
b shows a robotic machining setup with a moving tool, stationary workpiece and spindle motor current measurement.
c shows a robotic machining setup a with stationary tool, moving workpiece and force sensor measurement.
d shows a robotic machining setup with a stationary tool, moving workpiece and spindle motor current measurement.
As will be appreciated by one of skill in the art, the present invention may be embodied as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.”
Furthermore, the present invention may take the form of a computer program product on a computer-usable or computer-readable medium having computer-usable program code embodied in the medium. The computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device and may by way of example but without limitation, be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium or even be paper or other suitable medium upon which the program is printed. More specific examples (a non-exhaustive list) of the computer-readable medium would include: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a transmission media such as those supporting the Internet or an intranet, or a magnetic storage device.
Computer program code for carrying out operations of the present invention may be written in an object oriented programming language such as Java, Smalltalk, C++ or the like, or may also be written in conventional procedural programming languages, such as the “C” programming language. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Two different setups for robotic machining are available: a stationary tool and a moving tool, where tool refers to the cutting tool driven by a spindle. A stationary tool means that the robot holds the workpiece and moves the workpiece along the programmed path around the stationary cutting tool. A moving tool means the robot holds the cutting tool and moves the tool along the programmed path around the stationary workpiece.
One of two kinds of sensory information either spindle motor current or force sensor measurement, can be used to provide a feedback signal indicative of the cutting force. In both cases, certain pre-processing has to be performed to distinguish signal variation caused by factors other than the cutting load.
When using spindle motor current as feedback, the measurement is the voltage value that is proportional to the spindle motor current. Most commercial spindle drivers have a current monitor output terminal. This signal has to be regulated to the same range of the robot controller A/D card input. The motor current reading when the spindle is turning at the same RPM as during the real machining condition without actual cutting should be recorded as an offset. The measured signal is re-scaled to the cutting force range and then sent to a robot controller.
When a force sensor is used to provide the feedback signal, the force sensor signal is preprocessed to include filtering and gravity compensation. Low pass filtering is used to remove the noise from the signal. The gravity compensation is used to remove the static payload of the cutting tool, spindle or workpiece at any robot configuration. The mass and center of gravity of the payload is first calibrated. During the cutting process, the actual payload at a certain robot pose, that is position and orientation, is subtracted from the sensor reading to obtain the real cutting forces. In CMRR, only the magnitude of the force vector is used for feedback, while the entire force information is useful for other purposes.
The advantage of using a force sensor to provide a feedback signal is that it is easier to set a reference for the force sensor feedback signal than for the spindle motor current since that current must be calibrated to indicate the machining force and thus the force sensor signal is more meaningful to the robot operator than the motor current. The advantage of using a spindle motor current to provide a feedback signal is that it is low cost and less noisy. Still the most important factor that decides which sensory signal to use is the sensitivity of the sensory signal to the variations of cutting parameters.
a, 1b, 1c, and 1d show different robotic machining setups 1.
b shows the setup 2 which is identical to the setup 1 of
Thus the CMRR implementation is similar for all the setups 1-4, whether the feedback is from a spindle motor current or a force sensor measurement. Hereafter, the detailed explanation will only focus on the setup 1 of
A robotic milling process 10 using an industrial robot 12 is shown in
The cutting force of cutter 16 is regulated by adjusting the tool feedrate in the milling process. Since the cutting tool 16 is mounted on the tip of robot end effector (the combination of the cutting tool 16 and the mechanism in the robot 10 to grasp tool 16) the tool feedrate is controlled by commanding the robot end effector speed. As is well known to those of ordinary skill in this art, the commands are provided by a robot controller which is not shown in
The robot model for the machining process is the dynamic from the command feedrate to the actual tool feedrate. A time-invariant linear model should be accurate enough to model the robot dynamic, where the robot end effector only moves in a small range of the workspace, which is true for most robotic machining applications. The experimentally identified dynamic model of the ABB IRB 6400 robot is
where f(s) is the actual tool feedrate and fc(s) is the feedrate command.
The dynamic model is a stable non-minimum phase system, and its root locus is shown in
The relationship between the machining process force and the tool feedrate is nonlinear and time-varying, as shown in the following static model described in Landers et al.:
F=Kd
α
f
β (2)
where K is the gain of the cutting process; d is the cutting depth; f is the tool feedrate; α and β are coefficients, and their values are usually between 0 and 1.
The depth of cut, d, depends on the geometry of the workpiece surface. That geometry usually changes during the machining process, and is difficult to measure accurately on-line. The cutting depth is the major contributor that causes the process parameter change during the machining process. K, α, and β depend on those cutting conditions, such as, spindle speed, tool and workpiece material, and tool wearing condition, which are substantially stable during the cutting process. If the tool and/or the workpiece is changed, these parameters could change dramatically. But they do not change as quickly as the depth of cut d does during the machining process as explained above.
A force model valid only for the specific tool and workpiece used in a laboratory setup, which may be as shown in
F=23d0.9f0.5 (3)
The tool feedrate f is chosen as the control variable, i.e., the process force is controlled by adjusting the feedrate. The static process force model contributes only to the open loop gain of the whole robotic machining process, if the nonlinearity of equation (2) is not considered. Since the cutting depth in equation (2) is constantly changing during the process, the open loop gain also changes constantly. The fixed-gain PI control is not able to maintain the consistent system performance and even stability in extreme cases.
The design of the self-tuning PI controller 30 of the present invention is shown in
Block 30a has two outputs. One output is the integral gain KI 30c and the other output is the proportional gain KP 30d each of which are inputs to PI Controller block 30b. The output of the PI Controller block 30b is the tool feed rate command fcmd 30e and is the input to block 34 which represents the robot system, that is, the robot arm plus the robot controller. The output of model 34 is the tool feed rate f 34a and is the input to block 36 which represents the machining process and the input 30f to the Self-tuning Algorithm block 30a. The force model 36 is responsive to the tool feed rate f to produce the cutting force F which is the input 30h to the Self-tuning Algorithm block 30a.
The difference between the cutting force reference Fr and the cutting force F is obtained at summing point 38 to provide an input 30g to the PI controller block 30b. Thus, since the inputs to the Self-tuning Algorithm block 30a are the tool feed rate f and the cutting force F and the outputs of that block are the integral gain KI and the proportional gain KP inputs to the PI Controller block 30b, the PI controller 30 of the present invention changes those gains on-line.
The PI control in
where KP and KI are the proportional and integral gains respectively.
The nonlinear static cutting force model of equation (2) can, by lumping the effect of parameters K, d, and α to the process force into one parameter, kf, be rewritten as:
F=Kd
α
f
β
=k
f
f
β (5)
where kf=Kdα.
The force F′ is defined as follows:
F′=(F)1/β (6)
Putting equation (6) together with equation (5) gives:
F′=(F)1/β=(kf)1/βf=kf (7)
where k=(kf)1/β is time-varying.
Instead of controlling cutting force F, the present invention, for the nonlinear system described herein, controls F′ to follow the new command force, i.e., Fr′=(Fr)1/β, which is equivalent to controlling F to follow the original reference force Fr. By using equation (7), the nonlinear system described herein is exactly linearized, and this linear system design technique can be applied to design a PI control for the nonlinear system. As can be appreciated, the linearization method described above is not needed where the application is linear in which the present is to be used is a linear system.
The zero of the PI controller 30 is put at −66.5 to cancel the slow stable pole of the robotic dynamic model 34. Since the zero of the PI controller 30 is fixed, the proportional and integral gains obtained from the zero of the PI controller 30 are:
K
P=0.015α, KI=α (8)
where α is chosen to make the open loop gain of the whole system at the desired value.
The robotic machining system 40 with a self-tuning PI controller 30 and robot model 34 of
The cutting force is controlled by varying the robot end-effector speed in the tool feed direction. In actual implementation, the robot motion is planned in advance based on a pre-selected reference speed. The PI control generates the ratio signal to interpolate the reference trajectory in order to adjust the tool feedrate. Thus the achieved robot end-effector speed can not be greater than the pre-selected reference speed. There is also a positive lower limit (because negative feedrate is meaningless) assigned for the tool feedrate command to avoid a “stop and go” situation.
As shown in
Let Vr, in
where δ≧0 and is set as described below to 0.05 for the simulation, and δVr is the minimum feedrate command for the machining process.
From equations (1), (4), (7), and (8), and without considering the saturation nonlinearity, the open loop gain of the system 40 shown in
α·Vr·k=28.84 (10)
Combining equations (10) and (8), the proportional and integral gains are:
where {circumflex over (k)} is the on-line estimation of k in equation (7). Equation (11) is used as the self-tuning rules for the PI controller, which aims to maintain the open loop gain at 28.84.
The following standard recursive linear least square (RLS) method is used to identify k and β of equation (7)
where θ(t)=(ln{circumflex over (k)}(t){circumflex over (β)}); y(t)=lnF(t) x(t)=(1 lnf(t))T; t=1,2,3, . . . is the sampling point; λ is the forgetting factor, which is usually chosen between 0.95 and 0.99. The on-line identified {circumflex over (k)} and {circumflex over (β)} are used in equations (7) and (11) respectively as the adaptive rules.
Several simulation results are presented herein to show the effectiveness of the self-tuning PI control of the present invention in compensating the cutting condition changes. The control performance is compared between the self-tuning PI controller of the present invention and a fixed-gain PI controller, where the fixed-gain PI controller is designed ideally for the cutting depth of 2 mm.
In all of the simulation cases: the reference feedrate Vr is chosen at 40 mm/s; the lower limit of saturation δ is 0.05, the forgetting factor λ of equation 12 is 0.95; and the reference force Fr is 150N. The fixed-gain PI controller gains are calculated to be:
K
I=3.75×10−4, KP=5.88×10−6
The fixed-gain PI controller result (without an anti-windup scheme) is shown in
The purpose of the simulation case shown in
In a real machining process, the cutting depth may change continuously, which is different from the above described simulation cases, where the cutting depth changes in steps. As is shown in
Experimental studies were conducted for a face milling process to verify the stability and performance of the self-tuning PI control algorithm of the present invention. The robot used in the milling process is the ABB IRB 6400, the same robot used for the parameter identification described above. The robotic face milling process is shown in
During the face milling experiment, a spindle 14 of
The reference force was set at 250N for the experiments. When the cutting depth is 1 mm at 90a, both controllers are saturated with a full command speed at 30 mm/s. When the cutting depth is changed to 2 mm at 90b, the fixed-gain PI controller starts, as is shown in
Referring now to
As can be appreciated by those of ordinary skill in the art, when the algorithm is in controller 104, the controller functions as a computing device to execute the algorithm 102. The controller 104 is connected to robot 106 which in turn is used to perform the machining process 108. Thus if the algorithm 102 is executed by controller 104 or if the controller 104 receives commands from a computing device that executes the algorithm 102 the robot 106 is controlled to perform the machining process 108 in accordance with the present invention. It should be appreciated that the adaptive PI control algorithm 102 can be implemented on the robot controller 104 as a software product, or implemented partly or entirely on a remote computer, which communicates with the robot controller 104 via a communication network, such as, but not limited to, the Internet.
It should be appreciated that the present invention changes the speed of a robot based on real-time machining process information in order to regulate the process force in a certain range, that is to give the desired CMRR. Thus the self tuning controller that has tunable proportional and integral gains described above is only one example of how that desirable result is accomplished.
It is to be understood that the description of the foregoing exemplary embodiment(s) is (are) intended to be only illustrative, rather than exhaustive, of the present invention. Those of ordinary skill will be able to make certain additions, deletions, and/or modifications to the embodiment(s) of the disclosed subject matter without departing from the spirit of the invention or its scope, as defined by the appended claims.