Servo motor controller
10525649 ยท 2020-01-07
Assignee
Inventors
Cpc classification
B30B15/02
PERFORMING OPERATIONS; TRANSPORTING
G05B19/416
PHYSICS
B30B15/148
PERFORMING OPERATIONS; TRANSPORTING
B21D24/10
PERFORMING OPERATIONS; TRANSPORTING
International classification
G05B19/416
PHYSICS
B30B15/00
PERFORMING OPERATIONS; TRANSPORTING
B30B15/14
PERFORMING OPERATIONS; TRANSPORTING
Abstract
A servo motor controller comprises: a position command generation unit; a position detection unit; a position control unit that generates a velocity command for position control based on a position command and a position FB; a force command generation unit that generates a force command for instructing force to be applied to a subject by a driving target; a force detection unit; a force control unit that generates a velocity command for force control based on the force command and a force FB; a selection unit that selects one of the position control and the force control; and a storage unit that stores a force threshold. The selection unit selects one of the velocity commands for the position control and the force control of a smaller value. If the force FB is smaller than the force threshold, the selection unit selects the velocity command for the position control.
Claims
1. A servo motor controller that controls a servo motor to drive a driving target and executes position control for controlling the position of the driving target and force control for controlling force to be applied to a subject by the driving target, the servo motor controller comprising: a position command generation unit that generates a position command for instructing the position of the driving target; a position detection unit that detects the position of the driving target; a position control unit that generates a velocity command for the servo motor for the position control based on the position command generated by the position command generation unit and the position detected by the position detection unit; a force command generation unit that generates a force command for instructing force to be applied to the subject by the driving target; a force detection unit that detects force applied to the subject by the driving target; a force control unit that generates a velocity command for the servo motor for the force control based on the force command generated by the force command generation unit and the force detected by the force detection unit; a selection unit that selects one of the position control and the force control; and a storage unit that stores a force threshold for selection by the selection unit, wherein the selection unit compares the velocity command for the position control generated by the position control unit and the velocity command for the force control generated by the force control unit, and selects one of the velocity commands of a smaller value, and if the force detected by the force detection unit is smaller than the force threshold, the selection unit selects the velocity command for the position control independently of a result of the comparison.
2. The servo motor controller according to claim 1, further comprising: a velocity control unit that generates a torque command for the servo motor based on the velocity command selected by the selection unit; and a filter provided at a stage preceding or subsequent to the velocity control unit, wherein when the selection unit makes a switch from the position control to the force control, the filter smoothens change from the velocity command for the position control to the velocity command for the force control and/or change in a torque command responsive to change to the velocity command.
3. The servo motor controller according to claim 2, wherein the filter includes a first order low-pass filter.
4. The servo motor controller according to claim 1, further comprising a velocity control unit that generates a torque command for the servo motor based on the velocity command selected by the selection unit, wherein the velocity control unit includes an integrator, and a function used by the integrator changes value of the integrator in such a manner that the torque command becomes a continuous torque command when the selection unit makes a switch from the position control to the force control.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
DETAILED DESCRIPTION OF THE INVENTION
(12) Examples of an embodiment of the present invention will be described below by referring to the accompanying drawings. In the drawings, comparable or corresponding elements are given by the same sign.
First Embodiment
(13)
(14) The rivet crimping machine is a device for crimping two metal plates together with a rivet, for example. In the rivet crimping machine, a slide (movable unit) 3 is moved relative to a bolster (fixed unit) 4 to hold a rivet 5 with the slide 3 and the holster 4 and generate force applied to the rivet 5, thereby deforming the rivet 5.
(15) The servo motor controller 1 controls the servo motor 2 to drive the slide (hereinafter called a driving target) 3. For this control, the servo motor controller 1 executes two controls: position control of controlling the position of the driving target 3; and force control of controlling force (pressure) to be applied to the rivet (hereinafter called a subject) 5 by the driving target 3 (first method described above).
(16) As shown in
(17) The position command generation unit 10 generates a position command (position command for position control) for instructing the position of the driving target 3. The position command generation unit 10 generates a position command for the driving target 3 by following a program or an order input from a host controller or an external input device not shown in the drawings, for example.
(18) The position detection unit 12 is an encoder provided at the servo motor 2, for example. The position detection unit 12 detects the rotational position of the servo motor 2. The rotational position of the servo motor 2 corresponds to the position of the driving target 3. Thus, the position detection unit 12 is to detect the position of the driving target 3. The detected position is used as a position feedback (position FB). The position detection unit 12 also functions as a velocity detector and detects the rotational velocity of the servo motor 2. The rotational velocity of the servo motor 2 corresponds to the velocity of the driving target 3. Thus, the position detection unit 12 is to detect the velocity of the driving target 3. The detected velocity is used as a velocity feedback (velocity FB).
(19) The position control unit 14 generates a velocity command for the servo motor 2 for position control based on the position command generated by the position command generation unit 10 and the position FB detected by the position detection unit 12. The position control unit 14 includes a subtractor 15, an amplifier 16, a differentiator 17, and an adder 18.
(20) The subtractor 15 determines position error obtained from the position command generated by the position command generation unit 10 and the position FB detected by the position detection unit 12. The amplifier 16 multiplies the position error determined by the subtractor 15 by a position gain. The differentiator 17 differentiates the position command generated by the position command generation unit 10. The adder 18 adds a feedback value from the amplifier 16 and a feed forward value from the differentiator 17, thereby generating a velocity command for position control.
(21) The force command generation unit 20 generates a force command (force command for force control) for instructing force (pressure) to be applied to the subject 5 by the driving target 3. The force command generation unit 20 generates a force command for the driving target 3 by following a program or an order input from a host controller or an external input device not shown in the drawings, for example.
(22) The force detection unit 22 is a pressure sensor provided at the driving target 3, for example. The force detection unit 22 detects force (pressure) applied to the subject 5 by the driving target 3. The detected force is used as a force feedback (force FB).
(23) The force control unit 24 generates a velocity command for the servo motor 2 for force control based on the force command generated by the force command generation unit 20 and the force FB detected by the force detection unit 22. The force control unit 24 includes a subtractor 25 and an amplifier 26.
(24) The subtractor 25 determines force error obtained from the force command generated by the force command generation unit 20 and the force FB detected by the force detection unit 22. The amplifier 26 multiplies the force error determined by the subtractor 25 by a force gain, thereby generating a velocity command for force control.
(25) The storage unit 30 contains a force threshold stored in advance for selection by the selection unit 40 described later. The storage unit 30 is a rewritable memory such as an EEPROM, for example.
(26) The selection unit 40 selects one of position control and force control, thereby making a switch between position control and force control. More specifically, the selection unit 40 compares the velocity command for position control generated by the position control unit 14 and the velocity command for force control generated by the force control unit 24, and selects one of the velocity commands of a smaller value. At this time, if the force FB detected by the force detection unit 22 is smaller than the force threshold stored in the storage unit 30, the selection unit 40 selects the velocity command for position control independently of a result of the foregoing comparison.
(27) The velocity control unit 50 generates a torque command for the servo motor 2 based on the velocity command selected by the selection unit 40 and the velocity FB detected by the velocity detection unit (position detection unit) 12. The velocity control unit 50 includes a subtractor 51, an amplifier 52, an amplifier 53, an integrator 54, and an adder 55.
(28) The subtractor 51 determines velocity error obtained from the velocity command selected by the selection unit 40 and the velocity FB detected by the position detection unit 12. The amplifier 52 multiplies the velocity error determined by the subtractor 51 by a proportional gain. The amplifier 53 multiplies the velocity error determined by the subtractor 51 by an integral gain. The integrator 54 integrates an output value from the amplifier 53. The adder 55 adds an output value from the amplifier 52 and an output value from the integrator 54, thereby generating a torque command.
(29) The servo motor controller 1 (also, a servo motor controller 1A and a servo motor controller 1B described later) is configured using an arithmetic processor such as a digital signal processor (DSP) or an field-programmable gate array (FPGA), for example. Various functions (position command generation unit 10, position control unit 14, force command generation unit 20, force control unit 24, selection unit 40, velocity control unit 50, and velocity control unit 50B and filter 45 described later) of the servo motor controller 1 (the servo motor controllers 1A and 1B) are realized by execution of predetermined software (program) stored in the storage unit 30, for example. Various functions of the servo motor controller 1 may be realized by cooperation between hardware and software, or only by hardware (electronic circuit).
(30) Operation of selecting a control system (a control method) by the servo motor controller 1 of the first embodiment will be described next by referring to
(31) First, the position detection unit 12 detects the rotational position of the servo motor 2, specifically, the position FB of the driving target 3 (S11). Further, the force detection unit 22 detects the force FB applied to the subject 5 by the driving target 3 (S11).
(32) Next, the position control unit 14 generates a velocity command Vcmd (position) for position control based on position error obtained from a position command generated by the position command generation unit 10 and the position FB (S12). Then, the force control unit 24 generates a velocity command. Vcmd (force) for force control based on force error obtained from a force command generated by the force command generation unit 20 and the force FB (S13).
(33) Next, the selection unit 40 determines whether the force FB is equal to or larger than a force threshold (S14). If the force FB is equal to or larger than the force threshold (YES in S14), the selection unit 40 determines whether the velocity command Vcmd (force) for force control is equal to or smaller in value than the velocity command Vcmd (position) for position control (S15). If the velocity command Vcmd (force) is equal to or smaller in value than the velocity command Vcmd (position) (YES in S15), the selection unit 40 selects the velocity command Vcmd (force) for force control (S16).
(34) If the force FB is determined to be smaller than the force threshold in step S14 (NO in S14), or if the velocity command Vcmd (force) is determined to be larger in value than the velocity command Vcmd (position) in step S15 (NO in S15), the selection unit 40 selects the velocity command Vcmd (position) for position control (S17).
(35) In this way, the selection unit 40 compares the velocity command Vcmd (position) for position control and the velocity command Vcmd (force) for force control, and selects one of the velocity commands of a smaller value (If YES in S15, then S16, or if NO in S15, then S17). If the force FB is smaller than the force threshold, the selection unit 40 selects the velocity command Vcmd (position) for position control independently of a result of the foregoing comparison (if NO in S14, then S17).
(36) Next, the velocity control unit 50 generates a torque command based on velocity error obtained from the selected velocity command and the velocity FB detected by the velocity detection unit (position detection unit) 12, and feeds the servo motor 2 with the generated torque command.
(37) The operation of selecting a control system. (a control method) by the servo motor controller 1 of the first embodiment will be described in more detail next by referring to
(38) In a period from time t0 to time t1, the force FB is equal to zero. Thus, the selection unit 40 selects the velocity command Vcmd (position) for position control independently of a result of the comparison in step S15 (NO in S14, then S17). This makes the driving target 3 approach the subject 5 under position control.
(39) Here, Vcmd (position) and Vcmd (force) are expressed as follows:
Vcmd (position)=(position commandposition FB)position gain+position FF
Vcmd (force)=(force commandforce FB)force gain
Position FF=feed forward obtained by the differentiator 17. In some cases, it becomes impossible to set a high force gain depending on the rigidity of a device or that of the subject 5. In such cases, Vcmd (force) may be reduced to be smaller in value than Vcmd (position), as shown in
(40) When the driving target 3 contacts the subject 5 at the time t1, the force FB is increased and the velocity command Vcmd (force) (error between the force command and the force FB) is reduced in a period from the time t1 to time t2.
(41) When the force FB reaches the force threshold at the time t2 (YES in S14), the selection unit 40 selects one of the velocity command Vcmd (position) for position control and the velocity command Vcmd (force) for force control of a smaller value. As shown in
(42) As shown in
(43) To return the driving target 3 to an initial position, action reverse to that shown in
(44) As described above, in the servo motor controller 1 of this embodiment, the selection unit 40 compares a velocity command for position control and a velocity command for force control, and selects one of the velocity commands of a smaller value. Further, if the force FB is smaller than the force threshold, the selection unit 40 selects the velocity command for position control independently of a result of the comparison between the velocity commands. By doing so, the velocity command for force control smaller in value than the velocity command for position control is not selected before the driving target 3 contacts the subject. This makes it possible to restrict increase in time for the driving target 3 to contact the subject 5. If the velocity command for force control is equal to or smaller in value than the velocity command for position control, the velocity command for position control is switched to the velocity command for force control when the force FB becomes equal to or larger than the force threshold, specifically, while a difference between the velocity command for force control and the velocity command for position control is small. This makes it possible to reduce the occurrence of a mechanical shock during switching of a control system.
Second Embodiment
(45) A second embodiment is intended to reduce the occurrence of a mechanical shock further during switching from position control to force control.
(46)
(47) The filter 45 is provided at a stage preceding the velocity control unit 50, specifically, between the selection unit 40 and the velocity control unit 50. The filter 45 includes a first order low-pass filter. The filter 45 is configured so as to cause an input signal to pass through the low-pass filter when the selection unit 40 makes a switch from position control to force control, and cause an input signal to bypass the low-pass filter in other cases. By doing so, when the selection unit 40 makes a switch from position control to force control, the filter 45 smoothens change from a velocity command for position control to a velocity command for force control (time t2 in
(48) As shown in
(49) The servo motor controller 1A of the second embodiment has advantages comparable to those of the servo motor controller 1 of the first embodiment.
(50) Additionally, the servo motor controller 1A of the second embodiment is capable of reducing change further from a velocity command for position control to a velocity command for force control, making it possible to reduce the occurrence of a mechanical shock further during switching of a control system (a control method).
Third Embodiment
(51) A third embodiment is a different configuration intended to reduce the occurrence of a mechanical shock further during switching from position control to force control.
(52)
(53) The velocity control unit 50B further includes an integrator 54B instead of the integrator 54 in the velocity control unit 50.
(54) The integrator 54B is an integrator capable of changing a function. A function used by the integrator 54B changes value of the integrator 54B so as to generate a continuous torque command when the selection unit 40 makes a switch from position control to force control. If error between a velocity command and the velocity FB is (V1V1fb) and an output from the integrator 54B is 1 during position control, and if error between a velocity command and the velocity FB is (V2V2fb) and an output from the integrator 54B is 2 during force control, for example, a torque command Tcmd1 during position control and a torque command Tcmd2 during force control are expressed by the following formulas:
Tcmd1=(V1V1fb)proportional gain+1
Tcmd2=(V2V2fb)proportional gain+2.
During switching from position control to force control, the output 2 from the integrator 54B may be changed in a manner expressed by the following formula so as to generate a continuous torque command, specifically, so as to satisfy Tcmd2=Tcmd1:
2={Tcmd1(V2V2fb)proportional gain}.
In other words, a function used by the integrator 54B may be changed so as to satisfy the output 2 expressed by the foregoing formula. A torque command generated by the velocity control unit 50B is stored into a storage device such as the storage unit 30. The integrator 54B may acquire the torque command Tcmd1 during previous position control from the storage device for switching from position control to force control.
(55) The servo motor controller 1B of the third embodiment also has advantages comparable to those of the servo motor controller 1 of the first embodiment.
(56) Additionally, the servo motor controller 1B of the third embodiment is capable of reducing change in a torque command further responsive to change from a velocity command for position control to a velocity command for force control, making it possible to reduce the occurrence of a mechanical shock further during switching of a control system (a control method).
(57) The embodiments of the present invention are described above. However, the present invention is not limited to the embodiments described above. The effects described in the embodiments are merely a list of most preferable effects resulting from the present invention. Effects achieved by the present invention are not limited to those described in the embodiments.
(58) For example, in the foregoing embodiments, a controller for a servo motor to drive a slide (movable unit) (driving target) in a rivet crimping machine is described as an example. However, the characteristics of the present invention are further applicable to controllers for servo motors to drive slides in forge rolling machines for pressing, forging, bending, rolling, cutting, crimping (riveting), etc.
EXPLANATION OF REFERENCE NUMERALS
(59) 1, 1A, 1B Servo motor controller 2 Servo motor 3 Slide (driving target) 4 Bolster 5 Rivet (subject) 10 Position command generation unit 12 Position detection unit (velocity detection unit) 14 Position control unit 15 Subtractor 16 Amplifier 17 Differentiator 18 Adder 20 Force command generation unit 22 Force detection unit 24 Force control unit 25 Subtractor 26 Amplifier 30 Storage unit 40 Selection unit 45 Filter 50, 50B velocity control unit 51 Subtractor 52, 53 Amplifier 54, 54B Integrator 55 Adder