Frame drive system and motor control system

By designing a motor control system with switching control mode in the frame drive system, the problem of complex setting operations in the prior art is solved, and the effect of simplifying setting operations and improving control accuracy is achieved.

CN115700423BActive Publication Date: 2025-06-27YASKAWA DENKI KK
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210865685.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2021-07-29
Filing Date
2022-07-22
Publication Date
2025-06-27
Estimated Expiration
2042-07-22

AI Technical Summary

Technical Problem

The existing rack drive system is complex and difficult to simplify when setting up operations.

Method used

A frame drive system including a first motor and a second motor is designed, and two control modes are switched through the motor control system: an inter-axis compensation control mode and a separation control mode to simplify setting operations.

Benefits of technology

It realizes simplified setting operations of the rack drive system and improves the control accuracy and stability of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115700423B_ABST
    Figure CN115700423B_ABST
Patent Text Reader

Abstract

The present invention relates to a frame drive system and a motor control system, and simplifies the setting operation. A frame drive system according to one aspect of the present disclosure includes: a first motor that drives a driven object along a first axis; a second motor that drives the driven object along a second axis; and a motor control system that controls the first motor and the second motor. The motor control system has a mode switching unit that switches between a first control mode that reduces the inter-axis position deviation between the first axis and the second axis and individually controls the position of the driven object on each axis, and a second control mode that controls the position of the driven object based on the detected positions of the driven object on the first axis and the second axis and controls the rotation state of the driven object. The inter-axis position deviation is the deviation between the position of the driven object on the first axis and the position of the driven object on the second axis. The motor control system controls the first motor and the second motor according to the mode switched by the mode switching unit.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a rack drive system, a motor control system, a control method, and a control program. Background Art

[0002] In Patent Document 1, a control device is disclosed that controls a pair of drive units near both ends of a moving body based on detection signals from a pair of position detectors that detect the moving positions near both ends of the moving body.

[0003] Prior Art Documents

[0004] Patent Documents

[0005] Patent Document 1: Japanese Unexamined Patent Application Publication No. 2005-332191. Summary of the Invention

[0006] Problems to be Solved by the Invention

[0007] The present disclosure provides a rack drive system and a motor control system useful for simplifying setting operations.

[0008] Means for Solving the Problems

[0009] A rack drive system according to one aspect of the present disclosure includes: a first motor that drives a driven object along a first axis; a second motor that drives the driven object along a second axis parallel to the first axis; and a motor control system that controls the first motor and the second motor. The motor control system has a mode switching unit that switches between a first control mode and a second control mode. The first control mode is a mode that reduces the axial position deviation between the first axis and the second axis and individually controls the position of the driven object on each axis. The axial position deviation is the deviation between the position of the driven object on the first axis and the position of the driven object on the second axis. The second control mode is a mode that controls the position of the driven object based on the detected positions of the driven object on the first axis and the second axis and controls the rotation state of the driven object. The motor control system controls the first motor and the second motor according to the mode switched by the mode switching unit.

[0010] One aspect of the present disclosure relates to a motor control system including: a control unit that controls a first motor and a second motor, where the first motor drives a driven object along a first axis, the second motor drives the driven object along a second axis, and the second axis is parallel to the first axis; and a mode switching unit that switches between a first control mode and a second control mode. The first control mode is a mode that reduces the axial position deviation between the first axis and the second axis and individually controls the position of the driven object on each axis. The axial position deviation is the deviation between the position of the driven object on the first axis and the position of the driven object on the second axis. The second control mode is a mode that controls the position of the driven object based on the detected positions of the driven object on the first axis and the second axis, and controls the rotation state of the driven object. The control unit controls the first motor and the second motor according to the mode switched by the mode switching unit.

[0011] Advantages of the Invention

[0012] According to the present disclosure, it is possible to provide a rack drive system, a motor control system, a control method, and a control program that are useful for simplifying the setting operation. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1 It is a schematic diagram showing an example of a rack drive system.

[0014] Figure 2 It is a schematic diagram for explaining the equation of motion of a rack mechanism.

[0015] Figure 3 It is a block diagram showing an example of the functional configuration of a motor control system.

[0016] Figure 4 It is a diagram showing an example of the control content in the axial compensation control mode.

[0017] Figure 5 It is a diagram showing an example of the control content in the separation control mode.

[0018] Figure 6 It is a block diagram showing an example of the hardware configuration of a motor control system.

[0019] Figure 7 It is a flowchart showing an example of a series of processes executed by each control device in the axial compensation control mode.

[0020] Figure 8 It is a flowchart showing an example of a series of processes executed by one control device in the separation control mode.

[0021] Figure 9 It is a flowchart showing an example of a series of processes executed by another control device in the separation control mode.

[0022] Figure 10 This is a flowchart showing an example of a method for switching a display mode. Detailed implementation

[0023] Hereinafter, an embodiment will be described with reference to the accompanying drawings. In the description, the same reference numerals are assigned to the same elements or elements having the same function, and repeated descriptions are omitted.

[0024] Figure 1 Schematically shows a frame drive system related to an embodiment. The frame drive system 1 is a system for automatically performing at least a part of a specified operation. As a specific example of the specified operation performed using the frame drive system 1, mounting semiconductor components on a substrate, soldering semiconductor components to a substrate, coating operations, and manufacturing semiconductors or liquid crystals can be cited. The frame drive system 1 includes a frame mechanism 10, a working tool 14, and a drive system 20.

[0025] The frame mechanism 10 is an object to be driven (driven object) by the drive system 20. The frame mechanism 10 is disposed, for example, above the workpiece W and configured to move (travel) in a specified direction above the workpiece W. The frame mechanism 10 can move in one direction or in two directions intersecting each other (for example, orthogonal). In Figure 1 shows a frame mechanism 10 that can move in one direction. Hereinafter, one direction in which the frame mechanism 10 moves is set as the Y-axis direction, and a direction perpendicular to the Y-axis direction is set as the X-axis direction. The X-axis direction and the Y-axis direction can each be a horizontal direction.

[0026] In the frame mechanism 10, both ends orthogonal to the moving direction are driven. By applying driving forces along two axes (two parallel lines) that are parallel to each other to both ends of the frame mechanism 10, the frame mechanism 10 reciprocally moves in the Y-axis direction. Hereinafter, one of the above-mentioned parallel two axes (two lines) is referred to as the "Y1 axis", and the other is referred to as the "Y2 axis". The frame mechanism 10 includes, for example, movable parts 11A, 11B, and a mechanical coupling part 12.

[0027] The movable part 11A is a part (slider) that is movable on the Y1 axis by a driving force applied along the Y1 axis. The movable part 11B is a part (slider) that is movable on the Y2 axis by a driving force applied along the Y2 axis. The frame mechanism 10 may include guide members (not shown) such as guide rails that guide the movable part 11A along the Y1 axis, or may include guide members (not shown) such as guide rails that guide the movable part 11B along the Y2 axis.

[0028] The mechanical joint portion 12 is a portion that mechanically couples the Y1 axis and the Y2 axis. The mechanical joint portion 12 is formed in a rod shape so as to extend in the X-axis direction. One end of the mechanical joint portion 12 in the X-axis direction is connected to the movable portion 11A, and the other end of the mechanical joint portion 12 in the X-axis direction is connected to the movable portion 11B. The length of the mechanical joint portion 12 in the X-axis direction is longer than the length of the workpiece W, which is the object of work, in the X-axis direction. The cross-section of the mechanical joint portion 12 perpendicular to the X-axis direction may also be a quadrilateral (for example, a rectangle). Driving forces are applied to both end portions of the mechanical joint portion 12 via the movable portions 11A and 11B respectively along lines parallel to the Y-axis direction.

[0029] The working tool 14 is a tool for performing a prescribed operation on the workpiece W. The working tool 14 may also be provided on a side surface at approximately the center in the X-axis direction of the mechanical joint portion 12. Different from the Figure 1 example shown, the frame mechanism 10 may include a mechanism for driving (reciprocating) the working tool 14 in the X-axis direction. The mechanism for driving the working tool 14 in the X-axis direction may be provided on the mechanical joint portion 12. The frame mechanism 10 may also include a mechanism for driving (reciprocating) the working tool 14 in a direction orthogonal to the X-axis direction and the Y-axis direction.

[0030] [Frame drive system]

[0031] The drive system 20 is a system that drives the frame mechanism 10. The drive system 20 applies driving forces to the Y1 axis and the Y2 axis in the frame mechanism 10 respectively, for example, to move the frame mechanism 10 (the movable part thereof) in the Y-axis direction. The drive system 20 includes a motor 30A, a motor 30B, and a motor control system 40.

[0032] (Motor)

[0033] The motor 30A (first motor) drives the frame mechanism 10 along the Y1 axis (first axis). The motor 30A is configured to apply a driving force to one end portion of the mechanical joint portion 12 of the frame mechanism 10 in the X-axis direction. The motor 30A is, for example, a linear motor, and most of it is formed so as to extend along the Y1 axis. The lower surface of one end portion of the mechanical joint portion 12 is connected to the motor 30A via the movable portion 11A. The motor 30A reciprocates the movable portion 11A along the Y1 axis. On the Y1 axis, the position of one end portion of the mechanical joint portion 12 is related to the position of the movable portion 11A.

[0034] The motor 30B (second motor) drives the frame mechanism 10 along the Y2 axis (second axis). The motor 30B is configured to apply a driving force to the other end portion in the X-axis direction of the mechanical coupling portion 12 of the frame mechanism 10. The motor 30B is, for example, a linear motor, and most of it is formed to extend along the Y2 axis. The lower surface of the other end portion of the mechanical coupling portion 12 is connected to the motor 30B via the movable portion 11B. The motor 30B reciprocates the movable portion 11B along the Y2 axis. On the Y2 axis, the position of the other end portion of the mechanical coupling portion 12 is related to the position of the movable portion 11B.

[0035] The motor 30A and the motor 30B may be the same type of motors having the same configuration. Each of the motor 30A and the motor 30B may include an electric drive source that generates a driving force and a position detection portion that detects the position of the end portion of the mechanical coupling portion 12 to be driven in the Y-axis direction. The position detection portion is, for example, a linear scale. The motor 30A and the motor 30B may also be motors that generate a driving force in the rotational direction about the rotation axis. In this case, the frame mechanism 10 may include a mechanism (for example, a ball screw mechanism) that converts the energy in the rotational direction of the motor 30A into motion along the Y1 axis, and may also include a mechanism that converts the energy in the rotational direction generated by the motor 30B into motion along the Y2 axis.

[0036] (Motor control system)

[0037] The motor control system 40 is a control system that controls the motors 30A and 30B. The motor control system 40 is composed of, for example, a plurality of computer devices. The motor control system 40 can control the motors 30A and 30B according to a predetermined operation program. The motor control system 40 is configured to be able to switch its control mode (operation mode). The above control mode includes an inter-axis compensation control mode (first control mode) and a separation control mode (second control mode). The motor control system 40 controls the motors 30A and 30B according to the switched control mode.

[0038] In the inter-axis compensation control mode, the motor control system 40 controls the motors 30A and 30B to reduce the inter-axis position deviation between the Y1 axis and the Y2 axis, and separately controls the positions of the mechanical coupling portion 12 on each axis (the positions of both ends). The inter-axis position deviation refers to the deviation between the detected position of the mechanical coupling portion 12 on the Y1 axis and the detected position of the mechanical coupling portion 12 on the Y2 axis, and is hereinafter denoted as "inter-axis deviation Δy". The motor control system 40 attempts to move the positions of both ends of the mechanical coupling portion 12 to the same target position at the same timing. However, due to the individual differences of the motors 30A and 30B, and the assembly accuracy of the components included in the motors 30A and 30B, and position detection portions such as linear scales, the inter-axis deviation Δy may occur.

[0039] When the motor control system 40 individually controls the positions of the mechanical coupling portion 12 on each axis, it controls the motor 30A so that the detected position of the mechanical coupling portion 12 on the Y1 axis approaches the target position, and controls the motor 30B so that the detected position of the mechanical coupling portion 12 on the Y2 axis approaches the target position. In each position control, compensation (correction) for reducing the inter-axis deviation Δy is performed.

[0040] In the separation control mode, the motor control system 40 controls the motors 30A and 30B based on the detected positions of the mechanical coupling portion 12 on the Y1 axis and on the Y2 axis to control the position of the mechanical coupling portion 12 and to control the rotational state of the mechanical coupling portion 12. The separation control mode is different from the above-described inter-axis compensation control mode in that the driving forces (drive amounts) on the Y1 axis and the Y2 axis are uniformly controlled. In the separation control mode, the motor control system 40 controls the motors 30A and 30B to separate the position of the mechanical coupling portion 12 in the translational direction (Y-axis direction) and the rotational state (angle in the rotational direction) of the mechanical coupling portion 12.

[0041] Figure 2 is a schematic diagram for explaining the control of the translational position of the mechanical coupling portion 12 and the control of the rotational state of the mechanical coupling portion 12. In Figure 2 ,"Cg" represents the center of gravity of the mechanical coupling portion 12 on the X-Y plane, "L1" represents the distance between the center of gravity Cg and the position where the driving force F1 from the motor 30A is applied, and "L2" represents the distance between the center of gravity Cg and the position where the driving force F2 from the motor 30B is applied. When the weight of the mechanical coupling portion 12 is set to "M" and the inertia generated in the mechanical coupling portion 12 about the axis perpendicular to the X-Y plane and passing through the center of gravity Cg is set to "Jz", the equations of motion of the center of gravity Cg are represented by the following equations (1) and (2).

[0042] [Equation 1]

[0043]

[0044] [Equation 2]

[0045]

[0046] Equation (1) is the equation of motion regarding the translational direction of the mechanical coupling portion 12, and equation (2) is the equation of motion regarding the rotational direction of the mechanical coupling portion 12. In equation (1), "Yg" is calculated by the following equation (3) and represents the position of the center of gravity Cg in the Y-axis direction. In equation (3), "y1" is the detected position of the mechanical coupling portion 12 on the Y1 axis obtained from the motor 30A, and "y2" is the detected position of the mechanical coupling portion 12 on the Y2 axis obtained from the motor 30B.

[0047] [Equation 3]

[0048]

[0049] In Equation (2), "θ" represents the rotation angle of the mechanical joint portion 12 about the center of gravity Cg, which is calculated by Equation (4). The reference for the rotation angle θ is a line extending in the X-axis direction. That is, when the values of the detection position y1 and the detection position y2 are the same as each other, the rotation angle θ is zero. In the Y1 axis and the Y2 axis, although an offset of the detection position may occur, due to the mechanical connection, the value of the rotation angle θ is often small. Therefore, Equation (4) can be approximated as Equation (5) below.

[0050] [Equation 4]

[0051]

[0052] [Equation 5]

[0053]

[0054] The motor control system 40 can also control the motor 30A and the motor 30B in the separation control mode so that the position Yg shown in Equation (3) follows the target position, and control the motor 30A and the motor 30B so that the rotation angle θ shown in Equation (5) approaches zero. The details of the above-mentioned inter-axis compensation control mode and separation control mode will be described later.

[0055] Return to Figure 1 , the motor control system 40 may include a control device 50A, a control device 50B, and an upper controller 60. The control device 50A (first control device) is connected to the motor 30A. The control device 50A can adjust the driving force (driving amount) of the motor 30A on the mechanical joint portion 12. The control device 50B (second control device) is connected to the motor 30B. The control device 50B can adjust the driving force (driving amount) of the motor 30B on the mechanical joint portion 12. The control devices 50A and 50B are also respectively referred to as an amplifier or a servo amplifier.

[0056] The control devices 50A and 50B are communicably connected to each other. The control devices 50A and 50B constitute a control unit for controlling the motors 30A and 30B. The control devices 50A and 50B control the motors 30A and 30B synchronously. The control devices 50A and 50B control the motors 30A and 30B such that the mechanical coupling portion 12 of the frame mechanism 10 follows the target position. The control devices 50A and 50B control the motors 30A and 30B such that at every prescribed cycle, the mechanical coupling portion 12 approaches the target position and the axial deviation Δy is reduced. Depending on the control mode of the motor control system 40, the cooperation method between the control devices 50A and 50B and the control method for each motor are different.

[0057] The upper controller 60 is an upper device communicably connected to the control devices 50A and 50B respectively. The upper controller 60 outputs a position command indicating the target position of the frame mechanism 10, which is the object to be driven, to both of the control devices 50A and 50B, or to at least one of the control devices 50A and 50B. When outputting the position command to both the control device 50A and the control device 50B, the upper controller 60 outputs position commands indicating the same target position to the control device 50A and the control device 50B respectively at the same timing (same cycle).

[0058] The control device 50A, the control device 50B, and the upper controller 60 are configured separately from each other, for example. In the above axial compensation control mode, the control device 50A generates a command for the motor 30A based on the detected position y1 on the Y1 axis, and the control device 50B generates a command for the motor 30B based on the detected position y2 on the Y2 axis. Further, in the above axial compensation control mode, at least one of the control device 50A and the control device 50B generates (calculates) a compensation value for the commands for the motors 30A and 30B based on the above axial deviation Δy. For example, the control device 50A generates a compensation value for the command for the motor 30A based on the axial deviation Δy, and the control device 50B generates a compensation value for the command for the motor 30B based on the axial deviation Δy.

[0059] In the above separation control mode, the control device 50A generates commands for the motors 30A and 30B based on the detected position y1 and the detected position y2, and the control device 50B generates commands for the motors 30A and 30B based on the axial deviation Δy. Hereinafter, an example of each of the control device 50A, the control device 50B, and the upper controller 60 will be described in detail.

[0060] The control device 50A adjusts the driving amount from the motor 30A to the mechanical coupling portion 12 based on the position command from the upper controller 60. As Figure 3As shown, the control device 50A has, as a functional configuration (hereinafter referred to as "functional module"), for example, a mode switching unit 71, a position acquisition unit 72, an individual control unit 74, and a cooperative control unit 76. The processing performed by these functional modules corresponds to the processing performed by the control device 50A.

[0061] The mode switching unit 71 switches between the above-mentioned inter-axis compensation control mode and the above-mentioned separation control mode. The mode switching unit 71 selects one of the inter-axis compensation control mode and the separation control mode for the operation mode of the control device 50A. The control device 50A adjusts the driving force from the motor 30A to the mechanical coupling portion 12 according to the control mode switched (selected) by the mode switching unit 71. The mode switching unit 71 switches to a certain control mode, for example, based on an instruction indicating the control mode from the upper controller 60.

[0062] The magnitude of the generated inter-axis deviation Δy (torsion) and the magnitude of the allowable control gain vary according to the rigidity of the frame mechanism 10. The rigidity of the frame mechanism 10 refers to the degree of difficulty (ease) of position change of the entire frame mechanism 10 (the entire movable part). When the rigidity of the frame mechanism 10 is high, the positions of the Y1 axis and the Y2 axis of the frame mechanism 10 are difficult to change, and when the rigidity of the frame mechanism 10 is low, the positions of the Y1 axis and the Y2 axis of the frame mechanism 10 are easy to change. It can be considered that it is appropriate to determine in which control mode to perform control based on the rigidity of the frame mechanism 10. The mode switching unit 71 can also switch the inter-axis compensation control mode and the separation control mode based on an evaluation value indicating the rigidity degree of the frame mechanism 10.

[0063] In one example, the mode switching unit 71 switches (selects) to the inter-axis compensation control mode when the above-mentioned evaluation value exceeds a specified threshold, and switches (selects) to the separation control mode when the above-mentioned evaluation value is lower than the threshold. The above-mentioned threshold is, for example, stored in the motor control system 40 in advance and is determined based on verifying the relationship between the above-mentioned evaluation value obtained in the past and the execution results in each control mode.

[0064] The position acquisition unit 72 acquires information indicating the detected position y1 of the mechanical coupling portion 12 on the Y1 axis from the motor 30A. The position acquisition unit 72 can also acquire the value of the detected position y1 from the position detection unit of the motor 30A at every specified cycle. The position acquisition unit 72 acquires information indicating the detected position y2 of the mechanical coupling portion 12 on the Y2 axis. The position acquisition unit 72 can also acquire the value of the detected position y2 from the control device 50B at every specified cycle.

[0065] When the individual control unit 74 (first individual control unit) is switched to the inter-axis compensation control mode by the mode switching unit 71, it generates a torque command TcA (first command) for the motor 30A based on the detected position y1 on the Y1 axis and the inter-axis deviation Δy. The individual control unit 74 acquires a position command yt indicating the target position in the Y-axis direction of the mechanical coupling portion 12, and generates the above torque command TcA in such a way as to reduce the deviation between the detected position y1 and the position command yt (target position), thereby reducing the inter-axis deviation Δy.

[0066] The individual control unit 74 operates the motor 30A based on the torque command TcA for the motor 30A. The individual control unit 74 may also execute, at every prescribed cycle, generating the torque command TcA and operating the motor 30A based on the torque command TcA. "Operating the motor 30A based on the torque command TcA" means adjusting the value of the drive power (e.g., drive current) for the motor 30A so that a driving force corresponding to the torque command TcA is applied to the Y1 axis of the mechanical coupling portion 12.

[0067] When the cooperative control unit 76 (first cooperative control unit) is switched to the separation control mode by the mode switching unit 71, it generates a translational thrust command for both the motor 30A and the motor 30B based on the detected position y1 on the Y1 axis and the detected position y2 on the Y2 axis. The translational thrust command is a command for controlling the position of the mechanical coupling portion 12 in the Y-axis direction (e.g., the position of the center of gravity Cg in the Y-axis direction).

[0068] The cooperative control unit 76 may also acquire a position command yt indicating the target position of the mechanical coupling portion 12 in the Y-axis direction, and generate the translational thrust command in such a way as to reduce the deviation between the average value of the detected position y1 and the detected position y2 (the above position Yg) and the position command yt. The cooperative control unit 76 outputs the above translational thrust command to the control device 50B, and operates the motor 30A based on the translational thrust command and the rotational torque command obtained from the control device 50B. Details of the rotational torque command obtained from the control device 50B will be described later.

[0069] The cooperative control unit 76 generates a combined torque command Tc1 for the motor 30A based on the translational thrust command and the rotational torque command. The cooperative control unit 76 adjusts the value of the drive power (e.g., drive current) for the motor 30A so that a driving force corresponding to the combined torque command Tc1 is applied to the Y1 axis of the mechanical coupling portion 12. The cooperative control unit 76 may also execute, at every prescribed cycle, generating and outputting the translational thrust command, and operating the motor 30A based on the translational thrust command and the rotational torque command generated in the previous cycle. As described above, the method (computation method) for generating the torque command for the motor 30A is different between the inter-axis compensation control mode and the separation control mode.

[0070] The control device 50B is synchronized with the control device 50A and adjusts the driving amount from the slave motor 30B to the mechanical coupling portion 12 based on the position command yt from the upper controller 60. The control device 50B has, for example, a mode switching unit 81, a position acquisition unit 82, an individual control unit 84, and a cooperative control unit 86 as functional modules. The processing executed by these functional modules corresponds to the processing executed by the control device 50B.

[0071] The mode switching unit 81 switches between the above-mentioned inter-axis compensation control mode and the above-mentioned separation control mode. The mode switching unit 81 selects either the inter-axis compensation control mode or the separation control mode for the operation mode of the control device 50B. The control device 50B adjusts the driving amount from the slave motor 30B to the mechanical coupling portion 12 according to the control mode switched (selected) by the mode switching unit 81. The control device 50B switches to a certain control mode, for example, based on an instruction indicating the control mode from the upper controller 60. The control device 50B can also switch to the same mode as the control mode set by the control device 50A (mode switching unit 71) based on information from the control device 50A.

[0072] The position acquisition unit 82 acquires information indicating the detected position y2 of the mechanical coupling portion 12 on the Y2 axis from the slave motor 30B. The position acquisition unit 82 can also acquire the value of the detected position y2 from the position detection unit of the slave motor 30B at regular intervals. The position acquisition unit 82 acquires information indicating the detected position y1 of the mechanical coupling portion 12 on the Y1 axis. The position acquisition unit 82 can also acquire the value of the detected position y1 from the control device 50A at regular intervals.

[0073] When the individual control unit 84 (second individual control unit) is switched to the inter-axis compensation control mode by the mode switching unit 81, it generates a torque command TcB (second command) for the slave motor 30B based on the detected position y2 on the Y2 axis and the inter-axis deviation Δy. The individual control unit 84 acquires the position command yt indicating the target position of the mechanical coupling portion 12 in the Y-axis direction and generates the above-mentioned torque command TcB so as to reduce the deviation between the detected position y2 and the position command yt (target position) and reduce the inter-axis deviation Δy.

[0074] The individual control unit 84 operates the slave motor 30B based on the torque command TcB for the slave motor 30B. The individual control unit 84 can also execute the command for generating the torque command TcB and operate the slave motor 30B based on the torque command TcB at regular intervals. The individual control unit 84 adjusts the value of the driving power (for example, driving current) for the slave motor 30B so that a driving force corresponding to the torque command TcB is applied to the Y2 axis of the mechanical coupling portion 12.

[0075] When the cooperation control unit 86 (second cooperation control unit) is switched to the separation control mode by the mode switching unit 81, a rotational torque command for both the motor 30A and the motor 30B is generated based on the inter-axis deviation Δy. The rotational torque command is a command for controlling the rotational state of the mechanical coupling portion 12. The cooperation control unit 86 generates a rotational torque command to reduce the inter-axis deviation Δy. As the inter-axis deviation Δy is reduced, the rotational angle θ approaches zero. Different from the cooperation control unit 76 of the control device 50A, the cooperation control unit 86 does not acquire a position command yt indicating the target position.

[0076] The cooperation control unit 86 outputs the rotational torque command to the control device 50A, and operates the motor 30B based on the rotational torque command and the translational thrust command obtained from the control device 50A (cooperation control unit 76). The cooperation control unit 86 generates a combined torque command Tc2 for the motor 30B based on the translational thrust command and the rotational torque command. The cooperation control unit 86 adjusts the value of the drive power (e.g., drive current) for the motor 30B to apply a driving force corresponding to the combined torque command Tc2 to the Y2 axis of the mechanical coupling portion 12.

[0077] The cooperation control unit 86 may execute, at every prescribed cycle, generating and outputting a rotational torque command, and operating the motor 30B based on the rotational torque command and the translational thrust command generated in the previous cycle. As described above, between the inter-axis compensation control mode and the separation control mode, the method (calculation method) for generating the torque command for the motor 30B is different.

[0078] In either of the two control modes, the control device 50A adjusts and outputs the drive power for the motor 30A, and the control device 50B adjusts and outputs the drive power for the motor 30B. In the inter-axis compensation control mode, the control device 50A performs position control on the Y1 axis, and the control device 50B performs position control on the Y2 axis. In the position control performed by the control device 50A and the control device 50B, compensation values for reducing the inter-axis deviation Δy are considered respectively.

[0079] Figure 4 An example of the input-output relationship of data when switching to the inter-axis compensation control mode is shown. In the control device 50A, the detected position y1 from the motor 30A and the detected position y2 from the motor 30B are input to the position acquisition unit 72. The position acquisition unit 72 calculates the inter-axis deviation Δy (=y1 - y2) based on the detected position y1 and the detected position y2. The position command yt and the detected position y1 are input to the individual control unit 74. The individual control unit 74 performs position velocity control for causing the position of the mechanical coupling portion 12 on the Y1 axis to follow the position command yt based on the position command yt and the detected position y1.

[0080] The individual control unit 74, for example, in position - speed control, calculates the position deviation between the position command yt and the detected position y1, and generates a speed command based on this position deviation (e.g., through proportional operation). Then, the individual control unit 74 calculates the speed deviation between the generated speed command and the speed detection value obtained from the detected position y1, and generates a thrust command FcA based on this speed deviation (e.g., through proportional - integral operation).

[0081] The inter - axis deviation Δy is also input to the individual control unit 74. The individual control unit 74 calculates a compensation value Co (correction value) of the thrust command to reduce the inter - axis deviation Δy. The individual control unit 74 generates the above - mentioned torque command TcA by performing an operation on the thrust command FcA calculated based on the speed deviation and the compensation value Co according to a specified filtering condition. The individual control unit 74 outputs a drive current IA corresponding to the torque command TcA to the motor 30A to operate the motor 30A. Thus, a driving force corresponding to the torque command TcA is applied to the Y1 axis of the mechanical coupling portion 12.

[0082] In the control device 50B, the detected position y2 from the motor 30B and the detected position y1 from the motor 30A are input to the position acquisition unit 82. The position acquisition unit 82 calculates the inter - axis deviation Δy based on the detected position y1 and the detected position y2. The same position command yt and the detected position y2 as those obtained by the individual control unit 74 are input to the individual control unit 84. The individual control unit 84 performs position - speed control for making the position of the mechanical coupling portion 12 on the Y2 axis follow the position command yt based on the position command yt and the detected position y2.

[0083] The individual control unit 84, for example, in position - speed control, calculates the position deviation between the position command yt and the detected position y2, and generates a speed command based on this position deviation (e.g., through proportional operation). Then, the individual control unit 84 calculates the speed deviation between the generated speed command and the speed detection value obtained from the detected position y2, and generates a thrust command FcB based on this speed deviation (e.g., through proportional - integral operation).

[0084] The inter - axis deviation Δy is also input to the individual control unit 84. The individual control unit 84 calculates a compensation value Co (correction value) of the thrust command to reduce the inter - axis deviation Δy. The calculated compensation value Co is the same value as the compensation value Co calculated by the individual control unit 74. The individual control unit 84 generates the above - mentioned torque command TcB by performing an operation on the thrust command FcB calculated based on the speed deviation and the compensation value Co according to a specified filtering condition. As Figure 4As in the example shown, both the individual control unit 74 of the control device 50A and the individual control unit 84 of the control device 50B can calculate the compensation value Co of the thrust command. Different from this example, either the individual control unit 74 or the individual control unit 84 can calculate the compensation value Co of the thrust command.

[0085] Between the torque commands TcA and TcB, the value of the compensation value Co is the same, but the above filtering conditions can also be set in such a way that the signs of the compensation values Co are reversed from each other. The individual control unit 84 outputs a drive current IB corresponding to the torque command TcB to the motor 30B to operate the motor 30B. Thereby, a driving force corresponding to the torque command TcB is applied to the Y2 axis of the mechanical coupling portion 12.

[0086] On the other hand, in the separation control mode, the control device 50A generates the above-mentioned translational thrust command, and the control device 50A and the control device 50B respectively adjust the drive power to the corresponding motors based on the translational thrust command. Therefore, the control device 50A (substantially) controls the position of the mechanical coupling portion 12 in the Y-axis direction. In the separation control mode, the control device 50B generates the above-mentioned rotational torque command, and the control device 50A and the control device 50B respectively adjust the drive power to the corresponding motors based on the rotational torque command. Therefore, the control device 50B (substantially) controls the rotational angle θ of the mechanical coupling portion 12.

[0087] Figure 5 An example of the input-output relationship of data when switching to the separation control mode is shown. The detection position y1 from the motor 30A and the detection position y2 from the motor 30B are input to the position acquisition unit 72 of the control device 50A. The position acquisition unit 72 calculates the position Yg [=(y1 + y2) / 2] of the center of gravity Cg of the mechanical coupling portion 12 in the Y-axis direction based on the detection position y1 and the detection position y2. The position command yt and the position Yg are input to the cooperative control unit 76. The cooperative control unit 76 performs position velocity control for making the center of gravity position of the mechanical coupling portion 12 follow the position command yt based on the position command yt and the position Yg.

[0088] In the position velocity control, the cooperative control unit 76 calculates the translational deviation between the position command yt and the position Yg, and generates a velocity command based on this translational deviation (for example, by proportional operation). Then, the cooperative control unit 76 calculates the velocity deviation between the generated velocity command and the velocity detection value obtained from the position Yg, and generates a translational thrust command Trc representing the thrust command in the Y-axis direction based on this velocity deviation (for example, by proportional-integral operation). The cooperative control unit 76 outputs the value obtained by multiplying the translational thrust command Trc by 1 / 2 to the cooperative control unit 86 of the control device 50B.

[0089] The detection position y2 from the motor 30B and the detection position y1 from the motor 30A are input to the position acquisition unit 82 of the control device 50B. The position acquisition unit 82 calculates the inter-axis deviation Δy based on the detection position y1 and the detection position y2. The inter-axis deviation Δy is input to the cooperative control unit 86. The cooperative control unit 86 performs position velocity control to make the rotation angle θ of the mechanical coupling portion 12 about the vertical axis passing through the center of gravity of the mechanical coupling portion 12 follow zero based on the inter-axis deviation Δy.

[0090] In the position velocity control, the cooperative control unit 86 calculates the rotation angle θ based on the inter-axis deviation Δy according to Equation (5). The cooperative control unit 86 generates a velocity command in the rotation direction based on the value of the rotation angle θ (for example, through proportional operation). Further, the cooperative control unit 86 calculates the velocity deviation between the generated velocity command and the velocity detection value in the rotation direction obtained from the rotation angle θ, and generates a rotation torque command Roc representing the thrust command in the rotation direction based on this velocity deviation (for example, through proportional integral operation). The cooperative control unit 86 outputs the value of the rotation torque command Roc to the cooperative control unit 76 of the control device 50A.

[0091] The cooperative control unit 76 generates the above-mentioned combined torque command Tc1 by performing an operation on half of the translational thrust command Trc and the rotation torque command Roc according to a specified filtering condition. The cooperative control unit 76 outputs a drive current IA corresponding to the combined torque command Tc1 to the motor 30A to operate the motor 30A. Thereby, a driving force corresponding to the combined torque command Tc1 is applied to the Y1 axis of the mechanical coupling portion 12.

[0092] The cooperative control unit 86 generates the above-mentioned combined torque command Tc2 by performing an operation on half of the translational thrust command Trc and the rotation torque command Roc according to a specified filtering condition. In the generation of the combined torque command Tc1 and the generation of the combined torque command Tc2, the filtering condition may be determined in such a way that the sign of the rotation torque command Roc is reversed. The cooperative control unit 86 outputs a drive current IB corresponding to the combined torque command Tc2 to the motor 30B to operate the motor 30B. Thereby, a driving force corresponding to the combined torque command Tc2 is applied to the Y2 axis of the mechanical coupling portion 12.

[0093] As Figure 3 shown, the upper controller 60, as a functional module, has, for example, a position command output unit 62, a test control unit 64, and a rigidity evaluation unit 66. The processing performed by these functional modules is equivalent to the processing performed by the upper controller 60.

[0094] The position command output unit 62 outputs the position command yt indicating the target position of the mechanical coupling portion 12 in the Y-axis direction to the control device 50A and the control device 50B respectively, or does not output the position command yt to the control device 50B but outputs it to the control device 50A. The position command output unit 62 may also output the position command yt to the control device 50A and the control device 50B respectively, or to the control device 50A at each prescribed cycle. The position command output unit 62 may also output the position command to the control device 50A and the control device 50B respectively, or to the control device 50A according to a predetermined operation program at each cycle. The position command output unit 62 may also output the position command yt to both the control device 50A and the control device 50B, or to the control device 50A at each cycle according to an instruction from another system or the like.

[0095] The test control unit 64 performs initial setting control in order to obtain an index when switching the control mode. In the initial setting control, the test control unit 64 causes the control device 50A and the control device 50B to perform the following operations. In the initial setting control, for example, the control device 50A controls the motor 30A so that the detection position y1 follows the test target position (test target position), and the control device 50B controls the motor 30B so that the detection position y2 follows the test target position. In the initial setting control, compensation for reducing the axial deviation Δy is not performed.

[0096] The test control unit 64 may also cause the control device 50A and the control device 50B to perform the initial setting control during a prescribed setting period. The test target position may also change during the setting period. During the execution of the initial setting control, the test control unit 64 accumulates (stores) the axial deviation Δy, the first thrust command, and the second thrust command at each cycle. The first thrust command is a command calculated by the control device 50A to make the detection position y1 approach the test target position, and is calculated in the same manner as the above-mentioned thrust command FcA. The second thrust command is a command calculated by the control device 50B to make the detection position y2 approach the test target position, and is calculated in the same manner as the above-mentioned thrust command FcB.

[0097] The rigidity evaluation unit 66 calculates an evaluation value (index) indicating the rigidity degree of the frame mechanism 10 based on the axial deviation Δy obtained during the execution of the initial setting control and the difference between the thrust commands for the motor 30A and the motor 30B when the axial deviation Δy is obtained. The rigidity evaluation unit 66 may also calculate the above-mentioned evaluation value by dividing the axial deviation Δy by the difference between the above-mentioned first thrust command and the above-mentioned second thrust command.

[0098] The rigidity evaluation unit 66 may also divide the axial deviation Δy in one cycle by the difference between the first thrust command and the second thrust command in each cycle. The rigidity evaluation unit 66 may also calculate the average value of the values obtained by dividing the axial deviation Δy by the difference between the thrust commands in a plurality of cycles as the above evaluation value. The above-described mode switching unit 71 and mode switching unit 81 may also switch the control mode based on the evaluation value of the rigidity evaluation unit 66. In addition, at least one of the control device 50A and the control device 50B may include the rigidity evaluation unit 66.

[0099] As Figure 6 shown, the control device 50A includes a circuit 170. The circuit 170 includes at least one processor 171, a memory 172, a storage 173, an input / output port 175, a driver 176, and a communication port 178. The storage 173 is a computer-readable non-volatile storage medium (e.g., flash memory). The storage 173 stores a program and data for controlling the motor 30A in cooperation with the control device 50B. The memory 172 temporarily stores programs loaded from the storage 173, operation results of the processor 171, and the like.

[0100] The processor 171 constitutes the above functional modules of the control device 50A by executing the above program in cooperation with the memory 172. The input / output port 175 inputs and outputs electrical signals to and from the motor 30A (e.g., the position detection unit of the motor 30A) according to instructions from the processor 171. The driver 176 outputs drive power (drive current) to the motor 30A according to instructions from the processor 171. The communication port 178 communicates with the upper controller 60 and with the control device 50B via wireless, wired, or network lines according to instructions from the processor 171.

[0101] The control device 50B includes a circuit 180. The circuit 180 includes at least one processor 181, a memory 182, a storage 183, an input / output port 185, a driver 186, and a communication port 188. The storage 183 is a computer-readable non-volatile storage medium (e.g., flash memory). The storage 183 stores a program and data for controlling the motor 30B in cooperation with the control device 50A. The memory 182 temporarily stores programs loaded from the storage 183, operation results of the processor 181, and the like.

[0102] The processor 181 cooperates with the memory 182 to execute the above program, thereby constituting the above functional modules of the control device 50B. The input / output port 185 performs input / output of electrical signals with the motor 30B (for example, the position detection unit of the motor 30B) according to instructions from the processor 181. The driver 186 outputs drive power (drive current) to the motor 30B according to instructions from the processor 181. The communication port 188 communicates with the upper controller 60 and the control device 50A via wireless, wired or network lines according to instructions from the processor 181.

[0103] The upper controller 60 includes a circuit 160. The circuit 160 includes at least one processor 161, a memory 162, a storage 163, and a communication port 168. The storage 163 is a computer-readable non-volatile storage medium (such as a flash memory). The storage 163 stores programs and data for controlling the motor 30A and the motor 30B via the control device 50A and the control device 50B. The memory 162 temporarily stores programs loaded from the storage 163, operation results of the processor 161, and the like.

[0104] The processor 161 cooperates with the memory 162 to execute the above program, thereby constituting the above functional modules of the upper controller 60. The communication port 168 communicates with the control device 50A and the control device 50B via wireless, wired or network lines according to instructions from the processor 161. The circuits respectively included in the control device 50A, the control device 50B, and the upper controller 60 are not necessarily limited to circuits that constitute each function through programs. Any circuit can be constituted by a dedicated logic circuit or an application specific integrated circuit (ASIC) integrated with a dedicated logic circuit for at least a part of the functions.

[0105] [Control Method]

[0106] Next, an example of a control method (control method) for the motors 30A and 30B executed by the motor control system 40 will be described. This control method at least includes: controlling the motor 30A and the motor 30B; and switching between the inter-axis compensation control mode and the separation control mode. Controlling the motor 30A and the motor 30B includes controlling the motor 30A and the motor 30B according to the switched mode.

[0107] Figure 7This shows an example of a series of processes executed by the motor control system 40 when switching to the inter-axis compensation control mode in one cycle. Hereinafter, the individual controls performed on the motor 30A and the motor 30B in the inter-axis compensation control mode will be described in sequence. When the inter-axis compensation control mode is selected, the motor control system 40 repeats a series of processes of the following steps S11 to S16 at a prescribed cycle. Here, the current cycle is represented by "k" (k is an integer of 1 or more), and the values and commands obtained in the k-th cycle are represented as "Y(k)" and "command(k)", respectively.

[0108] In the control of the motor 30A, the motor control system 40 first executes step S11. In step S11, for example, the individual control unit 74 of the control device 50A acquires the position command yt(k) from the position command output unit 62 of the host controller 60. The value of the position command yt(k) can be the same as the position command yt(k - 1) obtained in the previous cycle, or it can be a different value.

[0109] Next, the motor control system 40 executes step S12. In step S12, for example, the position acquisition unit 72 of the control device 50A acquires the detected position y1(k) from the motor 30A and the detected position y2 from the control device 50B. Due to the time required for communication from the control device 50B to the control device 50A, the detected position y2 obtained from the control device 50B can be the value (detected position y2(k - 1)) acquired by the position acquisition unit 82 of the control device 50B in the previous cycle of the current cycle. The position acquisition unit 72 can also calculate the inter-axis deviation Δy(k - 1) as the difference between the detected position y1(k - 1) acquired in step S12 of the previous cycle and the detected position y2(k - 1) obtained in step S12.

[0110] Next, the motor control system 40 executes steps S13 and S14. In step S13, for example, the individual control unit 74 calculates the position deviation between the position command yt(k) obtained in step S11 and the detected position y1(k) obtained in step S12. In addition, the individual control unit 74 can also calculate the position deviation between the position command yt(k) obtained in step S11 and the detected position y1(k - 1) obtained in step S12 of the previous cycle. Then, the individual control unit 74 generates a thrust command FcA based on the calculated position deviation so that the detected position y1 approaches the position command yt. In step S14, for example, the individual control unit 74 calculates a compensation value Co of the thrust command based on the inter-axis deviation Δy(k - 1) obtained in step S12 so that the inter-axis deviation Δy approaches zero.

[0111] Next, the motor control system 40 executes steps S15 and S16. In step S15, for example, the individual control unit 74 corrects the thrust command obtained in step S13 using the compensation value obtained in step S14 according to a specified filtering condition, thereby generating a torque command TcA. In step S16, for example, the individual control unit 74 outputs drive power (drive current) corresponding to the torque command TcA obtained in step S15 to the motor 30A. The motor control system 40 reduces the inter-axis deviation Δy and causes the detection position y1 of the mechanical coupling portion 12 on the Y1 axis to follow the position command yt by repeating the above steps S11 to S16.

[0112] When the inter-axis compensation control mode is selected, the motor control system 40 repeats a series of processes of the following steps S21 to S26 at a specified cycle. Steps S21 to S26 are executed in the same manner as the above steps S11 to S16 except that the control target is the motor 30B. The motor control system 40 first executes step S21. In step S21, for example, the individual control unit 84 of the control device 50B acquires the position command yt(k) from the position command output unit 62 of the host controller 60.

[0113] Next, the motor control system 40 executes step S22. In step S22, for example, the position acquisition unit 82 of the control device 50B acquires the detection position y2(k) from the motor 30B and the detection position y1(k - 1) from the control device 50A. The position acquisition unit 82 may also calculate the difference between the detection position y1(k - 1) obtained in step S22 and the detection position y2(k - 1) acquired in step S22 of the previous cycle as the inter-axis deviation Δy(k - 1).

[0114] Next, the motor control system 40 executes steps S23 and S24. In step S23, for example, the individual control unit 84 calculates the position deviation between the position command yt obtained in step S21 and the detection position y2(k) obtained in step S22 of this cycle or the detection position y2(k - 1) obtained in step S22 of the previous cycle. Then, the individual control unit 84 generates a thrust command FcB based on the calculated position deviation so that the detection position y2 approaches the position command yt. In step S24, for example, the individual control unit 84 calculates a compensation value Co of the thrust command based on the inter-axis deviation Δy(k - 1) obtained in step S22 so that the inter-axis deviation Δy approaches zero.

[0115] Next, the motor control system 40 executes steps S25 and S26. In step S25, for example, the individual control unit 84 corrects the thrust command FcB obtained in step S23 using the compensation value Co obtained in step S24 according to a specified filtering condition, thereby generating a torque command TcB. In step S26, for example, the individual control unit 84 outputs drive power (drive current) corresponding to the torque TcB obtained in step S25 to the motor 30B. The motor control system 40 reduces the inter-axis deviation Δy and makes the detected position y2 of the mechanical coupling portion 12 on the Y2 axis follow the position command yt by repeating the above steps S21 to S26.

[0116] Figure 8 FIG. shows an example of a series of processes executed by the motor control system 40 for control execution in the translational direction in one cycle when switching to the separation control mode. In the translational direction control, the motor control system 40 first executes step S31. In step S31, for example, the cooperative control unit 76 of the control device 50A acquires the position command yt(k) from the position command output unit 62 of the upper controller 60.

[0117] Next, the motor control system 40 executes step S32. In step S32, for example, the position acquisition unit 72 of the control device 50A acquires the detected position y1(k) from the motor 30A and the detected position y2(k - 1) from the control device 50B. The position acquisition unit 72 may calculate the average value of the detected position y1(k - 1) and the detected position y2(k - 1) as the position Yg(k - 1) at the center of gravity Cg of the mechanical coupling portion 12.

[0118] Next, the motor control system 40 executes step S33. In step S33, for example, the cooperative control unit 76 of the control device 50A calculates the deviation between the above position Yg(k - 1) and the position command y(k), and generates a translational thrust command Trc(k) based on this deviation so that the position Yg approaches the position command yt. Then, the cooperative control unit 76 outputs half of the value of the generated translational thrust command Trc(k) to the cooperative control unit 86 of the control device 50B after halving the value.

[0119] Next, the motor control system 40 executes step S34. In step S34, for example, the cooperative control unit 76 acquires the rotational torque command from the cooperative control unit 86 of the control device 50B. Due to the time required for communication from the control device 50B to the control device 50A, the rotational torque command acquired in step S34 may also be the rotational torque command Roc(k - 1) generated by the cooperative control unit 86 in the previous cycle.

[0120] Next, the motor control system 40 executes steps S35 and S36. In step S35, for example, the cooperation control unit 76 generates a combined torque command Tc1 based on half of the translational thrust command Trc(k-1) generated in step S33 of the previous cycle and the rotational torque command Roc(k-1) obtained in step S34. The combination of half of the translational thrust command Trc(k-1) and the rotational torque command Roc(k-1) is executed according to a prescribed filtering condition. In step S36, for example, the cooperation control unit 76 outputs drive power (drive current) corresponding to the combined torque command Tc1 obtained in step S35 to the motor 30A.

[0121] Figure 9 This shows an example of a series of processes executed by the motor control system 40 in one cycle for the control in the rotational direction when switching to the separation control mode. In the control in the rotational direction, the motor control system 40 first executes step S42. In step S42, for example, the position acquisition unit 82 of the control device 50B acquires the detected position y2(k) from the motor 30B and the detected position y1(k-1) from the control device 50A. The position acquisition unit 72 calculates the difference between the detected position y1(k-1) and the detected position y2(k-1) as the inter-axis deviation Δy(k-1).

[0122] Next, the motor control system 40 executes step S43. In step S43, for example, the cooperation control unit 86 of the control device 50B generates a rotational torque command Roc(k) based on the inter-axis deviation Δy(k-1) calculated in step S42 to reduce the inter-axis deviation Δy. Then, the cooperation control unit 86 outputs the generated rotational torque command Roc(k) to the cooperation control unit 76 of the control device 50A.

[0123] Next, the motor control system 40 executes step S44. In step S44, for example, the cooperation control unit 86 acquires half of the value of the translational thrust command Trc from the cooperation control unit 76 of the control device 50A. Due to the communication time required from the control device 50A to the control device 50B, half of the value of the translational thrust command acquired in step S44 may also be half of the translational thrust command Trc(k-1) generated by the cooperation control unit 76 in the previous cycle.

[0124] Next, the motor control system 40 executes steps S45 and S46. In step S45, for example, the cooperation control unit 86 generates a combined torque command Tc2 based on the rotational torque command Roc(k-1) generated in step S43 of the previous cycle and half of the translational thrust command Trc(k-1) acquired in step S44. The combination of the rotational torque command Roc(k-1) and half of the translational thrust command Trc(k-1) is executed according to a prescribed filtering condition. In step S46, for example, the cooperation control unit 86 outputs drive power (drive current) corresponding to the combined torque command Tc2 obtained in step S45 to the motor 30B.

[0125] The motor control system 40 repeats the above steps S31 to S36 and steps S42 to S46 to reduce the inter-axis deviation Δy and make the position Yg at the center of gravity Cg of the mechanical coupling portion 12 follow the position command yt. In the above example, the drive power for each motor is adjusted based on the rotational torque command Roc(k-1) and the translational thrust command Trc(k-1) generated in the previous cycle. Since the rotational torque command and the translational thrust command are based on the detected positions y1(k-1) and y2(k-1) obtained in the previous cycle, in the current cycle, the drive power for each motor is adjusted based on the detected positions y1 and y2 obtained in the two previous cycles.

[0126] Figure 10 It is a flowchart showing an example of a series of processes executed by the motor control system 40 in the above initial setting control. The initial setting control is executed to set the motor control system 40 in the preparation stage before the actual operation of the rack drive system 1 on the workpiece W (operation in the manufacturing stage). In this initial setting control, for example, the test control unit 64 of the host controller 60 causes the control device 50A to execute the following steps S71 to S76, and causes the control device 50B to execute the following steps S81 to S86 in synchronization with steps S71 to S76.

[0127] Steps S71 to S76 and steps S81 to S86 are executed in the same manner except for the difference in the motors to be controlled. Therefore, steps S71 to S76 are described below, and the detailed description of steps S81 to S86 is omitted. The control device 50A repeats steps S71 to S76 until a prescribed condition is satisfied. In step S71, for example, the control device 50A acquires a position command yt0 for testing (target position for testing) from the host controller 60.

[0128] In step S72, for example, the control device 50A obtains the detected position y1 from the motor 30A. In step S73, for example, the control device 50A calculates the position deviation between the position command yt0 obtained in step S71 and the detected position y1 obtained in step S72. In step S74, for example, the control device 50A generates a thrust command based on the position deviation calculated in step S73 to reduce the deviation. In step S75, for example, the control device 50A adjusts the drive power for the motor 30A according to the thrust command generated in step S74. In step S76, for example, the control device 50A outputs the detected position y1 obtained in step S72 and the thrust command generated in step S74 to the host controller 60. After establishing correspondence with the information representing the cycle, the host controller 60 stores the detected position y1 and the thrust command.

[0129] After executing steps S76 and S86 of each cycle, the motor control system 40 executes step S91. In step S91, for example, the test control unit 64 determines whether a prescribed set time has elapsed since the start of the initial steps S71 and S81. The prescribed set time is set, for example, as the time for accumulating data until the degree of rigidity of the frame mechanism 10 can be evaluated. In step S91, when it is determined that the prescribed set time has not elapsed (step S91: No), the control device 50A executes steps S71 to S76 again, and the control device 50B executes steps S81 to S86 again.

[0130] In step S91, when it is determined that the prescribed set time has elapsed (step S91: Yes), the motor control system 40 executes step S92. In step S92, for example, the rigidity evaluation unit 66 calculates an evaluation value representing the degree of rigidity of the frame mechanism 10 based on the data accumulated by repeating steps S76 and S86. The rigidity evaluation unit 66 may also divide the difference between the detected positions obtained in steps S72 and S82 (axial deviation Δy) by the difference between the thrust commands obtained in steps S74 and S84 for each cycle. Further, the rigidity evaluation unit 66 may obtain a statistical value such as the average value, minimum value, maximum value, or most frequent value of the values after the division operation as the evaluation value.

[0131] Next, the motor control system 40 executes step S93. In step S93, for example, the mode switching unit 71 switches the control mode being executed to either the axial compensation control mode or the separation control mode based on the evaluation value obtained in step S92. The mode switching unit 81 may also switch the control mode being executed to either the axial compensation control mode or the separation control mode by obtaining the switching result of the mode switching unit 71. Thus, the setting in the preparation stage is completed. Thereafter, in the actual manufacturing stage, the motor control system 40 controls the motor 30A and the motor 30B according to the switched control mode.

[0132] (Modification example)

[0133] In Figures 7 to 10 The series of processes described separately are an example and can be changed appropriately. In a certain series of processes, the motor control system 40 can execute one step and the next step in parallel, or can execute each step in an order different from the above example. The motor control system 40 can omit a certain step and can execute processing different from the above example in a certain step.

[0134] By a method other than the above initial setting control, the motor control system 40 can also obtain an evaluation value indicating the rigidity degree of the frame mechanism 10. For example, the motor control system 40 can obtain the above evaluation value evaluated by other devices from the device, or can obtain the above evaluation value through a user input indicating the evaluation value. Different from the above example, the host controller 60 can also have a mode switching unit, and the mode switching unit 71 and the mode switching unit 81 switch the control mode according to the switching result of the mode switching unit of the host controller 60.

[0135] The motor control system 40 can also switch the control mode by a method different from the switching based on the evaluation value indicating the rigidity degree of the frame mechanism 10. For example, the motor control system 40 can also switch the control mode through a user input indicating the designation of the control mode. During the actual working stage of the rack drive system 1, the motor control system 40 can switch the control mode according to the operating state of the mechanical coupling portion 12 (for example, whether it is accelerating).

[0136] The individual control unit 84 of the control device 50B can obtain the calculation result of the compensation value by the individual control unit 74 of the control device 50A without calculating the compensation value of the propulsion command based on the inter-axis deviation Δy. The individual control unit 74 of the control device 50A can obtain the calculation result of the compensation value by the individual control unit 84 of the control device 50B without calculating the compensation value of the propulsion command based on the inter-axis deviation Δy. The control device 50A can be connected to the motor 30B, and the control device 50B can also be connected to the motor 30A. The control device 50A and the control device 50B can be the same type of control device, or can be configured to be able to achieve the same functions as each other. In this case, the control device connected to the motor 30A functions as the control device 50A, and the control device connected to the motor 30B functions as the control device 50B.

[0137] The motor control system 40 may also be provided with a single control device (control unit) having the functions of both the control device 50A and the control device 50B instead of the control device 50A and the control device 50B. In the motor control system 40 (control unit), different from the above example, the control device 50A, the control device 50B, and the host controller 60 may be integrally formed. A single program (control program) constituting the functional modules of the control device 50A, the control device 50B, and the host controller 60 may also be stored in a single storage medium.

[0138] [Effects of the Embodiment]

[0139] The drive system 20 described above includes: a motor 30A that drives the frame mechanism 10 (mechanical coupling portion 12) along the Y1 axis, a motor 30B that drives the frame mechanism 10 along the Y2 axis, and a motor control system 40 that controls the motors 30A and 30B. The motor control system 40 has mode switching units 71 and 81 that switch between an inter-axis compensation control mode and a separation control mode. The inter-axis compensation control mode is a mode in which the inter-axis deviation Δy is reduced between the Y1 axis and the Y2 axis and the position of the frame mechanism 10 on each axis is controlled independently, and the separation control mode is a mode in which the position of the frame mechanism 10 is controlled based on the detected positions of the frame mechanism 10 on the Y1 axis and the Y2 axis and the rotational state of the frame mechanism 10 is controlled. The motor control system 40 controls the motors 30A and 30B according to the mode switched by the mode switching units 71 and 81.

[0140] In the inter-axis compensation control mode and the separation control mode, for example, the magnitudes of the control gains during control and the degrees of suppression of the inter-axis deviation Δy are different from each other. The frame drive system 1 can perform control of the motors 30A and 30B in one of the two control modes. Therefore, each motor can be controlled in one control mode according to the characteristics of the frame mechanism 10. Since it is often possible to grasp the characteristics of the frame mechanism 10 by actually operating it, in the above configuration, it is possible to save the time for preparing a control system that can perform control corresponding to the characteristics of the frame mechanism 10 as the drive object. Therefore, it is useful for simplifying the setting operation.

[0141] The mode switching units 71 and 81 may also switch between the inter-axis compensation control mode and the separation control mode based on an evaluation value indicating the rigidity of the frame mechanism 10. There are cases where the allowable control gains differ depending on the mechanical characteristics of the frame mechanism 10. By switching the control mode based on the above evaluation value, it is possible to control the motor in a control mode corresponding to the mechanical characteristics of the frame mechanism 10. Therefore, it is useful for control stability.

[0142] The mode switching units 71 and 81 may also switch to the inter-axis compensation control mode when the above evaluation value exceeds a specified threshold, and switch to the separation control mode when the above evaluation value is lower than the threshold. In the separation control mode, the rotational torque commands are respectively reflected in the driving forces from the motors 30A and 30B to control the rotational state of the frame mechanism 10, so that the inter-axis deviation Δy can be further reduced. In the inter-axis compensation control mode, a compensation value is added to the command for position control and the driving force is output to the motors, so there is a tendency that the degree to which the inter-axis deviation Δy can be reduced is small. By comparing the above evaluation value with the threshold, the control of the motors 30A and 30B can be performed in a control mode suitable for the rigidity of the frame mechanism 10.

[0143] The motor control system 40 may further include: a test control unit 64 that performs initial setting control for controlling the motors 30A and 30B so that the detected position y1 on the Y1 axis and the detected position y2 on the Y2 axis follow the test target position; and a rigidity evaluation unit 66 that calculates the above evaluation value based on the inter-axis deviation Δy obtained during the execution of the initial setting control and the difference in the commands indicating the thrusts of the motors 30A and 30B when the inter-axis deviation Δy is obtained. For example, it may also be considered that in the preparation stage of the frame drive system 1, an operator or the like selects a control mode suitable for the actually used frame mechanism 10 based on trial and error or experience. At this time, the operator or the like needs to observe various state quantities in the frame mechanism 10 to make a judgment, which is laborious. In addition, in order to make an optimal judgment, the operator or the like needs experience. In the above configuration, the control mode can be automatically selected using the motor control system 40. Therefore, the labor of the operator or the like in the preparation stage can be reduced. In addition, even an operator with little experience can easily make an optimal selection. Therefore, it is more useful for simplifying the setting operation.

[0144] The motor control system 40 may also have a control device 50A connected to the motor 30A and a control device 50B connected to the motor 30B. The control device 50A and the control device 50B may also be communicably connected to each other. In the inter-axis compensation control mode, the control device 50A may generate an instruction for the motor 30A based on the detected position y1 on the Y1 axis, and the control device 50B may generate an instruction for the motor 30B based on the detected position y2 on the Y2 axis. In the inter-axis compensation control mode, at least one of the control device 50A and the control device 50B may also generate a compensation value for the instructions for the motor 30A and the motor 30B based on the inter-axis deviation Δy. In the separation control mode, the control device 50A may also generate instructions for the motor 30A and the motor 30B based on the detected position y1 on the Y1 axis and the detected position y2 on the Y2 axis, and the control device 50B may generate instructions for the motor 30A and the motor 30B based on the inter-axis deviation Δy. In this case, the frame mechanism 10 can be driven in either a control mode that performs position control for each of the Y1 axis and the Y2 axis, or a control mode that separates the control unit of the frame mechanism 10 into translation and rotation and performs position control and rotational position control. Therefore, the frame mechanism 10 can be driven in a control mode suitable for its characteristics according to the characteristics of the frame mechanism 10. Therefore, it is useful for the frame mechanism 10 to operate with high precision.

[0145] The control device 50A may also have: an independent control unit 74 that generates a torque command TcA for the motor 30A based on the detected position y1 on the Y1 axis and the inter-axis deviation Δy in the inter-axis compensation control mode; and a cooperative control unit 76 that generates a translational thrust command Trc for the motor 30A and the motor 30B based on the detected position y1 and the detected position y2 in the separation control mode. The control device 50B may also have: an independent control unit 84 that generates a torque command TcB for the motor 30B based on the detected position on the Y2 axis and the inter-axis deviation Δy in the inter-axis compensation control mode; and a cooperative control unit 86 that generates a rotational torque command Roc for the motor 30A and the motor 30B based on the inter-axis deviation Δy in the separation control mode. In this case, in each of the different control modes, position control of the frame mechanism 10 and control for suppressing the inter-axis deviation Δy can be performed.

[0146] The individual control unit 74 can also operate the motor 30A based on the torque command TcA. The cooperative control unit 76 can also output the translational thrust command Trc to the control device 50B and operate the motor 30A based on the translational thrust command Trc and the rotational torque command Roc obtained from the cooperative control unit 86. The individual control unit 84 can also operate the motor 30B based on the torque command TcB. The cooperative control unit 86 can also output the rotational torque command Roc to the control device 50A and operate the motor 30B based on the rotational torque command Roc and the translational thrust command Trc obtained from the cooperative control unit 76. At this time, in the inter-axis compensation control mode, after obtaining the detected positions from each motor, the control of the motors is independently executed on an axis-by-axis basis. In addition, in the separation control mode, the control of the motors is executed according to the commands generated by the control device 50A and the control device 50B in a shared manner. In the separation control mode, commands are transmitted and received between the control device 50A and the control device 50B. In contrast, in the inter-axis compensation control mode, commands are not transmitted and received, so the responsiveness is higher. Therefore, the control of the motors can be performed according to the responsiveness required by the frame mechanism 10.

[0147] The control device 50A and the control device 50B can also control the motor 30A and the motor 30B at a predetermined cycle so that the frame mechanism 10 approaches the target position and the inter-axis deviation Δy is reduced. The individual control unit 74 can also execute the generation of the torque command TcA and the operation of the motor 30A based on the torque command TcA at a predetermined cycle. The individual control unit 84 can also execute the generation of the torque command TcB and the operation of the motor 30B based on the torque command TcB at a predetermined cycle. In this case, since the command generation and the operation of the motor based on the command are executed in one cycle, high-responsive control can be achieved. Therefore, when it is desired to improve the responsiveness according to the characteristics of the frame mechanism 10, the control of the motors can be performed in a control mode suitable for the characteristics.

[0148] The control device 50A and the control device 50B can also control the motor 30A and the motor 30B at a predetermined cycle so that the frame mechanism 10 approaches the target position and the inter-axis deviation Δy is reduced. The cooperative control unit 76 can also execute the generation and output of the translational thrust command Trc and the operation of the motor 30A based on the translational thrust command Trc and the rotational torque command Roc generated in the previous cycle at a predetermined cycle. The cooperative control unit 86 can also execute the generation and output of the rotational torque command Roc and the operation of the motor 30B based on the translational thrust command Trc and the rotational torque command Roc generated in the previous cycle at a predetermined cycle. In this case, it is possible to share the generation of commands for translation and rotation for a pair of motors in different control devices.

[0149] The individual control unit 74 can also obtain a position command yt indicating the target position of the rack mechanism 10, and generate a torque command TcA to reduce the deviation between the detected position y1 of the Y1 axis and the position command yt, thereby reducing the inter-axis deviation Δy. The individual control unit 84 can also obtain the position command yt, and generate a torque command TcB to reduce the deviation between the detected position y2 of the Y2 axis and the position command yt, thereby reducing the inter-axis deviation Δy. In this case, in the inter-axis compensation control mode, by performing position control to make the rack mechanism 10 follow the target position, the occurrence of torsion between the Y1 axis and the Y2 axis can be suppressed.

[0150] The cooperative control unit 76 can also obtain a position command yt indicating the target position of the rack mechanism 10, and generate a translational thrust command Trc to reduce the deviation between the average value of the detected position y1 and the detected position y2 (position Yg) and the position command yt. The cooperative control unit 86 can also generate a torque command Roc to reduce the inter-axis deviation Δy. In this case, in the separation control mode, by making the rack mechanism 10 follow the target position and controlling the state of the rotation direction of the rack mechanism 10, the occurrence of torsion between the Y1 axis and the Y2 axis can be suppressed.

[0151] Symbol Explanation

[0152] 1…Rack drive system, 10…Rack mechanism, 20…Drive system, 30A, 30B…Motor, 40…Motor control system, 50A, 50B…Control device, 64…Test control unit, 66…Rigidity evaluation unit, 71, 81…Mode switching unit, 74, 84…Individual control unit, 76, 86…Cooperative control unit.

Claims

1. A frame drive system, comprising: A first motor that drives a driven object along a first axis; A second motor that drives the driven object along a second axis, the second axis being parallel to the first axis; And A motor control system that controls the first motor and the second motor, The motor control system has a mode switching unit that switches between a first control mode and a second control mode. The first control mode is a mode that reduces the axial position deviation between the first axis and the second axis and separately controls the position of the driven object on each axis. The axial position deviation is the deviation between the position of the driven object on the first axis and the position of the driven object on the second axis. The second control mode is a mode that controls the position of the driven object based on the detected positions of the driven object on the first axis and the second axis and controls the rotation state of the driven object. The motor control system controls the first motor and the second motor according to the mode switched by the mode switching unit. The mode switching unit switches between the first control mode and the second control mode based on an evaluation value indicating the rigidity degree of the driven object.

2. The frame drive system according to claim 1, wherein, The motor control system further has: A test control unit that performs initial setting control for controlling the first motor and the second motor so that the detected positions on the first axis and the second axis follow a test target position; And A rigidity evaluation unit that calculates the evaluation value based on the axial position deviation obtained during the execution of the initial setting control and the difference in commands indicating the thrust of each of the first motor and the second motor when obtaining the axial position deviation.

3. The frame drive system according to claim 1, wherein The motor control system has a first control device connected to the first motor and a second control device connected to the second motor. The first control device and the second control device are communicably connected to each other. In the first control mode, the first control device generates a command for the first motor based on the detected position on the first axis, and the second control device generates a command for the second motor based on the detected position on the second axis. In the first control mode, at least one of the first control device and the second control device generates a compensation value for the commands for the first motor and the second motor based on the axial position deviation. In the second control mode, the first control device generates commands for the first motor and the second motor based on the detected positions on the first axis and the second axis, and the second control device generates commands for the first motor and the second motor based on the axial position deviation.

4. The frame drive system according to claim 3, wherein The first control device has: A first independent control unit that generates a first command for the first motor based on the detected position on the first axis and the axial position deviation in the first control mode; And The first cooperative control unit generates a translational thrust command for the first motor and the second motor based on the detected positions on the first axis and the second axis in the second control mode. The second control device includes: A second independent control unit that generates a second command for the second motor based on the detected position on the second axis and the inter-axis position deviation in the first control mode; And A second cooperative control unit that generates a rotational torque command for the first motor and the second motor based on the inter-axis position deviation in the second control mode.

5. The frame drive system according to claim 4, wherein The first independent control unit operates the first motor based on the first command. The first cooperative control unit outputs the translational thrust command to the second control device and operates the first motor based on the translational thrust command and the rotational torque command obtained from the second cooperative control unit. The second independent control unit operates the second motor based on the second command. The second cooperative control unit outputs the rotational torque command to the first control device and operates the second motor based on the rotational torque command and the translational thrust command obtained from the first cooperative control unit.

6. The frame drive system according to claim 4, wherein The first independent control unit obtains a position command indicating the target position of the driven object and generates the first command so as to reduce the deviation between the detected position on the first axis and the position command and reduce the inter-axis position deviation. The second independent control unit obtains the position command and generates the second command so as to reduce the deviation between the detected position on the second axis and the position command and reduce the inter-axis position deviation.

7. The frame drive system according to claim 4, wherein The first cooperative control unit obtains a position command indicating the target position of the driven object and generates the translational thrust command so as to reduce the deviation between the average value of the detected positions on the first axis and the second axis and the position command. The second cooperative control unit generates the rotational torque command so as to reduce the inter-axis position deviation.

8. A motor control system, comprising: A control unit that controls a first motor and a second motor, the first motor driving a driven object along a first axis, the second motor driving the driven object along a second axis parallel to the first axis; And The mode switching unit switches between a first control mode and a second control mode. The first control mode is a mode of reducing the inter-axis position deviation between the first axis and the second axis and independently controlling the position of the driven object on each axis. The inter-axis position deviation is the deviation between the position of the driven object on the first axis and the position of the driven object on the second axis. The second control mode is a mode of controlling the position of the driven object based on the detected positions of the driven object on the first axis and the second axis, and controlling the rotation state of the driven object. The control unit controls the first motor and the second motor according to the mode switched by the mode switching unit. The mode switching unit switches between the first control mode and the second control mode based on an evaluation value indicating the rigidity of the driven object.

Citation Information

Patent Citations

  • Mobile position control system and stage device using the same

    JP2005332191A

  • Movable body position control device and stage device using the movable body position control device

    CN1950772A