WO2022244078A1 - モータの制御装置、産業機械システム、及びモータの制御方法 - Google Patents

モータの制御装置、産業機械システム、及びモータの制御方法 Download PDF

Info

Publication number
WO2022244078A1
WO2022244078A1 PCT/JP2021/018659 JP2021018659W WO2022244078A1 WO 2022244078 A1 WO2022244078 A1 WO 2022244078A1 JP 2021018659 W JP2021018659 W JP 2021018659W WO 2022244078 A1 WO2022244078 A1 WO 2022244078A1
Authority
WO
WIPO (PCT)
Prior art keywords
correction amount
command
stage
elastic element
motor
Prior art date
Application number
PCT/JP2021/018659
Other languages
English (en)
French (fr)
Inventor
駿 寳澤
聡史 猪飼
Original Assignee
ファナック株式会社
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 ファナック株式会社 filed Critical ファナック株式会社
Priority to JP2023522025A priority Critical patent/JPWO2022244078A1/ja
Priority to PCT/JP2021/018659 priority patent/WO2022244078A1/ja
Priority to CN202180097937.3A priority patent/CN117280599A/zh
Priority to DE112021007278.1T priority patent/DE112021007278T5/de
Priority to TW111115061A priority patent/TW202246922A/zh
Publication of WO2022244078A1 publication Critical patent/WO2022244078A1/ja

Links

Images

Classifications

    • 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
    • B25J9/1641Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
    • 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/41Servomotor, servo controller till figures
    • G05B2219/41251Servo with spring, resilient, elastic element, twist

Definitions

  • the present disclosure relates to a motor control device, an industrial machine system, and a motor control method.
  • a plurality of elastic elements are interposed between the motor and the driven body, and the stepwise elastic deformation of the plurality of elastic elements may affect the positioning accuracy of the driven body by the motor.
  • a control device connected to a driven body via a plurality of elastic elements and controlling a motor that drives the driven body generates a command to operate the motor to accelerate a command generation unit; a correction amount calculation unit that executes a correction amount calculation process for obtaining a correction amount of a command based on an elasticity parameter representing elasticity of an elastic element; a step detection unit for detecting that the driving force has transitioned from a first step acting on the element to a second step acting on the second elastic element through the first elastic element.
  • the correction amount calculation unit performs a correction amount calculation process to be executed when a shift from the first stage to the second stage is detected as a first correction based on a first elastic parameter of the first elastic element.
  • the amount calculation process is switched to the second correction amount calculation process based on the second elastic parameter and the first elastic parameter of the second elastic element.
  • a method of controlling a motor connected to a driven body via a plurality of elastic elements to drive the driven body comprises: a processor generating commands to operate the motor to accelerate; and performs a correction amount calculation process for obtaining a correction amount for a command based on an elastic parameter representing the elasticity of the elastic element, and the driving force generated by the motor in response to the command acts on the first elastic element. from the stage to the second stage in which the driving force acts on the second elastic element through the first elastic element, and the transition from the first stage to the second stage is detected.
  • the correction amount calculation process to be executed is changed from the first correction amount calculation process based on the first elastic parameter of the first elastic element to the second elastic parameter of the first elastic element and the second elasticity of the second elastic element. and the second correction amount calculation process based on the parameters.
  • the present disclosure it is possible to obtain a correction amount suitable for the stage in which the driving force of the motor acts on a plurality of elastic elements. Therefore, when the motor and the driven body are connected via a plurality of elastic elements, errors caused by the stepwise elastic deformation of the plurality of elastic elements can be canceled with high accuracy. The positioning accuracy of the driver can be improved.
  • FIG. 1 is a block diagram of an industrial machine system according to one embodiment
  • FIG. 2 shows a schematic diagram of the industrial machine shown in FIG. 1
  • FIG. 3 shows a machine model of the industrial machine shown in FIG. 2
  • the first stage in which the driving force of the motor acts on the first elastic element is shown.
  • a second stage is shown in which the driving force of the motor acts on the second elastic element through the first elastic element.
  • An example of time change characteristics of a command for operating a motor is shown.
  • 2 is a flow chart showing an example of the operation flow of the control device shown in FIG. 1
  • 2 is a block diagram showing another function of the control device shown in FIG. 1;
  • FIG. 9 is a flow chart showing an example of the operation flow of the control device shown in FIG. 8;
  • FIG. 1 An industrial machine system 10 according to one embodiment will be described with reference to FIGS. 1 and 2.
  • FIG. The industrial machine system 10 includes an industrial machine 12 and a controller 14 .
  • the industrial machine 12 is for performing predetermined work (cutting, welding, etc.) on a work, and has a motor 16, a plurality of elastic elements 18 and 20, and a driven body 22.
  • the motor 16 is, for example, a servomotor as an electric motor, and rotates its output shaft 16a (FIG. 2) according to a command from the control device 14. As shown in FIG.
  • the output shaft 16a of the motor 16 and the driven body 22 are mechanically connected to each other via a plurality of elastic elements 18 and 20.
  • the elastic element 18 is a ball screw that extends straight along the axis A and is a member (eg, a steel member) having an elastic parameter PR1.
  • k1 a spring constant
  • G1 an elastic modulus G1 (including Young's modulus, rigidity modulus, Poisson's ratio, etc.).
  • the elastic element 20 is, for example, inserted between the elastic element 18 and the driven body 22, and is a seal that prevents foreign matter from entering the inside of a housing (not shown) that accommodates the elastic element 18.
  • a mechanism a member (eg a rubber member) having an elastic parameter PR2.
  • the driven body 22 is, for example, a work table on which a work is placed, and has an engaging portion 22a that engages with the elastic element 18 as a ball screw. As the motor 16 rotates the output shaft 16a, the elastic element 18 is rotated about the axis A, and the driven body 22 is reciprocated in the direction of the axis A according to the rotation of the elastic element 18.
  • the elastic element 20 as a sealing mechanism is in contact with the driven body 22 and elastically deforms as the driven body 22 reciprocates. and apply force such as frictional force.
  • the motor 16 thus drives the driven body 22 via the elastic elements 18 and 20 .
  • the motor 16 is provided with at least one sensor 24 (Fig. 1).
  • the sensor 24 includes a rotation detection sensor (encoder, hall element, etc.) that detects the rotational position P of the output shaft 16a, a current sensor that detects the current I supplied to the motor 16, and a current sensor that detects the current I supplied to the motor 16. It has a force sensor (torque sensor) that detects the applied driving force F (torque).
  • the sensor 24 detects the rotational position P, current I, and driving force F, and supplies them to the controller 14 as position feedback P, current feedback I, and force feedback F, respectively.
  • the sensor 24 may detect the acceleration ⁇ of the output shaft 16a (or the driven body 22) and supply the detected value as the acceleration feedback ⁇ to the control device 14, or the position feedback P may be differentiated by second-order time differentiation. may be supplied to the control device 14.
  • the control device 14 controls the industrial machine 12 (specifically, the motor 16).
  • controller 14 is a computer having processor 30 , memory 32 , and I/O interface 34 .
  • the processor 30 has a CPU, GPU, or the like, and is communicatively connected to a memory 32 and an I/O interface 34 via a bus 36 .
  • the processor 30 communicates with the memory 32 and the I/O interface 34 and performs arithmetic processing for implementing a command correction function, which will be described later.
  • the memory 32 has RAM, ROM, or the like, and temporarily or permanently stores various data used in arithmetic processing for the command correction function executed by the processor 30 and various data generated during the arithmetic processing. memorize.
  • the I/O interface 34 has, for example, an Ethernet (registered trademark) port, a USB port, an optical fiber connector, or an HDMI (registered trademark) terminal, and exchanges data with external devices under commands from the processor 30. Communicate by wire or wirelessly.
  • the processor 30 generates a command CM for driving the motor 16 to accelerate.
  • This command CM has, for example, a position command CMp, a speed command CMv, and a torque command CM ⁇ .
  • the position command CMp defines the target position of the driven body 22 (that is, the output shaft 16a of the motor 16)
  • the speed command CMv defines the speed V of the motor 16 (or the driven body 22)
  • the torque command CM ⁇ defines the driving force F (torque) of the motor 16 .
  • the command CM may have an acceleration command CM ⁇ that defines the acceleration ⁇ of the output shaft 16a of the motor 16 (or the driven body 22) instead of the torque command CM ⁇ .
  • the processor 30 functions as the command generator 40 (FIG. 1) that generates the command CM.
  • the motor 16 generates a driving force F (torque) that rotationally drives the output shaft 16a according to the command CM.
  • the driving force F generated by the motor 16 acts on the elastic element 18 and then on the elastic element 20 to drive the driven body 22 .
  • the elastic elements 18 and 20 can be regarded as springs that are slightly elastically deformed under the action of the driving force F.
  • FIG. 3 A schematic mechanical system model of the industrial machine 12 is shown in FIG.
  • the industrial machine 12 can be schematically represented as a mechanical system model in which elastic elements 18 and 20 as springs are interposed between the motor 16 and the driven body 22 .
  • a backlash element BL1 exists between the elastic element 18 and the elastic element 20 in the mechanical system model of the industrial machine 12 .
  • the backlash element BL1 on the mechanical system model represents the backlash between the output shaft 16a and the elastic element 18 and the backlash between the elastic element 18 and the driven body 22 (engaging portion 22a).
  • a backlash element BL2 exists between the elastic element 18 and the elastic element 20.
  • FIG. A backlash element BL2 on the mechanical system model represents the backlash between the elastic element 20 and the driven body 22 .
  • the processor 30 generates a command CM for accelerating the motor 16 after reversing the direction of operation of the motor 16 (that is, the direction of rotation of the output shaft 16a) from one side to the other. Assume that the moving direction of the driven body 22 is reversed from right to left, and the driven body 22 is accelerated leftward. In this case, the motor 16 generates a driving force F (torque) according to the command CM.
  • the driving force F first acts on the elastic element 18, and the backlash element BL1 causes the driving force F to act on the elastic element 18 and elastically deform the elastic element 18.
  • a minute time lag TL1 occurs until the spring of the element 18 is extended).
  • the time lag TL1 elapses after the driving force F acts on the elastic element 18 (that is, when the backlash element BL1 is eliminated), as shown in FIG. 18 begins to elastically deform (that is, the spring expands).
  • a minute time lag TL2 occurs between the elastic deformation of the elastic element 18 and the elastic deformation of the elastic element 20 by the driving force F (that is, the spring of the elastic element 20 is stretched). It will be.
  • the time lag TL2 elapses after the elastic deformation of the elastic element 18 (that is, when the backlash element BL2 is eliminated), as shown in FIG. It begins to deform elastically. Then, the driven body 22 begins to move leftward while receiving the force (stress, frictional force) from the elastic element 20 .
  • stage ST1 (FIG. 4) in which the driving force F generated by the motor 16 acts on the elastic element 18 to elastically deform the elastic element 18.
  • the backlash The driving force F does not substantially act on the elastic element 20 due to the influence of the element BL2. That is, at this stage ST1, it can be assumed that only the spring of the elastic element 18 exists in the mechanical model of the industrial machine 12, and therefore only the elastic parameter PR1 needs to be considered.
  • stage ST1 the driving force F acts on the elastic element 20 through the elastic element 18 to elastically deform the elastic element 20, thereby shifting to stage ST2 (FIG. 5).
  • stage ST2 since the driving force F acts on the elastic elements 18 and 20, it can be assumed that a combined spring of the elastic elements 18 and 20 exists in the mechanical model of the industrial machine 12. , the elastic parameters PR1 and PR2 should be taken into account.
  • the driven body 22 is driven by the driving force F through a plurality of steps ST1 and ST2 in which the driving force F acts on the plurality of elastic elements 18 and 20 step by step.
  • the motor 16 When the motor 16 generates the driving force F according to the command CM, the elastic elements 18 and 20 are elastically deformed step by step. and the actual position of the driven body 22 (specifically, the rotational position of the motor 16).
  • the processor 30 executes correction amount calculation processing CP for obtaining a correction amount ⁇ for correcting the command CM based on the elastic parameters PR of the elastic elements 18 and 20 . Therefore, in the present embodiment, the processor 30 functions as the correction amount calculator 42 (FIG. 1) that executes the correction amount calculation process CP. The details of the correction amount calculation process CP will be described later.
  • An example of the time change characteristic of is shown in FIG.
  • the position command CMp shown in FIG. 6 indicates that the operating direction of the motor 16 (or the driven body 22) is reversed at time t0.
  • the degree of change D of the torque command CM ⁇ with respect to time t is relatively steep during the period from time t0 to t1, and becomes relatively moderate during the period after time t1.
  • the period from time t0 to t1 corresponds to stage ST1 described above, while the period after time t1 corresponds to stage ST2 described above.
  • the driving force F generated by the motor 16 in response to the command CM is highly correlated with the torque command CM ⁇ , force feedback F, acceleration feedback ⁇ (or acceleration command CM ⁇ ), and current feedback I. Therefore, the torque command CM ⁇ , the force feedback F, the acceleration feedback ⁇ , the acceleration command CM ⁇ , and the current feedback I can be regarded as a force parameter FP indicating the driving force F. Therefore, the time change characteristics of the force feedback F, the acceleration ⁇ , the acceleration command CM ⁇ , and the current feedback I are similar to the time change characteristics of the torque command CM ⁇ (in other words, the driving force F) shown in FIG.
  • the processor 30 detects the transition from stage ST1 to stage ST2 in order to execute different correction amount calculation processes CP1 and CP2 in stages ST1 and ST2 while the motor 16 is running. Specifically, the processor 30 acquires the degree D of change in the force parameter FP (torque command CM ⁇ , acceleration command CM ⁇ , force feedback F, acceleration ⁇ , acceleration feedback ⁇ , or current feedback I), and obtains the degree of change Based on D, the transition from stage ST1 to stage ST2 is detected.
  • the force parameter FP torque command CM ⁇ , acceleration command CM ⁇ , force feedback F, acceleration ⁇ , acceleration feedback ⁇ , or current feedback I
  • Tc for example, 50 [msec]
  • the processor 30 may obtain the above-mentioned difference D10 as the degree D of change in the acceleration feedback ⁇ .
  • the processor 30 calculates the degree of change D (D1 to D10) of the force parameter FP (specifically, the torque command CM ⁇ , the acceleration command CM ⁇ , the force feedback F, the current feedback I, or the acceleration feedback ⁇ ). It functions as a change acquisition unit 44 (FIG. 1) that acquires.
  • the processor 30 determines whether the acquired degree of change D exceeds a predetermined reference D th . For example, when the slope D1 of the torque command CM ⁇ is acquired as the degree of change D, the processor 30 determines that when the slope D1 decreases by exceeding a predetermined reference value D th1 (D1 ⁇ D th1 ), the degree of change D is It is determined that the reference Dth has been exceeded.
  • This reference value D th1 is, for example, a value between the gradient D1_1 of the torque command CM ⁇ at stage ST1 shown in FIG. 6 and the gradient D1_2 of the torque command CM ⁇ at stage ST2 ( D1_2 ⁇ D th1 ⁇ D1 _1 ). It should be understood that the processor 30 can also determine whether or not the other degrees of change D2 to D10 have exceeded the reference Dth in a similar manner.
  • the processor 30 determines that the degree of change D has exceeded the reference Dth , it detects that the stage ST1 has shifted to the stage ST2 (in other words, the timing of time t1). Thus, in this embodiment, it functions as the stage detector 46 (FIG. 1) that detects that the stage ST1 has shifted to the stage ST2.
  • the processor 30 changes the correction amount calculation process CP to be executed from the correction amount calculation process CP1 based on the elasticity parameter PR1 of the elastic element 18 to the elastic parameter PR1 and the correction amount calculation process CP2 based on the elastic parameter PR2 of the elastic element 20.
  • the processor 30 functions as the correction amount calculation unit 42, and in step ST1 (period of time t0 to t1 in FIG. 6), executes the correction amount calculation process CP1, and performs the correction amount calculation process CP1.
  • the correction amount ⁇ 1 for the elastic element 18 is obtained using the spring constant k1 as the elastic parameter PR1 of the elastic element 18 and the force parameter FP described above.
  • the processor 30 calculates the correction amount ⁇ 1 by substituting the spring constant k1 and the most recently acquired torque command CM ⁇ into the following equation (1) in the correction amount calculation process CP1.
  • ⁇ 1 CM ⁇ /k1 (1)
  • This formula (1) is the so-called Hooke's law, and the correction amount calculation process CP1 according to the present embodiment is based on a mechanical model in which the elastic element 18 is simulated as one spring as shown in FIGS. ing.
  • the spring constant k1 is predetermined as a proportional coefficient between the force (torque) applied to the elastic element 18 by the motor 16 in the industrial machine 12 and the amount of elastic deformation of the elastic element 18 in the direction of the axis A due to the force. stored in
  • the correction amount ⁇ 1 obtained from the above equation (1) is for canceling the error ⁇ 1 caused by the elastic deformation of the elastic element 18 in step ST1 (FIG. 4).
  • the processor 30 obtains the correction amount ⁇ 1 for the elastic element 18 by executing the correction amount calculation process CP1 in step ST1.
  • the processor 30 corrects the command CM with the obtained correction amount ⁇ 1. Specifically, since the correction amount ⁇ 1 is a parameter of the same dimension as the rotational position P of the motor 16 (or the position of the driven member 22), the processor 30 can apply the correction amount ⁇ 1 to the position command CMp. , to correct the position command CMp. For example, the processor 30 may correct the position command CMp by adding the correction amount ⁇ 1 to the position command CMp (CMp+ ⁇ 1). Alternatively, the correction amount ⁇ 1 may be converted into the rotational position of the output shaft 16a of the motor 16, and the converted correction amount ⁇ 1 may be added to the position command CMp.
  • processor 30 functions as correction amount calculation section 42 and executes correction amount calculation processing CP2.
  • the processor 30 first acquires the torque command CM ⁇ 1 (FIG. 6) at the time when the transition from the stage ST1 to the stage ST2 is detected (time t1 in FIG. 6).
  • ⁇ 1′ ⁇ /k1 (2)
  • This equation (2) also indicates Hooke's law as in the above-described equation (1), and this correction amount ⁇ 1′ is the error ⁇ 1 is for canceling out
  • This significance of using the difference ⁇ instead of the torque command CM ⁇ to obtain the correction amount ⁇ 1′ will be described below.
  • stage ST1 (FIG. 4) shifts to stage ST2 (FIG. 5)
  • the driving force F generated by the motor 16 is affected by the frictional force (resistance on the equivalent circuit) at the backlash elements BL1 and BL2.
  • the force for elastically deforming the elastic elements 18 and 20 (that is, stretching the spring) in step ST2 is reduced below the driving force F.
  • FIG. therefore, by approximating the force for elastically deforming the elastic elements 18 and 20 in step ST2 with the difference ⁇ described above, the amount of elastic deformation (in other words, correction amount) of the elastic elements 18 and 20 in step ST2 is can be evaluated more accurately.
  • the processor 30 substitutes the spring constant k2 as the elastic parameter PR2 of the elastic element 20 and the most recently acquired difference ⁇ into the following equation (3) to obtain the correction amount Find ⁇ 2.
  • ⁇ 2 ⁇ /k2 (3)
  • This equation (3) also indicates Hooke's law as in the above-described equation (2), and the correction amount calculation processing CP2 according to the present embodiment is based on a mechanical model in which the elastic element 20 is assumed to be one spring. ing.
  • the spring constant k2 is predetermined as a proportional coefficient between the force (torque) applied to the elastic element 20 by the motor 16 in the industrial machine 12 and the amount of elastic deformation of the elastic element 20 in the direction of the axis A due to the force. stored in The correction amount ⁇ 2 is for canceling the error ⁇ 2 caused by the elastic deformation of the elastic element 20 in step ST2 (FIG. 5).
  • This correction amount ⁇ 3 is for canceling the error ⁇ 3 caused by the elastic deformation of the combined spring of the elastic elements 18 and 20 in step ST2.
  • the processor 30 uses the combined spring constant ks of the elastic elements 18 and 20 and the torque commands CM ⁇ 1 and CM ⁇ as the force parameter FP to perform correction on the elastic elements 18 and 20. Determine the quantity ⁇ 3.
  • 1/ks 1/k1+1/k2 (4)
  • the processor 30 acquires the difference ⁇ between the most recently acquired torque command CM ⁇ and the torque command CM ⁇ 1, and substitutes the difference ⁇ and the resultant spring constant ks into the following equation (5) to obtain the elastic element 18 and 20, the correction amount ⁇ 3 is obtained.
  • This formula (5) also indicates Hooke's law, and is based on a mechanical model in which the elastic elements 18 and 20 are simulated as one composite spring.
  • the processor 30 obtains the correction amount ⁇ 3 for the elastic elements 18 and 20 by executing the correction amount calculation process CP2 in step ST2. Then, in step ST2, the processor 30 corrects the position command CMp by applying (for example, adding) the calculated correction amount ⁇ 3 to the position command CMp in the same manner as in step ST1.
  • the processor 30 functions as the correction amount calculation unit 42, executes the correction amount calculation process CP1 based on the elastic parameter PR1 (spring constant k1) in step ST1,
  • the correction amount calculation process CP1 is switched to the correction amount calculation process CP2 based on the elastic parameters PR1 (spring constant k1) and PR2 (spring constant k2).
  • the processor 30 corrects the position command CMp with the obtained correction amounts ⁇ 1 and ⁇ 3 in steps ST1 and ST2, respectively.
  • FIG. 7 starts when the processor 30 receives an operation start command from an operator, a host controller, or an operation program.
  • the processor 30 starts an operation to generate a command CM to the motor 16 according to the operation program.
  • the motor 16 drives the driven body 22 according to the command CM, thereby causing the industrial machine 12 to perform predetermined work on the work.
  • the processor 30 determines whether there is a command CM to drive the motor 16 to accelerate.
  • this command CM is a command for accelerating the motor 16 after reversing the operating direction of the motor 16 .
  • this command CM may be a command for rapidly accelerating the motor 16 in a stopped state (or in a low speed operating state).
  • the driving force F acts stepwise on the plurality of elastic elements 18 and 20 as shown in FIGS. A plurality of stages ST1 and ST2 will occur in sequence.
  • the processor 30 can recognize whether or not there is a command CM for accelerating the motor 16 (for example, reversing and accelerating). If the processor 30 determines YES, it proceeds to step S3, and if it determines NO, it proceeds to step S7.
  • the motor 16 starts accelerating from the time when it is determined YES in step S2 (corresponding to time t0 in FIG. 6), and the state of the industrial machine 12 thereby shifts to step ST1.
  • step S3 the processor 30 starts the correction amount calculation process CP1. Specifically, the processor 30 uses the elastic parameter PR1 (spring constant k1) and the force parameter FP (torque command CM ⁇ ) of the elastic element 18 to determine the correction amount ⁇ 1 for the elastic element 18 by the method described above. The processor 30 then corrects the command CM with the obtained correction amount ⁇ 1. A series of operations of calculating the correction amount ⁇ 1 and correcting the command CM are repeatedly executed during step ST1, for example, at a control period tc (or an integral multiple of the control period tc).
  • the processor 30 starts the operation of acquiring the degree D of change of the force parameter FP with respect to time t. Specifically, the processor 30 repeatedly obtains, for example, the slope D1 of the torque command CM ⁇ as the degree of change D at the control period tc (or an integral multiple of the control period tc) using the method described above.
  • step S5 the processor 30 determines whether or not the most recently acquired degree of change D exceeds a predetermined reference Dth . For example, when the slope D1 is obtained in step S4, the processor 30 determines whether the slope D1 has decreased beyond the reference value D th1 . If the processor 30 determines YES, it proceeds to step S6, and if it determines NO, it loops step S5. At the time when YES is determined in step S5 (corresponding to time t1 in FIG. 6), the state of the industrial machine 12 can be considered to have transitioned from stage ST1 to stage ST2.
  • step S6 the processor 30 switches from the correction amount calculation process CP1 to the correction amount calculation process CP2.
  • the processor 30 uses the method described above to determine the elastic parameters PR1 and PR2 (spring constants k1, k2, or composite spring constant ks) of the elastic elements 18 and 20 and the force parameter FP (torque command CM ⁇ , torque
  • the correction amount ⁇ 3 is obtained using the command CM ⁇ 1 ).
  • the processor 30 then corrects the command CM with the obtained correction amount ⁇ 3.
  • a series of operations of calculating the correction amount ⁇ 3 and correcting the command CM are repeatedly performed during step ST2, for example, at the control period tc (or an integer multiple of the control period tc).
  • step S7 the processor 30 determines whether or not an operation end command has been received from the operator, upper controller, or operation program. If the processor 30 determines YES, it ends the flow shown in FIG. 7, and if it determines NO, it returns to step S2.
  • the step detection unit 46 detects that the step ST1 has shifted to the step ST2, and the correction amount calculation unit 42 detects that the step ST1 has shifted to the step ST2. Furthermore, the correction amount calculation process CP to be executed is switched from the correction amount calculation process CP1 based on the elasticity parameter PR1 to the correction amount calculation process CP2 based on the elasticity parameters PR1 and PR2.
  • the processor 30 calculates the elastic parameters PR1 and PR2 used to obtain the correction amount ⁇ according to the steps ST1 and ST2 in which the driving force F generated by the motor 16 acts on the plurality of elastic elements 18 and 20 in sequence. is switching. According to this configuration, the correction amounts ⁇ 1 and ⁇ 3 suitable for each stage ST1 and ST2 can be obtained.
  • the error ⁇ caused by the stepwise elastic deformation of the elastic elements 18 and 20 can be calculated with higher precision. , the positioning accuracy of the driven body 22 by the motor 16 can be greatly improved.
  • the change acquisition unit 44 acquires the degree of change D (D1 to D10) of the force parameter FP with respect to time t, and the step detection unit 46 determines that the acquired degree of change D is the reference D th , it is detected that the stage ST1 has shifted to the stage ST2.
  • the transition from stage ST1 to stage ST2 is conspicuously expressed as a change in the force parameter FP (for example, FIG. 6). And it can be detected in real time.
  • the change acquiring unit 44 uses the gradient D1 of the force parameter D (for example, the torque command CM ⁇ , the acceleration command CM ⁇ , the force feedback F, the current feedback I, or the acceleration feedback ⁇ ) as the degree of change D. , D3, D5, D7 or D9. According to this configuration, the transition from stage ST1 to stage ST2 can be detected with higher accuracy.
  • D1 of the force parameter D for example, the torque command CM ⁇ , the acceleration command CM ⁇ , the force feedback F, the current feedback I, or the acceleration feedback ⁇
  • the command generator 40 reverses the operating direction of the motor 16 (that is, the driven body 22) (at time t0 in FIG. 6), and then generates a command CM for accelerating the motor 16. , thereby causing the state of the industrial machine 12 to transition from stage ST1 to stage ST2.
  • stage ST1 to stage ST2 the transition from stage ST1 to stage ST2 described with reference to FIGS. Appears in That is, when the motor 16 is reversed, the error ⁇ ( ⁇ 1, ⁇ 2, ⁇ 3) is significantly generated. According to this embodiment, the error ⁇ that occurs when the motor 16 is reversed can be effectively canceled, and as a result, the positioning accuracy when the motor 16 is reversed can be effectively improved.
  • processor 30 may substitute the most recently obtained torque command CM ⁇ in place of the difference ⁇ in equations (2), (3) and (5) above.
  • the processor 30 corrects the torque command CM ⁇ so as to remove the influence of the inertia of the elastic element 18 and the like, and substitutes it into the equation (1) to obtain the correction amount ⁇ 1 you may ask. Further, regarding the above equations (2), (3) and (5), the processor 30 corrects the torque command CM ⁇ so as to remove the influence of the inertia of the elastic elements 18 and 20, etc., and then corrects the equation ( The correction amount ⁇ 3 may be obtained by substituting in 2) and (3) or equation (5).
  • processor 30 may substitute a value obtained by multiplying the acceleration feedback ⁇ by the mass m1 of the elastic element 18: ⁇ m1 instead of the torque command CM ⁇ in the above equation (1).
  • processor 30 applies mass m1 of elastic element 18 and elastic A value obtained by multiplying the sum of the masses m2 of the elements 20: (m1+m2) ⁇ may be substituted.
  • the industrial machine 12 is approximated as a machine model in which two springs (elastic elements 18 and 20) are connected in series as shown in FIGS.
  • a case of obtaining the correction amount ⁇ from the equations (1) to (5) has been described.
  • the above equations (1) to (5) are only examples, and the industrial machine 12 is approximated as a more complex machine model using, for example, the elastic moduli G1 and G2 as the elastic parameters PR1 and PR2. It is also possible to obtain the correction amount ⁇ based on a theoretical formula representing a mechanical model.
  • FIG. 8 the processor 30 functions as an operation amount acquisition section 48 instead of the change acquisition section 44 described above.
  • the functions of the control device 14 according to this embodiment will be described below with reference to FIG. In the flow shown in FIG. 9, the same step numbers are assigned to the same processes as those in the flow of FIG. 7, and overlapping explanations are omitted.
  • step S4' the processor 30 starts the process of acquiring the operation amount MA of the motor 16 from the time when YES was determined in step S2 (time t0 in FIG. 6).
  • the time (time t0) when YES is determined in step S2 is the time when the motor 16 starts operating in accordance with the command CM for accelerating the motor 16 after reversing.
  • the processor 30 obtains the position feedback P0 from the sensor 24 at the beginning of step S4' (that is, at time t0 when step S2 determined YES). Thereafter, processor 30 repeatedly obtains position feedback Pn from sensor 24 during stage ST1, eg, at control period ts.
  • the processor 30 calculates the motor position from the time t0 based on the difference between the acquired position feedback Pn and the position feedback P0 acquired at the start time t0 of step S4'. 16 motion quantities MA n are obtained.
  • This movement amount MAn may be, for example, the rotation angle of the output shaft 16a of the motor 16, or may be the movement distance in the direction of the axis A converted from the rotation angle.
  • the processor 30 functions as an operation amount acquiring section 48 that acquires the operation amount MAn of the motor 16 from time t0.
  • step S5′ the processor 30 determines whether or not the most recently acquired motion amount MA n has reached a predetermined threshold value MA th (MA n ⁇ MA th ).
  • MA th rotational angle or movement distance
  • the driving force F acts on the elastic element 20 through the elastic element 18 from time t0 when the motor 16 starts to drive the driven body 22 leftward.
  • the operation amount MA th (rotational angle) of the motor 16 up to the time t1 when the spring of the elastic element 20 begins to expand can be obtained in advance through experiments or the like.
  • the timing (time t1) at which stage ST1 transitions to stage ST2 can be detected. .
  • the processor 30 functions as the stage detection unit 46, and determines whether or not the most recently acquired motion amount MA n has reached the threshold value MA th (MA n ⁇ MA th ). On the other hand, if NO is determined, step S5' is looped. When the determination in step S5' is YES, the state of the industrial machine 12 can be considered to have transitioned from stage ST1 to stage ST2. After determining YES in step S5′, processor 30 executes steps S6 and S7 described above.
  • the stage detection unit 46 moves from stage ST1 to stage ST2 when the amount of motion MA n acquired by the amount of motion acquiring unit 48 reaches the predetermined threshold value MA th . to detect
  • the degree of change D changes greatly at time t1.
  • the amount of change in the degree of change D (inclination) is small.
  • the degree of change D makes it difficult to detect the transition from stage ST1 to stage ST2.
  • the shift from stage ST1 to stage ST2 can be detected from the operation amount MAn of the motor 16 . Therefore, even if the speed V (speed command CMv), torque command CM ⁇ , or acceleration command CM ⁇ is small, the transition from stage ST1 to stage ST2 can be reliably detected.
  • the processor 30 may execute step S3 after executing step S4′.
  • FIG. Controller 14 ′ is applicable to industrial machine system 10 and controls industrial machine 12 in place of controller 14 described above.
  • the control device 14 ′ differs from the control device 14 described above in that it further has a timer 38 .
  • a clock unit 38 is connected to the processor 30 via the bus 36 and clocks the elapsed time from an arbitrary time according to instructions from the processor 30 .
  • the processor 30 functions as an elapsed time acquisition section 50 instead of the change acquisition section 44 or the movement amount acquisition section 48 described above.
  • the functions of the control device 14' according to this embodiment will be described below with reference to FIG. In the flow shown in FIG. 11, the same step numbers are given to the same processes as in the flow of FIG. 7, and overlapping explanations are omitted.
  • step S4′′ the processor 30 starts counting the elapsed time te from the time (time t0) when it is determined YES in step S2. , a command is sent to the clock unit 38, and the clock unit 38 starts clocking the elapsed time te from the time t0 according to the command.
  • step S5′′ the processor 30 determines whether or not the elapsed time te measured by the timer 38 has reached a predetermined threshold value t th (te ⁇ t th ).
  • the time t th from stage ST1 to stage ST2 until time t1 corresponds to the command CM (position command CMp, speed command CMv, torque command CM ⁇ , etc.) supplied to the motor 16 during stage ST1. ), in other words, this time t th (duration of step ST1) can be obtained in advance, for example by using empirical methods, if the command CM is known.
  • the memory 32 pre-stores a data table TA in which the command CM and the time t th are stored in association with each other, and the processor 30 controls the motor 16 during step ST1 from the command statement defined in the operating program OP.
  • the time t th can be obtained by obtaining the supplied command CM and searching the data table TA for the time t th corresponding to the command CM.
  • the timing (time t1) at which the stage ST1 shifts to the stage ST2 can be detected.
  • the processor 30 functions as a stage detection unit 46 and determines whether or not the elapsed time te has reached the threshold value t th (te ⁇ t th ). If so, step S5′′ is looped. When the determination is YES in step S5′′, the state of the industrial machine 12 can be considered to have transitioned from stage ST1 to stage ST2. After determining YES in step S5′′, processor 30 executes steps S6 and S7 described above.
  • the stage detector 46 detects that the stage ST1 has shifted to the stage ST2 when the elapsed time te reaches the predetermined threshold value tth . According to this configuration, even if the speed V (speed command CMv), torque command CM ⁇ , or acceleration command CM ⁇ of the motor 16 in step ST1 is small, the transition from step ST1 to step ST2 can be reliably detected. Note that the processor 30 may execute step S3 after executing step S4′′.
  • the degree of change D is effective for detecting the transition from stage ST1 to stage ST2.
  • the velocity V (velocity command CMv), torque command CM ⁇ , or acceleration command CM ⁇ is relatively large, the degree of change D is effective for detecting the transition from stage ST1 to stage ST2.
  • the velocity V (velocity command CMv), torque command CM ⁇ , or acceleration command CM ⁇ is relatively small, in order to detect the transition from stage ST1 to stage ST2, the operation amount MA or the elapsed time te is becomes valid.
  • the processor 30 determines the parameters used by the step detector 46 to detect the transition from step ST1 to step ST2 as the degree of change D and the amount of movement MA ( or elapsed time te).
  • the processor 30 determines the parameters used by the step detector 46 to detect the transition from step ST1 to step ST2 as the degree of change D and the amount of movement MA ( or elapsed time te).
  • the processor 30 of the control device 14' includes a command generation unit 40, a correction amount calculation unit 42, a change acquisition unit 44, a step detection unit 46, an operation amount acquisition unit 48, and It functions as the elapsed time acquisition unit 50 and executes the flow shown in FIG.
  • the same step numbers are assigned to the same processes as those in the flows of FIGS. 7 and 9, and overlapping explanations are omitted.
  • step S11 the processor 30 determines whether the degree of change D is effective as a parameter for detecting transition from stage ST1 to stage ST2. As an example, the processor 30 determines whether or not the most recently acquired speed feedback V, speed command CMv, torque command CM ⁇ , or acceleration command CM ⁇ is equal to or greater than a predetermined threshold value ⁇ .
  • the processor 30 determines that the degree of change D is valid (that is, YES), and proceeds to step S4. , if the determination is NO, the process proceeds to step S4'.
  • step S11 If the determination in step S11 is YES, the processor 30 functions as the change acquisition unit 44 and executes steps S4 and S5 described above, thereby detecting transition from stage ST1 to stage ST2 based on the degree of change D. do. On the other hand, if the determination in step S11 is NO, the processor 30 functions as the operation amount acquisition unit 48 and executes the above-described steps S4' and S5', thereby shifting from stage ST1 to stage ST2 based on the operation amount MA. Detect transitions in
  • the processor 30 determines whether or not the degree of change D is valid, and uses the determination result to detect the transition from stage ST1 to stage ST2.
  • the parameter is switched between the degree of change D and the amount of motion MA. According to this configuration, if the degree of change D is effective, the processor 30 can detect the transition from stage ST1 to stage ST2 with high accuracy by monitoring the degree of change D. If D is not valid, the transition from stage ST1 to stage ST2 can be reliably detected by monitoring the amount of motion MA.
  • step S11 determines NO
  • the processor 30 functions as the elapsed time acquisition unit 50 instead of steps S4′ and S5′ to perform steps S4′′ and S5′′ described above. and detect the transition from stage ST1 to stage ST2 based on the elapsed time te.
  • An elastic parameter acquisition process may be performed to obtain the spring constant k2).
  • the processor 30 operates the motor 16 according to the command CM0 for reversing the operating direction of the motor 16 and then accelerating the motor 16, thereby causing the moving direction of the driven body 22 to is reversed, the driven body 22 is accelerated.
  • Spring constants k1 and k2 can be obtained based on the torque command CM ⁇ or force feedback F1 at this time and the position feedback P, respectively.
  • step S2 instead of determining whether there is a command CM for acceleration, the processor 30 determines whether the operating direction of the motor 16 has reversed based on the position feedback P, for example.
  • the industrial machine 12 also has a sensor 24' for obtaining the position P of the driven body 22, and the processor 30 may obtain the position P of the driven body 22 from the sensor 24' as the position feedback P. good.
  • the processor 30 may obtain the load torque applied to the motor 16 instead of the current feedback I. This load torque also constitutes the force parameter FP mentioned above.
  • the processor 30 corrects the position command CMp with the correction amount ⁇ 3.
  • the present invention is not limited to this, and the processor 30 may correct the speed command CMv with the obtained correction amount ⁇ .
  • the industrial machine 12 has the motor 16 and the elastic element 18 (ball screw) for driving the driven body 22 in one axis (axis A) direction is described.
  • the industrial machine 12 may be configured to drive the driven body 22 in directions of two axes orthogonal to each other.
  • the industrial machine 12 includes a motor 16A and an elastic element 18A that drive a driven body 22 in the direction of a first axis (eg, axis A), and an elastic actuator interposed between the driven body 22 and the elastic element 18A.
  • the processor 30 executes the process of detecting the transition from the stage ST1 to the stage ST2 and the process of switching the correction amount calculation process CP for each of the motors 16A and 16B by the method described above.
  • the driving force F generated by the motor 16 is first The elastic element, the second elastic element, . . . the nth elastic element, the n+1th elastic element, .
  • the state of the industrial machine 12 sequentially shifts to the first stage ST1, the second stage ST2, . . . the nth stage STn, the n+1th stage STn+1, .
  • the processor 30 functions as the stage detection unit 46, and according to the method described above, the driving force F generated by the motor 16 in response to the command CM is detected by the nth elastic element (specifically, the first elastic element, the second from the nth stage STn acting on the nth elastic element) to the n+1th stage STn+1 where the driving force F acts on the n+1th elastic element through the nth elastic element Detect transitions.
  • the processor 30 When detecting the transition from the n-th stage STn to the n+1-th stage STn+1, the processor 30 functions as the correction amount calculation unit 42, and performs the correction amount calculation processing CP by the above-described method to the n-th elastic An elastic parameter PRn+1 and an elastic parameter PRn (specifically is switched to the (n+1)th correction amount calculation process CPn+1 based on the elastic parameters PR1, PR2, . . . PRn, PRn+1).
  • the processor 30 calculates the combined spring constant of the first elastic element, the second elastic element, . . . Ks is obtained from equation (6) below.
  • the processor 30 substitutes the most recently obtained difference ⁇ and the combined spring constant ks obtained from the equation (6) into the above equation (5) to obtain the first elastic element, the second elastic element, . . , the correction amount ⁇ 3 for the (n ⁇ 1)-th elastic element and the n-th elastic element can be obtained. It should be understood that the processor 30 can obtain the correction amount ⁇ 3 in the same manner in the (n+1)th correction amount calculation process CPn+1 as well.
  • the motor 16 may be a linear motor.
  • the elastic element 18 may be an armature propelled by the field element of the motor 16 .

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Control Of Position Or Direction (AREA)

Abstract

モータと被駆動体との間に複数の弾性要素が介挿されている場合において、モータの位置決め精度を向上させる技術が求められている。 制御装置14は、モータ16の指令を生成する指令生成部40と、弾性要素18,20の弾性パラメータに基づいて指令の補正量を求める補正量演算処理を実行する補正量演算部42と、モータ16が発生した駆動力が第1の弾性要素18に作用する第1の段階から、該駆動力が該第1の弾性要素18を通して第2の弾性要素20に作用する第2の段階へ移行したことを検出する段階検出部46とを備え、補正量演算部42は、第1の段階から第2の段階への移行が検出されたときに、第1の弾性要素18の第1の弾性パラメータに基づく第1の補正量演算処理から、第2の弾性要素20の第2の弾性パラメータと第1の弾性パラメータとに基づく第2の補正量演算処理へ切り換える。

Description

モータの制御装置、産業機械システム、及びモータの制御方法
 本開示は、モータの制御装置、産業機械システム、及びモータの制御方法に関する。
 弾性要素(例えば、ボールねじ)を介して被駆動体に接続されたモータを制御する制御装置において、該弾性要素の弾性変形に応じてモータへの指令を補正する技術が知られている(例えば、特許文献1)。
特開2014-013554号公報
 モータと被駆動体との間に複数の弾性要素が介挿され、該複数の弾性要素が段階的に弾性変形することにより、モータによる被駆動体の位置決め精度に影響が生じる場合があった。従来、このような場合の位置決め精度を向上させる技術が求められている。
 本開示の一態様において、複数の弾性要素を介して被駆動体に接続され、該被駆動体を駆動するモータを制御する制御装置は、モータを加速するように動作させるための指令を生成する指令生成部と、弾性要素の弾性を表す弾性パラメータに基づいて指令の補正量を求める補正量演算処理を実行する補正量演算部と、指令に応じてモータが発生した駆動力が第1の弾性要素に作用する第1の段階から、該駆動力が該第1の弾性要素を通して第2の弾性要素に作用する第2の段階へ移行したことを検出する段階検出部とを備える。
 補正量演算部は、第1の段階から第2の段階への移行が検出されたときに、実行する補正量演算処理を、第1の弾性要素の第1の弾性パラメータに基づく第1の補正量演算処理から、第2の弾性要素の第2の弾性パラメータと第1の弾性パラメータとに基づく第2の補正量演算処理へ切り換える。
 本開示の他の態様において、複数の弾性要素を介して被駆動体に接続され、該被駆動体を駆動するモータを制御する方法は、プロセッサが、モータを加速するように動作させるための指令を生成し、弾性要素の弾性を表す弾性パラメータに基づいて指令の補正量を求める補正量演算処理を実行し、指令に応じてモータが発生した駆動力が第1の弾性要素に作用する第1の段階から、該駆動力が該第1の弾性要素を通して第2の弾性要素に作用する第2の段階へ移行したことを検出し、第1の段階から第2の段階への移行を検出したときに、実行する補正量演算処理を、第1の弾性要素の第1の弾性パラメータに基づく第1の補正量演算処理から、該第1の弾性パラメータと第2の弾性要素の第2の弾性パラメータとに基づく第2の補正量演算処理へ切り換える。
 本開示によれば、モータの駆動力が複数の弾性要素に作用する段階に適した補正量を求めることができる。したがって、モータと被駆動体とが複数の弾性要素を介して接続されている場合において、複数の弾性要素の段階的な弾性変形に起因する誤差を高精度に打ち消すことができるので、モータによる被駆動体の位置決め精度を向上させることができる。
一実施形態に係る産業機械システムのブロック図である。 図1に示す産業機械の概略図を示す。 図2に示す産業機械の機械モデルを示す。 図3に示す機械モデルにおいて、モータの駆動力が第1の弾性要素に作用した第1の段階を示す。 図3に示す機械モデルにおいて、モータの駆動力が、第1の弾性要素を通して第2の弾性要素に作用した第2の段階を示す。 モータを動作させる指令の時間変化特性の一例を示す。 図1に示す制御装置の動作フローの一例を示すフローチャートである。 図1に示す制御装置の他の機能を示すブロック図である。 図8に示す制御装置の動作フローの一例を示すフローチャートである。 他の実施形態に係る制御装置を具備する産業機械システムのブロック図である。 図10に示す制御装置の動作フローの一例を示すフローチャートである。 図10に示す制御装置の他の機能を示すブロック図である。 図10に示す制御装置の動作フローの他の例を示すフローチャートである。
 以下、本開示の実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する種々の実施形態において、同様の要素には同じ符号を付し、重複する説明を省略する。まず、図1及び図2を参照して、一実施形態に係る産業機械システム10について説明する。産業機械システム10は、産業機械12、及び制御装置14を備える。
 産業機械12は、ワークに対して所定の作業(切削加工、溶接等)を行うためのものであって、モータ16、複数の弾性要素18及び20、並びに被駆動体22を有する。モータ16は、例えば、電動機としてのサーボモータであって、制御装置14からの指令に応じて、その出力シャフト16a(図2)を回転駆動する。
 モータ16の出力シャフト16aと被駆動体22とは、複数の弾性要素18及び20を介して、互いに機械的に連結されている。例えば、弾性要素18は、軸線Aに沿って真直ぐに延在するボールねじであって、弾性パラメータPR1を有する部材(例えば、鉄製部材)である。
 弾性パラメータPR1は、弾性要素18の弾性を表すパラメータであって、例えば、バネ定数k1、コンプライアンスC1(=1/k1)、又は弾性率G1(ヤング率、剛性率、又はポアソン比等を含む)を有する。なお、以下の説明においては、図2中の矢印Bで示す軸線Aに沿う方向を、右方として言及することがある。弾性要素18は、その左端がモータ16の出力シャフト16aに固定される。
 一方、弾性要素20は、例えば、弾性要素18と被駆動体22との間に介挿され、弾性要素18を収容する筐体(図示せず)の内側に異物が混入するのを防止するシール機構であって、弾性パラメータPR2を有する部材(例えば、ゴム製部材)である。弾性パラメータPR2は、弾性要素20の弾性を表すパラメータであって、バネ定数k2、コンプライアンスC2(=1/k2)、又は弾性率G2を有し得る。
 被駆動体22は、例えば、ワークが設置されるワークテーブルであって、ボールねじとしての弾性要素18と係合する係合部22aを有する。モータ16が出力シャフト16aを回転駆動するとともに、弾性要素18が軸線A周りに回転され、該弾性要素18の回転に応じて、被駆動体22が軸線Aの方向へ往復動される。
 一方、シール機構としての弾性要素20は、被駆動体22に接触しており、該被駆動体22が往復動するのに応じて弾性変形し、該被駆動体22に対し、弾性変形の応力及び摩擦力等の力を加える。こうして、モータ16は、弾性要素18及び20を介して、被駆動体22を駆動する。
 モータ16には、少なくとも1つのセンサ24(図1)が設けられている。例えば、センサ24は、出力シャフト16aの回転位置Pを検出する回転検出センサ(エンコーダ、ホール素子等)、モータ16に供給された電流Iを検出する電流センサ、及び、モータ16が出力シャフト16aに与える駆動力F(トルク)を検出する力センサ(トルクセンサ)を有する。
 センサ24は、回転位置P、電流I、及び駆動力Fを検出し、それぞれ、位置フィードバックP、電流フィードバックI、及び力フィードバックFとして、制御装置14に供給する。なお、センサ24は、出力シャフト16a(又は被駆動体22)の加速度αを検出し、検出値を加速度フィードバックαとして制御装置14に供給してもよいし、又は、位置フィードバックPを時間二階微分することで得られる加速度フィードバックαを制御装置14に供給してもよい。
 制御装置14は、産業機械12(具体的には、モータ16)を制御する。図1に示すように、制御装置14は、プロセッサ30、メモリ32、及びI/Oインターフェース34を有するコンピュータである。プロセッサ30は、CPU又はGPU等を有し、バス36を介してメモリ32及びI/Oインターフェース34に通信可能に接続されている。プロセッサ30は、メモリ32及びI/Oインターフェース34と通信しつつ、後述する指令補正機能を実現するための演算処理を行う。
 メモリ32は、RAM又はROM等を有し、プロセッサ30が実行する指令補正機能のための演算処理で利用される各種データ、及び該演算処理の途中で生成される各種データを、一時的又は恒久的に記憶する。I/Oインターフェース34は、例えば、イーサネット(登録商標)ポート、USBポート、光ファイバコネクタ、又はHDMI(登録商標)端子を有し、プロセッサ30からの指令の下、外部機器との間でデータを有線又は無線で通信する。
 プロセッサ30は、モータ16を加速するように駆動するための指令CMを生成する。この指令CMは、例えば、位置指令CMp、速度指令CMv、及びトルク指令CMτを有する。位置指令CMpは、被駆動体22(つまり、モータ16の出力シャフト16a)の目標位置を規定し、速度指令CMvは、モータ16(又は被駆動体22)の速度Vを規定し、トルク指令CMτは、モータ16の駆動力F(トルク)を規定する。
 なお、指令CMは、トルク指令CMτの代わりに、モータ16の出力シャフト16a(又は、被駆動体22)の加速度αを規定する加速度指令CMαを有してもよい。このように、本実施形態においては、プロセッサ30は、指令CMを生成する指令生成部40(図1)として機能する。
 モータ16は、指令CMに応じて出力シャフト16aを回転駆動する駆動力F(トルク)を発生させる。モータ16が生じた駆動力Fは、弾性要素18に作用した後に弾性要素20に作用して、被駆動体22を駆動することになる。弾性要素18及び20は、駆動力Fの作用によって僅かに弾性変形するバネとして見做すことができる。
 図3に、産業機械12の概略的な機械系モデルを示す。図3に示すように、産業機械12は、モータ16と被駆動体22との間に、バネとしての弾性要素18及び20が介挿された機械系モデルとして、概略的に表すことができる。図3に示すように、産業機械12の機械系モデルにおいては、弾性要素18と弾性要素20との間に、バックラッシ要素BL1が存在する。
 機械系モデル上のバックラッシ要素BL1は、出力シャフト16aと弾性要素18との間のバックラッシと、弾性要素18と被駆動体22(係合部22a)とのバックラッシとを表している。一方、弾性要素18と弾性要素20との間には、バックラッシ要素BL2が存在する。機械系モデル上のバックラッシ要素BL2は、弾性要素20と被駆動体22とのバックラッシを表している。
 ここで、プロセッサ30が、モータ16の動作方向(つまり、出力シャフト16aの回転方向)を一方から他方へ反転させた後に該モータ16を加速するための指令CMを生成し、該指令CMにより、被駆動体22の移動方向が右方から左方へ反転して、該被駆動体22が左方へ加速されるとする。この場合、モータ16は、該指令CMに応じた駆動力F(トルク)を発生させる。
 この駆動力Fは、まず、弾性要素18に作用するが、上述のバックラッシ要素BL1によって、該駆動力Fが弾性要素18に作用して該弾性要素18を弾性変形させる(機械モデル上は、弾性要素18のバネを伸張させる)までに微小なタイムラグTL1が発生することになる。駆動力Fが弾性要素18に作用してからタイムラグTL1が経過すると(つまり、バックラッシ要素BL1が解消されると)、図4に示すように、弾性要素18に作用した駆動力Fによって、弾性要素18が弾性変形(つまり、バネが伸張)し始める。
 一方、上述のバックラッシ要素BL2によって、弾性要素18が弾性変形してから、駆動力Fが弾性要素20を弾性変形(つまり、弾性要素20のバネを伸張)させるまでに微小なタイムラグTL2が発生することになる。弾性要素18が弾性変形してからタイムラグTL2が経過すると(つまり、バックラッシ要素BL2が解消されると)、図5に示すように、弾性要素20に作用した駆動力Fによって、該弾性要素20が弾性変形し始める。そして、被駆動体22が、弾性要素20からの力(応力、摩擦力)を受けつつ、左方へ移動し始めることになる。
 このように、産業機械12においては、モータ16が発生した駆動力Fが弾性要素18に作用して該弾性要素18を弾性変形させる段階ST1(図4)があり、この段階ST1においては、バックラッシ要素BL2の影響により、弾性要素20に駆動力Fが実質作用しない。すなわち、この段階ST1では、産業機械12の機械モデルにおいて、弾性要素18のバネのみが存在していると見做すことができ、故に、弾性パラメータPR1のみ考慮する必要がある。
 そして、段階ST1から、駆動力Fが弾性要素18を通して弾性要素20に作用して該弾性要素20を弾性変形させる段階ST2(図5)へ移行する。この段階ST2では、駆動力Fが弾性要素18及び20に作用するので、産業機械12の機械モデルにおいて、弾性要素18及び20の合成バネが存在しているものと見做すことができ、故に、弾性パラメータPR1及びPR2を考慮する必要がある。
 このように駆動力Fが複数の弾性要素18及び20に段階的に作用する複数の段階ST1及びST2を経て、被駆動体22が駆動力Fによって駆動される。指令CMに従ってモータ16が駆動力Fを発生させたときに弾性要素18及び20が段階的に弾性変形することで、左方への被駆動体22の動き出しに遅れが生じ、その結果、指令CMを構成する位置指令CMpと実際の被駆動体22の位置(具体的には、モータ16の回転位置)との間に誤差εが生じてしまう。
 このような誤差εを打ち消すべく、プロセッサ30は、弾性要素18、20の弾性パラメータPRに基づいて、指令CMを補正する補正量βを求める補正量演算処理CPを実行する。したがって、本実施形態においては、プロセッサ30は、補正量演算処理CPを実行する補正量演算部42(図1)として機能する。なお、補正量演算処理CPの詳細については、後述する。
 上述のような指令CMに従ってモータ16を加速させ、図3~図5を参照して説明したように被駆動体22を移動させたときの、該指令CMに含まれる位置指令CMp及びトルク指令CMτの時間変化特性の一例を、図6に示す。図6に示す位置指令CMpは、時間t0においてモータ16(又は被駆動体22)の動作方向を反転させていることを表している。
 一方、トルク指令CMτの、時間tに対する変化の度合いDは、時間t0~t1の期間で比較的急である一方、時間t以降の期間で比較的緩やかになっている。時間t0~t1の期間は、上述の段階ST1に対応する一方、時間t1以降の期間は、上述の段階ST2に対応している。
 なお、指令CMに応じてモータ16が発生する駆動力Fは、トルク指令CMτ、力フィードバックF、加速度フィードバックα(又は加速度指令CMα)、及び電流フィードバックIと高度に相関する。よって、トルク指令CMτ、力フィードバックF、加速度フィードバックα、加速度指令CMα、及び電流フィードバックIは、駆動力Fを示す力パラメータFPとして見做すことができる。よって、力フィードバックF、加速度α、加速度指令CMα、及び電流フィードバックIの時間変化特性は、図6に示すトルク指令CMτ(換言すれば、駆動力F)の時間変化特性と類似する。
 本実施形態においては、プロセッサ30は、モータ16の稼働中に、段階ST1と段階ST2とで異なる補正量演算処理CP1、CP2を実行するために、段階ST1から段階ST2への移行を検出する。具体的には、プロセッサ30は、力パラメータFP(トルク指令CMτ、加速度指令CMα、力フィードバックF、加速度α、加速度フィードバックα、又は電流フィードバックI)の変化の度合いDを取得し、該変化の度合いDに基づいて、段階ST1から段階ST2への移行を検出する。
 一例として、プロセッサ30は、変化の度合いDとして、トルク指令CMτ(図6)の傾きD1(=δCMτ/δt)を取得する。例えば、プロセッサ30は、制御周期Tc(例えば、50[msec])で指令CMを生成する場合、直近に生成したトルク指令CMτと、該トルク指令CMτの直前に生成したトルク指令CMτn-1との差D2(=CMτ-CMτn-1)を求め、該差D2を制御周期Tcで除算することで傾きD1(=D2/Tc=(CMτ-CMτn-1)/Tc)を求めてもよい。
 代替的には、プロセッサ30は、上述の差D2(=CMτ-CMτn-1)を、変化の度合いDとして取得してもよい。なお、プロセッサ30は、加速度指令CMαについても、トルク指令CMτと同様に、加速度指令CMαの傾きD3(=δCMα/δt=(CMα-CMαn-1)/Tc)、又は差D4(=CMα-CMαn-1)を、変化の度合いDとして取得できることを理解されたい。
 他の例として、プロセッサ30は、変化の度合いDとして、力フィードバックFの傾きD5(=δF/δt)を取得する。例えば、プロセッサ30は、センサ24から力フィードバックFを制御周期tcで取得する。そして、プロセッサ30は、直近に取得した力フィードバックFと、該力フィードバックFの直前に取得した力フィードバックFn-1との差D6(=F-Fn-1)を求め、該差D6を制御周期Tcで除算することで傾きD5(=D6/Tc=(F-Fn-1)/Tc)を求めてもよい。
 代替的には、プロセッサ30は、上述の差D6(=F-Fn-1)を、変化の度合いDとして取得してもよい。なお、プロセッサ30は、電流フィードバックIについても、力フィードバックFと同様に、センサ24から制御周期Tcで取得し、電流フィードバックIの傾きD7(=δI/δt=(I-In-1)/Tc)、又は差D8(=I-In-1)を、変化の度合いDとして取得できることを理解されたい。
 さらに他の例として、プロセッサ30は、変化の度合いDとして、加速度フィードバックαの傾きD9(つまり、躍度)を取得してもよい。具体的には、プロセッサ30は、センサ24から位置フィードバックPを制御周期Tcで取得し、直近に取得した位置フィードバックPと、該位置フィードバックPの直前に生成した位置フィードバックPn-1との差(=P-Pn-1)を求め、該差を制御周期Tcで除算することで、速度フィードバックV(=(P-Pn-1)/Tc)を求める。
 次いで、プロセッサ30は、直近に取得した速度フィードバックVと、該速度フィードバックVの直前に生成した速度フィードバックVn-1との差(=V-Vn-1)を求め、該差を制御周期Tcで除算することで、加速度フィードバックα(=(V-Vn-1)/Tc)を求める。
 次いで、プロセッサ30は、直近に取得した加速度フィードバックαと、該加速度フィードバックαの直前に生成した加速度フィードバックαn-1との差D10(=α-αn-1)を求め、該差D10を制御周期Tcで除算することで、加速度フィードバックαの傾きD9(=D10/Tc=(α-αn-1)/Tc)を取得する。代替的には、プロセッサ30は、上述の差D10を、加速度フィードバックαの変化の度合いDとして取得してもよい。
 以上のように、プロセッサ30は、力パラメータFP(具体的には、トルク指令CMτ、加速度指令CMτ、力フィードバックF、電流フィードバックI、又は加速度フィードバックα)の変化の度合いD(D1~D10)を取得する変化取得部44(図1)として機能する。
 次いで、プロセッサ30は、取得した変化の度合いDが、予め定めた基準Dthを超えたか否かを判定する。例えば、変化の度合いDとしてトルク指令CMτの傾きD1を取得した場合、プロセッサ30は、傾きD1が予め定めた基準値Dth1を超えて減少した場合(D1<Dth1)、変化の度合いDが基準Dthを超えたと判定する。
 この基準値Dth1は、例えば、図6に示す段階ST1でのトルク指令CMτの傾きD1_1と、段階ST2でのトルク指令CMτの傾きD1_2との間の値(D1_2<Dth1<D1_1)として、予め定められ得る。なお、プロセッサ30は、他の変化の度合いD2~D10についても、同様の手法で基準Dthを超えたか否かを判定できることを理解されたい。
 プロセッサ30は、変化の度合いDが基準Dthを超えたと判定したときに、段階ST1から段階ST2へ移行したこと(換言すれば、時間t1のタイミング)を検出する。このように、本実施形態においては、段階ST1から段階ST2へ移行したことを検出する段階検出部46(図1)として機能する。
 上述のように段階ST1から段階ST2への移行を検出したとき、プロセッサ30は、実行する補正量演算処理CPを、弾性要素18の弾性パラメータPR1に基づく補正量演算処理CP1から、該弾性パラメータPR1と、弾性要素20の弾性パラメータPR2とに基づく補正量演算処理CP2へ切り換える。
 具体的には、プロセッサ30は、補正量演算部42として機能し、段階ST1(図6中の時間t0~t1の期間)においては、補正量演算処理CP1を実行し、該補正量演算処理CP1において、弾性要素18の弾性パラメータPR1としてのバネ定数k1と、上述の力パラメータFPとを用いて、弾性要素18に関する補正量β1を求める。一例として、プロセッサ30は、補正量演算処理CP1において、バネ定数k1と、直近に取得したトルク指令CMτとを、以下の式(1)に代入することで、補正量β1を求める。
 β1=CMτ/k1 ・・・(1)
 この式(1)は、いわゆるフックの法則であって、本実施形態に係る補正量演算処理CP1は、図3~図5に示すように弾性要素18を1つのバネとして擬制した機械モデルに基づいている。バネ定数k1は、産業機械12においてモータ16が弾性要素18に加えた力(トルク)と、該力による弾性要素18の軸線Aの方向の弾性変形量との比例係数として予め定められ、メモリ32に格納される。
 上述の式(1)から求められる補正量β1は、段階ST1(図4)で弾性要素18が弾性変形することで生じる誤差ε1を打ち消すためのものである。こうして、プロセッサ30は、段階ST1において補正量演算処理CP1を実行することで、弾性要素18に関する補正量β1を求める。
 そして、プロセッサ30は、段階ST1において、求めた補正量β1で指令CMを補正する。具体的には、補正量β1は、モータ16の回転位置P(又は被駆動体22の位置)と同次元のパラメータであるので、プロセッサ30は、補正量β1を位置指令CMpに適用することで、該位置指令CMpを補正する。例えば、プロセッサ30は、補正量β1を位置指令CMpに加算(CMp+β1)することで、該位置指令CMpを補正してもよい。又は、補正量β1を、モータ16の出力シャフト16aの回転位置に変換し、変換後の補正量β1を位置指令CMpに加算してもよい。
 一方、段階ST2(図6中の時間t1以降の期間)においては、プロセッサ30は、補正量演算部42として機能して、補正量演算処理CP2を実行する。補正量演算処理CP2の一例として、プロセッサ30は、まず、段階ST1から段階ST2への移行を検出した時点(図6中の時間t1)でのトルク指令CMτ(図6)を取得する。
 その後、プロセッサ30は、直近に取得したトルク指令CMτと、上述のトルク指令CMτとの差Δτ(=CMτ-CMτ)を取得し、弾性要素18のバネ定数k1と、直近に取得したΔτを以下の式(2)に代入することで、補正量β1’を求める。
 β1’=Δτ/k1 ・・・(2)
 この式(2)も、上述の式(1)と同様にフックの法則を示しており、この補正量β1’は、段階ST2(図5)で弾性要素18が弾性変形することで生じる誤差ε1を打ち消すためのものである。以下、補正量β1’を求めるために、トルク指令CMτの代わりに差Δτを用いる意義について、説明する。
 段階ST1(図4)から段階ST2(図5)へ移行すると、モータ16が発生する駆動力Fは、バックラッシ要素BL1及びBL2での摩擦力(等価回路上の抵抗)等の影響を受ける。その結果、段階ST2において弾性要素18及び20を弾性変形させる(つまり、バネを伸ばす)力は、駆動力Fよりも減ぜられることになる。よって、段階ST2で弾性要素18及び20を弾性変形させる力を、上述の差Δτで近似することで、段階ST2での弾性要素18及び20の弾性変形量(換言すれば、補正量)を、より正確に評価することができる。
 上述の補正量β1’を求めるとともに、プロセッサ30は、弾性要素20の弾性パラメータPR2としてのバネ定数k2と、直近に取得した差Δτとを以下の式(3)に代入することで、補正量β2を求める。
 β2=Δτ/k2 ・・・(3)
 この式(3)も、上述の式(2)と同様にフックの法則を示しており、本実施形態に係る補正量演算処理CP2は、弾性要素20を1つのバネとして擬制した機械モデルに基づいている。バネ定数k2は、産業機械12においてモータ16が弾性要素20に加えた力(トルク)と、該力による弾性要素20の軸線Aの方向の弾性変形量との比例係数として予め定められ、メモリ32に格納される。補正量β2は、段階ST2(図5)で弾性要素20が弾性変形することで生じる誤差ε2を打ち消すためのものである。
 そして、プロセッサ30は、求めた補正量β1’及びβ2の和Σβn(=β1’+β2)を求め、該和Σβnを、弾性要素18及び20に関する補正量β3(=Σβn=Δτ(1/k1+1/k2))として取得する。この補正量β3は、段階ST2で弾性要素18及び20の合成バネが弾性変形することで生じる誤差ε3を打ち消すためのものである。
 補正量演算処理CP2の他の例として、プロセッサ30は、弾性要素18及び20の合成バネ定数ksと、力パラメータFPとしてのトルク指令CMτ及びCMτとを用いて、弾性要素18及び20に関する補正量β3を求める。ここで、図3~図5に示すような、弾性要素18及び20が直列接続された機械モデルの場合、合成バネ定数ksと、バネ定数k1及びk2とは、以下の式(4)を満たす。
 1/ks=1/k1+1/k2 ・・・(4)
 この式(4)より、合成バネ定数ksは、ks=k1・k2/(k1+k2)として、予め定められ、メモリ32に格納される。プロセッサ30は、直近に取得したトルク指令CMτとトルク指令CMτとの差Δτを取得し、該差Δτと合成バネ定数ksとを、以下の式(5)に代入することで、弾性要素18及び20に関する補正量β3を求める。
 β3=Δτ/ks=Δτ(1/k1+1/k2) ・・・(5)
 この式(5)も、フックの法則を示しており、弾性要素18及び20を1つの合成バネとして擬制した機械モデルに基づいている。以上のようにして、プロセッサ30は、段階ST2において補正量演算処理CP2を実行することで、弾性要素18及び20に関する補正量β3を求める。そして、プロセッサ30は、段階ST2において、段階ST1と同様に、求めた補正量β3を位置指令CMpに適用する(例えば、加算する)ことで、該位置指令CMpを補正する。
 上述のように、プロセッサ30は、補正量演算部42として機能して、段階ST1においては、弾性パラメータPR1(バネ定数k1)に基づく補正量演算処理CP1を実行し、段階ST1から段階ST2への移行を検出すると、該補正量演算処理CP1から、弾性パラメータPR1(バネ定数k1)及びPR2(バネ定数k2)に基づく補正量演算処理CP2へ切り換える。こうして、プロセッサ30は、段階ST1及びST2において、求めた補正量β1及びβ3で位置指令CMpをそれぞれ補正する。
 以下、図7を参照して、プロセッサ30が実行する指令補正処理の詳細なフローについて説明する。図7に示すフローは、プロセッサ30が、オペレータ、上位コントローラ、又は動作プログラムから動作開始指令を受け付けたときに、開始する。ステップS1において、プロセッサ30は、動作プログラムに従って、モータ16への指令CMを生成する動作を開始する。モータ16は、指令CMに従って被駆動体22を駆動し、これにより、産業機械12は、ワークに対する所定の作業を実行する。
 ステップS2において、プロセッサ30は、モータ16を加速するように駆動するための指令CMがあるか否かを判定する。例えば、この指令CMは、モータ16の動作方向を反転させた後に該モータ16を加速するための指令である。代替的には、この指令CMは、停止状態(又は、低速動作状態)のモータ16を急加速するための指令であってもよい。このような加速をするための指令CMに従ってモータ16を動作させたとき、図3~図5に示すように駆動力Fが複数の弾性要素18及び20に段階的に作用することで、上述した複数の段階ST1及びST2が順に生じることになる。
 例えば、プロセッサ30は、動作プログラムを解析することで、モータ16を加速(例えば、反転して加速)するための指令CMがあるか否かを認識できる。プロセッサ30は、YESと判定するとステップS3へ進む一方、NOと判定した場合は、ステップS7へ進む。このステップS2でYESと判定した時点(図6中の時間t0に相当)から、モータ16は加速を開始し、これにより産業機械12の状態は、段階ST1へ移行する。
 ステップS3において、プロセッサ30は、補正量演算処理CP1を開始する。具体的には、プロセッサ30は、上述した方法により、弾性要素18の弾性パラメータPR1(バネ定数k1)と力パラメータFP(トルク指令CMτ)とを用いて、弾性要素18に関する補正量β1を求める。そして、プロセッサ30は、求めた補正量β1で指令CMを補正する。この補正量β1の算出と、指令CMの補正との一連の動作を、段階ST1の間に、例えば制御周期tc(又は制御周期tcの整数倍の周期)で、繰り返し実行する。
 ステップS4において、プロセッサ30は、時間tに対する力パラメータFPの変化の度合いDを取得する動作を開始する。具体的には、プロセッサ30は、上述した方法により、例えばトルク指令CMτの傾きD1を、変化の度合いDとして、制御周期tc(又は制御周期tcの整数倍の周期)で、繰り返し取得する。
 ステップS5において、プロセッサ30は、直近に取得した変化の度合いDが、予め定めた基準Dthを超えたか否かを判定する。例えば、ステップS4で傾きD1を取得した場合、プロセッサ30は、傾きD1が基準値Dth1を超えて減少したか否かを判定する。プロセッサ30は、YESと判定するとステップS6へ進む一方、NOと判定するとステップS5をループする。このステップS5でYESと判定した時点(図6中の時間t1に相当)で、産業機械12の状態は、段階ST1から段階ST2へ移行したと見做すことができる。
 ステップS6において、プロセッサ30は、補正量演算処理CP1から補正量演算処理CP2へ切り換える。具体的には、プロセッサ30は、上述した方法により、弾性要素18の及び20の弾性パラメータPR1及びPR2(バネ定数k1、k2、又は合成バネ定数ks)と、力パラメータFP(トルク指令CMτ、トルク指令CMτ)とを用いて、補正量β3を求める。そして、プロセッサ30は、求めた補正量β3で指令CMを補正する。この補正量β3の算出と、指令CMの補正との一連の動作を、段階ST2の間に、例えば制御周期tc(又は制御周期tcの整数倍の周期)で、繰り返し実行する。
 ステップS7において、プロセッサ30は、オペレータ、上位コントローラ、又は動作プログラムから動作終了指令を受け付けたか否かを判定する。プロセッサ30は、YESと判定した場合は、図7に示すフローを終了する一方、NOと判定した場合はステップS2へ戻る。
 以上のように、本実施形態においては、段階検出部46は、段階ST1から段階ST2へ移行したことを検出し、補正量演算部42は、段階ST1から段階ST2への移行が検出されたときに、実行する補正量演算処理CPを、弾性パラメータPR1に基づく補正量演算処理CP1から、弾性パラメータPR1及びPR2に基づく補正量演算処理CP2へ切り換えている。
 換言すれば、プロセッサ30は、モータ16が発生した駆動力Fが複数の弾性要素18及び20に順に作用する段階ST1、ST2に応じて、補正量βを取得するために用いる弾性パラメータPR1、PR2を切り換えている。この構成によれば、各段階ST1、ST2に適した補正量β1、β3を求めることができる。
 したがって、モータ16と被駆動体22とが複数の弾性要素18及び20を介して連結されている産業機械12において、弾性要素18及び20の段階的な弾性変形に起因する誤差εをより高精度に打ち消すことができるので、モータ16による被駆動体22の位置決め精度を、大幅に向上させることができる。
 また、本実施形態においては、変化取得部44は、時間tに対する力パラメータFPの変化の度合いD(D1~D10)を取得し、段階検出部46は、取得した変化の度合いDが基準Dthを超えたときに、段階ST1から段階ST2へ移行したことを検出する。ここで、段階ST1から段階ST2への移行は、力パラメータFPの変化として顕著に表れる(例えば図6)ので、変化の度合いDを監視することで、段階ST1から段階ST2へ移行を、高精度且つリアルタイムで検出できる。
 また、本実施形態においては、変化取得部44は、変化の度合いDとして、力パラメータD(例えば、トルク指令CMτ、加速度指令CMα、力フィードバックF、電流フィードバックI、又は加速度フィードバックα)の傾きD1、D3、D5,D7又はD9を取得する。この構成によれば、段階ST1から段階ST2へ移行を、さらに高精度に検出できる。
 また、本実施形態においては、指令生成部40は、モータ16(つまり、被駆動体22)の動作方向を反転(図6中の時間t0)させた後に該モータ16を加速するための指令CMを生成し、これにより、産業機械12の状態が段階ST1を経て段階ST2へ移行している。
 ここで、図3~図5を参照して説明した段階ST1から段階ST2への移行は、モータ16(被駆動体22)の動作方向を反転させた後に該モータ16を加速したときに、顕著に表れる。すなわち、モータ16の反転時に、誤差ε(ε1、ε2、ε3)が顕著に生じることになる。本実施形態によれば、モータ16の反転時に生じる誤差εを効果的に打ち消すことができ、その結果、モータ16の反転時での位置決め精度を、効果的に向上させることができる。
 なお、本実施形態においては、上述の式(2)、(3)及び(5)において、バックラッシ要素BL1及びBL2での摩擦力等の影響を考慮して差Δτを用いた場合について述べた。しかしながら、プロセッサ30は、上述の式(2)、(3)及び(5)中の差Δτの代わりに、直近に取得したトルク指令CMτを代入してもよい。
 また、上述の式(1)に関し、プロセッサ30は、トルク指令CMτを、弾性要素18のイナーシャ等の影響を除去するように補正した上で、該式(1)に代入し、補正量β1を求めてもよい。また、上述の式(2)、(3)及び(5)に関しても、プロセッサ30は、トルク指令CMτを、弾性要素18及び20のイナーシャ等の影響を除去するように補正した上で該式(2)及び(3)、又は式(5)に代入し、補正量β3を求めてもよい。
 また、プロセッサ30は、上述の式(1)において、トルク指令CMτの代わりに、加速度フィードバックαに、弾性要素18の質量m1を乗算した値:α×m1を代入してもよい。同様に、上述の式(2)及び(3)、又は式(5)において、プロセッサ30は、トルク指令CMτ(及びCMτ)の代わりに、加速度フィードバックαに、弾性要素18の質量m1及び弾性要素20の質量m2の和を乗算した値:(m1+m2)αを代入してもよい。
 また、本実施形態においては、産業機械12を、図3~図5に示すように2つのバネ(弾性要素18及び20)が直列接続された機械モデルとして近似した上で、フックの法則に基づく式(1)~(5)から補正量βを求める場合について述べた。しかしながら、上述の式(1)~(5)は一例であって、例えば弾性パラメータPR1及びPR2として弾性率G1及びG2を用いて、産業機械12をより複雑な機械モデルとして近似し、該複雑な機械モデルを表す理論式に基づいて、補正量βを求めることも可能である。
 次に、図8及び図9を参照して、制御装置14の他の機能について説明する。本実施形態においては、プロセッサ30は、上述の変化取得部44の代わりに、動作量取得部48として機能する。以下、図9を参照して、本実施形態に係る制御装置14の機能について、説明する。なお、図9に示すフローにおいて、図7のフローと同様のプロセスには同じステップ番号を付し、重複する説明を省略する。
 プロセッサ30は、図9に示すフローを開始後、上述のステップS1~S3を実行する。ステップS4’において、プロセッサ30は、ステップS2でYESと判定した時点(図6中の時間t0)からのモータ16の動作量MAを取得するプロセスを開始する。ここで、ステップS2でYESと判定した時点(時間t0)は、モータ16を反転後に加速するための指令CMに従って該モータ16が動作を開始した時点である。
 一例として、プロセッサ30は、ステップS4’の開始時点(つまり、ステップS2でYESと判定した時点t0)で、センサ24から位置フィードバックPを取得する。その後、プロセッサ30は、段階ST1の間、例えば制御周期tsで、センサ24から位置フィードバックPを繰り返し取得する。
 そして、プロセッサ30は、位置フィードバックPを取得する毎に、取得した位置フィードバックPと、ステップS4’の開始時点t0で取得した位置フィードバックPとの差に基づいて、時点t0からのモータ16の動作量MAを取得する。この動作量MAは、例えば、モータ16の出力シャフト16aの回転角度であってもよいし、又は、該回転角度を軸線Aの方向への移動距離へ変換したものであってもよい。このように、本実施形態においては、プロセッサ30は、時点t0からのモータ16の動作量MAを取得する動作量取得部48として機能する。
 ステップS5’において、プロセッサ30は、直近に取得した動作量MAが、予め定めた閾値MAthに到達した(MA≧MAth)か否かを判定する。ここで、時点t0から、段階ST1から段階ST2へ移行する時点t1までにモータ16が動作する動作量MAth(回転角度、又は移動距離)は、実験的手法により、予め取得することができる。
 換言すれば、図3に示す機械モデルにおいて、モータ16が被駆動体22を左方へ駆動する動作を開始した時点t0から、駆動力Fが弾性要素18を通して弾性要素20に作用して、該弾性要素20のバネが伸び始める時点t1までの、該モータ16の動作量MAth(回転角度)は、実験等により予め取得できる。このように予め取得した動作量MAthを閾値MAthとして用いて、ステップS4’で取得した動作量MAと比較することで、段階ST1から段階ST2へ移行するタイミング(時間t1)を検出できる。
 プロセッサ30は、段階検出部46として機能し、直近に取得した動作量MAが閾値MAthに到達した(MA≧MAth)か否かを判定し、YESと判定した場合はステップS6へ進む一方、NOと判定した場合はステップS5’をループする。このステップS5’でYESと判定したとき、産業機械12の状態は、段階ST1から段階ST2へ移行したものと見做すことができる。ステップS5’でYESと判定した後、プロセッサ30は、上述のステップS6及びS7を実行する。
 このように、本実施形態においては、段階検出部46は、動作量取得部48が取得した動作量MAが予め定めた閾値MAthに達したときに、段階ST1から段階ST2へ移行したことを検出する。ここで、図6に示す例では、時間t1で変化の度合いDが大きく変わっているが、仮に、モータ16の速度V(若しくは速度指令CMv)、又はトルク指令CMτ(若しくは加速度指令CMα)が小さい場合は、変化の度合いD(傾き)の変動量が小さくなる。この場合、変化の度合いDから、段階ST1から段階ST2への移行を検出し難くなる。
 本実施形態においては、変化の度合いDの代わりに、モータ16の動作量MAから、段階ST1から段階ST2への移行を検出できる。したがって、速度V(速度指令CMv)、トルク指令CMτ又は加速度指令CMαが小さい場合でも、段階ST1から段階ST2への移行を確実に検出できる。なお、プロセッサ30は、ステップS4’を実行した後に、ステップS3を実行してもよい。
 次に、図10及び図11を参照して、他の実施形態に係る制御装置14’について説明する。制御装置14’は、上述の制御装置14の代わりに、産業機械システム10に適用可能であり、産業機械12を制御する。制御装置14’は、上述の制御装置14と、計時部38をさらに有する点で、相違する。計時部38は、バス36を介してプロセッサ30に接続され、該プロセッサ30からの指令に応じて、任意の時点からの経過時間を計時する。
 本実施形態においては、プロセッサ30は、上述の変化取得部44又は動作量取得部48の代わりに、経過時間取得部50として機能する。以下、図11を参照して、本実施形態に係る制御装置14’の機能について、説明する。なお、図11に示すフローにおいて、図7のフローと同様のプロセスには同じステップ番号を付し、重複する説明を省略する。
 プロセッサ30は、図11に示すフローを開始後、上述のステップS1~S3を実行する。ステップS4”において、プロセッサ30は、ステップS2でYESと判定した時点(時間t0)からの経過時間teの計時を開始する。具体的には、プロセッサ30は、ステップS2でYESと判定した時点t0で計時部38に指令を送り、計時部38は、該指令に応じて、該時点t0からの経過時間teの計時を開始する。
 ステップS5”において、プロセッサ30は、計時部38が計時している経過時間teが予め定めた閾値tthに到達した(te≧tth)か否かを判定する。ここで、時間t0から、段階ST1から段階ST2へ移行する時間t1までの時間tth(つまり段階ST1の期間)は、段階ST1の間にモータ16に供給される指令CM(位置指令CMp、速度指令CMv又はトルク指令CMτ等)に応じて変化する。換言すれば、この時間tth(段階ST1の期間)は、該指令CMが既知であれば、例えば実験的手法を用いることにより、予め取得できる。
 一例として、メモリ32は、指令CMと時間tthとを互いに関連付けて格納したデータテーブルTAを予め記憶し、プロセッサ30は、動作プログラムOPに規定される命令文から段階ST1の間にモータ16に供給される指令CMを取得し、該指令CMに対応する時間tthをデータテーブルTAから検索することで、該時間tthを取得できる。このように取得した時間tthを閾値tthとして用いて経過時間teと比較することで、段階ST1から段階ST2へ移行するタイミング(時間t1)を検出できる。
 プロセッサ30は、段階検出部46として機能し、経過時間teが閾値tthに到達した(te≧tth)か否かを判定し、YESと判定した場合はステップS6へ進む一方、NOと判定した場合はステップS5”をループする。このステップS5”でYESと判定したとき、産業機械12の状態は、段階ST1から段階ST2へ移行したものと見做すことができる。ステップS5”でYESと判定した後、プロセッサ30は、上述のステップS6及びS7を実行する。
 このように、本実施形態においては、段階検出部46は、経過時間teが予め定めた閾値tthに達したときに、段階ST1から段階ST2へ移行したことを検出する。この構成によれば、段階ST1におけるモータ16の速度V(速度指令CMv)、トルク指令CMτ、又は加速度指令CMαが小さい場合でも、段階ST1から段階ST2への移行を確実に検出できる。なお、プロセッサ30は、ステップS4”を実行した後に、ステップS3を実行してもよい。
 なお、上述したように、速度V(速度指令CMv)、トルク指令CMτ、又は加速度指令CMαが比較的大きい場合は、段階ST1から段階ST2への移行を検出するために、変化の度合いDが有効となる一方で、速度V(速度指令CMv)、トルク指令CMτ、又は加速度指令CMαが比較的小さい場合は、段階ST1から段階ST2への移行を検出するために、動作量MA又は経過時間teが有効となる。
 プロセッサ30は、変化の度合いDが有効であるか否かに応じて、段階検出部46として段階ST1から段階ST2への移行を検出するために用いるパラメータを、変化の度合いDと動作量MA(又は経過時間te)との間で切り換えてもよい。以下、図12及び図13を参照して、このような形態について説明する。
 図12に示すように、本実施形態においては、制御装置14’のプロセッサ30は、指令生成部40、補正量演算部42、変化取得部44、段階検出部46、動作量取得部48、及び経過時間取得部50として機能し、図13に示すフローを実行する。なお、図13に示すフローにおいて、図7及び図9のフローと同様のプロセスには同じステップ番号を付し、重複する説明を書略する。
 図13に示すフローの開始後、プロセッサ30は、上述のステップS1~S3を実行する。ステップS11において、プロセッサ30は、段階ST1から段階ST2への移行を検出するためのパラメータとして変化の度合いDが有効であるか否かを判定する。一例として、プロセッサ30は、直近に取得した速度フィードバックV、速度指令CMv、トルク指令CMτ、又は加速度指令CMαが予め定めた閾値γ以上であるか否かを判定する。
 プロセッサ30は、速度フィードバックV、速度指令CMv、トルク指令CMτ、又は加速度指令CMαが閾値以上である場合は、変化の度合いDが有効である(すなわち、YES)と判定し、ステップS4へ進む一方、NOと判定した場合は、ステップS4’へ進む。
 ステップS11でYESと判定した場合、プロセッサ30は、変化取得部44として機能して上述のステップS4及びS5を実行することで、変化の度合いDに基づいて段階ST1から段階ST2への移行を検出する。一方、ステップS11でNOと判定した場合、プロセッサ30は、動作量取得部48として機能して上述のステップS4’及びS5’を実行することで、動作量MAに基づいて段階ST1から段階ST2への移行を検出する。
 このように、本実施形態においては、プロセッサ30は、変化の度合いDが有効であるか否かを判定し、この判定結果に応じて、段階ST1から段階ST2への移行を検出するために用いるパラメータを、変化の度合いDと動作量MAとの間で切り換えている。この構成によれば、プロセッサ30は、変化の度合いDが有効である場合は、該変化の度合いDを監視することで段階ST1から段階ST2への移行を高精度に検出できる一方、変化の度合いDが有効でない場合は、動作量MAを監視することで段階ST1から段階ST2への移行を確実に検出できる。
 なお、図12に示すフローにおいて、ステップS11でNOと判定した場合、プロセッサ30は、ステップS4’及びS5’の代わりに、経過時間取得部50として機能して上述のステップS4”及びS5”を実行し、経過時間teに基づいて段階ST1から段階ST2への移行を検出してもよい。
 なお、図7、図9、図11又は図12に示すフローを実行する前に、プロセッサ30は、弾性要素20の弾性パラメータPR1(例えばバネ定数k1)と、弾性要素20の弾性パラメータPR2(例えばバネ定数k2)とを取得するための弾性パラメータ取得プロセスを実行してもよい。
 例えば、プロセッサ30は、弾性パラメータ取得プロセスにおいて、モータ16の動作方向を反転させた後に該モータ16を加速するための指令CM0に従って該モータ16を動作させ、これにより、被駆動体22の移動方向を反転させた後に該被駆動体22を加速させる。このときのトルク指令CMτ又は力フィードバックF1と、位置フィードバックPとに基づいて、バネ定数k1及びk2をそれぞれ取得することができる。
 なお、上述のステップS2において、プロセッサ30は、加速のための指令CMがあるか否か判定する代わりに、例えば位置フィードバックPに基づいて、モータ16の動作方向が反転したか否かを判定してもよい。また、産業機械12は、被駆動体22の位置Pを取得するセンサ24’をさらに有し、プロセッサ30は、位置フィードバックPとして、被駆動体22の位置Pをセンサ24’から取得してもよい。また、プロセッサ30は、電流フィードバックIの代わりに、モータ16に掛かる負荷トルクを取得してもよい。この負荷トルクも、上述の力パラメータFPを構成する。
 また、上述の実施形態においては、プロセッサ30は、補正量β3で位置指令CMpを補正する場合について述べた。しかしながら、これに限らず、プロセッサ30は、求めた補正量βで速度指令CMvを補正してもよい。この場合において、プロセッサ30は、例えば、上述のように求めた補正量β3を、時間一階微分することで新たな補正量β3’(=δβ3/δt)を求め、該新たな補正量β3’を速度指令CMvに適用(例えば、加算)してもよい。
 また、上述の実施形態においては、理解の容易のために、産業機械12が、被駆動体22を1軸(軸線A)方向へ駆動するモータ16及び弾性要素18(ボールねじ)を有する場合について述べた。しかしながら、これに限らず、産業機械12は、被駆動体22を、互いに直交する2軸の方向へ駆動するように構成されてもよい。
 例えば、産業機械12は、被駆動体22を第1軸(例えば軸線A)の方向へ駆動するモータ16A及び弾性要素18Aと、被駆動体22と弾性要素18Aとの間に介挿された弾性要素20Aと、被駆動体22を、第1軸と直交する第2軸の方向へ駆動するモータ16B及び弾性要素18Bと、被駆動体22と弾性要素18Bとの間に介挿された弾性要素20Bとを有してもよい。この場合、プロセッサ30は、モータ16A及び16Bの各々について、上述した方法により、段階ST1から段階ST2への移行を検出するプロセスと、補正量演算処理CPを切り換えるプロセスとを実行する。
 また、上述の実施形態においては、理解の容易のために、モータ16と被駆動体22との間に、2つ弾性要素18及び20が介挿されている場合について述べた。しかしながら、これに限らず、モータ16と被駆動体22との間に、3以上の弾性要素が介挿されてもよい。
 この場合において、プロセッサ30が、モータ16を加速するように動作させるための指令CMに従って該モータ16を動作させると、該モータ16が発生する駆動力Fは、モータ16に近い順に、第1の弾性要素、第2の弾性要素、・・・第nの弾性要素、第n+1の弾性要素、・・・に段階的に作用する。
 これに応じて、産業機械12の状態は、第1の段階ST1、第2の段階ST2、・・・第nの段階STn、第n+1の段階STn+1、・・・へ順に移行する。プロセッサ30は、段階検出部46として機能し、上述の方法により、指令CMに応じてモータ16が発生した駆動力Fが第nの弾性要素(具体的には、第1の弾性要素、第2の弾性要素、・・・第nの弾性要素)に作用する第nの段階STnから、該駆動力Fが該第nの弾性要素を通して第n+1の弾性要素に作用する第n+1の段階STn+1への移行を検出する。
 第nの段階STnから第n+1の段階STn+1への移行を検出したとき、プロセッサ30は、補正量演算部42として機能し、上述した方法により、実行する補正量演算処理CPを、第nの弾性要素の弾性パラメータPRn(具体的には、弾性パラメータPR1、PR2、・・・PRn)に基づく第nの補正量演算処理CPnから、第n+1の弾性要素の弾性パラメータPRn+1と弾性パラメータPRn(具体的には、弾性パラメータPR1、PR2、・・・PRn、PRn+1)に基づく第n+1の補正量演算処理CPn+1へ切り換える。
 一例として、第nの補正量演算処理CPnにおいて、プロセッサ30は、第1の弾性要素、第2の弾性要素、・・・第n-1の弾性要素、及び第nの弾性要素の合成バネ定数Ksを以下の式(6)から取得する。ここで、knは、第nの弾性要素のバネ定数を示している。
  1/ks=Σ(1/kn)=1/k1+1/k2・・・+1/kn ・・・(6)
 プロセッサ30は、直近に取得した差Δτと、式(6)から取得した合成バネ定数ksとを、上述の式(5)に代入することで、第1の弾性要素、第2の弾性要素、・・・第n-1の弾性要素、及び第nの弾性要素に関する補正量β3を求めることができる。なお、プロセッサ30は、第n+1の補正量演算処理CPn+1においても、同様の手法で補正量β3を求めることができることを理解されたい。
 なお、上述の実施形態において、モータ16は、リニアモータでもよい。この場合、弾性要素18は、モータ16の界磁子によって推進される電機子であってもよい。上、実施形態を通じて本開示を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。
 10  産業機械システム
 12  産業機械
 14,14’  制御装置
 16  モータ
 18,20  弾性要素
 22  被駆動体
 30  プロセッサ
 40  指令生成部
 42  補正量演算部
 44  変化取得部
 46  段階検出部
 48  動作量取得部
 50  経過時間取得部

Claims (13)

  1.  複数の弾性要素を介して被駆動体に接続され、該被駆動体を駆動するモータを制御する制御装置であって、
     前記モータを加速するように動作させるための指令を生成する指令生成部と、
     前記弾性要素の弾性を表す弾性パラメータに基づいて前記指令の補正量を求める補正量演算処理を実行する補正量演算部と、
     前記指令に応じて前記モータが発生した駆動力が第1の前記弾性要素に作用する第1の段階から、該駆動力が該第1の弾性要素を通して第2の前記弾性要素に作用する第2の段階へ移行したことを検出する段階検出部と、を備え、
     前記補正量演算部は、前記第1の段階から前記第2の段階への移行が検出されたときに、実行する前記補正量演算処理を、前記第1の弾性要素の第1の前記弾性パラメータに基づく第1の前記補正量演算処理から、前記第2の弾性要素の第2の前記弾性パラメータと前記第1の弾性パラメータとに基づく第2の前記補正量演算処理へ切り換える、制御装置。
  2.  前記駆動力を示す力パラメータの時間に対する変化の度合いを取得する変化取得部をさらに備え、
     前記段階検出部は、前記変化取得部が取得した前記変化の度合いが予め定めた基準を超えたときに、前記第1の段階から前記第2の段階へ移行したことを検出する、請求項1に記載の制御装置。
  3.  前記力パラメータは、前記指令、又は該指令に応じて前記モータを動作させているときに供給されるフィードバックを有し、
     前記指令は、前記駆動力を規定するトルク指令、又は前記モータの加速度を規定する加速度指令を有し、
     前記フィードバックは、前記駆動力に対応する力フィードバック、前記加速度に対応する加速度フィードバック、又は前記モータに供給される電流を示す電流フィードバックを有する、請求項2に記載の制御装置。
  4.  前記変化取得部は、前記変化の度合いとして、前記力パラメータの傾きを取得する、請求項2又は3に記載の制御装置。
  5.  前記モータが前記指令に従って動作を開始した時点からの該モータの動作量を取得する動作量取得部をさらに備え、
     前記段階検出部は、前記動作量が予め定めた閾値に達したときに、前記第1の段階から前記第2の段階へ移行したことを検出する、請求項1に記載の制御装置。
  6.  前記モータが前記指令に従って動作を開始した時点からの経過時間を取得する経過時間取得部をさらに備え、
     前記段階検出部は、前記経過時間が予め定めた閾値に達したときに、前記第1の段階から前記第2の段階へ移行したことを検出する、請求項1に記載の制御装置。
  7.  前記指令生成部は、前記モータの動作方向を反転させた後に該モータを加速するための前記指令を生成する、請求項1~6のいずれか1項に記載の制御装置。
  8.  前記弾性パラメータは、前記弾性要素のバネ定数を有し、
     前記補正量演算部は、前記第1の補正量演算処理において、前記第1の弾性要素の第1の前記バネ定数と、前記駆動力を示す力パラメータとを用いて、前記第1の弾性要素に関する第1の前記補正量を求める、請求項1~7のいずれか1項に記載の制御装置。
  9.  前記補正量演算部は、前記第2の補正量演算処理において、
      前記第1の補正量を求めるとともに、前記第2の弾性要素の第2の前記バネ定数と前記力パラメータとを用いて、前記第2の弾性要素に関する第2の前記補正量を求め、
      前記第1の補正量と前記第2の補正量との和を、前記第1の弾性要素及び前記第2の弾性要素に関する第3の前記補正量として求める、請求項8に記載の制御装置。
  10.  前記補正量演算部は、前記第2の補正量演算処理において、前記第1の弾性要素の第1の前記バネ定数と前記第2の弾性要素の第2の前記バネ定数との合成バネ定数と、前記力パラメータと、を用いて、前記第1の弾性要素及び前記第2の弾性要素に関する第2の前記補正量を求める、請求項8に記載の制御装置。
  11.  前記指令は、前記被駆動体の位置を規定する位置指令を有し、
     前記補正量演算部は、前記位置指令を補正するための前記補正量を求める、請求項1~10のいずれか1項に記載の制御装置。
  12.  被駆動体と、
     複数の弾性要素を介して前記被駆動体に接続され、該被駆動体を駆動するモータと、
     請求項1~11のいずれか1項に記載の制御装置と、を備える、産業機械システム。
  13.  複数の弾性要素を介して被駆動体に接続され、該被駆動体を駆動するモータを制御する方法であって、
     プロセッサが、
      前記モータを加速するように動作させるための指令を生成し、
      前記弾性要素の弾性を表す弾性パラメータに基づいて前記指令の補正量を求める補正量演算処理を実行し、
      前記指令に応じて前記モータが発生した駆動力が第1の前記弾性要素に作用する第1の段階から、該駆動力が該第1の弾性要素を通して第2の前記弾性要素に作用する第2の段階へ移行したことを検出し、
      前記第1の段階から前記第2の段階への移行を検出したときに、実行する前記補正量演算処理を、前記第1の弾性要素の第1の前記弾性パラメータに基づく第1の前記補正量演算処理から、前記第2の弾性要素の第2の前記弾性パラメータと前記第1の弾性パラメータとに基づく第2の前記補正量演算処理へ切り換える、方法。
PCT/JP2021/018659 2021-05-17 2021-05-17 モータの制御装置、産業機械システム、及びモータの制御方法 WO2022244078A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2023522025A JPWO2022244078A1 (ja) 2021-05-17 2021-05-17
PCT/JP2021/018659 WO2022244078A1 (ja) 2021-05-17 2021-05-17 モータの制御装置、産業機械システム、及びモータの制御方法
CN202180097937.3A CN117280599A (zh) 2021-05-17 2021-05-17 马达的控制装置、产业机械系统以及马达的控制方法
DE112021007278.1T DE112021007278T5 (de) 2021-05-17 2021-05-17 Steuervorrichtung für einen motor, industriemaschinensystem und verfahren zum steuern eines motors
TW111115061A TW202246922A (zh) 2021-05-17 2022-04-20 馬達的控制裝置、產業機械系統及馬達的控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/018659 WO2022244078A1 (ja) 2021-05-17 2021-05-17 モータの制御装置、産業機械システム、及びモータの制御方法

Publications (1)

Publication Number Publication Date
WO2022244078A1 true WO2022244078A1 (ja) 2022-11-24

Family

ID=84141281

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/018659 WO2022244078A1 (ja) 2021-05-17 2021-05-17 モータの制御装置、産業機械システム、及びモータの制御方法

Country Status (5)

Country Link
JP (1) JPWO2022244078A1 (ja)
CN (1) CN117280599A (ja)
DE (1) DE112021007278T5 (ja)
TW (1) TW202246922A (ja)
WO (1) WO2022244078A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016076119A (ja) * 2014-10-07 2016-05-12 ファナック株式会社 モータの反転遅れを補正するモータ制御装置
JP2018139044A (ja) * 2017-02-24 2018-09-06 ファナック株式会社 サーボモータ制御装置、サーボモータ制御方法、及びサーボモータ制御用プログラム
JP2020093595A (ja) * 2018-12-10 2020-06-18 アイシン精機株式会社 モータ制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016076119A (ja) * 2014-10-07 2016-05-12 ファナック株式会社 モータの反転遅れを補正するモータ制御装置
JP2018139044A (ja) * 2017-02-24 2018-09-06 ファナック株式会社 サーボモータ制御装置、サーボモータ制御方法、及びサーボモータ制御用プログラム
JP2020093595A (ja) * 2018-12-10 2020-06-18 アイシン精機株式会社 モータ制御装置

Also Published As

Publication number Publication date
TW202246922A (zh) 2022-12-01
DE112021007278T5 (de) 2023-12-28
JPWO2022244078A1 (ja) 2022-11-24
CN117280599A (zh) 2023-12-22

Similar Documents

Publication Publication Date Title
US10353374B2 (en) Servo controller, control method, and computer-readable recording medium for machine tool used for oscillating cutting
JP5411978B2 (ja) ボールネジの伸縮量を補正する機能を備えたサーボ制御装置
CN108422420B (zh) 具有学习控制功能的机器人系统以及学习控制方法
US7102311B2 (en) Drive control method and drive controller
JP6324641B1 (ja) 異常診断装置及び異常診断方法
EP3023208A1 (en) Control device for motor drive device, control device for multi-axial motor, and control method for motor drive device
JP5657633B2 (ja) 移動体が反転するときの位置誤差を補正するサーボ制御装置
JP6386516B2 (ja) 学習機能を備えたロボット装置
JP6705851B2 (ja) 振動解析装置および振動解析方法
CN110662636B (zh) 减速机角度传递误差辨识系统和减速机角度传递误差辨识方法
JP6457569B2 (ja) サーボモータ制御装置、サーボモータ制御方法、及びサーボモータ制御用プログラム
EP3355140B1 (en) Performing position control of a controlled object
JP2010079845A (ja) 数値制御装置
JP2019181610A (ja) モータエンコーダ及びセンサを用いて学習制御を行うロボットシステム
JP6370866B2 (ja) サーボモータ制御装置、サーボモータ制御方法、及びサーボモータ制御用プログラム
WO2022244078A1 (ja) モータの制御装置、産業機械システム、及びモータの制御方法
JP2004234205A (ja) 数値制御装置
CN107894749B (zh) 伺服电动机控制装置及其方法、计算机可读取的记录介质
JP6088601B2 (ja) 走行軸付きロボットにおけるツール先端の振れを抑制するロボット制御装置
JP6683748B2 (ja) 数値制御装置
JP2009038942A (ja) 負荷イナーシャ同定方法及びサーボモータ制御装置
JP6661676B2 (ja) ロボット制御装置
JP6333495B1 (ja) サーボ制御装置
JP5836206B2 (ja) サーボ制御装置
US11003159B2 (en) Numerical control device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21940698

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023522025

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 18289162

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 202180097937.3

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 112021007278

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21940698

Country of ref document: EP

Kind code of ref document: A1