WO2022239588A1 - モータ制御システム、制御装置、制御方法、およびプログラム - Google Patents

モータ制御システム、制御装置、制御方法、およびプログラム Download PDF

Info

Publication number
WO2022239588A1
WO2022239588A1 PCT/JP2022/017525 JP2022017525W WO2022239588A1 WO 2022239588 A1 WO2022239588 A1 WO 2022239588A1 JP 2022017525 W JP2022017525 W JP 2022017525W WO 2022239588 A1 WO2022239588 A1 WO 2022239588A1
Authority
WO
WIPO (PCT)
Prior art keywords
time
information
reference time
moving
distance
Prior art date
Application number
PCT/JP2022/017525
Other languages
English (en)
French (fr)
Inventor
悠輔 久保井
弘 藤原
健太 村上
Original Assignee
パナソニックIpマネジメント株式会社
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 パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Priority to CN202280034181.2A priority Critical patent/CN117337417A/zh
Priority to JP2023520928A priority patent/JPWO2022239588A1/ja
Publication of WO2022239588A1 publication Critical patent/WO2022239588A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D3/00Control of position or direction
    • G05D3/12Control of position or direction using feedback

Definitions

  • the present disclosure relates to a motor control system, control device, control method, and program.
  • Patent Literature 1 discloses a motor position control method that performs control using a general command value pattern and creates a correction command value pattern when the final target position is recognized during this control.
  • the present disclosure has been made to solve such problems, and aims to provide a motor control system, a control method, a control device, and a program that can suppress deterioration in accuracy of position control.
  • a motor control system includes a position detection device for detecting the position of a moving part that moves, a command device that outputs an operation command for operating a motor that moves the moving part, a control and a device.
  • the control device has a calculation unit and an output unit.
  • the calculation unit calculates the reachability of the moving unit based on the position information indicating the position of the moving unit detected using the position detection device and the distance information indicating the future moving distance of the moving unit based on the operation command.
  • a predicted position is calculated, and a deviation amount between the predicted arrival position and the target position of the moving unit is calculated.
  • the output unit outputs information indicating the deviation amount between the predicted arrival position calculated by the calculation unit and the target position.
  • the calculation unit determines a reference time in consideration of at least one of an acquisition time required to acquire the position information and an acquisition time required to acquire the distance information, and determines the position of the moving unit at the reference time and the future is obtained or calculated, and the predicted arrival position is calculated based on the obtained or calculated position of the moving unit at the reference time and the future movement distance.
  • a control device includes a calculation unit and an output unit.
  • the calculation unit is based on position information indicating the position of the moving part detected by a position detection device for detecting the position of the moving part and an operation command for operating a motor for moving the moving part.
  • a predicted arrival position of the moving part is calculated based on distance information indicating a future movement distance of the moving part, and a deviation amount between the predicted arrival position and a target position of the moving part is calculated.
  • the output unit outputs information indicating the amount of deviation between the predicted arrival position calculated by the calculation unit and the target position.
  • the calculation unit determines a reference time in consideration of at least one of an acquisition time required to acquire the position information and an acquisition time required to acquire the distance information, and determines the position of the moving unit at the reference time and the future is obtained or calculated, and the predicted arrival position is calculated based on the position of the moving unit at the obtained or calculated reference time and the future movement distance.
  • a control method includes a calculation step and an output step.
  • the calculating step includes position information indicating the position of the moving part detected by a position detecting device for detecting the position of the moving part and an operation command for operating a motor for moving the moving part.
  • a predicted arrival position of the moving part is calculated based on distance information indicating a future moving distance of the moving part based on the distance information, and a deviation amount between the predicted arrival position and a target position of the moving part is calculated.
  • the output step outputs information indicating the amount of deviation between the predicted arrival position calculated by the calculation step and the target position.
  • a reference time is determined in consideration of at least one of an acquisition time required to acquire the position information and an acquisition time required to acquire the distance information, and the position of the moving unit at the reference time and the future is obtained or calculated, and the predicted arrival position is calculated based on the position of the moving unit at the obtained or calculated reference time and the future movement distance.
  • a program according to one aspect of the present disclosure is a program for causing a computer to execute the control method described above.
  • FIG. 1 is a block diagram showing the functional configuration of a production device according to an embodiment.
  • FIG. 2 is a block diagram showing the functional configuration of a second signal processing circuit provided in the motor control device of the production apparatus of FIG. 3 is a diagram showing a schematic configuration of a moving section of the production apparatus of FIG. 1.
  • FIG. 4 is a diagram showing a time series of information acquired by the production apparatus of FIG. 1.
  • FIG. 5 is a flow chart showing a first operation example of the second signal processing circuit of the production apparatus of FIG. 1 when calculating the amount of deviation.
  • FIG. 6 is a flow chart showing a first operation example of the second signal processing circuit of the production apparatus of FIG. 1 when determining the reference time.
  • FIG. 7 is a diagram for explaining the operation example shown in FIGS.
  • FIG. FIG. 8 is a flowchart showing a second operation example of the second signal processing circuit of the production apparatus of FIG. 1 when determining the reference time.
  • FIG. 9 is a diagram for explaining the operation example shown in FIGS. 5 and 8.
  • FIG. 10 is a diagram showing a schematic configuration of another moving section.
  • FIG. 11 is a flowchart showing a second operation example of the second signal processing circuit of the production apparatus of FIG. 1 when calculating the amount of deviation.
  • FIG. 12 is a flowchart showing a third operation example of the second signal processing circuit of the production apparatus of FIG. 1 when calculating the amount of deviation.
  • FIG. 13 is a flowchart showing a fourth operation example of the second signal processing circuit of the production apparatus of FIG. 1 when calculating the amount of deviation.
  • each figure is a schematic diagram and is not necessarily strictly illustrated.
  • substantially the same configurations are denoted by the same reference numerals, and overlapping descriptions are omitted or simplified.
  • FIG. 1 is a block diagram showing the functional configuration of production apparatus 1 according to the embodiment.
  • FIG. 2 is a block diagram showing the functional configuration of the second signal processing circuit 30 included in the motor control device 16 of the production apparatus 1 of FIG.
  • FIG. 3 is a diagram showing a schematic configuration of the moving section 50 of the production apparatus 1 of FIG. 1. As shown in FIG.
  • the production device 1 includes a motor control system 10 and a moving section 50.
  • the moving unit 50 has a head 52 that holds an object, and a motor 54 that is connected to the head 52 and moves together with the head 52 .
  • a motor 54 is a drive source for moving the head 52 .
  • the production device 1 performs production using a motor 54 .
  • the production apparatus 1 moves an electronic component (not shown) sucked and held by the head 52 onto the printed wiring board 56 together with the head 52 using the motor 54 , and moves the electronic component onto the printed wiring board 56 .
  • It is a mounting machine that mounts at a predetermined position.
  • the motor control system 10 is a system that controls the motor 54.
  • motor control system 10 controls the position of motor 54 and the like.
  • the motor control system 10 has a controller 12 , a position detection device 14 , a motor control device 16 and a notification device 18 .
  • the controller 12 is an example of a command device that outputs an operation command for operating the motor that moves the moving unit 50 .
  • the controller 12 has a first signal processing circuit 20 and a first input device 22 .
  • the first signal processing circuit 20 is a circuit that performs signal processing.
  • the first signal processing circuit 20 generates an operation command and outputs the generated operation command.
  • the operation command is a position command indicating a movement distance (movement amount) or the like for moving the moving unit 50 .
  • the operation command is a speed command indicating a moving speed or the like for moving the moving unit 50 .
  • an operation command plan is set for the movement plan from the initial position until the moving part 50 reaches the target position.
  • the movement plan is set in the first signal processing circuit 20 by input by the operator of the controller 12 using the first input device 22 .
  • the action command plan is a plan that defines the content of the action command, the timing of outputting the action command, etc., in order to move the moving unit 50 along the movement plan.
  • the first signal processing circuit 20 generates an action command plan based on the set movement plan and stores it in the memory 121 within the controller 12 .
  • the first signal processing circuit 20 moves the moving section 50 according to the movement plan by repeatedly outputting one or more movement commands based on the movement command plan.
  • the first signal processing circuit 20 calculates the future movement distance of the moving unit 50 based on the operation command, and outputs distance information indicating the calculated future movement distance.
  • the future moving distance based on the motion command is the moving distance of the moving part 50 based on the motion command output from the first signal processing circuit 20 in the future.
  • an action command to be output from the first signal processing circuit 20 in the future is an action command that has not yet been output from the first signal processing circuit 20 among all the action commands included in the action command plan.
  • the first It is possible to calculate the moving distance of the moving part 50 based on the operation command output from the signal processing circuit 20 in the future.
  • the second signal processing circuit 30 included in the motor control device 16 may calculate the future movement distance of the movement unit 50 based on the operation command.
  • the first signal processing circuit 20 receives determination signals and the like from the motor control device 16 .
  • the determination signal is a signal indicating the determination result of the amount of deviation between the predicted arrival position of the moving unit 50 and the target position of the moving unit 50 .
  • the first signal processing circuit 20 controls the notification device 18 based on the determination signal. For example, when the amount of deviation between the predicted arrival position of the moving unit 50 and the target position of the moving unit 50 is greater than or equal to a predetermined threshold value, the first signal processing circuit 20 generates and outputs a notification signal to the notification device 18. Inform them to that effect.
  • the first signal processing circuit 20 is a computer, and the processing of the first signal processing circuit 20 can be realized by program processing on the computer.
  • the first input device 22 is a device that receives an input operation by an operator or the like. For example, as described above, the first input device 22 receives an input operation for a movement plan.
  • the first input device 22 can be realized by a touch panel, hardware buttons, or the like.
  • the position detection device 14 is a device for detecting the position of the moving part 50 that moves.
  • the position detection device 14 has a camera 24 , an image processing section 26 and an encoder 28 .
  • the camera 24 and the image processing section 26 are devices for detecting the position of the head 52 in the moving section 50 .
  • Camera 24 is connected to head 52 and moves with head 52 .
  • the image processing unit 26 processes the image captured by the camera 24 and calculates the position of the head 52 . For example, if the image captured by the camera 24 includes the target position, the image processing unit 26 analyzes the image to calculate the distance from the head 52 to the target position.
  • the image processing unit 26 outputs position information indicating the position of the head 52 .
  • the encoder 28 is a device for detecting the position of the motor 54 in the moving section 50 .
  • Encoder 28 is coupled to motor 54 and moves with motor 54 .
  • encoder 28 detects the position of motor 54 by reading a linear scale (not shown).
  • Encoder 28 outputs position information indicating the position of motor 54 .
  • the image processing unit 26 may be included in the second signal processing circuit 30 or the like provided in the motor control device 16 .
  • the motor control device 16 detects the position of the moving portion 50 detected by the position detecting device 14 and the distance information indicating the future movement distance of the moving portion 50 based on the operation command. This is an example of a control device that calculates a predicted position and calculates and outputs the amount of deviation between the predicted arrival position of the moving unit 50 and the target position of the moving unit 50 .
  • the motor controller 16 has a second signal processing circuit 30 and a second input device 32 .
  • the second signal processing circuit 30 is a circuit that performs signal processing. As shown in FIG. 2 , the second signal processing circuit 30 has a position control section 34 and a deviation amount calculation section 36 .
  • the position control unit 34 receives the operation command output from the controller 12 , the position information indicating the position of the motor 54 detected using the encoder 28 , and the predicted arrival position of the moving unit 50 output from the shift amount calculation unit 36 . and the amount of deviation from the target position of the moving part 50, a drive signal for driving the motor 54 is generated, and the generated drive signal is output.
  • the deviation amount calculation unit 36 is an example of a calculation unit that calculates the amount of deviation between the predicted arrival position of the moving unit 50 and the target position of the moving unit 50 . Further, the displacement amount calculation unit 36 is also an example of an output unit that outputs information indicating the amount of displacement between the predicted arrival position of the moving unit 50 calculated by the displacement amount calculating unit 36 and the target position of the moving unit 50 .
  • the deviation amount calculating unit 36 determines the position of the moving unit 50. 50 predicted arrival positions are calculated.
  • the predicted arrival position of the moving unit 50 is a position predicted to be reached by the moving unit 50 .
  • the position information of the moving unit 50 detected using the position detection device 14 indicates the position of the head 52 detected using the camera 24 and the position of the motor 54 detected using the encoder 28. location information.
  • the position of head 52 is calculated by the position of camera 24 relative to the target position and the distance between the position of camera 24 and the position of head 52 (see ⁇ in FIG. 3).
  • the deviation amount calculation unit 36 calculates the position of the moving unit 50 based on the position information indicating the position of the motor 54 detected using the encoder 28 and the distance information indicating the future moving distance of the moving unit 50 based on the operation command. 50 predicted arrival positions are calculated. Specifically, for example, as shown in FIG. 3, the deviation amount calculator 36 calculates the position of the motor 54 detected using the encoder 28 and the distance between the position of the motor 54 and the position of the head 52 ( (see ⁇ +X in FIG. 3) and the future movement distance of the moving unit 50 based on the operation command, the predicted arrival position of the moving unit 50 is calculated.
  • the deviation amount calculation unit 36 calculates the acquisition time required to acquire the position information indicating the position of the moving unit 50 detected using the position detection device 14 and the movement of the moving unit 50 based on the operation command.
  • the predicted arrival position of the moving unit 50 is calculated in consideration of the acquisition time required to acquire the distance information indicating the future movement distance.
  • the shift amount calculation unit 36 calculates the shift amount between the calculated predicted arrival position of the moving unit 50 and the target position of the moving unit 50, and outputs information indicating the shift amount. Further, the deviation amount calculator 36 determines whether or not the calculated deviation amount is equal to or greater than a predetermined threshold, and outputs a determination signal indicating the determination result. For example, the determination signal output from the shift amount calculator 36 is input to the position controller 34 , but may be input to the first signal processing circuit 20 .
  • the second signal processing circuit 30 is a computer, and the processing of the position control section 34 and the deviation amount calculation section 36 can be realized by program processing in the computer.
  • the notification device 18 is connected to the controller 12.
  • the notification device 18 is an indicator.
  • the notification device 18 issues a warning indicating that the amount of deviation between the predicted arrival position of the moving unit 50 and the target position of the moving unit 50 is greater than or equal to a predetermined threshold value. indicate.
  • the notification device 18 may be a warning light. In this case, the notification device 18 turns on the warning light based on the notification signal output from the controller 12 .
  • the notification device 18 may not be connected to the controller 12 and may be connected to the motor control device 16 . Also, for example, notification device 18 may be included in controller 12 or motor controller 16 .
  • the informing device 18 informs a target person (including, for example, a worker using the production device 1 or a manager and maintenance person of the production device 1) involved in the production device 1 (motor control system 10) that the moving unit 50 has arrived. It can be easily and quickly grasped that the positional deviation between the predicted position and the target position of the moving unit 50 is equal to or greater than a predetermined threshold.
  • FIG. 4 is a diagram showing the time series of information acquired by the production apparatus 1 of FIG.
  • the position of the moving part 50 is periodically detected using the position detection device 14 , and the shift amount calculation part 36 calculates the position of the moving part 50 detected using the position detection device 14 . It periodically acquires position information indicating
  • the position of the head 52 is detected in the first cycle using the camera 24, and the deviation amount calculation unit 36 acquires position information indicating the position of the head 52 in the first cycle.
  • an acquisition time including the time required for image processing by the image processing unit 26 and the time required for transmitting the position information may occur until the deviation amount calculation unit 36 acquires the position information.
  • the acquisition time may be referred to as the first acquisition time.
  • the position of the head 52 indicated by the positional information acquired by the shift amount calculator 36 is the position where the head 52 was actually located at the first acquisition time before the time when the positional information was acquired.
  • the position of the motor 54 is detected in the second period using the encoder 28, and the deviation amount calculation unit 36 acquires the position information indicating the position of the motor 54 in the second period.
  • an acquisition time including the time required for transmitting the position information may occur until the deviation amount calculation unit 36 acquires the position information.
  • the acquisition time may be referred to as a second acquisition time.
  • the position of the motor 54 indicated by the position information acquired by the shift amount calculating unit 36 is the position where the motor 54 was actually positioned at the second acquisition time before the time when the position information was acquired.
  • the first signal processing circuit 20 periodically calculates the future movement distance of the moving unit 50 based on the operation command, and the shift amount calculation unit 36 calculates the distance based on the operation command calculated by the first signal processing circuit 20. Distance information indicating the future movement distance of the movement unit 50 is periodically obtained.
  • the first signal processing circuit 20 calculates the future movement distance of the moving unit 50 based on the operation command in the third cycle, and the deviation amount calculation unit 36 calculates the distance of the moving unit 50 based on the operation command. Distance information indicating the future movement distance is acquired in the third cycle.
  • an acquisition time including the time required for transmitting the distance information may occur until the deviation amount calculation unit 36 acquires the distance information. don't consider time. Note that the deviation amount calculation unit 36 may consider the acquisition time.
  • the shift amount calculation unit 36 (second signal processing circuit 30) periodically acquires internal signals and the like to periodically calculate the predicted arrival position of the moving unit 50, and the predicted arrival position of the moving unit 50 and the moving unit 50 is calculated periodically.
  • the deviation amount calculator 36 calculates the deviation amount every time the position information indicating the position of the motor 54 detected using the encoder 28 is acquired, that is, in the second period.
  • FIG. 5 is a flowchart showing a first operation example of the deviation amount calculation unit 36 of the production apparatus 1 of FIG. 1 when calculating the deviation amount.
  • FIG. 6 is a flowchart showing a first operation example of the shift amount calculator 36 of the production apparatus 1 of FIG. 1 when determining the reference time.
  • FIG. 7 is a diagram for explaining the operation example shown in FIGS. 5 and 6. FIG.
  • the deviation amount calculator 36 acquires position information indicating the position of the head 52 detected using the camera 24 (step S1), and the position of the motor 54 detected using the encoder 28. is obtained (step S2), and distance information indicating the future movement distance of the moving unit 50 based on the operation command is obtained (step S3).
  • the deviation amount calculation unit 36 determines the reference time in consideration of the first acquisition time and the second acquisition time (step S4).
  • the deviation amount calculation unit 36 acquires an acquisition history of position information indicating the position of the head 52 detected using the camera 24 (step S10), the first cycle and the first acquisition Time is acquired (step S11). Further, the deviation amount calculation unit 36 acquires the acquisition history of the position information indicating the position of the motor 54 detected using the encoder 28 (step S12), and acquires the second cycle and the second acquisition time (step S13). ). Further, the shift amount calculation unit 36 acquires the acquisition history of distance information indicating the future movement distance of the moving unit 50 based on the operation command (step S14), and acquires the third cycle (step S15).
  • the shift amount calculation unit 36 goes back the acquisition time required to acquire the position information from the time when the latest position information among the plurality of periodically acquired position information was acquired.
  • the oldest time is determined as the reference time (step S16).
  • the time that is the first acquisition time before the time when the latest position information before the current time was acquired is T1.
  • T2 is the second acquisition time from the acquisition of the latest position information before the current time among the plurality of pieces of position information indicating the position of the motor 54 detected using the encoder 28 .
  • the time at which the latest distance information before the current time among the plurality of distance information acquired from the first signal processing circuit 20 is acquired is T3.
  • the time at which the newest internal signal before the current time was acquired among the internal signals of the shift amount calculation unit 36 (first signal processing circuit 20) is T4.
  • the deviation amount calculation unit 36 determines the oldest time among T1, T2, and T3.
  • the oldest time is T3. Therefore, the shift amount calculator 36 determines T3 as the reference time.
  • the shift amount calculation unit 36 performs delay compensation on the position information indicating the position of the moving unit 50 detected using the position detection device 14 (steps S5 and step S6). For example, as delay compensation, the shift amount calculation unit 36 obtains or calculates the position of the moving unit 50 at the reference time in consideration of the acquisition time required to acquire the position information.
  • the shift amount calculation unit 36 uses the position information acquired at the time that is the acquisition time ahead of the first time and the position information that is acquired at the time that is the acquisition time ahead of the second time to determine the position of the moving part at the reference time. 50 positions are calculated.
  • the first time is the latest time before the reference time among a plurality of times before the reference time among a plurality of times before the acquisition time required to acquire the position information from each of the plurality of times at which the plurality of position information acquired periodically.
  • the second time is the oldest time later than the reference time among a plurality of times before the acquisition time required to acquire the positional information from each of the plurality of times at which the plurality of positional information acquired periodically.
  • the deviation amount calculator 36 obtains or calculates the position of the head 52 at the reference time as delay compensation (step S5), and obtains or calculates the position of the motor 54 at the reference time as delay compensation (step S6).
  • the reference time is T0
  • the reference time is one of a plurality of times preceding a first acquisition time from each of a plurality of times at which a plurality of pieces of position information detected using the camera 24 are acquired.
  • T5 is the most recent first time before the time
  • the reference time is one of a plurality of times before the first acquisition time from each of a plurality of times at which a plurality of pieces of position information detected using the camera 24 are acquired.
  • T1 is the oldest second time.
  • the deviation amount calculation unit 36 calculates ⁇ T2/( ⁇ T1+ ⁇ T2)
  • the position of the head 52 at the reference time is calculated by xX+ ⁇ T1/( ⁇ T1+ ⁇ T2) ⁇ Y.
  • the reference time is T0, and a plurality of times before the reference time among a plurality of times before the second acquisition time from each of a plurality of times at which a plurality of pieces of position information detected using the encoder 28 are obtained.
  • T8 be the latest first time, and the oldest after the reference time among a plurality of times before the second acquisition time from each of a plurality of times at which a plurality of pieces of position information detected using the encoder 28 were acquired.
  • the second time is T9.
  • the time that is advanced by the second acquisition time from the first time is T10, and the time that is advanced by the second acquisition time from the second time is T11.
  • the deviation amount calculation unit 36 calculates ⁇ T4/( ⁇ T3+ ⁇ T4) ⁇ X1+ ⁇ T3 /( ⁇ T3+ ⁇ T4) ⁇ Y1 calculates the position of the motor 54 at the reference time.
  • the deviation amount calculation unit 36 similarly performs delay compensation for the future movement distance of the movement unit 50 based on the operation command (step S7).
  • the shift amount calculator 36 obtains or calculates the future movement distance of the moving unit 50 at the reference time, considering the first acquisition time and the second acquisition time as delay compensation.
  • the reference time is T3
  • the shift amount calculation unit 36 acquires the future movement distance of the moving unit 50 at the reference time.
  • the deviation amount calculating unit 36 calculates the position of the moving unit 50 at the obtained or calculated reference time and the future movement of the moving unit 50. Using the distance, the predicted arrival position of the moving unit 50 is calculated (step S8).
  • the deviation amount calculator 36 calculates the position of the motor 54 detected using the encoder 28, the distance between the position of the motor 54 and the position of the head 52 (see ⁇ +X in FIG. 3), and the future movement distance of , the predicted arrival position of the moving unit 50 is calculated.
  • the shift amount calculating unit 36 calculates the amount of shift between the predicted reaching position of the moving unit 50 and the target position of the moving unit 50 (step S9). For example, the difference between the predicted arrival position and the target position is calculated as the deviation amount.
  • FIG. 8 is a flow chart showing a second operation example of the deviation amount calculator 36 of the production apparatus 1 of FIG. 1 when determining the reference time.
  • FIG. 9 is a diagram for explaining the operation example shown in FIGS. 5 and 8. FIG.
  • the deviation amount calculation unit 36 acquires the acquisition history of information with the longest period among the position information and the distance information acquired periodically (step S17), and
  • the reference time may be determined as the time when the newest information is acquired or the time before the time when the newest information is acquired by the acquisition time required to acquire the information (step S18).
  • the deviation amount calculation unit 36 calculates The time that is the first acquisition time is determined as the reference time. Further, for example, when the cycle of acquiring the distance information is longer than the cycle of acquiring the position information, the deviation amount calculation unit 36 calculates the time when the latest distance information among the plurality of periodically acquired distance information is acquired. Determined as the reference time.
  • the first period is longer than the second and third periods, so the shift amount calculation unit 36 calculates a plurality of pieces of position information detected using the camera 24 and acquired periodically.
  • a time that is the first acquisition time before the time when the latest position information was acquired is determined as a reference time.
  • the deviation amount calculation unit 36 acquires or calculates the position of the moving unit 50 at the reference time and the future moving distance of the moving unit 50 by the method described in the first operation example.
  • the deviation amount calculation unit 36 acquires the position information and acquires the position of the head 52 at the reference time.
  • the deviation amount calculation unit 36 calculates the future movement distance of the movement unit 50 at the reference time. Specifically, for example, the deviation amount calculation unit 36 calculates the latest third time before the reference time and Using the oldest fourth time, the distance information acquired at the third time, and the distance information acquired at the fourth time, the future movement distance at the reference time is calculated.
  • T0 be the reference time
  • T12 be the latest third time before the reference time among a plurality of times at which a plurality of pieces of distance information are acquired
  • T12 be a third time at which a plurality of pieces of distance information are acquired.
  • the oldest fourth time after the reference time is T13.
  • ⁇ T5 the difference between the reference time and the third time
  • ⁇ T6 T13 ⁇ T0.
  • the deviation amount calculation unit 36 .DELTA.T6/(.DELTA.T5+.DELTA.T6).times.X2+.DELTA.T5/(.DELTA.T5+.DELTA.T6).times.Y2.
  • the deviation amount calculator 36 similarly calculates the position of the motor 54 at the reference time and the internal signal value at the reference time.
  • the shift amount calculation unit 36 sets the time when the latest distance information among the plurality of distance information obtained periodically is obtained as the reference time. may be determined as
  • the motor control system 10 according to the embodiment has been described above.
  • the motor control system 10 includes a motor 54, a moving section 50, a position detection device 14 for detecting the position of the moving section 50, and an operation command for moving the moving section 50. and a motor controller 16 .
  • the motor control device 16 has a deviation amount calculator 36 .
  • the shift amount calculation unit 36 adjusts the position of the moving unit 50 based on the position information indicating the position of the moving unit 50 detected using the position detection device 14 and the distance information indicating the future moving distance of the moving unit 50 based on the operation command.
  • a predicted arrival position is calculated, a deviation amount between the predicted arrival position and the target position of the moving unit 50 is calculated, and information indicating a deviation amount between the calculated predicted arrival position and the target position is output.
  • the shift amount calculation unit 36 determines the reference time in consideration of at least one of the acquisition time required to acquire the position information and the acquisition time required to acquire the distance information, and determines the position of the moving unit 50 at the reference time and the future is obtained or calculated, and the predicted arrival position is calculated based on the position of the moving unit 50 at the obtained or calculated reference time and the future movement distance.
  • the deviation amount calculation unit 36 considers at least one of the acquisition time required to acquire the position information and the acquisition time required to acquire the distance information, determines the reference time, and determines the reference time at the acquired or calculated reference time.
  • a predicted arrival position is calculated based on the position of the moving unit 50 and the future movement distance.
  • the time when the position information was acquired may differ from the time when the moving unit 50 was actually located at the position indicated by the position information. Therefore, without considering the acquisition time required to acquire the position information, if the predicted arrival position is calculated by assuming that the moving unit 50 was actually positioned at the position indicated by the position information at the time when the position information was acquired, , the predicted arrival position cannot be calculated with high accuracy.
  • the shift amount calculation unit 36 determines the reference time in consideration of at least one of the acquisition time required to acquire the position information and the acquisition time required to acquire the distance information. Since the predicted arrival position is calculated based on the position and the future movement distance, the predicted arrival position can be calculated with high accuracy. Therefore, since the amount of deviation between the predicted arrival position of the moving part 50 and the target position of the moving part 50 can be calculated with high accuracy, the moving part 50 can be easily positioned at the target position, and the deterioration of the accuracy of the position control can be suppressed.
  • the deviation amount calculation unit 36 periodically acquires the position information and the distance information, and acquires the latest position information among the plurality of periodically acquired position information.
  • the oldest time is determined as the reference time among the time before the acquisition time required to acquire the position information from the time when the position information was obtained and the time when the latest distance information among the plurality of periodically acquired distance information was acquired.
  • the amount of deviation between the predicted arrival position of the moving unit 50 and the target position of the moving unit 50 at the reference time can be calculated with high accuracy. can.
  • the deviation amount calculation unit 36 periodically acquires position information and distance information. Then, if the cycle of acquiring the position information is longer than the cycle of acquiring the distance information, the shift amount calculation unit 36 calculates the position information from the time when the latest position information among the plurality of periodically acquired position information is acquired. The reference time is determined by going back the acquisition time required for acquisition. Further, when the cycle of acquiring the distance information is longer than the cycle of acquiring the position information, the shift amount calculating unit 36 sets the time when the latest distance information among the plurality of periodically acquired distance information is acquired as the reference time. Determined as
  • the position of the moving unit 50 at the reference time or the future movement distance is estimated using the information near the reference time. It can be calculated with high accuracy. Therefore, the amount of deviation between the predicted arrival position of the moving unit 50 and the target position of the moving unit 50 at the reference time can be calculated with high accuracy. can.
  • the deviation amount calculation unit 36 periodically acquires the position information, and acquires the position information at the first time and the second time, and at the time advanced by the acquisition time from the first time.
  • the position of the moving unit 50 at the reference time is calculated using the position information obtained at the second time and the position information obtained at the time earlier than the second time by the obtained time.
  • the first time is the latest time before the reference time among a plurality of times before the reference time among a plurality of times before the acquisition time required to acquire the position information from each of the plurality of times at which the plurality of position information acquired periodically.
  • the second time is the oldest time after the reference time among a plurality of times before the acquisition time required to acquire the positional information from each of the plurality of times at which the plurality of periodically acquired positional information were acquired. is.
  • the deviation amount calculation unit 36 periodically obtains the distance information, and calculates the distance information from the reference time of the plurality of times at which the periodically obtained distance information is obtained. Future movement at the reference time using the latest third time before the reference time, the oldest fourth time after the reference time, and the distance information obtained at the third time and the distance information obtained at the fourth time Calculate the distance.
  • the moving unit 50 has a head 52 that holds an object, and a motor 54 that is connected to the head 52 and moves together with the head 52, and the position detection device 14 , a camera 24 for detecting the position of the head 52 and an encoder 28 for detecting the position of the motor 54 .
  • the position of the head 52 and the position of the motor 54 can be detected, even if the position of the head 52 and the position of the motor 54 are deviated, the position of the moving part 50 at the reference time can be accurately calculated. can. Therefore, the amount of deviation between the predicted arrival position of the moving unit 50 and the target position of the moving unit 50 at the reference time can be calculated with high accuracy. can.
  • FIG. 10 is a schematic diagram showing a schematic configuration of another moving section 50a.
  • the moving part 50a is such that the head 52 and the motor 54 are highly rigid so that the distance between the position of the head 52 and the position of the motor 54 (see ⁇ in FIG. 10) does not change. It may be connected by a member.
  • FIG. 11 is a flowchart showing a second operation example of the deviation amount calculation unit 36 of the production apparatus 1 of FIG. 1 when calculating the deviation amount.
  • the shift amount calculation unit 36 uses the position information and the distance information detected using the camera 24 without using the position information detected using the encoder 28. and the target position of the moving unit 50 may be calculated.
  • FIG. 12 is a flowchart showing a third operation example of the deviation amount calculation unit 36 of the production apparatus 1 of FIG. 1 when calculating the deviation amount.
  • the deviation amount calculation unit 36 further acquires the torque command, calculates the deviation amount between the position of the head 52 and the position of the motor 54 based on the torque command, and further considers the deviation amount.
  • the amount of deviation between the predicted arrival position of the moving unit 50 and the target position of the moving unit 50 may be calculated by using the
  • the position control unit 34 generates and outputs a torque command indicating the drive torque of the motor 54 based on the operation command output from the controller 12 .
  • the deviation amount calculator 36 acquires the torque command output from the position controller 34 (step S21), and performs delay compensation (step S22).
  • the deviation amount calculator 36 acquires or calculates a torque command at the reference time as delay compensation. Calculation of the torque command at the reference time is the same as calculation of the position of the moving unit 50 at the reference time, etc., as described above, so detailed description thereof will be omitted here.
  • the deviation calculation unit 36 calculates the deviation between the position of the head 52 and the position of the motor 54 at the reference time in consideration of the torque command at the reference time (step S23). For example, the shift amount calculator 36 calculates the amount of deformation of the connecting member at the reference time, taking into consideration the torque command at the reference time and the rigidity of the connecting member connecting the head 52 and the motor 54. , the amount of deviation between the position of the head 52 and the position of the motor 54 at the reference time is calculated from the deformation amount.
  • the shift amount calculation unit 36 further considers the shift amount between the position of the head 52 and the position of the motor 54 at the reference time, calculates the predicted arrival position of the moving unit 50 (step S8), and calculates the predicted arrival position of the moving unit 50. A deviation amount between the position and the target position of the moving unit 50 is calculated (step S9).
  • the deviation amount calculator 36 calculates the amount of deviation between the position of the head 52 and the position of the motor 54 based on the torque command based on the operation command.
  • the predicted arrival position of the moving part 50 can be calculated with high accuracy, so that the moving part 50 can be easily positioned at the target position, and a decrease in the accuracy of position control can be suppressed.
  • FIG. 13 is a flowchart showing a fourth operation example of the deviation amount calculation unit 36 of the production apparatus 1 of FIG. 1 when calculating the deviation amount.
  • the deviation amount calculation unit 36 further acquires the motion command, and further considers the motion command to calculate the deviation amount between the predicted arrival position of the moving part 50 and the target position of the moving part 50. good too.
  • the deviation amount calculator 36 acquires an operation command output from the controller 12 (step S31), and performs delay compensation (step S32). For example, the deviation amount calculator 36 acquires or calculates an operation command at the reference time as delay compensation. Calculation of the operation command at the reference time is the same as the calculation of the position of the moving unit 50 at the reference time, etc., as described above, so a detailed description thereof will be omitted here.
  • the deviation calculation unit 36 further considers the operation command at the reference time, calculates the predicted arrival position of the moving unit 50 (step S8), and determines the difference between the predicted arrival position of the moving unit 50 and the target position of the moving unit 50. Calculate the amount (step S9).
  • the motor 54 moves together with the head 52
  • the present invention is not limited to this.
  • the motor may not move with the head.
  • the moving part does not include the motor.
  • the camera 24 moves together with the head 52 has been described, but the present invention is not limited to this.
  • the camera may be fixed at a location where it can image the target location.
  • the present disclosure may be implemented as the motor control system of the embodiment described above. Also, the present disclosure may be implemented as a control device. The present disclosure may also be implemented as a control method. Further, the present disclosure may be implemented as a program for causing a computer to execute the control method, or as a computer-readable non-temporary recording medium in which such a program is recorded.
  • a motor control system or the like according to the present disclosure can be used for a control system or the like that moves a moving part using a motor.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position Or Direction (AREA)

Abstract

モータ制御システム(10)は、位置検出装置(14)と、コントローラ(12)と、モータ制御装置(16)とを備える。モータ制御装置(16)は、位置検出装置(14)を用いて検出された移動部(50)の位置を示す位置情報および動作指令に基づく移動部(50)の今後の移動距離を示す距離情報に基づいて移動部(50)の到達予測位置を算出し、到達予測位置と移動部(50)の目標位置とのずれ量を算出し、到達予測位置と目標位置とのずれ量を示す情報を出力するずれ量算出部を有する。ずれ量算出部は、位置情報の取得に要する取得時間および距離情報の取得に要する取得時間の少なくとも一方を考慮して、基準時刻を決定し、基準時刻における移動部(50)の位置および今後の移動距離を取得または算出し、基準時刻における移動部(50)の位置および今後の移動距離に基づいて到達予測位置を算出する。

Description

モータ制御システム、制御装置、制御方法、およびプログラム
 本開示は、モータ制御システム、制御装置、制御方法、およびプログラムに関する。
 従来、モータを制御して移動部を移動させるモータ制御システムが知られている。たとえば、特許文献1には、概略的指令値パターンで制御を行い、この制御を行っているときに最終目標位置を認識すると補正指令値パターンを作成するモータの位置制御方法が開示されている。
特開平5-297954号公報
 しかしながら、特許文献1の位置制御方法では、移動部の位置情報の取得に要する時間等が発生すると、移動部の到達予測位置を精度よく算出できず、位置制御の精度が低下するという問題がある。
 本開示は、このような問題を解決するためになされたものであり、位置制御の精度の低下を抑制できるモータ制御システム、制御方法、制御装置、およびプログラムを提供することを目的とする。
 本開示の一態様に係るモータ制御システムは、移動する移動部の位置を検出するための位置検出装置と、前記移動部を移動させるモータを動作させるための動作指令を出力する指令装置と、制御装置とを備える。前記制御装置は、算出部と、出力部とを有する。前記算出部は、前記位置検出装置を用いて検出された前記移動部の位置を示す位置情報および前記動作指令に基づく前記移動部の今後の移動距離を示す距離情報に基づいて前記移動部の到達予測位置を算出し、前記到達予測位置と前記移動部の目標位置とのずれ量を算出する。前記出力部は、前記算出部によって算出された前記到達予測位置と前記目標位置との前記ずれ量を示す情報を出力する。前記算出部は、前記位置情報の取得に要する取得時間および前記距離情報の取得に要する取得時間の少なくとも一方を考慮して、基準時刻を決定し、前記基準時刻における前記移動部の位置および前記今後の移動距離を取得または算出し、取得または算出した前記基準時刻における前記移動部の位置および前記今後の移動距離に基づいて前記到達予測位置を算出する。
 本開示の一態様に係る制御装置は、算出部と、出力部とを備える。算出部は、移動する移動部の位置を検出するための位置検出装置を用いて検出された前記移動部の位置を示す位置情報および前記移動部を移動させるモータを動作させるための動作指令に基づく前記移動部の今後の移動距離を示す距離情報に基づいて前記移動部の到達予測位置を算出し、前記到達予測位置と前記移動部の目標位置とのずれ量を算出する。出力部は、前記算出部によって算出された前記到達予測位置と前記目標位置との前記ずれ量を示す情報を出力する。前記算出部は、前記位置情報の取得に要する取得時間および前記距離情報の取得に要する取得時間の少なくとも一方を考慮して、基準時刻を決定し、前記基準時刻における前記移動部の位置および前記今後の移動距離を取得または算出し、取得または算出した前記基準時刻における前記移動部の前記位置および前記今後の移動距離に基づいて前記到達予測位置を算出する。
 本開示の一態様に係る制御方法は、算出ステップと、出力ステップとを備える。前記算出ステップは、移動する移動部の位置を検出するための位置検出装置を用いて検出された前記移動部の位置を示す位置情報および前記移動部を移動させるモータを動作させるための動作指令に基づく前記移動部の今後の移動距離を示す距離情報に基づいて前記移動部の到達予測位置を算出し、前記到達予測位置と前記移動部の目標位置とのずれ量を算出する。前記出力ステップは、前記算出ステップによって算出された前記到達予測位置と前記目標位置との前記ずれ量を示す情報を出力する。前記算出ステップでは、前記位置情報の取得に要する取得時間および前記距離情報の取得に要する取得時間の少なくとも一方を考慮して、基準時刻を決定し、前記基準時刻における前記移動部の位置および前記今後の移動距離を取得または算出し、取得または算出した前記基準時刻における前記移動部の前記位置および前記今後の移動距離に基づいて前記到達予測位置を算出する。
 本開示の一態様に係るプログラムは、上記の制御方法をコンピュータに実行させるためのプログラムである。
 本開示によれば、位置制御の精度の低下を抑制できるモータ制御システム等を提供できる。
図1は、実施の形態に係る生産装置の機能構成を示すブロック図である。 図2は、図1の生産装置のモータ制御装置が備える第2信号処理回路の機能構成を示すブロック図である。 図3は、図1の生産装置の移動部の概略構成を示す図である。 図4は、図1の生産装置において取得される情報の時系列を示す図である。 図5は、ずれ量を算出する際の図1の生産装置の第2信号処理回路の第1の動作例を示すフローチャートである。 図6は、基準時刻を決定する際の図1の生産装置の第2信号処理回路の第1の動作例を示すフローチャートである。 図7は、図5および図6に示す動作例を説明するための図である。 図8は、基準時刻を決定する際の図1の生産装置の第2信号処理回路の第2の動作例を示すフロー図である。 図9は、図5および図8に示す動作例を説明するための図である。 図10は、他の移動部の概略構成を示す図である。 図11は、ずれ量を算出する際の図1の生産装置の第2信号処理回路の第2の動作例を示すフロー図である。 図12は、ずれ量を算出する際の図1の生産装置の第2信号処理回路の第3の動作例を示すフロー図である。 図13は、ずれ量を算出する際の図1の生産装置の第2信号処理回路の第4の動作例を示すフロー図である。
 以下、本開示の実施の形態について説明する。なお、以下に説明する実施の形態は、いずれも本開示の一具体例を示すものである。したがって、以下の実施の形態で示される、数値、構成要素、構成要素の配置位置および接続形態、ならびに、工程および工程の順序等は、一例であって本開示を限定する主旨ではない。よって、以下の実施の形態における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
 また、各図は、模式図であり、必ずしも厳密に図示されたものではない。なお、全図において、実質的に同一の構成に対しては同一の符号を付しており、重複する説明は省略または簡略化する。
 (実施の形態)
 図1は、実施の形態に係る生産装置1の機能構成を示すブロック図である。図2は、図1の生産装置1のモータ制御装置16が備える第2信号処理回路30の機能構成を示すブロック図である。図3は、図1の生産装置1の移動部50の概略構成を示す図である。
 図1および図2に示すように、生産装置1は、モータ制御システム10と、移動部50とを備えている。移動部50は、対象物を保持するヘッド52と、ヘッド52に連結されてヘッド52とともに移動するモータ54とを有している。モータ54は、ヘッド52を移動させるための駆動源である。生産装置1は、モータ54を用いて生産を行う。たとえば、生産装置1は、ヘッド52に吸着されて保持された電子部品(図示せず)を、モータ54を用いてヘッド52とともにプリント配線基板56上まで移動させ、当該電子部品をプリント配線基板56の所定の位置に実装する実装機である。
 モータ制御システム10は、モータ54を制御するシステムである。たとえば、モータ制御システム10は、モータ54の位置等を制御する。モータ制御システム10は、コントローラ12と、位置検出装置14と、モータ制御装置16と、報知装置18とを有している。
 コントローラ12は、移動部50を移動させるモータを動作させるための動作指令を出力する指令装置の一例である。コントローラ12は、第1信号処理回路20と、第1入力装置22とを有している。
 第1信号処理回路20は、信号処理を行う回路である。第1信号処理回路20は、動作指令を生成し、生成した動作指令を出力する。たとえば、動作指令は、移動部50を移動させる移動距離(移動量)等を示す位置指令である。また、たとえば、動作指令は、移動部50を移動させる移動速度等を示す速度指令である。
 第1信号処理回路20には、移動部50が初期位置から目標位置に到達するまでの間の移動計画に対する動作指令計画が設定されている。
 たとえば、移動計画は、コントローラ12の操作者が第1入力装置22を用いて入力することによって、第1信号処理回路20に設定される。たとえば、動作指令計画は、移動計画に沿って移動部50を移動させるために、動作指令の内容および動作指令を出力するタイミング等を定めた計画である。たとえば、第1信号処理回路20は、設定された移動計画に基づいて動作指令計画を生成し、コントローラ12内のメモリ121に記憶する。たとえば、第1信号処理回路20は、動作指令計画に基づいて1つ以上の動作指令を繰り返し出力することによって、移動部50を移動計画に沿って移動させる。
 第1信号処理回路20は、動作指令に基づく移動部50の今後の移動距離を算出し、算出した今後の移動距離を示す距離情報を出力する。たとえば、動作指令に基づく今後の移動距離は、第1信号処理回路20から今後出力される動作指令に基づく移動部50の移動距離である。たとえば、第1信号処理回路20から今後出力される動作指令は、動作指令計画に含まれる全ての動作指令のうち、第1信号処理回路20からまだ出力されていない動作指令である。たとえば、動作指令計画に含まれる全ての動作指令に基づく移動部50の移動距離から、第1信号処理回路20から既に出力された動作指令に基づく移動部50の移動距離を差し引くことで、第1信号処理回路20から今後出力される動作指令に基づく移動部50の移動距離を算出できる。なお、たとえば、モータ制御装置16が備える第2信号処理回路30が、動作指令に基づく移動部50の今後の移動距離を算出してもよい。
 第1信号処理回路20は、モータ制御装置16から判定信号等を受信する。判定信号は、移動部50の到達予測位置と移動部50の目標位置とのずれ量についての判定結果を示す信号である。第1信号処理回路20は、判定信号に基づいて報知装置18を制御する。たとえば、第1信号処理回路20は、移動部50の到達予測位置と移動部50の目標位置とのずれ量が所定の閾値以上である場合、報知信号を生成して出力し、報知装置18にその旨を報知させる。
 たとえば、第1信号処理回路20は、コンピュータであり、第1信号処理回路20の処理は、コンピュータでのプログラム処理によって実現できる。
 第1入力装置22は、操作者等による入力操作を受け付ける装置である。たとえば、上述したように、第1入力装置22は、移動計画の入力操作を受け付ける。たとえば、第1入力装置22は、タッチパネルまたはハードウェアボタン等によって実現できる。
 位置検出装置14は、移動する移動部50の位置を検出するための装置である。位置検出装置14は、カメラ24と、画像処理部26と、エンコーダ28とを有している。
 カメラ24および画像処理部26は、移動部50のうちヘッド52の位置を検出するための装置である。カメラ24は、ヘッド52に連結されてヘッド52とともに移動する。画像処理部26は、カメラ24によって撮像された画像を処理し、ヘッド52の位置を算出する。たとえば、カメラ24によって撮像された画像に目標位置が映っている場合、画像処理部26は、当該画像を画像解析することによってヘッド52から目標位置までの距離を算出する。画像処理部26は、ヘッド52の位置を示す位置情報を出力する。
 エンコーダ28は、移動部50のうちモータ54の位置を検出するための装置である。エンコーダ28は、モータ54に連結されてモータ54とともに移動する。たとえば、エンコーダ28は、リニアスケール(図示せず)を読み取ることによって、モータ54の位置を検出する。エンコーダ28は、モータ54の位置を示す位置情報を出力する。
 なお、たとえば、画像処理部26は、モータ制御装置16が備える第2信号処理回路30等に含まれていてもよい。
 モータ制御装置16は、位置検出装置14を用いて検出された移動部50の位置を示す位置情報および動作指令に基づく移動部50の今後の移動距離を示す距離情報に基づいて移動部50の到達予測位置を算出し、移動部50の到達予測位置と移動部50の目標位置とのずれ量を算出して出力する制御装置の一例である。モータ制御装置16は、第2信号処理回路30と、第2入力装置32とを有している。
 第2信号処理回路30は、信号処理を行う回路である。図2に示すように、第2信号処理回路30は、位置制御部34と、ずれ量算出部36とを有している。
 位置制御部34は、コントローラ12から出力された動作指令と、エンコーダ28を用いて検出されたモータ54の位置を示す位置情報と、ずれ量算出部36から出力された移動部50の到達予測位置と移動部50の目標位置とのずれ量とに基づいて、モータ54を駆動させるための駆動信号を生成し、生成した駆動信号を出力する。
 ずれ量算出部36は、移動部50の到達予測位置と移動部50の目標位置とのずれ量を算出する算出部の一例である。また、ずれ量算出部36は、ずれ量算出部36によって算出された移動部50の到達予測位置と移動部50の目標位置とのずれ量を示す情報を出力する出力部の一例でもある。
 ずれ量算出部36は、位置検出装置14を用いて検出された移動部50の位置を示す位置情報、および動作指令に基づく移動部50の今後の移動距離を示す距離情報に基づいて、移動部50の到達予測位置を算出する。移動部50の到達予測位置は、移動部50が到達すると予測される位置である。
 位置検出装置14を用いて検出された移動部50の位置情報は、カメラ24を用いて検出されたヘッド52の位置を示す位置情報と、エンコーダ28を用いて検出されたモータ54の位置を示す位置情報とを含んでいる。たとえば、ヘッド52の位置は、目標位置に対するカメラ24の位置と、カメラ24の位置とヘッド52の位置との間の距離(図3のβを参照)とによって算出される。
 たとえば、ずれ量算出部36は、エンコーダ28を用いて検出されたモータ54の位置を示す位置情報と、動作指令に基づく移動部50の今後の移動距離を示す距離情報とに基づいて、移動部50の到達予測位置を算出する。具体的には、たとえば、図3に示すように、ずれ量算出部36は、エンコーダ28を用いて検出されたモータ54の位置と、モータ54の位置とヘッド52の位置との間の距離(図3のα+Xを参照)と、動作指令に基づく移動部50の今後の移動距離とを用いて、移動部50の到達予測位置を算出する。
 なお、詳細は後述するが、ずれ量算出部36は、位置検出装置14を用いて検出された移動部50の位置を示す位置情報の取得に要する取得時間、および動作指令に基づく移動部50の今後の移動距離を示す距離情報の取得に要する取得時間を考慮して、移動部50の到達予測位置を算出する。
 ずれ量算出部36は、算出した移動部50の到達予測位置と移動部50の目標位置とのずれ量を算出し、ずれ量を示す情報を出力する。また、ずれ量算出部36は、算出したずれ量が所定の閾値以上か否かを判定し、判定結果を示す判定信号を出力する。たとえば、ずれ量算出部36から出力された判定信号は、位置制御部34に入力されるが、第1信号処理回路20に入力されてもよい。
 たとえば、第2信号処理回路30は、コンピュータであり、位置制御部34およびずれ量算出部36の処理は、コンピュータでのプログラム処理によって実現できる。
 報知装置18は、コントローラ12に接続されている。たとえば、報知装置18は、表示器である。この場合、報知装置18は、コントローラ12から出力された報知信号に基づいて、移動部50の到達予測位置と移動部50の目標位置とのずれ量が所定の閾値以上である旨を示す警告を表示する。
 なお、たとえば、報知装置18は、警告灯であってもよい。この場合、報知装置18は、コントローラ12から出力された報知信号に基づいて、警告灯を点灯する。なお、たとえば、報知装置18は、コントローラ12に接続されていなくてもよく、モータ制御装置16に接続されていてもよい。また、たとえば、報知装置18は、コントローラ12またはモータ制御装置16に含まれていてもよい。
 報知装置18によって、生産装置1(モータ制御システム10)に関わる対象者(たとえば、生産装置1を利用する作業者または生産装置1の管理者および保守者等を含む)は、移動部50の到達予測位置と移動部50の目標位置との位置ずれが所定の閾値以上であることを容易にかつ素早く把握できる。
 図4は、図1の生産装置1において取得される情報の時系列を示す図である。
 図4に示すように、位置検出装置14を用いて移動部50の位置が周期的に検出されており、ずれ量算出部36は、位置検出装置14を用いて検出された移動部50の位置を示す位置情報を周期的に取得している。
 具体的には、カメラ24を用いて第1周期でヘッド52の位置が検出されており、ずれ量算出部36は、ヘッド52の位置を示す位置情報を第1周期で取得している。
 なお、ずれ量算出部36が当該位置情報を取得するまでには、画像処理部26による画像処理に要する時間および当該位置情報の送信に要する時間等を含む取得時間が発生し得る。以下の説明では、当該取得時間を、第1取得時間という場合がある。つまり、ずれ量算出部36が取得した当該位置情報が示すヘッド52の位置は、当該位置情報を取得した時刻から第1取得時間遡った時刻に実際にヘッド52が位置していた位置である。
 また、エンコーダ28を用いて第2周期でモータ54の位置が検出されており、ずれ量算出部36は、モータ54の位置を示す位置情報を第2周期で取得している。
 なお、ずれ量算出部36が当該位置情報を取得するまでには、当該位置情報の送信に要する時間等を含む取得時間が発生し得る。以下の説明では、当該取得時間を、第2取得時間という場合がある。つまり、ずれ量算出部36が取得した当該位置情報が示すモータ54の位置は、当該位置情報を取得した時刻から第2取得時間遡った時刻に実際にモータ54が位置していた位置である。
 第1信号処理回路20は、動作指令に基づく移動部50の今後の移動距離を周期的に算出しており、ずれ量算出部36は、第1信号処理回路20によって算出された動作指令に基づく移動部50の今後の移動距離を示す距離情報を周期的に取得している。
 具体的には、第1信号処理回路20は、第3周期で動作指令に基づく移動部50の今後の移動距離を算出しており、ずれ量算出部36は、動作指令に基づく移動部50の今後の移動距離を示す距離情報を第3周期で取得している。
 なお、ずれ量算出部36が当該距離情報を取得するまでには、当該距離情報の送信に要する時間等を含む取得時間が発生し得るが、当該取得時間は微小であるため、ここでは当該取得時間を考慮しない。なお、ずれ量算出部36は、当該取得時間を考慮してもよい。
 ずれ量算出部36(第2信号処理回路30)は、内部信号等を周期的に取得して移動部50の到達予測位置を周期的に算出し、移動部50の到達予測位置と移動部50の目標位置とのずれ量を周期的に算出している。ここでは、ずれ量算出部36は、エンコーダ28を用いて検出されたモータ54の位置を示す位置情報を取得する度に、つまり第2周期で当該ずれ量を算出している。
 図5は、ずれ量を算出する際の図1の生産装置1のずれ量算出部36の第1の動作例を示すフロー図である。図6は、基準時刻を決定する際の図1の生産装置1のずれ量算出部36の第1の動作例を示すフロー図である。図7は、図5および図6に示す動作例を説明するための図である。
 図5に示すように、ずれ量算出部36は、カメラ24を用いて検出されたヘッド52の位置を示す位置情報を取得し(ステップS1)、エンコーダ28を用いて検出されたモータ54の位置を示す位置情報を取得し(ステップS2)、動作指令に基づく移動部50の今後の移動距離を示す距離情報を取得する(ステップS3)。
 また、ずれ量算出部36は、第1取得時間および第2取得時間を考慮して、基準時刻を決定する(ステップS4)。
 図6に示すように、たとえば、ずれ量算出部36は、カメラ24を用いて検出されたヘッド52の位置を示す位置情報の取得履歴を取得し(ステップS10)、第1周期および第1取得時間を取得する(ステップS11)。また、ずれ量算出部36は、エンコーダ28を用いて検出されたモータ54の位置を示す位置情報の取得履歴を取得し(ステップS12)、第2周期および第2取得時間を取得する(ステップS13)。また、ずれ量算出部36は、動作指令に基づく移動部50の今後の移動距離を示す距離情報の取得履歴を取得し(ステップS14)、第3周期を取得する(ステップS15)。
 ずれ量算出部36は、取得した第1取得時間等を考慮して、周期的に取得した複数の位置情報のうちの最も新しい位置情報を取得した時刻から位置情報の取得に要する取得時間遡った時刻、および周期的に取得した複数の距離情報のうちの最も新しい距離情報を取得した時刻のうち、最も古い時刻を基準時刻として決定する(ステップS16)。
 たとえば、図7では、カメラ24を用いて検出されたヘッド52の位置を示す複数の位置情報のうち、現在時刻の以前における最も新しい位置情報を取得した時刻から第1取得時間遡った時刻を、T1としている。また、エンコーダ28を用いて検出されたモータ54の位置を示す複数の位置情報のうち、現在時刻の以前における最も新しい位置情報を取得した時刻から第2取得時間遡った時刻を、T2としている。また、第1信号処理回路20から取得した複数の距離情報のうち、現在時刻の以前における最も新しい距離情報を取得した時刻を、T3としている。また、ずれ量算出部36(第1信号処理回路20)の内部信号のうち、現在時刻の以前における最も新しい内部信号を取得した時刻を、T4としている。
 たとえば、ずれ量算出部36は、T1、T2、およびT3のうち、最も古い時刻を判定する。ここでは、T1、T2、およびT3のうち、最も古い時刻はT3である。したがって、ずれ量算出部36は、T3を基準時刻として決定する。
 図5に戻って、ずれ量算出部36は、基準時刻を決定すると、位置検出装置14を用いて検出された移動部50の位置を示す位置情報に対して、遅延補償を行う(ステップS5およびステップS6)。たとえば、ずれ量算出部36は、遅延補償として、位置情報の取得に要する取得時間を考慮して、基準時刻における移動部50の位置を取得または算出する。
 たとえば、ずれ量算出部36は、第1時刻から当該取得時間進んだ時刻に取得した位置情報および第2時刻から当該取得時間進んだ時刻に取得した位置情報とを用いて、基準時刻における移動部50の位置を算出する。ここで、第1時刻は、周期的に取得した複数の位置情報を取得した複数の時刻のそれぞれから位置情報の取得に要する取得時間遡った複数の時刻のうちの基準時刻よりも前における最も新しい時刻である。第2時刻は、周期的に取得した複数の位置情報を取得した複数の時刻のそれぞれから位置情報の取得に要する取得時間遡った複数の時刻のうちの基準時刻よりも後における最も古い時刻である。
 ここでは、ずれ量算出部36は、遅延補償として基準時刻におけるヘッド52の位置を取得または算出し(ステップS5)、遅延補償として基準時刻におけるモータ54の位置を取得または算出する(ステップS6)。
 図7に示すように、ここでは、基準時刻をT0とし、カメラ24を用いて検出された複数の位置情報を取得した複数の時刻のそれぞれから第1取得時間遡った複数の時刻のうちの基準時刻よりも前における最も新しい第1時刻をT5とし、カメラ24を用いて検出された複数の位置情報を取得した複数の時刻のそれぞれから第1取得時間遡った複数の時刻のうちの基準時刻よりも後における最も古い第2時刻をT1としている。また、ここでは、当該第1時刻から第1取得時間進んだ時刻をT6とし、当該第2時刻から第1取得時間進んだ時刻をT7としている。この場合、基準時刻と第1時刻との差をΔT1とすると、ΔT1=T0-T5となる。また、第2時刻と基準時刻との差をΔT2とすると、ΔT2=T1-T0となる。
 たとえば、T6に取得した位置情報が示す移動部50の位置をXとし、T7に取得した位置情報が示す移動部50の位置をYとした場合、ずれ量算出部36は、ΔT2/(ΔT1+ΔT2)×X+ΔT1/(ΔT1+ΔT2)×Yによって、基準時刻におけるヘッド52の位置を算出する。
 また、ここでは、基準時刻をT0とし、エンコーダ28を用いて検出された複数の位置情報を取得した複数の時刻のそれぞれから第2取得時間遡った複数の時刻のうちの基準時刻よりも前における最も新しい第1時刻をT8とし、エンコーダ28を用いて検出された複数の位置情報を取得した複数の時刻のそれぞれから第2取得時間遡った複数の時刻のうちの基準時刻よりも後における最も古い第2時刻をT9としている。また、ここでは、当該第1時刻から第2取得時間進んだ時刻をT10とし、当該第2時刻から第2取得時間進んだ時刻をT11としている。この場合、基準時刻と第1時刻との差をΔT3とすると、ΔT3=T0-T8となる。また、第2時刻と基準時刻との差をΔT4とすると、ΔT4=T9-T0となる。
 たとえば、T10に取得した位置情報が示すモータ54の位置をX1とし、T11に取得した位置情報が示すモータ54の位置をY1とした場合、ずれ量算出部36は、ΔT4/(ΔT3+ΔT4)×X1+ΔT3/(ΔT3+ΔT4)×Y1によって、基準時刻におけるモータ54の位置を算出する。
 図5に戻って、ずれ量算出部36は、同様にして、動作指令に基づく移動部50の今後の移動距離に対して、遅延補償を行う(ステップS7)。たとえば、ずれ量算出部36は、遅延補償として、第1取得時間および第2取得時間を考慮して、基準時刻における移動部50の今後の移動距離を取得または算出する。
 ここでは、基準時刻はT3であり、T3における移動部50の今後の移動距離を示す距離情報があるので、ずれ量算出部36は、基準時刻における移動部50の今後の移動距離を取得する。
 ずれ量算出部36は、基準時刻における移動部50の位置および移動部50の今後の移動距離を取得または算出すると、取得または算出した基準時刻における移動部50の位置および移動部50の今後の移動距離を用いて、移動部50の到達予測位置を算出する(ステップS8)。
 たとえば、ずれ量算出部36は、エンコーダ28を用いて検出されたモータ54の位置と、モータ54の位置とヘッド52の位置との間の距離(図3のα+Xを参照)と、移動部50の今後の移動距離とを用いて、移動部50の到達予測位置を算出する。
 ずれ量算出部36は、移動部50の到達予測位置を算出すると、移動部50の到達予測位置と移動部50の目標位置とのずれ量を算出する(ステップS9)。たとえば、到達予測位置と目標位置との差分を、当該ずれ量として算出する。
 図8は、基準時刻を決定する際の図1の生産装置1のずれ量算出部36の第2の動作例を示すフロー図である。図9は、図5および図8に示す動作例を説明するための図である。
 図8に示すように、ずれ量算出部36は、周期的に取得している位置情報および距離情報のうちの最も周期が長い情報の取得履歴を取得し(ステップS17)、当該取得履歴に含まれる情報のうち、最も新しい情報を取得した時刻、または最も新しい情報を取得した時刻から当該情報の取得に要する取得時間遡った時刻を基準時刻として決定してもよい(ステップS18)。
 つまり、たとえば、ずれ量算出部36は、位置情報を取得する周期が距離情報を取得する周期よりも長い場合、周期的に取得した複数の位置情報のうちの最も新しい位置情報を取得した時刻から第1取得時間遡った時刻を基準時刻として決定する。また、たとえば、ずれ量算出部36は、距離情報を取得する周期が位置情報を取得する周期よりも長い場合、周期的に取得した複数の距離情報のうちの最も新しい距離情報を取得した時刻を基準時刻として決定する。
 図9に示すように、ここでは、第1周期が第2周期および第3周期よりも長いので、ずれ量算出部36は、カメラ24を用いて検出されて周期的に取得した複数の位置情報のうちの最も新しい位置情報を取得した時刻から第1取得時間遡った時刻を基準時刻として決定する。
 そして、ずれ量算出部36は、第1の動作例で説明したような方法で、基準時刻における移動部50の位置および移動部50の今後の移動距離を取得または算出する。
 ここでは、基準時刻におけるヘッド52の位置を示す位置情報はあるので、ずれ量算出部36は、当該位置情報を取得して、基準時刻におけるヘッド52の位置を取得する。
 また、ここでは、基準時刻における移動部50の今後の移動距離を示す距離情報がないので、ずれ量算出部36は、基準時刻における移動部50の今後の移動距離を算出する。具体的には、たとえば、ずれ量算出部36は、周期的に取得した複数の距離情報を取得した複数の時刻のうちの基準時刻よりも前における最も新しい第3時刻および基準時刻よりも後における最も古い第4時刻と、第3時刻に取得した距離情報および第4時刻に取得した距離情報とを用いて、基準時刻における今後の移動距離を算出する。
 ここでは、基準時刻をT0とし、複数の距離情報を取得した複数の時刻のうちの基準時刻よりも前における最も新しい第3時刻をT12とし、複数の距離情報を取得した複数の時刻のうちの基準時刻よりも後における最も古い第4時刻をT13としている。この場合、基準時刻と第3時刻との差をΔT5とすると、ΔT5=T0-T12となる。また、第4時刻と基準時刻との差をΔT6とすると、ΔT6=T13-T0となる。
 たとえば、T12に取得した位置情報が示す移動部50の今後の移動距離をX2とし、T13に取得した位置情報が示す移動部50の今後の移動距離をY2とした場合、ずれ量算出部36は、ΔT6/(ΔT5+ΔT6)×X2+ΔT5/(ΔT5+ΔT6)×Y2によって、基準時刻における移動部50の今後の移動距離を算出する。
 たとえば、ずれ量算出部36は、同様にして、基準時刻におけるモータ54の位置、および基準時刻における内部信号値を算出する。
 なお、たとえば、ずれ量算出部36は、第3周期が第1周期および第2周期よりも長い場合、周期的に取得した複数の距離情報のうちの最も新しい距離情報を取得した時刻を基準時刻として決定してもよい。
 以上、実施の形態に係るモータ制御システム10について説明した。
 実施の形態に係るモータ制御システム10は、モータ54と、移動部50と、移動する移動部50の位置を検出するための位置検出装置14と、移動部50を移動させるための動作指令を出力するコントローラ12と、モータ制御装置16とを備える。モータ制御装置16は、ずれ量算出部36を有する。ずれ量算出部36は、位置検出装置14を用いて検出された移動部50の位置を示す位置情報および動作指令に基づく移動部50の今後の移動距離を示す距離情報に基づいて移動部50の到達予測位置を算出し、到達予測位置と移動部50の目標位置とのずれ量を算出し、算出された到達予測位置と目標位置とのずれ量を示す情報を出力する。また、ずれ量算出部36は、位置情報の取得に要する取得時間および距離情報の取得に要する取得時間の少なくとも一方を考慮して、基準時刻を決定し、基準時刻における移動部50の位置および今後の移動距離を取得または算出し、取得または算出した基準時刻における移動部50の位置および今後の移動距離に基づいて到達予測位置を算出する。
 これによれば、ずれ量算出部36は、位置情報の取得に要する取得時間および距離情報の取得に要する取得時間の少なくとも一方を考慮して、基準時刻を決定し、取得または算出した基準時刻における移動部50の位置および今後の移動距離に基づいて到達予測位置を算出する。ここで、位置情報の取得に要する取得時間が発生した場合、位置情報を取得した時刻と、当該位置情報が示す位置に移動部50が実際に位置していた時刻とは異なり得る。したがって、位置情報の取得に要する取得時間を考慮せずに、位置情報を取得した時刻に、当該位置情報が示す位置に移動部50が実際に位置していたと考えて、到達予測位置を算出すると、到達予測位置を精度よく算出できない。距離情報についても同様である。上述したように、ずれ量算出部36は、位置情報の取得に要する取得時間および距離情報の取得に要する取得時間の少なくとも一方を考慮して、基準時刻を決定し、基準時刻における移動部50の位置および今後の移動距離に基づいて到達予測位置を算出するので、到達予測位置を精度よく算出できる。したがって、移動部50の到達予測位置と移動部50の目標位置とのずれ量を精度よく算出できるので、移動部50を目標位置に位置させ易くなり、位置制御の精度の低下を抑制できる。
 また、実施の形態に係るモータ制御システム10において、ずれ量算出部36は、位置情報および距離情報を周期的に取得し、周期的に取得した複数の位置情報のうちの最も新しい位置情報を取得した時刻から位置情報の取得に要する取得時間遡った時刻、および周期的に取得した複数の距離情報のうちの最も新しい距離情報を取得した時刻のうち、最も古い時刻を基準時刻として決定する。
 これによれば、位置情報および距離情報の一方については、基準時刻における情報があるので、基準時刻における移動部50の位置または今後の移動距離を取得できる。また、位置情報および距離情報の他方については、基準時刻の前後の情報があるので、これらの情報を用いて基準時刻における移動部50の位置または今後の移動距離を精度よく算出できる。したがって、基準時刻における移動部50の到達予測位置と移動部50の目標位置とのずれ量を精度よく算出できるので、移動部50を目標位置に位置させ易くなり、位置制御の精度の低下を抑制できる。
 また、実施の形態に係るモータ制御システム10において、ずれ量算出部36は、位置情報および距離情報を周期的に取得する。そしてずれ量算出部36は、位置情報を取得する周期が距離情報を取得する周期よりも長い場合、周期的に取得した複数の位置情報のうちの最も新しい位置情報を取得した時刻から位置情報の取得に要する取得時間遡った時刻を基準時刻として決定する。また、ずれ量算出部36は、距離情報を取得する周期が位置情報を取得する周期よりも長い場合、周期的に取得した複数の距離情報のうちの最も新しい距離情報を取得した時刻を基準時刻として決定する。
 これによれば、位置情報および距離情報の一方については、基準時刻における情報があるので、基準時刻における移動部50の位置または今後の移動距離を取得できる。また、位置情報および距離情報の他方については、当該一方よりも短い周期で情報を取得しているので、基準時刻の近傍の情報を用いて基準時刻における移動部50の位置または今後の移動距離を精度よく算出できる。したがって、基準時刻における移動部50の到達予測位置と移動部50の目標位置とのずれ量を精度よく算出できるので、移動部50を目標位置に位置させ易くなり、位置制御の精度の低下を抑制できる。
 また、実施の形態に係るモータ制御システム10において、ずれ量算出部36は、位置情報を周期的に取得し、第1時刻および第2時刻と、第1時刻から当該取得時間進んだ時刻に取得した位置情報および第2時刻から当該取得時間進んだ時刻に取得した位置情報とを用いて、基準時刻における移動部50の位置を算出する。ここで、第1時刻は、周期的に取得した複数の位置情報を取得した複数の時刻のそれぞれから位置情報の取得に要する取得時間遡った複数の時刻のうちの基準時刻よりも前における最も新しい時刻である。また、第2時刻は、周期的に取得した複数の位置情報を取得した複数の時刻のそれぞれから位置情報の取得に要する取得時間遡った複数の時刻のうちの基準時刻よりも後における最も古い時刻である。
 これによれば、基準時刻の前後の位置情報を用いて基準時刻における移動部50の位置を精度よく算出できる。したがって、基準時刻における移動部50の到達予測位置と移動部50の目標位置とのずれ量を精度よく算出できるので、移動部50を目標位置に位置させ易くなり、位置制御の精度の低下を抑制できる。
 また、実施の形態に係るモータ制御システム10において、ずれ量算出部36は、距離情報を周期的に取得し、周期的に取得した複数の距離情報を取得した複数の時刻のうちの基準時刻よりも前における最も新しい第3時刻および基準時刻よりも後における最も古い第4時刻と、第3時刻に取得した距離情報および第4時刻に取得した距離情報とを用いて、基準時刻における今後の移動距離を算出する。
 これによれば、基準時刻の前後の距離情報を用いて基準時刻における今後の移動距離を精度よく算出できる。したがって、基準時刻における移動部50の到達予測位置と移動部50の目標位置とのずれ量を精度よく算出できるので、移動部50を目標位置に位置させ易くなり、位置制御の精度の低下を抑制できる。
 また、実施の形態に係るモータ制御システム10において、移動部50は、対象物を保持するヘッド52と、ヘッド52に連結されてヘッド52とともに移動するモータ54とを有し、位置検出装置14は、ヘッド52の位置を検出するためのカメラ24と、モータ54の位置を検出するためのエンコーダ28とを有する。
 これによれば、ヘッド52の位置とモータ54の位置とを検出できるので、ヘッド52の位置とモータ54の位置とにずれが生じた場合でも、基準時刻における移動部50の位置を精度よく算出できる。したがって、基準時刻における移動部50の到達予測位置と移動部50の目標位置とのずれ量を精度よく算出できるので、移動部50を目標位置に位置させ易くなり、位置制御の精度の低下を抑制できる。
 図10は、他の移動部50aの概略構成を示す概略図である。
 図10に示すように、移動部50aは、ヘッド52の位置とモータ54の位置との間の距離(図10のαを参照)が変化しないように、ヘッド52とモータ54とが剛性の高い部材によって連結されていてもよい。
 図11は、ずれ量を算出する際の図1の生産装置1のずれ量算出部36の第2の動作例を示すフロー図である。
 図11に示すように、ずれ量算出部36は、エンコーダ28を用いて検出された位置情報を用いずに、カメラ24を用いて検出された位置情報と距離情報とを用いて、移動部50の到達予測位置と移動部50の目標位置とのずれ量を算出してもよい。
 図12は、ずれ量を算出する際の図1の生産装置1のずれ量算出部36の第3の動作例を示すフロー図である。
 図12に示すように、ずれ量算出部36は、トルク指令をさらに取得し、トルク指令に基づいてヘッド52の位置とモータ54の位置とのずれ量を算出し、当該ずれ量をさらに考慮して移動部50の到達予測位置と移動部50の目標位置とのずれ量を算出してもよい。
 たとえば、位置制御部34は、コントローラ12から出力された動作指令に基づいてモータ54の駆動トルクを示すトルク指令を生成し、出力する。ずれ量算出部36は、位置制御部34から出力されたトルク指令を取得し(ステップS21)、遅延補償を行う(ステップS22)。たとえば、ずれ量算出部36は、遅延補償として、基準時刻におけるトルク指令を取得または算出する。基準時刻におけるトルク指令の算出については、上述したような、基準時刻における移動部50の位置の算出等と同様であるので、ここでは詳細な説明を省略する。
 ずれ量算出部36は、基準時刻におけるトルク指令を考慮して、基準時刻におけるヘッド52の位置とモータ54の位置とのずれ量を算出する(ステップS23)。たとえば、ずれ量算出部36は、基準時刻におけるトルク指令と、ヘッド52とモータ54とを連結している連結部材の剛性等とを考慮して、基準時刻における当該連結部材の変形量を算出し、当該変形量から、基準時刻におけるヘッド52の位置とモータ54の位置とのずれ量を算出する。
 ずれ量算出部36は、基準時刻におけるヘッド52の位置とモータ54の位置とのずれ量をさらに考慮して、移動部50の到達予測位置を算出し(ステップS8)、移動部50の到達予測位置と移動部50の目標位置とのずれ量を算出する(ステップS9)。
 このように、ずれ量算出部36は、動作指令に基づくトルク指令に基づいて、ヘッド52の位置とモータ54の位置とのずれ量を算出する。
 これによれば、移動部50の到達予測位置を精度よく算出できるので、移動部50を目標位置に位置させ易くなり、位置制御の精度の低下を抑制できる。
 図13は、ずれ量を算出する際の図1の生産装置1のずれ量算出部36の第4の動作例を示すフロー図である。
 図13に示すように、ずれ量算出部36は、動作指令をさらに取得し、動作指令をさらに考慮して移動部50の到達予測位置と移動部50の目標位置とのずれ量を算出してもよい。
 たとえば、ずれ量算出部36は、コントローラ12から出力された動作指令を取得し(ステップS31)、遅延補償を行う(ステップS32)。たとえば、ずれ量算出部36は、遅延補償として、基準時刻における動作指令を取得または算出する。基準時刻における動作指令の算出については、上述したような、基準時刻における移動部50の位置等の算出と同様であるので、ここでは詳細な説明を省略する。
 ずれ量算出部36は、基準時刻における動作指令をさらに考慮して、移動部50の到達予測位置を算出し(ステップS8)、移動部50の到達予測位置と移動部50の目標位置とのずれ量を算出する(ステップS9)。
 (他の実施の形態等)
 以上のように、本出願において開示する技術の例示として、実施の形態について説明した。しかしながら、本開示による技術は、これらに限定されず、本開示の趣旨を逸脱しない限り、適宜、変更、置き換え、付加、省略等を行った実施の形態または変形例にも適用可能である。
 上述した実施の形態では、モータ54が、ヘッド52とともに移動する場合について説明したが、これに限定されない。たとえば、モータは、ヘッドとともに移動しなくてもよい。この場合、移動部は、モータを含まない。
 また、上述した実施の形態では、カメラ24が、ヘッド52とともに移動する場合について説明したが、これに限定されない。たとえば、カメラは、目標位置を撮像できる場所に固定されていてもよい。
 また、本開示の全般的または具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよい。また、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
 たとえば、本開示は、上述した実施の形態のモータ制御システムとして実現されてもよい。また、本開示は、制御装置として実現されてもよい。また、本開示は、制御方法として実現されてもよい。また、本開示は、制御方法をコンピュータに実行させるためのプログラムとして実現されてもよいし、このようなプログラムが記録されたコンピュータ読み取り可能な非一時的な記録媒体として実現されてもよい。
 本開示に係るモータ制御システム等は、モータを用いて移動部を移動させる制御システム等に利用可能である。
 10   モータ制御システム
 12   コントローラ
 14   位置検出装置
 16   モータ制御装置
 18   報知装置
 20   第1信号処理回路
 22   第1入力装置
 24   カメラ
 26   画像処理部
 28   エンコーダ
 30   第2信号処理回路
 32   第2入力装置
 34   位置制御部
 36   ずれ量算出部
 121  メモリ

Claims (10)

  1.  移動する移動部の位置を検出するための位置検出装置と、
     前記移動部を移動させるモータを動作させるための動作指令を出力する指令装置と、
     制御装置とを備え、
     前記制御装置は、
      前記移動部の位置を示す位置情報および前記動作指令に基づいて算出された前記移動部の今後の移動距離を示す距離情報から前記移動部の到達予測位置を算出し、前記到達予測位置と前記移動部の目標位置とのずれ量を算出する算出部と、
      前記算出部によって算出された前記到達予測位置と前記目標位置とのずれ量を示す情報を出力する出力部とを有し、
     前記算出部は、前記位置情報の取得に要する取得時間および前記距離情報の取得に要する取得時間の少なくとも一方を考慮して、基準時刻を決定し、前記基準時刻における前記移動部の位置および前記今後の移動距離を取得または算出し、取得または算出した前記基準時刻における前記移動部の前記位置および前記今後の移動距離に基づいて前記到達予測位置を算出する、
     モータ制御システム。
  2.  前記算出部は、
      前記位置情報および前記距離情報を周期的に取得し、
      周期的に取得した複数の前記位置情報のうちの最も新しい前記位置情報を取得した時刻から前記位置情報の取得に要する前記取得時間遡った時刻、および周期的に取得した複数の前記距離情報のうちの最も新しい前記距離情報を取得した時刻のうち、最も古い時刻を前記基準時刻として決定する、
     請求項1に記載のモータ制御システム。
  3.  前記算出部は、
      前記位置情報および前記距離情報を周期的に取得し、
      前記位置情報を取得する周期が前記距離情報を取得する周期よりも長い場合、周期的に取得した複数の前記位置情報のうちの最も新しい前記位置情報を取得した時刻から前記位置情報の取得に要する前記取得時間遡った時刻を前記基準時刻として決定し、
      前記距離情報を取得する周期が前記位置情報を取得する周期よりも長い場合、周期的に取得した複数の前記距離情報のうちの最も新しい前記距離情報を取得した時刻を前記基準時刻として決定する、
     請求項1に記載のモータ制御システム。
  4.  前記算出部は、
      前記位置情報を周期的に取得し、
      周期的に取得した複数の前記位置情報を取得した複数の時刻のそれぞれから前記位置情報の取得に要する前記取得時間遡った複数の時刻のうちの前記基準時刻よりも前における最も新しい第1時刻および前記基準時刻よりも後における最も古い第2時刻と、前記第1時刻から当該取得時間進んだ時刻に取得した前記位置情報および前記第2時刻から当該取得時間進んだ時刻に取得した前記位置情報とを用いて、前記基準時刻における前記移動部の位置を算出する、
     請求項1から3のいずれか1項に記載のモータ制御システム。
  5.  前記算出部は、
      前記距離情報を周期的に取得し、
      周期的に取得した複数の前記距離情報を取得した複数の時刻のうちの前記基準時刻よりも前における最も新しい第3時刻および前記基準時刻よりも後における最も古い第4時刻と、前記第3時刻に取得した前記距離情報および前記第4時刻に取得した前記距離情報とを用いて、前記基準時刻における前記今後の移動距離を算出する、
     請求項1から4のいずれか1項に記載のモータ制御システム。
  6.  前記移動部は、対象物を保持するヘッドと、前記ヘッドに連結されて前記ヘッドとともに移動するモータとを有し、
     前記位置検出装置は、前記ヘッドの位置を検出するためのカメラと、前記モータの位置を検出するためのエンコーダとを有する、
     請求項1から5のいずれか1項に記載のモータ制御システム。
  7.  前記算出部は、前記動作指令に基づくトルク指令に基づいて、前記ヘッドの位置と前記モータの位置とのずれ量を算出する、
     請求項6に記載のモータ制御システム。
  8.  移動する移動部の位置を検出するための位置検出装置を用いて検出された前記移動部の位置を示す位置情報および前記移動部を移動させるモータを動作させるための動作指令に基づく前記移動部の今後の移動距離を示す距離情報に基づいて前記移動部の到達予測位置を算出し、前記到達予測位置と前記移動部の目標位置とのずれ量を算出する算出部と、
     前記算出部によって算出された前記到達予測位置と前記目標位置とのずれ量を示す情報を出力する出力部とを備え、
     前記算出部は、前記位置情報の取得に要する取得時間および前記距離情報の取得に要する取得時間の少なくとも一方を考慮して、基準時刻を決定し、前記基準時刻における前記移動部の位置および前記今後の移動距離を取得または算出し、取得または算出した前記基準時刻における前記移動部の前記位置および前記今後の移動距離に基づいて前記到達予測位置を算出する、
     制御装置。
  9.  移動する移動部の位置を検出するための位置検出装置を用いて検出された前記移動部の位置を示す位置情報および前記移動部を移動させるモータを動作させるための動作指令に基づく前記移動部の今後の移動距離を示す距離情報に基づいて前記移動部の到達予測位置を算出し、前記到達予測位置と前記移動部の目標位置との前記ずれ量を算出する算出ステップと、
     前記算出ステップによって算出された前記到達予測位置と前記目標位置とのずれ量を示す情報を出力する出力ステップとを備え、
     前記算出ステップでは、前記位置情報の取得に要する取得時間および前記距離情報の取得に要する取得時間の少なくとも一方を考慮して、基準時刻を決定し、前記基準時刻における前記移動部の位置および前記今後の移動距離を取得または算出し、取得または算出した前記基準時刻における前記移動部の前記位置および前記今後の移動距離に基づいて前記到達予測位置を算出する、
     制御方法。
  10.  請求項9に記載の制御方法をコンピュータに実行させるためのプログラム。
PCT/JP2022/017525 2021-05-13 2022-04-11 モータ制御システム、制御装置、制御方法、およびプログラム WO2022239588A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202280034181.2A CN117337417A (zh) 2021-05-13 2022-04-11 马达控制系统、控制装置、控制方法以及程序
JP2023520928A JPWO2022239588A1 (ja) 2021-05-13 2022-04-11

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-081792 2021-05-13
JP2021081792 2021-05-13

Publications (1)

Publication Number Publication Date
WO2022239588A1 true WO2022239588A1 (ja) 2022-11-17

Family

ID=84028223

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/017525 WO2022239588A1 (ja) 2021-05-13 2022-04-11 モータ制御システム、制御装置、制御方法、およびプログラム

Country Status (3)

Country Link
JP (1) JPWO2022239588A1 (ja)
CN (1) CN117337417A (ja)
WO (1) WO2022239588A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014229157A (ja) * 2013-05-24 2014-12-08 日本電信電話株式会社 遅延補償装置、方法、プログラム及び記録媒体
JP2015213139A (ja) * 2014-05-07 2015-11-26 国立大学法人 東京大学 位置決め装置
JP2017004033A (ja) * 2015-06-04 2017-01-05 国立大学法人 東京大学 位置決め制御システムおよび周波数特性同定方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014229157A (ja) * 2013-05-24 2014-12-08 日本電信電話株式会社 遅延補償装置、方法、プログラム及び記録媒体
JP2015213139A (ja) * 2014-05-07 2015-11-26 国立大学法人 東京大学 位置決め装置
JP2017004033A (ja) * 2015-06-04 2017-01-05 国立大学法人 東京大学 位置決め制御システムおよび周波数特性同定方法

Also Published As

Publication number Publication date
JPWO2022239588A1 (ja) 2022-11-17
CN117337417A (zh) 2024-01-02

Similar Documents

Publication Publication Date Title
CN109687782B (zh) 一种步进电机的控制装置和控制系统
CN106537269A (zh) 一种提高xy运动平台系统精度的方法、装置及系统
CN109421047B (zh) 机器人系统
US20150015173A1 (en) Motor control device
WO2022239588A1 (ja) モータ制御システム、制御装置、制御方法、およびプログラム
JP2019219998A (ja) 位置決めシステム、監視装置、監視方法およびプログラム
JP7331446B2 (ja) 制御装置、無人搬送車、無人搬送車の制御方法および制御プログラム
JP2011188332A (ja) 画像揺れ補正装置
JPWO2022239588A5 (ja)
JP2008148504A (ja) モータ制御装置およびモータ制御システム並びにモータ制御装置の制御演算処理方法
WO2022244564A1 (ja) モータ制御方法、モータ制御装置、モータ制御システム、およびプログラム
US20240081034A1 (en) Motor control system, motor control device, motor control method, and program
CN106922194B (zh) 异常检测装置以及异常检测方法
CN116745724A (zh) 马达控制系统、马达控制装置、马达控制方法以及程序
JP2011253004A (ja) 像ブレ補正機能付き光学装置
KR20180130643A (ko) 플랫폼 운용시스템 및 그의 표적 포착 방법
JP6914737B2 (ja) 駆動装置、デバイス、駆動システム、駆動方法、およびプログラム
JP2007129789A (ja) モータ制御装置
JPWO2022163146A5 (ja)
EP4270775A1 (en) Motor control device, motor control method, and program
JP6610162B2 (ja) 状態判定装置及び状態判定方法
JP7052840B2 (ja) 位置特定装置、位置特定装置の制御方法、情報処理プログラム、および記録媒体
CN109591917A (zh) 车辆识别检测加工方法、车辆检测装置和存储介质
US9594456B2 (en) Background signal processing system and background signal processing method
JP4463584B2 (ja) 追従制御装置及びこれを用いた制御システム

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: 22807292

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023520928

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 18559413

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 202280034181.2

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22807292

Country of ref document: EP

Kind code of ref document: A1