CN106919147B - Motor control apparatus - Google Patents

Motor control apparatus Download PDF

Info

Publication number
CN106919147B
CN106919147B CN201611168353.8A CN201611168353A CN106919147B CN 106919147 B CN106919147 B CN 106919147B CN 201611168353 A CN201611168353 A CN 201611168353A CN 106919147 B CN106919147 B CN 106919147B
Authority
CN
China
Prior art keywords
speed
command
outputs
section
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201611168353.8A
Other languages
Chinese (zh)
Other versions
CN106919147A (en
Inventor
沼崎和也
向井康晴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
JTEKT Corp
Original Assignee
JTEKT Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by JTEKT Corp filed Critical JTEKT Corp
Publication of CN106919147A publication Critical patent/CN106919147A/en
Application granted granted Critical
Publication of CN106919147B publication Critical patent/CN106919147B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P6/00Arrangements for controlling synchronous motors or other dynamo-electric motors using electronic commutation dependent on the rotor position; Electronic commutators therefor
    • H02P6/08Arrangements for controlling the speed or torque of a single motor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/416Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration
    • G05B19/4163Adaptive control of feed or cutting velocity
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • G05B13/027Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36521Select by combination of detected force, acceleration, speed, work rate

Abstract

A motor control apparatus includes: a position feedback control unit (11) that outputs a first temporary command speed; a speed feedback control unit (21) that outputs a first temporary command current; a position feedforward control section including a position side input section that outputs a command physical quantity as a position side first output, a first position side weight learning section that changes a position side first weight according to a position deviation, and a position side output section that outputs a value obtained by adding up the first position side product values as a second tentative command speed; and a speed feedforward control section including a speed side input section that outputs the command physical quantity as a speed side first output, a first speed side weight learning section that changes a speed side first weight according to the speed deviation, and a speed side output section that outputs a value obtained by adding up the first speed side product values as a second tentative command current.

Description

Motor control apparatus
Technical Field
The present invention relates to a motor control apparatus that controls the position of a prescribed member (object to be controlled) such as a table or an arm by using an electric motor in a machine tool, a robot, or the like.
Background
For example, japanese patent application publication No. 2009-. The position control apparatus includes: a speed reference model that outputs a speed reference command value; a speed controller (speed feedback unit) that calculates a control amount (current command value) from a deviation between a speed reference command value and an actual speed; and a speed feedforward section that outputs a speed feedforward output signal. Further, the position control apparatus includes: a position reference model that outputs a position reference command value; a position controller (position feedback unit) that calculates a control amount (velocity command value) from a deviation between the position reference command value and the actual position; and a position feedforward section that outputs a position feedforward output signal. Note that the position feedforward section receives a position command value input to the position reference model, and the speed feedforward section receives a speed command value input to the speed reference model.
Further, for example, japanese patent application publication No. 2014-. The integrated intelligent controller includes a fuzzy neural network in a position control system, a fuzzy neural network in a force control system, and a switching section that switches between position control and force control in a continuous manner under hybrid/compliant control of position and force.
Disclosure of Invention
The position control apparatus disclosed in JP 2009-303432A requires a position reference model and a velocity reference model as models of controlled objects. Thus, it is extremely difficult to apply the position control apparatus to a system that is difficult to model due to static friction or the like. Further, since the speed feedforward section receives only the speed command value, the positional deviation cannot be effectively reduced, and the positional deviation has an important influence on the accuracy of the machine tool, the robot, and the like.
The integrated intelligent controller disclosed in JP 2014-6566A uses a fuzzy neural network to smoothly switch between position control and force control during operation of components of an industrial robot or the like that require both position control and force control. However, since these types of control are complicated, it is difficult to apply the integrated intelligent controller to a control system that controls the position of a specified member such as a table of a machine tool or a robot arm with high accuracy.
The present invention provides a motor control apparatus that controls the position of a specified member (controlled object) by using an electric motor and can also reduce positional deviation.
A first aspect of the invention relates to a motor control apparatus configured to control a position of a controlled object by using an electric motor that moves the position of the controlled object and a position detection unit that detects a position related to the electric motor. The motor control apparatus includes: a positional deviation calculation section that calculates a positional deviation, which is a deviation between a commanded position and an actual position of the electric motor, based on a detection signal from the position detection unit; a position feedback control unit that performs feedback control in accordance with the position deviation and outputs a first tentative command speed; a speed deviation calculation section that calculates a speed deviation, which is a deviation between a motor command speed and an actual speed of the electric motor, based on a detection signal from the position detection unit; a speed feedback control section that performs feedback control according to the speed deviation and outputs a first tentative command current; a current output unit that outputs a drive current to the electric motor based on the command current; a position feedforward control unit that performs feedforward control on the basis of a plurality of command physical quantities relating to the movement of the electric motor and outputs a second tentative command speed; a speed addition calculation section that adds the first tentative command speed and the second tentative command speed and outputs a motor command speed of the electric motor; a speed feedforward control unit that performs feedforward control in accordance with the plurality of command physical quantities and outputs a second tentative command current; and a current addition calculation section that adds the first tentative command current and the second tentative command current, and outputs the command current. The position feedforward control section includes: a plurality of position side input sections respectively provided for the command physical quantities, the plurality of position side input sections receiving the command physical quantities and outputting the received command physical quantities as position side first outputs; a first position-side weight learning section that changes position-side first weights, which correspond to the position-side first outputs output from the plurality of position-side input sections, respectively, in accordance with the positional deviation; and a position side output section that outputs, as the second tentative command speed, a value obtained by adding a plurality of first position side product values obtained by multiplying position side first outputs from the plurality of position side input sections by position side first weights respectively corresponding to the position side first outputs. The speed feedforward control unit includes: a plurality of speed side input sections respectively provided for the command physical quantities, the plurality of speed side input sections receiving the command physical quantities and outputting the received command physical quantities as speed side first outputs; a first speed-side weight learning section that changes speed-side first weights, which correspond to the speed-side first outputs output from the plurality of speed-side input sections, respectively, in accordance with the speed deviation; and a speed side output section that outputs, as the second tentative command current, a value obtained by adding a plurality of first speed side product values obtained by multiplying speed side first outputs from the plurality of speed side input sections by speed side first weights respectively corresponding to the speed side first outputs.
In the above aspect, the position feedback control portion is configured to perform feedback control to calculate the first tentative command speed based on the position deviation. Further, the position feedforward control section is configured to perform feedforward control to calculate the second tentative command speed based on the commanded physical quantity, not based on the commanded position. Further, the position feedforward control portion including the first position-side weight learning portion has an appropriate configuration, so that the second tentative command speed for further reducing the positional deviation can be appropriately calculated. The speed feedback control section is configured to perform feedback control to calculate a first tentative command current from the speed deviation. Further, the speed feedforward control section is configured to perform feedforward control to calculate the second tentative command current from the command physical quantity, not from the command speed. Further, the speed feedforward control portion including the first speed-side weight learning portion has an appropriate configuration, so that the second tentative command current for further reducing the positional deviation can be appropriately calculated.
In the motor control apparatus according to the above aspect, the plurality of command physical quantities may include: a commanded speed; commanding an acceleration; a value obtained by adding a value obtained by multiplying the command velocity by the first velocity coefficient and a value obtained by multiplying the command acceleration by the first acceleration coefficient; a value obtained by adding a value obtained by multiplying the command velocity by the second velocity coefficient and a value obtained by multiplying the command acceleration by the second acceleration coefficient; and a value obtained by adding a value obtained by multiplying the command velocity by a third velocity coefficient and a value obtained by multiplying the command acceleration by a third acceleration coefficient, and each of the first velocity coefficient, the first acceleration coefficient, the second velocity coefficient, the second acceleration coefficient, the third velocity coefficient, and the third acceleration coefficient may be a constant.
In the above configuration, the position feedforward control portion and the speed feedforward control portion each receive a command speed, a command acceleration, a command speed × a first speed coefficient + a command acceleration × a first acceleration coefficient, a command speed × a second speed coefficient + a command acceleration × a second acceleration coefficient, a command speed × a third speed coefficient + a command acceleration × a third acceleration coefficient. Thus, appropriate input and appropriate learning for reducing the positional deviation are performed. Therefore, the positional deviation can be further reduced.
In the motor control apparatus according to the above aspect, the plurality of command physical quantities may include: a position as a command position; a commanded speed; commanding an acceleration; a value obtained by adding a value obtained by multiplying the position by a first position coefficient, a value obtained by multiplying the command velocity by a first velocity coefficient, and a value obtained by multiplying the command acceleration by a first acceleration coefficient; a value obtained by adding a value obtained by multiplying the position by a second position coefficient, a value obtained by multiplying the command velocity by a second velocity coefficient, and a value obtained by multiplying the command acceleration by a second acceleration coefficient; and a value obtained by adding a value obtained by multiplying the position by a third position coefficient, a value obtained by multiplying the command velocity by a third velocity coefficient, and a value obtained by multiplying the command acceleration by a third acceleration coefficient; and each of the first position coefficient, the first velocity coefficient, the first acceleration coefficient, the second position coefficient, the second velocity coefficient, the second acceleration coefficient, the third position coefficient, the third velocity coefficient, and the third acceleration coefficient may be a constant.
In the above configuration, the position feedforward control portion and the speed feedforward control portion each receive a command position, a command speed, a command acceleration, a position × first position coefficient + command speed × first speed coefficient + command acceleration × first acceleration coefficient, a position × second position coefficient + command speed × second speed coefficient + command acceleration × second acceleration coefficient, a position × third position coefficient + command speed × third speed coefficient + command acceleration × third acceleration coefficient. Thus, the command position as a more appropriate input is increased to reduce the positional deviation. Therefore, appropriate input and appropriate learning for reducing the positional deviation are performed. Therefore, the positional deviation can be further reduced.
A second aspect of the present invention relates to a motor control apparatus configured to control a position of a controlled object by using an electric motor that moves the position of the controlled object and a position detection unit that detects a position related to the electric motor. The motor control apparatus includes: a positional deviation calculation section that calculates a positional deviation, which is a deviation between a commanded position and an actual position of the electric motor, based on a detection signal from the position detection unit; a position feedback control unit that performs feedback control based on the position deviation and outputs a first tentative command speed; a speed deviation calculation section that calculates a speed deviation, which is a deviation between a motor command speed and an actual speed of the electric motor, based on a detection signal from the position detection unit; a speed feedback control unit that performs feedback control in accordance with the speed deviation and outputs a first provisional command current; a current output unit that outputs a drive current to the electric motor based on the command current; a position feedforward control unit that performs feedforward control on the basis of a plurality of command physical quantities relating to the movement of the electric motor and outputs a second tentative command speed; a speed addition calculation section that adds the first tentative command speed and the second tentative command speed and outputs a motor command speed of the electric motor; a speed feedforward control section that performs feedforward control in accordance with the plurality of command physical quantities and outputs a second tentative command current; and a current addition calculation section that adds the first tentative command current and the second tentative command current, and outputs the command current. The position feedforward control section includes: a plurality of position side input sections respectively provided for the command physical quantities, the plurality of position side input sections receiving the command physical quantities and outputting the received command physical quantities as position side first outputs; a first position-side weight learning section that changes position-side first weights, which correspond to position-side first outputs output from the plurality of position-side input sections, respectively, in accordance with the positional deviation; a plurality of position-side calculation sections each outputting, as a position-side second output, a value obtained by adding a plurality of first position-side product values obtained by multiplying position-side first outputs from the plurality of position-side input sections by position-side first weights respectively corresponding to the position-side first outputs; a second position-side weight learning section that changes position-side second weights, which respectively correspond to the position-side second outputs output from the plurality of position-side calculation sections, according to the position deviation; and a position side output section that outputs, as the second tentative command speed, a value obtained by adding a plurality of second position side product values obtained by multiplying the position side second outputs from the plurality of position side calculation sections by position side second weights respectively corresponding to the position side second outputs. The speed feedforward control unit includes: a plurality of speed side input sections respectively provided for the command physical quantities, the plurality of speed side input sections receiving the command physical quantities and outputting the received command physical quantities as speed side first outputs; a first speed-side weight learning section that changes speed-side first weights, which correspond to speed-side first outputs output from the plurality of speed-side input sections, respectively, according to the speed deviation; a plurality of speed-side calculation sections each outputting, as a speed-side second output, a value obtained by adding a plurality of first speed-side product values obtained by multiplying speed-side first outputs from the plurality of speed-side input sections by speed-side first weights respectively corresponding to the speed-side first outputs; a second speed-side weight learning section that changes speed-side second weights, which respectively correspond to the speed-side second outputs output from the plurality of speed-side calculation sections, according to the speed deviation; and a speed side output section that outputs, as the second tentative command current, a value obtained by adding a plurality of second speed side product values obtained by multiplying the speed side second outputs from the plurality of speed side calculation sections by speed side second weights respectively corresponding to the speed side second outputs.
In the above configuration, in addition to the "first position-side weight learning section (or first speed-side weight learning section) that changes the position-side first weight (or speed-side first weight) in accordance with the position deviation (or speed deviation)" in the above aspect of the present invention, there is provided the "second position-side weight learning section (or second speed-side weight learning section) that changes the position-side second weight (or speed-side second weight) in accordance with the position deviation (or speed deviation)". Thus, appropriate learning for reducing the positional deviation is performed. Therefore, the positional deviation can be further reduced.
In the motor control apparatus according to the above aspect, the plurality of command physical quantities may include a command speed and a command acceleration.
In the above configuration, the position feedforward control portion and the velocity feedforward control portion each receive the command velocity and the command acceleration. Thus, appropriate input and appropriate learning for reducing the positional deviation are performed. Therefore, the positional deviation can be further reduced.
In the motor control apparatus according to the above aspect, the plurality of command physical quantities may include a position as a command position, a command speed, and a command acceleration.
In the above configuration, the position feedforward control portion and the velocity feedforward control portion each receive the command position, the command velocity, and the command acceleration. Thus, appropriate input and appropriate learning for reducing the positional deviation are performed. Therefore, the positional deviation can be further reduced.
Drawings
Features, advantages, and technical and industrial significance of exemplary embodiments of the present invention will be described below with reference to the accompanying drawings, in which like reference numerals refer to like elements, and in which:
fig. 1 is a view showing an example of an appearance of a robot to which a motor control apparatus in a first embodiment is applied;
fig. 2 is a diagram showing an example of the configuration of the motor control apparatus in the first embodiment;
fig. 3 is a conceptual diagram showing a configuration of a neural network in the position feedforward control portion in fig. 2;
fig. 4 is a conceptual diagram showing a configuration of a neural network in the speed feedforward control portion in fig. 2;
fig. 5 is a view showing an example of an appearance of a machine tool to which a motor control apparatus in the second embodiment is applied;
fig. 6 is a diagram showing an example of the configuration of a motor control apparatus in the second embodiment;
fig. 7 is a conceptual diagram showing a configuration of a neural network in the position feedforward control portion in fig. 6;
fig. 8 is a conceptual diagram showing a configuration of a neural network in the speed feedforward control portion in fig. 6;
fig. 9 is a conceptual diagram showing the configuration of a network having a weight learning function in the position feedforward control section in the third embodiment;
fig. 10 is a conceptual diagram showing the configuration of a network having a weight learning function in the speed feedforward control section in the third embodiment;
fig. 11 is a conceptual diagram showing the configuration of a network having a weight learning function in a position feedforward control section in the fourth embodiment; and
fig. 12 is a conceptual diagram showing the configuration of a network having a weight learning function in the speed feedforward control section in the fourth embodiment.
Detailed Description
Embodiments of the present invention will be described below by using the drawings. Note that in the drawings showing the x, y, and z axes, the x, y, and z axes are orthogonal to each other.
The motor control device 92U in the first embodiment will be described as an example of a control device configured to control the robot shown in fig. 1. The robot shown in fig. 1 includes a base 91, a first rotating portion 92, a first swinging portion 93, a second rotating portion 94, a second swinging portion 95, and the like.
The base 91 is provided with an electric motor 91M, and the electric motor 91M includes an encoder 91E (the encoder 91E is an angle detection unit, and may also function as a position detection unit). The electric motor 91M rotates the first rotating portion 92 relative to the base portion 91 based on a drive current from the motor control device 91U. Further, the motor control device 91U detects the rotation angle θ 1 of the first rotating portion 92 based on the detection signal from the encoder 91E.
The first rotating portion 92 is provided with an electric motor 92M, and the electric motor 92M includes an encoder 92E (the encoder 92E is an angle detecting unit, and may also function as a position detecting unit). The electric motor 92M swings the first swinging portion 93 relative to the first rotating portion 92 based on the driving current from the motor control device 92U. Further, the motor control device 92U detects the swing angle θ 2 of the first swing portion 93 based on the detection signal from the encoder 92E.
The first swinging part 93 is provided with an electric motor 93M, and the electric motor 93M includes an encoder 93E (the encoder 93E is an angle detection unit, and may also function as a position detection unit). The electric motor 93M rotates the second rotating portion 94 relative to the first swinging portion 93 based on a drive current from the motor control device 93U. Further, the motor control device 93U detects the rotation angle θ 3 of the second rotating portion 94 based on the detection signal from the encoder 93E.
The second rotating portion 94 is provided with an electric motor 94M, and the electric motor 94M includes an encoder 94E (the encoder 94E is an angle detecting unit, and may also function as a position detecting unit). The electric motor 94M swings the second swinging portion 95 relative to the second rotating portion 94 based on the driving current from the motor control device 94U. Further, the motor control device 94U detects the swing angle θ 4 of the second swing portion 95 based on the detection signal from the encoder 94E.
The robot control device 60 transmits a command position of about θ 1 to the motor control device 91U, a command position of about θ 2 to the motor control device 92U, a command position of about θ 3 to the motor control device 93U, and a command position of about θ 4 to the motor control device 94U.
Hereinafter, the electric motor 92M will be used as an example, and the motor control device 92U that controls the electric motor 92M will be described by using fig. 2 to 4. Note that this also applies to the motor control apparatuses 91U, 93U, and 94U that control the electric motors 91M, 93M, and 94M, respectively, and therefore, description thereof will not be made.
The configuration of the motor control device 92U that controls the electric motor 92M is described by using fig. 2. As shown in fig. 2, the motor control device 92U that controls the electric motor 92M includes: a first control section 41 that receives the commanded position 10in and the actual position 27out and outputs a commanded speed 15 out; a second control section 42 that receives the command speed 15out, the command position 10in, and the actual position 27out, and outputs a command current 25 out; and a current output section 43 that receives the command current 25out and outputs a drive current 31out for driving the electric motor 92M. Note that the command position in this case is the same as the command angle, and the current position (angle) is detected based on the detection signal from the encoder 92E.
The configuration of the first control portion 41 is described by using fig. 2. The first control portion 41 includes: a position deviation calculation unit 10, a position feedback control unit 11, a position side input velocity calculation unit 12, a position side input acceleration calculation unit 13, input normalization units 10S, 12S, and 13S, a position feedforward control unit 14, a velocity addition calculation unit 15, and the like.
The positional deviation calculation unit 10 receives: a command position 10in (in this case, a command (rotation) angle) of the electric motor 92M; and an actual position 27out (an actual position based on the detection signal from the encoder 92E), the actual position 27out being an actual position relating to the electric motor 92M (in this case, the rotation angle of the output shaft of the electric motor 92M), and the positional deviation calculation section 10 calculates and outputs a positional deviation 10out, the positional deviation 10out being a deviation between the command position 10in and the actual position 27 out. Note that the actual position 27out may be calculated from the detection signal from the encoder 92E. Note that, when there is a speed reduction member having a speed reduction ratio "a" between the electric motor 92M and the first swinging part 93, a value obtained by multiplying the command position of the first swinging part 93 as the controlled object by "a" becomes the command position 10in of the electric motor 92M.
The position feedback control section 11 receives the position deviation 10out, performs feedback control in accordance with the received position deviation 10out, and outputs a first temporary command speed 11 out. The position feedback control portion 11 includes at least one of a proportional term (P), an integer term (I), and a differential term (D) of so-called PID control, and outputs a first tentative command speed 11 out. Note that the PID control is similar to the existing control, and thus, a detailed description thereof will not be given.
The position-side input speed calculation section 12 receives the command position 10in as an input position (in this case, the turning angle), and outputs an input speed 12out based on a temporal change of the command position 10in, the input speed 12out being a speed (in this case, the turning angular speed). The input normalization portion 10S normalizes the value of the received command position 10in to a value falling within the range of-1 to 1, and outputs the value. Similarly, the input normalization section 12S normalizes the value of the received input speed 12out to a value falling within the range of-1 to 1, and outputs the value.
The position-side input acceleration calculation section 13 receives the input velocity 12out, and outputs the input acceleration 13out based on a temporal change of the input velocity 12out, the input acceleration 13out being an acceleration (in this case, a rotational angular acceleration). The input normalization portion 13S normalizes the value of the received input acceleration 13out to a value falling within the range of-1 to 1, and outputs the value.
The position feedforward control section 14 receives the command position 10in (input position), the input velocity 12out (command physical quantity), the input acceleration 13out (command physical quantity), and the position deviation 10out, and performs feedforward control in accordance with these inputs, and outputs the second temporary command velocity 14 out. The position feedforward control portion 14 is constituted by a neural network, details of which will be described later.
The speed addition calculation section 15 receives the first tentative command speed 11out and the second tentative command speed 14out, and outputs a command speed 15out (in this case, a command rotational angular speed) obtained by adding the first tentative command speed 11out and the second tentative command speed 14 out.
The configuration of the second control portion 42 is described by using fig. 2. The second control portion 42 includes: a speed deviation calculation unit 20, a speed feedback control unit 21, a speed side input speed calculation unit 22, a speed side input acceleration calculation unit 23, input normalization units 20S, 22S, and 23S, a speed feedforward control unit 24, a current addition calculation unit 25, an actual speed calculation unit 28, and the like.
The speed deviation calculation section 20 receives the command speed 15out and the actual speed 28out (the actual speed based on the detection signal from the encoder 92E), the actual speed 28out being the actual speed (in this case, the rotational angular speed) of the output shaft of the electric motor 92M, and the speed deviation calculation section 20 calculates and outputs the speed deviation 20out, the speed deviation 20out being the deviation between the command speed 15out and the actual speed 28 out. Note that the actual speed calculation section 28 calculates the actual speed 28out from the temporal change of the actual position 27out (in this case, the actual rotation angle) based on the detection signal from the encoder 92E. The actual speed calculation section 28 receives the actual position 27out and outputs the actual speed 28 out.
The speed feedback control section 21 receives the speed deviation 20out, performs feedback control in accordance with the received speed deviation 20out, and outputs the first temporary command current 21 out. The speed feedback control section 21 has at least one of a proportional term (P), an integer term (I), and a differential term (D) of so-called PID control, and outputs a first tentative command current 21 out. Note that the PID control is similar to the existing control, and thus will not be described in detail.
The speed-side input speed calculation section 22 receives the command position 10in as an input position (in this case, the turning angle), and outputs an input speed 22out based on a temporal change of the command position 10in, the input speed 22out being a speed (in this case, the turning angular speed). The input normalizing section 20S normalizes the value of the received command position 10in to a value falling within the range of-1 to 1, and outputs the value. Similarly, the input normalization portion 22S normalizes the value of the received input speed 22out to a value falling within the range of-1 to 1, and outputs the value.
The speed-side input acceleration calculation section 23 receives the input speed 22out, and outputs an input acceleration 23out based on a temporal change of the input speed 22out, the input acceleration 23out being an acceleration (in this case, a rotational angular acceleration). The input normalization portion 23A normalizes the value of the received input acceleration 23out to a value falling within the range of-1 to 1, and outputs the value.
The speed feedforward control section 24 receives the command position 10in (input position), the input speed 22out (command physical quantity), the input acceleration 23out (command physical quantity), and the speed deviation 20out, and performs feedforward control in accordance with these inputs, and outputs the second temporary command current 24 out. The speed feedforward control portion 24 is constituted by a neural network, details of which will be described below.
The current addition calculation section 25 receives the first tentative command current 21out and the second tentative command current 24out, and outputs a command current 25out obtained by adding the first tentative command current 21out and the second tentative command current 24 out.
The configuration of the current output section 43 is described by using fig. 2. The current output unit 43 includes the current deviation calculation unit 30, the current feedback control unit 31, and the like.
The current deviation calculation section 30 receives the command current 25out and the drive current 31out (actual current) which is a current actually output, and calculates and outputs a current deviation 30out, the current deviation 30out being a deviation between the command current 25out and the drive current 31out (actual current).
The current feedback control section 31 receives the current deviation 30out, performs feedback control in accordance with the received current deviation 30out, and outputs a drive current 31out for driving the electric motor 92M. The current feedback control section 31 has at least one of a proportional term (P), an integer term (I), and a differential term (D) of so-called PID control, and outputs a drive current 31 out. Note that the PID control is similar to the existing control, and thus, a detailed description thereof is not given.
Next, the neural network in the position feedforward control portion 14 is described by using fig. 3. The position feedforward control portion 14 includes an input layer 14A, an intermediate layer 14B, an output layer 14C, a first position-side weight learning portion 14D, and a second position-side weight learning portion 14F.
An input layer 14A in the neural network includes a plurality of position side inputs J [1] to J [3 ]. The position side input section J [1] receives a value obtained by normalizing the command position 10in to a value falling within a range of-1 to 1 by the input normalization section 10S. The position side input section J [2] receives a value obtained by normalizing the input speed 12out by the input normalizing section 12S to a value falling within a range of-1 to 1. The position side input section J [3] receives a value obtained by normalizing the input acceleration 13out by the input normalizing section 13S to a value falling within a range of-1 to 1. Hereinafter, the "input position" as the command position input to the position side input section J [1] will be described as the "position θ p". Further, "input speed" input to the position side input portion J [2] is described as "speed Vp". Further, "input acceleration" input to the position side input portion J [3] is described as "acceleration α p". Note that the "position θ p" (command position), "velocity Vp" (command velocity), and "acceleration α p" (command acceleration) described above may be regarded as command physical quantities. The position side input section J [1] outputs the received position θ p as a position side first output 14Aout to each of the position side calculation sections M [1] to M [3 ]. The position side input section J [2] outputs the received velocity Vp as a position side first output 14Aout to each of the position side calculation sections M [1] to M [3 ]. The position side input section J [3] outputs the received acceleration α p to each of the position side calculation sections M [1] to M [3] as a position side first output 14 Aout.
The first position-side weight learning unit 14D has position-side position weights W11 to W13, position-side velocity weights W21 to W23, and position-side acceleration weights W31 to W33 corresponding to the position θ p, the velocity Vp, and the acceleration α p output from the position-side input units J [1] to J [3], respectively. Note that the position-side position weights W11 to W13, the position-side speed weights W21 to W23, and the position-side acceleration weights W31 to W33 correspond to the position-side first weights. The first position-side weight learning unit 14D has the following functions: calculating first position-side product values (θ p × W11, θ p × W12, θ p × W13) obtained by multiplying the position θ p by position-side position weights W11 to W13; calculating first position-side product values (Vp × W21, Vp × W22, Vp × W23) obtained by multiplying the velocity Vp by position-side velocity weights W21 to W23; and calculating first position side product values (α p × W31, α p × W32, α p × W33) obtained by multiplying the acceleration α p by the position side acceleration weights W31 to W33.
Further, the first position-side weight learning section 14D changes (learns) each of the values of the position-side position weights W11 to W13, the position-side velocity weights W21 to W23, and the position-side acceleration weights W31 to W33 in accordance with the position deviation 10out so that the evaluation value in the specified evaluation function approaches the optimum value. For example, the first position-side weight learning section 14D changes (learns) the value of the position-side position weight using an evaluation function having the position-side position weight as the horizontal axis and the square of the position deviation as the vertical axis so that the square of the position deviation is reduced. Note that an evaluation function is provided for each weight. As described above, the first position-side weight learning section 14D has: a storage function for storing position-side position weights W11 to W13, position-side speed weights W21 to W23, and position-side acceleration weights W31 to W33; a changing function for changing (learning) each weight in accordance with the positional deviation; and a multiplication function for multiplying each of the inputs (position θ p, velocity Vp, and acceleration α p) by a corresponding weight.
The intermediate layer 14B in the neural network includes a plurality of position side calculation sections M [1] to M [3 ]. As shown in fig. 3, the position-side calculating unit M [1] adds the first position-side product value (═ θ p × W11), the first position-side product value (═ Vp × W21), and the first position-side product value (═ α p × W31) calculated by the first position-side weight obtaining unit 14D. Similarly to the above, the position-side calculating section M [2] adds the first position-side product value (═ θ p × W12), the first position-side product value (═ Vp × W22), and the first position-side product value (═ α p × W32) calculated by the first position-side weight learning section 14D. Similarly to the above, the position-side calculating section M [3] adds the first position-side product value (═ θ p × W13), the first position-side product value (═ Vp × W23), and the first position-side product value (═ α p × W33) calculated by the first position-side weight learning section 14D. When the inputs as the results of the above additions are y [1] to y [3], the position-side calculation sections M [1] to M [3] convert y [1] to y [3] into values in the range of 0 to 1 using, for example, a sigmoid function, and output these values as the position-side second output 14 Bout.
The second position side weight learning unit 14F has position side output weights X1 to X3 corresponding to the position side second outputs 14Bout from the position side calculation units M [1] to M [3 ]. Note that the position side output weights X1 to X3 may be regarded as position side second weights. The second position-side weight learning unit 14F has the following functions: calculating a second position-side product value obtained by multiplying the output value (position-side second output) from the position-side calculating section M [1] by a position-side output weight X1; calculating a second position-side product value obtained by multiplying the output value (position-side second output) from the position-side calculating section M [2] by a position-side output weight X2; and calculates a second position side product value obtained by multiplying the output value (position side second output) from the position side calculation section M [3] by the position side output weight X3.
Further, the second position-side weight learning section 14F changes (learns) each of the values of the position-side output weights X1 to X3 in accordance with the position deviation 10out so that the evaluation value in the specified evaluation function approaches the optimum value. For example, the second position side weight learning section 14F changes (learns) the value of the position side output weight using an evaluation function having the position side output weight as the horizontal axis and the square of the position deviation as the vertical axis so that the square of the position deviation is reduced. Note that an evaluation function is provided for each weight. As described above, the second position-side weight learning section 14F has: a storage function for storing the position-side output weights X1 to X3; a changing function for changing (learning) each weight in accordance with the positional deviation; and a multiplication function for multiplying each of the inputs (output values from M [1] to M [3]) by a corresponding weight.
The output layer 14C in the neural network includes a position side output portion P [1 ]. The position side output section P [1] receives the following (1) to (3) based on the addition results obtained by the position side calculation sections M [1] to M [3], converts the values obtained by adding the values of (1) to (3) by a prescribed function (e.g., sigmoid function), and outputs the converted values as the second tentative command speed 14 out: (1) a second position side product value (converted value [1] × 1) obtained by multiplying the converted value [1] by the position side output weight X1, the converted value [1] being obtained by converting the addition result (θ p × W11+ Vp × W21+ α p × W31) of the position side calculation section M [1] into a value in the range of 0 to 1 by the sigmoid function; (2) a second position side product value (converted value [2] X2) obtained by multiplying the converted value [2] by the position side output weight X2, the converted value [2] being obtained by converting the addition result (θ p × W12+ Vp × W22+ α p × W32) of the position side calculation section M [2] into a value in the range of 0 to 1 by the sigmoid function; and (3) a second position side product value (converted value [3] X3) obtained by multiplying the converted value [3] by the position side output weight X3, the converted value [3] being obtained by converting the addition result (θ p × W13+ Vp × W23+ α p × W33) of the position side calculation section M [3] into a value in the range of 0 to 1 by the sigmoid function.
Next, the neural network in the speed feedforward control portion 24 is described by using fig. 4. The speed feedforward control portion 24 includes an input layer 24A, an intermediate layer 24B, an output layer 24C, a first speed-side weight learning portion 24D, and a second speed-side weight learning portion 24F.
An input layer 24A in the neural network includes a plurality of speed side inputs K [1] to K [3 ]. The speed side input sections K [1] to K [3] receive inputs similar to those received by the position side input sections J [1] to J [3] in the input layer 14A, respectively. The speed side input section K [1] receives a value obtained by normalizing the command position 10in to a value falling within a range of-1 to 1 by the input normalization section 20S. The speed side input section K [2] receives a value obtained by normalizing the input speed 22out by the input normalizing section 22S to a value falling within a range of-1 to 1. The speed side input section K [3] receives a value obtained by normalizing the input acceleration 23out by the input normalizing section 23S to a value falling within a range of-1 to 1. Hereinafter, the "input position" as the command position input to the speed side input section K [1] will be described as "position θ v". The "input speed" input to speed-side input section K [2] is described as "speed Vv". The "input acceleration" input to the speed side input section K [3] is described as "acceleration α v". One of the features of this embodiment is: the input layer 24A of the speed feedforward control portion 24 receives an input based on the command position 10in (see fig. 2) instead of the command speed 15out (motor command speed) (see fig. 2) of the electric motor. Note that the above-described "position θ v" (command position), "velocity Vv" (command velocity), and "acceleration α v" (command acceleration) may be regarded as command physical quantities. The speed side input section K [1] outputs the received position [ theta ] v as a speed side first output 24Aout to each of the speed side calculation sections N [1] to N [3 ]. The speed side input section K [2] outputs the received speed Vv as a speed side first output 24Aout to each of the speed side calculation sections N [1] to N [3 ]. The speed side input section K [3] outputs the received acceleration α v to each of the speed side calculation sections N [1] to N [3] as a speed side first output 24 Aout.
Similar to the first position-side weight learning section 14D, the first speed-side weight learning section 24D has speed-side position weights U11 to U13, speed-side speed weights U21 to U23, and speed-side acceleration weights U31 to U33 corresponding to the position θ v, the speed Vv, and the acceleration α v output from the speed-side input sections K [1] to K [3], respectively. Note that the speed-side position weights U11 to U13, the speed-side speed weights U21 to U23, and the speed-side acceleration weights U31 to U33 may be regarded as speed-side first weights. The first speed-side weight learning section 24D has the following functions: calculating first speed-side product values (θ v × U11, θ v × U12, θ v × U13) obtained by multiplying the position θ v by speed-side position weights U11 to U13; calculating a first speed-side product value (Vv × U21, Vv × U22, Vv × U23) obtained by multiplying the speed Vv by speed-side speed weights U21 to U23; and calculating first velocity-side product values (α v × U31, α v × U32, α v × U33) obtained by multiplying the acceleration α v by the velocity-side acceleration weights U31 to U33.
Further, the first speed-side weight learning section 24D changes (learns) each of the values of the speed-side position weights U11 to U13, the speed-side speed weights U21 to U23, and the speed-side acceleration weights U31 to U33 in accordance with the speed deviation 20out so that the evaluation value in the specified evaluation function approaches the optimum value. For example, first speed-side weight learning section 24D changes (learns) the value of the speed-side position weight using an evaluation function having the speed-side position weight as the horizontal axis and the square of the speed deviation as the vertical axis so as to reduce the square of the speed deviation. Note that an evaluation function is provided for each weight. As described above, the first speed-side weight learning section 24D has: a storage function for storing speed-side position weights U11 to U13, speed-side speed weights U21 to U23, and speed-side acceleration weights U31 to U33; a changing function for changing (learning) each weight in accordance with the speed deviation; and a multiplication function for multiplying each of the inputs (position θ v, velocity Vv, acceleration α v) by a corresponding weight.
The intermediate layer 24B in the neural network includes a plurality of velocity-side calculation sections N [1] to N [3], similarly to the intermediate layer 14B. As shown in fig. 4, the speed-side calculation section N [1] adds the first speed-side product value (═ θ v × U11), the first speed-side product value (═ Vv × U21), and the first speed-side product value (═ α v × U31) calculated by the first speed-side weight learning section 24D. Similarly to the above, the speed-side calculation section N [2] adds the first speed-side product value (═ θ v × U12), the first speed-side product value (═ Vv × U22), and the first speed-side product value (═ α v × U32) calculated by the first speed-side weight learning section 24D. Similarly to the above, the speed-side calculation section N [3] adds the first speed-side product value (═ θ v × U13), the first speed-side product value (═ Vv × U23), and the first speed-side product value (═ α v × U33) calculated by the first speed-side weight learning section 24D. When the inputs as a result of the above addition are y [1] to y [3], the speed side calculation sections N [1] to N [3] convert y [1] to y [3] into values in the range of 0 to 1 using, for example, a sigmoid function, and output these values as the speed side second output 24 Bout.
The second speed side weight learning section 24F has speed side output weights Y1 through Y3 corresponding to the speed side second outputs 24Bout from the speed side calculation sections N [1] through N [3], respectively. Note that the speed side output weights Y1 to Y3 may be regarded as the speed side second weights. The second speed-side weight learning section 24F has the following functions: calculating a second speed side product value obtained by multiplying the output value (speed side second output) from the speed side calculation section N [1] by a speed side output weight Y1; calculating a second speed side product value obtained by multiplying the output value (speed side second output) from the speed side calculation section N [2] by a speed side output weight Y2; and calculating a second speed side product value obtained by multiplying the output value (speed side second output) from the speed side calculation section N [3] by a speed side output weight Y3.
Further, the second speed side weight learning section 24F changes (learns) each of the values of the speed side output weights Y1 to Y3 in accordance with the speed deviation 20out so that the evaluation value in the specified evaluation function approaches the optimum value. For example, the second speed side weight learning section 24F changes (learns) the value of the speed side output weight using an evaluation function having the speed side output weight as the horizontal axis and the square of the speed deviation as the vertical axis so as to reduce the square of the speed deviation. Note that an evaluation function is provided for each weight. As described above, the second speed-side weight learning section 24F has: a storage function for storing the speed-side output weights Y1 to Y3; a changing function for changing (learning) each weight in accordance with the speed deviation; and a multiplication function for multiplying each of the inputs (output values from N [1] to N [3]) by a corresponding weight.
The output layer 24C in the neural network includes a speed side output Q [1 ]. Similar to the position side output section P [1] of the output layer 14C, the speed side output section Q [1] receives the following (1) to (3) based on the addition results obtained by the speed side calculation sections N [1] to N [3], respectively, converts the values obtained by the value addition of (1) to (3) by a prescribed function (e.g., sigmoid function), and outputs the converted values as the second tentative command current 24 out: (1) a second speed-side product value (converted value [1] × Y1) obtained by multiplying the converted value [1] by the speed-side output weight Y1, the converted value [1] being obtained by converting the addition result (θ v × U11+ Vv × U21+ α v × U31) of the speed-side calculation section N [1] into a value in the range of 0 to 1 by a sigmoid function; (2) a second speed-side product value (converted value [2] × Y2) obtained by multiplying the converted value [2] by the speed-side output weight Y2, the converted value [2] being obtained by converting the addition result (θ v × U12+ Vv × U22+ α v × U32) of the speed-side calculation section N [2] into a value in the range of 0 to 1 by a sigmoid function; and (3) a second speed side product value (converted value [3] × Y3) obtained by multiplying the converted value [3] by the speed side output weight Y3, the converted value [3] being obtained by converting the addition result (θ v × U13+ Vv × U23+ α v × U33) of the speed side calculation section N [3] into a value in the range of 0 to 1 by a sigmoid function.
As described so far, in the first embodiment, the input layer 24A of the speed feedforward control portion 24 receives the command position of the electric motor 92M and the command physical quantity (input speed and input acceleration) based on the change in the command position, instead of the command speed of the electric motor 92M. Thus, the positional deviation is reduced. Further, the input layer 14A of the position feedforward control portion 14 receives the command position of the electric motor 92M and the command physical quantities (input speed and input acceleration) based on the change in the command position. Thus, the positional deviation is reduced. Further, the first position-side weight learning section 14D and the second position-side weight learning section 14F of the position feedforward control section 14 learn from the "position deviation", and the first speed-side weight learning section 24D and the second speed-side weight learning section 24F of the speed feedforward control section 24 learn from the "speed deviation". Thus, the positional deviation and the speed deviation can be further reduced.
Next, the motor control device 82U in the second embodiment will be described as an example of a control device configured to control the machine tool shown in fig. 5. The machine tool shown in fig. 5 includes a bed 71, a spindle table 72, a wheel base 82, and the like. Note that the x-axis, y-axis, and z-axis in fig. 5 are orthogonal to each other, the rotation axis JX of the workpiece W is parallel to the x-axis, the spindle table 72 can reciprocate in the x-axis direction with respect to the bed 71, and the wheel base 82 can reciprocate in the z-axis direction orthogonal to the rotation axis JX of the workpiece W with respect to the bed 71.
The bed 71 is provided with an electric motor 72M, and the electric motor 72M includes an encoder 72E (the encoder 72E is an angle detection unit, and can function as a position detection unit). The electric motor 72M causes the spindle table 72 to reciprocate in the x-axis direction relative to the bed 71 based on a drive current from the motor control device 72U. Further, the motor control device 72U detects the position of the spindle table 72 in the x-axis direction based on the detection signal from the encoder 72E. When the spindle table 72 is moved in the x-axis direction, the position of the grinding wheel 84 relative to the workpiece W is changed in the x-axis direction.
The spindle table 72 is provided with: a spindle base 73D, the spindle base 73D including a spindle 73, a chuck 73C, and an electric motor 73M; and a tailstock 74D, the tailstock 74D including an apex 74. The cylindrical workpiece W is held between the chuck 73C and the center 74, and is rotated by the spindle 73 about a rotation axis JX of the workpiece W parallel to the x-axis. The electric motor 73M rotates the main spindle 73 about the rotation axis JX of the workpiece W based on a drive current from the motor control device 73U. The tip 74 is advanced in the direction of the main shaft 73.
The bed 71 is provided with an electric motor 82M, and the electric motor 82M includes an encoder 82E (the encoder 82E is an angle detection unit, and may also function as a position detection unit). The electric motor 82M causes the grinding wheel base 82 to reciprocate in the z-axis direction relative to the bed 71 based on a drive current from the motor control device 82U. Further, the motor control device 82U detects the position of the grinding wheel base 82 in the z-axis direction based on the detection signal from the encoder 82E. When the grinding wheel base 82 is moved in the z-axis direction, the position of the grinding wheel 84 relative to the workpiece W changes in the z-axis direction.
The wheel base 82 is provided with: an electric motor 84M to which a drive pulley 83A is attached; and a grinding wheel 84, the grinding wheel 84 having a driven wheel 83C attached thereto. The rotational power of the driving pulley 83A is transmitted to the driven pulley 83C through the transmission belt 83B to rotationally drive the grinding wheel 84. The electric motor 84M rotates the grinding wheel 84 based on a drive current from the motor control device 84U.
The machine tool control apparatus 60B transmits a command position (rotation angle) regarding the electric motor 72M, which becomes a command position of the spindle table 72, to the motor control apparatus 72U. The machine tool control device 60B also sends a command position (rotation angle) regarding the electric motor 82M, which becomes a command position of the grinding wheel base 82, to the motor control device 82U. Note that the motor control apparatuses 72U, 82U are motor control apparatuses of the present invention. Hereinafter, the motor control device 82U will be described. The motor control apparatuses 73U, 84U are motor control apparatuses for current amplification, and are not the motor control apparatuses of the present invention. Thus, it will not be described.
Hereinafter, the electric motor 82M will be used as an example, and the motor control apparatus 82U that controls the electric motor 82M will be described by using fig. 6 to 8. Note that the same applies to the motor control device 72U that controls the electric motor 72M, and thus a description thereof will not be made. The electric motor 92M that has been described in the first embodiment (see fig. 1) is one of the electric motors that ultimately control the position of the tip end of the second swinging portion 95 in the three-dimensional space. Meanwhile, the electric motor 82M to be described in the second embodiment (see fig. 5) is one of electric motors that ultimately control the position of the grinding wheel 84 relative to the workpiece W in a two-dimensional plane (x-z plane). In the first embodiment (fig. 1), for example, the force applied to the electric motor 92M by gravity (action of gravity) changes according to the rotation angle of the first swinging part 93. Meanwhile, in the second embodiment (fig. 5), even in the case where, for example, the position of the spindle table 72 is changed, the force applied to the electric motor 72M by gravity (action of gravity) remains the same and constant. For this reason, in the second embodiment, the control block (fig. 2) and the neural network (fig. 3, fig. 4) in the first embodiment can be slightly simplified. Hereinafter, description will be made mainly on the difference from the first embodiment.
The configuration of the motor control device 82U that controls the electric motor 82M is described by using fig. 6. Although the position feedforward control portion 14 in fig. 2 of the first embodiment receives the command position 10in, the position feedforward control portion 14Z in fig. 6 of the second embodiment does not receive the command position. Further, although the speed feedforward control portion 24 in fig. 2 receives the command position 10in, the speed feedforward control portion 24Z in fig. 6 does not receive the command position. The second embodiment differs from the first embodiment in this point. Due to the lack of input of the command position, the configurations of the position feedforward control portion 14Z and the velocity feedforward control portion 24Z are slightly different from those of the position feedforward control portion 14 and the velocity feedforward control portion 24 in the first embodiment. The configuration of the position feedforward control portion 14Z and the velocity feedforward control portion 24Z will be described later. Of course, the reference numerals indicating the electric motor and the encoder are also different from those in the first embodiment. Except for the above-described portions, the control block in the second embodiment is the same as that of the motor control apparatus 92U in the first embodiment shown in fig. 2. Thus, other portions are denoted by the same reference numerals, and will not be described.
The configuration of the neural network in the position feedforward control portion 14Z is described by using fig. 7. As shown in fig. 7, the neural network in the position feedforward control portion 14Z is not provided with the command position 10in fig. 3. Thus, both the position side input section J [1] and the position side calculation section M [1] in FIG. 3 are not provided. Further, the position-side position weights W11 to W13, the position-side speed weight W21, the position-side acceleration weight W31, and the position-side output weight X1 in fig. 3 are not provided.
The position-side calculating unit M [2] adds the first position-side product value (═ Vp × W22) calculated by the first position-side weight obtaining unit 14D to the first position-side product value (═ α p × W32). The position-side calculating unit M [3] adds the first position-side product value (═ Vp × W23) calculated by the first position-side weight obtaining unit 14D to the first position-side product value (═ α p × W33). Note that the operations of the first position-side weight learning section 14D and the second position-side weight learning section 14F are the same as in the first embodiment, and therefore, description thereof is not given.
The position side output section P [1] receives the following (1) and (2) based on the addition results obtained by the position side calculation sections M [2], M [3], respectively, converts the value obtained by adding the values of (1) and (2) by a prescribed function (e.g., sigmoid function), and outputs the converted value as the second tentative command speed 14 out: (1) a second position side product value (converted value [2] X2) obtained by multiplying the converted value [2] by the position side output weight X2, the converted value [2] being obtained by converting the addition result (Vp × W22+ α p × W32) of the position side calculation section M [2] into a value in the range of 0 to 1 by the sigmoid function; and (2) a second position side product value (converted value [3] X3) obtained by multiplying the converted value [3] by the position side output weight X3, the converted value [3] being obtained by converting the addition result (Vp × W23+ α p × W33) of the position side calculation section M [3] into a value in the range of 0 to 1 by the sigmoid function.
The configuration of the neural network in the velocity feedforward control portion 24Z is described by using fig. 8. As shown in fig. 8, the neural network in the velocity feedforward control portion 24Z does not receive the command position 10in fig. 4. Thus, the speed side input section K [1] and the speed side calculation section N [1] in FIG. 4 are not provided. In addition, the velocity-side position weights U11 to U13, the velocity-side velocity weight U21, the velocity-side acceleration weight U31, and the velocity-side output weight Y1 in fig. 4 are not provided.
The speed-side calculation section N [2] adds the first speed-side product value (═ Vv × U22) calculated by the first speed-side weight learning section 24D and the first speed-side product value (═ α v × U32). The speed side calculation section N [3] adds the first speed side product value (Vv × U23) calculated by the first speed side weight learning section 24D and the first speed side product value (α v × U33). Note that the operations of the first speed-side weight learning section 24D and the second speed-side weight learning section 24F are the same as in the first embodiment, and therefore, will not be described.
The speed side output section Q [1] receives the following (1) and (2) based on the addition results obtained by the speed side calculation sections N [2], N [3], respectively, converts the value obtained by adding the values of (1) and (2) by a prescribed function (e.g., sigmoid function), and outputs the converted value as the second tentative command current 24 out: (1) a second speed-side product value (converted value [2] × Y2) obtained by multiplying the converted value [2] by the speed-side output weight Y2, the converted value [2] being obtained by converting the addition result (Vv × U22+ α v × U32) of the speed-side calculation section N [2] into a value in the range of 0 to 1 by a sigmoid function; and (2) a second speed-side product value (converted value [3] x Y3) obtained by multiplying the converted value [3] by the speed-side output weight Y3, the converted value [3] being obtained by converting the addition result (Vv x U23+ α v x U33) of the speed-side calculation section N [3] into a value in the range of 0 to 1 by a sigmoid function.
As described so far, in the second embodiment, the input layer 24A of the speed feedforward control portion 24Z receives the command physical quantities (the input speed and the input acceleration) based on the change in the command position of the electric motor 82M (not the command speed of the electric motor 82M). Thus, the positional deviation is reduced. Further, the input layer 14A of the position feedforward control portion 14Z receives the command physical quantity (input speed and input acceleration) based on the change in the command position of the electric motor 82M. Thus, the positional deviation is reduced. Further, the first position-side weight learning portion 14D and the second position-side weight learning portion 14F of the position feedforward control portion 14Z learn from the "position deviation", and the first speed-side weight learning portion 24D and the second speed-side weight learning portion 24F of the speed feedforward control portion 24Z learn from the "speed deviation". Thus, the positional deviation and the speed deviation can be further reduced.
Note that, in the robot of the first embodiment, the force applied to the electric motor 92M by gravity is changed, for example, according to the swing angle θ 2 of the first swing portion 93. When the action of gravity is changed according to the above-described position (angle), the position feedforward control portion and the speed feedforward control portion need to receive the "input position (command position 10 in)" to further reduce the positional deviation. Meanwhile, in the machine tool of the second embodiment, for example, the force applied to the electric motor 82M by gravity is constant and remains the same regardless of the position in the x-z plane to which the grinding wheel base 82 is moved. When the action of gravity does not vary according to the position (angle) as described above, the position feedforward control portion and the speed feedforward control portion do not need to receive the "input position (command position 10 in)".
Next, a motor control apparatus in a third embodiment will be described. The configuration of the control block of the motor control apparatus in the third embodiment is the same as that in the first embodiment shown in fig. 2. However, the control block in the third embodiment differs from the control block in the first embodiment in the following respects: the configuration on the inner side of the position feedforward control portion 14 and the speed feedforward control portion 24 is changed from the configuration shown in fig. 3 and 4 to the configuration shown in fig. 9 and 10 (i.e., from a neural network to a network having a weight learning function). The rest of the configuration is the same. Hereinafter, the change point will be mainly described.
The configuration of the network having the weight learning function in the position feedforward control section 14 will be described using fig. 9. As shown in fig. 9, the position feedforward control unit 14 in the third embodiment includes: an input layer 14AA, an output layer 14CA, and a first position-side weight acquisition unit 14 FA. The position feedforward control section 14 in the third embodiment shown in fig. 9 includes an input layer 14AA and an output layer 14CA as in the first embodiment. However, the intermediate layer 14B (see fig. 3) is not provided, and the input layer 14AA is more complicated than the input layer 14A in the first embodiment.
An input layer 14AA in a network having a weight learning function includes a plurality of position side input sections JA [1] to JA [6 ]. Similar to the position side input section J [1] in the first embodiment shown in fig. 3, the position side input section JA [1] receives a value obtained by normalizing the command position 10in to a value falling within a range of-1 to 1 by the input normalization section 10S. Similar to the position side input section J [2] in the first embodiment shown in fig. 3, the position side input section JA [2] receives a value obtained by normalizing the input velocity 12out to a value falling within a range of-1 to 1 by the input normalization section 12S. The position side input section JA [3] receives a value obtained by normalizing the input acceleration 13out to a value falling within a range of-1 to 1 by the input normalizing section 13S, similarly to the position side input section J [3] in the first embodiment shown in fig. 3. Hereinafter, the "input position" as the command position input to the position side input section JA [1] will be described as "position θ p". Further, "input speed" input to the position side input portion JA [2] is described as "speed Vp". Further, "input acceleration" input to the position side input portion JA [3] is described as "acceleration α p". The position side input unit JA [1] outputs a position θ p, the position side input unit JA [2] outputs a velocity Vp, and the position side input unit JA [3] outputs an acceleration α p. Note that the "position θ p" (command position), "velocity Vp" (command velocity), and "acceleration α p" (command acceleration) described above may be regarded as command physical quantities. The position side input section JA [1] outputs the received position θ p to the position side output section PA [1] as a position side first output 14 AAout. The position side input section JA [2] outputs the received velocity Vp to the position side output section PA [1] as a position side first output 14 AAout. The position side input section JA [3] outputs the received acceleration α p to the position side output section PA [1] as a position side first output 14 AAout.
The position side input section JA [4] receives an output from the input conversion section 14a1 that has received the position θ p, the velocity Vp, and the acceleration α p. A position-side position coefficient a11 (which may be regarded as a constant of the first position coefficient) multiplied by the position θ p, a position-side velocity coefficient b11 (which may be regarded as a constant of the first velocity coefficient) multiplied by the velocity Vp, and a position-side acceleration coefficient c11 (which may be regarded as a constant of the first acceleration coefficient) multiplied by the acceleration α p are provided in the input conversion section 14a 1. The input conversion section 14a1 outputs a11 · θ p + b11 · Vp + c11 · α p (position-side input conversion amount) in which a11 · θ p (position-side position-related amount) obtained by multiplying the position θ p by a position-side position coefficient a11, b11 · Vp (position-side velocity-related amount) obtained by multiplying the velocity Vp by a position-side velocity coefficient b11, and c11 · α p (position-side acceleration-related amount) obtained by multiplying the acceleration α p by a position-side acceleration coefficient c11 are added. Then, the position side input section JA [4] outputs a11 · θ p + b11 · Vp + c11 · α p (position side input conversion amount) input as a command physical amount as a position side first output.
Similarly, the position side input section JA [5] receives an output from the input conversion section 14a 2. A position-side position coefficient a12 (which may be regarded as a constant of the second position coefficient), a position-side velocity coefficient b12 (which may be regarded as a constant of the second velocity coefficient), and a position-side acceleration coefficient c12 (which may be regarded as a constant of the second acceleration coefficient) are provided in the input conversion section 14a2, and the input conversion section 14a2 outputs a12 · θ p + b12 · Vp + c12 · α p. Then, the position side input section JA [5] outputs a12 · θ p + b12 · Vp + c12 · α p, which is input as a command physical quantity, as a position side first output. Similarly, the position side input section JA [6] receives an output from the input conversion section 14a 3. A position-side position coefficient a13 (which may be regarded as a constant of the third position coefficient), a position-side velocity coefficient b13 (which may be regarded as a constant of the third velocity coefficient), and a position-side acceleration coefficient c13 (which may be regarded as a constant of the third acceleration coefficient) are provided in the input conversion section 14A3, and the input conversion section 14A3 outputs a13 · θ p + b13 · Vp + c13 · α p. Then, the position side input section JA [6] outputs a13 · θ p + b13 · Vp + c13 · α p, which is input as a command physical quantity, as a position side first output. Note that the number of JA [4] to JA [6] is not limited to 3, and each of JA [4] to JA [6] includes an input conversion section (14A1, etc.) at the previous stage. When the number is larger than 3, the function in the third embodiment approaches the function equivalent to that in the first embodiment.
The first position side weight learning section 14FA has position side output weights XA1 to XA6 corresponding to the position side input sections JA [1] to JA [6], respectively. Note that the position side output weights XA1 to XA6 may be regarded as position side first weights. The first position-side weight learning unit 14FA calculates: a first position side product value obtained by multiplying the position θ p output from JA [1] by a position side output weight XA 1; a first position side product value obtained by multiplying the velocity Vp output from JA [2] by the position side output weight XA 2; and a first position side product value obtained by multiplying the acceleration α p output from JA [3] by the position side output weight XA 3. Further, the first position-side weight learning unit 14FA calculates: a first position side product value obtained by multiplying the position side first output (a11 · θ p + b11 · Vp + c11 · α p) output from JA [4] by a position side output weight XA 4; a first position side product value obtained by multiplying the position side first output (a12 · θ p + b12 · Vp + c12 · α p) output from JA [5] by a position side output weight XA 5; and a first position side product value obtained by multiplying the position side first output (a13 · θ p + b13 · Vp + c13 · α p) output from JA [6] by the position side output weight XA 6. Then, the first position-side weight learning section 14FA outputs each of the calculated first position-side product values to the output layer 14 CA.
Further, the first position-side weight learning section 14FA changes (learns) each of the values of the position-side output weights XA1 to XA6 in accordance with the position deviation 10out so that the evaluation value in the specified evaluation function approaches the optimum value. For example, the first position-side weight learning section 14FA changes (learns) the value of the position-side output weight using an evaluation function having the position-side output weight as the horizontal axis and the square of the position deviation as the vertical axis so that the square of the position deviation is reduced. Note that an evaluation function is provided for each weight. As described above, the first position-side weight learning section 14FA has: a storing function for storing the position-side output weights XA1 to XA 6; a changing function for changing (learning) each weight in accordance with the positional deviation; and a multiplication function for multiplying each of the inputs (output values from JA [1] to JA [6 ]) by a corresponding weight.
The output layer 14CA in the network having the weight learning function includes a position side output section PA [1 ]. The position side output section PA [1] receives the following (1) to (6), converts a value obtained by adding the values of (1) to (6) by a prescribed function (e.g., sigmoid function), and outputs the converted value as the second tentative command speed 14 out: (1) a first position side product value (θ p × XA1) obtained by multiplying the output (θ p) of the position side input section JA [1] by the position side output weight XA 1; (2) a first position side product value (Vp x XA2) obtained by multiplying the output (Vp) of the position side input section JA [2] by the position side output weight XA 2; (3) a first position side product value (α p × XA3) obtained by multiplying the output (α p) of the position side input section JA [3] by a position side output weight XA 3; (4) a first position-side product value [ (a11 · θ p + b11 · Vp + c11 · α p) × XA4] obtained by multiplying the output (a11 · θ p + b11 · Vp + c11 · α p) of the position-side input section JA [4] by the position-side output weight XA 4; (5) a first position-side product value [ (a12 · θ p + b12 · Vp + c12 · α p) × XA5] obtained by multiplying the output (a12 · θ p + b12 · Vp + c12 · α p) of the position-side input section JA [5] by the position-side output weight XA 5; and (6) a first position-side product value [ (a13 · θ p + b13 · Vp + c13 · α p) × XA6] obtained by multiplying the output (a13 · θ p + b13 · Vp + c13 · α p) of the position-side input section JA [6] by the position-side output weight XA 6;
the configuration of the network having the weight learning function in the speed feedforward control portion 24 is described by using fig. 10. As shown in fig. 10, the speed feedforward control unit 24 in the third embodiment includes: an input layer 24AA, an output layer 24CA, and a first speed-side weight learning section 24 FA. The speed feedforward control section 24 in the third embodiment shown in fig. 10 includes an input layer 24AA and an output layer 24CA as in the first embodiment. However, the intermediate layer 24B (see fig. 4) is not provided, and the input layer 24AA is more complicated than the input layer 24A in the first embodiment.
An input layer 24AA in a network having a weight learning function includes a plurality of speed side inputs KA [1] to KA [6 ]. The speed side input portions KA [1] to KA [6] receive inputs similar to those received by the position side input portions JA [1] to JA [6] in the input layer 14AA, respectively. Similar to the speed side input section K [1] in the first embodiment shown in fig. 4, the speed side input section KA [1] receives a value obtained by normalizing the command position 10in to a value falling within a range of-1 to 1 by the input normalization section 20S. Similar to the speed side input section K [2] in the first embodiment shown in fig. 4, the speed side input section KA [2] receives a value obtained by normalizing the input speed 22out by the input normalizing section 22S to a value falling within the range of-1 to 1. Similar to the speed side input section K [3] in the first embodiment shown in fig. 4, the speed side input section KA [3] receives a value obtained by normalizing the input acceleration 23out by the input normalizing section 23S to a value falling within the range of-1 to 1. Hereinafter, the "input position" as the command position input to the speed side input section KA [1] will be described as "position θ v". Further, "input speed" input to the speed side input section KA [2] is described as "speed Vv". Further, "input acceleration" input to the speed side input section KA [3] is described as "acceleration α v". The speed side input section KA [1] outputs a position θ v, the speed side input section KA [2] outputs a speed Vv, and the speed side input section KA [3] outputs an acceleration α v. Note that the above-described "position θ v" (command position), "velocity Vv" (command velocity), and "acceleration α v" (command acceleration) may be regarded as command physical quantities. The speed side input section KA [1] outputs the received position θ v to the speed side output section QA [1] as a speed side first output 24 AAout. The speed side input section KA [2] outputs the received speed Vv to the speed side output section QA [1] as a speed side first output 24 AAout. The speed side input section KA [3] outputs the received acceleration α v to the speed side output section QA [1] as a speed side first output 24 AAout.
The speed side input section KA [4] receives an output from the input conversion section 24A1 which has received the position θ v, the speed Vv and the acceleration α v. A speed-side position coefficient a21 (which may be regarded as a constant of the first position coefficient) multiplied by the position θ v, a speed-side speed coefficient b21 (which may be regarded as a constant of the first speed coefficient) multiplied by the speed Vv, and a speed-side acceleration coefficient c21 (which may be regarded as a constant of the first acceleration coefficient) multiplied by the acceleration α v are provided in the input conversion section 24a 1. The input conversion section 24a1 outputs a21 · θ v + b21 · Vv + c21 · α v (speed-side input conversion amount) in which a2l · θ v (speed-side position-related amount) obtained by multiplying the position θ v by a speed-side position coefficient a21, b21 · Vv (speed-side speed-related amount) obtained by multiplying the speed Vv by a speed-side speed coefficient b21, and c21 · α v (speed-side acceleration-related amount) obtained by multiplying the acceleration α v by a speed-side acceleration coefficient c21 are added. Then, the speed side input section KA [4] outputs a21 · θ v + b21 · Vv + c21 · α v (speed side input conversion amount) input as a command physical quantity as a speed side first output.
Similarly, the speed side input KA [5] receives output from the input conversion section 24A 2. A speed-side position coefficient a22 (which may be regarded as a constant of the second position coefficient), a speed-side speed coefficient b22 (which may be regarded as a constant of the second speed coefficient), and a speed-side acceleration coefficient c22 (which may be regarded as a constant of the second acceleration coefficient) are provided in the input conversion section 24a 2. The input conversion section 24a2 outputs a22 · θ v + b22 · Vv + c22 · α v. Then, the speed side input section KA [5] outputs a22 · θ v + b22 · Vv + c22 · α v, which is input as a command physical quantity, as a speed side first output. Similarly, the speed side input KA [6] receives output from the input conversion section 24A 3. A velocity-side position coefficient a33 (which may be regarded as a constant of the third position coefficient), a velocity-side velocity coefficient b33 (which may be regarded as a constant of the third velocity coefficient), and a velocity-side acceleration coefficient c33 (which may be regarded as a constant of the third acceleration coefficient) are provided in the input conversion section 24a 3. The input conversion section 24a3 outputs a33 · θ v + b33 · Vv + c33 · α v. Then, the speed side input section KA [6] outputs a33 · θ v + b33 · Vv + c33 · α v, which is input as a command physical quantity, as a speed side first output. Note that the number of KA 4 to KA 6 is not limited to 3, and may be any number equal to or greater than 1, each of KA 4 to KA 6 including an input conversion portion (24a1 or the like) at a preceding stage. One of the features of this embodiment is: the input layer 24AA of the speed feedforward control portion 24 receives an input based on the command position 10in, instead of the input based on the command speed 15out (motor command speed) of the electric motor.
The first speed side weight learning section 24FA has speed side output weights YA1 to YA6 corresponding to the speed side input sections KA [1] to KA [6], respectively. Note that the speed-side output weights YA1 through YA6 may be regarded as speed-side first weights. The first speed-side weight learning section 24FA calculates: a first speed side product value obtained by multiplying the position θ v output from KA [1] by the speed side output weight YA 1; a first speed side product value obtained by multiplying the speed Vv output from KA [2] by a speed side output weight YA 2; and a first speed side product value obtained by multiplying the acceleration α v output from KA [3] by the speed side output weight YA 3. Further, the first speed-side weight learning section 24FA calculates: a first speed side product value obtained by multiplying a speed side first output (a21 · θ v + b21 · Vv + c21 · α v) output from KA [4] by a speed side output weight YA 4; a first speed side product value obtained by multiplying a speed side first output (a22 · θ v + b22 · Vv + c22 · α v) output from KA [5] by a speed side output weight YA 5; and a first speed side product value obtained by multiplying a speed side first output (a33 · θ v + b33 · Vv + c33 · α v) output from KA [6] by a speed side output weight YA 6. Then, the first speed side weight learning section 24FA outputs each of the calculated first speed side product values to the output layer 24 CA.
Further, the first speed-side weight learning section 24FA changes (learns) each of the values of the speed-side output weights YA1 to YA6 in accordance with the speed deviation 20out so that the evaluation value in the specified evaluation function approaches the optimum value. For example, the first speed side weight learning section 24FA changes (learns) the value of the speed side output weight using an evaluation function having the speed side output weight as the horizontal axis and the square of the speed deviation as the vertical axis so that the square of the speed deviation is reduced. Note that an evaluation function is provided for each weight. As described above, the first speed-side weight learning section 24FA has: a storage function for storing the speed-side output weights YA1 to YA 6; a changing function for changing (learning) each weight in accordance with the speed deviation; and a multiplication function for multiplying each of the inputs (output values from KA [1] to KA [6 ]) by a corresponding weight.
The output layer 24CA in the network having the weight learning function includes a speed side output part QA [1 ]. The speed side output section QA [1] receives the following (1) to (6), converts the values obtained by adding the values of (1) to (6) by a prescribed function (e.g., sigmoid function), and outputs the converted values as the second tentative command current 24 out: (1) a first speed side product value (θ v × YA1) obtained by multiplying the output (θ v) of the speed side input section KA [1] by the speed side output weight YA 1; (2) a first speed-side product value (Vv × YA2) obtained by multiplying the output (Vv) of the speed-side input section KA [2] by a speed-side output weight YA 2; (3) a first speed side product value (α v × YA3) obtained by multiplying the output (α v) of the speed side input section KA [3] by the speed side output weight YA 3; (4) a first speed-side product value [ (a21 · θ v + b21 · Vv + c21 · α v) × YA4] obtained by multiplying the output (a21 · θ v + b21 · Vv + c21 · α v) of the speed-side input section KA [4] by the speed-side output weight YA 4; (5) a first speed-side product value [ (a22 · θ v + b22 · Vv + c22 · α v) × YA5] obtained by multiplying the output (a22 · θ v + b22 · Vv + c22 · α v) of the speed-side input section KA [5] by the speed-side output weight YA 5; and (6) a first speed-side product value [ (a23 · θ v + b23 · Vv + c23 · α v) × YA6] obtained by multiplying the output (a23 · θ v + b23 · Vv + c23 · α v) of the speed-side input section KA [6] by the speed-side output weight YA 6.
As described so far, in the third embodiment, the input layer 24AA of the speed feedforward control portion 24 receives the command position of the electric motor 92M and the command physical quantities (input speed and input acceleration) based on the change in the command position (not the command speed of the electric motor 92M). Thus, the positional deviation is reduced. Further, the input layer 14AA of the position feedforward control portion 14 receives the command position of the electric motor 92M and the command physical quantity (input speed and input acceleration) based on the change in the command position. Thus, the speed deviation is reduced. The first position-side weight learning unit 14FA of the position feedforward control unit 14 learns from the "position deviation", and the first speed-side weight learning unit 24FA of the speed feedforward control unit 24 learns from the "speed deviation". Thus, the positional deviation and the speed deviation can be further reduced. Further, the position feedforward control section and the speed feedforward control section can be simplified in the third embodiment as compared with the first embodiment.
Next, a motor control apparatus in a fourth embodiment will be described. The configuration of the control block of the motor control apparatus in the fourth embodiment is the same as that in the second embodiment shown in fig. 6. However, the control block in the fourth embodiment differs from the second embodiment in the following respects: the configuration of the inner side of the position feedforward control portion 14Z and the velocity feedforward control portion 24Z is changed from the configuration shown in fig. 7 and 8 to the configuration shown in fig. 11 and 12 (i.e., from a neural network to a network having a weight learning function). The rest of the configuration is the same. Note that the configuration in the fourth embodiment shown in fig. 11 and 12 differs from that of the third embodiment shown in fig. 9 and 10in the following respects: the command position 10in and the portion related to the command position 10in are not provided. Hereinafter, the same parts are denoted by the same reference numerals, and are not described. The change point will be mainly described.
The configuration of the network having the weight learning function in the position feedforward control portion 14Z is described by using fig. 11. As shown in fig. 11, the network having the weight learning function in the position feedforward control portion 14Z is not provided with the command position 10 in. Thus, the position side input section JA [1] and the position side output weight XA1 are not provided.
A position side velocity coefficient b11 (which may be regarded as a constant of the first velocity coefficient) and a position side acceleration coefficient c11 (which may be regarded as a constant of the first acceleration coefficient) are provided in the input conversion section 14a 1. The input conversion section 14a1 outputs b11 · Vp + c11 · α p. Then, the position side input section JA [4] outputs b11 · Vp + c11 · α p, which is input as a command physical quantity, as a position side first output. A position side speed coefficient b12 (which may be regarded as a constant of the second speed coefficient) and a position side acceleration coefficient c12 (which may be regarded as a constant of the second acceleration coefficient) are provided in the input conversion section 14a 2. The input conversion section 14a2 outputs b12 · Vp + c12 · α p. Then, the position side input section JA [5] outputs b12 · Vp + c12 · α p, which is input as a command physical quantity, as a position side first output. A position side velocity coefficient b13 (which may be regarded as a constant of the third velocity coefficient) and a position side acceleration coefficient c13 (which may be regarded as a constant of the third acceleration coefficient) are provided in the input conversion section 14a 3. The input conversion section 14a3 outputs b13 · Vp + c13 · α p. Then, the position side input section JA [6] outputs b13 · Vp + c13 · α p, which is input as a command physical quantity, as a position side first output. Note that the number of JA [4] to JA [6] is not limited to 3, and each of JA [4] to JA [6] includes an input conversion section (14A1, etc.) at the previous stage. When the number is larger than 3, the function in the fourth embodiment approaches the function equivalent to that in the second embodiment.
The first position side weight learning section 14FA has position side output weights XA2 to XA6 corresponding to the position side input sections JA [2] to JA [6], respectively. Note that the position side output weights XA2 to XA6 may be regarded as position side first weights. The first position-side weight learning unit 14FA calculates: a first position side product value obtained by multiplying the velocity Vp output from JA [2] by the position side output weight XA 2; and a first position side product value obtained by multiplying the acceleration α p output from JA [3] by the position side output weight XA 3. Further, the first position-side weight learning unit 14FA calculates: a first position side product value obtained by multiplying the position side first output (b11 · Vp + c11 · α p) output from JA [4] by a position side output weight XA 4; a first position side product value obtained by multiplying the position side first output (b12 · Vp + c12 · α p) output from JA [5] by a position side output weight XA 5; and a first position side product value obtained by multiplying the position side first output (b13 · Vp + c13 · α p) output from JA [6] by the position side output weight XA 6. Then, the first position-side weight learning section 14FA outputs each of the calculated first position-side product values to the output layer 14 CA. Note that the learning operation of the first position side weight learning section 14FA is the same as that in the third embodiment, and therefore, description thereof is not given.
The output layer 14CA in the network having the weight learning function includes a position side output section PA [1 ]. The position side output section PA [1] receives the following (1) to (5), converts a value obtained by adding the values of (1) to (5) by a prescribed function (e.g., sigmoid function), and outputs the converted value as the second tentative command speed 14 out: (1) a first position side product value (Vp x XA2) obtained by multiplying the output (Vp) of the position side input section JA [2] by the position side output weight XA 2; (2) a first position side product value (α p × XA3) obtained by multiplying the output (α p) of the position side input section JA [3] by a position side output weight XA 3; (3) a first position-side product value [ (b11 · Vp + c11 · α p) × XA4] obtained by multiplying the output (b11 · Vp + c11 · α p) of the position-side input section JA [4] by the position-side output weight XA 4; (4) a first position-side product value [ (b12 · Vp + c12 · α p) × XA5] obtained by multiplying the output (b12 · Vp + c12 · α p) of the position-side input section JA [5] by the position-side output weight XA 5; and (5) a first position-side product value [ (b13 · Vp + c13 · α p) × XA6] obtained by multiplying the output (b13 · Vp + c13 · α p) of the position-side input section JA [6] by the position-side output weight XA 6.
The configuration of the network having the weight learning function in the velocity feedforward control portion 24Z is described by using fig. 12. As shown in fig. 12, the network having the weight learning function in the speed feedforward control portion 24Z is not provided with the command position 10in fig. 10. Thus, the speed side input section KA [1] in fig. 10 and the speed side output weight YA1 in fig. 10 are not set.
A speed side speed coefficient b21 (which may be regarded as a constant of the first speed coefficient) and a speed side acceleration coefficient c21 (which may be regarded as a constant of the first acceleration coefficient) are provided in the input conversion section 24a 1. The input conversion section 24a1 outputs b21 · Vv + c21 · α v. Then, the speed side input section KA [4] outputs b21 Vv + c 21. alpha.v inputted as a command physical quantity as a speed side first output. A speed-side speed coefficient b22 (which may be regarded as a constant of the second speed coefficient) and a speed-side acceleration coefficient c22 (which may be regarded as a constant of the second acceleration coefficient) are provided in the input conversion section 24a 2. The input conversion section 24a2 outputs b22 · Vv + c22 · α v. Then, the speed side input section KA [5] outputs b22 Vv + c 22. alpha. v inputted as a command physical quantity as a speed side first output. A speed-side speed coefficient b23 (which may be regarded as a constant of the third speed coefficient) and a speed-side acceleration coefficient c23 (which may be regarded as a constant of the third acceleration coefficient) are provided in the input conversion section 24a 3. The input conversion section 24a3 outputs b23 · Vv + c23 · α v. Then, the speed side input section KA [6] outputs b23 · Vv + c23 · α v, which is input as a command physical quantity, as a speed side first output. Note that the number of KA 4 to KA 6 is not limited to 3, and each of KA 4 to KA 6 includes an input conversion section (24a1 or the like) at the previous stage. When the number is larger than 3, the function in the fourth embodiment approaches the function equivalent to that in the second embodiment.
The first speed side weight learning section 24FA has speed side output weights YA2 to YA6 corresponding to the speed side input sections KA [2] to KA [6], respectively. Note that the speed-side output weights YA2 through YA6 may be regarded as speed-side first weights. The first speed-side weight learning section 24FA calculates: a first speed side product value obtained by multiplying the speed Vv output from KA [2] by a speed side output weight YA 2; and a first speed side product value obtained by multiplying the acceleration α v output from KA [3] by the speed side output weight YA 3. Further, the first speed-side weight learning section 24FA calculates: a first speed side product value obtained by multiplying a speed side first output (b21 Vv + c21 · α v) output from KA [4] by a speed side output weight YA 4; a first speed side product value obtained by multiplying a speed side first output (b22 Vv + c22 · α v) output from KA [5] by a speed side output weight YA 5; and a first speed side product value obtained by multiplying a speed side first output (b 23-Vv + c 23- α v) output from KA [6] by a speed side output weight YA 6. Then, the first speed side weight learning section 24FA outputs each of the calculated first speed side product values to the output layer 24 CA. Note that the learning operation of the first speed side weight learning section 24FA is the same as that in the third embodiment, and therefore, description thereof is not given.
The output layer 24CA in the network having the weight learning function includes a speed side output part QA [1 ]. The speed side output section QA [1] receives the following (1) to (5), converts the values obtained by adding the values of (1) to (5) by a prescribed function (e.g., sigmoid function), and outputs the converted values as the second tentative command current 24 out: (1) a first speed-side product value (Vv × YA2) obtained by multiplying the output (Vv) of the speed-side input section KA [2] by a speed-side output weight YA 2; (2) a first speed side product value (α v × YA3) obtained by multiplying the output (α v) of the speed side input section KA [3] by the speed side output weight YA 3; (3) a first speed-side product value [ (b21 · Vv + c21 · α v) × YA4] obtained by multiplying the output (b21 · Vv + c21 · α v) of the speed-side input section KA [4] by the speed-side output weight YA 4; (4) a first speed-side product value [ (b22 · Vv + c22 · α v) × YA5] obtained by multiplying the output (b22 · Vv + c22 · α v) of the speed-side input section KA [5] by the speed-side output weight YA 5; and (5) a first speed-side product value [ (b23 Vv + c23 · α v) × YA6] obtained by multiplying the output (b23 · Vv + c23 · α v) of the speed-side input section KA [6] by the speed-side output weight YA 6.
As described so far, in the fourth embodiment, the position feedforward control section and the speed feedforward control section do not receive the command position (input position) as compared with the third embodiment. The motor control apparatus in the fourth embodiment can be used for a machine tool or the like shown in the example of fig. 5, similarly to the second embodiment. In the fourth embodiment, the intermediate layers in the position feedforward control section and the speed feedforward control section are not provided, as compared with the second embodiment. The input layer in the fourth embodiment is more complex than in the second embodiment.
The motor control devices 92U, 82U of the invention are not limited to the motor control devices having the control block, the neural network, or the network having the weight learning function described in the above embodiments. Various modifications, additions, and deletions may be made to the embodiments without departing from the scope of the invention. For example, the second position-side weight learning section 14F or the second speed-side weight learning section 24F may be provided. In this case, the performance of changing the weight according to the position deviation and the speed deviation is degraded, but the structure is simplified.
In the above embodiment, an example has been described in which three position side calculating sections M [1] to M [3] (speed side calculating sections N [1] to N [3]) are provided for three position side input sections J [1] to J [3] (speed side input sections K [1] to K [3 ]). However, the number of position side input portions (speed side input portions) may be different from the number of position side calculation portions (speed side calculation portions).
In the description of the above embodiment, the command speed is output from the input speed calculation section 12 and the input speed calculation section 22 based on the command position. However, as another embodiment, the command speed may be directly output from the control device 60 and the control device 60B. In the description of the above embodiment, the command acceleration is output from the input acceleration calculation section 13 and the input acceleration calculation section 23 based on the command velocity. However, as another embodiment, the command acceleration may be output directly from the control device 60 and the control device 60B.
The motor control apparatus described in each of the above embodiments is not limited to a motor control apparatus in a robot or a machine tool, but may be applied to a motor control apparatus that controls the position of a specified member (controlled object) in various equipment.

Claims (6)

1. A motor control apparatus configured to control a position of a controlled object by using an electric motor for moving the position of the controlled object and a position detection unit for detecting a position related to the electric motor, characterized by comprising:
a position deviation calculation unit (10) that calculates a position deviation, which is a deviation between a commanded position and an actual position of the electric motor, based on a detection signal from the position detection unit;
a position feedback control unit (11) that performs feedback control on the basis of the position deviation and outputs a first tentative command speed;
a speed deviation calculation section that calculates a speed deviation, which is a deviation between a motor command speed and an actual speed of the electric motor, based on a detection signal from the position detection unit;
a speed feedback control unit (21) that performs feedback control according to the speed deviation and outputs a first provisional command current;
a current output unit that outputs a drive current to the electric motor based on a command current;
a position feedforward control section that performs feedforward control in accordance with a plurality of command physical quantities relating to a motion of the electric motor and outputs a second tentative command speed;
a speed addition calculation section that adds the first tentative command speed and the second tentative command speed and outputs a motor command speed of the electric motor;
a speed feedforward control section that performs feedforward control in accordance with the plurality of command physical quantities and outputs a second tentative command current; and
a current addition calculation section that adds the first tentative command current and the second tentative command current and outputs the command current, wherein,
the position feedforward control section includes: a plurality of position side input sections provided respectively for the command physical quantities, the plurality of position side input sections receiving the command physical quantities and outputting the received command physical quantities as position side first outputs; a first position-side weight learning section that changes position-side first weights, which respectively correspond to position-side first outputs output from the plurality of position-side input sections, in accordance with the positional deviation; and a position side output section that outputs, as the second tentative command speed, a value obtained by adding a plurality of first position side product values obtained by multiplying position side first outputs from the plurality of position side input sections by position side first weights respectively corresponding to the position side first outputs, and
the speed feedforward control section includes: a plurality of speed side input sections provided respectively for the command physical quantities, the plurality of speed side input sections receiving the command physical quantities and outputting the received command physical quantities as speed side first outputs; a first speed-side weight learning section that changes speed-side first weights, which respectively correspond to speed-side first outputs output from the plurality of speed-side input sections, according to the speed deviation; and a speed side output section that outputs, as the second tentative command current, a value obtained by adding a plurality of first speed side product values obtained by multiplying speed side first outputs from the plurality of speed side input sections by speed side first weights respectively corresponding to the speed side first outputs.
2. The motor control apparatus according to claim 1,
the plurality of command physical quantities include: a commanded speed; commanding an acceleration; a value obtained by adding a value obtained by multiplying the command velocity by a first velocity coefficient and a value obtained by multiplying the command acceleration by a first acceleration coefficient; a value obtained by adding a value obtained by multiplying the command speed by a second speed coefficient and a value obtained by multiplying the command acceleration by a second acceleration coefficient; and a value obtained by adding a value obtained by multiplying the command velocity by a third velocity coefficient and a value obtained by multiplying the command acceleration by a third acceleration coefficient, an
Each of the first velocity coefficient, the first acceleration coefficient, the second velocity coefficient, the second acceleration coefficient, the third velocity coefficient, and the third acceleration coefficient is a constant.
3. The motor control apparatus according to claim 1,
the plurality of command physical quantities include: a position as the commanded position; a commanded speed; commanding an acceleration; a value obtained by adding a value obtained by multiplying the position by a first position coefficient, a value obtained by multiplying the command velocity by a first velocity coefficient, and a value obtained by multiplying the command acceleration by a first acceleration coefficient; a value obtained by adding a value obtained by multiplying the position by a second position coefficient, a value obtained by multiplying the command velocity by a second velocity coefficient, and a value obtained by multiplying the command acceleration by a second acceleration coefficient; and a value obtained by adding a value obtained by multiplying the position by a third position coefficient, a value obtained by multiplying the command velocity by a third velocity coefficient, and a value obtained by multiplying the command acceleration by a third acceleration coefficient; and
each of the first position coefficient, the first velocity coefficient, the first acceleration coefficient, the second position coefficient, the second velocity coefficient, the second acceleration coefficient, the third position coefficient, the third velocity coefficient, and the third acceleration coefficient is a constant.
4. A motor control apparatus configured to control a position of a controlled object by using an electric motor for moving the position of the controlled object and a position detection unit for detecting a position related to the electric motor, characterized by comprising:
a position deviation calculation unit (10) that calculates a position deviation, which is a deviation between a commanded position and an actual position of the electric motor, based on a detection signal from the position detection unit;
a position feedback control unit (11) that performs feedback control on the basis of the position deviation and outputs a first tentative command speed;
a speed deviation calculation section that calculates a speed deviation, which is a deviation between a motor command speed and an actual speed of the electric motor, based on a detection signal from the position detection unit;
a speed feedback control unit (21) that performs feedback control according to the speed deviation and outputs a first provisional command current;
a current output unit that outputs a drive current to the electric motor based on a command current;
a position feedforward control section that performs feedforward control in accordance with a plurality of command physical quantities relating to a motion of the electric motor and outputs a second tentative command speed;
a speed addition calculation section that adds the first tentative command speed and the second tentative command speed and outputs a motor command speed of the electric motor;
a speed feedforward control section that performs feedforward control in accordance with the plurality of command physical quantities and outputs a second tentative command current; and
a current addition calculation section that adds the first tentative command current and the second tentative command current and outputs the command current, wherein,
the position feedforward control section includes: a plurality of position side input sections provided respectively for the command physical quantities, the plurality of position side input sections receiving the command physical quantities and outputting the received command physical quantities as position side first outputs; a first position-side weight learning section that changes position-side first weights, which respectively correspond to position-side first outputs output from the plurality of position-side input sections, in accordance with the positional deviation; a plurality of position-side calculation sections each outputting, as a position-side second output, a value obtained by adding a plurality of first position-side product values obtained by multiplying position-side first outputs from the plurality of position-side input sections by position-side first weights respectively corresponding to the position-side first outputs; a second position-side weight learning section that changes position-side second weights, which respectively correspond to position-side second outputs output from the plurality of position-side calculation sections, in accordance with the positional deviation; and a position side output section that outputs, as the second tentative command speed, a value obtained by adding a plurality of second position side product values obtained by multiplying position side second outputs from the plurality of position side calculation sections by position side second weights respectively corresponding to the position side second outputs, and
the speed feedforward control section includes: a plurality of speed side input sections provided respectively for the command physical quantities, the plurality of speed side input sections receiving the command physical quantities and outputting the received command physical quantities as speed side first outputs; a first speed-side weight learning section that changes speed-side first weights, which respectively correspond to speed-side first outputs output from the plurality of speed-side input sections, according to the speed deviation; a plurality of speed-side calculation sections each outputting, as a speed-side second output, a value obtained by adding a plurality of first speed-side product values obtained by multiplying speed-side first outputs from the plurality of speed-side input sections by speed-side first weights respectively corresponding to the speed-side first outputs; a second speed-side weight learning section that changes speed-side second weights, which respectively correspond to speed-side second outputs output from the plurality of speed-side calculation sections, according to the speed deviation; and a speed side output section that outputs, as the second tentative command current, a value obtained by adding a plurality of second speed side product values obtained by multiplying speed side second outputs from the plurality of speed side calculation sections by speed side second weights respectively corresponding to the speed side second outputs.
5. The motor control apparatus according to claim 4, wherein,
the plurality of command physical quantities include a command velocity and a command acceleration.
6. The motor control apparatus according to claim 4, wherein,
the plurality of command physical quantities include a position as the command position, a command velocity, and a command acceleration.
CN201611168353.8A 2015-12-25 2016-12-16 Motor control apparatus Expired - Fee Related CN106919147B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-254745 2015-12-25
JP2015254745A JP6604198B2 (en) 2015-12-25 2015-12-25 Motor control device

Publications (2)

Publication Number Publication Date
CN106919147A CN106919147A (en) 2017-07-04
CN106919147B true CN106919147B (en) 2021-04-27

Family

ID=59010627

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611168353.8A Expired - Fee Related CN106919147B (en) 2015-12-25 2016-12-16 Motor control apparatus

Country Status (3)

Country Link
JP (1) JP6604198B2 (en)
CN (1) CN106919147B (en)
DE (1) DE102016125675A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6748135B2 (en) 2018-03-19 2020-08-26 ファナック株式会社 Machine learning device, servo control device, servo control system, and machine learning method
JP6836540B2 (en) * 2018-04-12 2021-03-03 ファナック株式会社 Information processing device and information processing method
JP6740290B2 (en) 2018-07-17 2020-08-12 ファナック株式会社 Machine learning device, control device, and machine learning method
US20240077840A1 (en) * 2019-10-11 2024-03-07 Tadano Ltd. Control system, and crane

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005322720A (en) * 2004-05-07 2005-11-17 Nikon Corp Stage controlling apparatus and method therefor, exposure apparatus and method therefor, and device manufacturing method
CN1807013A (en) * 2005-01-20 2006-07-26 发那科株式会社 Controller
JP3906481B2 (en) * 2001-10-26 2007-04-18 株式会社安川電機 Motor control device
CN102437816A (en) * 2011-10-25 2012-05-02 武汉鑫通科创科技发展有限公司 Adaptive motor motion control apparatus based on neural network
CN103180790A (en) * 2010-10-27 2013-06-26 株式会社牧野铣床制作所 Numerical control method
CN104137014A (en) * 2012-03-05 2014-11-05 三菱重工业株式会社 Servo control device and servo control method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0285902A (en) * 1988-09-22 1990-03-27 Mitsubishi Electric Corp Feedforward controller
JP3182542B2 (en) * 1993-03-27 2001-07-03 豊田工機株式会社 Robot controller
JP2009303432A (en) 2008-06-17 2009-12-24 Hitachi Industrial Equipment Systems Co Ltd Position controller using motor
JP2014006566A (en) 2012-06-21 2014-01-16 Institute Of National Colleges Of Technology Japan Built-in intelligence controller, control system, control program, recording medium, and control method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3906481B2 (en) * 2001-10-26 2007-04-18 株式会社安川電機 Motor control device
JP2005322720A (en) * 2004-05-07 2005-11-17 Nikon Corp Stage controlling apparatus and method therefor, exposure apparatus and method therefor, and device manufacturing method
CN1807013A (en) * 2005-01-20 2006-07-26 发那科株式会社 Controller
CN103180790A (en) * 2010-10-27 2013-06-26 株式会社牧野铣床制作所 Numerical control method
CN102437816A (en) * 2011-10-25 2012-05-02 武汉鑫通科创科技发展有限公司 Adaptive motor motion control apparatus based on neural network
CN104137014A (en) * 2012-03-05 2014-11-05 三菱重工业株式会社 Servo control device and servo control method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于神经网络的直流电动机位置控制;扈宏杰;《机床与液压》;20021231;第65-66、87-88页 *
带有前馈和神经网络补偿的机械手系统轨迹跟踪控制;王良勇;《电机与控制学报》;20130831;第17卷(第8期);第113-118页 *

Also Published As

Publication number Publication date
JP2017117366A (en) 2017-06-29
CN106919147A (en) 2017-07-04
JP6604198B2 (en) 2019-11-13
DE102016125675A1 (en) 2017-06-29

Similar Documents

Publication Publication Date Title
CN106919147B (en) Motor control apparatus
Zhang et al. Time-optimal and smooth trajectory planning for robot manipulators
JPWO2007111252A1 (en) Manipulator control method and control system
Maulana et al. Inverse kinematic implementation of four-wheels mecanum drive mobile robot using stepper motors
Wang et al. Optimal trajectory planning of grinding robot based on improved whale optimization algorithm
CN106003023A (en) Robot motion control system and method
Gauthier et al. Optimization of a test trajectory for SCARA systems
CN110914020B (en) Handling device with robot, method and computer program
Farooq et al. Fuzzy logic based path tracking controller for wheeled mobile robots
Wong et al. Fuzzy controller designed by GA for two-wheeled mobile robots.
CN106961235B (en) Motor control device
Singh et al. Control of closed-loop differential drive mobile robot using forward and reverse Kinematics
Do et al. Design and control of dual-arm robot for cell manufacturing process
Wu et al. Dynamic performance of industrial robot with CNC controller
JP2008194760A (en) Robot arm and control method therefor
Jung et al. Motion planning algorithms of an omni-directional mobile robot with active caster wheels
Lorenz et al. Energy-efficient trajectory planning for robot manipulators
Ying-Shi et al. Online minimum-acceleration trajectory planning with the kinematic constraints
US20230191603A1 (en) Input shaping control of a robot arm in different reference spaces
Dong et al. Kinematic model-based integral sliding mode control for a spherical robot
JP2013226619A (en) Robot control method and robot control device
Wang et al. Adaptive control of a parallel robot via backstepping technique
Chaudhary et al. ANFIS PD+ I based hybrid force/position control of an industrial robot manipulator
Yousif et al. Neuro-fuzzy inference system based controller in 6 DoF in PUMA 560
Ren et al. Performance improvement of tracking control for a planar parallel robot using synchronized control

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210427

CF01 Termination of patent right due to non-payment of annual fee