Motor control device

The motor control device uses predictive and corrective mechanisms to ensure rapid and accurate positioning of loads within a predetermined range from the target position, addressing the inefficiencies of existing systems by eliminating the need for speed reduction and external feedback.

JP7808741B2Active Publication Date: 2026-01-30PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2022572107
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-12-24
Filing Date
2021-12-08
Publication Date
2026-01-30
Estimated Expiration
2041-12-08

AI Technical Summary

Technical Problem

Existing motor control systems struggle to quickly position a load within a predetermined range from a target position without the need to slow down the positioning speed or rely on external feedback.

Method used

A motor control device incorporating a prediction unit, correction command generation unit, and correction unit that calculates and corrects position commands based on target position deviations and settling times, allowing the motor to be controlled for precise positioning within a predetermined range without external feedback.

Benefits of technology

Enables rapid and accurate positioning of loads within a specified range from the target position, eliminating the need for speed reduction and external feedback, thereby enhancing positioning efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007808741000001
    Figure 0007808741000001
  • Figure 0007808741000002
    Figure 0007808741000002
  • Figure 0007808741000003
    Figure 0007808741000003
Patent Text Reader

Abstract

This motor control device (10) controls a motor (70) that moves a load (80) to a target position. The motor control device (10) comprises a prediction unit (20), a correction command generation unit (30), a correction unit (40), and a control unit (50). The prediction unit (20) acquires one or more target position deviations and a target settling time, and calculates a predicted target position deviation indicating a difference between a position of the load (80) and a target position at the target settling time on the basis of the one or more target position deviations and the target settling time. When the predicted target position deviation indicates that the load (80) will not be within a predetermined range from the target position, the command generation unit (30) generates a correction command for correcting a position command on the basis of the predicted target position deviation. The correction unit (40) acquires the position command, corrects the position command on the basis of the correction command, and generates a corrected position command. The control unit (50) controls the motor (70) on the basis of the corrected position command and a position of the motor (70).
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a motor control device that controls a motor. [Background technology]

[0002] BACKGROUND ART Conventionally, a motor control device that controls a motor that positions a load at a target position is known (see, for example, Patent Document 1). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2014-203365 Summary of the Invention

[0004] When moving a load to a target position, it is desirable to quickly position the load within a predetermined range from the target position.

[0005] Therefore, an object of the present disclosure is to provide a motor control device that can control a motor so as to quickly position a load within a predetermined range from a target position.

[0006] A motor control device according to one aspect of the present disclosure controls a motor to move a load to a target position based on a position command that commands the position of the motor. The motor control device includes a prediction unit, a correction command generation unit, a correction unit, and a control unit. The prediction unit acquires one or more target position deviations indicating the difference between the position of the load and the target position at one or more times, and a target settling time indicating the target time at which the motor will position the load to the target position. Then, based on the one or more target position deviations and the target settling times, calculates a predicted target position deviation indicating the difference between the position of the load and the target position at the target settling time. When the predicted target position deviation indicates that the load will not arrive within a predetermined range from the target position, the correction command generation unit generates a correction command to correct the position command based on the predicted target position deviation. The correction unit acquires the position command and corrects the position command based on the correction command to generate a corrected position command. The control unit controls the motor based on the corrected position command and the position of the motor.

[0007] The above configuration provides a motor control device that can control a motor so as to quickly move a load from a target position to within a predetermined range. [Brief explanation of the drawings]

[0008] [Figure 1] FIG. 1 is a block diagram showing an example of the configuration of a positioning system according to an embodiment. [Figure 2] FIG. 2 is a schematic diagram showing an example of how the motor positions the load according to the embodiment at a target position. [Figure 3A] FIG. 3A is a schematic diagram illustrating an example of how a predictor according to the embodiment calculates a predicted target position deviation. [Figure 3B] FIG. 3B is a schematic diagram illustrating an example of how the predictor according to the embodiment calculates the predicted target position deviation. [Figure 4A] FIG. 4A is a schematic diagram showing an example of how a load according to the embodiment is positioned at a target position. [Figure 4B] FIG. 4B is a schematic diagram showing an example of how the load according to the embodiment is positioned at a position different from the target position. [Figure 5] FIG. 5 is a flowchart of the positional deviation correction process according to the embodiment. [Figure 6A] FIG. 6A is a schematic diagram showing an example of a change over time in the predicted target position deviation calculated by the predicting unit according to the embodiment. [Figure 6B] FIG. 6B is a schematic diagram illustrating an example of a change over time in the correction amount in the correction command generated by the correction command generating unit according to the embodiment. [Figure 6C] FIG. 6C is a schematic diagram showing an example of how the load according to the embodiment is positioned within a predetermined range from the target position. [Figure 7] FIG. 7 is a schematic diagram showing an image captured by a camera provided on a load according to the embodiment. [Figure 8] FIG. 8 is a diagram showing a case where the predicted target position deviation calculated in the embodiment indicates that the load will reach the target position. [Figure 9A] FIG. 9A is a diagram showing a case where the predicted target position deviation calculated in the embodiment indicates that the load will not reach the target position. [Figure 9B] FIG. 9B is a diagram showing a case where the position command is corrected when the predicted target position deviation calculated in the embodiment indicates that the load will not reach the target position. [Figure 10] FIG. 10 is a diagram illustrating a case where a predicted target position deviation is calculated by performing quadratic interpolation in a first other exemplary configuration of a motor control device according to an embodiment of the present disclosure. [Figure 11] FIG. 11 is a diagram illustrating a case where another predicted target position deviation is calculated in the fourth other exemplary configuration of the motor control device according to an embodiment of the present disclosure. [Figure 12] FIG. 12 is a diagram illustrating a case where still another predicted target position deviation is calculated in the fifth other configuration example of the motor control device according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0009] (How one aspect of the present disclosure was achieved) Patent Document 1 describes a control system for positioning a load so that it does not exceed a target position. In this control system, a servo unit that controls a motor that positions the load controls the motor based on internal commands from a main control unit, which is a higher-level controller. When the load approaches the target position, this control system slows down the speed at which the motor positions the load, repeatedly captures images of the load and processes the captured images, and feeds back the results of each image processing to the internal command, thereby positioning the load so that it does not exceed the target position.

[0010] On the other hand, in a control system for positioning a load, if the load can be positioned within a predetermined range from a target position, it is not necessarily necessary to position the load so as not to exceed the target position. In such a system, it is desirable to quickly position the load.

[0011] Therefore, the inventors conducted extensive research and experiments into a motor control device that can control a motor so as to quickly position a load within a predetermined range from a target position, and as a result, they came up with the following motor control device.

[0012] A motor control device according to one aspect of the present disclosure controls a motor that moves a load to a target position based on a position command that commands the position of the motor. The motor control device includes a prediction unit, a correction command generation unit, a correction unit, and a control unit. The prediction unit acquires one or more target position deviations indicating the difference between the position of the load and the target position at one or more times, and a target settling time indicating the target time at which the motor will position the load to the target position. Then, based on the one or more target position deviations and the target settling times, calculates a predicted target position deviation indicating the difference between the position of the load and the target position at the target settling time. When the predicted target position deviation indicates that the load will not arrive within a predetermined range from the target position, the correction command generation unit generates a correction command to correct the position command based on the predicted target position deviation. The correction unit acquires the position command and corrects the position command based on the correction command to generate a corrected position command. The control unit controls the motor based on the corrected position command and the position of the motor.

[0013] The motor control device configured as described above acquires one or more target position deviations and target settling times, and corrects a position command based on the acquired one or more target position deviations and target settling times. Therefore, with the motor control device configured as described above, there is no need to feed back information related to the load's position to a higher-level controller that outputs a position command to the motor drive device. Therefore, with the motor control device configured as described above, it is possible to control the motor so as to quickly position the load within a predetermined range from the target position. Furthermore, with the motor control device configured as described above, it is not necessarily necessary to slow down the load's positioning speed even when the load approaches the target position. Therefore, with the motor control device configured as described above, it is possible to control the motor so as to more quickly position the load within a predetermined range from the target position.

[0014] Furthermore, the one or more target position deviations may be a plurality of target position deviations including a first target position deviation at a first time and a second target position deviation at a second time. The predictor may calculate the predicted target position deviation based on the first time, the second time, the first target position deviation, and the second target position deviation.

[0015] This allows the motor to be controlled with relatively high accuracy based on the amount of change in the target position deviation per unit time.

[0016] The prediction unit may also calculate the predicted target position deviation by linear interpolation using the first time, the second time, the first target position deviation, and the second target position deviation.

[0017] This makes it possible to calculate the predicted target position deviation with a relatively small amount of calculation.

[0018] The plurality of target position deviations may further include a third target position deviation at a third time. The prediction unit may calculate the predicted target position deviation by quadratic interpolation using the first time, the second time, the third time, the first target position deviation, the second target position deviation, and the third target position deviation.

[0019] This makes it possible to calculate the predicted target position deviation with relatively high accuracy.

[0020] The correction command may be a corrected command position that is shifted by the predicted target position deviation from the command position commanded by the position command.

[0021] The correction command may be a corrected command position that is shifted from the command position commanded by the position command by the difference between the predicted target position deviation and the predetermined range.

[0022] The correction command may also command a corrected command position that is shifted from the command position commanded by the position command by the difference between the predicted target position deviation and a value obtained by multiplying the predetermined range by a predetermined value that is greater than 0 and equal to or less than 1.

[0023] The system may further include a target position deviation calculation unit that calculates the one or more target position deviations. The target position deviation calculation unit may include a camera and a calculation unit. The camera is positioned together with the load by the motor and captures images at one or more times. Based on each image captured by the camera, if the target position is included in the image, the calculation unit calculates one of the one or more target position deviations corresponding to the image.

[0024] This makes it possible to control the motor without obtaining the target position deviation from the outside.

[0025] A specific example of a motor control device according to one aspect of the present disclosure will be described below with reference to the drawings. The embodiment shown here illustrates one specific example of the present disclosure. Therefore, the numerical values, shapes, components, arrangement and connection of the components, steps (processes), and order of steps shown in the following embodiment are merely examples and are not intended to limit the present disclosure. Furthermore, each figure is a schematic diagram and is not necessarily an exact illustration.

[0026] In addition, the comprehensive or specific aspects of the present disclosure may be realized as a system, a method, an integrated circuit, a computer program, or a recording medium such as a computer-readable CD-ROM, or may be realized as any combination of a system, a method, an integrated circuit, a computer program, and a recording medium.

[0027] (Embodiment) <Configuration> FIG. 1 is a block diagram showing an example of the configuration of a positioning system 1 according to an embodiment.

[0028] As shown in FIG. 1, the positioning system 1 includes a motor control device 10, a motor 70, a load 80, a motor position detection unit 90, a connection unit 71, and a connection unit 72.

[0029] The motor 70 is controlled by the motor control device 10 to move the load 80 to a target position.

[0030] A load 80 is connected to the motor 70 by a connection 71 and is moved by the motor 70 .

[0031] Fig. 2 is a schematic diagram showing an example of how the motor 70 moves the load 80 to a target position. Fig. 2 is a diagram showing an example of a conveying device.

[0032] 2, motor 70 is, for example, a linear motor that can move along guide 100. In the following, motor 70 will be described as a linear motor, but it is not necessarily limited to the example of a linear motor as long as it is a motor that can move load 80 to a target position, and may be, for example, a rotary motor or a linear motion mechanism that combines a rotary motor with a driving mechanism such as a ball screw.

[0033] As shown in FIG. 2, the load 80 has, for example, an arm capable of grasping the workpiece 120 to be placed at a predetermined location on the stage 110, and when it is positioned at a target position by the motor 70, for example, it releases the grasped workpiece 120 at that position, thereby placing the workpiece 120 at the predetermined location on the stage 110.

[0034] Returning to FIG. 1 again, the description of the positioning system 1 will continue.

[0035] The motor position detector 90 detects the position of the motor 70 and outputs the detected position of the motor 70 to the motor control device 10. For example, if the motor 70 is a linear motor, the motor position detector 90 may be a linear scale. Also, for example, if the motor 70 is a rotary motor, the motor position detector 90 may be an encoder. For example, if the motor 70 is a linear motor, the motor position may be the position of the mover. Also, for example, if the motor 70 is a rotary motor, the motor position may be the angle of the rotor.

[0036] Motor control device 10 controls motor 70 based on a position command that commands the position of motor 70. The position command is output from a host controller 11 that is connected to motor control device 10 via a communication line or the like, for example.

[0037] As shown in FIG. 1, the motor control device 10 includes a prediction unit 20, a correction command generation unit 30, a correction unit 40, a control unit 50, and a target position deviation calculation unit 60.

[0038] The target position deviation calculation unit 60 calculates a target position deviation that indicates the difference between the position of the load 80 and the target position. As shown in FIG.

[0039] Camera 61 moves together with load 80 by motor 70 and captures images at one or more times. That is, camera 61 is an imaging device. Camera 61 may be configured to include, for example, a lens 66 that collects light, a solid-state image sensor 67 that converts the light collected by the lens into an electrical signal, and a memory 68 that stores the electrical signal converted by the solid-state image sensor.

[0040] 2, camera 61 is connected to load 80 by connection unit 72, for example, and captures an image of an area in field of view 130. When camera 61 is located at a position that includes the target position within field of view 130, it captures an image that includes the target position. In FIG. 2, target position deviation calculation unit 60 includes one camera 61, but may also be configured to include multiple cameras.

[0041] Returning to FIG. 1 again, the description of the positioning system 1 will continue.

[0042] When a target position is included in a target image, the calculation unit 62 calculates a target position deviation corresponding to the image based on each image captured by the camera 61. The calculation unit 62 may be configured to include, for example, a processor 63 and a memory 64, and its functions may be realized by the processor 63 executing a program stored in the memory 64.

[0043] The calculation unit 62 determines whether or not the target position is included in the image by, for example, performing image processing on the image captured by the camera 61. If the calculation unit 62 determines that the target position is included in the image, it performs, for example, further image processing to calculate the target position deviation.

[0044] The prediction unit 20 acquires one or more target position deviations calculated by the target position deviation calculation unit 60 and a target settling time indicating a target time at which the motor 70 will position the load 80 to the target position. The target settling time is output, for example, from the upper controller 11. Then, the prediction unit 20 calculates a predicted target position deviation indicating a difference between the position of the load 80 and the target position at the target settling time, based on the acquired one or more target position deviations and target settling times. The prediction unit 20 may be configured to include, for example, a processor 21 and a memory 22, and its functions may be realized by the processor 21 executing a program stored in the memory 22.

[0045] The prediction unit 20 acquires, for example, a first target position deviation at a first time and a second target position deviation at a second time as one or more target position deviations, and then calculates a predicted target position deviation based on the first time, the second time, the first target position deviation, and the second target position deviation.

[0046] 3A and 3B are schematic diagrams showing an example of how the prediction unit 20 calculates the predicted target position deviation. FIG. 3A is a schematic diagram showing a case where the calculated predicted target position deviation indicates that the load 80 will reach the target position. FIG. 3B is a schematic diagram showing a case where the calculated predicted target position deviation indicates that the load 80 will not reach (or pass) the target position. In FIGS. 3A and 3B, the horizontal axis represents time, and the vertical axis represents the target position deviation. The load 80 and the camera 61 move in accordance with a position command. In FIGS. 3A and 3B, the position command is expressed by the function Σ(t, x). t represents time, and x represents the target position deviation at time t. tF represents the target settling time. d k (k is an integer) is time t k The graph shows the target position deviation in the vertical axis. Also, 0 on the vertical axis indicates the target position, and ε indicates a predetermined position, i.e., an allowable range centered on the target position. The motor control device 10 operates to place the load 80 within a range of ±0.5ε centered on the target position. Hereinafter, the range of ±0.5ε centered on the target position will be referred to as the "predetermined range." In other words, ε is the size of the predetermined range.

[0047] As shown in FIG. 3A, the prediction unit 20 predicts, for example, the image captured by the camera 61 at the image capturing time t k-1 and the image capturing time t of the image captured by the camera 61 for the kth time. k and the target position deviation d corresponding to the image captured by the camera 61 for the k-1th time. k-1 and the target position deviation d corresponding to the image captured by the camera 61 for the kth time. k By doing so, a predicted target position deviation p indicating that the load 80 will reach the target position at time tF is obtained. kFIG. 3A shows that the load 80 is predicted to arrive within a predetermined range from the target position at time tF. That is, the predicted target position deviation p k is included within a predetermined range. Note that "the load 80 reaches the target position at time tF" has the same meaning as "the load 80 is predicted to arrive within a predetermined range from the target position at time tF."

[0048] 3B, the prediction unit 20 may calculate the image captured by the camera 61 at the image capturing time t k and the image capturing time t of the image captured by the camera 61 for the k+1th time. k+1 and the target position deviation d corresponding to the image captured by the camera 61 for the kth time. k and the target position deviation d corresponding to the image captured by the camera 61 for the k+1th time. k+1 By doing so, a predicted target position deviation p k+1 FIG. 3B shows that it is predicted that the load 80 will not reach within a predetermined range from the target position at time tF. That is, at time tF, the predicted target position deviation p k+1 is not included in the predetermined range.

[0049] Returning to FIG. 1 again, the description of the positioning system 1 will continue.

[0050] When the predicted target position deviation calculated by the prediction unit 20 indicates that the load 80 will not reach the target position, the correction command generation unit 30 generates a correction command to correct the position command based on the predicted target position deviation. The correction command generation unit 30 may be configured to include, for example, a processor 31 and a memory 32, and its functions may be realized by the processor 31 executing a program stored in the memory 32.

[0051] The correction command generator 30 generates a correction command for correcting the position command so as to issue a correction command position that is shifted by the predicted target position deviation from the command position commanded by the position command, for example.

[0052] The correction unit 40 acquires a position command, corrects the acquired position command based on the correction command generated by the correction command generation unit 30, and generates a corrected position command. The correction unit 40 may be configured to include, for example, a processor 41 and a memory 42, and its functions may be realized by the processor 41 executing a program stored in the memory 42.

[0053] Control unit 50 controls motor 70 based on the corrected position command generated by correction unit 40 and the position of motor 70 output by motor position detection unit 90. Control unit 50 may be configured to include, for example, an inverter 51 that generates a three-phase AC current that generates thrust in the motor, and a controller 52 that controls inverter 51 using PWM (Pulse Width Modulation), and its function may be realized by controller 52 PWM controlling inverter 51 based on the corrected position command and the position of motor 70.

[0054] <Operation> The operation of the positioning system 1 having the above configuration will now be described.

[0055] In the positioning system 1, the command position commanded by the position command is a position where the load 80 is positioned at the target position when the motor 70 moves to the command position when the positioning system 1 is in an ideal state.

[0056] However, in reality, even when the motor 70 moves to the command position, the load 80 may be positioned at a position different from the target position due to the influence of deformation, thermal expansion, etc. of the members constituting the positioning system 1. In other words, a deviation may occur between the actual position of the load 80, which is positioned by the motor 70 moving to the command position, and the target position (hereinafter, this deviation may also be referred to as a "target position deviation").

[0057] 4A is a schematic diagram showing an example of how the load 80 is positioned at the target position by the motor 70 moving to the command position when there is no target position deviation, assuming that the control unit 50 controls the motor 70 based on the position command before correction by the correction unit 40, rather than the corrected position command corrected by the correction unit 40. In FIG. 4A, the horizontal axis represents elapsed time, and the vertical axis represents the target position deviation. The position where the target position deviation is zero is the target position.

[0058] As shown in Fig. 4A, when there is no target position deviation, the load 80 is positioned at the target position without correcting the position command. The curve in Fig. 4A is the function Σ indicating the position command.

[0059] In contrast, Fig. 4B is a schematic diagram showing an example of how, when a target position deviation occurs, motor 70 moves to a command position, thereby positioning load 80 at a position different from the target position, assuming that control unit 50 controls motor 70 based on the position command before correction by correction unit 40, rather than the corrected position command corrected by correction unit 40. In Fig. 4B, the horizontal axis represents elapsed time, and the vertical axis represents the target position deviation. The position where the target position deviation is zero is the target position.

[0060] As shown in FIG. 4B, when a target position deviation occurs, if the position command is not corrected, the load 80 will be positioned at a position that does not reach the target position, for example.

[0061] By performing position deviation correction processing by the motor control device 10, the positioning system 1 can position the load 80 at the target position even when a target position deviation (hereinafter also referred to as "positioning unachieved target position deviation") occurs, which would cause the load 80 to be positioned at a position that does not reach the target position if the position command is not corrected.

[0062] The position deviation correction process performed by the motor control device 10 will be described below with reference to the drawings.

[0063] 5 is a flowchart of the position error correction process. The position error correction process corrects the position command so that the load 80 is not positioned at a position where it does not reach the target position, and controls the motor 70 based on the corrected position command. The position error correction process may be started, for example, when the calculation unit 62 determines that the target position is included in the image captured by the camera 61, or may be started when a user of the positioning system 1 operates the motor control device 10 to start the position error correction process. FIG. 7 shows a flow chart of the position error correction process at time t k Image I k 7. In FIG. 7, the circle indicates the position of the load 80, the cross indicates the target position, and the arrow indicates the direction of movement of the camera 61. The direction of movement of the camera 61 and the direction of movement of the load 80 are the same. FIG. 8 shows the time t k 8 is a diagram showing that the load 80 is predicted to arrive within a predetermined range from the target position at time tF at the time point of the predicted target position deviation p k indicates that the load 80 reaches the target position. k 8, 9A, and 9B, it is predicted that the load 80 will not be able to reach within a predetermined range ε ​​from the target position at time tF at the time point tF. FIG. 9B is a diagram showing that, in the case shown in FIG. 9A, the position command is corrected and the load 80 will be predicted to reach within a predetermined range from the target position at time tF. In FIGS. 8, 9A, and 9B, Σ(t, x) is a function indicating the position command.

[0064] In FIG. 5, when the position error correction process is started, the motor control device 10 assigns an initial value of 0 to an integer variable k that can take an integer value of 0 or greater (step S5).

[0065] When an initial value of 0 is assigned to the integer variable k, the camera 61 captures the image I k Image I k The time t when the image was capturedk is acquired (step S10).

[0066] Image I k is captured at time t k When the image I is acquired, the calculation unit 62 calculates the image I k Image processing is performed on image I k It is determined whether the target position is included in the target position (step S15).

[0067] In the process of step S15, image I k If it is determined that the target position is included in the image I (step S15: Yes), the calculation unit 62 k Further image processing is performed on the target position deviation d k is calculated (step S20).

[0068] Target position deviation d k Once calculated, motor control device 10 checks whether the value substituted into integer variable k is greater than 0 (step S25).

[0069] In the process of step S25, if the value substituted into the integer variable k is greater than 0 (step S25: Yes), the prediction unit 20 calculates the time k t-1 and time k t and target position deviation d k-1 and target position deviation d k By performing linear interpolation using k is calculated (step S30).

[0070] Predicted target position deviation p k When the predicted target position deviation p is calculated, the correction command generating unit 30 calculates the predicted target position deviation p k indicates that the load 80 will not reach the target position (step S35). k However, if the load 80 indicates that it will reach the target position (step S35: No, see FIG. 8), the position command is not corrected. kindicates that the load 80 will reach the target position, the target position deviation d k If falls within a predetermined range (step S85), the positional deviation correction process ends.

[0071] On the other hand, in the process of step S35, the calculated predicted target position deviation p k indicates that the load 80 will not reach the target position (step S35: Yes, see FIG. 9A), the correction command generator 30 calculates the predicted target position deviation p from the command position commanded by the position command. k Then, the correction command generator 30 generates a correction command for correcting the position command so as to issue a correction command position shifted by the predicted target position deviation p (step S40, see FIG. 9B). k ) is larger than the correction amount in the previously output correction command (step S45).

[0072] In the processing of step S45, if the correction amount in the newly generated correction command is greater than the correction amount in the previously output correction command (step S45: Yes), the correction command generating unit 30 updates the previously output correction command with the newly generated correction command (step S50) and outputs the updated correction command.

[0073] In the processing of step S45, if the correction amount in the newly generated correction command is not greater than the correction amount in the previously output correction command (step S45: No), the correction command generating unit 30 outputs the previously output correction command without updating the previously output correction command with the newly generated correction command (step S55).

[0074] When the process of step S50 is completed or when the process of step S55 is completed, the correction unit 40 corrects the position command with the correction command output from the correction command generation unit 30 (step S60) and outputs the corrected position command (see FIG. 9B). k The function Σ(t,x) that indicates the position command at the time point is p k is corrected by Σ(t,x)-pk t k Hereafter, the function Σ(t,x)-p k The load 80 is positioned along the

[0075] When the corrected position command is output, the control unit 50 determines whether the corrected command position of the motor 70 is within a predetermined range ε ​​(step S65) based on the corrected position command and the position of the motor 70 output by the motor position detection unit 90. The corrected command position is the position corrected by the corrected position command.

[0076] In the processing of step S65, if the corrected command position of the motor 70 has not arrived within the predetermined range (step S65: No), the control unit 50 controls the motor 70 based on the corrected position command and the position of the motor 70 output by the motor position detection unit 90 (step S70).

[0077] In the following cases (i), (ii), (iii), and (iv), motor control device 10 assigns k+1 to integer variable k (step S75), and proceeds to the processing of step S10.

[0078] (i) In the process of step S15, image I k If it is not determined that the target position is included in the target position (step S15: No).

[0079] (ii) If k≦0 in step S25 (step S25: No).

[0080] (iii) In the process of step S35, the predicted target position deviation p k indicates that the load 80 will reach the target position (step S35: No), and the target position deviation d k is not within the predetermined range (step S85: No).

[0081] (iv) When the processing of step S70 is completed.

[0082] In the process of step S65, if the corrected command position of the motor 70 has arrived within the predetermined range (step S65: Yes), the motor control device 10 ends the position deviation correction process.

[0083] The corrected command position of the motor 70 is calculated by subtracting the corrected target position deviation d k That is, the corrected command position of the motor 70 must arrive within a predetermined range, and the corrected target position deviation d k Therefore, in step S85, the target position deviation d k is within the specified range?"

[0084] This processing is effective only until the target settling time tF.

[0085] Below, we will explain, with reference to the drawings, a specific example of the behavior of the motor control device 10 when the motor control device 10 performs the above-mentioned position deviation correction process in the case where a positioning failure target position deviation occurs in the positioning system 1 as illustrated in Figure 4B.

[0086] Fig. 6A is a schematic diagram showing an example of a change over time in the predicted target position deviation calculated by the predictor 20 when the motor control device 10 performs the position deviation correction process in a case where the positioning failure target position deviation illustrated in Fig. 4B occurs in the positioning system 1. In Fig. 6A, the horizontal axis represents elapsed time, and the vertical axis represents the predicted target position deviation.

[0087] Fig. 6B is a schematic diagram showing an example of the change over time in the correction amount in the correction command generated by the correction command generator 30 when the motor control device 10 performs the position error correction process in a case where the positioning failure target position error illustrated in Fig. 4B occurs in the positioning system 1. In Fig. 6B, the horizontal axis represents elapsed time, and the vertical axis represents the correction amount.

[0088] Fig. 6C is a schematic diagram showing an example of how the motor control device 10 performs the position error correction process to position the load 80 at the target position when the positioning failure and target position deviation illustrated in Fig. 4B occurs in the positioning system 1. In Fig. 6C, the horizontal axis represents elapsed time, and the vertical axis represents the target position deviation.

[0089] As the elapsed time passes time A, as shown in FIG. 4B, the rate of change per unit time of the target position deviation calculated by the target position deviation calculation unit 60 decreases. As shown in FIG. 6A, the predicted target position deviation calculated by the prediction unit 20 gradually increases. When the predicted target position deviation exceeds the predicted target position deviation B, i.e., when the predicted target position deviation indicates that the load 80 will not reach the target position, the correction command generation unit 30 starts generating a correction command whose correction amount is the predicted target position deviation, as shown in FIG. 6B. The correction command generation unit 30 then updates and outputs the correction command so that the maximum value of the correction value is maintained. The control unit 50 controls the motor 70 to move to a position commanded by the corrected position command corrected by the correction command whose maximum value of the correction value is maintained. As a result, the load 80 is positioned within a predetermined range from the target position, as shown in FIG. 6C.

[0090] <Consideration> As described above, motor control device 10 calculates the target position deviation, acquires the target settling time, and corrects the position command based on the calculated target position deviation and the acquired target settling time. Therefore, there is no need to feed back information related to load 80 to host controller 11, which issues a position command to motor control device 10. Therefore, motor control device 10 can control motor 70 to quickly position load 80 within a predetermined range from the target position. Furthermore, motor control device 10 does not necessarily need to slow down the positioning speed of load 80 even when load 80 approaches the target position. Therefore, motor control device 10 can control the motor to more quickly position load 80 within a predetermined range from the target position.

[0091] (supplement) While the motor control device according to one aspect of the present disclosure has been described above based on an embodiment, the present disclosure is not limited to the embodiment. Various modifications conceivable by those skilled in the art to the embodiment, and configurations constructed by combining components of different embodiments, may also be included within the scope of one or more aspects of the present disclosure, provided they do not deviate from the spirit of the present disclosure. Other configuration examples of the motor control device according to one aspect of the present disclosure are described below.

[0092] (1) First Alternative Configuration Example In the embodiment, the prediction unit 20 predicts the image captured by the camera 61 at the image capturing time t k-1 and the image capturing time t of the image captured by the camera 61 for the kth time. k and the target position deviation d corresponding to the image captured by the camera 61 for the k-1th time. k-1 and the target position deviation d corresponding to the image captured by the camera 61 for the kth time. k By performing linear interpolation using k That is, the prediction unit 20 calculates the first time (t k-1 ) and the second time (t k ) and the first target position deviation (target position deviation d k-1 ) and the second target position deviation (target position deviation d k ) and linear interpolation is performed to calculate the predicted target position deviation.

[0093] In contrast to this, as a first alternative configuration example, the prediction unit 20 performs quadratic interpolation to obtain the predicted target position deviation p k 10 is a diagram showing a case where the predicted target position deviation is calculated by performing quadratic interpolation in another configuration example. Data used for quadratic interpolation is, for example, the image captured by the camera 61 at the image capturing time t k-2 and the target position deviation d corresponding to the image k-2 and the image capturing time t of the image captured by the camera 61 for the k-1th time. k-1and the target position deviation d corresponding to the image k-1 and the image capturing time t of the image captured by the camera 61 for the kth time. k and the target position deviation d corresponding to the image captured by the camera 61 for the kth time. k That is, the prediction unit 20 predicts that at the first time (t k-2 ) and the second time (t k-1 ) and the third time (t k ) and the first target position deviation (target position deviation d k-2 ) and the second target position deviation (target position deviation d k-1 ) and the third target position deviation (target position deviation d k ) and perform quadratic interpolation to obtain the predicted target position error p k In FIG. 10, t k The function Σ(t,x) that indicates the position command at the time point is p k is corrected by Σ(t,x)-p k t k Hereafter, the function Σ(t,x)-p k The load 80 is positioned in accordance with the flowchart shown in FIG.

[0094] The predicted target position deviation can also be calculated by linear interpolation or quadratic interpolation using four or more times and four or more corresponding target position deviations. Furthermore, the predicted target position deviation can also be calculated by using all data previously acquired until the target position is reached and performing multi-order interpolation, exponential approximation, approximation based on a transfer function that simulates the responsiveness of the control unit 50, or the like.

[0095] (2) Second Alternative Configuration Example In the embodiment, the correction command generating unit 30 has been described as generating a correction command when the predicted target position deviation indicates that the load will not reach within the target position (will not exceed the target position).

[0096] In contrast to this, as another configuration example, the correction command generator 30 may generate a correction command when, for example, the predicted target position deviation indicates that the load will not arrive within a predetermined range from the target position. In this way, the correction command is generated earlier than in the embodiment, and therefore the correction operation is performed earlier than in the embodiment, allowing the load to arrive within the predetermined range more quickly.

[0097] (3) Third Alternative Configuration Example In the embodiment, the motor control device 10 is described as having a target position deviation calculation unit 60 therein that calculates a target position deviation, and the prediction unit 20 acquires the target position deviation calculated by the target position deviation calculation unit 60.

[0098] Alternatively, as another configuration example, the motor control device 10 may not include the target position deviation calculation unit 60, and the prediction unit 20 may acquire the target position deviation from a device external to the motor control device 10.

[0099] (4) Fourth and fifth alternative configuration examples In the embodiment, the correction command generating unit 30 generates a correction command that corrects the position command so as to command a corrected command position that is shifted by the predicted target position deviation from the command position commanded by the position command.

[0100] In contrast to this, a correction command may be generated to correct the position command so as to issue a corrected command position that is shifted by the difference between the predicted target position deviation and a predetermined range, as shown in FIG. 11, or by the difference between the predicted target position deviation and a value obtained by multiplying the predetermined range by a predetermined value that is greater than 0 and equal to or less than 1, as shown in FIG. 12.

[0101] Fig. 11 is a diagram showing a fourth example of another configuration in which a position command is corrected based on the difference between a predicted target position deviation and a predetermined range. Fig. 12 is a diagram showing a fifth example of another configuration in which a position command is corrected based on the difference between a predicted target position deviation and a value obtained by multiplying the predetermined range by a predetermined value greater than 0 and equal to or less than 1.

[0102] In the case shown in Figure 11, t k The correction value at time point is p k -0.5ε. In this case, t k At the time point, the function Σ(t,x) representing the position command is p k Corrected by -0.5ε, Σ(t,x)-(p k -0.5ε) t k Hereafter, the function Σ(t,x)-(p k -0.5ε), the load 80 is positioned according to the flowchart shown in FIG.

[0103] In the case shown in Figure 12, α is a constant that satisfies 0<α≦1, and t k The correction value at time point is p k -0.5αε. In this case, t k At the time point, the function Σ(t,x) representing the position command is p k Corrected by -0.5αε, Σ(t,x)-(p k -0.5αε) t k Hereafter, the function Σ(t,x)-(p k -0.5αε), the load 80 is positioned according to the flowchart shown in FIG.

[0104] In the embodiment, although the position of the load after stopping is within a predetermined range, the correction command is too large, so it exceeds the target position as shown in Figure 6C. However, by performing the above processing, the correction amount becomes smaller than the value shown in Figure 6B, and it becomes possible to stop the load without exceeding the target position. [Industrial Applicability]

[0105] The present disclosure is widely applicable to motor control devices that control motors. [Explanation of symbols]

[0106] 1 Positioning System 10 Motor control device 11 Upper controller 20 Prediction Department 21, 31, 41, 63 processors 22, 32, 42, 64, 68 memory 30 Correction command generation section 40 Correction unit 50 control section 51 Inverter 52 Controller 60 Target position deviation calculation unit 61 Camera 62 Calculation section 66 Lens 67 Solid-state imaging device 70 Motor 71, 72 Connection 80 load 90 Motor position detection unit 100 Guide 110 Stages 120 Work 130 Field of View

Claims

1. A motor control device that controls a motor that moves a load to a target position based on a position command that commands a position of the motor, a prediction unit that acquires at least two or more target position deviations indicating the difference between the position of the load and the target position at at least two or more times, and a target settling time indicating the target time at which the motor will move the load to the target position, and calculates a predicted target position deviation indicating the difference between the position of the load and the target position at the target settling time based on the at least two or more target position deviations and the target settling time; a correction command generating unit that generates a correction command for correcting the position command based on the predicted target position deviation when the predicted target position deviation indicates that the load will not arrive within a predetermined range from the target position; a correction unit that acquires the position command, corrects the position command based on the correction command, and generates a corrected position command; a control unit that controls the motor based on the corrected position command and the position of the motor.

2. the at least two or more target position deviations are a plurality of target position deviations including a first target position deviation at a first time and a second target position deviation at a second time, the prediction unit calculates the predicted target position deviation based on the first time, the second time, the first target position deviation, and the second target position deviation; The motor control device according to claim 1 .

3. the prediction unit calculates the predicted target position deviation by linear interpolation using the first time, the second time, the first target position deviation, and the second target position deviation. The motor control device according to claim 2 .

4. the plurality of target position deviations further includes a third target position deviation at a third time; the prediction unit calculates the predicted target position deviation by quadratic interpolation using the first time, the second time, the third time, the first target position deviation, the second target position deviation, and the third target position deviation. The motor control device according to claim 2 .

5. the correction command commands a corrected command position that is shifted by the predicted target position deviation from the command position commanded by the position command; The motor control device according to any one of claims 1 to 4.

6. the correction command commands a corrected command position that is shifted from the command position commanded by the position command by the difference between the predicted target position deviation and the predetermined range; The motor control device according to any one of claims 1 to 4.

7. the correction command commands a corrected command position that is shifted from the command position commanded by the position command by the difference between a predicted target position deviation and a value obtained by multiplying the predetermined range by a predetermined value that is greater than 0 and equal to or less than 1; The motor control device according to any one of claims 1 to 4.

8. further comprising a target position deviation calculation unit that calculates the at least two target position deviations, The target position deviation calculation unit a camera that is positioned together with the load by the motor and captures images at at least two or more times; a calculation unit that calculates, based on each image captured by the camera, one target position deviation of the at least two or more target position deviations corresponding to the image when the target position is included in the image, The motor control device according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Rotary type storage device

    JP1996263950A

  • Stacking control method and device for crane

    JP2002241079A

  • Control system and control method

    JP2014203365A

  • Robot system for learning by use of motor encoder and sensor

    JP2019181610A

  • Methods of repetitive movement control

    JP2019530031A