CN107807553B - Control device, control method, and storage medium - Google Patents

Control device, control method, and storage medium Download PDF

Info

Publication number
CN107807553B
CN107807553B CN201710092433.8A CN201710092433A CN107807553B CN 107807553 B CN107807553 B CN 107807553B CN 201710092433 A CN201710092433 A CN 201710092433A CN 107807553 B CN107807553 B CN 107807553B
Authority
CN
China
Prior art keywords
control
moving member
speed
command value
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710092433.8A
Other languages
Chinese (zh)
Other versions
CN107807553A (en
Inventor
古贺达也
前场克美
原田庸弘
船岩清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Publication of CN107807553A publication Critical patent/CN107807553A/en
Application granted granted Critical
Publication of CN107807553B publication Critical patent/CN107807553B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors

Landscapes

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

Abstract

The invention provides a control device and a control program which can realize pressing control with low load pressing at high speed and high precision by adopting a common device structure. A control device changes a relative distance between an object and a moving member and controls a magnitude of a load applied from the moving member to the object. The control device includes: and a second control means for, when a preset first condition is satisfied, sequentially calculating the command value for the moving member based on a control arithmetic expression corresponding to the impedance control, instead of calculating the command value by the first control means.

Description

Control device, control method, and storage medium
Technical Field
The present invention relates to a control device and a control program for controlling an actuator.
Background
Conventionally, a control device and a control method for an actuator to which a load is applied have been proposed. As an example of an application of such an actuator to which a load is applied, there is a bonding (bonding) apparatus or the like that performs a process such as disposing a component on a substrate. In such a bonding apparatus, there is a need to press a component with a low load so as not to damage the component or the substrate when the component is disposed on the substrate.
In such a bonding operation, high-speed and high-precision position control is required, and therefore, a moving mechanism using a ball screw is generally used. In such a moving mechanism using a ball screw, since friction is relatively large due to rotation of the ball screw, it is difficult to perform adjustment within a range smaller than the magnitude of the friction. That is, adjusting the torque within a control range smaller than the torque required to drive the ball screw is limited in accuracy, and it is not easy to realize the pressing control with a low load.
Therefore, in order to realize the pressing control with a low load pressing, the following conventional techniques are proposed.
Japanese patent application laid-open publication No. 2011-096840 (patent document 1) discloses an electronic component mounting apparatus and the like for mounting an electronic component such as a very thin semiconductor chip at a low load at which cracking does not occur. Further, japanese patent application laid-open No. 2013-157529 (patent document 2) discloses a chip mounter and the like which can obtain an adhesive load from a low load to a high load or can mount the adhesive load at a high speed.
Patent document 1: japanese patent laid-open publication No. 2011-
Patent document 2: japanese patent laid-open publication No. 2013-157529
However, the above-described conventional techniques have the following problems. Japanese patent application laid-open publication No. 2011-096840 (patent document 1) proposes a structure using pressure such as fluid. Such a configuration is sufficient if only pressing is considered, but if the configuration of the apparatus with a large amount of movement is considered, it is not sufficient to realize high-speed and high-precision position control.
Further, in the structure disclosed in japanese patent application laid-open No. 2013-157529 (patent document 2), 2 shafts are required, and a linear motor is required as an actuator, which causes problems such as an increase in size and an increase in cost of the device. Further, in order to operate with a low load, a structure is adopted in which a spring is attached to a shaft, and in this structure, there is also a problem that stability of control is difficult to maintain due to a change over time of the spring.
Disclosure of Invention
The invention provides a control device and a control program, which can realize pressing control with low load pressing at high speed and high precision by adopting a common device structure.
According to an embodiment of the present invention, there is provided a control device that changes a relative distance between an object and a moving member and controls a magnitude of a load applied from the moving member to the object. The control device includes:
a first control unit for sequentially calculating command values for the moving member based on a pattern (pattern) for a speed or a position set in advance,
and a second control means for sequentially calculating a command value for the moving member based on a control arithmetic expression corresponding to the impedance control, instead of calculating the command value by the first control means, when a predetermined first condition is satisfied.
Preferably, the control operation formula corresponding to the impedance control includes a term proportional to a difference between a target value and an actual value of a dimension related to the command value.
Preferably, the control operation formula corresponding to the impedance control includes a term proportional to a difference between a target value and an actual value of a dimension obtained by integrating the command value.
Preferably, the first control means calculates the speed command value for the moving member in sequence based on the speed pattern, and the second control means calculates the current speed command value using the actual speed value based on the control arithmetic expression.
Preferably, the second control means controls a first period including a time point when the moving member comes into contact with the object, based on impedance control in which the first parameter group is set, and then controls a second period following the first period, based on impedance control in which a second parameter group different from the first parameter group is set.
Preferably, a target value for calculating a speed command value for the moving member is subtracted by a correction amount acquired in advance before the moving member comes into contact with the object.
Preferably, the second control means subtracts the correction amount from the target value for calculating the speed command value when a predetermined second condition is satisfied in the process of sequentially calculating the command value for the moving member based on the control arithmetic expression corresponding to the impedance control.
Preferably, the second condition includes a lapse of a predetermined time from the start of the impedance control by the second control unit.
Preferably, the second condition is determined in consideration of a peak value of a load generated after the moving member comes into contact with the object and a length of time required for a series of processes in which the moving member comes into contact with the object and applies the load.
According to an embodiment of the present invention, there is provided a control program for controlling a magnitude of a load applied from a moving member to an object while changing a relative distance between the object and the moving member. The control program causes the computer to execute: and a second control step of, when a preset first condition is satisfied, sequentially calculating the command value for the moving member based on a control arithmetic expression corresponding to the impedance control instead of calculating the command value by the first control means.
[ Effect of the invention ]
According to the embodiment of the present invention, the pressing control with the low-load pressing can be realized at high speed and with high accuracy by using the general apparatus configuration.
Drawings
Fig. 1 is a schematic diagram showing an example of an actuator used in the control method of the present embodiment.
Fig. 2 is a schematic diagram for explaining a change in force according to the collision speed generated in the press control.
Fig. 3 is a diagram for explaining a change in the frictional force shown in fig. 2.
Fig. 4 is a diagram showing an example of a time domain arithmetic expression used for impedance control used in the control method of the present embodiment.
Fig. 5 is a schematic diagram schematically showing the configuration of a control system including the control device of the present embodiment.
Fig. 6 is a schematic diagram schematically showing the configuration of an arithmetic processing unit of the control device shown in fig. 5.
Fig. 7 is a schematic diagram schematically showing an example of a control loop for implementing the control method of the present embodiment.
Fig. 8 is a schematic diagram of first control logic for explaining the control method of the present embodiment.
Fig. 9 is a flowchart of a first control logic of the control method of the present embodiment.
Fig. 10 is a timing chart showing an example of a control result of the first control logic according to the control method of the present embodiment.
Fig. 11 is a schematic diagram of a second control logic for explaining the control method of the present embodiment.
Fig. 12 is a diagram for explaining a phenomenon in which a peak of a load occurs due to contact between a moving member and an object.
Fig. 13 is a schematic diagram for explaining an outline of a third control logic of the control method of the present embodiment.
Fig. 14 is a flowchart of a third control logic of the control method of the present embodiment.
Fig. 15 is a timing chart showing an example of a control result of the third control logic according to the control method of the present embodiment.
Fig. 16 is a diagram showing an example of functional blocks for defining the execution of the control method according to the present embodiment on a user program.
Fig. 17 is a diagram showing an example of functional blocks for defining impedance control included in the control method of the present embodiment on a user program.
Fig. 18 is a schematic diagram showing another example of an actuator used in the control method of the present embodiment.
Wherein the reference numerals are as follows:
the system comprises a control system 1, a control system 2, a 22 actuator, a 4 shell, a 6 ball screw, an 8 nut, a 10 motor, a 12 counter, a 14 servo driver, a 16 load sensor, a 28 moving component, a 24 base material, a 30 object, a 100 control device, a 102 arithmetic processing unit, a 104 functional unit, a 110 processor, a 112 main memory, a 114 auxiliary memory device, a 116 user program, a 118 sequential control program, a 120 motion program, a 122 system program, a 124 bus master control circuit, a 126 local interface circuit, a 128 network master control circuit, 152, 156, 160, a 162 coefficient arithmetic unit, 154, 158, 164 plus-minus arithmetic unit, 166 first port, 168 differentiator, 170 second port and 180 switch.
Detailed Description
Embodiments of the present invention will be described in detail with reference to the accompanying drawings. Note that the same or corresponding portions in the drawings are denoted by the same reference numerals, and description thereof will not be repeated.
< A. Structure and problem of actuator >
First, the structure and the problem of the actuator according to the present embodiment will be described. The control method of the present embodiment changes the relative distance between the object and the moving member, and controls the magnitude of the load applied from the moving member to the object. As an example of such an actuator, a moving mechanism having a ball screw will be described below as an example.
(a1 construction example of actuator)
Fig. 1 is a schematic diagram showing an example of an actuator used in the control method of the present embodiment. Referring to fig. 1, the actuator 2 includes a ball screw 6 disposed in a central portion of the housing 4 so as to penetrate through an upper portion of the housing 4. A nut 8 as a moving member is screwed to the ball screw 6. The nut 8 is disposed inside the housing 4 in a state in which rotation is suppressed. A motor 10 is coupled to one end of the ball screw 6, and when the motor 10 is rotated, the ball screw 6 and the nut 8 are relatively rotated, and as a result, the nut 8 moves in the axial direction of the ball screw 6. By such a mechanism, the position of the nut 8 as the moving member can be controlled.
For example, the object is disposed in the moving direction of the nut 8 as the moving member. That is, the relative distance between the object and the moving member is changed by changing the position of the nut 8 by the rotation of the ball screw 6. Then, the nut 8 or a member not shown mechanically connected to the nut 8 comes into contact with the object, thereby applying a load to the object. In the control method of the present embodiment, the moving member (nut 8) is brought into contact with the object in proximity thereto, and controls the magnitude of the load applied to the object by the moving member after the contact.
The actuator shown in fig. 1 can be used for applications in which, for example, a component is disposed on a certain substrate.
(a 2: difficulty of pressing control with low load pressing)
Next, the difficulty of the pressing control with a low load pressing when the actuator 2 as shown in fig. 1 is used will be described. The press control generally includes: the control of the relative distance between the moving member of the actuator 2 and the object, and the control of the magnitude of the load applied to the object by the moving member of the actuator 2.
In the following description, when only the term "pressing" is used, it is also intended that the moving member applies a load to the object. The term "low load" is a concept including a case where a load applied to the object by the moving member of the actuator 2 is relatively small compared to the magnitude of a load (typically, torque) required to drive the actuator 2. However, the term "low load" should not be construed as limiting, but should be construed as a term summarizing a range in which the control of the magnitude of the load is difficult, as will be described later.
For example, as the high-load pressing control, a case is considered in which the torque required to drive the ball screw constituting the actuator 2 is 30Nm and the torque for pressing is 10 Nm. In this case, if a total torque of 40Nm is applied for pressing, pressing can be performed. At this time, since the torque for pressing is 1/4 of the total torque, the influence of the error generated in the total torque can be substantially ignored.
In contrast, as the low-load pressing control, a case where the torque required to drive the ball screw constituting the actuator 2 is 30Nm and the torque for pressing is 1Nm is considered. In this case, theoretically, if a total torque of 31Nm is applied for pressing, pressing can be performed. However, in reality, the magnitude of friction slightly changes due to the influence of position, interference, time variation, and the like, and the torque actually used to drive the ball screw changes in a range of about 27 to 33 Nm. Due to such an error in the total torque, the torque 1Nm required for the low-load pressing is buried.
(a 3: influence on load due to collision velocity)
Next, the influence on the load, which is generated according to the collision speed between the moving member and the object, will be described. The distance between the moving member and the object is closer than the original value due to an error in the size of the object or the moving member, and if Overshoot (Overshoot) occurs in the pressing control, the direction of the generated friction changes, and thus the pressing control may not be appropriately performed.
Fig. 2 is a schematic diagram for explaining a change in force according to the collision speed generated in the press control. Fig. 3 is a diagram for explaining a change in the frictional force shown in fig. 2. The reason why the pressing force (load) changes according to the collision speed will be described with reference to fig. 2 and 3.
In each of the examples shown in fig. 2(a) to (C), the force generated by the actuator 2 is 20N, assuming that the output torque is maintained at a value of 20% of the rated value. The friction force during standstill (standstill friction force) fluctuates to some extent depending on the situation.
Fig. 2(a) shows a case where the moving member collides with the object at a low speed. Referring to fig. 2 a, the force generated by the actuator 2 corresponds to the sum of a reaction force (i.e., pressing force (load)) from the object generated when the moving member collides with the object and friction generated by driving the ball screw to rotate. For example, when the collision speed of the moving member against the object is low and the pressing force applied to the object is 10N, the force generated by the actuator 2 is 20N and constant, and therefore a frictional force corresponding to 10N is generated.
Fig. 2(B) shows a case where the moving member collides with the object at a high speed. Referring to fig. 2B, when the collision speed of the moving member against the object is high and the pressing force applied to the object at the moment of collision is 50N, a frictional force (in the example shown in fig. 2B, — 10N) having the maximum magnitude on the negative side is generated, but the moving member is pushed back and moves in the direction opposite to the direction before the collision without being balanced with the force (20N) generated by the actuator 2.
As a result, while the moving member is pushed back after the collision, the pressing force applied to the object is reduced to 30N, and the balance is achieved by the frictional force having the largest magnitude on the negative side (in the example shown in fig. 2B, — 10N).
Fig. 2(C) shows a case where the moving member collides with the object at a medium speed. Referring to fig. 2(C), when the pressing force applied to the object is 25N, the force generated by the actuator 2 is 20N and constant, and therefore a frictional force corresponding to 5N is generated on the negative side.
As shown in fig. 2(a) to (C), the magnitude of the frictional force generated by the actuator 2 varies arbitrarily and nonlinearly (between the static friction and the kinetic friction) based on the magnitude of the impact force generated according to the collision speed between the moving member and the object. For example, in the model showing the magnitude of the frictional force generated in the actuator 2 shown in fig. 3, the static friction can take an arbitrary value in the range of-10N to 10N, and when the static friction exceeds the range, the moving member (nut 8) moves in the direction beyond the static friction.
< B. summary >
As described above, the pressing control with the low-load pressing is difficult, and high-speed and high-precision position control is required. In response to such a request, the control method according to the present embodiment employs speed command type impedance control or position command type impedance control.
The term "impedance control" in the present specification includes a control method for adjusting a corresponding position and speed according to mechanical impedance (damping characteristics, rigidity, inertia) of a control target. Specifically, a control arithmetic expression is used which includes, as factors, "damping term" corresponding to the damping characteristic, "elastic term" corresponding to the rigidity, and "mass term" corresponding to the inertia. However, it is not necessary to use a control operation expression including all the above-described terms, and at least the "mass term" and the "damping term" may be included.
Fig. 4 is a diagram showing an example of a time domain arithmetic expression used for impedance control used in the control method of the present embodiment. In FIGS. 4(A) to (C), xnIs a variable showing the position at time n, and the point (. circle.) above the variable shows the time differential. The upper part of the variable has 2 points (. cndot. -) representing 2 differentials of time.
Fig. 4(a) to (C) show control arithmetic expressions for sequentially calculating a speed command value at time n (speed command type). That is, the velocity command value at time n is calculated as a value obtained by adding the time integral with the acceleration at each time to the velocity command value at the previous time (time n-1). As shown in equation 3 in fig. 4(a) to (C), the acceleration includes at least a part of the mass term, the damping term, the elastic term, and the mass term (load). In the case of sequentially calculating the position command value at time n (position command type), the control arithmetic expressions shown in fig. 4(a) to (C) may be integrated with time. Since calculating the position command value based on the velocity command value is a well-known technique, it will not be described in detail here.
The meanings of the variables in the formulae in FIGS. 4(A) to (C) are as follows.
xn(. o): speed command value
xn-1(. o): actual value of velocity
xd(. o): speed target value (this time target value)
md: coefficient of mass
Cd: damping coefficient
Kd: coefficient of elasticity
xd: position target value (target value this time)
xn-1: actual value of position
Fd: load target value
Fext: actual value of load
Δ t: operation period (sampling time)
In the control arithmetic expression shown in fig. 4(a), the mass coefficient m is used as the mass termdReciprocal of (d), mass coefficient mdThe reciprocal of (d) is multiplied by the damping term, the elastic term, and the mass term (load). Mass coefficient mdIs a coefficient that establishes a relationship with the mass of the moving member.
As the damping term, the difference between the current speed target value and the previous speed actual value (at the time n-1) is multiplied by a damping coefficient CdThe value obtained. In this way, the control operation formula corresponding to the impedance control includes a term proportional to a difference between the target value and the actual value with respect to the dimension of the command value (speed in the example shown in fig. 4).
As the elastic item, the position item of this time is adoptedThe difference between the scalar value and the actual value of the position of the previous time (time n-1) is multiplied by the elastic coefficient KdThe value obtained. A term proportional to the difference between the target value and the actual value with respect to the dimension (position in the example shown in fig. 4) after integrating the instruction value is included.
As the mass term (load), a value obtained by multiplying a difference between a target value of a load to be generated by the actuator and an actual value of the load to be actually generated by-1 is used. To obtain the actual value of the load FextTypically, a measurement value measured by a load sensor 16 described later is used.
The control arithmetic expression shown in fig. 4(B) corresponds to the arithmetic expression obtained by removing the mass term (load) in fig. 4(a), and the simplified control arithmetic expression can be used when the load applied from the actuator to the object cannot be fed back.
The control arithmetic expression shown in fig. 4(C) corresponds to the arithmetic expression excluding the elastic term in fig. 4(B), and can be used when the disturbance or the like due to the rigidity of the actuator or the moving member can be ignored.
In the control arithmetic expressions shown in FIGS. 4(A) to (C), the mass coefficient mdDamping coefficient CdCoefficient of elasticity KdThe values specific to the actuators in the respective items and the like are preset according to the control system.
In the control method of the present embodiment, the impedance control as described above is adopted. By adopting such impedance control, even in an actuator such as a ball screw driven by a servomotor instead of a linear motor, the pressing control can be performed at high speed and with high accuracy. Therefore, unlike the structure disclosed in patent document 2, it is possible to realize a structure in which an increase in size and cost of the device is avoided, and elements such as a spring that deteriorates stability of control due to a change over time are not required.
< C. Structure of control System >
Next, the configuration of a control system including a control device for implementing the control method of the present embodiment will be described. Fig. 5 is a schematic diagram schematically showing the configuration of a control system 1 including a control device according to the present embodiment.
Referring to fig. 5, the control system 1 includes a control device 100 that mainly controls the actuator 2. The control device 100 may be implemented using any computer, hardware logic, or the like, but in the following description, a case of using a PLC (programmable logic controller) as an example of an industrial computer will be typically described.
The control device 100 includes an arithmetic processing unit 102, and 1 or more functional units 104-1, 104-2, 104-3, 104-4, … (hereinafter collectively referred to as "functional unit 104").
Fig. 6 is a schematic diagram schematically showing the configuration of the arithmetic processing unit 102 of the control device 100 shown in fig. 5. Referring to fig. 6, in the arithmetic processing unit 102, the processor 110 executes a system program 122 and a user program 116 to provide various processes including the control method of the present embodiment.
Specifically, the arithmetic processing unit 102 includes, as major components, a processor 110, a main memory 112, a secondary storage device 114, a bus master circuit 124, a local interface circuit 126, and a network master circuit 128.
The processor 110 is an arithmetic Unit that sequentially executes commands described in various programs, and typically includes a CPU (Central Processing Unit), a GPU (graphic Processing Unit), and the like. The processor 110 may have any one of a multi-core configuration, a multi-processor configuration, and a configuration having both of them.
The main memory 112 is a storage device that provides a work area when the processor 110 executes a program. As the main Memory 112, a volatile Memory such as a DRAM (Dynamic Random Access Memory) or an SRAM (Static Random Access Memory) is used.
The secondary storage device 114 holds various programs and various configurations (configurations) executed by the processor 110. As the auxiliary storage device 114, a nonvolatile memory such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive) is used. More specifically, secondary storage 114 stores system programs 122 as well as user programs 116. The system program 122 is a program corresponding to an operating system, and provides basic system functions provided by the arithmetic processing unit 102 or an environment for causing the user program 116 to execute. The user program 116 is a control program arbitrarily created according to a control target of the control device 100, and typically includes a sequence program 118 mainly for logical operations, and a Motion program (Motion program)120 mainly for numerical operations such as position control and speed control. The control method of the present embodiment may be installed as part of the sport program 120.
The bus master circuit 124 manages data transfer on an internal bus that exchanges data with the functional unit 104 (refer to fig. 5).
The local interface circuit 126 is an interface for exchanging data with a support device or other external devices, and for example, adopts a transmission standard such as USB (Universal Serial Bus).
The network master circuit 128 manages data transfer on a field network that exchanges data with a functional unit, which is disposed at a location remote from the control device 100, and other control devices. As such a field network, a fixed-cycle network such as EtherCAT (registered trademark), EtherNet/IP (registered trademark), DeviceNet (registered trademark), and compnet (registered trademark) is used.
Referring again to fig. 5, the function section 104 connected to the arithmetic processing section 102 provides various functions for realizing arbitrary control of the control object by the control device 100. Typically, each functional unit 104 has a function (data collection function) of collecting field information from a machine, a device, or the like to be controlled, and/or a function (data output function) of outputting a command signal to a machine, a device, or the like to be controlled.
In the configuration shown in fig. 5, the functional unit 104-4 functions as a servo control unit, and by executing a program (mainly, the motion program 120 shown in fig. 6) in the arithmetic processing unit 102, the calculated command value (typically, a velocity command value or a position command value) is supplied to the servo driver 14 at every predetermined cycle.
The servo driver 14 drives the motor 10 (in the example shown in fig. 5, the servo motor) in accordance with a command value from the control device 100. Typically, the servo driver 14 outputs a number of pulses corresponding to a command value from the control device 100 to the motor 10, and the motor 10 changes the rotational position according to the number of received pulses. With such a configuration, the rotational position, the rotational angular velocity, the rotational angular acceleration, and the like of the motor 10 can be controlled by appropriately adjusting the number of pulses supplied to the motor 10.
In the configuration shown in fig. 5, a counter 12 for feeding back the rotational behavior of the motor 10 is disposed, and a servo driver 14 adjusts an electric signal supplied to the motor 10 based on a detection value from the counter 12. That is, the servo driver 14 has a feedback loop based on the actual value of the velocity or position.
Further, a load sensor 16 for measuring a load generated on the object by the pressing control may be provided. The detection value of the load sensor 16 is supplied to the function unit 104-3 as an input unit. Further, the load sensor 16 may be said to be used for verification, which is an option. In reality, instead of disposing the load sensor 16, a load that can be generated on the object may be estimated by using an observer (observer) or the like.
< D. control Ring >
Next, an example of a control loop for implementing the control method according to the present embodiment will be described. Fig. 7 is a schematic diagram schematically showing an example of a control loop for implementing the control method of the present embodiment. Fig. 7 shows a control loop corresponding to the control arithmetic expression shown in fig. 4 (B).
Referring to fig. 7, the control method according to the present embodiment is realized by a control loop, a servo driver 14, and a peripheral portion installed in the control device 100. Specifically, the control loop of the control device 100 includes coefficient operators 152, 156, 160, and 162, addition and subtraction operators 154, 158, and 164, a differentiator 168, and a switch 180.
As described later, the control method of the present embodiment is realized by combining impedance control and control methods other than impedance control. A switch 180 is provided for switching the outputs of two or more control systems. A speed command value for impedance control appears at the first port 166 selectable by the switch 180 and a speed command value for speed control appears at the second port 170.
The differentiator 168 performs time differentiation on the input position target value, and outputs a speed target value.
Sequentially supplying the position target value x to the coefficient operator 152dAnd change its size to kd/ddAnd (4) outputting the double. In the addition/subtraction arithmetic unit 154, the position target value x after the coefficient correction output from the coefficient arithmetic unit 152dThe velocity target value from the differentiator 168 is added and the position actual value is subtracted.
The operation result from the addition and subtraction operator 154 is sequentially supplied to the coefficient operator 156, and the magnitude thereof is changed to cdAnd (4) outputting the double. The addition/subtraction unit 158 adds the velocity actual value to the coefficient-corrected operation result output from the coefficient operation unit 156.
The operation result from the addition and subtraction operator 158 is sequentially supplied to the coefficient operator 160, and the magnitude thereof is changed to md -1And (4) outputting the double. Further, the operation result from the coefficient operator 160 is sequentially supplied to the coefficient operator 162, and is multiplied by the operation period Δ t to be output.
Finally, the addition/subtraction operator 164 adds the operation result from the coefficient operator 162 to the speed actual value (previous value) and outputs the result to the first port 166 as a speed command value.
On the other hand, a velocity target value obtained by time-differentiating the input position target value by the differentiator 168 is output to the second port 170.
Further, the coefficient m shown in FIG. 7d、kd、dd、cdIntroduced for the convenience of control calculation, and the mass coefficient m shown in FIG. 4dCoefficient of elasticity KdDamping coefficient CdAnd (7) corresponding.
In the case where the term of the load actual value (mass term (load)) shown in fig. 4 a is to be reflected, an arithmetic unit reflecting the load actual value detected by the load sensor 16 may be added. Alternatively, in reality, instead of disposing the load sensor 16, a load that can be generated on the object may be estimated by using an observer or the like
On the other hand, the speed command value selected by the switch 180 is supplied to the servo driver 14, and the servo driver 14 outputs an electric signal for driving the motor 10. The actual speed value based on the detection value at the counter 12 is fed back to the servo driver 14 to drive the motor 10 so as to follow the supplied speed command value.
Although the speed command value is fed back to the control loop relating to the impedance control, the servo driver 14 also forms a feedback loop of the speed (or position) of the motor 10, so that the fluctuation of friction generated in the actuator can be compensated at a higher speed, and the pressing control with a low load pressing can be realized with higher accuracy.
Although fig. 7 shows a speed command type control loop, the same applies to a position command type control loop.
First control logic >
In the control method of the present embodiment, the load can be controlled with high accuracy by adopting the impedance control as described above. In the impedance control, the load can be adjusted with high accuracy because the actuator 2 is controlled in consideration of the mechanical characteristics (for example, impedance) of the control target, but it takes much time to approach the target as compared with the conventional control method.
Therefore, in the first control logic of the control method according to the present embodiment, the moving member is brought close to the object by a speed control method or a position control method other than the impedance control, and then switched to the impedance control.
Fig. 8 is a schematic diagram of first control logic for explaining the control method of the present embodiment. The horizontal axis defines the elapsed time, and the vertical axis defines the position of the moving member and the generated load.
In the example shown in fig. 8, a command value is given to the motor 10 in accordance with a speed pattern, which is a speed target value set in advance (the "speed control" shown in fig. 8). When the moving member approaches the object (in the example shown in fig. 8, when time a is reached), the impedance control is switched.
In the first speed control, the speed pattern is directly provided as a speed command value in order to make the moving member approach the object as short as possible. As such a speed pattern, a speed pattern in which residual vibration does not occur during or after control of speed control when switching to impedance control is preferable. For example, a velocity pattern of a trajectory (which can be defined by a 5-degree function with respect to time, for example) such that jerk (the rate of change of acceleration per unit time) (jerk) of the velocity pattern of the target becomes small may be employed.
Instead of the speed control, control (position control) for providing a preset trajectory, that is, a position pattern may be employed. In this case, the position where the moving member should exist is sequentially provided for each time, and the motor 10 is driven based on the position target value.
When switching to the impedance control after such speed control or position control, the speed command value output to the motor 10 is sequentially calculated in order to bring the moving member into contact with the object at zero speed. Each parameter of the impedance control is adjusted so that the moving speed of the moving member is almost zero at the timing when the moving member comes into contact with the object.
The load applied to the object is generated by bringing the moving member into contact with the object (see reference numeral Z1 in fig. 8). In the example shown in fig. 8, it is understood that the speed of the moving member after contact with the object is maintained at almost zero, and the expected constant load is maintained.
As described above, in the first control logic of the control method according to the present embodiment, the first control loop in which the command value (speed command value or position command value) for the moving member is sequentially calculated based on the pattern for the preset speed or position and the second control loop in which the command value (speed command value or position command value) for the moving member is sequentially calculated based on the control arithmetic expression corresponding to the impedance control instead of the command value calculated by the first control means when the preset switching condition is satisfied are combined. By employing such control logic, the speed control or the position control is performed before the impedance control, so that the time until the moving member approaches the object can be shortened, and by switching to the impedance control before the contact between the moving member and the object, the load applied from the moving member to the object can be maintained constant.
In the example shown in fig. 8, the speed command value for the moving member is sequentially calculated based on the pattern (speed target value) for the speed in the first control loop, and the current speed command value is calculated using the speed actual value based on the control arithmetic expression for the impedance control in the second control loop.
The switching condition from the speed control or the position control to the impedance control (time a in fig. 8) may be performed in accordance with the end of a preset speed pattern or position pattern, that is, the arrival of a preset time from the start of the control. That is, the timing of switching between the speed control, the position control, and the impedance control is set according to time. Alternatively, the position of the moving member may be estimated from a speed command or the like, and the switching timing may be determined based on the remaining distance calculated from the estimated position.
Fig. 9 is a flowchart of a first control logic of the control method of the present embodiment. The steps shown in fig. 9 are typically realized by the processor 110 of the arithmetic processing unit 102 of the control device 100 executing a user program 116.
Referring to fig. 9, the processor 110 prepares for parameters and the like necessary for reading speed control (or position control) and impedance control (step S100). When the control start is triggered (yes in step S102), a speed command value is calculated from a preset target speed pattern (step S104). The calculated velocity command value is supplied to the servo driver 14.
Next, the processor 110 determines whether or not a switching condition from the speed control to the impedance control is satisfied (step S106). If the switching condition from the speed control to the impedance control is not satisfied (no in step S106), the processing from step S104 onward is repeated.
If the switching condition from the speed control to the impedance control is established (yes in step S106), the processor 110 calculates a speed command value based on the control arithmetic expression relating to the impedance control (step S108). The calculated velocity command value is supplied to the servo driver 14.
Next, the processor 110 determines whether or not the control end condition is satisfied (step S110). If the speed end condition is not satisfied (no in step S110), the processing from step S108 onward is repeated.
On the other hand, if the speed end condition is satisfied (yes in step S110), the series of control operations is ended.
Fig. 10 is a timing chart showing an example of a control result of the first control logic according to the control method of the present embodiment. Fig. 10 shows an example in which the moving member is brought into contact with the object at a moving speed of 1.1mm/s, and after the contact, a load of 15gf is applied to the object at 15 ms. Referring to fig. 10, after the moving member and the object are brought into contact, the generated load increases almost linearly, excessive overshoot does not occur, and the load is stabilized at the target 15 gf.
As described above, according to the control logic 1 of the present embodiment, the pressing control can be performed at high speed and with high accuracy.
Second control logic >
In the first control logic, the configuration of switching from the speed control or the position control to the impedance control is exemplified, but the impedance control may be further subdivided.
More specifically, as a physical phenomenon to be a target of impedance control, there are a situation in which the moving member comes into contact with the object and a situation in which a stable load is applied to the object. Therefore, the parameters used for the impedance control can be made different for the period from immediately before the moving member comes into contact with the object to immediately after the moving member comes into contact with the object and for the period after the moving member comes into contact with the object.
Fig. 11 is a schematic diagram of a second control logic for explaining the control method of the present embodiment. The horizontal axis defines the elapsed time, and the vertical axis defines the position of the moving member and the generated load.
In the example shown in fig. 11, a command value is given to the motor 10 in accordance with a speed pattern, which is a speed target value set in advance (the "speed control" shown in fig. 11). When the moving member approaches the object (in the example shown in fig. 11, when time a is reached), the impedance control 1 is switched. In the impedance control 1, parameters are set so that the moving member comes into contact with the object at almost zero speed.
After that, when the moving member comes into contact with the object and the load applied to the object increases (at time B in the example shown in fig. 11), the impedance control 1 is switched to the impedance control 2. In the impedance control 2, a parameter is set such that a change in the magnitude of the load applied to the object converges early and a load of a stable magnitude is generated.
As a specific mounting method, a coefficient m corresponding to the impedance controls 1 and 2 is prepared in advanced、kd、dd、cdIn the control loop shown in fig. 7, the Parameter set (Parameter set) is switched when switching from the impedance control 1 to the impedance control 2.
In the second control logic, a first period (time points a to B in fig. 11) including a time point when the moving member comes into contact with the object is controlled based on the impedance control (impedance control 1) in which the first parameter group is set, and then a second period (time point B and thereafter in fig. 11) immediately following the first period is controlled based on the impedance control in which a second parameter group different from the first parameter group is set.
As described above, the control accuracy of the pressing control can be further improved by varying the parameters used for the impedance control according to the situation of the control target. As described above, according to the second control logic of the present embodiment, the pressing control can be further speeded up and the accuracy can be further improved as compared with the first control logic described above.
< G. third control logic >
Next, a control logic including a peak (overshoot) method for reducing a load generated when the moving member and the object are in contact with each other will be described.
According to the above-described pressing control, the parameters of the impedance control are optimized, thereby achieving high speed and high accuracy. However, depending on the device structure, a peak of the load (overshoot) may occur immediately after the moving member comes into contact with the object. For example, in the case where the tip of the moving member is made of rubber or the like, the peak of the load is not so high, but in the case where the tip of the moving member is made of metal, a large peak of the load may occur. When the peak value of the load is large, the object may be damaged.
Fig. 12 is a diagram for explaining a phenomenon in which a peak of a load occurs due to contact between a moving member and an object. Referring to fig. 12(a), the reason why the peak of the load is generated due to the contact between the moving member and the object is that the speed of the moving member at the time of contact is relatively large. That is, when the moving member comes into contact with the object at a certain speed, a peak of the load occurs. When such a cause is considered, as shown in fig. 12(B), if the speed when the moving member and the object are brought into contact is almost zero, a peak of the load does not occur.
However, in reality, it is not easy to adjust the parameters so that the speed when the moving member and the object are in contact is almost zero. In particular, in the present embodiment, since the impedance control is adopted, it is necessary to adjust a plurality of parameters (mass coefficient m shown in fig. 4) at the same timedDamping coefficient CdCoefficient of elasticity KdThe coefficient m shown in FIG. 7d、kd、dd、cd) This requires a large number of man-hours for adjustment work.
Further, it is not preferable that the speed at the time of contact between the moving member and the object is set to zero, which significantly increases the time required to perform the entire control (tactime).
Therefore, a method is adopted in which the number of adjustment steps of the parameters related to the impedance control is optimized, and an increase in the tact time of the entire control can be suppressed. Specifically, when a peak of a load occurs in impedance control based on a certain parameter, the moving speed at the time of contact between the moving member and the object is determined based on the actual behavior, and the determined moving speed is corrected in advance. That is, the target value for calculating the speed command value for the moving member is subtracted by the previously acquired moving speed (corresponding to the correction amount) before the moving member comes into contact with the object. The preliminary speed correction may be performed in the impedance control, or may be performed in the speed control or the position control performed before switching to the impedance control.
Fig. 13 is a schematic diagram for explaining an outline of a third control logic of the control method of the present embodiment. As shown in fig. 13(a), it is assumed that a load peak occurs in the impedance control based on a certain parameter. By acquiring such behavior in an undesirable state, the moving speed of the moving member when it contacts the object can be acquired. In the example shown in fig. 13 a, the speed of the moving member at the time of contact (the time point when the load starts to be generated) is X.
Referring to fig. 13B, the trajectory of the moving member when approaching the object is corrected based on the knowledge obtained in fig. 13 a (the speed of the moving member when in contact is X). That is, in the impedance control (or its previous speed control or position control), the speed target value is decreased by the correction amount X acquired in the previous knowledge. The speed target value is a value used for calculating a speed command value of the moving member as a reference, which is decreased by a correction amount X acquired in advance.
When the impedance control performs a speed correction in advance, a target value for calculating a speed command value is corrected in a control loop based on the impedance control. In this case, since the speed command value smoothly follows the target value after correction, even when the correction amount is relatively large, residual vibration is less likely to occur in the moving member, and the possibility of an unexpectedly large force due to the residual vibration occurring when the moving member comes into contact with the object is reduced.
On the other hand, when the speed control or the position control performs the speed correction in advance, the speed command value follows the corrected target value with little delay. In this case, since the degree of dependence between the parameter relating to the speed control or the position control including the correction of the target value and the parameter relating to the impedance control can be reduced, the number of steps for adjusting the parameter can be further reduced.
The speed switching time Tc, which is the timing for decreasing the target speed value by the correction amount X, is an adjustable parameter.
As a specific mounting method, in the control loop shown in fig. 7, a subtractor may be disposed on the output side of the differentiator 168, and the correction amount X may be subtracted from the speed target value output from the differentiator 168. If this type of mounting is adopted, the timing of subtracting the correction amount X can be arbitrarily set to either one of the speed switching timing Tc and the switching timing of the impedance control and the control method (speed control or position control) other than the impedance control.
Setting the speed switching time Tc late is advantageous for shortening the tact time, but is disadvantageous for suppressing the peak of the load. Conversely, if the speed switching time Tc is set to be early, it is advantageous to suppress the peak of the load, but it is disadvantageous to shorten the tact time. The speed switching time Tc is adjusted so as to satisfy two mutually opposite purposes of suppressing the load peak and shortening the tact time.
However, since only one parameter, the speed switching time Tc, needs to be adjusted, parameter adjustment can be completed with reasonable man-hours without causing a significant increase in man-hours involved in parameter adjustment.
In the third control logic, when a predetermined condition is satisfied (for example, when the speed switching time Tc arrives) in the process of sequentially calculating the speed command value for the moving member based on the control arithmetic expression corresponding to the impedance control, the correction amount X acquired in advance is subtracted from the target value (in this example, the speed target value). By adopting such a configuration, adjustment of one parameter, which is a condition (for example, the speed switching time Tc) for subtracting the correction amount X from the target value, can be realized with less man-hours, and adjustment for suppressing a peak of the load and suppressing an increase in the tact time can be realized.
As an example of the condition for subtracting the correction amount X from the target value, a condition that a predetermined time (speed switching time Tc) has elapsed from the start of the impedance control may be adopted. Next, several methods for determining the speed switching time Tc, which is an example of a condition for subtracting the correction amount X from the target value, will be described.
(1) Method for using evaluation function with respect to load peak and tact time
The speed switching time Tc can be optimized by using the evaluation function with respect to the load peak value and the tact time. For example, the following evaluation value f may be defined, and a condition for acquiring a minimum value of the evaluation value f may be searched for.
The evaluation value f is a weighting factor 1 × extension of the tact time + a weighting factor 2 × size of the load peak
By using such an evaluation value f, the speed switching time Tc can be determined in consideration of both the load peak and the tact time.
(2) Method for using evaluation function with respect to tact time
In the case where the extension amount of the tact time is minimized within a range where the load peak value satisfies the preset allowable value, the following evaluation value f may be used.
Evaluation value f is a weighting factor 1 × extension amount of tact time
Wherein the load peak value < allowable value
By using such an evaluation value f, the speed switching time Tc that can minimize the tact time can be determined within a range in which the load peak value is maintained within the allowable value.
(3) Method for searching optimum value
As a method of searching for the optimal value of the evaluation value f as described above, a method of solving the problem mathematically may be used, but a plurality of candidates may be set in advance, and the optimal candidate may be determined among the plurality of candidates.
For example, the candidate points may be set by dividing a period (for example, a period from time a to time B in fig. 11) in which the impedance control is executed by N, the evaluation value f may be calculated sequentially from the candidate points close to time a, and the speed switching time Tc may be determined based on the calculated evaluation value f.
Alternatively, a section (for example, a section from time a to time B in fig. 11) in which the impedance control is executed is divided by N to set candidate points, and the intermediate point of the set candidate points is set as an initial value, and when the load peak value is too high, a candidate point closer to time a is selected, whereas when the load peak value is equal to or less than an allowable value, a candidate point closer to time B is selected.
Typically, according to any one of the above methods, a candidate point that is the most optimal value among a plurality of candidate points may be searched. In this way, the condition for subtracting the correction amount from the target value can be determined in consideration of the peak value of the load generated immediately after the moving member comes into contact with the object and the length of time (tact time) required for a series of processes in which the moving member comes into contact with the object and applies the load.
In the above description, the case where the speed switching time Tc is used as a parameter has been exemplified, but the target speed value may be decreased by the correction amount X according to the condition of the position and/or speed of the moving member. That is, for example, when the position of the moving member reaches a predetermined speed switching position and/or the moving speed of the moving member reaches a predetermined speed switching speed, the speed target value in the impedance control may be decreased by the correction amount X.
Fig. 14 is a flowchart of a third control logic of the control method of the present embodiment. The steps shown in fig. 14 are typically realized by the processor 110 of the arithmetic processing unit 102 of the control device 100 executing a user program 116.
Referring to fig. 14, the processor 110 prepares for parameters and the like necessary for reading speed control (or position control) and impedance control (step S200). When the control start is triggered (yes in step S202), a speed command value is calculated from a preset target speed pattern (step S204). The calculated velocity command value is supplied to the servo driver 14.
Next, the processor 110 determines whether or not a switching condition from the speed control to the impedance control is satisfied (step S206). If the switching condition from the speed control to the impedance control is not satisfied (no in step S206), the processing from step S204 onward is repeated.
If the switching condition from the speed control to the impedance control is established (yes in step S206), the processor 110 calculates a speed command value based on the control arithmetic expression relating to the impedance control (step S208). The calculated velocity command value is supplied to the servo driver 14.
Next, the processor 110 determines whether the speed switching condition is satisfied (step S210). The speed switching condition includes the speed switching time Tc as described above. If the speed switching condition is not satisfied (no in step S210), the processing from step S208 onward is repeated.
On the other hand, if the speed switching condition is established (yes in step S210), the processor 110 decreases the speed target value in the impedance control by the correction amount X (step S212). Then, the processor 110 continues to calculate the speed command value so as to continue with the reduced speed target value, based on the control arithmetic expression relating to the impedance control (step S214).
Next, the processor 110 determines whether or not the control end condition is satisfied (step S216). If the control end condition is not satisfied (no in step S216), the processing from step S214 onward is repeated.
On the other hand, if the control end condition is satisfied (yes in step S216), the series of control operations is ended.
Fig. 15 is a timing chart showing an example of a control result of the third control logic in the control method according to the present embodiment. Fig. 15(a) shows an example of a measurement result in a control method combining speed control and impedance control, and fig. 15(B) shows an example of a measurement result in a control method in which a speed target value is corrected at a predetermined timing in impedance control in addition to the control method shown in fig. 15 (a).
Fig. 15 shows an example in which the moving member is brought into contact with the object and a load of 100gf is applied to the object after the contact.
In the measurement results shown in fig. 15(a), the peak value of the load was 195gf, and an overload of 95gf was generated with respect to 100gf of the set load. However, it is found that the back jump (bound) does not occur (an insufficient load after a load peak occurs), and the setting is appropriate in this sense. On the other hand, in the measurement result shown in fig. 15(B), the peak value of the load was decreased to 135gf, and the generation of an overload of 35gf was suppressed with respect to 100gf of the set load. It is also understood that no rebound (insufficient load after load peak) occurs, and this is a more preferable setting than the measurement result shown in fig. 15 a.
< H mounting example >
Next, a configuration example of a case where the control method according to the present embodiment is installed in the user program 116 will be described.
Fig. 16 is a diagram showing an example of functional blocks for defining the execution of the control method according to the present embodiment on a user program. Fig. 17 is a diagram showing an example of functional blocks for defining impedance control included in the control method according to the present embodiment on a user program. The control method of the present embodiment is installed in a program by combining the functional blocks shown in fig. 16 and the functional blocks shown in fig. 17.
The function block shown in fig. 16 assumes that the input port of "priority" is associated with a variable for storing a speed command value in an existing control loop, and the input port of "priority" is associated with an output port of "priority" after storing the variable of the speed command value corrected by the present control method.
The functional block shown in fig. 17 sets parameters and the like for impedance control applied to the speed command value input to the functional block shown in fig. 16. Target values and required parameters are set for the input ports of the functional blocks.
By using the functional blocks shown in fig. 16 and 17, the user can use the objective control in the user program without understanding the specific algorithm of the control method, and the application range of the control method can be expanded.
< I application example >
In the above description, the application example of the control method according to the embodiment to the actuator in which the moving member moves in the extending direction of the ball screw has been described as an example, but the present invention is not limited to this, and can be applied to an actuator in which the distance between members and the pressing force (load) are controlled.
Fig. 18 is a schematic diagram showing another example of an actuator used in the control method of the present embodiment. Referring to fig. 18, the actuator 22 includes a moving member 28 configured to be rotationally driven relative to the substrate 24. The moving member 28 is driven to rotate by a motor or the like, not shown, to change the relative distance to the object 30, and a load is applied from the moving member 28 to the object 30.
The moving member 28 is configured as a guide rail or the like for supplying a certain member, and thus can be applied to applications such as supplying a raw material. Alternatively, a probe or the like may be disposed at the distal end of the moving member 28, and used as an inspection apparatus or the like for inspecting the object 30.
Alternatively, a polishing member or the like may be disposed at the distal end of the moving member 28, and the polishing device may be used to polish the surface of the object 30 to be rotated and driven.
As described above, the control method according to the present embodiment can be applied not only to a configuration including a moving member that performs a linear motion as shown in fig. 1, but also to a configuration including a moving member that performs a rotational motion as shown in fig. 18 or a moving member that also shows any other behavior.
< J. advantage >
According to the present embodiment, by combining impedance control and speed control or position control other than impedance control, high-speed and high-precision pressing control can be realized.
Further, according to the present embodiment, the parameter sets used for the impedance control are separately prepared in the sections before and after the moving member comes into contact with the object and in the sections after the moving member comes into contact with the object, and thus the impedance control suitable for each situation can be realized.
Further, according to the present embodiment, in the impedance control, when a certain condition is satisfied, the peak of the load generated when the moving member comes into contact with the object can be reduced by correcting the target value by the correction amount based on the knowledge acquired in advance, and the parameter for reducing the peak of the load can be easily adjusted. Further, it is possible to simultaneously achieve reduction of the peak value of the load and optimization of the tact time.
It should be understood that the embodiments disclosed herein are illustrative and not restrictive in all respects. The scope of the present invention is defined not by the above description but by the claims, and includes all modifications within the meaning and scope equivalent to the claims.

Claims (10)

1. A control device that changes a relative distance between an object and a moving member and controls a magnitude of a load applied from the moving member to the object, the control device comprising:
a first control unit that sequentially calculates command values for the moving member according to a pattern regarding a speed or a position set in advance,
a second control means for sequentially calculating a command value for the moving member based on a control arithmetic expression corresponding to impedance control, instead of calculating the command value by the first control means, when a preset first condition is satisfied,
the first control unit sequentially calculates a speed command value for the moving member according to a pattern regarding a speed,
the second control means calculates the present speed command value using the actual speed value based on the control arithmetic expression.
2. The control device of claim 1,
the control operation expression corresponding to the impedance control includes a term proportional to a difference between a target value and an actual value of a dimension related to a command value.
3. The control device of claim 2,
the control operation expression corresponding to the impedance control includes a term proportional to a difference between a target value and an actual value of a dimension obtained by integrating a command value.
4. The control device according to any one of claims 1 to 3,
the second control means controls a first period including a point in time when the moving member comes into contact with the object, based on the impedance control in which a first parameter group is set, and then controls a second period following the first period, based on the impedance control in which a second parameter group different from the first parameter group is set.
5. The control device according to any one of claims 1 to 3,
before the moving member comes into contact with the object, a target value for calculating a speed command value for the moving member is subtracted by a correction amount acquired in advance.
6. The control apparatus of claim 5,
the second control means subtracts the correction amount from a target value for calculating the speed command value when a preset second condition is satisfied in sequentially calculating the command value for the moving member based on a control arithmetic expression corresponding to the impedance control.
7. The control device of claim 6,
the second condition includes a lapse of a preset time from the start of the impedance control by the second control unit.
8. The control device of claim 7,
the second condition is determined in consideration of a peak value of a load generated after the moving member is brought into contact with the object and a length of time required for a series of processes in which the moving member is brought into contact with the object and applies the load.
9. A control method for changing a relative distance between an object and a moving member and controlling a magnitude of a load applied from the moving member to the object, comprising:
a first control step of sequentially calculating command values for the moving member in accordance with a pattern set in advance with respect to a speed or a position,
a second control step of sequentially calculating a command value for the moving member based on a control arithmetic expression corresponding to impedance control instead of calculating the command value by the first control means when a preset first condition is satisfied,
the first control step includes: a step of sequentially calculating a speed command value for the moving member based on the pattern regarding the speed,
the second control unit includes: and calculating the current speed command value by using the actual speed value according to the control operation expression.
10. A storage device that stores a control program that changes a relative distance between an object and a moving member and controls a magnitude of a load applied from the moving member to the object, the control program causing a computer to execute:
a first control step of sequentially calculating command values for the moving member in accordance with a pattern set in advance with respect to a speed or a position,
a second control step of sequentially calculating a command value for the moving member based on a control arithmetic expression corresponding to impedance control instead of calculating the command value by the first control means when a preset first condition is satisfied,
the first control step includes: a step of sequentially calculating a speed command value for the moving member based on the pattern regarding the speed,
the second control unit includes: and calculating the current speed command value by using the actual speed value according to the control operation expression.
CN201710092433.8A 2016-09-09 2017-02-21 Control device, control method, and storage medium Active CN107807553B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-176673 2016-09-09
JP2016176673A JP6844158B2 (en) 2016-09-09 2016-09-09 Control device and control program

Publications (2)

Publication Number Publication Date
CN107807553A CN107807553A (en) 2018-03-16
CN107807553B true CN107807553B (en) 2021-04-02

Family

ID=61576454

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710092433.8A Active CN107807553B (en) 2016-09-09 2017-02-21 Control device, control method, and storage medium

Country Status (2)

Country Link
JP (1) JP6844158B2 (en)
CN (1) CN107807553B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6922829B2 (en) * 2018-04-26 2021-08-18 オムロン株式会社 Control systems, control methods, and control programs
CN110022110B (en) * 2019-05-05 2021-01-26 聚辰半导体股份有限公司 Voice coil motor damping control circuit

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011096840A (en) * 2009-10-29 2011-05-12 Shibaura Mechatronics Corp Mounting apparatus and method for electronic component
JP2013157529A (en) * 2012-01-31 2013-08-15 Hitachi High-Tech Instruments Co Ltd Die bonder and bonding method
CN104589354A (en) * 2013-10-31 2015-05-06 精工爱普生株式会社 robot control device, robot system, and robo

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3124519B2 (en) * 1998-07-23 2001-01-15 セイコー精機株式会社 Robot controller with control system mode switching function
JP2001277162A (en) * 2000-03-31 2001-10-09 Omron Corp Impedance parameter adjusting device
JP4239083B2 (en) * 2003-10-22 2009-03-18 株式会社安川電機 Robot control apparatus and control method
JP2006147640A (en) * 2004-11-16 2006-06-08 Matsushita Electric Ind Co Ltd Apparatus and method for mounting component
JP5308249B2 (en) * 2009-06-22 2013-10-09 三菱重工業株式会社 Servo control device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011096840A (en) * 2009-10-29 2011-05-12 Shibaura Mechatronics Corp Mounting apparatus and method for electronic component
JP2013157529A (en) * 2012-01-31 2013-08-15 Hitachi High-Tech Instruments Co Ltd Die bonder and bonding method
CN104589354A (en) * 2013-10-31 2015-05-06 精工爱普生株式会社 robot control device, robot system, and robo

Also Published As

Publication number Publication date
CN107807553A (en) 2018-03-16
JP6844158B2 (en) 2021-03-17
JP2018041391A (en) 2018-03-15

Similar Documents

Publication Publication Date Title
JP7203058B2 (en) Method for generating input to mechanical system and robot including multiple robot joints
Tian et al. Dynamic modelling of a flexure-based mechanism for ultra-precision grinding operation
US11148282B2 (en) Control device for motor drive device, control device for multi-axial motor, and control method for motor drive device
US9156166B2 (en) Robot control device
Peng et al. Modeling of piezoelectric-driven stick–slip actuators
US20100060220A1 (en) Vibration isolation control system
SE536708C2 (en) Method and system for determining at least one property of a manipulator
JP5694428B2 (en) Motor control device that suppresses natural vibration
Chen et al. Design of acceleration/deceleration profiles in motion control based on digital FIR filters
CN107807553B (en) Control device, control method, and storage medium
JP5574228B2 (en) An Adaptive Friction Compensation Method for Actuators Considering Friction Characteristic Variation with Temperature Change of Wave Gear Reducer
WO2007105527A1 (en) Control method and controller of positioning mechanism
Boukhnifer et al. $ H_ {\infty} $ Loop Shaping Bilateral Controller for a Two-Fingered Tele-Micromanipulation System
Sato et al. Practical control of precision positioning mechanism with friction
Kamenar et al. Nanometric positioning accuracy in the presence of presliding and sliding friction: Modelling, identification and compensation
JP2006146572A (en) Servo control apparatus and method
CN110941242A (en) Motor control device
CN107894749B (en) Servo motor control device, servo motor control method, and computer-readable recording medium
US20180200882A1 (en) Servomotor control device, servomotor control method, and computer readable recording medium
JP5836206B2 (en) Servo control device
US20230152074A1 (en) Repeated determination of a position of a movable part of a coordinate measuring machine
Armstrong-He´ louvry et al. Friction in servo machines: Analysis and control methods
CN111103793B (en) Control method and device of gun recoil buffer system based on magnetorheological damper
Torralba et al. Preliminary modelling and implementation of the 2D-control for a nanopositioning long range stage
WO2022004568A1 (en) Control system, control method, and program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant