The present application is based upon and claims the benefit of priority to Japanese Patent Application No. 2015-111930, filed Jun. 2, 2015, the entire contents of which are incorporated herein by reference.
Field of the Invention
The present invention relates to a motor control apparatus, a motor control method and a motor control program.
Description of Background Art
Japanese Patent Laid-Open Publication No. HEI 10-128812 describes a control device that performs pressure feedback control by feeding back, to a pressure command, a detected pressure in a machine, the detected pressure being detected using a load cell.
Japanese Patent Laid-Open Publication No. 2009-141987 describes a motor control apparatus that performs position control and pressure control by switching over time between the position control and the pressure control by separately providing and switching a position control feedback loop and a pressure control feedback loop.
The entire contents of these publications are incorporated herein by reference.
According to one aspect of the present invention, a motor control apparatus for controlling a motor that performs pressure control includes circuitry which calculates a detected speed of a motor based on an input pressure command, a sensor reaction force, a movable part viscous damping force and a movable part mass, outputs the detected speed, calculates the movable part viscous damping force by multiplying the detected speed by a movable part viscous damping coefficient to calculate the detected speed, calculates a detected position of the motor by integrating the detected speed, outputs the detected position, calculates a sensor viscous damping pressure by multiplying the detected speed by a sensor viscous damping coefficient, calculates a sensor spring pressure by multiplying the detected position by a sensor spring constant, calculates a detected pressure of a pressure sensor by adding the sensor spring pressure to the sensor viscous damping pressure, and outputs the sensor reaction force which is the detected pressure to calculate the detected speed.
According to another aspect of the present invention, a motor control apparatus for controlling a motor that drives a control object with a pressure sensor includes circuitry which calculates a position deviation between a high-level position command that is externally input and a detected position of a motor that drives a control object, calculates a speed command based on the position deviation, calculates a speed deviation between the speed command and an output speed of the motor, calculates a torque command based on the speed deviation, inputs the torque command to the motor, calculates a pressure deviation between a high-level pressure command that is externally input and a detected pressure that is detected from a pressure sensor of the control object, calculates a position correction command based on the pressure deviation, and adds the position correction command to the high-level position command to calculate the position deviation.
According to another aspect of the present invention, a method for controlling a motor that drives a control object with a pressure sensor includes calculating a position deviation between a high-level position command that is externally input and a detected position of a motor that drives a control object, calculating a speed command based on the position deviation, calculating a speed deviation between the speed command and an output speed of the motor, calculating a torque command based on the speed deviation, inputting the torque command to the motor, calculating a pressure deviation between a high-level pressure command that is externally input and a detected pressure that is detected from a pressure sensor of the control object, calculating a position correction command based on the pressure deviation, and adding the position correction command to the high-level position command to calculate the position deviation.
A more complete appreciation of the invention and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:
The embodiments will now be described with reference to the accompanying drawings, wherein like reference numerals designate corresponding or identical elements throughout the various drawings.
Schematic Structure of Servo Amplifier
First, a schematic structure of a servo amplifier that corresponds to a motor control apparatus according to an embodiment of the present invention is described using
Based on a position deviation (see “A” in
Based on a speed deviation (see “C” in
Based on a pressure deviation (see “E” in
The servo amplifier 1 of the present embodiment having the above-described structure has a three-loop structure that includes a feedback loop of a position control system, a feedback loop of a speed control system and a feedback loop of a pressure control system. That is, the servo amplifier 1 has a position control feedback loop in which, after the high-level position command is input from the high-level control device 2, a control signal is transmitted in the order of the position controller 11, the speed controller 12 and the motor, and the output position (PosFB) of the motor is fed back. Further, the servo amplifier 1 also has a speed control feedback loop in which a control signal is transmitted in the order of the speed controller 12 and the motor, and the output speed (SpdFB) of the motor is fed back. Further, the servo amplifier 1 has a pressure control feedback loop in which, after the high-level pressure command (Tref) is input from the high-level control device 2, a control signal is transmitted in the order of the pressure controller 13, the position controller 11, the speed controller 12 and the motor, and the detected pressure (ForceFB) that is detected from the control machine that is driven by the motor is fed back. In the present embodiment, in order to simplify the description, a current controller that outputs a drive current, for example, by PWM control, to the motor based on a torque command, and a feedback loop of a current control system that is provided inside the current controller are omitted.
An object that is controlled by the servo amplifier 1 of the present embodiment is a control machine (see
Contents of the motor model 101 and the pressure sensor model 102, and contents of the proportioning devices and the integrator that are respectively provided in the position controller 11, the speed controller 12 and the pressure controller 13, will be described in detail later when mathematical analysis is described.
In the control machine such as a production machine, in a process until the pressure sensor that is provided in the movable part is brought into contact with a contact object, as will be described in detail later, it is desirable that the position control and the pressure control be performed by switching over time between the position control and the pressure control. In order to perform such switching between the position control and the pressure control, it is possible to adopt a structure in which a control block that has a position control feedback loop and a control block that has a pressure control feedback loop are separately provided in the servo amplifier 1 and the control blocks are separately switched. However, in this case, due to differences in block structures and various gains between the two feedback loops, linearity is not maintained. Therefore, depending on some condition, an impact occurs during the switching.
In contrast, the servo amplifier 1 of the present embodiment is integrally provided with the position control feedback loop, the speed control feedback loop and the pressure control feedback loop in the control block. On the high-level control device 2 side, a sequence is performed in which input of the high-level position command (PosRef) and input of the high-level pressure command (Tref) are switched using software. As a result, the position control and the pressure control can be performed in the same control block. Therefore, the above-described occurrence of an impact during the switching can be avoided.
Here, in a usual pressure control feedback loop, it is common to adopt a design in which, based on the pressure deviation, the pressure command that is generated by the pressure controller 13 is fed back to a torque command of the same dimension. However, even when pressure control is actually performed using the servo amplifier 1 that is so designed, it has been confirmed that a phenomenon occurs in which the motor and the movable part only clamp at a position of the high-level position command (PosRef) and pressure control due to pressing movement is not performed.
With respect to this phenomenon, the pressure command is regarded as merely a disturbance when viewed from the position control feedback loop, and position control is performed on the position control feedback loop side so as to offset the pressure command, and thus the motor and the movable part clamp at the position of the high-level position command (PosRef).
In contrast, in the present embodiment, as described above, in the pressure control feedback loop, the pressure controller 13 adds to the high-level position command (PosRef) a command that is generated based on the pressure deviation as a position correction command. As a result, the pressure control feedback loop performs the position control that reflects the pressure deviation via the position control feedback loop, and thus the above-described offsetting phenomenon can be avoided.
The high-level control device 2 is formed, for example, using a general-purpose personal computer or the like (not particularly illustrated in the drawings) that is provided with a CPU, a ROM, a RAM, an operation part, a display, and the like, and generates the above-described high-level position command (PosRef) and high-level pressure command (Tref) based on various settings and commands that are input from an operator via the operation part, and inputs the high-level position command (PosRef) and the high-level pressure command (Tref) to the servo amplifier 1.
The servo amplifier 1 generates a torque command based on the high-level position command (PosRef) and the high-level pressure command (Tref), which are input from the high-level control device 2, and inputs the torque command to the motor 31 of the control machine 3. In this case, feedback control of position and pressure is performed based on the output position (PosFB) and the output speed (SpdFB) that are output from an encoder (31a) (to be described later) that is provided in the motor 31 and the detected pressure (ForceFB) that is detected from a pressure sensor 35 (to be described later) that is provided in the control machine 3. A control block that is illustrated in
In the example illustrated in
In this example, the motor 31 is a motor of a rotary type. The feeding screw 33 is coupled via the coupling 32 to an output shaft of the motor 31. Further, the motor 31 is integrally provided with the encoder (31a). The encoder (31a) outputs, as the output position (PosFB), a rotation position of the output shaft of the motor 31, and further calculates the output speed (SpdFB), which is a rotational speed of the output shaft, by differentiating the output position (PosFB), and outputs the output speed (SpdFB). The methods for detecting the output position (PosFB) and the output speed (SpdFB) can be embodied in various other forms. For example, it is also possible that the encoder (31a) outputs only the output position (PosFB), and the servo amplifier 1, to which the output position (PosFB) is input, calculates the output speed (SpdFB) by performing differentiation calculation. Or, it is also possible that the motor 31 is provided with a tachogenerator instead of the encoder (31a) and outputs the output speed (SpdFB), and the servo amplifier 1, to which the output speed (SpdFB) is input, calculates the output position (PosFB) by performing integration calculation.
The movable plate 34 is a plate member that is slidably coupled to the seating 36 (to be described later). The feeding screw 33 is screwed to an end portion of the movable plate 34. As a result, when the motor 31 rotates forward or backward, the movable plate 34 is driven via the feeding screw 33 to move forward or backward along a predetermined direction (left-right direction in
The pressure sensor 35 is formed, for example, using a load cell, and is a sensor that detects as the detected pressure (ForceFB) a pressure that is applied from the outside in a thickness direction of the sensor. The pressure sensor 35 is affixed to a side surface of the movable plate 34 on one side in a movement direction.
The seating 36 is a member on an upper surface of which the object 300 is placed, and has the fixed plate 37 by fixing the fixed plate 37 on an extension line in the movement direction of the movable plate 34. As a result, the movable plate 34 moves in a direction approaching or away from the fixed plate 37 in a state in which a side surface on the side where the pressure sensor 35 is positioned opposes the fixed plate 37.
In the above-described structure, based on the output position (PosFB) and the output speed (SpdFB) that are output from the encoder (31a), the servo amplifier 1 performs position feedback control in which the motor 31 is controlled such that the position of the movable plate 34 follows the high-level position command (PosRef). Further, based on the detected pressure (ForceFB) that is detected from the pressure sensor 35, the servo amplifier 1 also performs pressure feedback control in which the motor 31 is controlled such that the movable plate 34 presses against the object 300 according to the high-level pressure command (Tref).
Operation Process
In the above gripping process, for example, when the movable plate 34 is moved by only constant pressure control from the initial position that is largely spaced apart from the object 300, in the pressure control feedback loop, since the pressure controller 13 performs integral control, the movable part is over-accelerated and a movement speed of the movable part becomes excessively high (see description about a process (S15) of
The switching as described above between the positioning operation of the movable plate 34 by the position control and the pressing operation of the movable plate 34 by the pressure control is performed by a software-based switching input of the high-level position command (PosRef) and the high-level pressure command (Tref) in the high-level control device 2. Further, when the movable plate 34 is pulled back to the initial position from the state in which the object 300 is press-sandwiched by the movable plate 34 and the fixed plate 37, a reverse process may be performed. That is, it is possible that the operation in which the movable plate 34 returns from the pressing position to the switching position is performed by the pressure control; the positioning operation in which the movable plate 34 returns from the switching position to the initial position is performed by the position control; and the switching between the operations is performed by a software-based switching input of the high-level position command (PosRef) and the high-level pressure command (Tref) in the high-level control device 2.
Control Flow
Control procedures that are executed by a CPU (corresponding to a processor; not particularly illustrated in the drawings), which is provided in the high-level control device 2, in order to realize the above-described function are described step by step using
First, at a process (S5), the CPU of the high-level control device 2 outputs a high-level pressure command (Tref)=0 to the servo amplifier 1.
Next, the processing proceeds to a process (S10), at which the CPU of the high-level control device 2 outputs a high-level position command (PosRef) to the servo amplifier 1 and thereby performs a positioning operation in which the movable plate 34 is moved to the switching position. In this case, for example, the high-level position command (PosRef) is preferably output in such a manner that a distance from the initial position to the switching position is finely divided and is repeatedly put out so that the movable plate 34 is caused to perform a so-called inching operation. During the positioning operation at the process (S10), the high-level pressure command (Tref)=0 is maintained by the process (S5). Further, basically, the pressure sensor 35 is also in a non-contact state. Therefore, a detected pressure (ForceFB)=0 is detected. Therefore, the pressure control feedback loop generates only a position correction command=0, and the position control is substantially performed by only the position control feedback loop and the speed control feedback loop. When the put out position of the high-level position command (PosRef) has reached the switching position, the movement of the movable plate 34 temporarily stops.
Next, the processing proceeds to the process (S15), at which the CPU of the high-level control device 2 outputs to the servo amplifier 1 a high-level pressure command (Tref) at a predetermined pressure (t) and thereby causes the movable plate 34 to performed a pressing operation. The predetermined pressure (t) is set to an appropriate pressing pressure that is enough to allow the movable plate 34 and the fixed plate 37 to reliably sandwich the object 300 without damaging the object 300. During the pressing operation at the process (S15), the high-level position command (PosRef) is maintained at the switching position that is output at the process (S10). Further, when the movable plate 34 is positioned between the switching position and the contact position (not illustrated in the drawings), the pressure sensor 35 continues to detect the detected pressure (ForceFB)=0. Therefore, in the pressure control feedback loop, the high-level pressure command (Tref) is always the pressure deviation, and the pressure controller 13 continues to continuously integrate the pressure deviation and generates a position correction command that gradually increases, and continues to add the position correction command to the switching position of the high-level position command (PosRef). As a result, the position control feedback loop and the speed control feedback loop cause the movable plate 34 to move toward the object 300 side.
However, after the movable plate 34 reaches the contact position and the pressure sensor 35 comes into contact with the object 300, along with a pushing-in movement of the movable plate 34, the detected pressure (ForceFB) from the pressure sensor 35 increases. Therefore, the pressure deviation in the pressure control feedback loop gradually decreases, and the increase in the position correction command according to the pressure controller 13 is also gradually suppressed. Then, when the detected pressure (ForceFB) gradually approaches and matches the high-level pressure command (Tref), the pressure deviation becomes 0, and the pressure controller 13 continuously generates the position correction command at a constant value, that is, that movable plate 34 stops moving and is fixed at the pressing position (position obtained by adding the position correction command at the time to the switching position). As described above, at the process (S15), the pressing operation of the movable plate 34 toward the object 300 is performed by the pressure control.
Next, the processing proceeds to a process (S20), at which the CPU of the high-level control device 2 is in a standby state until an input for a pullback operation from the operator via the operation part (not particularly illustrated in the drawings) is detected. When the pullback operation is input to the operation part, the processing proceeds to a subsequent process (S25).
At the process (S25), the CPU of the high-level control device 2 outputs to the servo amplifier 1 a high-level pressure command (Tref)=0. Here, when the process (S25) is executed, since the movable plate 34 is in the state of pressing against the object 300, a detected pressure (ForceFB)=t is output from the pressure sensor 35. As a result, the pressure deviation in the pressure control feedback loop becomes a negative value, and the position correction command according to the pressure controller 13 is reduced and the movable plate 34 moves in a direction away from the object 300. Then, along with the pullback movement of the movable plate 34, the detected pressure (ForceFB) from the pressure sensor 35 is reduced, and when the movable plate 34 is returned to the contact position, the pressure deviation becomes 0, and the pressure controller 13 continuously generates the position correction command at a constant value. In the example of the present embodiment, immediately after the high-level pressure command (Tref)=0 is output, the processing proceeds a subsequent process (S30), and thereby movement control is also performed in parallel to the pullback movement of the movable plate 34 by the pressure control.
At the process (S30), the CPU of the high-level control device 2 outputs to the servo amplifier 1 a high-level position command (PosRef), and thereby causes the movable plate 34 to move away from the object 300. In this case, the high-level position command (PosRef) is output in absolute coordinates and thereby the operation can perform the position control in the same feeling as in a normal positioning operation. Then, the flow terminates.
According to the above-described flow, by the procedures of the processes (S5-S15), an approach process is performed in which the movable plate 34 is moved from the initial position toward the object 300 side to approach the object 300 and is caused to press against the object 300, and thereafter, after an input for a pullback operation is detected, by the procedures of the processes (S25-S30), a pullback process is performed in which the movable plate 34 is caused to move away from the object 300 side.
In the above-described approach process, the description is given based on an assumption that the object 300 has specified dimensions and the pressure sensor 35 does not come into contact with the object 300 up to the switching position on a front side of the planned contact position. However, as illustrated in
As described above, according to the servo amplifier 1 of the present embodiment, the position control feedback loop, the speed control feedback loop and the pressure control feedback loop are integrally provided in the same control block. On the high-level control device 2 side, a sequence is performed in which input of the high-level position command (PosRef) and input of the high-level pressure command (Tref) are switched using software. As a result, the position control and the pressure control can be performed in the same control block. Therefore, linearity of parameter values and gain settings in circuits is maintained also in the switching between these control modes, and occurrence of an impact during the switching can be avoided.
Further, in the present embodiment, as described above, in the pressure control feedback loop, the pressure controller 13 adds to the position command a command that is generated based on the pressure deviation as a position correction command. As a result, the pressure control feedback loop performs the position control that reflects the pressure deviation via the position control feedback loop, and thus the phenomenon in which the pressure command is offset by the position control can be avoided. As a result, a functional constant pressure control can be realized.
Further, in the present embodiment, in particular, the pressure controller 13 is provided with an integrator (1/s). As a result, occurrence of a steady-state deviation of the detected pressure in the pressure control feedback loop can be avoided.
Further, in the present embodiment, in particular, the high-level control device 2 executes the procedure of the process (S10) in which the high-level position command (PosRef) is input until the movable plate 34 is positioned at the switching position while the high-level pressure command (Tref) is set to a value that is substantially equal to 0, and the procedure of the process (S15) in which, after the movable plate 34 is positioned at the switching position, the high-level pressure command (Tref) is input at a predetermined value (t) while the high-level position command (PosRef) is set to the switching position. As a result, with respect to the servo amplifier 1 of the present embodiment, switching between the position control and the pressure control can be functionally executed.
In the above-described embodiment, a rotary type motor is adopted for the motor 31. However, the present invention is not limited to this. In addition, also for a linear motor of a linear motion type, constant pressure control can be realized by applying the servo amplifier 1 that is provided with the control block of the above-described embodiment. In this case, the torque command is replaced by a thrust force command. Further, regarding the control machine 3, the servo amplifier 1 of the above-described embodiment can be suitably applied to, for example, an injection molding machine, a press machine, and the like in addition to the above-described gripping mechanism illustrated in
Mathematical Analysis of Control Block
In the following, mathematical analysis of the control block that is provided with the pressure control feedback loop of the above-described embodiment, including also various derived modified embodiments, is described in detail.
First, as illustrated in
However, in order for the pressure control feedback loop to operate stably and with high command responsiveness, it is desirable that the various gains be strictly adjusted, and these control gains greatly depend on a block structure of the pressure control feedback loop. In this regard, the block structure (not particularly illustrated in the drawings) of the pressure control feedback loop that is conventionally applied is complex and gain adjustment is difficult.
Therefore, a model of a control object that includes a motor and a pressure sensor is structured using a method of state feedback, and various gains of a pressure control feedback loop are set corresponding to the control object model. In the following, first, whether or not the stabilization of the control object by state feedback is possible is examined. Thereafter, a structure of a feedback control device is examined in which pressure control feedback is performed such that the detected pressure matches the high-level pressure command (Tref).
Stabilization of Control Object by State Feedback
Here, a value obtained by multiplying the detected speed (SpdFB) by the movable part viscous damping coefficient (Dvis) is a movable part viscous damping force; a value obtained by multiplying the detected speed (SpdFB) by the viscous damping coefficient (Dst) (sensor viscous damping coefficient) is a sensor viscous damping pressure; a value obtained by multiplying the detected position (PosFB) by the spring constant (Kst) (sensor spring constant) is a sensor spring pressure; and a sensor reaction force is equal to the detected pressure (ForceFB). In this case, the control object (control object model) outputs as the detected speed (SpdFB) of the motor a value that is obtained by integrating a value that is obtained by dividing, by the inertia moment (J) (movable part mass), a value that is obtained by subtracting the sensor reaction force and the movable part viscous damping force from the input torque command (pressure command), and further outputs as the detected position (PosFB) of the motor a value that is obtained by integrating the detected speed (SpdFB). Further, the control object outputs, as the detected pressure (ForceFB) of the pressure sensor, a value that is obtained by adding the sensor spring pressure to the sensor viscous damping pressure.
When the control block of
Further, an observation equation is defined as the following equation (2):
Observability in this case is confirmed as follows. With respect to
when
is calculated, it becomes:
Here, since
the observation equation (2) is observable. Therefore, an observer that estimates various state quantities can be formed.
Next, controllability is confirmed. When
Uc=[bAb]
is calculated, it becomes:
Here, since
the state equation (1) is controllable. Therefore, by feeding back various state quantities, the control system can be stabilized.
When coefficients with which the state quantities are multiplied are
k=[k1k2]T,
from
since
From the equation (3), since k1 or k2 appears in a constant term and a first-order term in a characteristic polynomial, by feeding back θ (the “PosFB” in
In the case of a linear motion type motor, that is, a linear motor, the “SpdFB” and the “PosFB” in
Pressure Control by Pressure Feedback
As a simplest countermeasure, an integrator can be added. When integral control is performed to the difference between the high-level pressure command (Tref) and the detected pressure (ForceFB), the result is as illustrated in
When
Confirmation of Stability
Stability of the above-examined pressure control feedback loop is confirmed as follows. From the Routh-Hurwitz stability criterion, a necessary and sufficient condition for a control loop to be stable satisfies the following equation (4):
When expanded, the equation (4) becomes the following equation (4)′:
For simplicity, assuming that Dvis=Dst=0, when expanded, the equation (4)′ becomes the following equation (4)″:
When the equation (4)″ is solved, the following equation (5) or equation (5)′ is obtained:
Further, since k1>0,
that is, when k2≧Jk3, the control loop is always stable; and
that is, when
is obtained.
Derivation of Optimum Gain Setting Value
Next, an optimum gain formula is derived using a coefficient diagram method. From the characteristic polynomial of
For simplicity, assuming that Dvis=Dst=0, the stability indexes are specified so as to be in coefficient diagram method standard forms:
From the equation (6)′ and the equation (7)′,
By arbitrarily selecting k1 in a range within which the stability condition equation (5)′ is satisfied, a response of a coefficient diagram method standard form can be obtained from gains of the equation (8) and the equation (9). Further, in this case, an equivalent time constant (τ) can be obtained from the following equation (10):
For example, when k1=10, Kst=0.424 (Nm/rad) and J=8.375×10-5 (kgm2), k2=0.042 and k3=2440.696 are obtained. In this case, since the right-hand side of the equation (5)′ is 1.640 (<k1), the stability condition is satisfied, and the equivalent time constant is about 10 ms.
Examination of Application of Pole Placement Method
The optimum gain formula is derived using the coefficient diagram method. However, in actual servo adjustment, a method, in which the adjustment is started from a state in which the equivalent time constant is large and then the equivalent time constant is gradually reduced, is more intuitive and can be more easily performed. Here, as an example, a condition that allows the characteristic polynomial of
When a comparison between (s+ω)3=s3+3ωs2+3ω2s+ω3 and the coefficients of the characteristic polynomial of
From the equations (11)-(13), when Dvis=Dst=0 is assumed for simplicity, the gains (k1, k2, k3) can be expressed as functions of the response frequency (ω):
For example, when ω=2π×10 (rad/s), Kst=0.424 (Nm/rad) and J=8.375×10-5 (kgm2), the gains are k1=0.568, k2=0.016 and k3=48.996. In this case, since the right-hand side of the equation (5)′ is −0.314 (<0), the stability condition is satisfied, and the equivalent time constant is about 48 ms.
When the above condition is modified to ω=2π×100 (rad/s), the gains are k1=98.766, k2=0.158 and k3=48995.767. In this case, since the right-hand side of the equation (5)′ is 10.597 (<k2), the stability condition is satisfied, and the equivalent time constant is about 5 ms.
Estimation Method of Mechanical Specifications
In the settings of the gains in the above-described control block, it is desirable that, as physical specifications, the inertia moment or mass of the movable part that corresponds to the above-described J and the spring constant of the pressure sensor that corresponds to the above-described Dst be already known. In the following, methods for estimating these quantities based on experiment or calculation are each described in turn.
For example, in the case where a rotary type motor is used for the control machine, an inertia moment of a movable part that corresponds to the above-described J is a sum (in units of (kgm2)) of an inertia moment of a rotor of the motor and a load inertia moment of a movable part of the control machine. Further, in the case where a linear motor is used for the control machine, a mass of a movable part that corresponds to the above-described J is a sum (in units of (kg)) of a mass of a movable element of the motor and a load mass of a movable part of the control machine. The inertia moment or the mass can be obtained, for example, by dividing a torque command or a thrust force by an acceleration of the motor, the torque command or the thrust force being detected in an experimental operation using the servo amplifier for which gains have been appropriately set. The acceleration of the motor can be obtained by subjecting the detected speed (SpdFB) to first order differentiation.
Further, for the spring constant of the pressure sensor, assuming a spring of a machine in small displacement is a linear spring and according to Hooke's Law, the following equation can be defined:
F0−F=Kst(x0−x).
Here, F0 is an initial detected pressure (in units of N); F is a detected pressure (in units of N) when a certain displacement has occurred; x0 is an initial position (in units of m) of the movable part; x is a displacement (in units of m) from the initial position of the movable part; and Kst is the spring constant (in units of N/m). When the pressure sensor is in an initial state of being in contact with the object, a detected pressure (F0) and a detected position (x0) at the time are measured. Thereafter, in a pressure control mode, the pressure sensor presses against the object, and a detected pressure (F) and a detected position (x) are measured. The spring constant (Kst) can be calculated using these measured values from the following equation:
Further, the pressure control in a broad sense is not only the pressure control in the linear motion mechanism illustrated in
Extension to Speed Control
Next, extension from the control block of the pressure control illustrated in
Further, when a path of the gain (k1) is deformed, the control block can be rewritten as in
Examination of Stability of Speed Control and Application of Pole Placement Method
The control block of
that is, when k2≧Jk3, the control loop is always stable; and
that is, when
is obtained.
Further, for gain formulas due to the application of the pole placement method, similar to the control block of
Operation Confirmation of Speed Control by Simulation
Operation waveforms in the case where simulation is performed using gains that are calculated using the equations (14)-(16) are illustrated in
In the example illustrated in
Specifications that are used in the above-described simulations of
Extension to Position Control
Next, extension from the control block of the pressure control illustrated in
Here, in the case of the position control, when a difference between the high-level pressure command (Tref) and the detected pressure (ForceFB) is fed back to the torque command, the difference becomes a disturbance to the position control. Therefore, when an integrator is added to the position controller in order to prevent positional displacement, the pressure control does not function normally. With regard to this point, the problem can be solved by deforming the control block of
Since the deformation up to
When the high-level position command (PosRef)=0, the transfer function from the high-level pressure command (Tref) to the detected pressure (ForceFB) is the following equation (17):
When s=0, the equation (17) becomes 1. Therefore, it is clear that the detected pressure (ForceFB) matches a constant high-level pressure command (Tref). Therefore, the control block of
Confirmation of Stability of Position Control
Stability of the position control block is confirmed as follows. From the Routh-Hurwitz stability criterion, a necessary and sufficient condition for a control loop to be stable satisfies both of the following equation (18) and equation (19):
When expanded, the equation (18) becomes the following equation (18)′:
For simplicity, assuming that Dvis=Dst=0, when expanded, the equation (18)′ becomes the following equation (18)″:
When the equation (18)″ is solved, the following equation (20) is obtained:
Similarly, assuming that Dvis=Dst=0, when expanded, the equation (19) becomes the following equation (19)′:
When the equation (19)′ is solved, the following equation (21) is obtained.
As a result, it is clear that in order to satisfy the equation (18) and the equation (19) at the same time, it is sufficient to satisfy the equation (20) and the equation (21) at the same time.
Examination of Application of Pole Placement Method of Position Control
Here, as an example, a condition that allows the characteristic polynomial of the equation (17) to have four roots is examined.
When a comparison between (s+ω)4=s4+4ωs3+6ω2s2+4ω3s+ω4 and the coefficients of the characteristic polynomial of the equation (17) is performed, the following equations can be obtained:
From the equations (22)-(25), when Dvis=Dst=0 is assumed for simplicity, the gains (k1, k2, k3) and an integration time (Tpi) can be expressed as functions of the response frequency (ω) as follows:
Since the above equations do not guarantee the stability, confirmation is required separately using the equations (20) and (21).
Operation Confirmation of Position Control by Simulation
Operation waveforms in the case where simulation is performed using gains that are calculated using the equations (26)-(29) are illustrated in
In the example illustrated in
Specifications that are used in the above-described simulations of
Extension to Multiaxial Synchronous Control
As described above, the control block of
Waveforms in the case where the control block of
Addition of Control Path for Loop Stabilization
In the pressure feedback control that is examined above, it is possible that, depending on an inertia moment ratio of the control object or a spring constant, a gain that allows a characteristic equation to have a multiple-root solution is a negative value. Even when the gain is a negative value, since the pressure feedback loop is stable, there is no problem. However, when the speed control and the position control share the same gain, there is a problem that the control loop becomes unstable. In the present examination, a method is examined in which, without depending on characteristics of the control object, a gain that allows a characteristic equation to have a multiple-root solution in any state of the pressure feedback/position control/speed control is a positive value.
Derivation of Control Block of Force Control Base and Speed Control Base
For the control block of the pressure feedback described in
The gains that allow the characteristic polynomial of the equation (30) to have a multiple-root solution can be obtained from the equations (14)-(16) described above. As can be seen from equation (14), depending on J or Kst, the gain (k2) may be a negative value. This is probably not a significant problem for a force control base. However, for a speed control base, when the pressure sensor is in a non-contact state, the speed control is a positive feedback, and thus there is a problem. In this case, the second term (Kst) on the right-hand side of the equation (14) causes the gain to be negative and thus it is preferable to eliminate this term. Further, the second term on the right-hand side of the equation (14) causes Kst to be included in a first-order coefficient in a characteristic polynomial of the equation (30). Therefore, in order to eliminate Kst from the first-order coefficient in the characteristic polynomial of the equation (30), as illustrated in
A transfer function from the high-level pressure command (Tref) to the detected pressure (ForceFB) in the case of
As compared to the equation (30), in the equation (31), Dst (in the second-order coefficient) and Kst (in the first-order coefficient) are eliminated from the characteristic polynomial. Further, when the control block of the force control base illustrated in
Derivation of Control Block of Position Control Base
For the control block of the position control feedback described in
The gains that allow the characteristic polynomial of the equation (32) to have a multiple-root solution can be obtained from the equations (26)-(29) described above. As can be seen from equation (26), depending on J or Kst, the gain (k1) may be a negative value. Along with this, the gain (k3) and the position integration time (Tpi) that are obtained from the equations (28) and (29) may also be negative values. For a position control base, when the pressure sensor is in a non-contact state, the position control is a positive feedback, and thus this is a problem. The second term on the right-hand side of the equation (26) causes the gain to be negative and thus it is preferable to eliminate this term. Further, the second term on the right-hand side of the equation (26) causes Kst to be included in a second-order coefficient in a characteristic polynomial of the equation (32). Therefore, in order to eliminate Kst from the second-order coefficient in the characteristic polynomial of the equation (26), as illustrated in
A transfer function from the high-level pressure command (Tref) to the detected pressure (ForceFB) in the case of
As compared to the equation (31), in the equation (32), Dst (in the third-order coefficient) and Kst (in the second-order coefficient) are eliminated from the characteristic polynomial.
As illustrated in
In the above equations, only the equation (26) is changed to the equation (26)′. The term (−Kst) of the spring constant in the equation (26) is eliminated. Therefore, all the gains always take positive values. That is, even when the sensor is in a non-contact state (position control), the control loop is a negative feedback. Therefore, the control loop can be stabilized. In this way, without affecting characteristics of the control object in both the pressure control feedback and the position control, stable gains can be obtained.
Application of Low Pass Filter
For example, when the output of the pressure sensor 35 is analog, in order to prevent vibration due to sensor noise, as illustrated in
However, when the cutoff frequency is set to about several tens of Hz (or less), the control path (H) that is added in the present examination becomes an over compensation, and overshoot in the pressure control feedback loop may occur. This is because the low pass filter affects both the control path (H) that is added in the present examination and a path (I) for taking a pressure deviation relative to the high-level pressure command (Tref) and thereby causing the overshoot. Here, the control path (H) has a role of canceling a reaction force against the machine, and the path (I) for taking the pressure deviation determines a capability of following the high-level pressure command (Tref). That is, when delay in the control path (H) is not minimized, the objective cannot be achieved. On the other hand, influence of delay in the path (I) for taking the pressure deviation can also be regarded as lowering a command following gain. Therefore, even when the delay is large, it does not cause a significant problem.
Thus, as illustrated in
Case where Pressure Control Feedback Loop is Shared on High-Level Control Device Side
In the above embodiment, the servo amplifier 1 is a single body and has a three-loop structure that includes the position control feedback loop, the speed control feedback loop and the pressure control feedback loop. However, the present invention is not limited to this. For example, as illustrated in
According to the examination described above, as illustrated in
Further, according to the above examination, the pressure control feedback loop is formed such that a value as a torque command is input to the control object, the value being obtained by multiplying a deviation between the high-level pressure command (Tref) that is externally input and the detected pressure (ForceFB) by the gain (k3) and integrating the resulting value and then subtracting from the resulting value a product of the detected position (PosFB) and the gain (k1) and a product of the detected speed (SpdFB) and the gain (k2) (see
Further, according to the above examination, by setting the gains such that the relation
k1>J·Kst·k3/k2−Kst (5)′
is satisfied, the stability of the pressure control feedback loop with respect to the control object can be ensured.
Further, according to the above examination, by setting the gains such that the relations
k1≈3ω2·−Kst (14)
k2≈3ω·J (15)
k3≈(J/Kst)·ω3 (16)
are satisfied, the optimum values of the gains as functions of one parameter, the response frequency (ω), can be easily set.
Further, according to the above examination, the speed control feedback loop can be additionally extended in which, by multiplying the gain (k2) by the deviation between the detected speed (SpdFB) and the high-level speed command (SpdRef) that is externally input, the detected speed (SpdFB) can be caused to gradually approach the high-level speed command (SpdRef), which is a target speed (see
Further, according to the above examination, the position control feedback loop can be additionally extended in which, by multiplying the gain (k1) by the deviation between the detected position (PosFB) and the high-level position command (PosRef) that is externally input, the detected position (PosFB) can be caused to gradually approach the high-level position command (PosRef), which is a target position (see
Further, according to the above examination, by multiplying the gain (k1) by a result obtained by integrating the deviation between the detected position (PosFB) and the high-level position command (PosRef), a positional displacement due to a steady-state disturbance in the position control feedback loop can be avoided and, for example, application to the multiaxial synchronous control becomes possible (see
Further, according to the above examination, in the speed control feedback loop, by adding the detected pressure (ForceFB) to the torque command and inputting the resulting command to the motor, even when the pressure sensor is in a non-contact state (position control), the position control feedback loop is a negative feedback and is stable (see
Further, according to the above examination, the high-level control device (2A) executes: generating a pressure deviation between the generated high-level pressure command (Tref) and the detected pressure (ForceFB); generating a position correction command by inputting the pressure deviation to the pressure controller ((1/s)·(k3/k1)); and adding the position correction command to the generated highest-level position command (PosRef0) and inputting the resulting command as the high-level position command (PosRef1) to the servo amplifier (1A). As a result, the function of the pressure control feedback loop can be shared on the high-level control device (2A) side. Therefore, the position control and the pressure control can be switched and executed using the common servo amplifier (1A) that is provided with only the position control feedback loop and the speed control feedback loop.
In the above description, “equal” does not mean “equal” in a strict sense. That is, “equal” means “substantially equal” when tolerances and errors in design and in manufacturing are within allowed ranges.
Further, in addition to those already described above, methods according to the above-described embodiment and modified embodiments may also be appropriately combined and utilized.
In order for a pressure control feedback loop to operate stably and with high command responsiveness, it is desirable that various gains be strictly adjusted, and settings of these control gains greatly depend on a block structure of the pressure control feedback loop. In this regard, in the conventional technologies, a block structure of a pressure control feedback loop tends to become complicated and gain adjustment is difficult.
Further, when a position control feedback loop and a pressure control feedback loop, which are separately provided, are switched and utilized, due to differences in block structures and various gains between the two feedback loops, linearity is not maintained. Therefore, depending on some condition, an impact occurs during the switching.
A motor control apparatus according to an embodiment of the present invention, a motor control method according to an embodiment of the present invention and a motor control program according to an embodiment of the present invention allow functional constant pressure control to be realized.
A motor control apparatus that performs pressure control by drive of a motor according to one aspect of the present invention includes a pressure control feedback loop that corresponds to a control object model that is provided with the motor and a pressure sensor. The control object model: outputs, as a detected speed of the motor, a value that is obtained based on an input pressure command, a sensor reaction force, a movable part viscous damping force and a movable part mass, and outputs, as a detected position of the motor, a value that is obtained by integrating the detected speed; uses, as the movable part viscous damping force, a value that is obtained by multiplying the detected speed by a movable part viscous damping coefficient; uses, as a sensor viscous damping pressure, a value that is obtained by multiplying the detected speed by a sensor viscous damping coefficient; uses, as a sensor spring pressure, a value that is obtained by multiplying the detected position by a sensor spring constant; outputs, as a detected pressure of the pressure sensor, a value that is obtained by adding the sensor spring pressure to the sensor viscous damping pressure; and uses, as the sensor reaction force, the detected pressure.
Further, a motor control apparatus for controlling a motor that drives a control object that is provided with a pressure sensor according to another aspect of the present invention includes: a position control feedback loop that inputs, to a position controller, a position deviation between a high-level position command that is externally input and a detected position of the motor, and generates a speed command; a speed control feedback loop that inputs, to a speed controller, a speed deviation between the speed command and an output speed of the motor, and generates a torque command and inputs the torque command to the motor; and a pressure control feedback loop that inputs, to a pressure controller, a pressure deviation between a high-level pressure command that is externally input and a detected pressure that is detected from the pressure sensor, and generates a position correction command and adds the position correction command to the high-level position command.
Further, a motor control method according to another aspect of the present invention, in which the high-level position command and the high-level pressure command are input to a servo amplifier that corresponds to a motor control apparatus, includes: inputting the high-level position command until the pressure sensor is at a position that is close to a planned contact position of the pressure sensor while the high-level pressure command is set to a value that is substantially equal to 0; and, after the pressure sensor is positioned at a proximity position of the planned contact position, inputting the high-level pressure command at a predetermined value while the high-level position command is set to the proximity position.
Further, a motor control program according to another aspect of the present invention, which is executed by a processor that is provided in a high-level control device that inputs the high-level position command and the high-level pressure command to a servo amplifier that corresponds to a motor control apparatus, allows the following to be executed: inputting the high-level position command until the pressure sensor is at a position that is close to a planned contact position of the pressure sensor while the high-level pressure command is set to a value that is substantially equal to 0; and, after the pressure sensor is positioned at a proximity position of the planned contact position, inputting the high-level pressure command at a predetermined value while the high-level position command is set to the proximity position.
Further, a motor control method according to another aspect of the present invention, in which a high-level position command is input to a servo amplifier that has a position control feedback loop and controls a motor, includes: generating a pressure deviation between a generated high-level pressure command and a detected pressure that is detected from a control object that includes the motor; generating a position correction command by inputting the pressure deviation to a pressure controller; and inputting to the servo amplifier a value obtained by adding the position correction command to a generated high-level position command.
Further, a motor control program according to another aspect of the present invention, which is executed by a processor that is provided in a high-level control device that inputs a high-level position command to a servo amplifier that has a position control feedback loop and controls a motor, allows the following to be executed: generating a pressure deviation between a generated high-level pressure command and a detected pressure that is detected from a control object that includes the motor; generating a position correction command by inputting the pressure deviation to a pressure controller; and inputting, to the servo amplifier, a value obtained by adding the position correction command to a generated high-level position command.
According to an embodiment of the present invention, functional constant pressure control becomes possible.
Obviously, numerous modifications and variations of the present invention are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the invention may be practiced otherwise than as specifically described herein.
Number | Date | Country | Kind |
---|---|---|---|
2015-111930 | Jun 2015 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
20120000189 | Wang | Jan 2012 | A1 |
Number | Date | Country |
---|---|---|
10-128812 | May 1998 | JP |
2009-141987 | Jun 2009 | JP |
WO 2011093281 | Aug 2011 | WO |
WO 2012008222 | Jan 2012 | WO |
Entry |
---|
Office Action dated Jun. 1, 2017 in Japanese Patent Application No. 2015-111930 (with Machine English translation). |
Number | Date | Country | |
---|---|---|---|
20160359435 A1 | Dec 2016 | US |